| Index: content/browser/service_worker/service_worker_process_manager.cc
|
| diff --git a/content/browser/service_worker/service_worker_process_manager.cc b/content/browser/service_worker/service_worker_process_manager.cc
|
| index 2300811cf30ea27fe98261337038c0e1fb3c67a1..4b559edce8ae74a30827778fd678fe8939780248 100644
|
| --- a/content/browser/service_worker/service_worker_process_manager.cc
|
| +++ b/content/browser/service_worker/service_worker_process_manager.cc
|
| @@ -234,9 +234,11 @@ void ServiceWorkerProcessManager::ReleaseWorkerProcess(int embedded_worker_id) {
|
|
|
| std::map<int, ProcessInfo>::iterator info =
|
| instance_info_.find(embedded_worker_id);
|
| - // TODO(nhiroki): Make sure the instance info is not mixed up.
|
| - // (http://crbug.com/568915)
|
| - CHECK(info != instance_info_.end());
|
| + // ReleaseWorkerProcess could be called for a nonexistent worker id, for
|
| + // example, when request to start a worker is aborted on the IO thread during
|
| + // process allocation that is failed on the UI thread.
|
| + if (info == instance_info_.end())
|
| + return;
|
|
|
| RenderProcessHost* rph = NULL;
|
| if (info->second.site_instance.get()) {
|
|
|