| Index: content/browser/devtools/worker_devtools_agent_host.cc
|
| diff --git a/content/browser/devtools/worker_devtools_agent_host.cc b/content/browser/devtools/worker_devtools_agent_host.cc
|
| index fb45e6dd6dbdab11a42b05bea3f179b777ee2c86..3c7ade798805909c4146ccd954f68e9fe52bac12 100644
|
| --- a/content/browser/devtools/worker_devtools_agent_host.cc
|
| +++ b/content/browser/devtools/worker_devtools_agent_host.cc
|
| @@ -8,6 +8,7 @@
|
| #include "base/json/json_reader.h"
|
| #include "content/browser/devtools/devtools_protocol_handler.h"
|
| #include "content/browser/devtools/devtools_session.h"
|
| +#include "content/browser/devtools/protocol/inspector_handler.h"
|
| #include "content/browser/devtools/protocol/schema_handler.h"
|
| #include "content/public/browser/browser_thread.h"
|
| #include "content/public/browser/render_process_host.h"
|
| @@ -24,6 +25,10 @@ void WorkerDevToolsAgentHost::Attach() {
|
| state_ = WORKER_INSPECTED;
|
| AttachToWorker();
|
| }
|
| +
|
| + inspector_handler_.reset(new protocol::InspectorHandler());
|
| + inspector_handler_->Wire(session()->dispatcher());
|
| +
|
| if (RenderProcessHost* host = RenderProcessHost::FromID(worker_id_.first)) {
|
| host->Send(new DevToolsAgentMsg_Attach(
|
| worker_id_.second, GetId(), session()->session_id()));
|
| @@ -34,6 +39,10 @@ void WorkerDevToolsAgentHost::Attach() {
|
| void WorkerDevToolsAgentHost::Detach() {
|
| if (RenderProcessHost* host = RenderProcessHost::FromID(worker_id_.first))
|
| host->Send(new DevToolsAgentMsg_Detach(worker_id_.second));
|
| +
|
| + inspector_handler_->Disable();
|
| + inspector_handler_.reset();
|
| +
|
| OnAttachedStateChanged(false);
|
| if (state_ == WORKER_INSPECTED) {
|
| state_ = WORKER_UNINSPECTED;
|
| @@ -109,10 +118,7 @@ void WorkerDevToolsAgentHost::WorkerDestroyed() {
|
| DCHECK_NE(WORKER_TERMINATED, state_);
|
| if (state_ == WORKER_INSPECTED) {
|
| DCHECK(IsAttached());
|
| - // Client host is debugging this worker agent host.
|
| - devtools::inspector::Client inspector(this);
|
| - inspector.TargetCrashed(
|
| - devtools::inspector::TargetCrashedParams::Create());
|
| + inspector_handler_->TargetCrashed();
|
| DetachFromWorker();
|
| }
|
| state_ = WORKER_TERMINATED;
|
|
|