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 ed114ff6d0e2c7ef2c77fd070912d42d2907965c..06719f5e84de6f88f109a63e2f13c9a7f1c4fd4d 100644 |
--- a/content/renderer/service_worker/embedded_worker_context_client.cc |
+++ b/content/renderer/service_worker/embedded_worker_context_client.cc |
@@ -21,6 +21,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" |
@@ -368,6 +369,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, |