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 |