| 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 e96ac8a18de2a27bc16b8c3949030cf3a032bd52..9e8dda67c07748beedd70b9ec9b172402de691e0 100644
|
| --- a/content/renderer/service_worker/service_worker_context_client.cc
|
| +++ b/content/renderer/service_worker/service_worker_context_client.cc
|
| @@ -43,8 +43,6 @@
|
| #include "ipc/ipc_message.h"
|
| #include "ipc/ipc_message_macros.h"
|
| #include "mojo/public/cpp/bindings/interface_request.h"
|
| -#include "services/shell/public/cpp/interface_provider.h"
|
| -#include "services/shell/public/cpp/interface_registry.h"
|
| #include "third_party/WebKit/public/platform/URLConversion.h"
|
| #include "third_party/WebKit/public/platform/WebMessagePortChannel.h"
|
| #include "third_party/WebKit/public/platform/WebReferrerPolicy.h"
|
| @@ -176,13 +174,13 @@ struct ServiceWorkerContextClient::WorkerContextData {
|
| using SkipWaitingCallbacksMap =
|
| IDMap<blink::WebServiceWorkerSkipWaitingCallbacks, IDMapOwnPointer>;
|
| using SyncEventCallbacksMap =
|
| - IDMap<const base::Callback<void(blink::mojom::ServiceWorkerEventStatus)>,
|
| - IDMapOwnPointer>;
|
| + IDMap<const ServiceWorkerContextClient::SyncCallback, IDMapOwnPointer>;
|
|
|
| explicit WorkerContextData(ServiceWorkerContextClient* owner)
|
| - : interface_registry(nullptr),
|
| - weak_factory(owner),
|
| - proxy_weak_factory(owner->proxy_) {}
|
| + : weak_factory(owner),
|
| + proxy_weak_factory(owner->proxy_),
|
| + interface_registry(nullptr),
|
| + blink_service_registry(remote_interfaces.GetWeakPtr()) {}
|
|
|
| ~WorkerContextData() {
|
| DCHECK(thread_checker.CalledOnValidThread());
|
| @@ -203,12 +201,14 @@ struct ServiceWorkerContextClient::WorkerContextData {
|
| // Pending callbacks for Background Sync Events
|
| SyncEventCallbacksMap sync_event_callbacks;
|
|
|
| - shell::InterfaceRegistry interface_registry;
|
| - shell::InterfaceProvider remote_interfaces;
|
| -
|
| base::ThreadChecker thread_checker;
|
| base::WeakPtrFactory<ServiceWorkerContextClient> weak_factory;
|
| base::WeakPtrFactory<blink::WebServiceWorkerContextProxy> proxy_weak_factory;
|
| +
|
| + // Mojo
|
| + shell::InterfaceRegistry interface_registry;
|
| + shell::InterfaceProvider remote_interfaces;
|
| + BlinkServiceRegistryImpl blink_service_registry;
|
| };
|
|
|
| ServiceWorkerContextClient*
|
| @@ -575,9 +575,9 @@ void ServiceWorkerContextClient::didHandleSyncEvent(
|
| if (!callback)
|
| return;
|
| if (result == blink::WebServiceWorkerEventResultCompleted) {
|
| - callback->Run(blink::mojom::ServiceWorkerEventStatus::COMPLETED);
|
| + callback->Run(SERVICE_WORKER_OK);
|
| } else {
|
| - callback->Run(blink::mojom::ServiceWorkerEventStatus::REJECTED);
|
| + callback->Run(SERVICE_WORKER_ERROR_EVENT_WAITUNTIL_REJECTED);
|
| }
|
| context_->sync_event_callbacks.Remove(request_id);
|
| }
|
| @@ -687,6 +687,10 @@ void ServiceWorkerContextClient::registerForeignFetchScopes(
|
| std::vector<url::Origin>(origins.begin(), origins.end())));
|
| }
|
|
|
| +blink::ServiceRegistry* ServiceWorkerContextClient::serviceRegistry() {
|
| + return &context_->blink_service_registry;
|
| +}
|
| +
|
| void ServiceWorkerContextClient::DispatchSyncEvent(
|
| const std::string& tag,
|
| blink::WebServiceWorkerContextProxy::LastChanceOption last_chance,
|
|
|