| 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 5948dcf29240136025ce32bccbc1f7708bde7b18..6eba2e8ab82a714235f7a0b97f6822f8e3f089cd 100644
|
| --- a/content/browser/service_worker/service_worker_register_job.cc
|
| +++ b/content/browser/service_worker/service_worker_register_job.cc
|
| @@ -412,6 +412,8 @@ void ServiceWorkerRegisterJob::AssociateWaitingVersionToDocuments(
|
| !it->IsAtEnd();
|
| it->Advance()) {
|
| ServiceWorkerProviderHost* host = it->GetProviderHost();
|
| + if (!host->IsContextAlive())
|
| + continue;
|
| if (ServiceWorkerUtils::ScopeMatches(version->scope(),
|
| host->document_url())) {
|
| // The spec's _Update algorithm says, "upgrades active version to a new
|
| @@ -440,6 +442,8 @@ void ServiceWorkerRegisterJob::DisassociateWaitingVersionFromDocuments(
|
| !it->IsAtEnd();
|
| it->Advance()) {
|
| ServiceWorkerProviderHost* host = it->GetProviderHost();
|
| + if (!host->IsContextAlive())
|
| + continue;
|
| if (host->waiting_version() &&
|
| host->waiting_version()->version_id() == version_id) {
|
| host->SetWaitingVersion(NULL);
|
|
|