| Index: chrome/browser/page_load_metrics/observers/core_page_load_metrics_observer_unittest.cc
|
| diff --git a/chrome/browser/page_load_metrics/observers/core_page_load_metrics_observer_unittest.cc b/chrome/browser/page_load_metrics/observers/core_page_load_metrics_observer_unittest.cc
|
| index c347d95ca6199d2212c5df97dd301795cf265749..bcee81a879992156b747d4411ccd9e6f19542cc3 100644
|
| --- a/chrome/browser/page_load_metrics/observers/core_page_load_metrics_observer_unittest.cc
|
| +++ b/chrome/browser/page_load_metrics/observers/core_page_load_metrics_observer_unittest.cc
|
| @@ -48,9 +48,10 @@ TEST_F(CorePageLoadMetricsObserverTest,
|
| SameDocumentNoTriggerUntilTrueNavCommit) {
|
| base::TimeDelta first_layout = base::TimeDelta::FromMilliseconds(1);
|
|
|
| - page_load_metrics::PageLoadTiming timing;
|
| + page_load_metrics::mojom::PageLoadTiming timing;
|
| + page_load_metrics::InitPageLoadTimingForTest(&timing);
|
| timing.navigation_start = base::Time::FromDoubleT(1);
|
| - timing.document_timing.first_layout = first_layout;
|
| + timing.document_timing->first_layout = first_layout;
|
| PopulateRequiredTimingFields(&timing);
|
|
|
| NavigateAndCommit(GURL(kDefaultTestUrl));
|
| @@ -76,14 +77,15 @@ TEST_F(CorePageLoadMetricsObserverTest, SingleMetricAfterCommit) {
|
| base::TimeDelta parse_script_exec_duration =
|
| base::TimeDelta::FromMilliseconds(1);
|
|
|
| - page_load_metrics::PageLoadTiming timing;
|
| + page_load_metrics::mojom::PageLoadTiming timing;
|
| + page_load_metrics::InitPageLoadTimingForTest(&timing);
|
| timing.navigation_start = base::Time::FromDoubleT(1);
|
| - timing.document_timing.first_layout = first_layout;
|
| - timing.parse_timing.parse_start = parse_start;
|
| - timing.parse_timing.parse_stop = parse_stop;
|
| - timing.parse_timing.parse_blocked_on_script_load_duration =
|
| + timing.document_timing->first_layout = first_layout;
|
| + timing.parse_timing->parse_start = parse_start;
|
| + timing.parse_timing->parse_stop = parse_stop;
|
| + timing.parse_timing->parse_blocked_on_script_load_duration =
|
| parse_script_load_duration;
|
| - timing.parse_timing.parse_blocked_on_script_execution_duration =
|
| + timing.parse_timing->parse_blocked_on_script_execution_duration =
|
| parse_script_exec_duration;
|
| PopulateRequiredTimingFields(&timing);
|
|
|
| @@ -122,14 +124,15 @@ TEST_F(CorePageLoadMetricsObserverTest, MultipleMetricsAfterCommits) {
|
| base::TimeDelta dom_content = base::TimeDelta::FromMilliseconds(40);
|
| base::TimeDelta load = base::TimeDelta::FromMilliseconds(100);
|
|
|
| - page_load_metrics::PageLoadTiming timing;
|
| + page_load_metrics::mojom::PageLoadTiming timing;
|
| + page_load_metrics::InitPageLoadTimingForTest(&timing);
|
| timing.navigation_start = base::Time::FromDoubleT(1);
|
| timing.response_start = response;
|
| - timing.document_timing.first_layout = first_layout_1;
|
| - timing.paint_timing.first_text_paint = first_text_paint;
|
| - timing.paint_timing.first_contentful_paint = first_contentful_paint;
|
| - timing.document_timing.dom_content_loaded_event_start = dom_content;
|
| - timing.document_timing.load_event_start = load;
|
| + timing.document_timing->first_layout = first_layout_1;
|
| + timing.paint_timing->first_text_paint = first_text_paint;
|
| + timing.paint_timing->first_contentful_paint = first_contentful_paint;
|
| + timing.document_timing->dom_content_loaded_event_start = dom_content;
|
| + timing.document_timing->load_event_start = load;
|
| PopulateRequiredTimingFields(&timing);
|
|
|
| NavigateAndCommit(GURL(kDefaultTestUrl));
|
| @@ -143,9 +146,10 @@ TEST_F(CorePageLoadMetricsObserverTest, MultipleMetricsAfterCommits) {
|
|
|
| NavigateAndCommit(GURL(kDefaultTestUrl2));
|
|
|
| - page_load_metrics::PageLoadTiming timing2;
|
| + page_load_metrics::mojom::PageLoadTiming timing2;
|
| + page_load_metrics::InitPageLoadTimingForTest(&timing2);
|
| timing2.navigation_start = base::Time::FromDoubleT(200);
|
| - timing2.document_timing.first_layout = first_layout_2;
|
| + timing2.document_timing->first_layout = first_layout_2;
|
| PopulateRequiredTimingFields(&timing2);
|
|
|
| SimulateTimingUpdate(timing2);
|
| @@ -179,9 +183,10 @@ TEST_F(CorePageLoadMetricsObserverTest, MultipleMetricsAfterCommits) {
|
| TEST_F(CorePageLoadMetricsObserverTest, BackgroundDifferentHistogram) {
|
| base::TimeDelta first_layout = base::TimeDelta::FromSeconds(2);
|
|
|
| - page_load_metrics::PageLoadTiming timing;
|
| + page_load_metrics::mojom::PageLoadTiming timing;
|
| + page_load_metrics::InitPageLoadTimingForTest(&timing);
|
| timing.navigation_start = base::Time::FromDoubleT(1);
|
| - timing.document_timing.first_layout = first_layout;
|
| + timing.document_timing->first_layout = first_layout;
|
| PopulateRequiredTimingFields(&timing);
|
|
|
| // Simulate "Open link in new tab."
|
| @@ -213,16 +218,17 @@ TEST_F(CorePageLoadMetricsObserverTest, BackgroundDifferentHistogram) {
|
| }
|
|
|
| TEST_F(CorePageLoadMetricsObserverTest, OnlyBackgroundLaterEvents) {
|
| - page_load_metrics::PageLoadTiming timing;
|
| + page_load_metrics::mojom::PageLoadTiming timing;
|
| + page_load_metrics::InitPageLoadTimingForTest(&timing);
|
| timing.navigation_start = base::Time::FromDoubleT(1);
|
| - timing.document_timing.dom_content_loaded_event_start =
|
| + timing.document_timing->dom_content_loaded_event_start =
|
| base::TimeDelta::FromMicroseconds(1);
|
| PopulateRequiredTimingFields(&timing);
|
|
|
| // Make sure first_text_paint hasn't been set (wasn't set by
|
| // PopulateRequiredTimingFields), since we want to defer setting it until
|
| // after backgrounding.
|
| - ASSERT_FALSE(timing.paint_timing.first_text_paint);
|
| + ASSERT_FALSE(timing.paint_timing->first_text_paint);
|
|
|
| NavigateAndCommit(GURL(kDefaultTestUrl));
|
| SimulateTimingUpdate(timing);
|
| @@ -230,7 +236,7 @@ TEST_F(CorePageLoadMetricsObserverTest, OnlyBackgroundLaterEvents) {
|
| // Background the tab, then foreground it.
|
| web_contents()->WasHidden();
|
| web_contents()->WasShown();
|
| - timing.paint_timing.first_text_paint = base::TimeDelta::FromSeconds(4);
|
| + timing.paint_timing->first_text_paint = base::TimeDelta::FromSeconds(4);
|
| PopulateRequiredTimingFields(&timing);
|
| SimulateTimingUpdate(timing);
|
|
|
| @@ -244,12 +250,12 @@ TEST_F(CorePageLoadMetricsObserverTest, OnlyBackgroundLaterEvents) {
|
| NavigateAndCommit(GURL(kDefaultTestUrl2));
|
|
|
| if (page_load_metrics::WasStartedInForegroundOptionalEventInForeground(
|
| - timing.document_timing.dom_content_loaded_event_start, info)) {
|
| + timing.document_timing->dom_content_loaded_event_start, info)) {
|
| histogram_tester().ExpectTotalCount(internal::kHistogramDomContentLoaded,
|
| 1);
|
| histogram_tester().ExpectBucketCount(
|
| internal::kHistogramDomContentLoaded,
|
| - timing.document_timing.dom_content_loaded_event_start.value()
|
| + timing.document_timing->dom_content_loaded_event_start.value()
|
| .InMilliseconds(),
|
| 1);
|
| histogram_tester().ExpectTotalCount(
|
| @@ -266,7 +272,7 @@ TEST_F(CorePageLoadMetricsObserverTest, OnlyBackgroundLaterEvents) {
|
| internal::kBackgroundHistogramFirstTextPaint, 1);
|
| histogram_tester().ExpectBucketCount(
|
| internal::kBackgroundHistogramFirstTextPaint,
|
| - timing.paint_timing.first_text_paint.value().InMilliseconds(), 1);
|
| + timing.paint_timing->first_text_paint.value().InMilliseconds(), 1);
|
|
|
| histogram_tester().ExpectTotalCount(internal::kHistogramLoad, 0);
|
| histogram_tester().ExpectTotalCount(internal::kHistogramFirstTextPaint, 0);
|
| @@ -280,9 +286,10 @@ TEST_F(CorePageLoadMetricsObserverTest, DontBackgroundQuickerLoad) {
|
| // the test.
|
| base::TimeDelta first_layout = base::TimeDelta::FromMicroseconds(1);
|
|
|
| - page_load_metrics::PageLoadTiming timing;
|
| + page_load_metrics::mojom::PageLoadTiming timing;
|
| + page_load_metrics::InitPageLoadTimingForTest(&timing);
|
| timing.navigation_start = base::Time::FromDoubleT(1);
|
| - timing.document_timing.first_layout = first_layout;
|
| + timing.document_timing->first_layout = first_layout;
|
| PopulateRequiredTimingFields(&timing);
|
|
|
| web_contents()->WasHidden();
|
| @@ -357,9 +364,11 @@ TEST_F(CorePageLoadMetricsObserverTest, NoRappor) {
|
| }
|
|
|
| TEST_F(CorePageLoadMetricsObserverTest, RapporLongPageLoad) {
|
| - page_load_metrics::PageLoadTiming timing;
|
| + page_load_metrics::mojom::PageLoadTiming timing;
|
| + page_load_metrics::InitPageLoadTimingForTest(&timing);
|
| timing.navigation_start = base::Time::FromDoubleT(1);
|
| - timing.paint_timing.first_contentful_paint = base::TimeDelta::FromSeconds(40);
|
| + timing.paint_timing->first_contentful_paint =
|
| + base::TimeDelta::FromSeconds(40);
|
| PopulateRequiredTimingFields(&timing);
|
| NavigateAndCommit(GURL(kDefaultTestUrl));
|
| SimulateTimingUpdate(timing);
|
| @@ -380,9 +389,10 @@ TEST_F(CorePageLoadMetricsObserverTest, RapporLongPageLoad) {
|
| }
|
|
|
| TEST_F(CorePageLoadMetricsObserverTest, RapporQuickPageLoad) {
|
| - page_load_metrics::PageLoadTiming timing;
|
| + page_load_metrics::mojom::PageLoadTiming timing;
|
| + page_load_metrics::InitPageLoadTimingForTest(&timing);
|
| timing.navigation_start = base::Time::FromDoubleT(1);
|
| - timing.paint_timing.first_contentful_paint = base::TimeDelta::FromSeconds(1);
|
| + timing.paint_timing->first_contentful_paint = base::TimeDelta::FromSeconds(1);
|
| PopulateRequiredTimingFields(&timing);
|
|
|
| NavigateAndCommit(GURL(kDefaultTestUrl));
|
| @@ -404,10 +414,11 @@ TEST_F(CorePageLoadMetricsObserverTest, RapporQuickPageLoad) {
|
| }
|
|
|
| TEST_F(CorePageLoadMetricsObserverTest, Reload) {
|
| - page_load_metrics::PageLoadTiming timing;
|
| + page_load_metrics::mojom::PageLoadTiming timing;
|
| + page_load_metrics::InitPageLoadTimingForTest(&timing);
|
| timing.navigation_start = base::Time::FromDoubleT(1);
|
| - timing.parse_timing.parse_start = base::TimeDelta::FromMilliseconds(5);
|
| - timing.paint_timing.first_contentful_paint =
|
| + timing.parse_timing->parse_start = base::TimeDelta::FromMilliseconds(5);
|
| + timing.paint_timing->first_contentful_paint =
|
| base::TimeDelta::FromMilliseconds(10);
|
| PopulateRequiredTimingFields(&timing);
|
|
|
| @@ -447,7 +458,7 @@ TEST_F(CorePageLoadMetricsObserverTest, Reload) {
|
| internal::kHistogramLoadTypeFirstContentfulPaintReload, 1);
|
| histogram_tester().ExpectBucketCount(
|
| internal::kHistogramLoadTypeFirstContentfulPaintReload,
|
| - timing.paint_timing.first_contentful_paint.value().InMilliseconds(), 1);
|
| + timing.paint_timing->first_contentful_paint.value().InMilliseconds(), 1);
|
| histogram_tester().ExpectTotalCount(
|
| internal::kHistogramLoadTypeFirstContentfulPaintForwardBack, 0);
|
| histogram_tester().ExpectTotalCount(
|
| @@ -456,7 +467,7 @@ TEST_F(CorePageLoadMetricsObserverTest, Reload) {
|
| internal::kHistogramLoadTypeParseStartReload, 1);
|
| histogram_tester().ExpectBucketCount(
|
| internal::kHistogramLoadTypeParseStartReload,
|
| - timing.parse_timing.parse_start.value().InMilliseconds(), 1);
|
| + timing.parse_timing->parse_start.value().InMilliseconds(), 1);
|
| histogram_tester().ExpectTotalCount(
|
| internal::kHistogramLoadTypeParseStartForwardBack, 0);
|
| histogram_tester().ExpectTotalCount(
|
| @@ -488,10 +499,11 @@ TEST_F(CorePageLoadMetricsObserverTest, Reload) {
|
| }
|
|
|
| TEST_F(CorePageLoadMetricsObserverTest, ForwardBack) {
|
| - page_load_metrics::PageLoadTiming timing;
|
| + page_load_metrics::mojom::PageLoadTiming timing;
|
| + page_load_metrics::InitPageLoadTimingForTest(&timing);
|
| timing.navigation_start = base::Time::FromDoubleT(1);
|
| - timing.parse_timing.parse_start = base::TimeDelta::FromMilliseconds(5);
|
| - timing.paint_timing.first_contentful_paint =
|
| + timing.parse_timing->parse_start = base::TimeDelta::FromMilliseconds(5);
|
| + timing.paint_timing->first_contentful_paint =
|
| base::TimeDelta::FromMilliseconds(10);
|
| PopulateRequiredTimingFields(&timing);
|
|
|
| @@ -538,7 +550,7 @@ TEST_F(CorePageLoadMetricsObserverTest, ForwardBack) {
|
| internal::kHistogramLoadTypeFirstContentfulPaintForwardBack, 1);
|
| histogram_tester().ExpectBucketCount(
|
| internal::kHistogramLoadTypeFirstContentfulPaintForwardBack,
|
| - timing.paint_timing.first_contentful_paint.value().InMilliseconds(), 1);
|
| + timing.paint_timing->first_contentful_paint.value().InMilliseconds(), 1);
|
| histogram_tester().ExpectTotalCount(
|
| internal::kHistogramLoadTypeFirstContentfulPaintNewNavigation, 0);
|
| histogram_tester().ExpectTotalCount(
|
| @@ -547,7 +559,7 @@ TEST_F(CorePageLoadMetricsObserverTest, ForwardBack) {
|
| internal::kHistogramLoadTypeParseStartForwardBack, 1);
|
| histogram_tester().ExpectBucketCount(
|
| internal::kHistogramLoadTypeParseStartForwardBack,
|
| - timing.parse_timing.parse_start.value().InMilliseconds(), 1);
|
| + timing.parse_timing->parse_start.value().InMilliseconds(), 1);
|
| histogram_tester().ExpectTotalCount(
|
| internal::kHistogramLoadTypeParseStartNewNavigation, 0);
|
|
|
| @@ -577,10 +589,11 @@ TEST_F(CorePageLoadMetricsObserverTest, ForwardBack) {
|
| }
|
|
|
| TEST_F(CorePageLoadMetricsObserverTest, NewNavigation) {
|
| - page_load_metrics::PageLoadTiming timing;
|
| + page_load_metrics::mojom::PageLoadTiming timing;
|
| + page_load_metrics::InitPageLoadTimingForTest(&timing);
|
| timing.navigation_start = base::Time::FromDoubleT(1);
|
| - timing.parse_timing.parse_start = base::TimeDelta::FromMilliseconds(5);
|
| - timing.paint_timing.first_contentful_paint =
|
| + timing.parse_timing->parse_start = base::TimeDelta::FromMilliseconds(5);
|
| + timing.paint_timing->first_contentful_paint =
|
| base::TimeDelta::FromMilliseconds(10);
|
| PopulateRequiredTimingFields(&timing);
|
|
|
| @@ -623,7 +636,7 @@ TEST_F(CorePageLoadMetricsObserverTest, NewNavigation) {
|
| internal::kHistogramLoadTypeFirstContentfulPaintNewNavigation, 1);
|
| histogram_tester().ExpectBucketCount(
|
| internal::kHistogramLoadTypeFirstContentfulPaintNewNavigation,
|
| - timing.paint_timing.first_contentful_paint.value().InMilliseconds(), 1);
|
| + timing.paint_timing->first_contentful_paint.value().InMilliseconds(), 1);
|
| histogram_tester().ExpectTotalCount(
|
| internal::kHistogramLoadTypeParseStartReload, 0);
|
| histogram_tester().ExpectTotalCount(
|
| @@ -632,7 +645,7 @@ TEST_F(CorePageLoadMetricsObserverTest, NewNavigation) {
|
| internal::kHistogramLoadTypeParseStartNewNavigation, 1);
|
| histogram_tester().ExpectBucketCount(
|
| internal::kHistogramLoadTypeParseStartNewNavigation,
|
| - timing.parse_timing.parse_start.value().InMilliseconds(), 1);
|
| + timing.parse_timing->parse_start.value().InMilliseconds(), 1);
|
|
|
| histogram_tester().ExpectUniqueSample(
|
| internal::kHistogramLoadTypeNetworkBytesNewNavigation,
|
| @@ -674,10 +687,11 @@ TEST_F(CorePageLoadMetricsObserverTest, BytesAndResourcesCounted) {
|
| }
|
|
|
| TEST_F(CorePageLoadMetricsObserverTest, FirstMeaningfulPaint) {
|
| - page_load_metrics::PageLoadTiming timing;
|
| + page_load_metrics::mojom::PageLoadTiming timing;
|
| + page_load_metrics::InitPageLoadTimingForTest(&timing);
|
| timing.navigation_start = base::Time::FromDoubleT(1);
|
| - timing.parse_timing.parse_start = base::TimeDelta::FromMilliseconds(5);
|
| - timing.paint_timing.first_meaningful_paint =
|
| + timing.parse_timing->parse_start = base::TimeDelta::FromMilliseconds(5);
|
| + timing.paint_timing->first_meaningful_paint =
|
| base::TimeDelta::FromMilliseconds(10);
|
| PopulateRequiredTimingFields(&timing);
|
|
|
| @@ -695,10 +709,11 @@ TEST_F(CorePageLoadMetricsObserverTest, FirstMeaningfulPaint) {
|
| }
|
|
|
| TEST_F(CorePageLoadMetricsObserverTest, FirstMeaningfulPaintAfterInteraction) {
|
| - page_load_metrics::PageLoadTiming timing;
|
| + page_load_metrics::mojom::PageLoadTiming timing;
|
| + page_load_metrics::InitPageLoadTimingForTest(&timing);
|
| timing.navigation_start = base::Time::FromDoubleT(1);
|
| - timing.parse_timing.parse_start = base::TimeDelta::FromMilliseconds(5);
|
| - timing.paint_timing.first_paint = base::TimeDelta::FromMilliseconds(10);
|
| + timing.parse_timing->parse_start = base::TimeDelta::FromMilliseconds(5);
|
| + timing.paint_timing->first_paint = base::TimeDelta::FromMilliseconds(10);
|
| PopulateRequiredTimingFields(&timing);
|
|
|
| NavigateAndCommit(GURL(kDefaultTestUrl));
|
| @@ -709,7 +724,7 @@ TEST_F(CorePageLoadMetricsObserverTest, FirstMeaningfulPaintAfterInteraction) {
|
| blink::WebInputEvent::kTimeStampForTesting);
|
| SimulateInputEvent(mouse_event);
|
|
|
| - timing.paint_timing.first_meaningful_paint =
|
| + timing.paint_timing->first_meaningful_paint =
|
| base::TimeDelta::FromMilliseconds(1000);
|
| PopulateRequiredTimingFields(&timing);
|
| SimulateTimingUpdate(timing);
|
|
|