Index: content/browser/service_worker/embedded_worker_registry.cc |
diff --git a/content/browser/service_worker/embedded_worker_registry.cc b/content/browser/service_worker/embedded_worker_registry.cc |
index 00289b0a5d7c674abb993d41850d29c29dabf4f4..17f69b2a4877fc500b0a3b654eadd18e0c86be37 100644 |
--- a/content/browser/service_worker/embedded_worker_registry.cc |
+++ b/content/browser/service_worker/embedded_worker_registry.cc |
@@ -44,14 +44,13 @@ |
void EmbeddedWorkerRegistry::OnWorkerStarted( |
int process_id, int thread_id, int embedded_worker_id) { |
- DCHECK(!ContainsKey(worker_process_map_, process_id) || |
- worker_process_map_[process_id].count(embedded_worker_id) == 0); |
+ DCHECK(!ContainsKey(worker_process_map_, process_id)); |
WorkerInstanceMap::iterator found = worker_map_.find(embedded_worker_id); |
if (found == worker_map_.end()) { |
LOG(ERROR) << "Worker " << embedded_worker_id << " not registered"; |
return; |
} |
- worker_process_map_[process_id].insert(embedded_worker_id); |
+ worker_process_map_[process_id] = embedded_worker_id; |
DCHECK_EQ(found->second->process_id(), process_id); |
found->second->OnStarted(thread_id); |
} |
@@ -64,7 +63,7 @@ |
return; |
} |
DCHECK_EQ(found->second->process_id(), process_id); |
- worker_process_map_[process_id].erase(embedded_worker_id); |
+ worker_process_map_.erase(process_id); |
found->second->OnStopped(); |
} |
@@ -89,17 +88,11 @@ |
void EmbeddedWorkerRegistry::RemoveChildProcessSender(int process_id) { |
process_sender_map_.erase(process_id); |
- std::map<int, std::set<int> >::iterator found = |
- worker_process_map_.find(process_id); |
+ std::map<int, int>::iterator found = worker_process_map_.find(process_id); |
if (found != worker_process_map_.end()) { |
- const std::set<int>& worker_set = worker_process_map_[process_id]; |
- for (std::set<int>::const_iterator it = worker_set.begin(); |
- it != worker_set.end(); |
- ++it) { |
- int embedded_worker_id = *it; |
- DCHECK(ContainsKey(worker_map_, embedded_worker_id)); |
- worker_map_[embedded_worker_id]->OnStopped(); |
- } |
+ int embedded_worker_id = found->second; |
+ DCHECK(ContainsKey(worker_map_, embedded_worker_id)); |
+ worker_map_[embedded_worker_id]->OnStopped(); |
worker_process_map_.erase(found); |
} |
} |