Chromium Code Reviews| Index: content/browser/service_worker/service_worker_provider_host.cc |
| diff --git a/content/browser/service_worker/service_worker_provider_host.cc b/content/browser/service_worker/service_worker_provider_host.cc |
| index a32fdd32fea0d945eff3b333e822dd761e6becec..2e6394b6ff062e09ff4032a6d956c5a4062b6b96 100644 |
| --- a/content/browser/service_worker/service_worker_provider_host.cc |
| +++ b/content/browser/service_worker/service_worker_provider_host.cc |
| @@ -248,7 +248,8 @@ void ServiceWorkerProviderHost::SetControllerVersionAttribute( |
| DCHECK(IsProviderForClient()); |
| Send(new ServiceWorkerMsg_SetControllerServiceWorker( |
| render_thread_id_, provider_id(), GetOrCreateServiceWorkerHandle(version), |
| - notify_controllerchange)); |
| + notify_controllerchange, |
| + version ? version->used_features() : std::set<uint32_t>())); |
| } |
| void ServiceWorkerProviderHost::SetHostedVersion( |
| @@ -459,6 +460,16 @@ void ServiceWorkerProviderHost::PostMessageToClient( |
| Send(new ServiceWorkerMsg_MessageToDocument(params)); |
| } |
| +void ServiceWorkerProviderHost::CountFeature(uint32_t feature) { |
| + if (!dispatcher_host_) |
| + return; // Could be nullptr in some tests. |
|
dcheng
2017/02/13 21:25:02
Nit: I think "null for testing" makes it harder to
nhiroki
2017/02/14 02:22:34
Acknowledged. This pattern is somewhat widely used
|
| + |
| + // CountFeature message should be sent only for controllees. |
| + DCHECK(IsProviderForClient()); |
| + Send(new ServiceWorkerMsg_CountFeature(render_thread_id_, provider_id(), |
| + feature)); |
| +} |
| + |
| void ServiceWorkerProviderHost::AddScopedProcessReferenceToPattern( |
| const GURL& pattern) { |
| associated_patterns_.push_back(pattern); |
| @@ -731,7 +742,8 @@ void ServiceWorkerProviderHost::FinalizeInitialization( |
| render_thread_id_, provider_id(), |
| GetOrCreateServiceWorkerHandle( |
| associated_registration_->active_version()), |
| - false /* shouldNotifyControllerChange */)); |
| + false /* shouldNotifyControllerChange */, |
| + associated_registration_->active_version()->used_features())); |
| } |
| } |
| } |