Index: content/renderer/service_worker/service_worker_context_client.cc |
diff --git a/content/renderer/service_worker/service_worker_context_client.cc b/content/renderer/service_worker/service_worker_context_client.cc |
index 3dc5852db3e5365fa87660bdb176733fd58c959e..85b79ac8fae5a9277babc0c3386a9399f79e8f2d 100644 |
--- a/content/renderer/service_worker/service_worker_context_client.cc |
+++ b/content/renderer/service_worker/service_worker_context_client.cc |
@@ -26,6 +26,7 @@ |
#include "content/child/worker_task_runner.h" |
#include "content/common/devtools_messages.h" |
#include "content/common/message_port_messages.h" |
+#include "content/common/mojo/service_registry_impl.h" |
#include "content/common/service_worker/embedded_worker_messages.h" |
#include "content/common/service_worker/service_worker_messages.h" |
#include "content/public/common/referrer.h" |
@@ -198,6 +199,8 @@ struct ServiceWorkerContextClient::WorkerContextData { |
// Pending callbacks for ClaimClients(). |
ClaimClientsCallbacksMap claim_clients_callbacks; |
+ ServiceRegistryImpl service_registry; |
+ |
base::ThreadChecker thread_checker; |
base::WeakPtrFactory<ServiceWorkerContextClient> weak_factory; |
}; |
@@ -271,6 +274,13 @@ void ServiceWorkerContextClient::OnMessageReceived( |
DCHECK(handled); |
} |
+void ServiceWorkerContextClient::BindServiceRegistry( |
+ mojo::InterfaceRequest<mojo::ServiceProvider> services, |
+ mojo::ServiceProviderPtr exposed_services) { |
+ context_->service_registry.Bind(services.Pass()); |
+ context_->service_registry.BindRemoteServiceProvider(exposed_services.Pass()); |
+} |
+ |
blink::WebURL ServiceWorkerContextClient::scope() const { |
return service_worker_scope_; |
} |