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