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 d66de85856e5bf3c9c24665bc9172469be13ab0a..252314591e650fac6ceedf281435f7a534ac0e28 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 |
@@ -485,3 +485,62 @@ TEST_F(CorePageLoadMetricsObserverTest, RapporQuickPageLoad) { |
EXPECT_NE(flag_it, sample_obj->flag_fields.end()); |
EXPECT_EQ(0u, flag_it->second); |
} |
+ |
+TEST_F(CorePageLoadMetricsObserverTest, Reload) { |
+ page_load_metrics::PageLoadTiming timing; |
+ timing.navigation_start = base::Time::FromDoubleT(1); |
+ timing.first_contentful_paint = base::TimeDelta::FromMilliseconds(10); |
+ PopulateRequiredTimingFields(&timing); |
+ |
+ GURL url(kDefaultTestUrl); |
+ NavigateWithPageTransitionAndCommit(url, ui::PAGE_TRANSITION_RELOAD); |
+ SimulateTimingUpdate(timing); |
+ NavigateAndCommit(url); |
+ |
+ histogram_tester().ExpectTotalCount( |
+ internal::kHistogramLoadTypeFirstContentfulPaintReload, 1); |
+ histogram_tester().ExpectTotalCount( |
+ internal::kHistogramLoadTypeFirstContentfulPaintForwardBack, 0); |
+ histogram_tester().ExpectTotalCount( |
+ internal::kHistogramLoadTypeFirstContentfulPaintNewNavigation, 0); |
+} |
+ |
+TEST_F(CorePageLoadMetricsObserverTest, ForwardBack) { |
+ page_load_metrics::PageLoadTiming timing; |
+ timing.navigation_start = base::Time::FromDoubleT(1); |
+ timing.first_contentful_paint = base::TimeDelta::FromMilliseconds(10); |
+ PopulateRequiredTimingFields(&timing); |
+ |
+ GURL url(kDefaultTestUrl); |
+ NavigateWithPageTransitionAndCommit( |
+ url, ui::PageTransitionFromInt(ui::PAGE_TRANSITION_TYPED | |
+ ui::PAGE_TRANSITION_FORWARD_BACK)); |
+ SimulateTimingUpdate(timing); |
+ NavigateAndCommit(url); |
+ |
+ histogram_tester().ExpectTotalCount( |
+ internal::kHistogramLoadTypeFirstContentfulPaintReload, 0); |
+ histogram_tester().ExpectTotalCount( |
+ internal::kHistogramLoadTypeFirstContentfulPaintForwardBack, 1); |
+ histogram_tester().ExpectTotalCount( |
+ internal::kHistogramLoadTypeFirstContentfulPaintNewNavigation, 0); |
+} |
+ |
+TEST_F(CorePageLoadMetricsObserverTest, NewNavigation) { |
+ page_load_metrics::PageLoadTiming timing; |
+ timing.navigation_start = base::Time::FromDoubleT(1); |
+ timing.first_contentful_paint = base::TimeDelta::FromMilliseconds(10); |
+ PopulateRequiredTimingFields(&timing); |
+ |
+ GURL url(kDefaultTestUrl); |
+ NavigateWithPageTransitionAndCommit(url, ui::PAGE_TRANSITION_LINK); |
+ SimulateTimingUpdate(timing); |
+ NavigateAndCommit(url); |
+ |
+ histogram_tester().ExpectTotalCount( |
+ internal::kHistogramLoadTypeFirstContentfulPaintReload, 0); |
+ histogram_tester().ExpectTotalCount( |
+ internal::kHistogramLoadTypeFirstContentfulPaintForwardBack, 0); |
+ histogram_tester().ExpectTotalCount( |
+ internal::kHistogramLoadTypeFirstContentfulPaintNewNavigation, 1); |
+} |