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 d04fc06aaf3ebe89ea362ab2c4be854d9e55d73d..ca4cf275c1b4f9a8a0afe95c14c7e9ed9cddfd87 100644 |
--- a/content/renderer/service_worker/embedded_worker_context_client.cc |
+++ b/content/renderer/service_worker/embedded_worker_context_client.cc |
@@ -20,6 +20,7 @@ |
#include "content/child/service_worker/service_worker_provider_context.h" |
#include "content/child/service_worker/service_worker_registration_handle_reference.h" |
#include "content/child/service_worker/web_service_worker_impl.h" |
+#include "content/child/service_worker/web_service_worker_provider_impl.h" |
#include "content/child/service_worker/web_service_worker_registration_impl.h" |
#include "content/child/thread_safe_sender.h" |
#include "content/child/worker_task_runner.h" |
@@ -362,6 +363,16 @@ EmbeddedWorkerContextClient::createServiceWorkerNetworkProvider( |
return new WebServiceWorkerNetworkProviderImpl(); |
} |
+blink::WebServiceWorkerProvider* |
+EmbeddedWorkerContextClient::createServiceWorkerProvider() { |
+ DCHECK(main_thread_proxy_->RunsTasksOnCurrentThread()); |
+ DCHECK(provider_context_); |
+ |
+ // Blink is responsible for deleting the returned object. |
+ return new WebServiceWorkerProviderImpl( |
+ thread_safe_sender(), provider_context_.get()); |
+} |
+ |
void EmbeddedWorkerContextClient::postMessageToClient( |
int client_id, |
const blink::WebString& message, |