| Index: chrome/browser/page_load_metrics/metrics_web_contents_observer_unittest.cc
|
| diff --git a/chrome/browser/page_load_metrics/metrics_web_contents_observer_unittest.cc b/chrome/browser/page_load_metrics/metrics_web_contents_observer_unittest.cc
|
| index 91468dbfcf7fa03f0bc3629beb02a9290dfc2045..4629d78eff7aeb826b5826056b09e1457b4cf118 100644
|
| --- a/chrome/browser/page_load_metrics/metrics_web_contents_observer_unittest.cc
|
| +++ b/chrome/browser/page_load_metrics/metrics_web_contents_observer_unittest.cc
|
| @@ -59,6 +59,12 @@ class TestPageLoadMetricsObserver : public PageLoadMetricsObserver {
|
| complete_timings_->push_back(timing);
|
| }
|
|
|
| + ObservePolicy FlushMetricsOnAppEnterBackground(
|
| + const PageLoadTiming& timing,
|
| + const PageLoadExtraInfo& extra_info) override {
|
| + return STOP_OBSERVING;
|
| + }
|
| +
|
| private:
|
| std::vector<PageLoadTiming>* const updated_timings_;
|
| std::vector<PageLoadTiming>* const complete_timings_;
|
| @@ -184,7 +190,6 @@ class MetricsWebContentsObserverTest : public ChromeRenderViewHostTestHarness {
|
| TEST_F(MetricsWebContentsObserverTest, SuccessfulMainFrameNavigation) {
|
| PageLoadTiming timing;
|
| timing.navigation_start = base::Time::FromDoubleT(1);
|
| - timing.response_start = base::TimeDelta::FromMilliseconds(2);
|
|
|
| content::WebContentsTester* web_contents_tester =
|
| content::WebContentsTester::For(web_contents());
|
| @@ -498,6 +503,16 @@ TEST_F(MetricsWebContentsObserverTest, FlushMetricsOnAppEnterBackground) {
|
| histogram_tester_.ExpectBucketCount(
|
| internal::kPageLoadCompletedAfterAppBackground, true, 0);
|
|
|
| + // Navigate again, which forces completion callbacks on the previous
|
| + // navigation to be invoked.
|
| + web_contents_tester->NavigateAndCommit(GURL(kDefaultTestUrl2));
|
| +
|
| + // Verify that, even though the page load completed, no complete timings were
|
| + // reported, because the TestPageLoadMetricsObserver's
|
| + // FlushMetricsOnAppEnterBackground implementation returned STOP_OBSERVING,
|
| + // thus preventing OnComplete from being invoked.
|
| + ASSERT_EQ(0, CountCompleteTimingReported());
|
| +
|
| DeleteContents();
|
|
|
| histogram_tester_.ExpectTotalCount(
|
|
|