| OLD | NEW | 
|---|
| 1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 The Chromium Authors. All rights reserved. | 
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be | 
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. | 
| 4 | 4 | 
| 5 #include "content/browser/service_worker/service_worker_database.h" | 5 #include "content/browser/service_worker/service_worker_database.h" | 
| 6 | 6 | 
| 7 #include <utility> | 7 #include <utility> | 
| 8 | 8 | 
| 9 #include "base/files/file_util.h" | 9 #include "base/files/file_util.h" | 
| 10 #include "base/lazy_instance.h" | 10 #include "base/lazy_instance.h" | 
| (...skipping 259 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 270     case ServiceWorkerDatabase::STATUS_ERROR_MAX: | 270     case ServiceWorkerDatabase::STATUS_ERROR_MAX: | 
| 271       NOTREACHED(); | 271       NOTREACHED(); | 
| 272       return "Database unknown error"; | 272       return "Database unknown error"; | 
| 273   } | 273   } | 
| 274   NOTREACHED(); | 274   NOTREACHED(); | 
| 275   return "Database unknown error"; | 275   return "Database unknown error"; | 
| 276 } | 276 } | 
| 277 | 277 | 
| 278 ServiceWorkerDatabase::RegistrationData::RegistrationData() | 278 ServiceWorkerDatabase::RegistrationData::RegistrationData() | 
| 279     : registration_id(kInvalidServiceWorkerRegistrationId), | 279     : registration_id(kInvalidServiceWorkerRegistrationId), | 
|  | 280       update_via_cache(blink::WebServiceWorkerUpdateViaCache::kImports), | 
| 280       version_id(kInvalidServiceWorkerVersionId), | 281       version_id(kInvalidServiceWorkerVersionId), | 
| 281       is_active(false), | 282       is_active(false), | 
| 282       has_fetch_handler(false), | 283       has_fetch_handler(false), | 
| 283       resources_total_size_bytes(0) { | 284       resources_total_size_bytes(0) {} | 
| 284 } |  | 
| 285 | 285 | 
| 286 ServiceWorkerDatabase::RegistrationData::RegistrationData( | 286 ServiceWorkerDatabase::RegistrationData::RegistrationData( | 
| 287     const RegistrationData& other) = default; | 287     const RegistrationData& other) = default; | 
| 288 | 288 | 
| 289 ServiceWorkerDatabase::RegistrationData::~RegistrationData() { | 289 ServiceWorkerDatabase::RegistrationData::~RegistrationData() { | 
| 290 } | 290 } | 
| 291 | 291 | 
| 292 ServiceWorkerDatabase::ServiceWorkerDatabase(const base::FilePath& path) | 292 ServiceWorkerDatabase::ServiceWorkerDatabase(const base::FilePath& path) | 
| 293     : path_(path), | 293     : path_(path), | 
| 294       next_avail_registration_id_(0), | 294       next_avail_registration_id_(0), | 
| (...skipping 1101 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 1396     const ServiceWorkerNavigationPreloadState& state = | 1396     const ServiceWorkerNavigationPreloadState& state = | 
| 1397         data.navigation_preload_state(); | 1397         data.navigation_preload_state(); | 
| 1398     out->navigation_preload_state.enabled = state.enabled(); | 1398     out->navigation_preload_state.enabled = state.enabled(); | 
| 1399     if (state.has_header()) | 1399     if (state.has_header()) | 
| 1400       out->navigation_preload_state.header = state.header(); | 1400       out->navigation_preload_state.header = state.header(); | 
| 1401   } | 1401   } | 
| 1402 | 1402 | 
| 1403   for (uint32_t feature : data.used_features()) | 1403   for (uint32_t feature : data.used_features()) | 
| 1404     out->used_features.insert(feature); | 1404     out->used_features.insert(feature); | 
| 1405 | 1405 | 
|  | 1406   if (data.has_update_via_cache()) | 
|  | 1407     out->update_via_cache = static_cast<blink::WebServiceWorkerUpdateViaCache>( | 
|  | 1408         data.update_via_cache()); | 
|  | 1409 | 
| 1406   return ServiceWorkerDatabase::STATUS_OK; | 1410   return ServiceWorkerDatabase::STATUS_OK; | 
| 1407 } | 1411 } | 
| 1408 | 1412 | 
| 1409 void ServiceWorkerDatabase::WriteRegistrationDataInBatch( | 1413 void ServiceWorkerDatabase::WriteRegistrationDataInBatch( | 
| 1410     const RegistrationData& registration, | 1414     const RegistrationData& registration, | 
| 1411     leveldb::WriteBatch* batch) { | 1415     leveldb::WriteBatch* batch) { | 
| 1412   DCHECK(batch); | 1416   DCHECK(batch); | 
| 1413 | 1417 | 
| 1414   // The registration id and version id should be bumped before this. | 1418   // The registration id and version id should be bumped before this. | 
| 1415   DCHECK_GT(next_avail_registration_id_, registration.registration_id); | 1419   DCHECK_GT(next_avail_registration_id_, registration.registration_id); | 
| (...skipping 29 matching lines...) Expand all  Loading... | 
| 1445     } | 1449     } | 
| 1446   } | 1450   } | 
| 1447   ServiceWorkerNavigationPreloadState* state = | 1451   ServiceWorkerNavigationPreloadState* state = | 
| 1448       data.mutable_navigation_preload_state(); | 1452       data.mutable_navigation_preload_state(); | 
| 1449   state->set_enabled(registration.navigation_preload_state.enabled); | 1453   state->set_enabled(registration.navigation_preload_state.enabled); | 
| 1450   state->set_header(registration.navigation_preload_state.header); | 1454   state->set_header(registration.navigation_preload_state.header); | 
| 1451 | 1455 | 
| 1452   for (uint32_t feature : registration.used_features) | 1456   for (uint32_t feature : registration.used_features) | 
| 1453     data.add_used_features(feature); | 1457     data.add_used_features(feature); | 
| 1454 | 1458 | 
|  | 1459   data.set_update_via_cache( | 
|  | 1460       static_cast<uint32_t>(registration.update_via_cache)); | 
|  | 1461 | 
| 1455   std::string value; | 1462   std::string value; | 
| 1456   bool success = data.SerializeToString(&value); | 1463   bool success = data.SerializeToString(&value); | 
| 1457   DCHECK(success); | 1464   DCHECK(success); | 
| 1458   GURL origin = registration.scope.GetOrigin(); | 1465   GURL origin = registration.scope.GetOrigin(); | 
| 1459   batch->Put(CreateRegistrationKey(data.registration_id(), origin), value); | 1466   batch->Put(CreateRegistrationKey(data.registration_id(), origin), value); | 
| 1460 } | 1467 } | 
| 1461 | 1468 | 
| 1462 ServiceWorkerDatabase::Status ServiceWorkerDatabase::ReadResourceRecords( | 1469 ServiceWorkerDatabase::Status ServiceWorkerDatabase::ReadResourceRecords( | 
| 1463     const RegistrationData& registration, | 1470     const RegistrationData& registration, | 
| 1464     std::vector<ResourceRecord>* resources) { | 1471     std::vector<ResourceRecord>* resources) { | 
| (...skipping 364 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 1829   if (status != STATUS_OK) | 1836   if (status != STATUS_OK) | 
| 1830     Disable(from_here, status); | 1837     Disable(from_here, status); | 
| 1831   ServiceWorkerMetrics::CountWriteDatabaseResult(status); | 1838   ServiceWorkerMetrics::CountWriteDatabaseResult(status); | 
| 1832 } | 1839 } | 
| 1833 | 1840 | 
| 1834 bool ServiceWorkerDatabase::IsDatabaseInMemory() const { | 1841 bool ServiceWorkerDatabase::IsDatabaseInMemory() const { | 
| 1835   return path_.empty(); | 1842   return path_.empty(); | 
| 1836 } | 1843 } | 
| 1837 | 1844 | 
| 1838 }  // namespace content | 1845 }  // namespace content | 
| OLD | NEW | 
|---|