Index: content/browser/devtools/worker_devtools_manager.cc |
diff --git a/content/browser/devtools/worker_devtools_manager.cc b/content/browser/devtools/worker_devtools_manager.cc |
index ad21c9ac973c5fb2524de0fc5587a9d7c3c535e2..b23e6de5ff1306eea7b3285dfbb5f23ecd481b63 100644 |
--- a/content/browser/devtools/worker_devtools_manager.cc |
+++ b/content/browser/devtools/worker_devtools_manager.cc |
@@ -48,6 +48,7 @@ void WorkerDevToolsManager::WorkerDestroyed(int worker_process_id, |
AgentHostMap::iterator it = workers_.find(id); |
DCHECK(it != workers_.end()); |
scoped_refptr<WorkerDevToolsAgentHost> agent_host(it->second); |
+ FOR_EACH_OBSERVER(Observer, observer_list_, WorkerDestroyed(it->second)); |
agent_host->WorkerDestroyed(); |
DevToolsManager::GetInstance()->AgentHostChanged(agent_host); |
} |
@@ -61,6 +62,14 @@ void WorkerDevToolsManager::WorkerReadyForInspection(int worker_process_id, |
it->second->WorkerReadyForInspection(); |
} |
+void WorkerDevToolsManager::AddObserver(Observer* observer) { |
+ observer_list_.AddObserver(observer); |
+} |
+ |
+void WorkerDevToolsManager::RemoveObserver(Observer* observer) { |
+ observer_list_.RemoveObserver(observer); |
+} |
+ |
WorkerDevToolsManager::WorkerDevToolsManager() { |
} |
@@ -72,6 +81,15 @@ void WorkerDevToolsManager::RemoveInspectedWorkerData(WorkerId id) { |
workers_.erase(id); |
} |
+void WorkerDevToolsManager::WorkerCreated( |
+ const WorkerId& id, |
+ WorkerDevToolsAgentHost* host) { |
+ workers_[id] = host; |
+ DevToolsManager::GetInstance()->AgentHostChanged(host); |
+ scoped_refptr<WorkerDevToolsAgentHost> protector(host); |
+ FOR_EACH_OBSERVER(Observer, observer_list_, WorkerCreated(host)); |
+} |
+ |
void WorkerDevToolsManager::WorkerRestarted(const WorkerId& id, |
const AgentHostMap::iterator& it) { |
WorkerDevToolsAgentHost* agent_host = it->second; |
@@ -81,4 +99,8 @@ void WorkerDevToolsManager::WorkerRestarted(const WorkerId& id, |
DevToolsManager::GetInstance()->AgentHostChanged(agent_host); |
} |
+void WorkerDevToolsManager::ResetForTesting() { |
+ workers_.clear(); |
+} |
+ |
} // namespace content |