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

Side by Side Diff: ppapi/tests/test_url_loader.cc

Issue 8692015: Move the mock headers file for 'test_case.html' to the destination directory so cross-origin (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src/
Patch Set: '' Created 9 years 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 | Annotate | Revision Log
« no previous file with comments | « chrome/chrome_tests.gypi ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2011 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 "ppapi/tests/test_url_loader.h" 5 #include "ppapi/tests/test_url_loader.h"
6 6
7 #include <stdio.h> 7 #include <stdio.h>
8 #include <string.h> 8 #include <string.h>
9 #include <string> 9 #include <string>
10 10
(...skipping 98 matching lines...) Expand 10 before | Expand all | Expand 10 after
109 // FileIO interface is not yet supported by ppapi/proxy. 109 // FileIO interface is not yet supported by ppapi/proxy.
110 if (!testing_interface_->IsOutOfProcess()) { 110 if (!testing_interface_->IsOutOfProcess()) {
111 RUN_TEST_FORCEASYNC_AND_NOT(BasicFilePOST, filter); 111 RUN_TEST_FORCEASYNC_AND_NOT(BasicFilePOST, filter);
112 RUN_TEST_FORCEASYNC_AND_NOT(BasicFileRangePOST, filter); 112 RUN_TEST_FORCEASYNC_AND_NOT(BasicFileRangePOST, filter);
113 } 113 }
114 RUN_TEST_FORCEASYNC_AND_NOT(CompoundBodyPOST, filter); 114 RUN_TEST_FORCEASYNC_AND_NOT(CompoundBodyPOST, filter);
115 RUN_TEST_FORCEASYNC_AND_NOT(EmptyDataPOST, filter); 115 RUN_TEST_FORCEASYNC_AND_NOT(EmptyDataPOST, filter);
116 RUN_TEST_FORCEASYNC_AND_NOT(BinaryDataPOST, filter); 116 RUN_TEST_FORCEASYNC_AND_NOT(BinaryDataPOST, filter);
117 RUN_TEST_FORCEASYNC_AND_NOT(CustomRequestHeader, filter); 117 RUN_TEST_FORCEASYNC_AND_NOT(CustomRequestHeader, filter);
118 RUN_TEST_FORCEASYNC_AND_NOT(FailsBogusContentLength, filter); 118 RUN_TEST_FORCEASYNC_AND_NOT(FailsBogusContentLength, filter);
119 // Disable portion of test which fails when the HTTP server's 119 // TODO(bbudge) Enable these tests for NaCl when we have a way to get
120 // data_dir is moved to PRODUCT_DIR. 120 // the document URL. The PPAPI tests use PPB_URLUtil_Dev.
121 // http://code.google.com/p/chromium/issues/detail?id=103690 121 #if !(defined __native_client__)
122 // RUN_TEST_FORCEASYNC_AND_NOT(SameOriginRestriction, filter); 122 RUN_TEST_FORCEASYNC_AND_NOT(SameOriginRestriction, filter);
123 // RUN_TEST_FORCEASYNC_AND_NOT(CrossOriginRequest, filter); 123 // Cross origin requests require the 'test_case.html.mock-http-headers'
124 // file to be in the same directory as 'test_case.html', so that the test
125 // server returns CORS response headers.
126 RUN_TEST_FORCEASYNC_AND_NOT(CrossOriginRequest, filter);
127 #endif
124 RUN_TEST_FORCEASYNC_AND_NOT(JavascriptURLRestriction, filter); 128 RUN_TEST_FORCEASYNC_AND_NOT(JavascriptURLRestriction, filter);
125 RUN_TEST_FORCEASYNC_AND_NOT(MethodRestriction, filter); 129 RUN_TEST_FORCEASYNC_AND_NOT(MethodRestriction, filter);
126 RUN_TEST_FORCEASYNC_AND_NOT(HeaderRestriction, filter); 130 RUN_TEST_FORCEASYNC_AND_NOT(HeaderRestriction, filter);
127 RUN_TEST_FORCEASYNC_AND_NOT(CustomReferrer, filter); 131 RUN_TEST_FORCEASYNC_AND_NOT(CustomReferrer, filter);
128 RUN_TEST_FORCEASYNC_AND_NOT(CustomContentTransferEncoding, filter); 132 RUN_TEST_FORCEASYNC_AND_NOT(CustomContentTransferEncoding, filter);
129 RUN_TEST_FORCEASYNC_AND_NOT(StreamToFile, filter); 133 RUN_TEST_FORCEASYNC_AND_NOT(StreamToFile, filter);
130 RUN_TEST_FORCEASYNC_AND_NOT(AuditURLRedirect, filter); 134 RUN_TEST_FORCEASYNC_AND_NOT(AuditURLRedirect, filter);
131 RUN_TEST_FORCEASYNC_AND_NOT(AbortCalls, filter); 135 RUN_TEST_FORCEASYNC_AND_NOT(AbortCalls, filter);
132 RUN_TEST_FORCEASYNC_AND_NOT(UntendedLoad, filter); 136 RUN_TEST_FORCEASYNC_AND_NOT(UntendedLoad, filter);
133 } 137 }
(...skipping 125 matching lines...) Expand 10 before | Expand all | Expand 10 after
259 } 263 }
260 264
261 std::string TestURLLoader::GetReachableCrossOriginURL() { 265 std::string TestURLLoader::GetReachableCrossOriginURL() {
262 // Get the document URL and use it to construct a URL that will be 266 // Get the document URL and use it to construct a URL that will be
263 // considered cross-origin by the WebKit access control code, and yet be 267 // considered cross-origin by the WebKit access control code, and yet be
264 // reachable by the test server. 268 // reachable by the test server.
265 PP_URLComponents_Dev components; 269 PP_URLComponents_Dev components;
266 pp::Var pp_document_url = pp::URLUtil_Dev::Get()->GetDocumentURL( 270 pp::Var pp_document_url = pp::URLUtil_Dev::Get()->GetDocumentURL(
267 *instance_, &components); 271 *instance_, &components);
268 std::string document_url = pp_document_url.AsString(); 272 std::string document_url = pp_document_url.AsString();
269 // Replace "127.0.0.1" with "localhost". 273 // Replace "127.0.0.1" with "localhost". Or vice versa.
270 ASSERT_TRUE(document_url.find("127.0.0.1") != std::string::npos); 274 bool changedHost = false;
271 return document_url.replace( 275 if (document_url.find("127.0.0.1") != std::string::npos) {
272 components.host.begin, components.host.len, "localhost"); 276 document_url.replace(components.host.begin,
277 components.host.len,
278 "localhost");
279 changedHost = true;
280 } else if (document_url.find("localhost") != std::string::npos) {
281 document_url.replace(components.host.begin,
282 components.host.len,
283 "127.0.0.1");
284 changedHost = true;
285 }
286 ASSERT_TRUE(changedHost);
287 return document_url;
273 } 288 }
274 289
275 int32_t TestURLLoader::OpenUntrusted(const std::string& method, 290 int32_t TestURLLoader::OpenUntrusted(const std::string& method,
276 const std::string& header) { 291 const std::string& header) {
277 pp::URLRequestInfo request(instance_); 292 pp::URLRequestInfo request(instance_);
278 request.SetURL("/echo"); 293 request.SetURL("/echo");
279 request.SetMethod(method); 294 request.SetMethod(method);
280 request.SetHeaders(header); 295 request.SetHeaders(header);
281 296
282 return OpenUntrusted(request); 297 return OpenUntrusted(request);
(...skipping 242 matching lines...) Expand 10 before | Expand all | Expand 10 after
525 pp::URLRequestInfo request(instance_); 540 pp::URLRequestInfo request(instance_);
526 std::string cross_origin_url = GetReachableCrossOriginURL(); 541 std::string cross_origin_url = GetReachableCrossOriginURL();
527 request.SetURL(cross_origin_url); 542 request.SetURL(cross_origin_url);
528 request.SetAllowCrossOriginRequests(true); 543 request.SetAllowCrossOriginRequests(true);
529 544
530 int32_t rv; 545 int32_t rv;
531 rv = OpenUntrusted(request); 546 rv = OpenUntrusted(request);
532 if (rv != PP_OK) 547 if (rv != PP_OK)
533 return ReportError( 548 return ReportError(
534 "Untrusted, intended cross-origin request", rv); 549 "Untrusted, intended cross-origin request", rv);
550 #if !(defined __native_client__)
535 rv = OpenTrusted(request); 551 rv = OpenTrusted(request);
536 if (rv != PP_OK) 552 if (rv != PP_OK)
537 return ReportError("Trusted cross-origin request", rv); 553 return ReportError("Trusted cross-origin request", rv);
554 #endif
538 555
539 PASS(); 556 PASS();
540 } 557 }
541 558
542 // Javascript URLs are only reachable by trusted loaders. 559 // Javascript URLs are only reachable by trusted loaders.
543 std::string TestURLLoader::TestJavascriptURLRestriction() { 560 std::string TestURLLoader::TestJavascriptURLRestriction() {
544 pp::URLRequestInfo request(instance_); 561 pp::URLRequestInfo request(instance_);
545 request.SetURL("javascript:foo = bar"); 562 request.SetURL("javascript:foo = bar");
546 563
547 int32_t rv; 564 int32_t rv;
(...skipping 256 matching lines...) Expand 10 before | Expand all | Expand 10 after
804 if (!error.empty()) 821 if (!error.empty())
805 return error; 822 return error;
806 if (body != "hello\n") 823 if (body != "hello\n")
807 return ReportError("Couldn't read data", rv); 824 return ReportError("Couldn't read data", rv);
808 825
809 PASS(); 826 PASS();
810 } 827 }
811 828
812 // TODO(viettrungluu): Add tests for FollowRedirect, 829 // TODO(viettrungluu): Add tests for FollowRedirect,
813 // Get{Upload,Download}Progress, Close (including abort tests if applicable). 830 // Get{Upload,Download}Progress, Close (including abort tests if applicable).
OLDNEW
« no previous file with comments | « chrome/chrome_tests.gypi ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698