| 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 |