OLD | NEW |
1 // Copyright 2015 The Chromium Authors. All rights reserved. | 1 // Copyright 2015 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #include "chrome/browser/page_load_metrics/observers/core_page_load_metrics_obse
rver.h" | 5 #include "chrome/browser/page_load_metrics/observers/core_page_load_metrics_obse
rver.h" |
6 | 6 |
7 #include "base/memory/ptr_util.h" | 7 #include "base/memory/ptr_util.h" |
8 #include "chrome/browser/page_load_metrics/observers/page_load_metrics_observer_
test_harness.h" | 8 #include "chrome/browser/page_load_metrics/observers/page_load_metrics_observer_
test_harness.h" |
9 #include "chrome/browser/page_load_metrics/page_load_metrics_util.h" | 9 #include "chrome/browser/page_load_metrics/page_load_metrics_util.h" |
10 #include "chrome/test/base/testing_browser_process.h" | 10 #include "chrome/test/base/testing_browser_process.h" |
(...skipping 86 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
97 histogram_tester().ExpectBucketCount( | 97 histogram_tester().ExpectBucketCount( |
98 internal::kHistogramParseDuration, | 98 internal::kHistogramParseDuration, |
99 (parse_stop - parse_start).InMilliseconds(), 1); | 99 (parse_stop - parse_start).InMilliseconds(), 1); |
100 histogram_tester().ExpectBucketCount( | 100 histogram_tester().ExpectBucketCount( |
101 internal::kHistogramParseBlockedOnScriptLoad, | 101 internal::kHistogramParseBlockedOnScriptLoad, |
102 parse_script_load_duration.InMilliseconds(), 1); | 102 parse_script_load_duration.InMilliseconds(), 1); |
103 histogram_tester().ExpectBucketCount( | 103 histogram_tester().ExpectBucketCount( |
104 internal::kHistogramParseBlockedOnScriptExecution, | 104 internal::kHistogramParseBlockedOnScriptExecution, |
105 parse_script_exec_duration.InMilliseconds(), 1); | 105 parse_script_exec_duration.InMilliseconds(), 1); |
106 histogram_tester().ExpectTotalCount(internal::kHistogramFirstTextPaint, 0); | 106 histogram_tester().ExpectTotalCount(internal::kHistogramFirstTextPaint, 0); |
| 107 |
| 108 histogram_tester().ExpectTotalCount(internal::kHistogramPageTimingPageEnd, 1); |
| 109 histogram_tester().ExpectTotalCount( |
| 110 internal::kHistogramPageTimingFirstBackground, 0); |
107 } | 111 } |
108 | 112 |
109 TEST_F(CorePageLoadMetricsObserverTest, MultipleMetricsAfterCommits) { | 113 TEST_F(CorePageLoadMetricsObserverTest, MultipleMetricsAfterCommits) { |
110 base::TimeDelta response = base::TimeDelta::FromMilliseconds(1); | 114 base::TimeDelta response = base::TimeDelta::FromMilliseconds(1); |
111 base::TimeDelta first_layout_1 = base::TimeDelta::FromMilliseconds(10); | 115 base::TimeDelta first_layout_1 = base::TimeDelta::FromMilliseconds(10); |
112 base::TimeDelta first_layout_2 = base::TimeDelta::FromMilliseconds(20); | 116 base::TimeDelta first_layout_2 = base::TimeDelta::FromMilliseconds(20); |
113 base::TimeDelta first_text_paint = base::TimeDelta::FromMilliseconds(30); | 117 base::TimeDelta first_text_paint = base::TimeDelta::FromMilliseconds(30); |
114 base::TimeDelta first_contentful_paint = first_text_paint; | 118 base::TimeDelta first_contentful_paint = first_text_paint; |
115 base::TimeDelta dom_content = base::TimeDelta::FromMilliseconds(40); | 119 base::TimeDelta dom_content = base::TimeDelta::FromMilliseconds(40); |
116 base::TimeDelta load = base::TimeDelta::FromMilliseconds(100); | 120 base::TimeDelta load = base::TimeDelta::FromMilliseconds(100); |
(...skipping 136 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
253 | 257 |
254 histogram_tester().ExpectTotalCount(internal::kBackgroundHistogramLoad, 0); | 258 histogram_tester().ExpectTotalCount(internal::kBackgroundHistogramLoad, 0); |
255 histogram_tester().ExpectTotalCount( | 259 histogram_tester().ExpectTotalCount( |
256 internal::kBackgroundHistogramFirstTextPaint, 1); | 260 internal::kBackgroundHistogramFirstTextPaint, 1); |
257 histogram_tester().ExpectBucketCount( | 261 histogram_tester().ExpectBucketCount( |
258 internal::kBackgroundHistogramFirstTextPaint, | 262 internal::kBackgroundHistogramFirstTextPaint, |
259 timing.first_text_paint.value().InMilliseconds(), 1); | 263 timing.first_text_paint.value().InMilliseconds(), 1); |
260 | 264 |
261 histogram_tester().ExpectTotalCount(internal::kHistogramLoad, 0); | 265 histogram_tester().ExpectTotalCount(internal::kHistogramLoad, 0); |
262 histogram_tester().ExpectTotalCount(internal::kHistogramFirstTextPaint, 0); | 266 histogram_tester().ExpectTotalCount(internal::kHistogramFirstTextPaint, 0); |
| 267 |
| 268 histogram_tester().ExpectTotalCount(internal::kHistogramPageTimingPageEnd, 0); |
| 269 histogram_tester().ExpectTotalCount( |
| 270 internal::kHistogramPageTimingFirstBackground, 1); |
263 } | 271 } |
264 | 272 |
265 TEST_F(CorePageLoadMetricsObserverTest, DontBackgroundQuickerLoad) { | 273 TEST_F(CorePageLoadMetricsObserverTest, DontBackgroundQuickerLoad) { |
266 // Set this event at 1 microsecond so it occurs before we foreground later in | 274 // Set this event at 1 microsecond so it occurs before we foreground later in |
267 // the test. | 275 // the test. |
268 base::TimeDelta first_layout = base::TimeDelta::FromMicroseconds(1); | 276 base::TimeDelta first_layout = base::TimeDelta::FromMicroseconds(1); |
269 | 277 |
270 page_load_metrics::PageLoadTiming timing; | 278 page_load_metrics::PageLoadTiming timing; |
271 timing.navigation_start = base::Time::FromDoubleT(1); | 279 timing.navigation_start = base::Time::FromDoubleT(1); |
272 timing.first_layout = first_layout; | 280 timing.first_layout = first_layout; |
(...skipping 265 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
538 NavigateAndCommit(GURL(kDefaultTestUrl2)); | 546 NavigateAndCommit(GURL(kDefaultTestUrl2)); |
539 | 547 |
540 histogram_tester().ExpectTotalCount( | 548 histogram_tester().ExpectTotalCount( |
541 internal::kHistogramFirstMeaningfulPaint, 0); | 549 internal::kHistogramFirstMeaningfulPaint, 0); |
542 histogram_tester().ExpectTotalCount( | 550 histogram_tester().ExpectTotalCount( |
543 internal::kHistogramParseStartToFirstMeaningfulPaint, 0); | 551 internal::kHistogramParseStartToFirstMeaningfulPaint, 0); |
544 histogram_tester().ExpectBucketCount( | 552 histogram_tester().ExpectBucketCount( |
545 internal::kHistogramFirstMeaningfulPaintStatus, | 553 internal::kHistogramFirstMeaningfulPaintStatus, |
546 internal::FIRST_MEANINGFUL_PAINT_USER_INTERACTION_BEFORE_FMP, 1); | 554 internal::FIRST_MEANINGFUL_PAINT_USER_INTERACTION_BEFORE_FMP, 1); |
547 } | 555 } |
OLD | NEW |