| 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_)
 | 
| 
 |