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 3054878f8ccbb7c8f038c2201220e66b4dffa1ac..eaa46e36188d8eec529b004942dc71ad7814f567 100644 |
--- a/content/browser/service_worker/service_worker_provider_host.cc |
+++ b/content/browser/service_worker/service_worker_provider_host.cc |
@@ -91,10 +91,13 @@ ServiceWorkerProviderHost::ServiceWorkerProviderHost( |
// Actual thread id is set when the service worker context gets started. |
render_thread_id_ = kInvalidEmbeddedWorkerThreadId; |
} |
- context_->RegisterClientIDForProviderHost(client_uuid_, this); |
+ context_->RegisterProviderHostByClientID(client_uuid_, this); |
} |
ServiceWorkerProviderHost::~ServiceWorkerProviderHost() { |
+ if (context_) |
+ context_->UnregisterProviderHostByClientID(client_uuid_); |
+ |
// Clear docurl so the deferred activation of a waiting worker |
// won't associate the new version with a provider being destroyed. |
document_url_ = GURL(); |