Index: content/browser/debugger/devtools_manager_impl.cc |
diff --git a/content/browser/debugger/devtools_manager.cc b/content/browser/debugger/devtools_manager_impl.cc |
similarity index 66% |
rename from content/browser/debugger/devtools_manager.cc |
rename to content/browser/debugger/devtools_manager_impl.cc |
index 3929ce873542d3d2308903208dbe5c83d381886d..554f28769f32ecc60e4e94366da4ae4916ef0af3 100644 |
--- a/content/browser/debugger/devtools_manager.cc |
+++ b/content/browser/debugger/devtools_manager_impl.cc |
@@ -2,7 +2,7 @@ |
// Use of this source code is governed by a BSD-style license that can be |
// found in the LICENSE file. |
-#include "content/browser/debugger/devtools_manager.h" |
+#include "content/browser/debugger/devtools_manager_impl.h" |
#include <vector> |
@@ -10,26 +10,32 @@ |
#include "base/message_loop.h" |
#include "content/browser/browsing_instance.h" |
#include "content/browser/child_process_security_policy.h" |
-#include "content/browser/debugger/devtools_client_host.h" |
#include "content/browser/debugger/devtools_netlog_observer.h" |
#include "content/browser/debugger/render_view_devtools_agent_host.h" |
#include "content/browser/renderer_host/render_view_host.h" |
#include "content/browser/tab_contents/tab_contents.h" |
#include "content/public/browser/browser_thread.h" |
+#include "content/public/browser/devtools_client_host.h" |
+#include "content/public/browser/devtools_agent_host_registry.h" |
#include "googleurl/src/gurl.h" |
-using content::BrowserThread; |
+namespace content { |
// static |
DevToolsManager* DevToolsManager::GetInstance() { |
- return Singleton<DevToolsManager>::get(); |
+ return DevToolsManagerImpl::GetInstance(); |
} |
-DevToolsManager::DevToolsManager() |
+// static |
+DevToolsManagerImpl* DevToolsManagerImpl::GetInstance() { |
+ return Singleton<DevToolsManagerImpl>::get(); |
+} |
+ |
+DevToolsManagerImpl::DevToolsManagerImpl() |
: last_orphan_cookie_(0) { |
} |
-DevToolsManager::~DevToolsManager() { |
+DevToolsManagerImpl::~DevToolsManagerImpl() { |
DCHECK(agent_to_client_host_.empty()); |
DCHECK(client_to_agent_host_.empty()); |
// By the time we destroy devtools manager, all orphan client hosts should |
@@ -37,14 +43,7 @@ DevToolsManager::~DevToolsManager() { |
DCHECK(orphan_client_hosts_.empty()); |
} |
-DevToolsClientHost* DevToolsManager::GetDevToolsClientHostFor( |
- RenderViewHost* inspected_rvh) { |
- DevToolsAgentHost* agent_host = RenderViewDevToolsAgentHost::FindFor( |
- inspected_rvh); |
- return GetDevToolsClientHostFor(agent_host); |
-} |
- |
-DevToolsClientHost* DevToolsManager::GetDevToolsClientHostFor( |
+DevToolsClientHost* DevToolsManagerImpl::GetDevToolsClientHostFor( |
DevToolsAgentHost* agent_host) { |
AgentToClientHostMap::iterator it = agent_to_client_host_.find(agent_host); |
if (it != agent_to_client_host_.end()) |
@@ -52,50 +51,47 @@ DevToolsClientHost* DevToolsManager::GetDevToolsClientHostFor( |
return NULL; |
} |
-void DevToolsManager::RegisterDevToolsClientHostFor( |
- RenderViewHost* inspected_rvh, |
- DevToolsClientHost* client_host) { |
- DCHECK(!GetDevToolsClientHostFor(inspected_rvh)); |
- DevToolsAgentHost* agent_host = RenderViewDevToolsAgentHost::FindFor( |
- inspected_rvh); |
- RegisterDevToolsClientHostFor(agent_host, client_host); |
-} |
- |
-void DevToolsManager::RegisterDevToolsClientHostFor( |
+void DevToolsManagerImpl::RegisterDevToolsClientHostFor( |
DevToolsAgentHost* agent_host, |
DevToolsClientHost* client_host) { |
BindClientHost(agent_host, client_host); |
agent_host->Attach(); |
- client_host->set_close_listener(this); |
} |
-bool DevToolsManager::ForwardToDevToolsAgent(DevToolsClientHost* from, |
- const IPC::Message& message) { |
+bool DevToolsManagerImpl::DispatchOnInspectorBackend( |
+ DevToolsClientHost* from, |
+ const std::string& message) { |
DevToolsAgentHost* agent_host = GetAgentHost(from); |
if (!agent_host) |
return false; |
- agent_host->SendMessageToAgent(new IPC::Message(message)); |
+ agent_host->DipatchOnInspectorBackend(message); |
return true; |
} |
-void DevToolsManager::ForwardToDevToolsClient(DevToolsAgentHost* agent_host, |
- const IPC::Message& message) { |
+void DevToolsManagerImpl::DispatchOnInspectorFrontend( |
+ DevToolsAgentHost* agent_host, |
+ const std::string& message) { |
DevToolsClientHost* client_host = GetDevToolsClientHostFor(agent_host); |
if (!client_host) { |
// Client window was closed while there were messages |
// being sent to it. |
return; |
} |
- client_host->SendMessageToClient(message); |
+ client_host->DispatchOnInspectorFrontend(message); |
} |
-void DevToolsManager::SaveAgentRuntimeState(DevToolsAgentHost* agent_host, |
- const std::string& state) { |
+void DevToolsManagerImpl::SaveAgentRuntimeState(DevToolsAgentHost* agent_host, |
+ const std::string& state) { |
agent_runtime_states_[agent_host] = state; |
} |
-void DevToolsManager::ClientHostClosing(DevToolsClientHost* client_host) { |
+void DevToolsManagerImpl::InspectElement(DevToolsAgentHost* agent_host, |
+ int x, int y) { |
+ agent_host->InspectElement(x, y); |
+} |
+ |
+void DevToolsManagerImpl::ClientHostClosing(DevToolsClientHost* client_host) { |
DevToolsAgentHost* agent_host = GetAgentHost(client_host); |
if (!agent_host) { |
// It might be in the list of orphan client hosts, remove it from there. |
@@ -114,11 +110,11 @@ void DevToolsManager::ClientHostClosing(DevToolsClientHost* client_host) { |
UnbindClientHost(agent_host, client_host); |
} |
-void DevToolsManager::AgentHostClosing(DevToolsAgentHost* agent_host) { |
+void DevToolsManagerImpl::AgentHostClosing(DevToolsAgentHost* agent_host) { |
UnregisterDevToolsClientHostFor(agent_host); |
} |
-DevToolsAgentHost* DevToolsManager::GetAgentHost( |
+DevToolsAgentHost* DevToolsManagerImpl::GetAgentHost( |
DevToolsClientHost* client_host) { |
ClientHostToInspectedRvhMap::iterator it = |
client_to_agent_host_.find(client_host); |
@@ -127,14 +123,7 @@ DevToolsAgentHost* DevToolsManager::GetAgentHost( |
return NULL; |
} |
-void DevToolsManager::UnregisterDevToolsClientHostFor( |
- RenderViewHost* inspected_rvh) { |
- DevToolsAgentHost* agent_host = RenderViewDevToolsAgentHost::FindFor( |
- inspected_rvh); |
- UnregisterDevToolsClientHostFor(agent_host); |
-} |
- |
-void DevToolsManager::UnregisterDevToolsClientHostFor( |
+void DevToolsManagerImpl::UnregisterDevToolsClientHostFor( |
DevToolsAgentHost* agent_host) { |
DevToolsClientHost* client_host = GetDevToolsClientHostFor(agent_host); |
if (!client_host) |
@@ -143,9 +132,9 @@ void DevToolsManager::UnregisterDevToolsClientHostFor( |
client_host->InspectedTabClosing(); |
} |
-void DevToolsManager::OnNavigatingToPendingEntry(RenderViewHost* rvh, |
- RenderViewHost* dest_rvh, |
- const GURL& gurl) { |
+void DevToolsManagerImpl::OnNavigatingToPendingEntry(RenderViewHost* rvh, |
+ RenderViewHost* dest_rvh, |
+ const GURL& gurl) { |
if (rvh == dest_rvh && rvh->render_view_termination_status() == |
base::TERMINATION_STATUS_STILL_RUNNING) |
return; |
@@ -154,13 +143,16 @@ void DevToolsManager::OnNavigatingToPendingEntry(RenderViewHost* rvh, |
// Navigating to URL in the inspected window. |
AttachClientHost(cookie, dest_rvh); |
- DevToolsClientHost* client_host = GetDevToolsClientHostFor(dest_rvh); |
+ DevToolsAgentHost* dest_agent_host = |
+ DevToolsAgentHostRegistry::GetDevToolsAgentHost(dest_rvh); |
+ DevToolsClientHost* client_host = GetDevToolsClientHostFor( |
+ dest_agent_host); |
client_host->FrameNavigating(gurl.spec()); |
} |
} |
-void DevToolsManager::OnCancelPendingNavigation(RenderViewHost* pending, |
- RenderViewHost* current) { |
+void DevToolsManagerImpl::OnCancelPendingNavigation(RenderViewHost* pending, |
+ RenderViewHost* current) { |
int cookie = DetachClientHost(pending); |
if (cookie != -1) { |
// Navigating to URL in the inspected window. |
@@ -168,10 +160,15 @@ void DevToolsManager::OnCancelPendingNavigation(RenderViewHost* pending, |
} |
} |
-void DevToolsManager::TabReplaced(TabContents* old_tab, |
- TabContents* new_tab) { |
+void DevToolsManagerImpl::TabReplaced(TabContents* old_tab, |
+ TabContents* new_tab) { |
RenderViewHost* old_rvh = old_tab->render_view_host(); |
- DevToolsClientHost* client_host = GetDevToolsClientHostFor(old_rvh); |
+ if (!DevToolsAgentHostRegistry::HasDevToolsAgentHost(old_rvh)) |
+ return; |
+ |
+ DevToolsAgentHost* old_agent_host = |
+ DevToolsAgentHostRegistry::GetDevToolsAgentHost(old_rvh); |
+ DevToolsClientHost* client_host = GetDevToolsClientHostFor(old_agent_host); |
if (!client_host) |
return; // Didn't know about old_tab. |
int cookie = DetachClientHost(old_rvh); |
@@ -182,13 +179,13 @@ void DevToolsManager::TabReplaced(TabContents* old_tab, |
AttachClientHost(cookie, new_tab->render_view_host()); |
} |
-int DevToolsManager::DetachClientHost(RenderViewHost* from_rvh) { |
- DevToolsAgentHost* agent_host = RenderViewDevToolsAgentHost::FindFor( |
- from_rvh); |
+int DevToolsManagerImpl::DetachClientHost(RenderViewHost* from_rvh) { |
+ DevToolsAgentHost* agent_host = |
+ DevToolsAgentHostRegistry::GetDevToolsAgentHost(from_rvh); |
return DetachClientHost(agent_host); |
} |
-int DevToolsManager::DetachClientHost(DevToolsAgentHost* agent_host) { |
+int DevToolsManagerImpl::DetachClientHost(DevToolsAgentHost* agent_host) { |
DevToolsClientHost* client_host = GetDevToolsClientHostFor(agent_host); |
if (!client_host) |
return -1; |
@@ -202,15 +199,15 @@ int DevToolsManager::DetachClientHost(DevToolsAgentHost* agent_host) { |
return cookie; |
} |
-void DevToolsManager::AttachClientHost(int client_host_cookie, |
- RenderViewHost* to_rvh) { |
- DevToolsAgentHost* agent_host = RenderViewDevToolsAgentHost::FindFor( |
- to_rvh); |
+void DevToolsManagerImpl::AttachClientHost(int client_host_cookie, |
+ RenderViewHost* to_rvh) { |
+ DevToolsAgentHost* agent_host = |
+ DevToolsAgentHostRegistry::GetDevToolsAgentHost(to_rvh); |
AttachClientHost(client_host_cookie, agent_host); |
} |
-void DevToolsManager::AttachClientHost(int client_host_cookie, |
- DevToolsAgentHost* agent_host) { |
+void DevToolsManagerImpl::AttachClientHost(int client_host_cookie, |
+ DevToolsAgentHost* agent_host) { |
OrphanClientHosts::iterator it = orphan_client_hosts_.find( |
client_host_cookie); |
if (it == orphan_client_hosts_.end()) |
@@ -225,7 +222,7 @@ void DevToolsManager::AttachClientHost(int client_host_cookie, |
orphan_client_hosts_.erase(it); |
} |
-void DevToolsManager::BindClientHost( |
+void DevToolsManagerImpl::BindClientHost( |
DevToolsAgentHost* agent_host, |
DevToolsClientHost* client_host) { |
DCHECK(agent_to_client_host_.find(agent_host) == |
@@ -248,8 +245,8 @@ void DevToolsManager::BindClientHost( |
ChildProcessSecurityPolicy::GetInstance()->GrantReadRawCookies(process_id); |
} |
-void DevToolsManager::UnbindClientHost(DevToolsAgentHost* agent_host, |
- DevToolsClientHost* client_host) { |
+void DevToolsManagerImpl::UnbindClientHost(DevToolsAgentHost* agent_host, |
+ DevToolsClientHost* client_host) { |
DCHECK(agent_host); |
DCHECK(agent_to_client_host_.find(agent_host)->second == |
client_host); |
@@ -282,7 +279,7 @@ void DevToolsManager::UnbindClientHost(DevToolsAgentHost* agent_host, |
ChildProcessSecurityPolicy::GetInstance()->RevokeReadRawCookies(process_id); |
} |
-void DevToolsManager::CloseAllClientHosts() { |
+void DevToolsManagerImpl::CloseAllClientHosts() { |
std::vector<DevToolsAgentHost*> agents; |
for (AgentToClientHostMap::iterator it = |
agent_to_client_host_.begin(); |
@@ -294,3 +291,5 @@ void DevToolsManager::CloseAllClientHosts() { |
UnregisterDevToolsClientHostFor(*it); |
} |
} |
+ |
+} // namespace content |