Chromium Code Reviews| Index: content/browser/service_worker/service_worker_registration.cc |
| diff --git a/content/browser/service_worker/service_worker_registration.cc b/content/browser/service_worker/service_worker_registration.cc |
| index cea1d5570ecab90b2cb0c02feed5cab115e45184..182170d450b90dac4d14bb5eaa6d6f2e7486a319 100644 |
| --- a/content/browser/service_worker/service_worker_registration.cc |
| +++ b/content/browser/service_worker/service_worker_registration.cc |
| @@ -275,19 +275,26 @@ void ServiceWorkerRegistration::OnDeleteFinished( |
| void ServiceWorkerRegistration::Clear() { |
| context_->storage()->NotifyDoneUninstallingRegistration(this); |
| - if (installing_version()) { |
| - installing_version()->Doom(); |
| - UnsetVersion(installing_version()); |
| + ChangedVersionAttributesMask mask; |
| + if (installing_version_) { |
| + installing_version_->Doom(); |
| + installing_version_ = NULL; |
| + mask.add(ChangedVersionAttributesMask::INSTALLING_VERSION); |
| } |
| - |
| - if (waiting_version()) { |
| - waiting_version()->Doom(); |
| - UnsetVersion(waiting_version()); |
| + if (waiting_version_) { |
| + waiting_version_->Doom(); |
| + waiting_version_ = NULL; |
| + mask.add(ChangedVersionAttributesMask::WAITING_VERSION); |
| } |
| - |
| - if (active_version()) { |
| - active_version()->Doom(); |
| - UnsetVersion(active_version()); |
| + if (active_version_) { |
| + active_version_->Doom(); |
|
falken
2014/08/19 01:00:21
I think you might have to call
active_version_->
nhiroki
2014/08/19 01:04:31
I think we need to call "active_version_->RemoveLi
michaeln
2014/08/19 02:36:11
thnx
I think a call to active_version_->RemoveLis
|
| + active_version_ = NULL; |
| + mask.add(ChangedVersionAttributesMask::ACTIVE_VERSION); |
| + } |
| + if (mask.changed()) { |
| + ServiceWorkerRegistrationInfo info = GetInfo(); |
| + FOR_EACH_OBSERVER(Listener, listeners_, |
| + OnVersionAttributesChanged(this, mask, info)); |
| } |
| } |