| Index: content/renderer/service_worker/embedded_worker_dispatcher.cc
|
| diff --git a/content/renderer/service_worker/embedded_worker_dispatcher.cc b/content/renderer/service_worker/embedded_worker_dispatcher.cc
|
| index 2a9251aec82518e319eac0c856911049f5d12653..e68ad202d2f76ce5e016616d9b44bcddf6a7a5a6 100644
|
| --- a/content/renderer/service_worker/embedded_worker_dispatcher.cc
|
| +++ b/content/renderer/service_worker/embedded_worker_dispatcher.cc
|
| @@ -77,7 +77,11 @@ void EmbeddedWorkerDispatcher::OnStartWorker(
|
| void EmbeddedWorkerDispatcher::OnStopWorker(int embedded_worker_id) {
|
| TRACE_EVENT0("ServiceWorker", "EmbeddedWorkerDispatcher::OnStopWorker");
|
| WorkerWrapper* wrapper = workers_.Lookup(embedded_worker_id);
|
| - DCHECK(wrapper);
|
| + // OnStopWorker is possible to be called twice.
|
| + if (!wrapper) {
|
| + LOG(WARNING) << "Got OnStopWorker for nonexistent worker";
|
| + return;
|
| + }
|
| // This should eventually call WorkerContextDestroyed. (We may need to post
|
| // a delayed task to forcibly abort the worker context if we find it
|
| // necessary)
|
|
|