Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(89)

Side by Side Diff: content/browser/service_worker/service_worker_registration_unittest.cc

Issue 2771823002: Implement updateViaCache flag and no-cache by default for main service worker scripts
Patch Set: fix tests Created 3 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
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 <stdint.h> 7 #include <stdint.h>
8 #include <utility> 8 #include <utility>
9 9
10 #include "base/files/scoped_temp_dir.h" 10 #include "base/files/scoped_temp_dir.h"
(...skipping 86 matching lines...) Expand 10 before | Expand all | Expand 10 after
97 private: 97 private:
98 std::unique_ptr<EmbeddedWorkerTestHelper> helper_; 98 std::unique_ptr<EmbeddedWorkerTestHelper> helper_;
99 TestBrowserThreadBundle thread_bundle_; 99 TestBrowserThreadBundle thread_bundle_;
100 }; 100 };
101 101
102 TEST_F(ServiceWorkerRegistrationTest, SetAndUnsetVersions) { 102 TEST_F(ServiceWorkerRegistrationTest, SetAndUnsetVersions) {
103 const GURL kScope("http://www.example.not/"); 103 const GURL kScope("http://www.example.not/");
104 const GURL kScript("http://www.example.not/service_worker.js"); 104 const GURL kScript("http://www.example.not/service_worker.js");
105 int64_t kRegistrationId = 1L; 105 int64_t kRegistrationId = 1L;
106 scoped_refptr<ServiceWorkerRegistration> registration = 106 scoped_refptr<ServiceWorkerRegistration> registration =
107 new ServiceWorkerRegistration(kScope, kRegistrationId, 107 new ServiceWorkerRegistration(kScope, false /* use_cache */,
108 context()->AsWeakPtr()); 108 kRegistrationId, context()->AsWeakPtr());
109 109
110 const int64_t version_1_id = 1L; 110 const int64_t version_1_id = 1L;
111 const int64_t version_2_id = 2L; 111 const int64_t version_2_id = 2L;
112 scoped_refptr<ServiceWorkerVersion> version_1 = new ServiceWorkerVersion( 112 scoped_refptr<ServiceWorkerVersion> version_1 = new ServiceWorkerVersion(
113 registration.get(), kScript, version_1_id, context()->AsWeakPtr()); 113 registration.get(), kScript, version_1_id, context()->AsWeakPtr());
114 scoped_refptr<ServiceWorkerVersion> version_2 = new ServiceWorkerVersion( 114 scoped_refptr<ServiceWorkerVersion> version_2 = new ServiceWorkerVersion(
115 registration.get(), kScript, version_2_id, context()->AsWeakPtr()); 115 registration.get(), kScript, version_2_id, context()->AsWeakPtr());
116 116
117 RegistrationListener listener; 117 RegistrationListener listener;
118 registration->AddListener(&listener); 118 registration->AddListener(&listener);
(...skipping 45 matching lines...) Expand 10 before | Expand all | Expand 10 after
164 EXPECT_EQ(listener.observed_info_.waiting_version.version_id, 164 EXPECT_EQ(listener.observed_info_.waiting_version.version_id,
165 kInvalidServiceWorkerVersionId); 165 kInvalidServiceWorkerVersionId);
166 EXPECT_EQ(listener.observed_info_.installing_version.version_id, 166 EXPECT_EQ(listener.observed_info_.installing_version.version_id,
167 kInvalidServiceWorkerVersionId); 167 kInvalidServiceWorkerVersionId);
168 } 168 }
169 169
170 TEST_F(ServiceWorkerRegistrationTest, FailedRegistrationNoCrash) { 170 TEST_F(ServiceWorkerRegistrationTest, FailedRegistrationNoCrash) {
171 const GURL kScope("http://www.example.not/"); 171 const GURL kScope("http://www.example.not/");
172 int64_t kRegistrationId = 1L; 172 int64_t kRegistrationId = 1L;
173 scoped_refptr<ServiceWorkerRegistration> registration = 173 scoped_refptr<ServiceWorkerRegistration> registration =
174 new ServiceWorkerRegistration(kScope, kRegistrationId, 174 new ServiceWorkerRegistration(kScope, false /* use_cache */,
175 context()->AsWeakPtr()); 175 kRegistrationId, context()->AsWeakPtr());
176 std::unique_ptr<ServiceWorkerRegistrationHandle> handle( 176 std::unique_ptr<ServiceWorkerRegistrationHandle> handle(
177 new ServiceWorkerRegistrationHandle( 177 new ServiceWorkerRegistrationHandle(
178 context()->AsWeakPtr(), base::WeakPtr<ServiceWorkerProviderHost>(), 178 context()->AsWeakPtr(), base::WeakPtr<ServiceWorkerProviderHost>(),
179 registration.get())); 179 registration.get()));
180 registration->NotifyRegistrationFailed(); 180 registration->NotifyRegistrationFailed();
181 // Don't crash when handle gets destructed. 181 // Don't crash when handle gets destructed.
182 } 182 }
183 183
184 TEST_F(ServiceWorkerRegistrationTest, NavigationPreload) { 184 TEST_F(ServiceWorkerRegistrationTest, NavigationPreload) {
185 const GURL kScope("http://www.example.not/"); 185 const GURL kScope("http://www.example.not/");
186 const GURL kScript("https://www.example.not/service_worker.js"); 186 const GURL kScript("https://www.example.not/service_worker.js");
187 // Setup. 187 // Setup.
188 scoped_refptr<ServiceWorkerRegistration> registration = 188 scoped_refptr<ServiceWorkerRegistration> registration =
189 new ServiceWorkerRegistration(kScope, storage()->NewRegistrationId(), 189 new ServiceWorkerRegistration(kScope, false /* use_cache */,
190 storage()->NewRegistrationId(),
190 context()->AsWeakPtr()); 191 context()->AsWeakPtr());
191 scoped_refptr<ServiceWorkerVersion> version_1 = new ServiceWorkerVersion( 192 scoped_refptr<ServiceWorkerVersion> version_1 = new ServiceWorkerVersion(
192 registration.get(), kScript, storage()->NewVersionId(), 193 registration.get(), kScript, storage()->NewVersionId(),
193 context()->AsWeakPtr()); 194 context()->AsWeakPtr());
194 version_1->set_fetch_handler_existence( 195 version_1->set_fetch_handler_existence(
195 ServiceWorkerVersion::FetchHandlerExistence::EXISTS); 196 ServiceWorkerVersion::FetchHandlerExistence::EXISTS);
196 registration->SetActiveVersion(version_1); 197 registration->SetActiveVersion(version_1);
197 version_1->SetStatus(ServiceWorkerVersion::ACTIVATED); 198 version_1->SetStatus(ServiceWorkerVersion::ACTIVATED);
198 scoped_refptr<ServiceWorkerVersion> version_2 = new ServiceWorkerVersion( 199 scoped_refptr<ServiceWorkerVersion> version_2 = new ServiceWorkerVersion(
199 registration.get(), kScript, storage()->NewVersionId(), 200 registration.get(), kScript, storage()->NewVersionId(),
(...skipping 23 matching lines...) Expand all
223 public: 224 public:
224 ServiceWorkerActivationTest() : ServiceWorkerRegistrationTest() {} 225 ServiceWorkerActivationTest() : ServiceWorkerRegistrationTest() {}
225 226
226 void SetUp() override { 227 void SetUp() override {
227 ServiceWorkerRegistrationTest::SetUp(); 228 ServiceWorkerRegistrationTest::SetUp();
228 229
229 const GURL kScope("https://www.example.not/"); 230 const GURL kScope("https://www.example.not/");
230 const GURL kScript("https://www.example.not/service_worker.js"); 231 const GURL kScript("https://www.example.not/service_worker.js");
231 232
232 registration_ = new ServiceWorkerRegistration( 233 registration_ = new ServiceWorkerRegistration(
233 kScope, storage()->NewRegistrationId(), context()->AsWeakPtr()); 234 kScope, false /* use_cache */, storage()->NewRegistrationId(),
235 context()->AsWeakPtr());
234 236
235 // Create an active version. 237 // Create an active version.
236 scoped_refptr<ServiceWorkerVersion> version_1 = new ServiceWorkerVersion( 238 scoped_refptr<ServiceWorkerVersion> version_1 = new ServiceWorkerVersion(
237 registration_.get(), kScript, storage()->NewVersionId(), 239 registration_.get(), kScript, storage()->NewVersionId(),
238 context()->AsWeakPtr()); 240 context()->AsWeakPtr());
239 version_1->set_fetch_handler_existence( 241 version_1->set_fetch_handler_existence(
240 ServiceWorkerVersion::FetchHandlerExistence::EXISTS); 242 ServiceWorkerVersion::FetchHandlerExistence::EXISTS);
241 registration_->SetActiveVersion(version_1); 243 registration_->SetActiveVersion(version_1);
242 version_1->SetStatus(ServiceWorkerVersion::ACTIVATED); 244 version_1->SetStatus(ServiceWorkerVersion::ACTIVATED);
243 245
(...skipping 121 matching lines...) Expand 10 before | Expand all | Expand 10 after
365 EXPECT_EQ(version_1.get(), reg->active_version()); 367 EXPECT_EQ(version_1.get(), reg->active_version());
366 368
367 // Finish the request. Activation should happen. 369 // Finish the request. Activation should happen.
368 version_1->FinishRequest(inflight_request_id(), true /* was_handled */, 370 version_1->FinishRequest(inflight_request_id(), true /* was_handled */,
369 base::Time::Now()); 371 base::Time::Now());
370 base::RunLoop().RunUntilIdle(); 372 base::RunLoop().RunUntilIdle();
371 EXPECT_EQ(version_2.get(), reg->active_version()); 373 EXPECT_EQ(version_2.get(), reg->active_version());
372 } 374 }
373 375
374 } // namespace content 376 } // namespace content
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698