| 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 "content/browser/service_worker/service_worker_version.h" | 5 #include "content/browser/service_worker/service_worker_version.h" |
| 6 | 6 |
| 7 #include <stdint.h> | 7 #include <stdint.h> |
| 8 #include <tuple> | 8 #include <tuple> |
| 9 | 9 |
| 10 #include "base/macros.h" | 10 #include "base/macros.h" |
| (...skipping 1247 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1258 std::vector<GURL> valid_scopes; | 1258 std::vector<GURL> valid_scopes; |
| 1259 valid_scopes.push_back(valid_scope_1); | 1259 valid_scopes.push_back(valid_scope_1); |
| 1260 valid_scopes.push_back(valid_scope_2); | 1260 valid_scopes.push_back(valid_scope_2); |
| 1261 | 1261 |
| 1262 std::vector<url::Origin> all_origins; | 1262 std::vector<url::Origin> all_origins; |
| 1263 url::Origin valid_origin(GURL("https://chromium.org/")); | 1263 url::Origin valid_origin(GURL("https://chromium.org/")); |
| 1264 std::vector<url::Origin> valid_origin_list(1, valid_origin); | 1264 std::vector<url::Origin> valid_origin_list(1, valid_origin); |
| 1265 | 1265 |
| 1266 // Invalid subscope, should kill worker (but in tests will only increase bad | 1266 // Invalid subscope, should kill worker (but in tests will only increase bad |
| 1267 // message count). | 1267 // message count). |
| 1268 version_->OnRegisterForeignFetchScopes(std::vector<GURL>(1, GURL()), | 1268 version_->RegisterForeignFetchScopes(std::vector<GURL>(1, GURL()), |
| 1269 valid_origin_list); | 1269 valid_origin_list); |
| 1270 base::RunLoop().RunUntilIdle(); | 1270 base::RunLoop().RunUntilIdle(); |
| 1271 EXPECT_EQ(1, helper_->mock_render_process_host()->bad_msg_count()); | 1271 EXPECT_EQ(1, helper_->mock_render_process_host()->bad_msg_count()); |
| 1272 EXPECT_EQ(0u, version_->foreign_fetch_scopes_.size()); | 1272 EXPECT_EQ(0u, version_->foreign_fetch_scopes_.size()); |
| 1273 EXPECT_EQ(0u, version_->foreign_fetch_origins_.size()); | 1273 EXPECT_EQ(0u, version_->foreign_fetch_origins_.size()); |
| 1274 | 1274 |
| 1275 // Subscope outside the scope of the worker. | 1275 // Subscope outside the scope of the worker. |
| 1276 version_->OnRegisterForeignFetchScopes( | 1276 version_->RegisterForeignFetchScopes( |
| 1277 std::vector<GURL>(1, GURL("http://www.example.com/wrong")), | 1277 std::vector<GURL>(1, GURL("http://www.example.com/wrong")), |
| 1278 valid_origin_list); | 1278 valid_origin_list); |
| 1279 base::RunLoop().RunUntilIdle(); | 1279 base::RunLoop().RunUntilIdle(); |
| 1280 EXPECT_EQ(2, helper_->mock_render_process_host()->bad_msg_count()); | 1280 EXPECT_EQ(2, helper_->mock_render_process_host()->bad_msg_count()); |
| 1281 EXPECT_EQ(0u, version_->foreign_fetch_scopes_.size()); | 1281 EXPECT_EQ(0u, version_->foreign_fetch_scopes_.size()); |
| 1282 EXPECT_EQ(0u, version_->foreign_fetch_origins_.size()); | 1282 EXPECT_EQ(0u, version_->foreign_fetch_origins_.size()); |
| 1283 | 1283 |
| 1284 // Subscope on wrong origin. | 1284 // Subscope on wrong origin. |
| 1285 version_->OnRegisterForeignFetchScopes( | 1285 version_->RegisterForeignFetchScopes( |
| 1286 std::vector<GURL>(1, GURL("http://example.com/test/")), | 1286 std::vector<GURL>(1, GURL("http://example.com/test/")), |
| 1287 valid_origin_list); | 1287 valid_origin_list); |
| 1288 base::RunLoop().RunUntilIdle(); | 1288 base::RunLoop().RunUntilIdle(); |
| 1289 EXPECT_EQ(3, helper_->mock_render_process_host()->bad_msg_count()); | 1289 EXPECT_EQ(3, helper_->mock_render_process_host()->bad_msg_count()); |
| 1290 EXPECT_EQ(0u, version_->foreign_fetch_scopes_.size()); | 1290 EXPECT_EQ(0u, version_->foreign_fetch_scopes_.size()); |
| 1291 EXPECT_EQ(0u, version_->foreign_fetch_origins_.size()); | 1291 EXPECT_EQ(0u, version_->foreign_fetch_origins_.size()); |
| 1292 | 1292 |
| 1293 // Invalid origin. | 1293 // Invalid origin. |
| 1294 version_->OnRegisterForeignFetchScopes( | 1294 version_->RegisterForeignFetchScopes( |
| 1295 valid_scopes, std::vector<url::Origin>(1, url::Origin())); | 1295 valid_scopes, std::vector<url::Origin>(1, url::Origin())); |
| 1296 base::RunLoop().RunUntilIdle(); | 1296 base::RunLoop().RunUntilIdle(); |
| 1297 EXPECT_EQ(4, helper_->mock_render_process_host()->bad_msg_count()); | 1297 EXPECT_EQ(4, helper_->mock_render_process_host()->bad_msg_count()); |
| 1298 EXPECT_EQ(0u, version_->foreign_fetch_scopes_.size()); | 1298 EXPECT_EQ(0u, version_->foreign_fetch_scopes_.size()); |
| 1299 EXPECT_EQ(0u, version_->foreign_fetch_origins_.size()); | 1299 EXPECT_EQ(0u, version_->foreign_fetch_origins_.size()); |
| 1300 | 1300 |
| 1301 // Valid subscope, no origins. | 1301 // Valid subscope, no origins. |
| 1302 version_->OnRegisterForeignFetchScopes(std::vector<GURL>(1, valid_scope_1), | 1302 version_->RegisterForeignFetchScopes(std::vector<GURL>(1, valid_scope_1), |
| 1303 all_origins); | 1303 all_origins); |
| 1304 base::RunLoop().RunUntilIdle(); | 1304 base::RunLoop().RunUntilIdle(); |
| 1305 EXPECT_EQ(4, helper_->mock_render_process_host()->bad_msg_count()); | 1305 EXPECT_EQ(4, helper_->mock_render_process_host()->bad_msg_count()); |
| 1306 EXPECT_EQ(1u, version_->foreign_fetch_scopes_.size()); | 1306 EXPECT_EQ(1u, version_->foreign_fetch_scopes_.size()); |
| 1307 EXPECT_EQ(valid_scope_1, version_->foreign_fetch_scopes_[0]); | 1307 EXPECT_EQ(valid_scope_1, version_->foreign_fetch_scopes_[0]); |
| 1308 EXPECT_EQ(0u, version_->foreign_fetch_origins_.size()); | 1308 EXPECT_EQ(0u, version_->foreign_fetch_origins_.size()); |
| 1309 | 1309 |
| 1310 // Valid subscope, explicit origins. | 1310 // Valid subscope, explicit origins. |
| 1311 version_->OnRegisterForeignFetchScopes(valid_scopes, valid_origin_list); | 1311 version_->RegisterForeignFetchScopes(valid_scopes, valid_origin_list); |
| 1312 base::RunLoop().RunUntilIdle(); | 1312 base::RunLoop().RunUntilIdle(); |
| 1313 EXPECT_EQ(4, helper_->mock_render_process_host()->bad_msg_count()); | 1313 EXPECT_EQ(4, helper_->mock_render_process_host()->bad_msg_count()); |
| 1314 EXPECT_EQ(2u, version_->foreign_fetch_scopes_.size()); | 1314 EXPECT_EQ(2u, version_->foreign_fetch_scopes_.size()); |
| 1315 EXPECT_EQ(valid_scope_1, version_->foreign_fetch_scopes_[0]); | 1315 EXPECT_EQ(valid_scope_1, version_->foreign_fetch_scopes_[0]); |
| 1316 EXPECT_EQ(valid_scope_2, version_->foreign_fetch_scopes_[1]); | 1316 EXPECT_EQ(valid_scope_2, version_->foreign_fetch_scopes_[1]); |
| 1317 EXPECT_EQ(1u, version_->foreign_fetch_origins_.size()); | 1317 EXPECT_EQ(1u, version_->foreign_fetch_origins_.size()); |
| 1318 EXPECT_EQ(valid_origin, version_->foreign_fetch_origins_[0]); | 1318 EXPECT_EQ(valid_origin, version_->foreign_fetch_origins_[0]); |
| 1319 } | 1319 } |
| 1320 | 1320 |
| 1321 TEST_F(ServiceWorkerVersionTest, RendererCrashDuringEvent) { | 1321 TEST_F(ServiceWorkerVersionTest, RendererCrashDuringEvent) { |
| (...skipping 372 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1694 // Should not have timed out, so error callback should not have been | 1694 // Should not have timed out, so error callback should not have been |
| 1695 // called and FinishRequest should return true. | 1695 // called and FinishRequest should return true. |
| 1696 EXPECT_EQ(SERVICE_WORKER_OK, status); | 1696 EXPECT_EQ(SERVICE_WORKER_OK, status); |
| 1697 EXPECT_TRUE(version_->FinishRequest(request_id1, true /* was_handled */, | 1697 EXPECT_TRUE(version_->FinishRequest(request_id1, true /* was_handled */, |
| 1698 base::Time::Now())); | 1698 base::Time::Now())); |
| 1699 EXPECT_TRUE(version_->FinishRequest(request_id2, true /* was_handled */, | 1699 EXPECT_TRUE(version_->FinishRequest(request_id2, true /* was_handled */, |
| 1700 base::Time::Now())); | 1700 base::Time::Now())); |
| 1701 } | 1701 } |
| 1702 | 1702 |
| 1703 } // namespace content | 1703 } // namespace content |
| OLD | NEW |