Index: chrome/browser/page_load_metrics/observers/aborts_page_load_metrics_observer_unittest.cc |
diff --git a/chrome/browser/page_load_metrics/observers/aborts_page_load_metrics_observer_unittest.cc b/chrome/browser/page_load_metrics/observers/aborts_page_load_metrics_observer_unittest.cc |
index 812fb06fb3a1886fe92d41cff7e8853ba5739421..491ed2fb8cfb5e249d41fa30b87c1c443da63004 100644 |
--- a/chrome/browser/page_load_metrics/observers/aborts_page_load_metrics_observer_unittest.cc |
+++ b/chrome/browser/page_load_metrics/observers/aborts_page_load_metrics_observer_unittest.cc |
@@ -152,7 +152,17 @@ TEST_F(AbortsPageLoadMetricsObserverTest, NoAbortNewNavigationAfterPaint) { |
PopulateRequiredTimingFields(&timing); |
NavigateAndCommit(GURL("https://www.google.com")); |
SimulateTimingUpdate(timing); |
+ |
+ // The test cannot assume that abort time will be > first_paint |
+ // (1 micro-sec). If the system clock is low resolution, PageLoadTracker's |
+ // abort time may be <= first_paint. In that case the histogram will be |
+ // logged. Thus both 0 and 1 counts of histograms are considered good. |
+ |
NavigateAndCommit(GURL("https://www.example.com")); |
- histogram_tester().ExpectTotalCount( |
- internal::kHistogramAbortNewNavigationBeforePaint, 0); |
+ |
+ base::HistogramTester::CountsMap counts_map = |
+ histogram_tester().GetTotalCountsForPrefix( |
+ internal::kHistogramAbortNewNavigationBeforePaint); |
+ |
+ EXPECT_TRUE(counts_map.empty() || counts_map.begin()->second == 1); |
} |