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

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

Issue 2251633002: Use tri-state enum for the existence of Fetch Handler in ServiceWorkerVersion. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: remove unused has_fetch_handler_ in service_worker_version.h Created 4 years, 4 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 6c2d57ab5cfc1f8be429d8d3593a495c77b449b3..aa50909372fee55a70d885e324aa36f7c17b85b4 100644
--- a/content/browser/service_worker/service_worker_storage.cc
+++ b/content/browser/service_worker/service_worker_storage.cc
@@ -394,11 +394,15 @@ void ServiceWorkerStorage::StoreRegistration(
return;
}
+ DCHECK_NE(version->fetch_handler_status(),
+ ServiceWorkerVersion::FetchHandlerStatus::UNKNOWN);
+
ServiceWorkerDatabase::RegistrationData data;
data.registration_id = registration->id();
data.scope = registration->pattern();
data.script = version->script_url();
- data.has_fetch_handler = version->has_fetch_handler();
+ data.has_fetch_handler = version->fetch_handler_status() ==
+ ServiceWorkerVersion::FetchHandlerStatus::EXISTS;
data.version_id = version->version_id();
data.last_update_check = registration->last_update_check();
data.is_active = (version == registration->active_version());
@@ -1243,12 +1247,15 @@ ServiceWorkerStorage::GetOrCreateRegistration(
if (!version) {
version = new ServiceWorkerVersion(
registration.get(), data.script, data.version_id, context_);
+ version->set_fetch_handler_status(
+ data.has_fetch_handler
+ ? ServiceWorkerVersion::FetchHandlerStatus::EXISTS
+ : ServiceWorkerVersion::FetchHandlerStatus::DOES_NOT_EXIST);
version->SetStatus(data.is_active ?
ServiceWorkerVersion::ACTIVATED : ServiceWorkerVersion::INSTALLED);
version->script_cache_map()->SetResources(resources);
version->set_foreign_fetch_scopes(data.foreign_fetch_scopes);
version->set_foreign_fetch_origins(data.foreign_fetch_origins);
- version->set_has_fetch_handler(data.has_fetch_handler);
}
if (version->status() == ServiceWorkerVersion::ACTIVATED)

Powered by Google App Engine
This is Rietveld 408576698