OLD | NEW |
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #include "content/browser/devtools/worker_devtools_manager.h" | 5 #include "content/browser/devtools/worker_devtools_manager.h" |
6 | 6 |
7 #include <list> | 7 #include <list> |
8 #include <map> | 8 #include <map> |
9 | 9 |
10 #include "base/bind.h" | 10 #include "base/bind.h" |
(...skipping 210 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
221 return new WorkerDevToolsAgentHost(id); | 221 return new WorkerDevToolsAgentHost(id); |
222 return it->second; | 222 return it->second; |
223 } | 223 } |
224 | 224 |
225 WorkerDevToolsManager::WorkerDevToolsManager() { | 225 WorkerDevToolsManager::WorkerDevToolsManager() { |
226 } | 226 } |
227 | 227 |
228 WorkerDevToolsManager::~WorkerDevToolsManager() { | 228 WorkerDevToolsManager::~WorkerDevToolsManager() { |
229 } | 229 } |
230 | 230 |
231 void WorkerDevToolsManager::WorkerCreated( | 231 bool WorkerDevToolsManager::WorkerCreated( |
232 WorkerProcessHost* worker, | 232 WorkerProcessHost* worker, |
233 const WorkerProcessHost::WorkerInstance& instance) { | 233 const WorkerProcessHost::WorkerInstance& instance) { |
234 for (TerminatedInspectedWorkers::iterator it = terminated_workers_.begin(); | 234 for (TerminatedInspectedWorkers::iterator it = terminated_workers_.begin(); |
235 it != terminated_workers_.end(); ++it) { | 235 it != terminated_workers_.end(); ++it) { |
236 if (instance.Matches(it->worker_url, it->worker_name, | 236 if (instance.Matches(it->worker_url, it->worker_name, |
237 instance.partition(), | 237 instance.partition(), |
238 instance.resource_context())) { | 238 instance.resource_context())) { |
239 worker->Send(new DevToolsAgentMsg_PauseWorkerContextOnStart( | |
240 instance.worker_route_id())); | |
241 WorkerId new_worker_id(worker->GetData().id, instance.worker_route_id()); | 239 WorkerId new_worker_id(worker->GetData().id, instance.worker_route_id()); |
242 paused_workers_[new_worker_id] = it->old_worker_id; | 240 paused_workers_[new_worker_id] = it->old_worker_id; |
243 terminated_workers_.erase(it); | 241 terminated_workers_.erase(it); |
244 return; | 242 return true; |
245 } | 243 } |
246 } | 244 } |
| 245 return false; |
247 } | 246 } |
248 | 247 |
249 void WorkerDevToolsManager::WorkerDestroyed( | 248 void WorkerDevToolsManager::WorkerDestroyed( |
250 WorkerProcessHost* worker, | 249 WorkerProcessHost* worker, |
251 int worker_route_id) { | 250 int worker_route_id) { |
252 InspectedWorkersList::iterator it = FindInspectedWorker( | 251 InspectedWorkersList::iterator it = FindInspectedWorker( |
253 worker->GetData().id, | 252 worker->GetData().id, |
254 worker_route_id); | 253 worker_route_id); |
255 if (it == inspected_workers_.end()) | 254 if (it == inspected_workers_.end()) |
256 return; | 255 return; |
(...skipping 181 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
438 process->Send(new DevToolsAgentMsg_ResumeWorkerContext(id.second)); | 437 process->Send(new DevToolsAgentMsg_ResumeWorkerContext(id.second)); |
439 } | 438 } |
440 | 439 |
441 WorkerDevToolsManager::WorkerDevToolsAgentHost::~WorkerDevToolsAgentHost() { | 440 WorkerDevToolsManager::WorkerDevToolsAgentHost::~WorkerDevToolsAgentHost() { |
442 DetachedClientHosts::RemovePendingWorkerData(worker_id_); | 441 DetachedClientHosts::RemovePendingWorkerData(worker_id_); |
443 g_agent_map.Get().erase(worker_id_); | 442 g_agent_map.Get().erase(worker_id_); |
444 g_orphan_map.Get().erase(worker_id_); | 443 g_orphan_map.Get().erase(worker_id_); |
445 } | 444 } |
446 | 445 |
447 } // namespace content | 446 } // namespace content |
OLD | NEW |