#include <string>
#include <utility>
#include <vector>
#include "base/containers/contains.h"
#include "base/containers/extend.h"
#include "base/rand_util.h"
#include "base/strings/strcat.h"
#include "base/strings/stringprintf.h"
#include "base/test/metrics/histogram_tester.h"
#include "base/test/task_environment.h"
#include "components/viz/common/frame_timing_details.h"
#include "testing/gtest/include/gtest/gtest.h"
#include "third_party/blink/public/common/page/content_to_visible_time_reporter.h"
namespace blink {
constexpr char kBfcacheRestoreHistogram[] = …;
constexpr base::TimeDelta kDuration = …;
constexpr base::TimeDelta kOtherDuration = …;
struct TabStateParams { … };
constexpr TabStateParams kTabStatesToTest[] = …;
class ContentToVisibleTimeReporterTest
: public ::testing::TestWithParam<TabStateParams> { … };
INSTANTIATE_TEST_SUITE_P(…);
TEST_P(ContentToVisibleTimeReporterTest, TimeIsRecorded) { … }
TEST_P(ContentToVisibleTimeReporterTest, HideBeforePresentFrame) { … }
TEST_P(ContentToVisibleTimeReporterTest, MissingTabWasHidden) { … }
TEST_P(ContentToVisibleTimeReporterTest, BfcacheRestoreTimeIsRecorded) { … }
TEST_P(ContentToVisibleTimeReporterTest,
TimeIsRecordedWithSavedFramesPlusBfcacheRestoreTimeIsRecorded) { … }
}