| Index: content/browser/devtools/render_frame_devtools_agent_host.cc
|
| diff --git a/content/browser/devtools/render_frame_devtools_agent_host.cc b/content/browser/devtools/render_frame_devtools_agent_host.cc
|
| index 8975be6473baf109fbe26ae0f6134f63f202d379..a0636149c6454812298b93ef2882fa3acc26b211 100644
|
| --- a/content/browser/devtools/render_frame_devtools_agent_host.cc
|
| +++ b/content/browser/devtools/render_frame_devtools_agent_host.cc
|
| @@ -395,7 +395,6 @@ void RenderFrameDevToolsAgentHost::WebContentsCreated(
|
| RenderFrameDevToolsAgentHost::RenderFrameDevToolsAgentHost(
|
| RenderFrameHostImpl* host)
|
| : DevToolsAgentHostImpl(base::GenerateGUID()),
|
| - dom_handler_(new devtools::dom::DOMHandler()),
|
| input_handler_(new devtools::input::InputHandler()),
|
| inspector_handler_(new devtools::inspector::InspectorHandler()),
|
| network_handler_(new devtools::network::NetworkHandler()),
|
| @@ -414,7 +413,6 @@ RenderFrameDevToolsAgentHost::RenderFrameDevToolsAgentHost(
|
| pending_handle_(nullptr),
|
| frame_tree_node_(host->frame_tree_node()) {
|
| DevToolsProtocolDispatcher* dispatcher = protocol_handler_->dispatcher();
|
| - dispatcher->SetDOMHandler(dom_handler_.get());
|
| dispatcher->SetInputHandler(input_handler_.get());
|
| dispatcher->SetInspectorHandler(inspector_handler_.get());
|
| dispatcher->SetNetworkHandler(network_handler_.get());
|
| @@ -497,6 +495,10 @@ WebContents* RenderFrameDevToolsAgentHost::GetWebContents() {
|
| void RenderFrameDevToolsAgentHost::Attach() {
|
| session()->dispatcher()->setFallThroughForNotFound(true);
|
|
|
| + dom_handler_.reset(new protocol::DOMHandler(GetIOContext()));
|
| + dom_handler_->Wire(session()->dispatcher());
|
| + dom_handler_->SetRenderFrameHost(handlers_frame_host_);
|
| +
|
| io_handler_.reset(new protocol::IOHandler(GetIOContext()));
|
| io_handler_->Wire(session()->dispatcher());
|
|
|
| @@ -514,6 +516,8 @@ void RenderFrameDevToolsAgentHost::Attach() {
|
| }
|
|
|
| void RenderFrameDevToolsAgentHost::Detach() {
|
| + dom_handler_->Disable();
|
| + dom_handler_.reset();
|
| io_handler_->Disable();
|
| io_handler_.reset();
|
| tracing_handler_->Disable();
|
| @@ -913,7 +917,8 @@ void RenderFrameDevToolsAgentHost::
|
| void RenderFrameDevToolsAgentHost::UpdateProtocolHandlers(
|
| RenderFrameHostImpl* host) {
|
| handlers_frame_host_ = host;
|
| - dom_handler_->SetRenderFrameHost(host);
|
| + if (dom_handler_)
|
| + dom_handler_->SetRenderFrameHost(host);
|
| if (emulation_handler_)
|
| emulation_handler_->SetRenderFrameHost(host);
|
| input_handler_->SetRenderWidgetHost(
|
|
|