| 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 |