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

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: s/status/existence/ 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..cf111aab6dccf6355cd31e6be7997d1e1c7c4ca6 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_existence(),
+ ServiceWorkerVersion::FetchHandlerExistence::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_existence() ==
+ ServiceWorkerVersion::FetchHandlerExistence::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_existence(
+ data.has_fetch_handler
+ ? ServiceWorkerVersion::FetchHandlerExistence::EXISTS
+ : ServiceWorkerVersion::FetchHandlerExistence::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