summaryrefslogtreecommitdiffstats
path: root/content
diff options
context:
space:
mode:
authoryurys@chromium.org <yurys@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-10-10 12:25:50 +0000
committeryurys@chromium.org <yurys@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-10-10 12:25:50 +0000
commit4f25b00e365061f94018ff5a3a86069066eb2381 (patch)
treef5a4d488f9d8e347193af6850240587cdb0f9291 /content
parentc26bdaef7b70bcc44e4f5c99cabe4efd0bf7f8a6 (diff)
downloadchromium_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.cc12
-rw-r--r--content/browser/debugger/devtools_manager.h3
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.