Chromium Code Reviews| Index: content/browser/devtools/embedded_worker_devtools_agent_host.cc |
| diff --git a/content/browser/devtools/embedded_worker_devtools_agent_host.cc b/content/browser/devtools/embedded_worker_devtools_agent_host.cc |
| index dede4d93d8a23b0a77bb0b50b37fc5f04c04bebd..ca3f43463cf8b053912d7f7992c2d6521cc8d5c0 100644 |
| --- a/content/browser/devtools/embedded_worker_devtools_agent_host.cc |
| +++ b/content/browser/devtools/embedded_worker_devtools_agent_host.cc |
| @@ -6,7 +6,6 @@ |
| #include "base/strings/utf_string_conversions.h" |
| #include "content/browser/devtools/devtools_protocol.h" |
| -#include "content/browser/devtools/devtools_protocol_constants.h" |
| #include "content/browser/service_worker/service_worker_context_core.h" |
| #include "content/browser/service_worker/service_worker_version.h" |
| #include "content/browser/shared_worker/shared_worker_service_impl.h" |
| @@ -44,6 +43,7 @@ EmbeddedWorkerDevToolsAgentHost::EmbeddedWorkerDevToolsAgentHost( |
| : shared_worker_(new SharedWorkerInstance(shared_worker)), |
| state_(WORKER_UNINSPECTED), |
| worker_id_(worker_id) { |
| + InitWorkerDomainClient(); |
| WorkerCreated(); |
| } |
| @@ -56,9 +56,16 @@ EmbeddedWorkerDevToolsAgentHost::EmbeddedWorkerDevToolsAgentHost( |
| worker_id_(worker_id) { |
| if (debug_service_worker_on_start) |
| state_ = WORKER_PAUSED_FOR_DEBUG_ON_START; |
| + InitWorkerDomainClient(); |
| WorkerCreated(); |
| } |
| +void EmbeddedWorkerDevToolsAgentHost::InitWorkerDomainClient() { |
| + worker_domain_client_.reset(new devtools::worker::Client( |
| + base::Bind(&EmbeddedWorkerDevToolsAgentHost::SendMessageToClient, |
| + base::Unretained(this)))); |
| +} |
| + |
| bool EmbeddedWorkerDevToolsAgentHost::IsWorker() const { |
| return true; |
| } |
| @@ -171,10 +178,8 @@ void EmbeddedWorkerDevToolsAgentHost::WorkerDestroyed() { |
| if (state_ == WORKER_INSPECTED) { |
| DCHECK(IsAttached()); |
| // Client host is debugging this worker agent host. |
| - std::string notification = |
| - DevToolsProtocol::CreateNotification( |
| - devtools::Worker::disconnectedFromWorker::kName, NULL)->Serialize(); |
| - SendMessageToClient(notification); |
| + worker_domain_client_->DisconnectedFromWorker( |
|
dgozman
2014/11/20 14:38:07
Let's create worker domain client right here to lo
vkuzkokov
2014/11/20 15:05:07
Done.
|
| + devtools::worker::DisconnectedFromWorkerParams::Create()); |
| DetachFromWorker(); |
| } |
| state_ = WORKER_TERMINATED; |