Chromium Code Reviews| Index: content/public/browser/devtools_client_host.h |
| diff --git a/content/browser/debugger/devtools_client_host.h b/content/public/browser/devtools_client_host.h |
| similarity index 53% |
| rename from content/browser/debugger/devtools_client_host.h |
| rename to content/public/browser/devtools_client_host.h |
| index 0ae8c1b9094b0cf2ca2673f15468b7a7aeba8f43..b88fbba5c4b84e05b4ad2521ad7dded46ddd794d 100644 |
| --- a/content/browser/debugger/devtools_client_host.h |
| +++ b/content/public/browser/devtools_client_host.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_CLIENT_HOST_H_ |
| -#define CONTENT_BROWSER_DEBUGGER_DEVTOOLS_CLIENT_HOST_H_ |
| +#ifndef CONTENT_PUBLIC_BROWSER_DEVTOOLS_CLIENT_HOST_H_ |
| +#define CONTENT_PUBLIC_BROWSER_DEVTOOLS_CLIENT_HOST_H_ |
| #pragma once |
| #include <string> |
| @@ -15,24 +15,24 @@ namespace IPC { |
| class Message; |
| } |
| +class RenderViewHost; |
| class TabContents; |
| +namespace content { |
| + |
| +class DevToolsFrontendHostDelegate; |
| + |
| // Describes interface for managing devtools clients from browser process. There |
| // are currently two types of clients: devtools windows and TCP socket |
| // debuggers. |
| class CONTENT_EXPORT DevToolsClientHost { |
| public: |
| - class CONTENT_EXPORT CloseListener { |
| - public: |
| - CloseListener() {} |
| - virtual ~CloseListener() {} |
| - virtual void ClientHostClosing(DevToolsClientHost* host) = 0; |
| - private: |
| - DISALLOW_COPY_AND_ASSIGN(CloseListener); |
| - }; |
| - |
| + DevToolsClientHost(); |
|
jam
2011/12/01 03:51:47
nit: we avoid constructors on interfaces
yurys
2011/12/01 15:20:06
Done.
|
| virtual ~DevToolsClientHost(); |
|
jam
2011/12/01 03:51:47
nit: convention for the content API is to inline t
yurys
2011/12/01 15:20:06
Done.
|
| + // Dispatches given message on the front-end. |
| + virtual void DispatchOnInspectorFrontend(const std::string& message) = 0; |
| + |
| // This method is called when tab inspected by this devtools client is |
| // closing. |
| virtual void InspectedTabClosing() = 0; |
| @@ -41,29 +41,20 @@ class CONTENT_EXPORT DevToolsClientHost { |
| // navigating to |url|. |
| virtual void FrameNavigating(const std::string& url) = 0; |
| - // Sends the message to the devtools client hosted by this object. |
| - virtual void SendMessageToClient(const IPC::Message& msg) = 0; |
| - |
| - void set_close_listener(CloseListener* listener) { |
| - close_listener_ = listener; |
| - } |
| - |
| // Invoked when a tab is replaced by another tab. This is triggered by |
| // TabStripModel::ReplaceTabContentsAt. |
| virtual void TabReplaced(TabContents* new_tab) = 0; |
| - protected: |
| - DevToolsClientHost(); |
| - |
| - void ForwardToDevToolsAgent(const IPC::Message& message); |
| + // Creates DevToolsClientHost for TabContents containing default DevTools |
| + // frontend implementation. |
| + static DevToolsClientHost* CreateDevToolsFrontendHost( |
| + TabContents* client_tab_contents, |
| + DevToolsFrontendHostDelegate* delegate); |
| - // Should be called when the devtools client is going to die and this |
| - // DevToolsClientHost should not be used anymore. |
| - void NotifyCloseListener(); |
| - |
| - private: |
| - CloseListener* close_listener_; |
| - DISALLOW_COPY_AND_ASSIGN(DevToolsClientHost); |
| + // Sets up DevToolsClient on the corresponding RenderView. |
| + static void SetupDevToolsFrontendClient(RenderViewHost* frontend_rvh); |
| }; |
| -#endif // CONTENT_BROWSER_DEBUGGER_DEVTOOLS_CLIENT_HOST_H_ |
| +} // namespace content |
| + |
| +#endif // CONTENT_PUBLIC_BROWSER_DEVTOOLS_CLIENT_HOST_H_ |