| 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 f09127ee81457e61b4101b0c53a124e7d3b2fda7..7b9b510dbd05ac4401239f82a50366c9d9dcc156 100644
|
| --- a/content/browser/service_worker/service_worker_storage.cc
|
| +++ b/content/browser/service_worker/service_worker_storage.cc
|
| @@ -417,7 +417,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 = false; // initially stored in the waiting state
|
|
|
| ResourceList resources;
|
| @@ -460,6 +460,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,
|
| @@ -922,6 +940,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();
|
|
|