| 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(
|
|
|