| OLD | NEW |
| 1 // Copyright 2013 The Chromium Authors. All rights reserved. | 1 // Copyright 2013 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_storage.h" | 5 #include "content/browser/service_worker/service_worker_storage.h" |
| 6 | 6 |
| 7 #include <stddef.h> | 7 #include <stddef.h> |
| 8 | 8 |
| 9 #include "base/bind_helpers.h" | 9 #include "base/bind_helpers.h" |
| 10 #include "base/files/file_util.h" | 10 #include "base/files/file_util.h" |
| (...skipping 372 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 383 RunSoon(FROM_HERE, base::Bind(callback, SERVICE_WORKER_ERROR_ABORT)); | 383 RunSoon(FROM_HERE, base::Bind(callback, SERVICE_WORKER_ERROR_ABORT)); |
| 384 return; | 384 return; |
| 385 } | 385 } |
| 386 | 386 |
| 387 DCHECK_NE(version->fetch_handler_existence(), | 387 DCHECK_NE(version->fetch_handler_existence(), |
| 388 ServiceWorkerVersion::FetchHandlerExistence::UNKNOWN); | 388 ServiceWorkerVersion::FetchHandlerExistence::UNKNOWN); |
| 389 | 389 |
| 390 ServiceWorkerDatabase::RegistrationData data; | 390 ServiceWorkerDatabase::RegistrationData data; |
| 391 data.registration_id = registration->id(); | 391 data.registration_id = registration->id(); |
| 392 data.scope = registration->pattern(); | 392 data.scope = registration->pattern(); |
| 393 data.update_via_cache = registration->update_via_cache(); |
| 393 data.script = version->script_url(); | 394 data.script = version->script_url(); |
| 394 data.has_fetch_handler = version->fetch_handler_existence() == | 395 data.has_fetch_handler = version->fetch_handler_existence() == |
| 395 ServiceWorkerVersion::FetchHandlerExistence::EXISTS; | 396 ServiceWorkerVersion::FetchHandlerExistence::EXISTS; |
| 396 data.version_id = version->version_id(); | 397 data.version_id = version->version_id(); |
| 397 data.last_update_check = registration->last_update_check(); | 398 data.last_update_check = registration->last_update_check(); |
| 398 data.is_active = (version == registration->active_version()); | 399 data.is_active = (version == registration->active_version()); |
| 399 data.foreign_fetch_scopes = version->foreign_fetch_scopes(); | 400 data.foreign_fetch_scopes = version->foreign_fetch_scopes(); |
| 400 data.foreign_fetch_origins = version->foreign_fetch_origins(); | 401 data.foreign_fetch_origins = version->foreign_fetch_origins(); |
| 401 if (version->origin_trial_tokens()) | 402 if (version->origin_trial_tokens()) |
| 402 data.origin_trial_tokens = *version->origin_trial_tokens(); | 403 data.origin_trial_tokens = *version->origin_trial_tokens(); |
| (...skipping 737 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1140 | 1141 |
| 1141 ServiceWorkerRegistration* registration = | 1142 ServiceWorkerRegistration* registration = |
| 1142 context_->GetLiveRegistration(registration_data.registration_id); | 1143 context_->GetLiveRegistration(registration_data.registration_id); |
| 1143 if (registration) { | 1144 if (registration) { |
| 1144 infos.push_back(registration->GetInfo()); | 1145 infos.push_back(registration->GetInfo()); |
| 1145 continue; | 1146 continue; |
| 1146 } | 1147 } |
| 1147 | 1148 |
| 1148 ServiceWorkerRegistrationInfo info; | 1149 ServiceWorkerRegistrationInfo info; |
| 1149 info.pattern = registration_data.scope; | 1150 info.pattern = registration_data.scope; |
| 1151 info.update_via_cache = registration_data.update_via_cache; |
| 1150 info.registration_id = registration_data.registration_id; | 1152 info.registration_id = registration_data.registration_id; |
| 1151 info.stored_version_size_bytes = | 1153 info.stored_version_size_bytes = |
| 1152 registration_data.resources_total_size_bytes; | 1154 registration_data.resources_total_size_bytes; |
| 1153 if (ServiceWorkerVersion* version = | 1155 if (ServiceWorkerVersion* version = |
| 1154 context_->GetLiveVersion(registration_data.version_id)) { | 1156 context_->GetLiveVersion(registration_data.version_id)) { |
| 1155 if (registration_data.is_active) | 1157 if (registration_data.is_active) |
| 1156 info.active_version = version->GetInfo(); | 1158 info.active_version = version->GetInfo(); |
| 1157 else | 1159 else |
| 1158 info.waiting_version = version->GetInfo(); | 1160 info.waiting_version = version->GetInfo(); |
| 1159 infos.push_back(info); | 1161 infos.push_back(info); |
| (...skipping 170 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1330 scoped_refptr<ServiceWorkerRegistration> | 1332 scoped_refptr<ServiceWorkerRegistration> |
| 1331 ServiceWorkerStorage::GetOrCreateRegistration( | 1333 ServiceWorkerStorage::GetOrCreateRegistration( |
| 1332 const ServiceWorkerDatabase::RegistrationData& data, | 1334 const ServiceWorkerDatabase::RegistrationData& data, |
| 1333 const ResourceList& resources) { | 1335 const ResourceList& resources) { |
| 1334 scoped_refptr<ServiceWorkerRegistration> registration = | 1336 scoped_refptr<ServiceWorkerRegistration> registration = |
| 1335 context_->GetLiveRegistration(data.registration_id); | 1337 context_->GetLiveRegistration(data.registration_id); |
| 1336 if (registration) | 1338 if (registration) |
| 1337 return registration; | 1339 return registration; |
| 1338 | 1340 |
| 1339 registration = new ServiceWorkerRegistration( | 1341 registration = new ServiceWorkerRegistration( |
| 1340 ServiceWorkerRegistrationOptions(data.scope), data.registration_id, | 1342 ServiceWorkerRegistrationOptions(data.scope, data.update_via_cache), |
| 1341 context_); | 1343 data.registration_id, context_); |
| 1342 registration->set_resources_total_size_bytes(data.resources_total_size_bytes); | 1344 registration->set_resources_total_size_bytes(data.resources_total_size_bytes); |
| 1343 registration->set_last_update_check(data.last_update_check); | 1345 registration->set_last_update_check(data.last_update_check); |
| 1344 if (pending_deletions_.find(data.registration_id) != | 1346 if (pending_deletions_.find(data.registration_id) != |
| 1345 pending_deletions_.end()) { | 1347 pending_deletions_.end()) { |
| 1346 registration->set_is_deleted(true); | 1348 registration->set_is_deleted(true); |
| 1347 } | 1349 } |
| 1348 scoped_refptr<ServiceWorkerVersion> version = | 1350 scoped_refptr<ServiceWorkerVersion> version = |
| 1349 context_->GetLiveVersion(data.version_id); | 1351 context_->GetLiveVersion(data.version_id); |
| 1350 if (!version) { | 1352 if (!version) { |
| 1351 version = new ServiceWorkerVersion( | 1353 version = new ServiceWorkerVersion( |
| (...skipping 564 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1916 callback.Run(SERVICE_WORKER_ERROR_FAILED); | 1918 callback.Run(SERVICE_WORKER_ERROR_FAILED); |
| 1917 return; | 1919 return; |
| 1918 } | 1920 } |
| 1919 DVLOG(1) << "Deleted ServiceWorkerDiskCache successfully."; | 1921 DVLOG(1) << "Deleted ServiceWorkerDiskCache successfully."; |
| 1920 ServiceWorkerMetrics::RecordDeleteAndStartOverResult( | 1922 ServiceWorkerMetrics::RecordDeleteAndStartOverResult( |
| 1921 ServiceWorkerMetrics::DELETE_OK); | 1923 ServiceWorkerMetrics::DELETE_OK); |
| 1922 callback.Run(SERVICE_WORKER_OK); | 1924 callback.Run(SERVICE_WORKER_OK); |
| 1923 } | 1925 } |
| 1924 | 1926 |
| 1925 } // namespace content | 1927 } // namespace content |
| OLD | NEW |