| Index: content/browser/service_worker/service_worker_metrics.cc
|
| diff --git a/content/browser/service_worker/service_worker_metrics.cc b/content/browser/service_worker/service_worker_metrics.cc
|
| index 310e76e3d8a69cf6821c14c13f66bb4ec0810e69..aca38b992cbb47ccc9902e4dd28fab7141eba192 100644
|
| --- a/content/browser/service_worker/service_worker_metrics.cc
|
| +++ b/content/browser/service_worker/service_worker_metrics.cc
|
| @@ -321,9 +321,12 @@ void ServiceWorkerMetrics::RecordDeleteAndStartOverResult(
|
| result, NUM_DELETE_AND_START_OVER_RESULT_TYPES);
|
| }
|
|
|
| -void ServiceWorkerMetrics::CountControlledPageLoad(Site site,
|
| - const GURL& url,
|
| - bool is_main_frame_load) {
|
| +void ServiceWorkerMetrics::CountControlledPageLoad(
|
| + Site site,
|
| + const GURL& url,
|
| + bool is_main_frame_load,
|
| + ui::PageTransition page_transition,
|
| + size_t redirect_chain_length) {
|
| DCHECK_NE(site, Site::OTHER);
|
| UMA_HISTOGRAM_ENUMERATION("ServiceWorker.PageLoad", static_cast<int>(site),
|
| static_cast<int>(Site::NUM_TYPES));
|
| @@ -332,9 +335,21 @@ void ServiceWorkerMetrics::CountControlledPageLoad(Site site,
|
| static_cast<int>(site),
|
| static_cast<int>(Site::NUM_TYPES));
|
| }
|
| -
|
| if (ShouldExcludeSiteFromHistogram(site))
|
| return;
|
| +
|
| + if (is_main_frame_load) {
|
| + UMA_HISTOGRAM_ENUMERATION(
|
| + "ServiceWorker.MainFramePageLoad.CoreTransition",
|
| + static_cast<int>(ui::PageTransitionStripQualifier(page_transition)),
|
| + static_cast<int>(ui::PAGE_TRANSITION_LAST_CORE) + 1);
|
| + // Currently the max number of HTTP redirects is 20 which is defined as
|
| + // kMaxRedirects in net/url_request/url_request.cc. So the max number of the
|
| + // chain length is 21.
|
| + UMA_HISTOGRAM_EXACT_LINEAR(
|
| + "ServiceWorker.MainFramePageLoad.RedirectChainLength",
|
| + redirect_chain_length, 21);
|
| + }
|
| BrowserThread::PostTask(BrowserThread::UI, FROM_HERE,
|
| base::Bind(&RecordURLMetricOnUI, url));
|
| }
|
|
|