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 f73acbb0fe982c08b97a0d0af9eec142837e6f94..585e1287169b879a90d6d36125decee48523f8f6 100644 |
--- a/content/renderer/service_worker/service_worker_context_client.h |
+++ b/content/renderer/service_worker/service_worker_context_client.h |
@@ -213,10 +213,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; |
@@ -231,6 +236,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( |
@@ -280,7 +288,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, |
@@ -345,6 +352,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_; |
shimazu
2017/04/24 05:00:13
Do you have any concerns to put this in WorkerCont
xiaofengzhang
2017/04/25 06:01:29
Done.
|
+ |
// Renderer-side object corresponding to WebEmbeddedWorkerInstance. |
// This is valid from the ctor to workerContextDestroyed. |
std::unique_ptr<EmbeddedWorkerInstanceClientImpl> embedded_worker_client_; |