Index: content/renderer/service_worker/service_worker_context_client.h |
diff --git a/content/renderer/service_worker/service_worker_context_client.h b/content/renderer/service_worker/service_worker_context_client.h |
index 3ec1e599d71f8ac33818a1de5344908916283887..87db8c3a04919d81bf509c7957010435b9546a52 100644 |
--- a/content/renderer/service_worker/service_worker_context_client.h |
+++ b/content/renderer/service_worker/service_worker_context_client.h |
@@ -208,10 +208,15 @@ class ServiceWorkerContextClient : public blink::WebServiceWorkerContextClient, |
void Claim(std::unique_ptr<blink::WebServiceWorkerClientsClaimCallbacks> |
callbacks) override; |
void RegisterForeignFetchScopes( |
+ const int event_id, |
const blink::WebVector<blink::WebURL>& sub_scopes, |
const blink::WebVector<blink::WebSecurityOrigin>& origins) override; |
private: |
+ // The key is the unique id of every install event. |
+ using InstallEventMethodsMap = |
+ std::map<int, mojom::ServiceWorkerInstallEventMethodsAssociatedPtr>; |
+ |
struct WorkerContextData; |
class NavigationPreloadRequest; |
@@ -226,6 +231,9 @@ class ServiceWorkerContextClient : public blink::WebServiceWorkerContextClient, |
const ServiceWorkerVersionAttributes& attrs); |
// mojom::ServiceWorkerEventDispatcher |
+ void DispatchInstallEvent( |
+ mojom::ServiceWorkerInstallEventMethodsAssociatedPtrInfo client, |
+ const DispatchInstallEventCallback& callback) override; |
void DispatchActivateEvent( |
const DispatchActivateEventCallback& callback) override; |
void DispatchBackgroundFetchAbortEvent( |
@@ -273,7 +281,6 @@ class ServiceWorkerContextClient : public blink::WebServiceWorkerContextClient, |
const DispatchPaymentRequestEventCallback& callback) override; |
void Ping(const PingCallback& callback) override; |
- void OnInstallEvent(int request_id); |
void OnNotificationClickEvent( |
int request_id, |
const std::string& notification_id, |
@@ -338,6 +345,10 @@ class ServiceWorkerContextClient : public blink::WebServiceWorkerContextClient, |
scoped_refptr<mojom::ThreadSafeEmbeddedWorkerInstanceHostAssociatedPtr> |
instance_host_; |
+ // Maps every install event id with its corresponding |
+ // mojom::ServiceWorkerInstallEventMethodsAssociatedPt. |
+ InstallEventMethodsMap install_methods_map_; |
+ |
// Renderer-side object corresponding to WebEmbeddedWorkerInstance. |
// This is valid from the ctor to workerContextDestroyed. |
std::unique_ptr<EmbeddedWorkerInstanceClientImpl> embedded_worker_client_; |