Chromium Code Reviews| 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_registration.h" | 5 #include "content/browser/service_worker/service_worker_registration.h" |
| 6 | 6 |
| 7 #include "content/browser/service_worker/service_worker_context_core.h" | 7 #include "content/browser/service_worker/service_worker_context_core.h" |
| 8 #include "content/browser/service_worker/service_worker_info.h" | 8 #include "content/browser/service_worker/service_worker_info.h" |
| 9 #include "content/browser/service_worker/service_worker_register_job.h" | 9 #include "content/browser/service_worker/service_worker_register_job.h" |
| 10 #include "content/browser/service_worker/service_worker_utils.h" | 10 #include "content/browser/service_worker/service_worker_utils.h" |
| (...skipping 12 matching lines...) Expand all Loading... | |
| 23 } // namespace | 23 } // namespace |
| 24 | 24 |
| 25 ServiceWorkerRegistration::ServiceWorkerRegistration( | 25 ServiceWorkerRegistration::ServiceWorkerRegistration( |
| 26 const GURL& pattern, | 26 const GURL& pattern, |
| 27 int64 registration_id, | 27 int64 registration_id, |
| 28 base::WeakPtr<ServiceWorkerContextCore> context) | 28 base::WeakPtr<ServiceWorkerContextCore> context) |
| 29 : pattern_(pattern), | 29 : pattern_(pattern), |
| 30 registration_id_(registration_id), | 30 registration_id_(registration_id), |
| 31 is_deleted_(false), | 31 is_deleted_(false), |
| 32 is_uninstalling_(false), | 32 is_uninstalling_(false), |
| 33 is_uninstalled_(false), | |
| 33 should_activate_when_ready_(false), | 34 should_activate_when_ready_(false), |
| 34 context_(context) { | 35 context_(context) { |
| 35 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::IO)); | 36 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::IO)); |
| 36 DCHECK(context_); | 37 DCHECK(context_); |
| 37 context_->AddLiveRegistration(this); | 38 context_->AddLiveRegistration(this); |
| 38 } | 39 } |
| 39 | 40 |
| 40 ServiceWorkerRegistration::~ServiceWorkerRegistration() { | 41 ServiceWorkerRegistration::~ServiceWorkerRegistration() { |
| 41 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::IO)); | 42 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::IO)); |
| 42 DCHECK(!listeners_.might_have_observers()); | 43 DCHECK(!listeners_.might_have_observers()); |
| (...skipping 265 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 308 mask.add(ChangedVersionAttributesMask::ACTIVE_VERSION); | 309 mask.add(ChangedVersionAttributesMask::ACTIVE_VERSION); |
| 309 } | 310 } |
| 310 if (mask.changed()) { | 311 if (mask.changed()) { |
| 311 ServiceWorkerRegistrationInfo info = GetInfo(); | 312 ServiceWorkerRegistrationInfo info = GetInfo(); |
| 312 FOR_EACH_OBSERVER(Listener, listeners_, | 313 FOR_EACH_OBSERVER(Listener, listeners_, |
| 313 OnVersionAttributesChanged(this, mask, info)); | 314 OnVersionAttributesChanged(this, mask, info)); |
| 314 } | 315 } |
| 315 | 316 |
| 316 FOR_EACH_OBSERVER( | 317 FOR_EACH_OBSERVER( |
| 317 Listener, listeners_, OnRegistrationFinishedUninstalling(this)); | 318 Listener, listeners_, OnRegistrationFinishedUninstalling(this)); |
| 319 is_uninstalled_ = true; | |
|
michaeln
2014/09/11 19:31:40
Would it make sense to set this flag immediately a
horo
2014/09/12 01:09:25
That's make sense.
Done.
Thank you.
| |
| 318 } | 320 } |
| 319 | 321 |
| 320 void ServiceWorkerRegistration::OnRestoreFinished( | 322 void ServiceWorkerRegistration::OnRestoreFinished( |
| 321 const StatusCallback& callback, | 323 const StatusCallback& callback, |
| 322 scoped_refptr<ServiceWorkerVersion> version, | 324 scoped_refptr<ServiceWorkerVersion> version, |
| 323 ServiceWorkerStatusCode status) { | 325 ServiceWorkerStatusCode status) { |
| 324 if (!context_) { | 326 if (!context_) { |
| 325 callback.Run(ServiceWorkerStatusCode::SERVICE_WORKER_ERROR_ABORT); | 327 callback.Run(ServiceWorkerStatusCode::SERVICE_WORKER_ERROR_ABORT); |
| 326 return; | 328 return; |
| 327 } | 329 } |
| 328 context_->storage()->NotifyDoneInstallingRegistration( | 330 context_->storage()->NotifyDoneInstallingRegistration( |
| 329 this, version.get(), status); | 331 this, version.get(), status); |
| 330 callback.Run(status); | 332 callback.Run(status); |
| 331 } | 333 } |
| 332 | 334 |
| 333 } // namespace content | 335 } // namespace content |
| OLD | NEW |