| Index: content/renderer/service_worker/embedded_worker_context_client.cc
|
| diff --git a/content/renderer/service_worker/embedded_worker_context_client.cc b/content/renderer/service_worker/embedded_worker_context_client.cc
|
| index e2c50d84f61d11842599e6e8e9fc97b23440ca6f..aa80c2ac7f3268e53bbf40de18b273779d53460f 100644
|
| --- a/content/renderer/service_worker/embedded_worker_context_client.cc
|
| +++ b/content/renderer/service_worker/embedded_worker_context_client.cc
|
| @@ -17,6 +17,7 @@
|
| #include "base/trace_event/trace_event.h"
|
| #include "content/child/request_extra_data.h"
|
| #include "content/child/service_worker/service_worker_dispatcher.h"
|
| +#include "content/child/service_worker/service_worker_message_sender.h"
|
| #include "content/child/service_worker/service_worker_network_provider.h"
|
| #include "content/child/service_worker/service_worker_provider_context.h"
|
| #include "content/child/service_worker/service_worker_registration_handle_reference.h"
|
| @@ -105,7 +106,8 @@ EmbeddedWorkerContextClient::EmbeddedWorkerContextClient(
|
| service_worker_scope_(service_worker_scope),
|
| script_url_(script_url),
|
| worker_devtools_agent_route_id_(worker_devtools_agent_route_id),
|
| - sender_(ChildThreadImpl::current()->thread_safe_sender()),
|
| + sender_(new ServiceWorkerMessageSender(
|
| + ChildThreadImpl::current()->thread_safe_sender())),
|
| main_thread_task_runner_(RenderThreadImpl::current()->GetTaskRunner()),
|
| weak_factory_(this) {
|
| TRACE_EVENT_ASYNC_BEGIN0("ServiceWorker",
|
| @@ -282,7 +284,7 @@ void EmbeddedWorkerContextClient::sendDevToolsMessage(
|
| const blink::WebString& message,
|
| const blink::WebString& state_cookie) {
|
| DevToolsAgent::SendChunkedProtocolMessage(
|
| - sender_.get(), worker_devtools_agent_route_id_,
|
| + sender_->thread_safe_sender(), worker_devtools_agent_route_id_,
|
| call_id, message.utf8(), state_cookie.utf8());
|
| }
|
|
|
| @@ -386,7 +388,7 @@ EmbeddedWorkerContextClient::createServiceWorkerProvider() {
|
|
|
| // Blink is responsible for deleting the returned object.
|
| return new WebServiceWorkerProviderImpl(
|
| - thread_safe_sender(), provider_context_.get());
|
| + sender()->thread_safe_sender(), provider_context_.get());
|
| }
|
|
|
| void EmbeddedWorkerContextClient::postMessageToClient(
|
| @@ -457,8 +459,7 @@ void EmbeddedWorkerContextClient::SetRegistrationInServiceWorkerGlobalScope() {
|
| return; // Cannot be associated with a registration in some tests.
|
|
|
| ServiceWorkerDispatcher* dispatcher =
|
| - ServiceWorkerDispatcher::GetOrCreateThreadSpecificInstance(
|
| - thread_safe_sender());
|
| + ServiceWorkerDispatcher::GetOrCreateThreadSpecificInstance(sender());
|
|
|
| // Register a registration and its version attributes with the dispatcher
|
| // living on the worker thread.
|
|
|