Chromium Code Reviews| Index: content/browser/service_worker/service_worker_version_unittest.cc |
| diff --git a/content/browser/service_worker/service_worker_version_unittest.cc b/content/browser/service_worker/service_worker_version_unittest.cc |
| index 04cab83f8404ddc52676d808f675f85f859a7f2d..309627ed36bed16574a72330362437a0ade4cbbe 100644 |
| --- a/content/browser/service_worker/service_worker_version_unittest.cc |
| +++ b/content/browser/service_worker/service_worker_version_unittest.cc |
| @@ -1130,43 +1130,69 @@ TEST_F(ServiceWorkerVersionTest, RegisterForeignFetchScopes) { |
| EXPECT_EQ(ServiceWorkerVersion::RUNNING, version_->running_status()); |
| EXPECT_EQ(0, helper_->mock_render_process_host()->bad_msg_count()); |
| + GURL valid_scope_1("http://www.example.com/test/subscope"); |
| + GURL valid_scope_2("http://www.example.com/test/othersubscope"); |
| + std::vector<GURL> valid_scopes; |
| + valid_scopes.push_back(valid_scope_1); |
| + valid_scopes.push_back(valid_scope_2); |
| + |
| + std::vector<GURL> all_origins; |
| + GURL valid_origin("https://chromium.org/"); |
| + std::vector<GURL> valid_origin_list(1, valid_origin); |
| + |
| // Invalid URL, should kill worker (but in tests will only increase bad |
|
falken
2016/02/03 02:17:31
nit: Now URL is ambiguous since there are both sub
Marijn Kruisselbrink
2016/02/03 17:53:30
Done
|
| // message count). |
| - version_->OnRegisterForeignFetchScopes(std::vector<GURL>(1, GURL())); |
| + version_->OnRegisterForeignFetchScopes(std::vector<GURL>(1, GURL()), |
| + valid_origin_list); |
| base::RunLoop().RunUntilIdle(); |
| EXPECT_EQ(1, helper_->mock_render_process_host()->bad_msg_count()); |
| EXPECT_EQ(0u, version_->foreign_fetch_scopes_.size()); |
| + EXPECT_EQ(0u, version_->foreign_fetch_origins_.size()); |
| // URL outside the scope of the worker. |
| version_->OnRegisterForeignFetchScopes( |
| - std::vector<GURL>(1, GURL("http://www.example.com/wrong"))); |
| + std::vector<GURL>(1, GURL("http://www.example.com/wrong")), |
| + valid_origin_list); |
| base::RunLoop().RunUntilIdle(); |
| EXPECT_EQ(2, helper_->mock_render_process_host()->bad_msg_count()); |
| EXPECT_EQ(0u, version_->foreign_fetch_scopes_.size()); |
| + EXPECT_EQ(0u, version_->foreign_fetch_origins_.size()); |
| // URL on wrong origin. |
| version_->OnRegisterForeignFetchScopes( |
| - std::vector<GURL>(1, GURL("http://example.com/test/"))); |
| + std::vector<GURL>(1, GURL("http://example.com/test/")), |
| + valid_origin_list); |
| base::RunLoop().RunUntilIdle(); |
| EXPECT_EQ(3, helper_->mock_render_process_host()->bad_msg_count()); |
| EXPECT_EQ(0u, version_->foreign_fetch_scopes_.size()); |
| + EXPECT_EQ(0u, version_->foreign_fetch_origins_.size()); |
| + |
| + // Invalid URL passed for origin. |
| + version_->OnRegisterForeignFetchScopes(valid_scopes, |
| + std::vector<GURL>(1, GURL())); |
| + base::RunLoop().RunUntilIdle(); |
| + EXPECT_EQ(4, helper_->mock_render_process_host()->bad_msg_count()); |
| + EXPECT_EQ(0u, version_->foreign_fetch_scopes_.size()); |
| + EXPECT_EQ(0u, version_->foreign_fetch_origins_.size()); |
| // Valid URL 1. |
| - GURL valid_scope_1("http://www.example.com/test/subscope"); |
| - version_->OnRegisterForeignFetchScopes(std::vector<GURL>(1, valid_scope_1)); |
| + version_->OnRegisterForeignFetchScopes(std::vector<GURL>(1, valid_scope_1), |
| + all_origins); |
| base::RunLoop().RunUntilIdle(); |
| - EXPECT_EQ(3, helper_->mock_render_process_host()->bad_msg_count()); |
| + EXPECT_EQ(4, helper_->mock_render_process_host()->bad_msg_count()); |
| EXPECT_EQ(1u, version_->foreign_fetch_scopes_.size()); |
| EXPECT_EQ(valid_scope_1, version_->foreign_fetch_scopes_[0]); |
| + EXPECT_EQ(0u, version_->foreign_fetch_origins_.size()); |
| - // Valid URL 2. |
| - GURL valid_scope_2("http://www.example.com/test/subscope"); |
| - version_->OnRegisterForeignFetchScopes(std::vector<GURL>(1, valid_scope_2)); |
| + // Valid URL 2, with explicit origins. |
| + version_->OnRegisterForeignFetchScopes(valid_scopes, valid_origin_list); |
| base::RunLoop().RunUntilIdle(); |
| - EXPECT_EQ(3, helper_->mock_render_process_host()->bad_msg_count()); |
| + EXPECT_EQ(4, helper_->mock_render_process_host()->bad_msg_count()); |
| EXPECT_EQ(2u, version_->foreign_fetch_scopes_.size()); |
| EXPECT_EQ(valid_scope_1, version_->foreign_fetch_scopes_[0]); |
| EXPECT_EQ(valid_scope_2, version_->foreign_fetch_scopes_[1]); |
| + EXPECT_EQ(1u, version_->foreign_fetch_origins_.size()); |
| + EXPECT_EQ(valid_origin, version_->foreign_fetch_origins_[0]); |
| } |
| TEST_F(ServiceWorkerVersionTest, RendererCrashDuringEvent) { |