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 193 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
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 { |
213 // It doesn't matter that the resource doesn't exist. If the resource | 213 // It doesn't matter that the resource doesn't exist. If the resource |
214 // is blocked, we should see ADDRESS_UNREACHABLE. Otherwise, the request | 214 // is blocked, we should see BLOCKED_BY_CLIENT. Otherwise, the request |
215 // should just fail because the file doesn't exist. | 215 // should just fail because the file doesn't exist. |
216 std::unique_ptr<net::URLRequest> request( | 216 std::unique_ptr<net::URLRequest> request( |
217 resource_context_.GetRequestContext()->CreateRequest( | 217 resource_context_.GetRequestContext()->CreateRequest( |
218 extension->GetResourceURL("404.html"), net::DEFAULT_PRIORITY, | 218 extension->GetResourceURL("404.html"), net::DEFAULT_PRIORITY, |
219 &test_delegate_)); | 219 &test_delegate_)); |
220 StartRequest(request.get(), content::RESOURCE_TYPE_MAIN_FRAME); | 220 StartRequest(request.get(), content::RESOURCE_TYPE_MAIN_FRAME); |
221 EXPECT_EQ(net::URLRequestStatus::FAILED, request->status().status()); | 221 EXPECT_EQ(net::URLRequestStatus::FAILED, request->status().status()); |
222 | 222 |
223 if (cases[i].should_allow_main_frame_load) { | 223 if (cases[i].should_allow_main_frame_load) { |
224 EXPECT_EQ(net::ERR_FILE_NOT_FOUND, request->status().error()) << | 224 EXPECT_EQ(net::ERR_FILE_NOT_FOUND, request->status().error()) << |
225 cases[i].name; | 225 cases[i].name; |
226 } else { | 226 } else { |
227 EXPECT_EQ(net::ERR_ADDRESS_UNREACHABLE, request->status().error()) << | 227 EXPECT_EQ(net::ERR_BLOCKED_BY_CLIENT, request->status().error()) |
228 cases[i].name; | 228 << cases[i].name; |
229 } | 229 } |
230 } | 230 } |
231 | 231 |
232 // Now do a subframe request. | 232 // Now do a subframe request. |
233 { | 233 { |
234 std::unique_ptr<net::URLRequest> request( | 234 std::unique_ptr<net::URLRequest> request( |
235 resource_context_.GetRequestContext()->CreateRequest( | 235 resource_context_.GetRequestContext()->CreateRequest( |
236 extension->GetResourceURL("404.html"), net::DEFAULT_PRIORITY, | 236 extension->GetResourceURL("404.html"), net::DEFAULT_PRIORITY, |
237 &test_delegate_)); | 237 &test_delegate_)); |
238 StartRequest(request.get(), content::RESOURCE_TYPE_SUB_FRAME); | 238 StartRequest(request.get(), content::RESOURCE_TYPE_SUB_FRAME); |
239 EXPECT_EQ(net::URLRequestStatus::FAILED, request->status().status()); | 239 EXPECT_EQ(net::URLRequestStatus::FAILED, request->status().status()); |
240 | 240 |
241 if (cases[i].should_allow_sub_frame_load) { | 241 if (cases[i].should_allow_sub_frame_load) { |
242 EXPECT_EQ(net::ERR_FILE_NOT_FOUND, request->status().error()) << | 242 EXPECT_EQ(net::ERR_FILE_NOT_FOUND, request->status().error()) << |
243 cases[i].name; | 243 cases[i].name; |
244 } else { | 244 } else { |
245 EXPECT_EQ(net::ERR_ADDRESS_UNREACHABLE, request->status().error()) << | 245 EXPECT_EQ(net::ERR_BLOCKED_BY_CLIENT, request->status().error()) |
246 cases[i].name; | 246 << cases[i].name; |
247 } | 247 } |
248 } | 248 } |
249 } | 249 } |
250 } | 250 } |
251 | 251 |
252 void CheckForContentLengthHeader(net::URLRequest* request) { | 252 void CheckForContentLengthHeader(net::URLRequest* request) { |
253 std::string content_length; | 253 std::string content_length; |
254 request->GetResponseHeaderByName(net::HttpRequestHeaders::kContentLength, | 254 request->GetResponseHeaderByName(net::HttpRequestHeaders::kContentLength, |
255 &content_length); | 255 &content_length); |
256 EXPECT_FALSE(content_length.empty()); | 256 EXPECT_FALSE(content_length.empty()); |
(...skipping 142 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
399 DoRequest(*extension, relative_path.AsUTF8Unsafe())); | 399 DoRequest(*extension, relative_path.AsUTF8Unsafe())); |
400 | 400 |
401 // Loading "/_metadata/a.txt" should also fail. | 401 // Loading "/_metadata/a.txt" should also fail. |
402 relative_path = base::FilePath(kMetadataFolder).AppendASCII("a.txt"); | 402 relative_path = base::FilePath(kMetadataFolder).AppendASCII("a.txt"); |
403 EXPECT_TRUE(base::PathExists(extension_dir.Append(relative_path))); | 403 EXPECT_TRUE(base::PathExists(extension_dir.Append(relative_path))); |
404 EXPECT_EQ(net::URLRequestStatus::FAILED, | 404 EXPECT_EQ(net::URLRequestStatus::FAILED, |
405 DoRequest(*extension, relative_path.AsUTF8Unsafe())); | 405 DoRequest(*extension, relative_path.AsUTF8Unsafe())); |
406 } | 406 } |
407 | 407 |
408 } // namespace extensions | 408 } // namespace extensions |
OLD | NEW |