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

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

Issue 1221643014: Service Worker: Migrate to version_uuid and surface ServiceWorker.id. (Chromium 2/3) (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 5 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_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(

Powered by Google App Engine
This is Rietveld 408576698