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..4524fd5bcc7c171b20d83613b264d2c62c43e555 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 feature) { |
+ if (SharedWorkerHost* host = |
+ FindSharedWorkerHost(filter->render_process_id(), worker_route_id)) { |
+ host->CountFeature(feature); |
+ } |
+} |
+ |
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); |
} |