| Index: content/renderer/service_worker/embedded_worker_instance_client_impl.cc
|
| diff --git a/content/renderer/service_worker/embedded_worker_instance_client_impl.cc b/content/renderer/service_worker/embedded_worker_instance_client_impl.cc
|
| index 4b399b8819280218acbf37621858e962e0783aed..d4f58838c4ada4707206166be215844648edb04b 100644
|
| --- a/content/renderer/service_worker/embedded_worker_instance_client_impl.cc
|
| +++ b/content/renderer/service_worker/embedded_worker_instance_client_impl.cc
|
| @@ -69,7 +69,11 @@ void EmbeddedWorkerInstanceClientImpl::StopWorker(
|
| const StopWorkerCallback& callback) {
|
| DCHECK(ChildThreadImpl::current());
|
| DCHECK(embedded_worker_id_);
|
| - DCHECK(!stop_callback_);
|
| + // StopWorker is possible to be called twice.
|
| + if (stop_callback_) {
|
| + LOG(WARNING) << "Got StopWorker for stopping worker";
|
| + return;
|
| + }
|
| TRACE_EVENT0("ServiceWorker", "EmbeddedWorkerInstanceClientImpl::StopWorker");
|
| stop_callback_ = std::move(callback);
|
| dispatcher_->RecordStopWorkerTimer(embedded_worker_id_.value());
|
|
|