diff options
author | yurys@chromium.org <yurys@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-10-10 12:25:50 +0000 |
---|---|---|
committer | yurys@chromium.org <yurys@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-10-10 12:25:50 +0000 |
commit | 4f25b00e365061f94018ff5a3a86069066eb2381 (patch) | |
tree | f5a4d488f9d8e347193af6850240587cdb0f9291 /content | |
parent | c26bdaef7b70bcc44e4f5c99cabe4efd0bf7f8a6 (diff) | |
download | chromium_src-4f25b00e365061f94018ff5a3a86069066eb2381.zip chromium_src-4f25b00e365061f94018ff5a3a86069066eb2381.tar.gz chromium_src-4f25b00e365061f94018ff5a3a86069066eb2381.tar.bz2 |
DevTools: allow attaching/detaching DevToolsAgentHosts
Now DevToolsManager only allows attaching/detaching RenderViewHosts. This
API should be extended to allow same functionality for arbitrary DevToolsAgentHost.
BUG=None
TEST=None
Review URL: http://codereview.chromium.org/8222003
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@104713 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'content')
-rw-r--r-- | content/browser/debugger/devtools_manager.cc | 12 | ||||
-rw-r--r-- | content/browser/debugger/devtools_manager.h | 3 |
2 files changed, 14 insertions, 1 deletions
diff --git a/content/browser/debugger/devtools_manager.cc b/content/browser/debugger/devtools_manager.cc index 26a119a..00c6844 100644 --- a/content/browser/debugger/devtools_manager.cc +++ b/content/browser/debugger/devtools_manager.cc @@ -174,6 +174,10 @@ void DevToolsManager::TabReplaced(TabContents* old_tab, int DevToolsManager::DetachClientHost(RenderViewHost* from_rvh) { DevToolsAgentHost* agent_host = RenderViewDevToolsAgentHost::FindFor( from_rvh); + return DetachClientHost(agent_host); +} + +int DevToolsManager::DetachClientHost(DevToolsAgentHost* agent_host) { DevToolsClientHost* client_host = GetDevToolsClientHostFor(agent_host); if (!client_host) return -1; @@ -189,13 +193,19 @@ int DevToolsManager::DetachClientHost(RenderViewHost* from_rvh) { void DevToolsManager::AttachClientHost(int client_host_cookie, RenderViewHost* to_rvh) { + DevToolsAgentHost* agent_host = RenderViewDevToolsAgentHost::FindFor( + to_rvh); + AttachClientHost(client_host_cookie, agent_host); +} + +void DevToolsManager::AttachClientHost(int client_host_cookie, + DevToolsAgentHost* agent_host) { OrphanClientHosts::iterator it = orphan_client_hosts_.find( client_host_cookie); if (it == orphan_client_hosts_.end()) return; DevToolsClientHost* client_host = (*it).second.first; - DevToolsAgentHost* agent_host = RenderViewDevToolsAgentHost::FindFor(to_rvh); const std::string& state = (*it).second.second; BindClientHost(agent_host, client_host); agent_host->Reattach(state); diff --git a/content/browser/debugger/devtools_manager.h b/content/browser/debugger/devtools_manager.h index 623e0c9..137964d 100644 --- a/content/browser/debugger/devtools_manager.h +++ b/content/browser/debugger/devtools_manager.h @@ -79,10 +79,13 @@ class CONTENT_EXPORT DevToolsManager // Closes all open developer tools windows. void CloseAllClientHosts(); + void AttachClientHost(int client_host_cookie, + DevToolsAgentHost* to_agent); DevToolsClientHost* GetDevToolsClientHostFor(DevToolsAgentHost* agent_host); void RegisterDevToolsClientHostFor(DevToolsAgentHost* agent_host, DevToolsClientHost* client_host); void UnregisterDevToolsClientHostFor(DevToolsAgentHost* agent_host); + int DetachClientHost(DevToolsAgentHost* from_agent); private: // DevToolsClientHost::CloseListener override. |