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( |