summaryrefslogtreecommitdiffstats
path: root/content/browser/devtools/worker_devtools_manager.cc
diff options
context:
space:
mode:
authorpfeldman <pfeldman@chromium.org>2015-03-05 13:27:51 -0800
committerCommit bot <commit-bot@chromium.org>2015-03-05 21:28:24 +0000
commit6c5f620da30cbc976f25757f9922c137a68a30e8 (patch)
tree99feb42deea441750ced8b62d3a771b02843b911 /content/browser/devtools/worker_devtools_manager.cc
parent0237e7bb40c9ce7b194564c8c7815521b17a30b1 (diff)
downloadchromium_src-6c5f620da30cbc976f25757f9922c137a68a30e8.zip
chromium_src-6c5f620da30cbc976f25757f9922c137a68a30e8.tar.gz
chromium_src-6c5f620da30cbc976f25757f9922c137a68a30e8.tar.bz2
DevTools: land service worker handler (patch 1).
BUG=463892 Review URL: https://codereview.chromium.org/976353002 Cr-Commit-Position: refs/heads/master@{#319330}
Diffstat (limited to 'content/browser/devtools/worker_devtools_manager.cc')
-rw-r--r--content/browser/devtools/worker_devtools_manager.cc22
1 files changed, 22 insertions, 0 deletions
diff --git a/content/browser/devtools/worker_devtools_manager.cc b/content/browser/devtools/worker_devtools_manager.cc
index ad21c9a..b23e6de 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