| 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 "base/files/scoped_temp_dir.h" | 7 #include "base/files/scoped_temp_dir.h" | 
| 8 #include "base/logging.h" | 8 #include "base/logging.h" | 
| 9 #include "base/message_loop/message_loop.h" | 9 #include "base/message_loop/message_loop.h" | 
| 10 #include "base/run_loop.h" | 10 #include "base/run_loop.h" | 
| (...skipping 25 matching lines...) Expand all  Loading... | 
| 36 | 36 | 
| 37   virtual void TearDown() OVERRIDE { | 37   virtual void TearDown() OVERRIDE { | 
| 38     context_.reset(); | 38     context_.reset(); | 
| 39     base::RunLoop().RunUntilIdle(); | 39     base::RunLoop().RunUntilIdle(); | 
| 40   } | 40   } | 
| 41 | 41 | 
| 42   class RegistrationListener : public ServiceWorkerRegistration::Listener { | 42   class RegistrationListener : public ServiceWorkerRegistration::Listener { | 
| 43    public: | 43    public: | 
| 44     RegistrationListener() {} | 44     RegistrationListener() {} | 
| 45     ~RegistrationListener() { | 45     ~RegistrationListener() { | 
| 46       if (observed_registration_) | 46       if (observed_registration_.get()) | 
| 47         observed_registration_->RemoveListener(this); | 47         observed_registration_->RemoveListener(this); | 
| 48     } | 48     } | 
| 49 | 49 | 
| 50     virtual void OnVersionAttributesChanged( | 50     virtual void OnVersionAttributesChanged( | 
| 51         ServiceWorkerRegistration* registration, | 51         ServiceWorkerRegistration* registration, | 
| 52         ChangedVersionAttributesMask changed_mask, | 52         ChangedVersionAttributesMask changed_mask, | 
| 53         const ServiceWorkerRegistrationInfo& info) OVERRIDE { | 53         const ServiceWorkerRegistrationInfo& info) OVERRIDE { | 
| 54       observed_registration_ = registration; | 54       observed_registration_ = registration; | 
| 55       observed_changed_mask_ = changed_mask; | 55       observed_changed_mask_ = changed_mask; | 
| 56       observed_info_ = info; | 56       observed_info_ = info; | 
| (...skipping 29 matching lines...) Expand all  Loading... | 
| 86   scoped_refptr<ServiceWorkerRegistration> registration = | 86   scoped_refptr<ServiceWorkerRegistration> registration = | 
| 87       new ServiceWorkerRegistration( | 87       new ServiceWorkerRegistration( | 
| 88           kScope, | 88           kScope, | 
| 89           kScript, | 89           kScript, | 
| 90           kRegistrationId, | 90           kRegistrationId, | 
| 91           context_ptr_); | 91           context_ptr_); | 
| 92 | 92 | 
| 93   const int64 version_1_id = 1L; | 93   const int64 version_1_id = 1L; | 
| 94   const int64 version_2_id = 2L; | 94   const int64 version_2_id = 2L; | 
| 95   scoped_refptr<ServiceWorkerVersion> version_1 = | 95   scoped_refptr<ServiceWorkerVersion> version_1 = | 
| 96       new ServiceWorkerVersion(registration, version_1_id, context_ptr_); | 96       new ServiceWorkerVersion(registration.get(), version_1_id, context_ptr_); | 
| 97   scoped_refptr<ServiceWorkerVersion> version_2 = | 97   scoped_refptr<ServiceWorkerVersion> version_2 = | 
| 98       new ServiceWorkerVersion(registration, version_2_id, context_ptr_); | 98       new ServiceWorkerVersion(registration.get(), version_2_id, context_ptr_); | 
| 99 | 99 | 
| 100   RegistrationListener listener; | 100   RegistrationListener listener; | 
| 101   registration->AddListener(&listener); | 101   registration->AddListener(&listener); | 
| 102   registration->SetActiveVersion(version_1); | 102   registration->SetActiveVersion(version_1.get()); | 
| 103 | 103 | 
| 104   EXPECT_EQ(version_1, registration->active_version()); | 104   EXPECT_EQ(version_1.get(), registration->active_version()); | 
| 105   EXPECT_EQ(registration, listener.observed_registration_); | 105   EXPECT_EQ(registration, listener.observed_registration_); | 
| 106   EXPECT_EQ(ChangedVersionAttributesMask::ACTIVE_VERSION, | 106   EXPECT_EQ(ChangedVersionAttributesMask::ACTIVE_VERSION, | 
| 107             listener.observed_changed_mask_.changed()); | 107             listener.observed_changed_mask_.changed()); | 
| 108   EXPECT_EQ(kScope, listener.observed_info_.pattern); | 108   EXPECT_EQ(kScope, listener.observed_info_.pattern); | 
| 109   EXPECT_EQ(kScript, listener.observed_info_.script_url); | 109   EXPECT_EQ(kScript, listener.observed_info_.script_url); | 
| 110   EXPECT_EQ(version_1_id, listener.observed_info_.active_version.version_id); | 110   EXPECT_EQ(version_1_id, listener.observed_info_.active_version.version_id); | 
| 111   EXPECT_TRUE(listener.observed_info_.installing_version.is_null); | 111   EXPECT_TRUE(listener.observed_info_.installing_version.is_null); | 
| 112   EXPECT_TRUE(listener.observed_info_.waiting_version.is_null); | 112   EXPECT_TRUE(listener.observed_info_.waiting_version.is_null); | 
| 113   EXPECT_TRUE(listener.observed_info_.controlling_version.is_null); | 113   EXPECT_TRUE(listener.observed_info_.controlling_version.is_null); | 
| 114   listener.Reset(); | 114   listener.Reset(); | 
| 115 | 115 | 
| 116   registration->SetInstallingVersion(version_2); | 116   registration->SetInstallingVersion(version_2.get()); | 
| 117 | 117 | 
| 118   EXPECT_EQ(version_2, registration->installing_version()); | 118   EXPECT_EQ(version_2.get(), registration->installing_version()); | 
| 119   EXPECT_EQ(ChangedVersionAttributesMask::INSTALLING_VERSION, | 119   EXPECT_EQ(ChangedVersionAttributesMask::INSTALLING_VERSION, | 
| 120             listener.observed_changed_mask_.changed()); | 120             listener.observed_changed_mask_.changed()); | 
| 121   EXPECT_EQ(version_1_id, listener.observed_info_.active_version.version_id); | 121   EXPECT_EQ(version_1_id, listener.observed_info_.active_version.version_id); | 
| 122   EXPECT_EQ(version_2_id, | 122   EXPECT_EQ(version_2_id, | 
| 123             listener.observed_info_.installing_version.version_id); | 123             listener.observed_info_.installing_version.version_id); | 
| 124   EXPECT_TRUE(listener.observed_info_.waiting_version.is_null); | 124   EXPECT_TRUE(listener.observed_info_.waiting_version.is_null); | 
| 125   EXPECT_TRUE(listener.observed_info_.controlling_version.is_null); | 125   EXPECT_TRUE(listener.observed_info_.controlling_version.is_null); | 
| 126   listener.Reset(); | 126   listener.Reset(); | 
| 127 | 127 | 
| 128   registration->SetWaitingVersion(version_2); | 128   registration->SetWaitingVersion(version_2.get()); | 
| 129 | 129 | 
| 130   EXPECT_EQ(version_2, registration->waiting_version()); | 130   EXPECT_EQ(version_2.get(), registration->waiting_version()); | 
| 131   EXPECT_FALSE(registration->installing_version()); | 131   EXPECT_FALSE(registration->installing_version()); | 
| 132   EXPECT_TRUE(listener.observed_changed_mask_.waiting_changed()); | 132   EXPECT_TRUE(listener.observed_changed_mask_.waiting_changed()); | 
| 133   EXPECT_TRUE(listener.observed_changed_mask_.installing_changed()); | 133   EXPECT_TRUE(listener.observed_changed_mask_.installing_changed()); | 
| 134   EXPECT_EQ(version_1_id, listener.observed_info_.active_version.version_id); | 134   EXPECT_EQ(version_1_id, listener.observed_info_.active_version.version_id); | 
| 135   EXPECT_EQ(version_2_id, listener.observed_info_.waiting_version.version_id); | 135   EXPECT_EQ(version_2_id, listener.observed_info_.waiting_version.version_id); | 
| 136   EXPECT_TRUE(listener.observed_info_.installing_version.is_null); | 136   EXPECT_TRUE(listener.observed_info_.installing_version.is_null); | 
| 137   EXPECT_TRUE(listener.observed_info_.controlling_version.is_null); | 137   EXPECT_TRUE(listener.observed_info_.controlling_version.is_null); | 
| 138   listener.Reset(); | 138   listener.Reset(); | 
| 139 | 139 | 
| 140   registration->UnsetVersion(version_2); | 140   registration->UnsetVersion(version_2.get()); | 
| 141 | 141 | 
| 142   EXPECT_FALSE(registration->waiting_version()); | 142   EXPECT_FALSE(registration->waiting_version()); | 
| 143   EXPECT_EQ(ChangedVersionAttributesMask::WAITING_VERSION, | 143   EXPECT_EQ(ChangedVersionAttributesMask::WAITING_VERSION, | 
| 144             listener.observed_changed_mask_.changed()); | 144             listener.observed_changed_mask_.changed()); | 
| 145   EXPECT_EQ(version_1_id, listener.observed_info_.active_version.version_id); | 145   EXPECT_EQ(version_1_id, listener.observed_info_.active_version.version_id); | 
| 146   EXPECT_TRUE(listener.observed_info_.waiting_version.is_null); | 146   EXPECT_TRUE(listener.observed_info_.waiting_version.is_null); | 
| 147   EXPECT_TRUE(listener.observed_info_.installing_version.is_null); | 147   EXPECT_TRUE(listener.observed_info_.installing_version.is_null); | 
| 148   EXPECT_TRUE(listener.observed_info_.controlling_version.is_null); | 148   EXPECT_TRUE(listener.observed_info_.controlling_version.is_null); | 
| 149 } | 149 } | 
| 150 | 150 | 
| (...skipping 11 matching lines...) Expand all  Loading... | 
| 162   scoped_ptr<ServiceWorkerRegistrationHandle> handle( | 162   scoped_ptr<ServiceWorkerRegistrationHandle> handle( | 
| 163       new ServiceWorkerRegistrationHandle(context_ptr_, | 163       new ServiceWorkerRegistrationHandle(context_ptr_, | 
| 164                                           NULL, | 164                                           NULL, | 
| 165                                           kProviderId, | 165                                           kProviderId, | 
| 166                                           registration.get())); | 166                                           registration.get())); | 
| 167   registration->NotifyRegistrationFailed(); | 167   registration->NotifyRegistrationFailed(); | 
| 168   // Don't crash when handle gets destructed. | 168   // Don't crash when handle gets destructed. | 
| 169 } | 169 } | 
| 170 | 170 | 
| 171 }  // namespace content | 171 }  // namespace content | 
| OLD | NEW | 
|---|