Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(35)

Side by Side Diff: chrome/browser/page_load_metrics/observers/document_write_page_load_metrics_observer_unittest.cc

Issue 2874663005: [Page Load Metrics] Add mojom file to page load metrics. (Closed)
Patch Set: Remove unnecessary variable Created 3 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 // Copyright 2016 The Chromium Authors. All rights reserved. 1 // Copyright 2016 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/document_write_page_load_me trics_observer.h" 5 #include "chrome/browser/page_load_metrics/observers/document_write_page_load_me trics_observer.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/test/base/testing_browser_process.h" 9 #include "chrome/test/base/testing_browser_process.h"
10 #include "third_party/WebKit/public/platform/WebLoadingBehaviorFlag.h" 10 #include "third_party/WebKit/public/platform/WebLoadingBehaviorFlag.h"
(...skipping 16 matching lines...) Expand all
27 } 27 }
28 }; 28 };
29 29
30 TEST_F(DocumentWritePageLoadMetricsObserverTest, NoMetrics) { 30 TEST_F(DocumentWritePageLoadMetricsObserverTest, NoMetrics) {
31 AssertNoPreloadHistogramsLogged(); 31 AssertNoPreloadHistogramsLogged();
32 AssertNoBlockHistogramsLogged(); 32 AssertNoBlockHistogramsLogged();
33 } 33 }
34 34
35 TEST_F(DocumentWritePageLoadMetricsObserverTest, PossiblePreload) { 35 TEST_F(DocumentWritePageLoadMetricsObserverTest, PossiblePreload) {
36 base::TimeDelta contentful_paint = base::TimeDelta::FromMilliseconds(1); 36 base::TimeDelta contentful_paint = base::TimeDelta::FromMilliseconds(1);
37 page_load_metrics::PageLoadTiming timing; 37 page_load_metrics::mojom::PageLoadTiming timing;
38 page_load_metrics::InitPageLoadTimingForTest(&timing);
38 timing.navigation_start = base::Time::FromDoubleT(1); 39 timing.navigation_start = base::Time::FromDoubleT(1);
39 timing.paint_timing.first_contentful_paint = contentful_paint; 40 timing.paint_timing->first_contentful_paint = contentful_paint;
40 timing.parse_timing.parse_start = base::TimeDelta::FromMilliseconds(1); 41 timing.parse_timing->parse_start = base::TimeDelta::FromMilliseconds(1);
41 PopulateRequiredTimingFields(&timing); 42 PopulateRequiredTimingFields(&timing);
42 43
43 page_load_metrics::PageLoadMetadata metadata; 44 page_load_metrics::mojom::PageLoadMetadata metadata;
44 metadata.behavior_flags |= 45 metadata.behavior_flags |=
45 blink::WebLoadingBehaviorFlag::kWebLoadingBehaviorDocumentWriteEvaluator; 46 blink::WebLoadingBehaviorFlag::kWebLoadingBehaviorDocumentWriteEvaluator;
46 NavigateAndCommit(GURL("https://www.google.com")); 47 NavigateAndCommit(GURL("https://www.google.com"));
47 SimulateTimingAndMetadataUpdate(timing, metadata); 48 SimulateTimingAndMetadataUpdate(timing, metadata);
48 49
49 histogram_tester().ExpectTotalCount( 50 histogram_tester().ExpectTotalCount(
50 internal::kHistogramDocWriteParseStartToFirstContentfulPaint, 1); 51 internal::kHistogramDocWriteParseStartToFirstContentfulPaint, 1);
51 histogram_tester().ExpectBucketCount( 52 histogram_tester().ExpectBucketCount(
52 internal::kHistogramDocWriteParseStartToFirstContentfulPaint, 53 internal::kHistogramDocWriteParseStartToFirstContentfulPaint,
53 contentful_paint.InMilliseconds(), 1); 54 contentful_paint.InMilliseconds(), 1);
54 55
55 NavigateAndCommit(GURL("https://www.example.com")); 56 NavigateAndCommit(GURL("https://www.example.com"));
56 57
57 histogram_tester().ExpectTotalCount( 58 histogram_tester().ExpectTotalCount(
58 internal::kHistogramDocWriteParseStartToFirstContentfulPaint, 1); 59 internal::kHistogramDocWriteParseStartToFirstContentfulPaint, 1);
59 histogram_tester().ExpectBucketCount( 60 histogram_tester().ExpectBucketCount(
60 internal::kHistogramDocWriteParseStartToFirstContentfulPaint, 61 internal::kHistogramDocWriteParseStartToFirstContentfulPaint,
61 contentful_paint.InMilliseconds(), 1); 62 contentful_paint.InMilliseconds(), 1);
62 } 63 }
63 64
64 TEST_F(DocumentWritePageLoadMetricsObserverTest, NoPossiblePreload) { 65 TEST_F(DocumentWritePageLoadMetricsObserverTest, NoPossiblePreload) {
65 base::TimeDelta contentful_paint = base::TimeDelta::FromMilliseconds(1); 66 base::TimeDelta contentful_paint = base::TimeDelta::FromMilliseconds(1);
66 page_load_metrics::PageLoadTiming timing; 67 page_load_metrics::mojom::PageLoadTiming timing;
68 page_load_metrics::InitPageLoadTimingForTest(&timing);
67 timing.navigation_start = base::Time::FromDoubleT(1); 69 timing.navigation_start = base::Time::FromDoubleT(1);
68 timing.paint_timing.first_contentful_paint = contentful_paint; 70 timing.paint_timing->first_contentful_paint = contentful_paint;
69 PopulateRequiredTimingFields(&timing); 71 PopulateRequiredTimingFields(&timing);
70 72
71 page_load_metrics::PageLoadMetadata metadata; 73 page_load_metrics::mojom::PageLoadMetadata metadata;
72 NavigateAndCommit(GURL("https://www.google.com")); 74 NavigateAndCommit(GURL("https://www.google.com"));
73 SimulateTimingAndMetadataUpdate(timing, metadata); 75 SimulateTimingAndMetadataUpdate(timing, metadata);
74 NavigateAndCommit(GURL("https://www.example.com")); 76 NavigateAndCommit(GURL("https://www.example.com"));
75 AssertNoPreloadHistogramsLogged(); 77 AssertNoPreloadHistogramsLogged();
76 } 78 }
77 79
78 TEST_F(DocumentWritePageLoadMetricsObserverTest, PossibleBlock) { 80 TEST_F(DocumentWritePageLoadMetricsObserverTest, PossibleBlock) {
79 base::TimeDelta contentful_paint = base::TimeDelta::FromMilliseconds(1); 81 base::TimeDelta contentful_paint = base::TimeDelta::FromMilliseconds(1);
80 page_load_metrics::PageLoadTiming timing; 82 page_load_metrics::mojom::PageLoadTiming timing;
83 page_load_metrics::InitPageLoadTimingForTest(&timing);
81 timing.navigation_start = base::Time::FromDoubleT(1); 84 timing.navigation_start = base::Time::FromDoubleT(1);
82 timing.paint_timing.first_contentful_paint = contentful_paint; 85 timing.paint_timing->first_contentful_paint = contentful_paint;
83 timing.parse_timing.parse_start = base::TimeDelta::FromMilliseconds(1); 86 timing.parse_timing->parse_start = base::TimeDelta::FromMilliseconds(1);
84 PopulateRequiredTimingFields(&timing); 87 PopulateRequiredTimingFields(&timing);
85 88
86 page_load_metrics::PageLoadMetadata metadata; 89 page_load_metrics::mojom::PageLoadMetadata metadata;
87 metadata.behavior_flags |= 90 metadata.behavior_flags |=
88 blink::WebLoadingBehaviorFlag::kWebLoadingBehaviorDocumentWriteBlock; 91 blink::WebLoadingBehaviorFlag::kWebLoadingBehaviorDocumentWriteBlock;
89 NavigateAndCommit(GURL("https://www.google.com")); 92 NavigateAndCommit(GURL("https://www.google.com"));
90 SimulateTimingAndMetadataUpdate(timing, metadata); 93 SimulateTimingAndMetadataUpdate(timing, metadata);
91 94
92 histogram_tester().ExpectTotalCount(internal::kHistogramDocWriteBlockCount, 95 histogram_tester().ExpectTotalCount(internal::kHistogramDocWriteBlockCount,
93 1); 96 1);
94 histogram_tester().ExpectTotalCount( 97 histogram_tester().ExpectTotalCount(
95 internal::kHistogramDocWriteBlockParseStartToFirstContentfulPaint, 1); 98 internal::kHistogramDocWriteBlockParseStartToFirstContentfulPaint, 1);
96 histogram_tester().ExpectBucketCount( 99 histogram_tester().ExpectBucketCount(
97 internal::kHistogramDocWriteBlockParseStartToFirstContentfulPaint, 100 internal::kHistogramDocWriteBlockParseStartToFirstContentfulPaint,
98 contentful_paint.InMilliseconds(), 1); 101 contentful_paint.InMilliseconds(), 1);
99 102
100 NavigateAndCommit(GURL("https://www.example.com")); 103 NavigateAndCommit(GURL("https://www.example.com"));
101 104
102 histogram_tester().ExpectTotalCount( 105 histogram_tester().ExpectTotalCount(
103 internal::kHistogramDocWriteBlockParseStartToFirstContentfulPaint, 1); 106 internal::kHistogramDocWriteBlockParseStartToFirstContentfulPaint, 1);
104 histogram_tester().ExpectBucketCount( 107 histogram_tester().ExpectBucketCount(
105 internal::kHistogramDocWriteBlockParseStartToFirstContentfulPaint, 108 internal::kHistogramDocWriteBlockParseStartToFirstContentfulPaint,
106 contentful_paint.InMilliseconds(), 1); 109 contentful_paint.InMilliseconds(), 1);
107 } 110 }
108 111
109 TEST_F(DocumentWritePageLoadMetricsObserverTest, PossibleBlockReload) { 112 TEST_F(DocumentWritePageLoadMetricsObserverTest, PossibleBlockReload) {
110 base::TimeDelta contentful_paint = base::TimeDelta::FromMilliseconds(1); 113 base::TimeDelta contentful_paint = base::TimeDelta::FromMilliseconds(1);
111 page_load_metrics::PageLoadTiming timing; 114 page_load_metrics::mojom::PageLoadTiming timing;
115 page_load_metrics::InitPageLoadTimingForTest(&timing);
112 timing.navigation_start = base::Time::FromDoubleT(1); 116 timing.navigation_start = base::Time::FromDoubleT(1);
113 timing.paint_timing.first_contentful_paint = contentful_paint; 117 timing.paint_timing->first_contentful_paint = contentful_paint;
114 timing.parse_timing.parse_start = base::TimeDelta::FromMilliseconds(1); 118 timing.parse_timing->parse_start = base::TimeDelta::FromMilliseconds(1);
115 PopulateRequiredTimingFields(&timing); 119 PopulateRequiredTimingFields(&timing);
116 120
117 page_load_metrics::PageLoadMetadata metadata; 121 page_load_metrics::mojom::PageLoadMetadata metadata;
118 metadata.behavior_flags |= blink::WebLoadingBehaviorFlag:: 122 metadata.behavior_flags |= blink::WebLoadingBehaviorFlag::
119 kWebLoadingBehaviorDocumentWriteBlockReload; 123 kWebLoadingBehaviorDocumentWriteBlockReload;
120 NavigateAndCommit(GURL("https://www.google.com")); 124 NavigateAndCommit(GURL("https://www.google.com"));
121 SimulateTimingAndMetadataUpdate(timing, metadata); 125 SimulateTimingAndMetadataUpdate(timing, metadata);
122 126
123 histogram_tester().ExpectTotalCount( 127 histogram_tester().ExpectTotalCount(
124 internal::kHistogramDocWriteBlockReloadCount, 1); 128 internal::kHistogramDocWriteBlockReloadCount, 1);
125 129
126 // Another reload. 130 // Another reload.
127 NavigateAndCommit(GURL("https://www.example.com")); 131 NavigateAndCommit(GURL("https://www.example.com"));
128 SimulateTimingAndMetadataUpdate(timing, metadata); 132 SimulateTimingAndMetadataUpdate(timing, metadata);
129 133
130 histogram_tester().ExpectTotalCount( 134 histogram_tester().ExpectTotalCount(
131 internal::kHistogramDocWriteBlockReloadCount, 2); 135 internal::kHistogramDocWriteBlockReloadCount, 2);
132 136
133 // Another metadata update should not increase reload count. 137 // Another metadata update should not increase reload count.
134 metadata.behavior_flags |= 138 metadata.behavior_flags |=
135 blink::WebLoadingBehaviorFlag::kWebLoadingBehaviorServiceWorkerControlled; 139 blink::WebLoadingBehaviorFlag::kWebLoadingBehaviorServiceWorkerControlled;
136 SimulateTimingAndMetadataUpdate(timing, metadata); 140 SimulateTimingAndMetadataUpdate(timing, metadata);
137 histogram_tester().ExpectTotalCount( 141 histogram_tester().ExpectTotalCount(
138 internal::kHistogramDocWriteBlockReloadCount, 2); 142 internal::kHistogramDocWriteBlockReloadCount, 2);
139 143
140 histogram_tester().ExpectTotalCount(internal::kHistogramDocWriteBlockCount, 144 histogram_tester().ExpectTotalCount(internal::kHistogramDocWriteBlockCount,
141 0); 145 0);
142 } 146 }
143 147
144 TEST_F(DocumentWritePageLoadMetricsObserverTest, NoPossibleBlock) { 148 TEST_F(DocumentWritePageLoadMetricsObserverTest, NoPossibleBlock) {
145 base::TimeDelta contentful_paint = base::TimeDelta::FromMilliseconds(1); 149 base::TimeDelta contentful_paint = base::TimeDelta::FromMilliseconds(1);
146 page_load_metrics::PageLoadTiming timing; 150 page_load_metrics::mojom::PageLoadTiming timing;
151 page_load_metrics::InitPageLoadTimingForTest(&timing);
147 timing.navigation_start = base::Time::FromDoubleT(1); 152 timing.navigation_start = base::Time::FromDoubleT(1);
148 timing.paint_timing.first_contentful_paint = contentful_paint; 153 timing.paint_timing->first_contentful_paint = contentful_paint;
149 PopulateRequiredTimingFields(&timing); 154 PopulateRequiredTimingFields(&timing);
150 155
151 page_load_metrics::PageLoadMetadata metadata; 156 page_load_metrics::mojom::PageLoadMetadata metadata;
152 NavigateAndCommit(GURL("https://www.google.com")); 157 NavigateAndCommit(GURL("https://www.google.com"));
153 SimulateTimingAndMetadataUpdate(timing, metadata); 158 SimulateTimingAndMetadataUpdate(timing, metadata);
154 159
155 NavigateAndCommit(GURL("https://www.example.com")); 160 NavigateAndCommit(GURL("https://www.example.com"));
156 AssertNoBlockHistogramsLogged(); 161 AssertNoBlockHistogramsLogged();
157 } 162 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698