| Index: content/browser/shared_worker/shared_worker_service_impl.cc | 
| diff --git a/content/browser/shared_worker/shared_worker_service_impl.cc b/content/browser/shared_worker/shared_worker_service_impl.cc | 
| index e70050008010c91271b25c9600ab16f30efe2672..04f0bbb465ed2b93e8ac55a51911534a51902761 100644 | 
| --- a/content/browser/shared_worker/shared_worker_service_impl.cc | 
| +++ b/content/browser/shared_worker/shared_worker_service_impl.cc | 
| @@ -347,6 +347,15 @@ void SharedWorkerServiceImpl::DocumentDetached( | 
| } | 
| } | 
|  | 
| +void SharedWorkerServiceImpl::CountFeature(SharedWorkerMessageFilter* filter, | 
| +                                           int worker_route_id, | 
| +                                           uint32_t use_counter_id) { | 
| +  if (SharedWorkerHost* host = | 
| +          FindSharedWorkerHost(filter->render_process_id(), worker_route_id)) { | 
| +    host->CountFeature(use_counter_id); | 
| +  } | 
| +} | 
| + | 
| void SharedWorkerServiceImpl::WorkerContextClosed( | 
| SharedWorkerMessageFilter* filter, | 
| int worker_route_id) { | 
| @@ -360,6 +369,10 @@ void SharedWorkerServiceImpl::WorkerContextDestroyed( | 
| SharedWorkerMessageFilter* filter, | 
| int worker_route_id) { | 
| ScopedWorkerDependencyChecker checker(this); | 
| +  if (SharedWorkerHost* host = | 
| +          FindSharedWorkerHost(filter->render_process_id(), worker_route_id)) { | 
| +    host->WorkerContextDestroyed(); | 
| +  } | 
| ProcessRouteIdPair key(filter->render_process_id(), worker_route_id); | 
| worker_hosts_.erase(key); | 
| } | 
|  |