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" |
11 #include "base/macros.h" | 11 #include "base/macros.h" |
12 #include "base/message_loop/message_loop.h" | 12 #include "base/message_loop/message_loop.h" |
13 #include "base/run_loop.h" | 13 #include "base/run_loop.h" |
14 #include "base/strings/string_number_conversions.h" | 14 #include "base/strings/string_number_conversions.h" |
15 #include "base/strings/string_util.h" | 15 #include "base/strings/string_util.h" |
16 #include "base/values.h" | 16 #include "base/values.h" |
17 #include "chrome/common/chrome_paths.h" | 17 #include "chrome/common/chrome_paths.h" |
18 #include "content/public/browser/resource_request_info.h" | 18 #include "content/public/browser/resource_request_info.h" |
19 #include "content/public/common/browser_side_navigation_policy.h" | 19 #include "content/public/common/browser_side_navigation_policy.h" |
| 20 #include "content/public/common/previews_state.h" |
20 #include "content/public/test/mock_resource_context.h" | 21 #include "content/public/test/mock_resource_context.h" |
21 #include "content/public/test/test_browser_thread_bundle.h" | 22 #include "content/public/test/test_browser_thread_bundle.h" |
22 #include "extensions/browser/extension_protocols.h" | 23 #include "extensions/browser/extension_protocols.h" |
23 #include "extensions/browser/info_map.h" | 24 #include "extensions/browser/info_map.h" |
24 #include "extensions/common/constants.h" | 25 #include "extensions/common/constants.h" |
25 #include "extensions/common/extension.h" | 26 #include "extensions/common/extension.h" |
26 #include "extensions/common/file_util.h" | 27 #include "extensions/common/file_util.h" |
27 #include "net/base/request_priority.h" | 28 #include "net/base/request_priority.h" |
28 #include "net/url_request/url_request.h" | 29 #include "net/url_request/url_request.h" |
29 #include "net/url_request/url_request_job_factory_impl.h" | 30 #include "net/url_request/url_request_job_factory_impl.h" |
(...skipping 99 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
129 job_factory_.SetProtocolHandler( | 130 job_factory_.SetProtocolHandler( |
130 kExtensionScheme, | 131 kExtensionScheme, |
131 CreateExtensionProtocolHandler(is_incognito, | 132 CreateExtensionProtocolHandler(is_incognito, |
132 extension_info_map_.get())); | 133 extension_info_map_.get())); |
133 request_context->set_job_factory(&job_factory_); | 134 request_context->set_job_factory(&job_factory_); |
134 } | 135 } |
135 | 136 |
136 void StartRequest(net::URLRequest* request, | 137 void StartRequest(net::URLRequest* request, |
137 ResourceType resource_type) { | 138 ResourceType resource_type) { |
138 content::ResourceRequestInfo::AllocateForTesting( | 139 content::ResourceRequestInfo::AllocateForTesting( |
139 request, | 140 request, resource_type, &resource_context_, |
140 resource_type, | 141 /*render_process_id=*/-1, |
141 &resource_context_, | 142 /*render_view_id=*/-1, |
142 -1, // render_process_id | 143 /*render_frame_id=*/-1, |
143 -1, // render_view_id | 144 /*is_main_frame=*/resource_type == content::RESOURCE_TYPE_MAIN_FRAME, |
144 -1, // render_frame_id | 145 /*parent_is_main_frame=*/false, |
145 resource_type == content::RESOURCE_TYPE_MAIN_FRAME, // is_main_frame | 146 /*allow_download=*/true, |
146 false, // parent_is_main_frame | 147 /*is_async=*/false, content::PREVIEWS_OFF); |
147 true, // allow_download | |
148 false, // is_async | |
149 false); // is_using_lofi | |
150 request->Start(); | 148 request->Start(); |
151 base::RunLoop().Run(); | 149 base::RunLoop().Run(); |
152 } | 150 } |
153 | 151 |
154 // Helper method to create a URLRequest, call StartRequest on it, and return | 152 // Helper method to create a URLRequest, call StartRequest on it, and return |
155 // the result. If |extension| hasn't already been added to | 153 // the result. If |extension| hasn't already been added to |
156 // |extension_info_map_|, this will add it. | 154 // |extension_info_map_|, this will add it. |
157 int DoRequest(const Extension& extension, const std::string& relative_path) { | 155 int DoRequest(const Extension& extension, const std::string& relative_path) { |
158 if (!extension_info_map_->extensions().Contains(extension.id())) { | 156 if (!extension_info_map_->extensions().Contains(extension.id())) { |
159 extension_info_map_->AddExtension(&extension, | 157 extension_info_map_->AddExtension(&extension, |
(...skipping 250 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
410 DoRequest(*extension, relative_path.AsUTF8Unsafe())); | 408 DoRequest(*extension, relative_path.AsUTF8Unsafe())); |
411 | 409 |
412 // Loading "/_metadata/a.txt" should also fail. | 410 // Loading "/_metadata/a.txt" should also fail. |
413 relative_path = base::FilePath(kMetadataFolder).AppendASCII("a.txt"); | 411 relative_path = base::FilePath(kMetadataFolder).AppendASCII("a.txt"); |
414 EXPECT_TRUE(base::PathExists(extension_dir.Append(relative_path))); | 412 EXPECT_TRUE(base::PathExists(extension_dir.Append(relative_path))); |
415 EXPECT_EQ(net::ERR_FAILED, | 413 EXPECT_EQ(net::ERR_FAILED, |
416 DoRequest(*extension, relative_path.AsUTF8Unsafe())); | 414 DoRequest(*extension, relative_path.AsUTF8Unsafe())); |
417 } | 415 } |
418 | 416 |
419 } // namespace extensions | 417 } // namespace extensions |
OLD | NEW |