Index: content/browser/service_worker/service_worker_register_job.cc |
diff --git a/content/browser/service_worker/service_worker_register_job.cc b/content/browser/service_worker/service_worker_register_job.cc |
index 0903cdb8f15ff818a3622e8e5dfdc70d6fae1236..d0cbdcdefc88371b3c98e15dd80d9c0467f6f61d 100644 |
--- a/content/browser/service_worker/service_worker_register_job.cc |
+++ b/content/browser/service_worker/service_worker_register_job.cc |
@@ -409,8 +409,11 @@ void ServiceWorkerRegisterJob::CompleteInternal( |
context_->storage()->NotifyDoneInstallingRegistration( |
registration(), new_version(), status); |
} |
- if (new_version()) |
+ if (new_version()) { |
new_version()->embedded_worker()->RemoveListener(this); |
+ if (status != SERVICE_WORKER_OK) |
+ new_version()->Doom(); |
+ } |
} |
void ServiceWorkerRegisterJob::ResolvePromise( |