| Index: content/browser/service_worker/service_worker_version.cc
|
| diff --git a/content/browser/service_worker/service_worker_version.cc b/content/browser/service_worker/service_worker_version.cc
|
| index c7c40556b0d9f20d45043857c3926b05a294325e..13f1305c6966e2bd2b31f80ee933473ebea0e7fb 100644
|
| --- a/content/browser/service_worker/service_worker_version.cc
|
| +++ b/content/browser/service_worker/service_worker_version.cc
|
| @@ -306,11 +306,12 @@ ServiceWorkerVersion::ServiceWorkerVersion(
|
| script_url_(script_url),
|
| scope_(registration->pattern()),
|
| fetch_handler_existence_(FetchHandlerExistence::UNKNOWN),
|
| + site_for_uma_(ServiceWorkerMetrics::SiteFromURL(scope_)),
|
| context_(context),
|
| script_cache_map_(this, context),
|
| ping_controller_(new PingController(this)),
|
| should_exclude_from_uma_(
|
| - ServiceWorkerMetrics::ShouldExcludeURLFromHistogram(scope_)),
|
| + ServiceWorkerMetrics::ShouldExcludeSiteFromHistogram(site_for_uma_)),
|
| weak_factory_(this) {
|
| DCHECK_NE(kInvalidServiceWorkerVersionId, version_id);
|
| DCHECK(context_);
|
| @@ -411,6 +412,19 @@ ServiceWorkerVersionInfo ServiceWorkerVersion::GetInfo() {
|
| return info;
|
| }
|
|
|
| +void ServiceWorkerVersion::set_fetch_handler_existence(
|
| + FetchHandlerExistence existence) {
|
| + DCHECK_EQ(fetch_handler_existence_, FetchHandlerExistence::UNKNOWN);
|
| + DCHECK_NE(existence, FetchHandlerExistence::UNKNOWN);
|
| + fetch_handler_existence_ = existence;
|
| + if (site_for_uma_ != ServiceWorkerMetrics::Site::OTHER)
|
| + return;
|
| + if (existence == FetchHandlerExistence::EXISTS)
|
| + site_for_uma_ = ServiceWorkerMetrics::Site::WITH_FETCH_HANDLER;
|
| + else
|
| + site_for_uma_ = ServiceWorkerMetrics::Site::WITHOUT_FETCH_HANDLER;
|
| +}
|
| +
|
| void ServiceWorkerVersion::StartWorker(ServiceWorkerMetrics::EventType purpose,
|
| const StatusCallback& callback) {
|
| TRACE_EVENT_INSTANT2(
|
|
|