| 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 d30e5e59f753155882742d5b7f42e5d86e11db59..e58f67784f9182e29b5e591dcbd894d3ab2a0cf7 100644
|
| --- a/content/browser/service_worker/service_worker_storage.cc
|
| +++ b/content/browser/service_worker/service_worker_storage.cc
|
| @@ -6,6 +6,7 @@
|
|
|
| #include "base/bind_helpers.h"
|
| #include "base/files/file_util.h"
|
| +#include "base/guid.h"
|
| #include "base/message_loop/message_loop.h"
|
| #include "base/sequenced_task_runner.h"
|
| #include "base/single_thread_task_runner.h"
|
| @@ -207,7 +208,6 @@ void ResponseComparer::OnReadDataComplete(int result) {
|
|
|
| ServiceWorkerStorage::InitialData::InitialData()
|
| : next_registration_id(kInvalidServiceWorkerRegistrationId),
|
| - next_version_id(kInvalidServiceWorkerVersionId),
|
| next_resource_id(kInvalidServiceWorkerResourceId),
|
| disk_cache_migration_needed(false),
|
| old_disk_cache_deletion_needed(false) {
|
| @@ -531,7 +531,7 @@ void ServiceWorkerStorage::StoreRegistration(
|
| data.scope = registration->pattern();
|
| data.script = version->script_url();
|
| data.has_fetch_handler = true;
|
| - data.version_id = version->version_id();
|
| + data.version_uuid = version->version_uuid();
|
| data.last_update_check = registration->last_update_check();
|
| data.is_active = (version == registration->active_version());
|
|
|
| @@ -838,11 +838,11 @@ int64 ServiceWorkerStorage::NewRegistrationId() {
|
| return next_registration_id_++;
|
| }
|
|
|
| -int64 ServiceWorkerStorage::NewVersionId() {
|
| +std::string ServiceWorkerStorage::NewVersionId() {
|
| if (state_ == DISABLED)
|
| - return kInvalidServiceWorkerVersionId;
|
| + return std::string();
|
| DCHECK_EQ(INITIALIZED, state_);
|
| - return next_version_id_++;
|
| + return base::GenerateGUID();
|
| }
|
|
|
| int64 ServiceWorkerStorage::NewResourceId() {
|
| @@ -917,7 +917,6 @@ ServiceWorkerStorage::ServiceWorkerStorage(
|
| storage::QuotaManagerProxy* quota_manager_proxy,
|
| storage::SpecialStoragePolicy* special_storage_policy)
|
| : next_registration_id_(kInvalidServiceWorkerRegistrationId),
|
| - next_version_id_(kInvalidServiceWorkerVersionId),
|
| next_resource_id_(kInvalidServiceWorkerResourceId),
|
| state_(UNINITIALIZED),
|
| path_(path),
|
| @@ -991,7 +990,6 @@ void ServiceWorkerStorage::DidReadInitialData(
|
|
|
| if (status == ServiceWorkerDatabase::STATUS_OK) {
|
| next_registration_id_ = data->next_registration_id;
|
| - next_version_id_ = data->next_version_id;
|
| next_resource_id_ = data->next_resource_id;
|
| registered_origins_.swap(data->origins);
|
| disk_cache_migration_needed_ = data->disk_cache_migration_needed;
|
| @@ -1183,7 +1181,7 @@ void ServiceWorkerStorage::DidGetRegistrationsInfos(
|
| info.stored_version_size_bytes =
|
| registration_data.resources_total_size_bytes;
|
| if (ServiceWorkerVersion* version =
|
| - context_->GetLiveVersion(registration_data.version_id)) {
|
| + context_->GetLiveVersion(registration_data.version_uuid)) {
|
| if (registration_data.is_active)
|
| info.active_version = version->GetInfo();
|
| else
|
| @@ -1195,12 +1193,12 @@ void ServiceWorkerStorage::DidGetRegistrationsInfos(
|
| if (registration_data.is_active) {
|
| info.active_version.status = ServiceWorkerVersion::ACTIVATED;
|
| info.active_version.script_url = registration_data.script;
|
| - info.active_version.version_id = registration_data.version_id;
|
| + info.active_version.version_uuid = registration_data.version_uuid;
|
| info.active_version.registration_id = registration_data.registration_id;
|
| } else {
|
| info.waiting_version.status = ServiceWorkerVersion::INSTALLED;
|
| info.waiting_version.script_url = registration_data.script;
|
| - info.waiting_version.version_id = registration_data.version_id;
|
| + info.waiting_version.version_uuid = registration_data.version_uuid;
|
| info.waiting_version.registration_id = registration_data.registration_id;
|
| }
|
| infos.push_back(info);
|
| @@ -1248,7 +1246,7 @@ void ServiceWorkerStorage::DidStoreRegistration(
|
|
|
| callback.Run(SERVICE_WORKER_OK);
|
|
|
| - if (!context_ || !context_->GetLiveVersion(deleted_version.version_id))
|
| + if (!context_ || !context_->GetLiveVersion(deleted_version.version_uuid))
|
| StartPurgingResources(newly_purgeable_resources);
|
| }
|
|
|
| @@ -1286,7 +1284,7 @@ void ServiceWorkerStorage::DidDeleteRegistration(
|
| registered_origins_.erase(params.origin);
|
| params.callback.Run(SERVICE_WORKER_OK);
|
|
|
| - if (!context_ || !context_->GetLiveVersion(deleted_version.version_id))
|
| + if (!context_ || !context_->GetLiveVersion(deleted_version.version_uuid))
|
| StartPurgingResources(newly_purgeable_resources);
|
| }
|
|
|
| @@ -1349,10 +1347,10 @@ ServiceWorkerStorage::GetOrCreateRegistration(
|
| registration->set_is_deleted(true);
|
| }
|
| scoped_refptr<ServiceWorkerVersion> version =
|
| - context_->GetLiveVersion(data.version_id);
|
| + context_->GetLiveVersion(data.version_uuid);
|
| if (!version.get()) {
|
| - version = new ServiceWorkerVersion(
|
| - registration.get(), data.script, data.version_id, context_);
|
| + version = new ServiceWorkerVersion(registration.get(), data.script,
|
| + data.version_uuid, context_);
|
| version->SetStatus(data.is_active ?
|
| ServiceWorkerVersion::ACTIVATED : ServiceWorkerVersion::INSTALLED);
|
| version->script_cache_map()->SetResources(resources);
|
| @@ -1651,7 +1649,6 @@ void ServiceWorkerStorage::ReadInitialDataFromDB(
|
|
|
| ServiceWorkerDatabase::Status status =
|
| database->GetNextAvailableIds(&data->next_registration_id,
|
| - &data->next_version_id,
|
| &data->next_resource_id);
|
| if (status != ServiceWorkerDatabase::STATUS_OK) {
|
| original_task_runner->PostTask(
|
|
|