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

Unified Diff: third_party/WebKit/LayoutTests/http/tests/security/cors-rfc1918/external-to-internal-xhr.html

Issue 1745083002: CORS-RFC1918: Force preflights for external requests in DocumentThreadableLoader. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Test. Created 4 years, 8 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 side-by-side diff with in-line comments
Download patch
Index: third_party/WebKit/LayoutTests/http/tests/security/cors-rfc1918/external-to-internal-xhr.html
diff --git a/third_party/WebKit/LayoutTests/http/tests/security/cors-rfc1918/external-to-internal-xhr.html b/third_party/WebKit/LayoutTests/http/tests/security/cors-rfc1918/external-to-internal-xhr.html
new file mode 100644
index 0000000000000000000000000000000000000000..e4c3fef3202a3d4bc5a66fbda231827680f9dde3
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/http/tests/security/cors-rfc1918/external-to-internal-xhr.html
@@ -0,0 +1,47 @@
+<!doctype html>
+<html>
+<head>
+ <meta http-equiv="Content-Security-Policy" content="treat-as-public-address">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="./resources/preflight.js"></script>
+</head>
+<body>
+ <script>
+ async_test(function (t) {
+ var xhr = new XMLHttpRequest;
+ xhr.onload = t.unreached_func("The load should fail.");
+ xhr.onerror = t.step_func_done(function (e) {
+ assert_equals(0, e.loaded);
+ });
+
+ xhr.open("GET", preflightURL('fail-with-500', 'json'), true);
+ xhr.send();
+ }, "XHR should fail on failed preflight: 500 status");
+
+ async_test(function (t) {
+ var xhr = new XMLHttpRequest;
+ xhr.onload = t.unreached_func("The load should fail.");
+ xhr.onerror = t.step_func_done(function (e) {
+ assert_equals(0, e.loaded);
+ });
+
+ xhr.open("GET", preflightURL('fail-without-allow', 'json'), true);
+ xhr.send();
+ }, "XHR should fail on failed preflight: no allow-external");
+
+
+ async_test(function (t) {
+ var xhr = new XMLHttpRequest;
+ xhr.responseType = "json";
+ xhr.onload = t.step_func_done(function (e) {
+ assert_equals('success', xhr.response.jsonpResult);
+ });
+ xhr.onerror = t.unreached_func("The load should not fail.");
+
+ xhr.open("GET", preflightURL('pass', 'json'), true);
+ xhr.send();
+ }, "XHR should pass on successful preflight");
+ </script>
+</body>
+</html>

Powered by Google App Engine
This is Rietveld 408576698