| 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 6c25698b94080e101d9c8236cf62f501486c8e4c..38e8c621a098128a3013ce97ce5134329ce16bae 100644
|
| --- a/content/browser/service_worker/service_worker_storage.cc
|
| +++ b/content/browser/service_worker/service_worker_storage.cc
|
| @@ -433,7 +433,7 @@ void ServiceWorkerStorage::StoreRegistration(
|
| data.script = registration->script_url();
|
| data.has_fetch_handler = true;
|
| data.version_id = version->version_id();
|
| - data.last_update_check = base::Time::Now();
|
| + data.last_update_check = registration->last_update_check();
|
| data.is_active = (version == registration->active_version());
|
|
|
| ResourceList resources;
|
| @@ -478,6 +478,24 @@ void ServiceWorkerStorage::UpdateToActiveState(
|
| callback));
|
| }
|
|
|
| +void ServiceWorkerStorage::UpdateLastUpdateCheckTime(
|
| + ServiceWorkerRegistration* registration) {
|
| + DCHECK(registration);
|
| +
|
| + DCHECK(state_ == INITIALIZED || state_ == DISABLED) << state_;
|
| + if (IsDisabled() || !context_)
|
| + return;
|
| +
|
| + database_task_runner_->PostTask(
|
| + FROM_HERE,
|
| + base::Bind(
|
| + base::IgnoreResult(&ServiceWorkerDatabase::UpdateLastCheckTime),
|
| + base::Unretained(database_.get()),
|
| + registration->id(),
|
| + registration->script_url().GetOrigin(),
|
| + registration->last_update_check()));
|
| +}
|
| +
|
| void ServiceWorkerStorage::DeleteRegistration(
|
| int64 registration_id,
|
| const GURL& origin,
|
| @@ -954,6 +972,7 @@ ServiceWorkerStorage::GetOrCreateRegistration(
|
|
|
| registration = new ServiceWorkerRegistration(
|
| data.scope, data.script, data.registration_id, context_);
|
| + registration->set_last_update_check(data.last_update_check);
|
| if (pending_deletions_.find(data.registration_id) !=
|
| pending_deletions_.end()) {
|
| registration->set_is_deleted(true);
|
|
|