Chromium Code Reviews| Index: content/browser/devtools/devtools_agent_host_impl.h |
| diff --git a/content/browser/devtools/devtools_agent_host_impl.h b/content/browser/devtools/devtools_agent_host_impl.h |
| index 8474c0a658f96114b9824d9eb461fb9807b04542..3d27cd7260e40d2c5cd4c6cdbb5554908a87c6cf 100644 |
| --- a/content/browser/devtools/devtools_agent_host_impl.h |
| +++ b/content/browser/devtools/devtools_agent_host_impl.h |
| @@ -9,6 +9,7 @@ |
| #include "base/compiler_specific.h" |
| #include "content/browser/devtools/devtools_io_context.h" |
| +#include "content/browser/devtools/protocol/devtools_protocol_delegate.h" |
| #include "content/common/content_export.h" |
| #include "content/common/devtools_messages.h" |
| #include "content/public/browser/devtools_agent_host.h" |
| @@ -22,7 +23,8 @@ namespace content { |
| class BrowserContext; |
| // Describes interface for managing devtools agents from the browser process. |
| -class CONTENT_EXPORT DevToolsAgentHostImpl : public DevToolsAgentHost { |
| +class CONTENT_EXPORT DevToolsAgentHostImpl : public DevToolsAgentHost, |
| + public DevToolsProtocolDelegate { |
| public: |
| // Informs the hosted agent that a client host has attached. |
| virtual void Attach() = 0; |
| @@ -44,14 +46,21 @@ class CONTENT_EXPORT DevToolsAgentHostImpl : public DevToolsAgentHost { |
| void DisconnectWebContents() override; |
| void ConnectWebContents(WebContents* wc) override; |
| + // DevToolsProtocolDelegate implementation. |
| + void SendProtocolResponse(int session_id, |
| + const std::string& message) override; |
| + void SendProtocolNotification(const std::string& message) override; |
| + |
| protected: |
| DevToolsAgentHostImpl(); |
| ~DevToolsAgentHostImpl() override; |
| void HostClosed(); |
| - void SendMessageToClient(const std::string& message); |
| + void SendMessageToClient(int session_id, const std::string& message); |
| devtools::DevToolsIOContext* GetIOContext() { return &io_context_; } |
| + int session_id() { return session_id_; } |
|
dgozman
2015/11/20 20:25:07
Let's DCHECK(client_) to ensure nobody uses it whe
kozy
2015/11/21 00:49:00
Done.
|
| + |
| static void NotifyCallbacks(DevToolsAgentHostImpl* agent_host, bool attached); |
| private: |
| @@ -59,13 +68,14 @@ class CONTENT_EXPORT DevToolsAgentHostImpl : public DevToolsAgentHost { |
| void InnerDetach(); |
| const std::string id_; |
| + int session_id_; |
| DevToolsAgentHostClient* client_; |
| devtools::DevToolsIOContext io_context_; |
| }; |
| class DevToolsMessageChunkProcessor { |
| public: |
| - using SendMessageCallback = base::Callback<void(const std::string&)>; |
| + using SendMessageCallback = base::Callback<void(int, const std::string&)>; |
| explicit DevToolsMessageChunkProcessor(const SendMessageCallback& callback); |
| ~DevToolsMessageChunkProcessor(); |