| Index: content/browser/service_worker/service_worker_registration.cc
|
| diff --git a/content/browser/service_worker/service_worker_registration.cc b/content/browser/service_worker/service_worker_registration.cc
|
| index 9cd539d42567ca84cdd523fe209973bd1cd293e3..87eddefb6622071309f0ff33e9168fc5361d5b37 100644
|
| --- a/content/browser/service_worker/service_worker_registration.cc
|
| +++ b/content/browser/service_worker/service_worker_registration.cc
|
| @@ -40,6 +40,7 @@ ServiceWorkerRegistration::ServiceWorkerRegistration(
|
|
|
| ServiceWorkerRegistration::~ServiceWorkerRegistration() {
|
| DCHECK(BrowserThread::CurrentlyOn(BrowserThread::IO));
|
| + DCHECK(!listeners_.might_have_observers());
|
| if (context_)
|
| context_->RemoveLiveRegistration(registration_id_);
|
| ResetShouldActivateWhenReady();
|
| @@ -141,6 +142,11 @@ void ServiceWorkerRegistration::ActivateWaitingVersionWhenReady() {
|
| ActivateWaitingVersion();
|
| }
|
|
|
| +void ServiceWorkerRegistration::SetIsDeleted() {
|
| + is_deleted_ = true;
|
| + FOR_EACH_OBSERVER(Listener, listeners_, OnRegistrationDeleted(this));
|
| +}
|
| +
|
| void ServiceWorkerRegistration::OnNoControllees(ServiceWorkerVersion* version) {
|
| DCHECK_EQ(active_version(), version);
|
| DCHECK(should_activate_when_ready_);
|
| @@ -175,11 +181,7 @@ void ServiceWorkerRegistration::ActivateWaitingVersion() {
|
|
|
| // "5. Set serviceWorkerRegistration.activeWorker to activatingWorker."
|
| // "6. Set serviceWorkerRegistration.waitingWorker to null."
|
| - ServiceWorkerRegisterJob::DisassociateVersionFromDocuments(
|
| - context_, activating_version);
|
| SetActiveVersion(activating_version);
|
| - ServiceWorkerRegisterJob::AssociateActiveVersionToDocuments(
|
| - context_, activating_version);
|
|
|
| // "7. Run the [[UpdateState]] algorithm passing registration.activeWorker and
|
| // "activating" as arguments."
|
| @@ -202,8 +204,6 @@ void ServiceWorkerRegistration::OnActivateEventFinished(
|
| // unexpectedly terminated) we may want to retry sending the event again.
|
| if (status != SERVICE_WORKER_OK) {
|
| // "11. If activateFailed is true, then:..."
|
| - ServiceWorkerRegisterJob::DisassociateVersionFromDocuments(
|
| - context_, activating_version);
|
| UnsetVersion(activating_version);
|
| activating_version->Doom();
|
| if (!waiting_version()) {
|
|
|