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 |