Index: content/child/service_worker/web_service_worker_provider_impl.cc |
diff --git a/content/child/service_worker/web_service_worker_provider_impl.cc b/content/child/service_worker/web_service_worker_provider_impl.cc |
index 8b89c43f267c66ae4b9b1e25c5a75b5d2286823d..f6ed0fca7466d471d9aead7f66cdf57801687ef9 100644 |
--- a/content/child/service_worker/web_service_worker_provider_impl.cc |
+++ b/content/child/service_worker/web_service_worker_provider_impl.cc |
@@ -47,12 +47,15 @@ void WebServiceWorkerProviderImpl::setClient( |
// for more context) |
GetDispatcher()->AddScriptClient(provider_id_, client); |
- int handle_id = context_->current_handle_id(); |
- if (handle_id == kInvalidServiceWorkerHandleId) |
- return; |
+ if (context_->waiting_handle_id() != kInvalidServiceWorkerHandleId) { |
+ client->setWaiting( |
+ GetDispatcher()->GetServiceWorker(context_->waiting()->info(), false)); |
+ } |
- client->setCurrentServiceWorker( |
- GetDispatcher()->GetServiceWorker(context_->current()->info(), false)); |
+ if (context_->current_handle_id() != kInvalidServiceWorkerHandleId) { |
+ client->setController( |
+ GetDispatcher()->GetServiceWorker(context_->current()->info(), false)); |
+ } |
} |
void WebServiceWorkerProviderImpl::registerServiceWorker( |