diff --git a/content/browser/service_worker/service_worker_context_core.cc b/content/browser/service_worker/service_worker_context_core.cc index e4625e4d6bd75..c88c5785a6dea 100644 --- a/content/browser/service_worker/service_worker_context_core.cc +++ b/content/browser/service_worker/service_worker_context_core.cc @@ -1265,6 +1265,7 @@ void ServiceWorkerContextCore::OnRunningStateChanged( observer_list_->Notify(FROM_HERE, &ServiceWorkerContextCoreObserver::OnStopped, version->version_id()); + wrapper_->Shutdown(); // It appears `start_worker_token` can sometimes be null here, which is // unexpected. That can theoretically happen due to a race between a // timeout and a late IPC stop/stopping message. The first call clears the