Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1131)

Unified Diff: content/browser/debugger/devtools_manager_impl.cc

Issue 8549022: Define DevTools content API (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: jam's comments addressed Created 9 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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
« no previous file with comments | « content/browser/debugger/devtools_manager_impl.h ('k') | content/browser/debugger/devtools_manager_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698