Chromium Code Reviews| Index: content/browser/devtools/devtools_session.h |
| diff --git a/content/browser/devtools/devtools_session.h b/content/browser/devtools/devtools_session.h |
| index c02fc56b2a4e7f2404c579fed9ed04e2a0004a55..db7cd6b5875912f377c89128d472c318ee2f28f9 100644 |
| --- a/content/browser/devtools/devtools_session.h |
| +++ b/content/browser/devtools/devtools_session.h |
| @@ -2,25 +2,53 @@ |
| // Use of this source code is governed by a BSD-style license that can be |
| // found in the LICENSE file. |
| +#include "content/browser/devtools/protocol/devtools_domain_handler.h" |
| #include "content/browser/devtools/protocol/protocol.h" |
| namespace content { |
| class DevToolsAgentHostImpl; |
| +class DevToolsAgentHostClient; |
| +class RenderFrameHostImpl; |
| + |
| +namespace protocol { |
| +class InputHandler; |
| +class InspectorHandler; |
| +class NetworkHandler; |
| +class PageHandler; |
| +class TargetHandler; |
| +class TracingHandler; |
| +} |
| class DevToolsSession : public protocol::FrontendChannel { |
| public: |
| - DevToolsSession(DevToolsAgentHostImpl* agent_host, int session_id); |
| + DevToolsSession(DevToolsAgentHostImpl* agent_host, |
| + DevToolsAgentHostClient* client, |
| + int session_id); |
| ~DevToolsSession() override; |
| - void ResetDispatcher(); |
| + int session_id() { return session_id_; } |
| + void AddHandler(std::unique_ptr<protocol::DevToolsDomainHandler> handler); |
| + void SetRenderFrameHost(RenderFrameHostImpl* host); |
| + void SetFallThroughForNotFound(bool value); |
| + |
| protocol::Response::Status Dispatch( |
| const std::string& message, |
| + bool offer_to_delegate, |
| int* call_id, |
| std::string* method); |
| - int session_id() { return session_id_; } |
| - protocol::UberDispatcher* dispatcher() { return dispatcher_.get(); } |
| + protocol::InputHandler* GetInputHandler(); |
| + protocol::InspectorHandler* GetInspectorHandler(); |
| + protocol::NetworkHandler* GetNetworkHandler(); |
| + protocol::PageHandler* GetPageHandler(); |
| + protocol::TargetHandler* GetTargetHandler(); |
| + protocol::TracingHandler* GetTracingHandler(); |
| + |
| + // Only used by DevToolsAgentHostImpl. |
| + DevToolsAgentHostClient* client() const { return client_; } |
| + void Attach(); |
| + void Detach(); |
| private: |
| // protocol::FrontendChannel implementation. |
| @@ -31,8 +59,15 @@ class DevToolsSession : public protocol::FrontendChannel { |
| std::unique_ptr<protocol::Serializable> message) override; |
| void flushProtocolNotifications() override; |
| + protocol::DevToolsDomainHandler* GetHandlerByName(const std::string& name); |
| + |
| DevToolsAgentHostImpl* agent_host_; |
| + DevToolsAgentHostClient* client_; |
| int session_id_; |
| + std::unordered_map<std::string, |
| + std::unique_ptr<protocol::DevToolsDomainHandler>> handlers_; |
| + RenderFrameHostImpl* host_; |
| + bool attached_; |
|
caseq
2016/12/20 23:13:20
Let's try to get rid of that, as well as of Attach
dgozman
2016/12/21 00:29:40
Done.
|
| std::unique_ptr<protocol::UberDispatcher> dispatcher_; |
| }; |