OLD | NEW |
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/service_worker_page_load_me
trics_observer.h" | 5 #include "chrome/browser/page_load_metrics/observers/service_worker_page_load_me
trics_observer.h" |
6 | 6 |
7 #include "chrome/browser/page_load_metrics/observers/from_gws_page_load_metrics_
observer.h" | 7 #include "chrome/browser/page_load_metrics/observers/from_gws_page_load_metrics_
observer.h" |
8 #include "chrome/browser/page_load_metrics/page_load_metrics_util.h" | 8 #include "chrome/browser/page_load_metrics/page_load_metrics_util.h" |
9 #include "third_party/WebKit/public/platform/WebLoadingBehaviorFlag.h" | 9 #include "third_party/WebKit/public/platform/WebLoadingBehaviorFlag.h" |
10 | 10 |
(...skipping 100 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
111 } // namespace | 111 } // namespace |
112 | 112 |
113 ServiceWorkerPageLoadMetricsObserver::ServiceWorkerPageLoadMetricsObserver() {} | 113 ServiceWorkerPageLoadMetricsObserver::ServiceWorkerPageLoadMetricsObserver() {} |
114 | 114 |
115 void ServiceWorkerPageLoadMetricsObserver::OnFirstContentfulPaintInPage( | 115 void ServiceWorkerPageLoadMetricsObserver::OnFirstContentfulPaintInPage( |
116 const page_load_metrics::mojom::PageLoadTiming& timing, | 116 const page_load_metrics::mojom::PageLoadTiming& timing, |
117 const page_load_metrics::PageLoadExtraInfo& info) { | 117 const page_load_metrics::PageLoadExtraInfo& info) { |
118 if (!IsServiceWorkerControlled(info)) { | 118 if (!IsServiceWorkerControlled(info)) { |
119 if (!WasStartedInForegroundOptionalEventInForeground( | 119 if (!WasStartedInForegroundOptionalEventInForeground( |
120 timing.paint_timing->first_contentful_paint, info) || | 120 timing.paint_timing->first_contentful_paint, info) || |
121 !FromGWSPageLoadMetricsLogger::IsGoogleSearchResultUrl(info.url)) { | 121 !page_load_metrics::IsGoogleSearchResultUrl(info.url)) { |
122 return; | 122 return; |
123 } | 123 } |
124 PAGE_LOAD_HISTOGRAM( | 124 PAGE_LOAD_HISTOGRAM( |
125 internal::kHistogramNoServiceWorkerFirstContentfulPaintSearch, | 125 internal::kHistogramNoServiceWorkerFirstContentfulPaintSearch, |
126 timing.paint_timing->first_contentful_paint.value()); | 126 timing.paint_timing->first_contentful_paint.value()); |
127 PAGE_LOAD_HISTOGRAM( | 127 PAGE_LOAD_HISTOGRAM( |
128 internal:: | 128 internal:: |
129 kHistogramNoServiceWorkerParseStartToFirstContentfulPaintSearch, | 129 kHistogramNoServiceWorkerParseStartToFirstContentfulPaintSearch, |
130 timing.paint_timing->first_contentful_paint.value() - | 130 timing.paint_timing->first_contentful_paint.value() - |
131 timing.parse_timing->parse_start.value()); | 131 timing.parse_timing->parse_start.value()); |
(...skipping 14 matching lines...) Expand all Loading... |
146 timing.parse_timing->parse_start.value()); | 146 timing.parse_timing->parse_start.value()); |
147 | 147 |
148 if (IsInboxSite(info.url)) { | 148 if (IsInboxSite(info.url)) { |
149 PAGE_LOAD_HISTOGRAM( | 149 PAGE_LOAD_HISTOGRAM( |
150 internal::kHistogramServiceWorkerFirstContentfulPaintInbox, | 150 internal::kHistogramServiceWorkerFirstContentfulPaintInbox, |
151 timing.paint_timing->first_contentful_paint.value()); | 151 timing.paint_timing->first_contentful_paint.value()); |
152 PAGE_LOAD_HISTOGRAM( | 152 PAGE_LOAD_HISTOGRAM( |
153 internal::kHistogramServiceWorkerParseStartToFirstContentfulPaintInbox, | 153 internal::kHistogramServiceWorkerParseStartToFirstContentfulPaintInbox, |
154 timing.paint_timing->first_contentful_paint.value() - | 154 timing.paint_timing->first_contentful_paint.value() - |
155 timing.parse_timing->parse_start.value()); | 155 timing.parse_timing->parse_start.value()); |
156 } else if (FromGWSPageLoadMetricsLogger::IsGoogleSearchResultUrl(info.url)) { | 156 } else if (page_load_metrics::IsGoogleSearchResultUrl(info.url)) { |
157 PAGE_LOAD_HISTOGRAM( | 157 PAGE_LOAD_HISTOGRAM( |
158 internal::kHistogramServiceWorkerFirstContentfulPaintSearch, | 158 internal::kHistogramServiceWorkerFirstContentfulPaintSearch, |
159 timing.paint_timing->first_contentful_paint.value()); | 159 timing.paint_timing->first_contentful_paint.value()); |
160 PAGE_LOAD_HISTOGRAM( | 160 PAGE_LOAD_HISTOGRAM( |
161 internal::kHistogramServiceWorkerParseStartToFirstContentfulPaintSearch, | 161 internal::kHistogramServiceWorkerParseStartToFirstContentfulPaintSearch, |
162 timing.paint_timing->first_contentful_paint.value() - | 162 timing.paint_timing->first_contentful_paint.value() - |
163 timing.parse_timing->parse_start.value()); | 163 timing.parse_timing->parse_start.value()); |
164 } | 164 } |
165 } | 165 } |
166 | 166 |
167 void ServiceWorkerPageLoadMetricsObserver:: | 167 void ServiceWorkerPageLoadMetricsObserver:: |
168 OnFirstMeaningfulPaintInMainFrameDocument( | 168 OnFirstMeaningfulPaintInMainFrameDocument( |
169 const page_load_metrics::mojom::PageLoadTiming& timing, | 169 const page_load_metrics::mojom::PageLoadTiming& timing, |
170 const page_load_metrics::PageLoadExtraInfo& info) { | 170 const page_load_metrics::PageLoadExtraInfo& info) { |
171 if (!WasStartedInForegroundOptionalEventInForeground( | 171 if (!WasStartedInForegroundOptionalEventInForeground( |
172 timing.paint_timing->first_meaningful_paint, info)) { | 172 timing.paint_timing->first_meaningful_paint, info)) { |
173 return; | 173 return; |
174 } | 174 } |
175 if (!IsServiceWorkerControlled(info)) { | 175 if (!IsServiceWorkerControlled(info)) { |
176 if (!FromGWSPageLoadMetricsLogger::IsGoogleSearchResultUrl(info.url)) | 176 if (!page_load_metrics::IsGoogleSearchResultUrl(info.url)) |
177 return; | 177 return; |
178 PAGE_LOAD_HISTOGRAM( | 178 PAGE_LOAD_HISTOGRAM( |
179 internal::kHistogramNoServiceWorkerFirstMeaningfulPaintSearch, | 179 internal::kHistogramNoServiceWorkerFirstMeaningfulPaintSearch, |
180 timing.paint_timing->first_meaningful_paint.value()); | 180 timing.paint_timing->first_meaningful_paint.value()); |
181 PAGE_LOAD_HISTOGRAM( | 181 PAGE_LOAD_HISTOGRAM( |
182 internal:: | 182 internal:: |
183 kHistogramNoServiceWorkerParseStartToFirstMeaningfulPaintSearch, | 183 kHistogramNoServiceWorkerParseStartToFirstMeaningfulPaintSearch, |
184 timing.paint_timing->first_meaningful_paint.value() - | 184 timing.paint_timing->first_meaningful_paint.value() - |
185 timing.parse_timing->parse_start.value()); | 185 timing.parse_timing->parse_start.value()); |
186 return; | 186 return; |
187 } | 187 } |
188 PAGE_LOAD_HISTOGRAM(internal::kHistogramServiceWorkerFirstMeaningfulPaint, | 188 PAGE_LOAD_HISTOGRAM(internal::kHistogramServiceWorkerFirstMeaningfulPaint, |
189 timing.paint_timing->first_meaningful_paint.value()); | 189 timing.paint_timing->first_meaningful_paint.value()); |
190 PAGE_LOAD_HISTOGRAM( | 190 PAGE_LOAD_HISTOGRAM( |
191 internal::kHistogramServiceWorkerParseStartToFirstMeaningfulPaint, | 191 internal::kHistogramServiceWorkerParseStartToFirstMeaningfulPaint, |
192 timing.paint_timing->first_meaningful_paint.value() - | 192 timing.paint_timing->first_meaningful_paint.value() - |
193 timing.parse_timing->parse_start.value()); | 193 timing.parse_timing->parse_start.value()); |
194 | 194 |
195 if (IsInboxSite(info.url)) { | 195 if (IsInboxSite(info.url)) { |
196 PAGE_LOAD_HISTOGRAM( | 196 PAGE_LOAD_HISTOGRAM( |
197 internal::kHistogramServiceWorkerFirstMeaningfulPaintInbox, | 197 internal::kHistogramServiceWorkerFirstMeaningfulPaintInbox, |
198 timing.paint_timing->first_meaningful_paint.value()); | 198 timing.paint_timing->first_meaningful_paint.value()); |
199 PAGE_LOAD_HISTOGRAM( | 199 PAGE_LOAD_HISTOGRAM( |
200 internal::kHistogramServiceWorkerParseStartToFirstMeaningfulPaintInbox, | 200 internal::kHistogramServiceWorkerParseStartToFirstMeaningfulPaintInbox, |
201 timing.paint_timing->first_meaningful_paint.value() - | 201 timing.paint_timing->first_meaningful_paint.value() - |
202 timing.parse_timing->parse_start.value()); | 202 timing.parse_timing->parse_start.value()); |
203 } else if (FromGWSPageLoadMetricsLogger::IsGoogleSearchResultUrl(info.url)) { | 203 } else if (page_load_metrics::IsGoogleSearchResultUrl(info.url)) { |
204 PAGE_LOAD_HISTOGRAM( | 204 PAGE_LOAD_HISTOGRAM( |
205 internal::kHistogramServiceWorkerFirstMeaningfulPaintSearch, | 205 internal::kHistogramServiceWorkerFirstMeaningfulPaintSearch, |
206 timing.paint_timing->first_meaningful_paint.value()); | 206 timing.paint_timing->first_meaningful_paint.value()); |
207 PAGE_LOAD_HISTOGRAM( | 207 PAGE_LOAD_HISTOGRAM( |
208 internal::kHistogramServiceWorkerParseStartToFirstMeaningfulPaintSearch, | 208 internal::kHistogramServiceWorkerParseStartToFirstMeaningfulPaintSearch, |
209 timing.paint_timing->first_meaningful_paint.value() - | 209 timing.paint_timing->first_meaningful_paint.value() - |
210 timing.parse_timing->parse_start.value()); | 210 timing.parse_timing->parse_start.value()); |
211 } | 211 } |
212 } | 212 } |
213 | 213 |
214 void ServiceWorkerPageLoadMetricsObserver::OnDomContentLoadedEventStart( | 214 void ServiceWorkerPageLoadMetricsObserver::OnDomContentLoadedEventStart( |
215 const page_load_metrics::mojom::PageLoadTiming& timing, | 215 const page_load_metrics::mojom::PageLoadTiming& timing, |
216 const page_load_metrics::PageLoadExtraInfo& info) { | 216 const page_load_metrics::PageLoadExtraInfo& info) { |
217 if (!WasStartedInForegroundOptionalEventInForeground( | 217 if (!WasStartedInForegroundOptionalEventInForeground( |
218 timing.document_timing->dom_content_loaded_event_start, info)) { | 218 timing.document_timing->dom_content_loaded_event_start, info)) { |
219 return; | 219 return; |
220 } | 220 } |
221 if (!IsServiceWorkerControlled(info)) { | 221 if (!IsServiceWorkerControlled(info)) { |
222 if (!FromGWSPageLoadMetricsLogger::IsGoogleSearchResultUrl(info.url)) | 222 if (!page_load_metrics::IsGoogleSearchResultUrl(info.url)) |
223 return; | 223 return; |
224 PAGE_LOAD_HISTOGRAM( | 224 PAGE_LOAD_HISTOGRAM( |
225 internal::kHistogramNoServiceWorkerDomContentLoadedSearch, | 225 internal::kHistogramNoServiceWorkerDomContentLoadedSearch, |
226 timing.document_timing->dom_content_loaded_event_start.value()); | 226 timing.document_timing->dom_content_loaded_event_start.value()); |
227 return; | 227 return; |
228 } | 228 } |
229 PAGE_LOAD_HISTOGRAM( | 229 PAGE_LOAD_HISTOGRAM( |
230 internal::kHistogramServiceWorkerDomContentLoaded, | 230 internal::kHistogramServiceWorkerDomContentLoaded, |
231 timing.document_timing->dom_content_loaded_event_start.value()); | 231 timing.document_timing->dom_content_loaded_event_start.value()); |
232 if (IsInboxSite(info.url)) { | 232 if (IsInboxSite(info.url)) { |
233 PAGE_LOAD_HISTOGRAM( | 233 PAGE_LOAD_HISTOGRAM( |
234 internal::kHistogramServiceWorkerDomContentLoadedInbox, | 234 internal::kHistogramServiceWorkerDomContentLoadedInbox, |
235 timing.document_timing->dom_content_loaded_event_start.value()); | 235 timing.document_timing->dom_content_loaded_event_start.value()); |
236 } else if (FromGWSPageLoadMetricsLogger::IsGoogleSearchResultUrl(info.url)) { | 236 } else if (page_load_metrics::IsGoogleSearchResultUrl(info.url)) { |
237 PAGE_LOAD_HISTOGRAM( | 237 PAGE_LOAD_HISTOGRAM( |
238 internal::kHistogramServiceWorkerDomContentLoadedSearch, | 238 internal::kHistogramServiceWorkerDomContentLoadedSearch, |
239 timing.document_timing->dom_content_loaded_event_start.value()); | 239 timing.document_timing->dom_content_loaded_event_start.value()); |
240 } | 240 } |
241 } | 241 } |
242 | 242 |
243 void ServiceWorkerPageLoadMetricsObserver::OnLoadEventStart( | 243 void ServiceWorkerPageLoadMetricsObserver::OnLoadEventStart( |
244 const page_load_metrics::mojom::PageLoadTiming& timing, | 244 const page_load_metrics::mojom::PageLoadTiming& timing, |
245 const page_load_metrics::PageLoadExtraInfo& info) { | 245 const page_load_metrics::PageLoadExtraInfo& info) { |
246 if (!WasStartedInForegroundOptionalEventInForeground( | 246 if (!WasStartedInForegroundOptionalEventInForeground( |
247 timing.document_timing->load_event_start, info)) | 247 timing.document_timing->load_event_start, info)) |
248 return; | 248 return; |
249 if (!IsServiceWorkerControlled(info)) { | 249 if (!IsServiceWorkerControlled(info)) { |
250 if (!FromGWSPageLoadMetricsLogger::IsGoogleSearchResultUrl(info.url)) | 250 if (!page_load_metrics::IsGoogleSearchResultUrl(info.url)) |
251 return; | 251 return; |
252 PAGE_LOAD_HISTOGRAM(internal::kHistogramNoServiceWorkerLoadSearch, | 252 PAGE_LOAD_HISTOGRAM(internal::kHistogramNoServiceWorkerLoadSearch, |
253 timing.document_timing->load_event_start.value()); | 253 timing.document_timing->load_event_start.value()); |
254 return; | 254 return; |
255 } | 255 } |
256 PAGE_LOAD_HISTOGRAM(internal::kHistogramServiceWorkerLoad, | 256 PAGE_LOAD_HISTOGRAM(internal::kHistogramServiceWorkerLoad, |
257 timing.document_timing->load_event_start.value()); | 257 timing.document_timing->load_event_start.value()); |
258 if (IsInboxSite(info.url)) { | 258 if (IsInboxSite(info.url)) { |
259 PAGE_LOAD_HISTOGRAM(internal::kHistogramServiceWorkerLoadInbox, | 259 PAGE_LOAD_HISTOGRAM(internal::kHistogramServiceWorkerLoadInbox, |
260 timing.document_timing->load_event_start.value()); | 260 timing.document_timing->load_event_start.value()); |
261 } else if (FromGWSPageLoadMetricsLogger::IsGoogleSearchResultUrl(info.url)) { | 261 } else if (page_load_metrics::IsGoogleSearchResultUrl(info.url)) { |
262 PAGE_LOAD_HISTOGRAM(internal::kHistogramServiceWorkerLoadSearch, | 262 PAGE_LOAD_HISTOGRAM(internal::kHistogramServiceWorkerLoadSearch, |
263 timing.document_timing->load_event_start.value()); | 263 timing.document_timing->load_event_start.value()); |
264 } | 264 } |
265 } | 265 } |
266 | 266 |
267 void ServiceWorkerPageLoadMetricsObserver::OnParseStart( | 267 void ServiceWorkerPageLoadMetricsObserver::OnParseStart( |
268 const page_load_metrics::mojom::PageLoadTiming& timing, | 268 const page_load_metrics::mojom::PageLoadTiming& timing, |
269 const page_load_metrics::PageLoadExtraInfo& info) { | 269 const page_load_metrics::PageLoadExtraInfo& info) { |
270 if (!IsServiceWorkerControlled(info)) | 270 if (!IsServiceWorkerControlled(info)) |
271 return; | 271 return; |
272 if (WasStartedInForegroundOptionalEventInForeground( | 272 if (WasStartedInForegroundOptionalEventInForeground( |
273 timing.parse_timing->parse_start, info)) { | 273 timing.parse_timing->parse_start, info)) { |
274 PAGE_LOAD_HISTOGRAM(internal::kHistogramServiceWorkerParseStart, | 274 PAGE_LOAD_HISTOGRAM(internal::kHistogramServiceWorkerParseStart, |
275 timing.parse_timing->parse_start.value()); | 275 timing.parse_timing->parse_start.value()); |
276 } else { | 276 } else { |
277 PAGE_LOAD_HISTOGRAM(internal::kBackgroundHistogramServiceWorkerParseStart, | 277 PAGE_LOAD_HISTOGRAM(internal::kBackgroundHistogramServiceWorkerParseStart, |
278 timing.parse_timing->parse_start.value()); | 278 timing.parse_timing->parse_start.value()); |
279 } | 279 } |
280 } | 280 } |
OLD | NEW |