| 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 1238 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1249 std::vector<GURL> valid_scopes; | 1249 std::vector<GURL> valid_scopes; |
| 1250 valid_scopes.push_back(valid_scope_1); | 1250 valid_scopes.push_back(valid_scope_1); |
| 1251 valid_scopes.push_back(valid_scope_2); | 1251 valid_scopes.push_back(valid_scope_2); |
| 1252 | 1252 |
| 1253 std::vector<url::Origin> all_origins; | 1253 std::vector<url::Origin> all_origins; |
| 1254 url::Origin valid_origin(GURL("https://chromium.org/")); | 1254 url::Origin valid_origin(GURL("https://chromium.org/")); |
| 1255 std::vector<url::Origin> valid_origin_list(1, valid_origin); | 1255 std::vector<url::Origin> valid_origin_list(1, valid_origin); |
| 1256 | 1256 |
| 1257 // Invalid subscope, should kill worker (but in tests will only increase bad | 1257 // Invalid subscope, should kill worker (but in tests will only increase bad |
| 1258 // message count). | 1258 // message count). |
| 1259 version_->OnRegisterForeignFetchScopes(std::vector<GURL>(1, GURL()), | 1259 version_->RegisterForeignFetchScopes(std::vector<GURL>(1, GURL()), |
| 1260 valid_origin_list); | 1260 valid_origin_list); |
| 1261 base::RunLoop().RunUntilIdle(); | 1261 base::RunLoop().RunUntilIdle(); |
| 1262 EXPECT_EQ(1, helper_->mock_render_process_host()->bad_msg_count()); | 1262 EXPECT_EQ(1, helper_->mock_render_process_host()->bad_msg_count()); |
| 1263 EXPECT_EQ(0u, version_->foreign_fetch_scopes_.size()); | 1263 EXPECT_EQ(0u, version_->foreign_fetch_scopes_.size()); |
| 1264 EXPECT_EQ(0u, version_->foreign_fetch_origins_.size()); | 1264 EXPECT_EQ(0u, version_->foreign_fetch_origins_.size()); |
| 1265 | 1265 |
| 1266 // Subscope outside the scope of the worker. | 1266 // Subscope outside the scope of the worker. |
| 1267 version_->OnRegisterForeignFetchScopes( | 1267 version_->RegisterForeignFetchScopes( |
| 1268 std::vector<GURL>(1, GURL("http://www.example.com/wrong")), | 1268 std::vector<GURL>(1, GURL("http://www.example.com/wrong")), |
| 1269 valid_origin_list); | 1269 valid_origin_list); |
| 1270 base::RunLoop().RunUntilIdle(); | 1270 base::RunLoop().RunUntilIdle(); |
| 1271 EXPECT_EQ(2, helper_->mock_render_process_host()->bad_msg_count()); | 1271 EXPECT_EQ(2, 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 on wrong origin. | 1275 // Subscope on wrong origin. |
| 1276 version_->OnRegisterForeignFetchScopes( | 1276 version_->RegisterForeignFetchScopes( |
| 1277 std::vector<GURL>(1, GURL("http://example.com/test/")), | 1277 std::vector<GURL>(1, GURL("http://example.com/test/")), |
| 1278 valid_origin_list); | 1278 valid_origin_list); |
| 1279 base::RunLoop().RunUntilIdle(); | 1279 base::RunLoop().RunUntilIdle(); |
| 1280 EXPECT_EQ(3, helper_->mock_render_process_host()->bad_msg_count()); | 1280 EXPECT_EQ(3, 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 // Invalid origin. | 1284 // Invalid origin. |
| 1285 version_->OnRegisterForeignFetchScopes( | 1285 version_->RegisterForeignFetchScopes( |
| 1286 valid_scopes, std::vector<url::Origin>(1, url::Origin())); | 1286 valid_scopes, std::vector<url::Origin>(1, url::Origin())); |
| 1287 base::RunLoop().RunUntilIdle(); | 1287 base::RunLoop().RunUntilIdle(); |
| 1288 EXPECT_EQ(4, helper_->mock_render_process_host()->bad_msg_count()); | 1288 EXPECT_EQ(4, helper_->mock_render_process_host()->bad_msg_count()); |
| 1289 EXPECT_EQ(0u, version_->foreign_fetch_scopes_.size()); | 1289 EXPECT_EQ(0u, version_->foreign_fetch_scopes_.size()); |
| 1290 EXPECT_EQ(0u, version_->foreign_fetch_origins_.size()); | 1290 EXPECT_EQ(0u, version_->foreign_fetch_origins_.size()); |
| 1291 | 1291 |
| 1292 // Valid subscope, no origins. | 1292 // Valid subscope, no origins. |
| 1293 version_->OnRegisterForeignFetchScopes(std::vector<GURL>(1, valid_scope_1), | 1293 version_->RegisterForeignFetchScopes(std::vector<GURL>(1, valid_scope_1), |
| 1294 all_origins); | 1294 all_origins); |
| 1295 base::RunLoop().RunUntilIdle(); | 1295 base::RunLoop().RunUntilIdle(); |
| 1296 EXPECT_EQ(4, helper_->mock_render_process_host()->bad_msg_count()); | 1296 EXPECT_EQ(4, helper_->mock_render_process_host()->bad_msg_count()); |
| 1297 EXPECT_EQ(1u, version_->foreign_fetch_scopes_.size()); | 1297 EXPECT_EQ(1u, version_->foreign_fetch_scopes_.size()); |
| 1298 EXPECT_EQ(valid_scope_1, version_->foreign_fetch_scopes_[0]); | 1298 EXPECT_EQ(valid_scope_1, version_->foreign_fetch_scopes_[0]); |
| 1299 EXPECT_EQ(0u, version_->foreign_fetch_origins_.size()); | 1299 EXPECT_EQ(0u, version_->foreign_fetch_origins_.size()); |
| 1300 | 1300 |
| 1301 // Valid subscope, explicit origins. | 1301 // Valid subscope, explicit origins. |
| 1302 version_->OnRegisterForeignFetchScopes(valid_scopes, valid_origin_list); | 1302 version_->RegisterForeignFetchScopes(valid_scopes, valid_origin_list); |
| 1303 base::RunLoop().RunUntilIdle(); | 1303 base::RunLoop().RunUntilIdle(); |
| 1304 EXPECT_EQ(4, helper_->mock_render_process_host()->bad_msg_count()); | 1304 EXPECT_EQ(4, helper_->mock_render_process_host()->bad_msg_count()); |
| 1305 EXPECT_EQ(2u, version_->foreign_fetch_scopes_.size()); | 1305 EXPECT_EQ(2u, version_->foreign_fetch_scopes_.size()); |
| 1306 EXPECT_EQ(valid_scope_1, version_->foreign_fetch_scopes_[0]); | 1306 EXPECT_EQ(valid_scope_1, version_->foreign_fetch_scopes_[0]); |
| 1307 EXPECT_EQ(valid_scope_2, version_->foreign_fetch_scopes_[1]); | 1307 EXPECT_EQ(valid_scope_2, version_->foreign_fetch_scopes_[1]); |
| 1308 EXPECT_EQ(1u, version_->foreign_fetch_origins_.size()); | 1308 EXPECT_EQ(1u, version_->foreign_fetch_origins_.size()); |
| 1309 EXPECT_EQ(valid_origin, version_->foreign_fetch_origins_[0]); | 1309 EXPECT_EQ(valid_origin, version_->foreign_fetch_origins_[0]); |
| 1310 } | 1310 } |
| 1311 | 1311 |
| 1312 TEST_F(ServiceWorkerVersionTest, RendererCrashDuringEvent) { | 1312 TEST_F(ServiceWorkerVersionTest, RendererCrashDuringEvent) { |
| (...skipping 298 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1611 // Should not have timed out, so error callback should not have been | 1611 // Should not have timed out, so error callback should not have been |
| 1612 // called and FinishRequest should return true. | 1612 // called and FinishRequest should return true. |
| 1613 EXPECT_EQ(SERVICE_WORKER_OK, status); | 1613 EXPECT_EQ(SERVICE_WORKER_OK, status); |
| 1614 EXPECT_TRUE(version_->FinishRequest(request_id1, true /* was_handled */, | 1614 EXPECT_TRUE(version_->FinishRequest(request_id1, true /* was_handled */, |
| 1615 base::Time::Now())); | 1615 base::Time::Now())); |
| 1616 EXPECT_TRUE(version_->FinishRequest(request_id2, true /* was_handled */, | 1616 EXPECT_TRUE(version_->FinishRequest(request_id2, true /* was_handled */, |
| 1617 base::Time::Now())); | 1617 base::Time::Now())); |
| 1618 } | 1618 } |
| 1619 | 1619 |
| 1620 } // namespace content | 1620 } // namespace content |
| OLD | NEW |