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; |