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

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

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
« no previous file with comments | « content/browser/debugger/devtools_manager.cc ('k') | content/browser/debugger/devtools_manager_impl.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: content/browser/debugger/devtools_manager_impl.h
diff --git a/content/browser/debugger/devtools_manager.h b/content/browser/debugger/devtools_manager_impl.h
similarity index 61%
rename from content/browser/debugger/devtools_manager.h
rename to content/browser/debugger/devtools_manager_impl.h
index f589c850fe40f5b1836fe49608e7b8fe0f17a984..62a5a9effcd3ad09cd572fce590fa13808b6ef2b 100644
--- a/content/browser/debugger/devtools_manager.h
+++ b/content/browser/debugger/devtools_manager_impl.h
@@ -2,8 +2,8 @@
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
-#ifndef CONTENT_BROWSER_DEBUGGER_DEVTOOLS_MANAGER_H_
-#define CONTENT_BROWSER_DEBUGGER_DEVTOOLS_MANAGER_H_
+#ifndef CONTENT_BROWSER_DEBUGGER_DEVTOOLS_MANAGER_IMPL_H_
+#define CONTENT_BROWSER_DEBUGGER_DEVTOOLS_MANAGER_IMPL_H_
#pragma once
#include <map>
@@ -12,10 +12,10 @@
#include "base/compiler_specific.h"
#include "base/memory/singleton.h"
#include "content/browser/debugger/devtools_agent_host.h"
-#include "content/browser/debugger/devtools_client_host.h"
#include "content/common/content_export.h"
+#include "content/public/browser/devtools_client_host.h"
+#include "content/public/browser/devtools_manager.h"
-class DevToolsAgentHost;
class GURL;
class RenderViewHost;
class TabContents;
@@ -24,35 +24,31 @@ namespace IPC {
class Message;
}
+namespace content {
+
+class DevToolsAgentHost;
+
// This class is a singleton that manages DevToolsClientHost instances and
// routes messages between developer tools clients and agents.
//
// Methods below that accept inspected RenderViewHost as a parameter are
// just convenience methods that call corresponding methods accepting
// DevToolAgentHost.
-class CONTENT_EXPORT DevToolsManager
- : public DevToolsClientHost::CloseListener,
- public DevToolsAgentHost::CloseListener {
+class CONTENT_EXPORT DevToolsManagerImpl
+ : public DevToolsAgentHost::CloseListener,
+ public DevToolsManager {
public:
- static DevToolsManager* GetInstance();
+ // Returns single instance of this class. The instance is destroyed on the
+ // browser main loop exit so this method MUST NOT be called after that point.
+ static DevToolsManagerImpl* GetInstance();
- DevToolsManager();
- virtual ~DevToolsManager();
+ DevToolsManagerImpl();
+ virtual ~DevToolsManagerImpl();
- // Returns DevToolsClientHost registered for |inspected_rvh| or NULL if
- // there is no alive DevToolsClientHost registered for |inspected_rvh|.
- DevToolsClientHost* GetDevToolsClientHostFor(RenderViewHost* inspected_rvh);
-
- // Registers new DevToolsClientHost for |inspected_rvh|. There must be no
- // other DevToolsClientHosts registered for the RenderViewHost at the moment.
- void RegisterDevToolsClientHostFor(RenderViewHost* inspected_rvh,
- DevToolsClientHost* client_host);
- void UnregisterDevToolsClientHostFor(RenderViewHost* inspected_rvh);
-
- bool ForwardToDevToolsAgent(DevToolsClientHost* from,
- const IPC::Message& message);
- void ForwardToDevToolsClient(DevToolsAgentHost* agent_host,
- const IPC::Message& message);
+ virtual bool DispatchOnInspectorBackend(DevToolsClientHost* from,
+ const std::string& message) OVERRIDE;
+ void DispatchOnInspectorFrontend(DevToolsAgentHost* agent_host,
+ const std::string& message);
void SaveAgentRuntimeState(DevToolsAgentHost* agent_host,
const std::string& state);
@@ -67,36 +63,34 @@ class CONTENT_EXPORT DevToolsManager
// Invoked when a tab is replaced by another tab. This is triggered by
// TabStripModel::ReplaceTabContentsAt.
- void TabReplaced(TabContents* old_tab, TabContents* new_tab);
-
- // Detaches client host and returns cookie that can be used in
- // AttachClientHost.
- int DetachClientHost(RenderViewHost* from_rvh);
-
- // Attaches orphan client host to new render view host.
- void AttachClientHost(int client_host_cookie,
- RenderViewHost* to_rvh);
+ virtual void TabReplaced(TabContents* old_tab, TabContents* new_tab) OVERRIDE;
// 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:
- friend struct DefaultSingletonTraits<DevToolsManager>;
+ virtual void CloseAllClientHosts() OVERRIDE;
+
+ virtual void AttachClientHost(int client_host_cookie,
+ DevToolsAgentHost* to_agent) OVERRIDE;
+ virtual DevToolsClientHost* GetDevToolsClientHostFor(
+ DevToolsAgentHost* agent_host) OVERRIDE;
+ virtual void RegisterDevToolsClientHostFor(
+ DevToolsAgentHost* agent_host,
+ DevToolsClientHost* client_host) OVERRIDE;
+ virtual void UnregisterDevToolsClientHostFor(
+ DevToolsAgentHost* agent_host) OVERRIDE;
+ virtual int DetachClientHost(DevToolsAgentHost* from_agent) OVERRIDE;
- // DevToolsClientHost::CloseListener override.
// This method will remove all references from the manager to the
// DevToolsClientHost and unregister all listeners related to the
// DevToolsClientHost.
virtual void ClientHostClosing(DevToolsClientHost* host) OVERRIDE;
+ // Starts inspecting element at position (x, y) in the specified page.
+ virtual void InspectElement(DevToolsAgentHost* agent_host,
+ int x, int y) OVERRIDE;
+
+ private:
+ friend struct DefaultSingletonTraits<DevToolsManagerImpl>;
+
// DevToolsAgentHost::CloseListener implementation.
virtual void AgentHostClosing(DevToolsAgentHost* host) OVERRIDE;
@@ -108,12 +102,20 @@ class CONTENT_EXPORT DevToolsManager
void UnbindClientHost(DevToolsAgentHost* agent_host,
DevToolsClientHost* client_host);
+ // Detaches client host and returns cookie that can be used in
+ // AttachClientHost.
+ int DetachClientHost(RenderViewHost* from_rvh);
+
+ // Attaches orphan client host to new render view host.
+ void AttachClientHost(int client_host_cookie,
+ RenderViewHost* to_rvh);
+
// These two maps are for tracking dependencies between inspected tabs and
// their DevToolsClientHosts. They are useful for routing devtools messages
// and allow us to have at most one devtools client host per tab.
//
- // DevToolsManager start listening to DevToolsClientHosts when they are put
- // into these maps and removes them when they are closing.
+ // DevToolsManagerImpl starts listening to DevToolsClientHosts when they are
+ // put into these maps and removes them when they are closing.
typedef std::map<DevToolsAgentHost*, DevToolsClientHost*>
AgentToClientHostMap;
AgentToClientHostMap agent_to_client_host_;
@@ -130,7 +132,9 @@ class CONTENT_EXPORT DevToolsManager
OrphanClientHosts orphan_client_hosts_;
int last_orphan_cookie_;
- DISALLOW_COPY_AND_ASSIGN(DevToolsManager);
+ DISALLOW_COPY_AND_ASSIGN(DevToolsManagerImpl);
};
-#endif // CONTENT_BROWSER_DEBUGGER_DEVTOOLS_MANAGER_H_
+} // namespace content
+
+#endif // CONTENT_BROWSER_DEBUGGER_DEVTOOLS_MANAGER_IMPL_H_
« no previous file with comments | « content/browser/debugger/devtools_manager.cc ('k') | content/browser/debugger/devtools_manager_impl.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698