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 ad707efe56c9d39c00a3911b55984035ebf70f0f..21f8d39bfc44c05a710b2c17cd1d100e04b833e9 100644 |
--- a/content/browser/devtools/render_frame_devtools_agent_host.cc |
+++ b/content/browser/devtools/render_frame_devtools_agent_host.cc |
@@ -395,6 +395,8 @@ |
RenderFrameHostImpl* host) |
: DevToolsAgentHostImpl(base::GenerateGUID()), |
input_handler_(new devtools::input::InputHandler()), |
+ service_worker_handler_( |
+ new devtools::service_worker::ServiceWorkerHandler()), |
target_handler_(new devtools::target::TargetHandler()), |
frame_trace_recorder_(nullptr), |
protocol_handler_(new DevToolsProtocolHandler(this)), |
@@ -404,6 +406,7 @@ |
frame_tree_node_(host->frame_tree_node()) { |
DevToolsProtocolDispatcher* dispatcher = protocol_handler_->dispatcher(); |
dispatcher->SetInputHandler(input_handler_.get()); |
+ dispatcher->SetServiceWorkerHandler(service_worker_handler_.get()); |
dispatcher->SetTargetHandler(target_handler_.get()); |
SetPending(host); |
@@ -505,10 +508,6 @@ |
security_handler_->Wire(session()->dispatcher()); |
security_handler_->SetRenderFrameHost(handlers_frame_host_); |
} |
- |
- service_worker_handler_.reset(new protocol::ServiceWorkerHandler()); |
- service_worker_handler_->Wire(session()->dispatcher()); |
- service_worker_handler_->SetRenderFrameHost(handlers_frame_host_); |
storage_handler_.reset(new protocol::StorageHandler()); |
storage_handler_->Wire(session()->dispatcher()); |
@@ -550,8 +549,6 @@ |
security_handler_->Disable(); |
security_handler_.reset(); |
} |
- service_worker_handler_->Disable(); |
- service_worker_handler_.reset(); |
storage_handler_->Disable(); |
storage_handler_.reset(); |
tracing_handler_->Disable(); |
@@ -618,6 +615,7 @@ |
#if defined(OS_ANDROID) |
power_save_blocker_.reset(); |
#endif |
+ service_worker_handler_->Detached(); |
target_handler_->Detached(); |
frame_trace_recorder_.reset(); |
in_navigation_protocol_message_buffer_.clear(); |
@@ -966,8 +964,7 @@ |
network_handler_->SetRenderFrameHost(host); |
if (page_handler_) |
page_handler_->SetRenderFrameHost(host); |
- if (service_worker_handler_) |
- service_worker_handler_->SetRenderFrameHost(host); |
+ service_worker_handler_->SetRenderFrameHost(host); |
if (security_handler_) |
security_handler_->SetRenderFrameHost(host); |
if (storage_handler_) |