Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(2286)

Unified Diff: content/renderer/service_worker/service_worker_context_client.h

Issue 2746783002: [ServiceWorker] Mojofy InstallEvent of Service Worker (Closed)
Patch Set: Rebase and address shimazu's comment #33 Created 3 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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_;

Powered by Google App Engine
This is Rietveld 408576698