Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(29)

Side by Side Diff: chrome/browser/extensions/extension_protocols_unittest.cc

Issue 2042483002: Fix web_accesible_resources enforcement for Site Isolation. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Fixes for code review, removed filter exceptions. Created 4 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
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
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
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
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698