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

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

Issue 317953004: Set the "waiting" Service Worker of Service Worker providers (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Bring patch to head. Created 6 years, 6 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 8ce0d7c015ee675f576139e9c4bb736855ff92b9..43ab3ae28a24bc962ec0f06aa15a92c099b4cd98 100644
--- a/content/browser/service_worker/service_worker_provider_host.cc
+++ b/content/browser/service_worker/service_worker_provider_host.cc
@@ -55,6 +55,12 @@ void ServiceWorkerProviderHost::SetActiveVersion(
if (!dispatcher_host_)
return; // Could be NULL in some tests.
+ dispatcher_host_->Send(new ServiceWorkerMsg_SetCurrentServiceWorker(
+ kDocumentMainThreadId, provider_id(), CreateHandleAndPass(version)));
+}
+
+ServiceWorkerObjectInfo ServiceWorkerProviderHost::CreateHandleAndPass(
+ ServiceWorkerVersion* version) {
ServiceWorkerObjectInfo info;
if (context_ && version) {
scoped_ptr<ServiceWorkerHandle> handle =
@@ -63,9 +69,7 @@ void ServiceWorkerProviderHost::SetActiveVersion(
info = handle->GetObjectInfo();
dispatcher_host_->RegisterServiceWorkerHandle(handle.Pass());
}
- dispatcher_host_->Send(
- new ServiceWorkerMsg_SetCurrentServiceWorker(
- kDocumentMainThreadId, provider_id(), info));
+ return info;
}
void ServiceWorkerProviderHost::SetWaitingVersion(
@@ -82,7 +86,8 @@ void ServiceWorkerProviderHost::SetWaitingVersion(
if (!dispatcher_host_)
return; // Could be NULL in some tests.
- // TODO(kinuko): dispatch pendingchange event to the document.
+ dispatcher_host_->Send(new ServiceWorkerMsg_SetWaitingServiceWorker(
+ kDocumentMainThreadId, provider_id(), CreateHandleAndPass(version)));
}
bool ServiceWorkerProviderHost::SetHostedVersionId(int64 version_id) {

Powered by Google App Engine
This is Rietveld 408576698