| Index: content/browser/service_worker/service_worker_storage.cc
|
| diff --git a/content/browser/service_worker/service_worker_storage.cc b/content/browser/service_worker/service_worker_storage.cc
|
| index 62d198bd5aa6e6678b0a66b786222d9d77415c29..b731c69440723a49336802db6c1af69a6d471381 100644
|
| --- a/content/browser/service_worker/service_worker_storage.cc
|
| +++ b/content/browser/service_worker/service_worker_storage.cc
|
| @@ -579,12 +579,20 @@ void ServiceWorkerStorage::DidGetAllRegistrations(
|
| info.pattern = it->scope;
|
| info.script_url = it->script;
|
| info.registration_id = it->registration_id;
|
| - info.active_version.is_null = false;
|
| - if (it->is_active)
|
| - info.active_version.status = ServiceWorkerVersion::ACTIVE;
|
| - else
|
| - info.active_version.status = ServiceWorkerVersion::INSTALLED;
|
| - info.active_version.version_id = it->version_id;
|
| + if (ServiceWorkerVersion* version =
|
| + context_->GetLiveVersion(it->version_id)) {
|
| + if (it->is_active)
|
| + info.active_version = version->GetInfo();
|
| + else
|
| + info.pending_version = version->GetInfo();
|
| + } else {
|
| + info.active_version.is_null = false;
|
| + if (it->is_active)
|
| + info.active_version.status = ServiceWorkerVersion::ACTIVE;
|
| + else
|
| + info.active_version.status = ServiceWorkerVersion::INSTALLED;
|
| + info.active_version.version_id = it->version_id;
|
| + }
|
| infos.push_back(info);
|
| }
|
|
|
|
|