Chromium Code Reviews| 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 <stddef.h> | 5 #include <stddef.h> |
| 6 | 6 |
| 7 #include <memory> | 7 #include <memory> |
| 8 #include <string> | 8 #include <string> |
| 9 | 9 |
| 10 #include "base/files/file_util.h" | 10 #include "base/files/file_util.h" |
| (...skipping 180 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 191 std::string name; | 191 std::string name; |
| 192 bool incognito_split_mode; | 192 bool incognito_split_mode; |
| 193 bool incognito_enabled; | 193 bool incognito_enabled; |
| 194 | 194 |
| 195 // Expected results. | 195 // Expected results. |
| 196 bool should_allow_main_frame_load; | 196 bool should_allow_main_frame_load; |
| 197 bool should_allow_sub_frame_load; | 197 bool should_allow_sub_frame_load; |
| 198 } cases[] = { | 198 } cases[] = { |
| 199 {"spanning disabled", false, false, false, false}, | 199 {"spanning disabled", false, false, false, false}, |
| 200 {"split disabled", true, false, false, false}, | 200 {"split disabled", true, false, false, false}, |
| 201 {"spanning enabled", false, true, false, true}, | 201 {"spanning enabled", false, true, false, false}, |
| 202 {"split enabled", true, true, true, true}, | 202 {"split enabled", true, true, true, false}, |
| 203 }; | 203 }; |
| 204 | 204 |
| 205 for (size_t i = 0; i < arraysize(cases); ++i) { | 205 for (size_t i = 0; i < arraysize(cases); ++i) { |
| 206 scoped_refptr<Extension> extension = | 206 scoped_refptr<Extension> extension = |
| 207 CreateTestExtension(cases[i].name, cases[i].incognito_split_mode); | 207 CreateTestExtension(cases[i].name, cases[i].incognito_split_mode); |
| 208 extension_info_map_->AddExtension( | 208 extension_info_map_->AddExtension( |
| 209 extension.get(), base::Time::Now(), cases[i].incognito_enabled, false); | 209 extension.get(), base::Time::Now(), cases[i].incognito_enabled, false); |
| 210 | 210 |
| 211 // First test a main frame request. | 211 // First test a main frame request. |
| 212 { | 212 { |
| (...skipping 126 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 339 TEST_F(ExtensionProtocolTest, AllowFrameRequests) { | 339 TEST_F(ExtensionProtocolTest, AllowFrameRequests) { |
| 340 // Register a non-incognito extension protocol handler. | 340 // Register a non-incognito extension protocol handler. |
| 341 SetProtocolHandler(false); | 341 SetProtocolHandler(false); |
| 342 | 342 |
| 343 scoped_refptr<Extension> extension = CreateTestExtension("foo", false); | 343 scoped_refptr<Extension> extension = CreateTestExtension("foo", false); |
| 344 extension_info_map_->AddExtension(extension.get(), | 344 extension_info_map_->AddExtension(extension.get(), |
| 345 base::Time::Now(), | 345 base::Time::Now(), |
| 346 false, | 346 false, |
| 347 false); | 347 false); |
| 348 | 348 |
| 349 // All MAIN_FRAME and SUB_FRAME requests should succeed. | 349 // All MAIN_FRAME and SUB_FRAME requests should succeed. |
|
asargent_no_longer_on_chrome
2016/05/31 18:17:38
nit: mind updating this comment? Something like "A
nasko
2016/05/31 23:16:17
Done.
| |
| 350 { | 350 { |
| 351 std::unique_ptr<net::URLRequest> request( | 351 std::unique_ptr<net::URLRequest> request( |
| 352 resource_context_.GetRequestContext()->CreateRequest( | 352 resource_context_.GetRequestContext()->CreateRequest( |
| 353 extension->GetResourceURL("test.dat"), net::DEFAULT_PRIORITY, | 353 extension->GetResourceURL("test.dat"), net::DEFAULT_PRIORITY, |
| 354 &test_delegate_)); | 354 &test_delegate_)); |
| 355 StartRequest(request.get(), content::RESOURCE_TYPE_MAIN_FRAME); | 355 StartRequest(request.get(), content::RESOURCE_TYPE_MAIN_FRAME); |
| 356 EXPECT_EQ(net::URLRequestStatus::SUCCESS, request->status().status()); | 356 EXPECT_EQ(net::URLRequestStatus::SUCCESS, request->status().status()); |
| 357 } | 357 } |
| 358 { | 358 { |
| 359 std::unique_ptr<net::URLRequest> request( | 359 std::unique_ptr<net::URLRequest> request( |
| 360 resource_context_.GetRequestContext()->CreateRequest( | 360 resource_context_.GetRequestContext()->CreateRequest( |
| 361 extension->GetResourceURL("test.dat"), net::DEFAULT_PRIORITY, | 361 extension->GetResourceURL("test.dat"), net::DEFAULT_PRIORITY, |
| 362 &test_delegate_)); | 362 &test_delegate_)); |
| 363 StartRequest(request.get(), content::RESOURCE_TYPE_SUB_FRAME); | 363 StartRequest(request.get(), content::RESOURCE_TYPE_SUB_FRAME); |
| 364 EXPECT_EQ(net::URLRequestStatus::SUCCESS, request->status().status()); | 364 EXPECT_EQ(net::URLRequestStatus::FAILED, request->status().status()); |
| 365 } | 365 } |
| 366 | 366 |
| 367 // And subresource types, such as media, should fail. | 367 // And subresource types, such as media, should fail. |
| 368 { | 368 { |
| 369 std::unique_ptr<net::URLRequest> request( | 369 std::unique_ptr<net::URLRequest> request( |
| 370 resource_context_.GetRequestContext()->CreateRequest( | 370 resource_context_.GetRequestContext()->CreateRequest( |
| 371 extension->GetResourceURL("test.dat"), net::DEFAULT_PRIORITY, | 371 extension->GetResourceURL("test.dat"), net::DEFAULT_PRIORITY, |
| 372 &test_delegate_)); | 372 &test_delegate_)); |
| 373 StartRequest(request.get(), content::RESOURCE_TYPE_MEDIA); | 373 StartRequest(request.get(), content::RESOURCE_TYPE_MEDIA); |
| 374 EXPECT_EQ(net::URLRequestStatus::FAILED, request->status().status()); | 374 EXPECT_EQ(net::URLRequestStatus::FAILED, request->status().status()); |
| (...skipping 22 matching lines...) Expand all Loading... | |
| 397 DoRequest(*extension, relative_path.AsUTF8Unsafe())); | 397 DoRequest(*extension, relative_path.AsUTF8Unsafe())); |
| 398 | 398 |
| 399 // Loading "/_metadata/a.txt" should also fail. | 399 // Loading "/_metadata/a.txt" should also fail. |
| 400 relative_path = base::FilePath(kMetadataFolder).AppendASCII("a.txt"); | 400 relative_path = base::FilePath(kMetadataFolder).AppendASCII("a.txt"); |
| 401 EXPECT_TRUE(base::PathExists(extension_dir.Append(relative_path))); | 401 EXPECT_TRUE(base::PathExists(extension_dir.Append(relative_path))); |
| 402 EXPECT_EQ(net::URLRequestStatus::FAILED, | 402 EXPECT_EQ(net::URLRequestStatus::FAILED, |
| 403 DoRequest(*extension, relative_path.AsUTF8Unsafe())); | 403 DoRequest(*extension, relative_path.AsUTF8Unsafe())); |
| 404 } | 404 } |
| 405 | 405 |
| 406 } // namespace extensions | 406 } // namespace extensions |
| OLD | NEW |