| 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 "base/bind_helpers.h" | 7 #include "base/bind_helpers.h" |
| 8 #include "base/files/file_util.h" | 8 #include "base/files/file_util.h" |
| 9 #include "base/message_loop/message_loop.h" | 9 #include "base/message_loop/message_loop.h" |
| 10 #include "base/sequenced_task_runner.h" | 10 #include "base/sequenced_task_runner.h" |
| (...skipping 1115 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1126 info.waiting_version = version->GetInfo(); | 1126 info.waiting_version = version->GetInfo(); |
| 1127 infos.push_back(info); | 1127 infos.push_back(info); |
| 1128 continue; | 1128 continue; |
| 1129 } | 1129 } |
| 1130 | 1130 |
| 1131 if (registration_data.is_active) { | 1131 if (registration_data.is_active) { |
| 1132 info.active_version.status = ServiceWorkerVersion::ACTIVATED; | 1132 info.active_version.status = ServiceWorkerVersion::ACTIVATED; |
| 1133 info.active_version.script_url = registration_data.script; | 1133 info.active_version.script_url = registration_data.script; |
| 1134 info.active_version.version_id = registration_data.version_id; | 1134 info.active_version.version_id = registration_data.version_id; |
| 1135 info.active_version.registration_id = registration_data.registration_id; | 1135 info.active_version.registration_id = registration_data.registration_id; |
| 1136 info.active_version.update_time = registration_data.last_update_check; |
| 1136 } else { | 1137 } else { |
| 1137 info.waiting_version.status = ServiceWorkerVersion::INSTALLED; | 1138 info.waiting_version.status = ServiceWorkerVersion::INSTALLED; |
| 1138 info.waiting_version.script_url = registration_data.script; | 1139 info.waiting_version.script_url = registration_data.script; |
| 1139 info.waiting_version.version_id = registration_data.version_id; | 1140 info.waiting_version.version_id = registration_data.version_id; |
| 1140 info.waiting_version.registration_id = registration_data.registration_id; | 1141 info.waiting_version.registration_id = registration_data.registration_id; |
| 1142 info.waiting_version.update_time = registration_data.last_update_check; |
| 1141 } | 1143 } |
| 1142 infos.push_back(info); | 1144 infos.push_back(info); |
| 1143 } | 1145 } |
| 1144 | 1146 |
| 1145 // Add unstored registrations that are being installed. | 1147 // Add unstored registrations that are being installed. |
| 1146 for (RegistrationRefsById::const_iterator it = | 1148 for (RegistrationRefsById::const_iterator it = |
| 1147 installing_registrations_.begin(); | 1149 installing_registrations_.begin(); |
| 1148 it != installing_registrations_.end(); ++it) { | 1150 it != installing_registrations_.end(); ++it) { |
| 1149 if ((!origin_filter.is_valid() || | 1151 if ((!origin_filter.is_valid() || |
| 1150 it->second->pattern().GetOrigin() == origin_filter) && | 1152 it->second->pattern().GetOrigin() == origin_filter) && |
| (...skipping 136 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1287 registration->set_is_deleted(true); | 1289 registration->set_is_deleted(true); |
| 1288 } | 1290 } |
| 1289 scoped_refptr<ServiceWorkerVersion> version = | 1291 scoped_refptr<ServiceWorkerVersion> version = |
| 1290 context_->GetLiveVersion(data.version_id); | 1292 context_->GetLiveVersion(data.version_id); |
| 1291 if (!version.get()) { | 1293 if (!version.get()) { |
| 1292 version = new ServiceWorkerVersion( | 1294 version = new ServiceWorkerVersion( |
| 1293 registration.get(), data.script, data.version_id, context_); | 1295 registration.get(), data.script, data.version_id, context_); |
| 1294 version->SetStatus(data.is_active ? | 1296 version->SetStatus(data.is_active ? |
| 1295 ServiceWorkerVersion::ACTIVATED : ServiceWorkerVersion::INSTALLED); | 1297 ServiceWorkerVersion::ACTIVATED : ServiceWorkerVersion::INSTALLED); |
| 1296 version->script_cache_map()->SetResources(resources); | 1298 version->script_cache_map()->SetResources(resources); |
| 1299 version->set_update_time(data.last_update_check); |
| 1297 } | 1300 } |
| 1298 | 1301 |
| 1299 if (version->status() == ServiceWorkerVersion::ACTIVATED) | 1302 if (version->status() == ServiceWorkerVersion::ACTIVATED) |
| 1300 registration->SetActiveVersion(version.get()); | 1303 registration->SetActiveVersion(version.get()); |
| 1301 else if (version->status() == ServiceWorkerVersion::INSTALLED) | 1304 else if (version->status() == ServiceWorkerVersion::INSTALLED) |
| 1302 registration->SetWaitingVersion(version.get()); | 1305 registration->SetWaitingVersion(version.get()); |
| 1303 else | 1306 else |
| 1304 NOTREACHED(); | 1307 NOTREACHED(); |
| 1305 | 1308 |
| 1306 return registration; | 1309 return registration; |
| (...skipping 484 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1791 callback.Run(SERVICE_WORKER_ERROR_FAILED); | 1794 callback.Run(SERVICE_WORKER_ERROR_FAILED); |
| 1792 return; | 1795 return; |
| 1793 } | 1796 } |
| 1794 DVLOG(1) << "Deleted ServiceWorkerDiskCache successfully."; | 1797 DVLOG(1) << "Deleted ServiceWorkerDiskCache successfully."; |
| 1795 ServiceWorkerMetrics::RecordDeleteAndStartOverResult( | 1798 ServiceWorkerMetrics::RecordDeleteAndStartOverResult( |
| 1796 ServiceWorkerMetrics::DELETE_OK); | 1799 ServiceWorkerMetrics::DELETE_OK); |
| 1797 callback.Run(SERVICE_WORKER_OK); | 1800 callback.Run(SERVICE_WORKER_OK); |
| 1798 } | 1801 } |
| 1799 | 1802 |
| 1800 } // namespace content | 1803 } // namespace content |
| OLD | NEW |