| OLD | NEW |
| 1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 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 "base/files/scoped_temp_dir.h" | 5 #include "base/files/scoped_temp_dir.h" |
| 6 #include "base/logging.h" | 6 #include "base/logging.h" |
| 7 #include "base/run_loop.h" | 7 #include "base/run_loop.h" |
| 8 #include "content/browser/browser_thread_impl.h" | 8 #include "content/browser/browser_thread_impl.h" |
| 9 #include "content/browser/service_worker/embedded_worker_registry.h" | 9 #include "content/browser/service_worker/embedded_worker_registry.h" |
| 10 #include "content/browser/service_worker/embedded_worker_test_helper.h" | 10 #include "content/browser/service_worker/embedded_worker_test_helper.h" |
| (...skipping 262 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 273 base::RunLoop().RunUntilIdle(); | 273 base::RunLoop().RunUntilIdle(); |
| 274 ASSERT_TRUE(called); | 274 ASSERT_TRUE(called); |
| 275 | 275 |
| 276 ASSERT_EQ(scoped_refptr<ServiceWorkerRegistration>(NULL), registration); | 276 ASSERT_EQ(scoped_refptr<ServiceWorkerRegistration>(NULL), registration); |
| 277 } | 277 } |
| 278 | 278 |
| 279 TEST_F(ServiceWorkerJobTest, Unregister_NothingRegistered) { | 279 TEST_F(ServiceWorkerJobTest, Unregister_NothingRegistered) { |
| 280 GURL pattern("http://www.example.com/"); | 280 GURL pattern("http://www.example.com/"); |
| 281 | 281 |
| 282 bool called; | 282 bool called; |
| 283 job_coordinator()->Unregister(pattern, | 283 job_coordinator()->Unregister( |
| 284 SaveUnregistration(SERVICE_WORKER_OK, &called)); | 284 pattern, |
| 285 SaveUnregistration(SERVICE_WORKER_ERROR_NOT_FOUND, &called)); |
| 285 | 286 |
| 286 ASSERT_FALSE(called); | 287 ASSERT_FALSE(called); |
| 287 base::RunLoop().RunUntilIdle(); | 288 base::RunLoop().RunUntilIdle(); |
| 288 ASSERT_TRUE(called); | 289 ASSERT_TRUE(called); |
| 289 } | 290 } |
| 290 | 291 |
| 291 // Make sure registering a new script creates a new version and shares an | 292 // Make sure registering a new script creates a new version and shares an |
| 292 // existing registration. | 293 // existing registration. |
| 293 TEST_F(ServiceWorkerJobTest, RegisterNewScript) { | 294 TEST_F(ServiceWorkerJobTest, RegisterNewScript) { |
| 294 GURL pattern("http://www.example.com/"); | 295 GURL pattern("http://www.example.com/"); |
| (...skipping 265 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 560 } | 561 } |
| 561 | 562 |
| 562 // Call simulataneous unregister calls. | 563 // Call simulataneous unregister calls. |
| 563 TEST_F(ServiceWorkerJobTest, ParallelUnreg) { | 564 TEST_F(ServiceWorkerJobTest, ParallelUnreg) { |
| 564 GURL pattern("http://www.example.com/"); | 565 GURL pattern("http://www.example.com/"); |
| 565 | 566 |
| 566 GURL script_url("http://www.example.com/service_worker.js"); | 567 GURL script_url("http://www.example.com/service_worker.js"); |
| 567 bool unregistration1_called = false; | 568 bool unregistration1_called = false; |
| 568 job_coordinator()->Unregister( | 569 job_coordinator()->Unregister( |
| 569 pattern, | 570 pattern, |
| 570 SaveUnregistration(SERVICE_WORKER_OK, &unregistration1_called)); | 571 SaveUnregistration(SERVICE_WORKER_ERROR_NOT_FOUND, |
| 572 &unregistration1_called)); |
| 571 | 573 |
| 572 bool unregistration2_called = false; | 574 bool unregistration2_called = false; |
| 573 job_coordinator()->Unregister( | 575 job_coordinator()->Unregister( |
| 574 pattern, SaveUnregistration(SERVICE_WORKER_OK, &unregistration2_called)); | 576 pattern, |
| 577 SaveUnregistration(SERVICE_WORKER_ERROR_NOT_FOUND, |
| 578 &unregistration2_called)); |
| 575 | 579 |
| 576 ASSERT_FALSE(unregistration1_called); | 580 ASSERT_FALSE(unregistration1_called); |
| 577 ASSERT_FALSE(unregistration2_called); | 581 ASSERT_FALSE(unregistration2_called); |
| 578 base::RunLoop().RunUntilIdle(); | 582 base::RunLoop().RunUntilIdle(); |
| 579 ASSERT_TRUE(unregistration1_called); | 583 ASSERT_TRUE(unregistration1_called); |
| 580 ASSERT_TRUE(unregistration2_called); | 584 ASSERT_TRUE(unregistration2_called); |
| 581 | 585 |
| 582 // There isn't really a way to test that they are being coalesced, | 586 // There isn't really a way to test that they are being coalesced, |
| 583 // but we can make sure they can exist simultaneously without | 587 // but we can make sure they can exist simultaneously without |
| 584 // crashing. | 588 // crashing. |
| (...skipping 602 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1187 EXPECT_TRUE(called); | 1191 EXPECT_TRUE(called); |
| 1188 | 1192 |
| 1189 // Verify the registration was not modified by the Update. | 1193 // Verify the registration was not modified by the Update. |
| 1190 EXPECT_TRUE(registration->is_uninstalling()); | 1194 EXPECT_TRUE(registration->is_uninstalling()); |
| 1191 EXPECT_EQ(active_version, registration->active_version()); | 1195 EXPECT_EQ(active_version, registration->active_version()); |
| 1192 EXPECT_EQ(NULL, registration->waiting_version()); | 1196 EXPECT_EQ(NULL, registration->waiting_version()); |
| 1193 EXPECT_EQ(NULL, registration->installing_version()); | 1197 EXPECT_EQ(NULL, registration->installing_version()); |
| 1194 } | 1198 } |
| 1195 | 1199 |
| 1196 } // namespace content | 1200 } // namespace content |
| OLD | NEW |