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 851fad940c40bb33d054787505206cf363bc66f7..52b6656ede0fe5a964cfb981b77f151b9b897952 100644 |
--- a/content/child/service_worker/web_service_worker_provider_impl.cc |
+++ b/content/child/service_worker/web_service_worker_provider_impl.cc |
@@ -49,7 +49,9 @@ void WebServiceWorkerProviderImpl::setClient( |
// for more context) |
GetDispatcher()->AddProviderClient(provider_id_, client); |
- if (!context_->registration()) { |
+ ServiceWorkerRegistrationObjectInfo info; |
+ ServiceWorkerVersionAttributes attrs; |
+ if (!context_->GetRegistrationInfoAndVersionAttributes(&info, &attrs)) { |
// This provider is not associated with any registration. |
return; |
} |
@@ -57,12 +59,10 @@ void WebServiceWorkerProviderImpl::setClient( |
// Set .ready if the associated registration has the active service worker. |
if (context_->active_handle_id() != kInvalidServiceWorkerHandleId) { |
WebServiceWorkerRegistrationImpl* registration = |
- GetDispatcher()->FindServiceWorkerRegistration( |
- context_->registration()->info(), false); |
+ GetDispatcher()->FindServiceWorkerRegistration(info, false); |
if (!registration) { |
- registration = GetDispatcher()->CreateServiceWorkerRegistration( |
- context_->registration()->info(), false); |
- ServiceWorkerVersionAttributes attrs = context_->GetVersionAttributes(); |
+ registration = |
+ GetDispatcher()->CreateServiceWorkerRegistration(info, false); |
registration->SetInstalling( |
GetDispatcher()->GetServiceWorker(attrs.installing, false)); |
registration->SetWaiting( |