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

Unified Diff: content/browser/service_worker/service_worker_provider_host.cc

Issue 477593007: ServiceWorker: Make '.ready' return a promise to be resolved with ServiceWorkerRegistration (2/3) (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 6 years, 3 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/browser/service_worker/service_worker_provider_host.cc
diff --git a/content/browser/service_worker/service_worker_provider_host.cc b/content/browser/service_worker/service_worker_provider_host.cc
index bd0c5ea3197e310de114dc2618f42abc0db0618d..b0d91d157d5ba56694e785daf909e4f66ba27db9 100644
--- a/content/browser/service_worker/service_worker_provider_host.cc
+++ b/content/browser/service_worker/service_worker_provider_host.cc
@@ -145,6 +145,15 @@ void ServiceWorkerProviderHost::AssociateRegistration(
ServiceWorkerRegistration* registration) {
DCHECK(CanAssociateRegistration(registration));
associated_registration_ = registration;
+
+ if (dispatcher_host_) {
+ ServiceWorkerRegistrationObjectInfo info =
+ dispatcher_host_->GetOrCreateRegistrationHandle(
+ provider_id(), registration);
+ dispatcher_host_->Send(new ServiceWorkerMsg_AssociateRegistration(
+ kDocumentMainThreadId, provider_id(), info));
+ }
+
registration->AddListener(this);
UpdatePotentialControllees(registration->installing_version(),
registration->waiting_version(),
@@ -155,6 +164,12 @@ void ServiceWorkerProviderHost::AssociateRegistration(
void ServiceWorkerProviderHost::UnassociateRegistration() {
if (!associated_registration_.get())
return;
+
+ if (dispatcher_host_) {
+ dispatcher_host_->Send(new ServiceWorkerMsg_UnassociateRegistration(
+ kDocumentMainThreadId, provider_id()));
+ }
+
associated_registration_->RemoveListener(this);
associated_registration_ = NULL;
UpdatePotentialControllees(NULL, NULL, NULL);

Powered by Google App Engine
This is Rietveld 408576698