| Index: chrome/browser/page_load_metrics/observers/service_worker_page_load_metrics_observer.cc
|
| diff --git a/chrome/browser/page_load_metrics/observers/service_worker_page_load_metrics_observer.cc b/chrome/browser/page_load_metrics/observers/service_worker_page_load_metrics_observer.cc
|
| index 43fcb86539a2539890171caedb8a75a610468367..149dfff57d1e70139f657b4f752961bb7ac9e426 100644
|
| --- a/chrome/browser/page_load_metrics/observers/service_worker_page_load_metrics_observer.cc
|
| +++ b/chrome/browser/page_load_metrics/observers/service_worker_page_load_metrics_observer.cc
|
| @@ -9,6 +9,11 @@
|
|
|
| namespace internal {
|
|
|
| +const char kHistogramServiceWorkerParseStart[] =
|
| + "PageLoad.Clients.ServiceWorker.ParseTiming.NavigationToParseStart";
|
| +const char kBackgroundHistogramServiceWorkerParseStart[] =
|
| + "PageLoad.Clients.ServiceWorker.ParseTiming.NavigationToParseStart."
|
| + "Background";
|
| const char kHistogramServiceWorkerFirstContentfulPaint[] =
|
| "PageLoad.Clients.ServiceWorker.PaintTiming."
|
| "NavigationToFirstContentfulPaint";
|
| @@ -116,3 +121,18 @@ void ServiceWorkerPageLoadMetricsObserver::OnLoadEventStart(
|
| timing.load_event_start.value());
|
| }
|
| }
|
| +
|
| +void ServiceWorkerPageLoadMetricsObserver::OnParseStart(
|
| + const page_load_metrics::PageLoadTiming& timing,
|
| + const page_load_metrics::PageLoadExtraInfo& info) {
|
| + if (!IsServiceWorkerControlled(info))
|
| + return;
|
| + if (WasStartedInForegroundOptionalEventInForeground(timing.parse_start,
|
| + info)) {
|
| + PAGE_LOAD_HISTOGRAM(internal::kHistogramServiceWorkerParseStart,
|
| + timing.parse_start.value());
|
| + } else {
|
| + PAGE_LOAD_HISTOGRAM(internal::kBackgroundHistogramServiceWorkerParseStart,
|
| + timing.parse_start.value());
|
| + }
|
| +}
|
|
|