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 |