| 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/public/browser/service_worker_context.h" | 5 #include "content/public/browser/service_worker_context.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 "content/browser/browser_thread_impl.h" | 10 #include "content/browser/browser_thread_impl.h" |
| (...skipping 61 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 72 if (expect_active) { | 72 if (expect_active) { |
| 73 EXPECT_TRUE(registration->active_version()); | 73 EXPECT_TRUE(registration->active_version()); |
| 74 } else { | 74 } else { |
| 75 EXPECT_FALSE(registration->active_version()); | 75 EXPECT_FALSE(registration->active_version()); |
| 76 } | 76 } |
| 77 } | 77 } |
| 78 | 78 |
| 79 class RejectInstallTestHelper : public EmbeddedWorkerTestHelper { | 79 class RejectInstallTestHelper : public EmbeddedWorkerTestHelper { |
| 80 public: | 80 public: |
| 81 explicit RejectInstallTestHelper(int mock_render_process_id) | 81 explicit RejectInstallTestHelper(int mock_render_process_id) |
| 82 : EmbeddedWorkerTestHelper(mock_render_process_id) {} | 82 : EmbeddedWorkerTestHelper(base::FilePath(), mock_render_process_id) {} |
| 83 | 83 |
| 84 void OnInstallEvent(int embedded_worker_id, | 84 void OnInstallEvent(int embedded_worker_id, |
| 85 int request_id) override { | 85 int request_id) override { |
| 86 SimulateSend( | 86 SimulateSend( |
| 87 new ServiceWorkerHostMsg_InstallEventFinished( | 87 new ServiceWorkerHostMsg_InstallEventFinished( |
| 88 embedded_worker_id, request_id, | 88 embedded_worker_id, request_id, |
| 89 blink::WebServiceWorkerEventResultRejected)); | 89 blink::WebServiceWorkerEventResultRejected)); |
| 90 } | 90 } |
| 91 }; | 91 }; |
| 92 | 92 |
| 93 class RejectActivateTestHelper : public EmbeddedWorkerTestHelper { | 93 class RejectActivateTestHelper : public EmbeddedWorkerTestHelper { |
| 94 public: | 94 public: |
| 95 explicit RejectActivateTestHelper(int mock_render_process_id) | 95 explicit RejectActivateTestHelper(int mock_render_process_id) |
| 96 : EmbeddedWorkerTestHelper(mock_render_process_id) {} | 96 : EmbeddedWorkerTestHelper(base::FilePath(), mock_render_process_id) {} |
| 97 | 97 |
| 98 void OnActivateEvent(int embedded_worker_id, int request_id) override { | 98 void OnActivateEvent(int embedded_worker_id, int request_id) override { |
| 99 SimulateSend( | 99 SimulateSend( |
| 100 new ServiceWorkerHostMsg_ActivateEventFinished( | 100 new ServiceWorkerHostMsg_ActivateEventFinished( |
| 101 embedded_worker_id, request_id, | 101 embedded_worker_id, request_id, |
| 102 blink::WebServiceWorkerEventResultRejected)); | 102 blink::WebServiceWorkerEventResultRejected)); |
| 103 } | 103 } |
| 104 }; | 104 }; |
| 105 | 105 |
| 106 enum NotificationType { | 106 enum NotificationType { |
| (...skipping 11 matching lines...) Expand all Loading... |
| 118 } // namespace | 118 } // namespace |
| 119 | 119 |
| 120 class ServiceWorkerContextTest : public ServiceWorkerContextObserver, | 120 class ServiceWorkerContextTest : public ServiceWorkerContextObserver, |
| 121 public testing::Test { | 121 public testing::Test { |
| 122 public: | 122 public: |
| 123 ServiceWorkerContextTest() | 123 ServiceWorkerContextTest() |
| 124 : browser_thread_bundle_(TestBrowserThreadBundle::IO_MAINLOOP), | 124 : browser_thread_bundle_(TestBrowserThreadBundle::IO_MAINLOOP), |
| 125 render_process_id_(99) {} | 125 render_process_id_(99) {} |
| 126 | 126 |
| 127 void SetUp() override { | 127 void SetUp() override { |
| 128 helper_.reset(new EmbeddedWorkerTestHelper(render_process_id_)); | 128 helper_.reset( |
| 129 new EmbeddedWorkerTestHelper(base::FilePath(), render_process_id_)); |
| 129 helper_->context_wrapper()->AddObserver(this); | 130 helper_->context_wrapper()->AddObserver(this); |
| 130 } | 131 } |
| 131 | 132 |
| 132 void TearDown() override { helper_.reset(); } | 133 void TearDown() override { helper_.reset(); } |
| 133 | 134 |
| 134 // ServiceWorkerContextObserver overrides. | 135 // ServiceWorkerContextObserver overrides. |
| 135 void OnRegistrationStored(int64 registration_id, | 136 void OnRegistrationStored(int64 registration_id, |
| 136 const GURL& pattern) override { | 137 const GURL& pattern) override { |
| 137 NotificationLog log; | 138 NotificationLog log; |
| 138 log.type = REGISTRATION_STORED; | 139 log.type = REGISTRATION_STORED; |
| (...skipping 373 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 512 | 513 |
| 513 ASSERT_EQ(2u, notifications_.size()); | 514 ASSERT_EQ(2u, notifications_.size()); |
| 514 EXPECT_EQ(REGISTRATION_STORED, notifications_[0].type); | 515 EXPECT_EQ(REGISTRATION_STORED, notifications_[0].type); |
| 515 EXPECT_EQ(pattern, notifications_[0].pattern); | 516 EXPECT_EQ(pattern, notifications_[0].pattern); |
| 516 EXPECT_EQ(old_registration_id, notifications_[0].registration_id); | 517 EXPECT_EQ(old_registration_id, notifications_[0].registration_id); |
| 517 EXPECT_EQ(REGISTRATION_STORED, notifications_[1].type); | 518 EXPECT_EQ(REGISTRATION_STORED, notifications_[1].type); |
| 518 EXPECT_EQ(pattern, notifications_[1].pattern); | 519 EXPECT_EQ(pattern, notifications_[1].pattern); |
| 519 EXPECT_EQ(old_registration_id, notifications_[1].registration_id); | 520 EXPECT_EQ(old_registration_id, notifications_[1].registration_id); |
| 520 } | 521 } |
| 521 | 522 |
| 522 // TODO(nhiroki): Test this for on-disk storage. | |
| 523 TEST_F(ServiceWorkerContextTest, DeleteAndStartOver) { | 523 TEST_F(ServiceWorkerContextTest, DeleteAndStartOver) { |
| 524 GURL pattern("http://www.example.com/"); | 524 GURL pattern("http://www.example.com/"); |
| 525 GURL script_url("http://www.example.com/service_worker.js"); | 525 GURL script_url("http://www.example.com/service_worker.js"); |
| 526 | 526 |
| 527 // Reinitialize the helper to test on-disk storage. |
| 528 base::ScopedTempDir user_data_directory; |
| 529 ASSERT_TRUE(user_data_directory.CreateUniqueTempDir()); |
| 530 helper_.reset(new EmbeddedWorkerTestHelper(user_data_directory.path(), |
| 531 render_process_id_)); |
| 532 helper_->context_wrapper()->AddObserver(this); |
| 533 |
| 527 int64 registration_id = kInvalidServiceWorkerRegistrationId; | 534 int64 registration_id = kInvalidServiceWorkerRegistrationId; |
| 528 bool called = false; | 535 bool called = false; |
| 529 context()->RegisterServiceWorker( | 536 context()->RegisterServiceWorker( |
| 530 pattern, | 537 pattern, |
| 531 script_url, | 538 script_url, |
| 532 NULL, | 539 NULL, |
| 533 MakeRegisteredCallback(&called, ®istration_id)); | 540 MakeRegisteredCallback(&called, ®istration_id)); |
| 534 | 541 |
| 535 ASSERT_FALSE(called); | 542 ASSERT_FALSE(called); |
| 536 base::RunLoop().RunUntilIdle(); | 543 base::RunLoop().RunUntilIdle(); |
| (...skipping 138 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 675 EXPECT_EQ(1u, results.size()); | 682 EXPECT_EQ(1u, results.size()); |
| 676 EXPECT_TRUE(ContainsKey(results, host2)); | 683 EXPECT_TRUE(ContainsKey(results, host2)); |
| 677 | 684 |
| 678 context()->RemoveProviderHost(kRenderProcessId1, 1); | 685 context()->RemoveProviderHost(kRenderProcessId1, 1); |
| 679 context()->RemoveProviderHost(kRenderProcessId2, 2); | 686 context()->RemoveProviderHost(kRenderProcessId2, 2); |
| 680 context()->RemoveProviderHost(kRenderProcessId2, 3); | 687 context()->RemoveProviderHost(kRenderProcessId2, 3); |
| 681 context()->RemoveProviderHost(kRenderProcessId2, 4); | 688 context()->RemoveProviderHost(kRenderProcessId2, 4); |
| 682 } | 689 } |
| 683 | 690 |
| 684 } // namespace content | 691 } // namespace content |
| OLD | NEW |