Import fetch/api/cors tests
authorcommit-queue@webkit.org <commit-queue@webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Thu, 29 Nov 2018 10:30:29 +0000 (10:30 +0000)
committercommit-queue@webkit.org <commit-queue@webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Thu, 29 Nov 2018 10:30:29 +0000 (10:30 +0000)
https://bugs.webkit.org/show_bug.cgi?id=192092

Patch by Rob Buis <rbuis@igalia.com> on 2018-11-29
Reviewed by Frédéric Wang.

Import to most recent checkout since some old
tests like cors-multiple-origins.js were incorrect.

* resources/import-expectations.json:
* web-platform-tests/fetch/api/cors/cors-expose-star-worker.html: Removed.
* web-platform-tests/fetch/api/cors/cors-expose-star.html: Removed.
* web-platform-tests/fetch/api/cors/cors-expose-star.sub.any-expected.txt: Renamed from LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-expose-star-expected.txt.
* web-platform-tests/fetch/api/cors/cors-expose-star.sub.any.html: Added.
* web-platform-tests/fetch/api/cors/cors-expose-star.sub.any.js: Renamed from LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-expose-star.js.
(sharedHeaders.string_appeared_here.promise_test):
(string_appeared_here.promise_test):
* web-platform-tests/fetch/api/cors/cors-expose-star.sub.any.worker-expected.txt: Renamed from LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-expose-star-worker-expected.txt.
* web-platform-tests/fetch/api/cors/cors-expose-star.sub.any.worker.html: Added.
* web-platform-tests/fetch/api/cors/cors-filtering-worker.html: Removed.
* web-platform-tests/fetch/api/cors/cors-filtering.html: Removed.
* web-platform-tests/fetch/api/cors/cors-filtering.sub.any-expected.txt: Renamed from LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-filtering-expected.txt.
* web-platform-tests/fetch/api/cors/cors-filtering.sub.any.html: Added.
* web-platform-tests/fetch/api/cors/cors-filtering.sub.any.js: Renamed from LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-filtering.js.
(corsFilter):
(corsExposeFilter):
* web-platform-tests/fetch/api/cors/cors-filtering.sub.any.worker-expected.txt: Renamed from LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-filtering-worker-expected.txt.
* web-platform-tests/fetch/api/cors/cors-filtering.sub.any.worker.html: Added.
* web-platform-tests/fetch/api/cors/cors-multiple-origins-worker-expected.txt: Removed.
* web-platform-tests/fetch/api/cors/cors-multiple-origins-worker.html: Removed.
* web-platform-tests/fetch/api/cors/cors-multiple-origins.html: Removed.
* web-platform-tests/fetch/api/cors/cors-multiple-origins.js: Removed.
* web-platform-tests/fetch/api/cors/cors-multiple-origins.sub.any-expected.txt: Renamed from LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-multiple-origins-expected.txt.
* web-platform-tests/fetch/api/cors/cors-multiple-origins.sub.any.html: Added.
* web-platform-tests/fetch/api/cors/cors-multiple-origins.sub.any.js: Added.
(corsMultipleOrigins):
* web-platform-tests/fetch/api/cors/cors-multiple-origins.sub.any.worker-expected.txt: Added.
* web-platform-tests/fetch/api/cors/cors-multiple-origins.sub.any.worker.html: Added.
* web-platform-tests/fetch/api/cors/cors-preflight-not-cors-safelisted.any-expected.txt: Added.
* web-platform-tests/fetch/api/cors/cors-preflight-not-cors-safelisted.any.html: Added.
* web-platform-tests/fetch/api/cors/cors-preflight-not-cors-safelisted.any.js: Added.
(runTests):
* web-platform-tests/fetch/api/cors/cors-preflight-not-cors-safelisted.any.worker-expected.txt: Added.
* web-platform-tests/fetch/api/cors/cors-preflight-not-cors-safelisted.any.worker.html: Added.
* web-platform-tests/fetch/api/cors/cors-preflight.any.js:
(headerNames): Deleted.
(): Deleted.
(corsPreflight): Deleted.
* web-platform-tests/fetch/api/cors/resources/corspreflight.js: Copied from LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-preflight.any.js.
(headerNames):
(corsPreflight):
* web-platform-tests/fetch/api/cors/resources/not-cors-safelisted.json: Added.
* web-platform-tests/fetch/api/cors/resources/w3c-import.log: Added.
* web-platform-tests/fetch/api/cors/sandboxed-iframe-expected.txt: Added.
* web-platform-tests/fetch/api/cors/sandboxed-iframe.html: Added.
* web-platform-tests/fetch/api/cors/w3c-import.log:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@238664 268f45cc-cd09-0410-ab3c-d52691b4dbfc

37 files changed:
LayoutTests/imported/w3c/ChangeLog
LayoutTests/imported/w3c/resources/import-expectations.json
LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-expose-star-worker.html [deleted file]
LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-expose-star.html [deleted file]
LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-expose-star.sub.any-expected.txt [moved from LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-expose-star-expected.txt with 100% similarity]
LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-expose-star.sub.any.html [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-expose-star.sub.any.js [moved from LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-expose-star.js with 93% similarity]
LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-expose-star.sub.any.worker-expected.txt [moved from LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-expose-star-worker-expected.txt with 100% similarity]
LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-expose-star.sub.any.worker.html [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-filtering-worker.html [deleted file]
LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-filtering.html [deleted file]
LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-filtering.sub.any-expected.txt [moved from LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-filtering-expected.txt with 100% similarity]
LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-filtering.sub.any.html [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-filtering.sub.any.js [moved from LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-filtering.js with 96% similarity]
LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-filtering.sub.any.worker-expected.txt [moved from LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-filtering-worker-expected.txt with 100% similarity]
LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-filtering.sub.any.worker.html [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-multiple-origins-worker-expected.txt [deleted file]
LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-multiple-origins-worker.html [deleted file]
LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-multiple-origins.html [deleted file]
LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-multiple-origins.js [deleted file]
LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-multiple-origins.sub.any-expected.txt [moved from LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-multiple-origins-expected.txt with 62% similarity]
LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-multiple-origins.sub.any.html [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-multiple-origins.sub.any.js [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-multiple-origins.sub.any.worker-expected.txt [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-multiple-origins.sub.any.worker.html [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-preflight-not-cors-safelisted.any-expected.txt [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-preflight-not-cors-safelisted.any.html [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-preflight-not-cors-safelisted.any.js [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-preflight-not-cors-safelisted.any.worker-expected.txt [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-preflight-not-cors-safelisted.any.worker.html [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-preflight.any.js
LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/resources/corspreflight.js [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/resources/not-cors-safelisted.json [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/resources/w3c-import.log [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/sandboxed-iframe-expected.txt [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/sandboxed-iframe.html [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/w3c-import.log

index e8e2b73..7f749a2 100644 (file)
@@ -1,3 +1,61 @@
+2018-11-29  Rob Buis  <rbuis@igalia.com>
+
+        Import fetch/api/cors tests
+        https://bugs.webkit.org/show_bug.cgi?id=192092
+
+        Reviewed by Frédéric Wang.
+
+        Import to most recent checkout since some old
+        tests like cors-multiple-origins.js were incorrect.
+
+        * resources/import-expectations.json:
+        * web-platform-tests/fetch/api/cors/cors-expose-star-worker.html: Removed.
+        * web-platform-tests/fetch/api/cors/cors-expose-star.html: Removed.
+        * web-platform-tests/fetch/api/cors/cors-expose-star.sub.any-expected.txt: Renamed from LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-expose-star-expected.txt.
+        * web-platform-tests/fetch/api/cors/cors-expose-star.sub.any.html: Added.
+        * web-platform-tests/fetch/api/cors/cors-expose-star.sub.any.js: Renamed from LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-expose-star.js.
+        (sharedHeaders.string_appeared_here.promise_test):
+        (string_appeared_here.promise_test):
+        * web-platform-tests/fetch/api/cors/cors-expose-star.sub.any.worker-expected.txt: Renamed from LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-expose-star-worker-expected.txt.
+        * web-platform-tests/fetch/api/cors/cors-expose-star.sub.any.worker.html: Added.
+        * web-platform-tests/fetch/api/cors/cors-filtering-worker.html: Removed.
+        * web-platform-tests/fetch/api/cors/cors-filtering.html: Removed.
+        * web-platform-tests/fetch/api/cors/cors-filtering.sub.any-expected.txt: Renamed from LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-filtering-expected.txt.
+        * web-platform-tests/fetch/api/cors/cors-filtering.sub.any.html: Added.
+        * web-platform-tests/fetch/api/cors/cors-filtering.sub.any.js: Renamed from LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-filtering.js.
+        (corsFilter):
+        (corsExposeFilter):
+        * web-platform-tests/fetch/api/cors/cors-filtering.sub.any.worker-expected.txt: Renamed from LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-filtering-worker-expected.txt.
+        * web-platform-tests/fetch/api/cors/cors-filtering.sub.any.worker.html: Added.
+        * web-platform-tests/fetch/api/cors/cors-multiple-origins-worker-expected.txt: Removed.
+        * web-platform-tests/fetch/api/cors/cors-multiple-origins-worker.html: Removed.
+        * web-platform-tests/fetch/api/cors/cors-multiple-origins.html: Removed.
+        * web-platform-tests/fetch/api/cors/cors-multiple-origins.js: Removed.
+        * web-platform-tests/fetch/api/cors/cors-multiple-origins.sub.any-expected.txt: Renamed from LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-multiple-origins-expected.txt.
+        * web-platform-tests/fetch/api/cors/cors-multiple-origins.sub.any.html: Added.
+        * web-platform-tests/fetch/api/cors/cors-multiple-origins.sub.any.js: Added.
+        (corsMultipleOrigins):
+        * web-platform-tests/fetch/api/cors/cors-multiple-origins.sub.any.worker-expected.txt: Added.
+        * web-platform-tests/fetch/api/cors/cors-multiple-origins.sub.any.worker.html: Added.
+        * web-platform-tests/fetch/api/cors/cors-preflight-not-cors-safelisted.any-expected.txt: Added.
+        * web-platform-tests/fetch/api/cors/cors-preflight-not-cors-safelisted.any.html: Added.
+        * web-platform-tests/fetch/api/cors/cors-preflight-not-cors-safelisted.any.js: Added.
+        (runTests):
+        * web-platform-tests/fetch/api/cors/cors-preflight-not-cors-safelisted.any.worker-expected.txt: Added.
+        * web-platform-tests/fetch/api/cors/cors-preflight-not-cors-safelisted.any.worker.html: Added.
+        * web-platform-tests/fetch/api/cors/cors-preflight.any.js:
+        (headerNames): Deleted.
+        (): Deleted.
+        (corsPreflight): Deleted.
+        * web-platform-tests/fetch/api/cors/resources/corspreflight.js: Copied from LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-preflight.any.js.
+        (headerNames):
+        (corsPreflight):
+        * web-platform-tests/fetch/api/cors/resources/not-cors-safelisted.json: Added.
+        * web-platform-tests/fetch/api/cors/resources/w3c-import.log: Added.
+        * web-platform-tests/fetch/api/cors/sandboxed-iframe-expected.txt: Added.
+        * web-platform-tests/fetch/api/cors/sandboxed-iframe.html: Added.
+        * web-platform-tests/fetch/api/cors/w3c-import.log:
+
 2018-11-28  Rob Buis  <rbuis@igalia.com>
 
         [XHR] Document.lastModified doesn't work for non-rendered documents
index cd39a72..984d75c 100644 (file)
     "web-platform-tests/feature-policy/resources/": "import", 
     "web-platform-tests/fetch": "import", 
     "web-platform-tests/fetch/api": "import", 
+    "web-platform-tests/fetch/api/cors": "import", 
     "web-platform-tests/fetch/range": "import", 
     "web-platform-tests/fullscreen": "skip", 
     "web-platform-tests/gamepad": "skip", 
diff --git a/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-expose-star-worker.html b/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-expose-star-worker.html
deleted file mode 100644 (file)
index db9b943..0000000
+++ /dev/null
@@ -1,14 +0,0 @@
-<!doctype html>
-<html>
-  <head>
-    <meta charset="utf-8">
-    <title>Fetch in worker: Access-Control-Expose-Headers: *</title>
-    <script src="/resources/testharness.js"></script>
-    <script src="/resources/testharnessreport.js"></script>
-  </head>
-  <body>
-    <script>
-      fetch_tests_from_worker(new Worker("cors-expose-star.js?pipe=sub"));
-    </script>
-  </body>
-</html>
diff --git a/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-expose-star.html b/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-expose-star.html
deleted file mode 100644 (file)
index 37223bd..0000000
+++ /dev/null
@@ -1,13 +0,0 @@
-<!doctype html>
-<html>
-  <head>
-    <meta charset="utf-8">
-    <title>Fetch: Access-Control-Expose-Headers: *</title>
-    <script src="/resources/testharness.js"></script>
-    <script src="/resources/testharnessreport.js"></script>
-  </head>
-  <body>
-    <script src="../resources/utils.js"></script>
-    <script src="cors-expose-star.js?pipe=sub"></script>
-  </body>
-</html>
diff --git a/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-expose-star.sub.any.html b/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-expose-star.sub.any.html
new file mode 100644 (file)
index 0000000..2382913
--- /dev/null
@@ -0,0 +1 @@
+<!-- This file is required for WebKit test infrastructure to run the templated test -->
\ No newline at end of file
@@ -1,7 +1,4 @@
-if (this.document === undefined) {
-  importScripts("/resources/testharness.js");
-  importScripts("../resources/utils.js");
-}
+// META: script=../resources/utils.js
 
 const url = "http://{{host}}:{{ports[http][1]}}" + dirname(location.pathname) + RESOURCES_DIR + "top.txt",
       sharedHeaders = "?pipe=header(Access-Control-Expose-Headers,*)|header(Test,X)|header(Set-Cookie,X)|header(*,whoa)|"
diff --git a/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-expose-star.sub.any.worker.html b/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-expose-star.sub.any.worker.html
new file mode 100644 (file)
index 0000000..2382913
--- /dev/null
@@ -0,0 +1 @@
+<!-- This file is required for WebKit test infrastructure to run the templated test -->
\ No newline at end of file
diff --git a/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-filtering-worker.html b/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-filtering-worker.html
deleted file mode 100644 (file)
index f15566f..0000000
+++ /dev/null
@@ -1,18 +0,0 @@
-<!doctype html>
-<html>
-  <head>
-    <meta charset="utf-8">
-    <title>Fetch in worker: filtered headers in CORS response</title>
-    <meta name="help" href="https://fetch.spec.whatwg.org/#main-fetch">
-    <meta name="help" href="https://fetch.spec.whatwg.org/#http-cors-protocol">
-    <meta name="help" href="https://fetch.spec.whatwg.org/#concept-filtered-response-cors">
-    <meta name="author" title="Canon Research France" href="https://www.crf.canon.fr">
-    <script src="/resources/testharness.js"></script>
-    <script src="/resources/testharnessreport.js"></script>
-  </head>
-  <body>
-    <script>
-      fetch_tests_from_worker(new Worker("cors-filtering.js?pipe=sub"));
-    </script>
-  </body>
-</html>
\ No newline at end of file
diff --git a/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-filtering.html b/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-filtering.html
deleted file mode 100644 (file)
index b7500ad..0000000
+++ /dev/null
@@ -1,17 +0,0 @@
-<!doctype html>
-<html>
-  <head>
-    <meta charset="utf-8">
-    <title>Fetch: filtered headers in CORS response</title>
-    <meta name="help" href="https://fetch.spec.whatwg.org/#main-fetch">
-    <meta name="help" href="https://fetch.spec.whatwg.org/#http-cors-protocol">
-    <meta name="help" href="https://fetch.spec.whatwg.org/#concept-filtered-response-cors">
-    <meta name="author" title="Canon Research France" href="https://www.crf.canon.fr">
-    <script src="/resources/testharness.js"></script>
-    <script src="/resources/testharnessreport.js"></script>
-  </head>
-  <body>
-    <script src="../resources/utils.js"></script>
-    <script src="cors-filtering.js?pipe=sub"></script>
-  </body>
-</html>
\ No newline at end of file
diff --git a/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-filtering.sub.any.html b/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-filtering.sub.any.html
new file mode 100644 (file)
index 0000000..2382913
--- /dev/null
@@ -0,0 +1 @@
+<!-- This file is required for WebKit test infrastructure to run the templated test -->
\ No newline at end of file
@@ -1,7 +1,4 @@
-if (this.document === undefined) {
-  importScripts("/resources/testharness.js");
-  importScripts("../resources/utils.js");
-}
+// META: script=../resources/utils.js
 
 function corsFilter(corsUrl, headerName, headerValue, isFiltered) {
   var url = corsUrl + "?pipe=header(" + headerName + "," + encodeURIComponent(headerValue) +")|header(Access-Control-Allow-Origin,*)";
diff --git a/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-filtering.sub.any.worker.html b/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-filtering.sub.any.worker.html
new file mode 100644 (file)
index 0000000..2382913
--- /dev/null
@@ -0,0 +1 @@
+<!-- This file is required for WebKit test infrastructure to run the templated test -->
\ No newline at end of file
diff --git a/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-multiple-origins-worker-expected.txt b/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-multiple-origins-worker-expected.txt
deleted file mode 100644 (file)
index 81037f7..0000000
+++ /dev/null
@@ -1,14 +0,0 @@
-CONSOLE MESSAGE: Access-Control-Allow-Origin cannot contain more than one origin.
-CONSOLE MESSAGE: Access-Control-Allow-Origin cannot contain more than one origin.
-CONSOLE MESSAGE: Access-Control-Allow-Origin cannot contain more than one origin.
-CONSOLE MESSAGE: Access-Control-Allow-Origin cannot contain more than one origin.
-CONSOLE MESSAGE: Access-Control-Allow-Origin cannot contain more than one origin.
-CONSOLE MESSAGE: Access-Control-Allow-Origin cannot contain more than one origin.
-
-FAIL 3 origins allowed, match the 3rd (http://localhost:8800) promise_test: Unhandled rejection with value: object "TypeError: Access-Control-Allow-Origin cannot contain more than one origin."
-FAIL 3 origins allowed, match the 3rd ("*") promise_test: Unhandled rejection with value: object "TypeError: Access-Control-Allow-Origin cannot contain more than one origin."
-FAIL 3 origins allowed, match twice (http://localhost:8800) promise_test: Unhandled rejection with value: object "TypeError: Access-Control-Allow-Origin cannot contain more than one origin."
-FAIL 3 origins allowed, match twice ("*") promise_test: Unhandled rejection with value: object "TypeError: Access-Control-Allow-Origin cannot contain more than one origin."
-FAIL 3 origins allowed, match twice ("*" and http://localhost:8800) promise_test: Unhandled rejection with value: object "TypeError: Access-Control-Allow-Origin cannot contain more than one origin."
-PASS 3 origins allowed, no match 
-
diff --git a/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-multiple-origins-worker.html b/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-multiple-origins-worker.html
deleted file mode 100644 (file)
index a8e5057..0000000
+++ /dev/null
@@ -1,19 +0,0 @@
-<!doctype html>
-<html>
-  <head>
-    <meta charset="utf-8">
-    <title>Fetch in worker: check multiple Access-Control-Allow-Origin header management</title>
-    <meta name="author" title="Canon Research France" href="https://www.crf.canon.fr">
-    <meta name="help" href="https://fetch.spec.whatwg.org/#http-cors-protocol">
-    <meta name="help" href="https://fetch.spec.whatwg.org/#main-fetch">
-    <meta name="help" href="https://fetch.spec.whatwg.org/#http-fetch">
-    <meta name="help" href="https://fetch.spec.whatwg.org/#cors-check">
-    <script src="/resources/testharness.js"></script>
-    <script src="/resources/testharnessreport.js"></script>
-  </head>
-  <body>
-    <script>
-      fetch_tests_from_worker(new Worker("cors-multiple-origins.js?pipe=sub"));
-    </script>
-  </body>
-</html>
\ No newline at end of file
diff --git a/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-multiple-origins.html b/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-multiple-origins.html
deleted file mode 100644 (file)
index 9b12b05..0000000
+++ /dev/null
@@ -1,18 +0,0 @@
-<!doctype html>
-<html>
-  <head>
-    <meta charset="utf-8">
-    <title>Fetch: check multiple Access-Control-Allow-Origin header management</title>
-    <meta name="author" title="Canon Research France" href="https://www.crf.canon.fr">
-    <meta name="help" href="https://fetch.spec.whatwg.org/#http-cors-protocol">
-    <meta name="help" href="https://fetch.spec.whatwg.org/#main-fetch">
-    <meta name="help" href="https://fetch.spec.whatwg.org/#http-fetch">
-    <meta name="help" href="https://fetch.spec.whatwg.org/#cors-check">
-    <script src="/resources/testharness.js"></script>
-    <script src="/resources/testharnessreport.js"></script>
-  </head>
-  <body>
-    <script src="../resources/utils.js"></script>
-    <script src="cors-multiple-origins.js?pipe=sub"></script>
-  </body>
-</html>
\ No newline at end of file
diff --git a/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-multiple-origins.js b/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-multiple-origins.js
deleted file mode 100644 (file)
index e4cf724..0000000
+++ /dev/null
@@ -1,32 +0,0 @@
-if (this.document === undefined) {
-  importScripts("/resources/testharness.js");
-  importScripts("../resources/utils.js");
-}
-
-function corsMultipleOrigins(desc, originList, shouldPass) {
-  var urlParameters = "?origin=" + encodeURIComponent(originList.join(", "));
-  var url = "http://{{host}}:{{ports[http][1]}}" + dirname(location.pathname) + RESOURCES_DIR + "preflight.py";
-
-  if (shouldPass) {
-    promise_test(function(test) {
-      return fetch(url + urlParameters).then(function(resp) {
-        assert_equals(resp.status, 200, "Response's status is 200");
-      });
-    }, desc);
-  } else {
-    promise_test(function(test) {
-      return promise_rejects(test, new TypeError(), fetch(url + urlParameters));
-    }, desc);
-  }
-}
-/* Actual origin */
-var origin = "http://{{host}}:{{ports[http][0]}}";
-
-corsMultipleOrigins("3 origins allowed, match the 3rd (" + origin + ")", ["\"\"", "http://example.com", origin], true);
-corsMultipleOrigins("3 origins allowed, match the 3rd (\"*\")", ["\"\"", "http://example.com", "*"], true);
-corsMultipleOrigins("3 origins allowed, match twice (" + origin + ")", ["\"\"", origin, origin], true);
-corsMultipleOrigins("3 origins allowed, match twice (\"*\")", ["*", "http://example.com", "*"], true);
-corsMultipleOrigins("3 origins allowed, match twice (\"*\" and " + origin + ")", ["*", "http://example.com", origin], true);
-corsMultipleOrigins("3 origins allowed, no match", ["", "http://example.com", "https://example2.com"], false);
-
-done();
@@ -11,10 +11,10 @@ CONSOLE MESSAGE: Fetch API cannot load http://localhost:8801/fetch/api/resources
 CONSOLE MESSAGE: Access-Control-Allow-Origin cannot contain more than one origin.
 CONSOLE MESSAGE: Fetch API cannot load http://localhost:8801/fetch/api/resources/preflight.py?origin=%2C%20http%3A%2F%2Fexample.com%2C%20https%3A%2F%2Fexample2.com due to access control checks.
 
-FAIL 3 origins allowed, match the 3rd (http://localhost:8800) promise_test: Unhandled rejection with value: object "TypeError: Access-Control-Allow-Origin cannot contain more than one origin."
-FAIL 3 origins allowed, match the 3rd ("*") promise_test: Unhandled rejection with value: object "TypeError: Access-Control-Allow-Origin cannot contain more than one origin."
-FAIL 3 origins allowed, match twice (http://localhost:8800) promise_test: Unhandled rejection with value: object "TypeError: Access-Control-Allow-Origin cannot contain more than one origin."
-FAIL 3 origins allowed, match twice ("*") promise_test: Unhandled rejection with value: object "TypeError: Access-Control-Allow-Origin cannot contain more than one origin."
-FAIL 3 origins allowed, match twice ("*" and http://localhost:8800) promise_test: Unhandled rejection with value: object "TypeError: Access-Control-Allow-Origin cannot contain more than one origin."
-PASS 3 origins allowed, no match 
+PASS Listing multiple origins is illegal: "",http://example.com,http://localhost:8800 
+PASS Listing multiple origins is illegal: "",http://example.com,* 
+PASS Listing multiple origins is illegal: "",http://localhost:8800,http://localhost:8800 
+PASS Listing multiple origins is illegal: *,http://example.com,* 
+PASS Listing multiple origins is illegal: *,http://example.com,http://localhost:8800 
+PASS Listing multiple origins is illegal: ,http://example.com,https://example2.com 
 
diff --git a/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-multiple-origins.sub.any.html b/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-multiple-origins.sub.any.html
new file mode 100644 (file)
index 0000000..2382913
--- /dev/null
@@ -0,0 +1 @@
+<!-- This file is required for WebKit test infrastructure to run the templated test -->
\ No newline at end of file
diff --git a/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-multiple-origins.sub.any.js b/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-multiple-origins.sub.any.js
new file mode 100644 (file)
index 0000000..f32b387
--- /dev/null
@@ -0,0 +1,21 @@
+// META: script=../resources/utils.js
+
+function corsMultipleOrigins(originList) {
+  var urlParameters = "?origin=" + encodeURIComponent(originList.join(", "));
+  var url = "http://{{host}}:{{ports[http][1]}}" + dirname(location.pathname) + RESOURCES_DIR + "preflight.py";
+
+  promise_test(function(test) {
+    return promise_rejects(test, new TypeError(), fetch(url + urlParameters));
+  }, "Listing multiple origins is illegal: " + originList);
+}
+/* Actual origin */
+var origin = "http://{{host}}:{{ports[http][0]}}";
+
+corsMultipleOrigins(["\"\"", "http://example.com", origin]);
+corsMultipleOrigins(["\"\"", "http://example.com", "*"]);
+corsMultipleOrigins(["\"\"", origin, origin]);
+corsMultipleOrigins(["*", "http://example.com", "*"]);
+corsMultipleOrigins(["*", "http://example.com", origin]);
+corsMultipleOrigins(["", "http://example.com", "https://example2.com"]);
+
+done();
diff --git a/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-multiple-origins.sub.any.worker-expected.txt b/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-multiple-origins.sub.any.worker-expected.txt
new file mode 100644 (file)
index 0000000..9047790
--- /dev/null
@@ -0,0 +1,14 @@
+CONSOLE MESSAGE: Access-Control-Allow-Origin cannot contain more than one origin.
+CONSOLE MESSAGE: Access-Control-Allow-Origin cannot contain more than one origin.
+CONSOLE MESSAGE: Access-Control-Allow-Origin cannot contain more than one origin.
+CONSOLE MESSAGE: Access-Control-Allow-Origin cannot contain more than one origin.
+CONSOLE MESSAGE: Access-Control-Allow-Origin cannot contain more than one origin.
+CONSOLE MESSAGE: Access-Control-Allow-Origin cannot contain more than one origin.
+
+PASS Listing multiple origins is illegal: "",http://example.com,http://localhost:8800 
+PASS Listing multiple origins is illegal: "",http://example.com,* 
+PASS Listing multiple origins is illegal: "",http://localhost:8800,http://localhost:8800 
+PASS Listing multiple origins is illegal: *,http://example.com,* 
+PASS Listing multiple origins is illegal: *,http://example.com,http://localhost:8800 
+PASS Listing multiple origins is illegal: ,http://example.com,https://example2.com 
+
diff --git a/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-multiple-origins.sub.any.worker.html b/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-multiple-origins.sub.any.worker.html
new file mode 100644 (file)
index 0000000..2382913
--- /dev/null
@@ -0,0 +1 @@
+<!-- This file is required for WebKit test infrastructure to run the templated test -->
\ No newline at end of file
diff --git a/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-preflight-not-cors-safelisted.any-expected.txt b/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-preflight-not-cors-safelisted.any-expected.txt
new file mode 100644 (file)
index 0000000..327247e
--- /dev/null
@@ -0,0 +1,12 @@
+
+PASS Loading data… 
+PASS Need CORS-preflight for accept/" header 
+FAIL Need CORS-preflight for accept/012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678 header assert_equals: Preflight request has been made expected "1" but got "0"
+PASS Need CORS-preflight for accept-language/\ 1 header 
+PASS Need CORS-preflight for accept-language/@ header 
+PASS Need CORS-preflight for content-language/\ 1 header 
+PASS Need CORS-preflight for content-language/@ header 
+PASS Need CORS-preflight for content-type/text/html header 
+FAIL Need CORS-preflight for content-type/text/plain; long=0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901 header assert_equals: Preflight request has been made expected "1" but got "0"
+PASS Need CORS-preflight for test/hi header 
+
diff --git a/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-preflight-not-cors-safelisted.any.html b/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-preflight-not-cors-safelisted.any.html
new file mode 100644 (file)
index 0000000..2382913
--- /dev/null
@@ -0,0 +1 @@
+<!-- This file is required for WebKit test infrastructure to run the templated test -->
\ No newline at end of file
diff --git a/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-preflight-not-cors-safelisted.any.js b/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-preflight-not-cors-safelisted.any.js
new file mode 100644 (file)
index 0000000..b2747cc
--- /dev/null
@@ -0,0 +1,19 @@
+// META: script=/common/utils.js
+// META: script=../resources/utils.js
+// META: script=/common/get-host-info.sub.js
+// META: script=resources/corspreflight.js
+
+const corsURL = get_host_info().HTTP_REMOTE_ORIGIN + dirname(location.pathname) + RESOURCES_DIR + "preflight.py";
+
+promise_test(() => fetch("resources/not-cors-safelisted.json").then(res => res.json().then(runTests)), "Loading data…");
+
+function runTests(testArray) {
+  testArray.forEach(testItem => {
+    const [headerName, headerValue] = testItem;
+    corsPreflight("Need CORS-preflight for " + headerName + "/" + headerValue + " header",
+                  corsURL,
+                  "GET",
+                  true,
+                  [[headerName, headerValue]]);
+  });
+}
diff --git a/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-preflight-not-cors-safelisted.any.worker-expected.txt b/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-preflight-not-cors-safelisted.any.worker-expected.txt
new file mode 100644 (file)
index 0000000..327247e
--- /dev/null
@@ -0,0 +1,12 @@
+
+PASS Loading data… 
+PASS Need CORS-preflight for accept/" header 
+FAIL Need CORS-preflight for accept/012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678 header assert_equals: Preflight request has been made expected "1" but got "0"
+PASS Need CORS-preflight for accept-language/\ 1 header 
+PASS Need CORS-preflight for accept-language/@ header 
+PASS Need CORS-preflight for content-language/\ 1 header 
+PASS Need CORS-preflight for content-language/@ header 
+PASS Need CORS-preflight for content-type/text/html header 
+FAIL Need CORS-preflight for content-type/text/plain; long=0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901 header assert_equals: Preflight request has been made expected "1" but got "0"
+PASS Need CORS-preflight for test/hi header 
+
diff --git a/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-preflight-not-cors-safelisted.any.worker.html b/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-preflight-not-cors-safelisted.any.worker.html
new file mode 100644 (file)
index 0000000..2382913
--- /dev/null
@@ -0,0 +1 @@
+<!-- This file is required for WebKit test infrastructure to run the templated test -->
\ No newline at end of file
index 4765c56..7455b97 100644 (file)
@@ -1,65 +1,7 @@
 // META: script=/common/utils.js
 // META: script=../resources/utils.js
 // META: script=/common/get-host-info.sub.js
-
-function headerNames(headers)
-{
-    let names = [];
-    for (let header of headers)
-        names.push(header[0].toLowerCase());
-    return names
-}
-
-/*
-  Check preflight is done
-  Control if server allows method and headers and check accordingly
-  Check control access headers added by UA (for method and headers)
-*/
-function corsPreflight(desc, corsUrl, method, allowed, headers, safeHeaders) {
-  return promise_test(function(test) {
-    var uuid_token = token();
-    return fetch(RESOURCES_DIR + "clean-stash.py?token=" + uuid_token).then(function(response) {
-      var url = corsUrl + (corsUrl.indexOf("?") === -1 ? "?" : "&");
-      var urlParameters = "token=" + uuid_token + "&max_age=0";
-      var requestInit = {"mode": "cors", "method": method};
-      var requestHeaders = [];
-      if (headers)
-        requestHeaders.push.apply(requestHeaders, headers);
-      if (safeHeaders)
-        requestHeaders.push.apply(requestHeaders, safeHeaders);
-      requestInit["headers"] = requestHeaders;
-
-      if (allowed) {
-        urlParameters += "&allow_methods=" + method + "&control_request_headers";
-        if (headers) {
-          //Make the server allow the headers
-          urlParameters += "&allow_headers=" + headerNames(headers).join("%20%2C");
-        }
-        return fetch(url + urlParameters, requestInit).then(function(resp) {
-          assert_equals(resp.status, 200, "Response's status is 200");
-          assert_equals(resp.headers.get("x-did-preflight"), "1", "Preflight request has been made");
-          if (headers) {
-            var actualHeaders = resp.headers.get("x-control-request-headers").toLowerCase().split(",");
-            for (var i in actualHeaders)
-              actualHeaders[i] = actualHeaders[i].trim();
-            for (var header of headers)
-              assert_in_array(header[0].toLowerCase(), actualHeaders, "Preflight asked permission for header: " + header);
-
-            let accessControlAllowHeaders = headerNames(headers).sort().join(",");
-            assert_equals(resp.headers.get("x-control-request-headers"), accessControlAllowHeaders, "Access-Control-Allow-Headers value");
-            return fetch(RESOURCES_DIR + "clean-stash.py?token=" + uuid_token);
-          } else {
-            assert_equals(resp.headers.get("x-control-request-headers"), null, "Access-Control-Request-Headers should be omitted")
-          }
-        });
-      } else {
-        return promise_rejects(test, new TypeError(), fetch(url + urlParameters, requestInit)).then(function(){
-          return fetch(RESOURCES_DIR + "clean-stash.py?token=" + uuid_token);
-        });
-      }
-    });
-  }, desc);
-}
+// META: script=resources/corspreflight.js
 
 var corsUrl = get_host_info().HTTP_REMOTE_ORIGIN + dirname(location.pathname) + RESOURCES_DIR + "preflight.py";
 
diff --git a/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/resources/corspreflight.js b/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/resources/corspreflight.js
new file mode 100644 (file)
index 0000000..f85d90d
--- /dev/null
@@ -0,0 +1,58 @@
+function headerNames(headers) {
+  let names = [];
+  for (let header of headers) {
+    names.push(header[0].toLowerCase());
+  }
+  return names;
+}
+
+/*
+  Check preflight is done
+  Control if server allows method and headers and check accordingly
+  Check control access headers added by UA (for method and headers)
+*/
+function corsPreflight(desc, corsUrl, method, allowed, headers, safeHeaders) {
+  return promise_test(function(test) {
+    var uuid_token = token();
+    return fetch(RESOURCES_DIR + "clean-stash.py?token=" + uuid_token).then(function(response) {
+      var url = corsUrl + (corsUrl.indexOf("?") === -1 ? "?" : "&");
+      var urlParameters = "token=" + uuid_token + "&max_age=0";
+      var requestInit = {"mode": "cors", "method": method};
+      var requestHeaders = [];
+      if (headers)
+        requestHeaders.push.apply(requestHeaders, headers);
+      if (safeHeaders)
+        requestHeaders.push.apply(requestHeaders, safeHeaders);
+      requestInit["headers"] = requestHeaders;
+
+      if (allowed) {
+        urlParameters += "&allow_methods=" + method + "&control_request_headers";
+        if (headers) {
+          //Make the server allow the headers
+          urlParameters += "&allow_headers=" + headerNames(headers).join("%20%2C");
+        }
+        return fetch(url + urlParameters, requestInit).then(function(resp) {
+          assert_equals(resp.status, 200, "Response's status is 200");
+          assert_equals(resp.headers.get("x-did-preflight"), "1", "Preflight request has been made");
+          if (headers) {
+            var actualHeaders = resp.headers.get("x-control-request-headers").toLowerCase().split(",");
+            for (var i in actualHeaders)
+              actualHeaders[i] = actualHeaders[i].trim();
+            for (var header of headers)
+              assert_in_array(header[0].toLowerCase(), actualHeaders, "Preflight asked permission for header: " + header);
+
+            let accessControlAllowHeaders = headerNames(headers).sort().join(",");
+            assert_equals(resp.headers.get("x-control-request-headers"), accessControlAllowHeaders, "Access-Control-Allow-Headers value");
+            return fetch(RESOURCES_DIR + "clean-stash.py?token=" + uuid_token);
+          } else {
+            assert_equals(resp.headers.get("x-control-request-headers"), null, "Access-Control-Request-Headers should be omitted")
+          }
+        });
+      } else {
+        return promise_rejects(test, new TypeError(), fetch(url + urlParameters, requestInit)).then(function(){
+          return fetch(RESOURCES_DIR + "clean-stash.py?token=" + uuid_token);
+        });
+      }
+    });
+  }, desc);
+}
diff --git a/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/resources/not-cors-safelisted.json b/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/resources/not-cors-safelisted.json
new file mode 100644 (file)
index 0000000..20a162f
--- /dev/null
@@ -0,0 +1,11 @@
+[
+  ["accept", "\""],
+  ["accept", "012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678"],
+  ["accept-language", "\u0001"],
+  ["accept-language", "@"],
+  ["content-language", "\u0001"],
+  ["content-language", "@"],
+  ["content-type", "text/html"],
+  ["content-type", "text/plain; long=0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901"],
+  ["test", "hi"]
+]
diff --git a/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/resources/w3c-import.log b/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/resources/w3c-import.log
new file mode 100644 (file)
index 0000000..99870a7
--- /dev/null
@@ -0,0 +1,18 @@
+The tests in this directory were imported from the W3C repository.
+Do NOT modify these tests directly in WebKit.
+Instead, create a pull request on the WPT github:
+       https://github.com/web-platform-tests/wpt
+
+Then run the Tools/Scripts/import-w3c-tests in WebKit to reimport
+
+Do NOT modify or remove this file.
+
+------------------------------------------------------------------------
+Properties requiring vendor prefixes:
+None
+Property values requiring vendor prefixes:
+None
+------------------------------------------------------------------------
+List of files:
+/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/resources/corspreflight.js
+/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/resources/not-cors-safelisted.json
diff --git a/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/sandboxed-iframe-expected.txt b/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/sandboxed-iframe-expected.txt
new file mode 100644 (file)
index 0000000..8aaf9c4
--- /dev/null
@@ -0,0 +1,6 @@
+
+
+Harness Error (TIMEOUT), message = null
+
+TIMEOUT CORS with sandboxed iframe Test timed out
+
diff --git a/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/sandboxed-iframe.html b/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/sandboxed-iframe.html
new file mode 100644 (file)
index 0000000..feb9f1f
--- /dev/null
@@ -0,0 +1,14 @@
+<!doctype html>
+<html>
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<iframe sandbox="allow-scripts" src="../resources/sandboxed-iframe.html"></iframe>
+<script>
+promise_test(async (t) => {
+  const message = await new Promise((resolve) => {
+    window.addEventListener('message', e => resolve(e.data));
+  });
+  assert_equals(message, 'PASS');
+}, 'CORS with sandboxed iframe');
+</script>
+</html>
index 8e1cc8a..6b52912 100644 (file)
@@ -1,7 +1,7 @@
 The tests in this directory were imported from the W3C repository.
 Do NOT modify these tests directly in WebKit.
 Instead, create a pull request on the WPT github:
-       https://github.com/w3c/web-platform-tests
+       https://github.com/web-platform-tests/wpt
 
 Then run the Tools/Scripts/import-w3c-tests in WebKit to reimport
 
@@ -15,19 +15,15 @@ None
 ------------------------------------------------------------------------
 List of files:
 /LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-basic.any.js
+/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-cookies-redirect.any.js
 /LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-cookies.any.js
-/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-expose-star-worker.html
-/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-expose-star.html
-/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-expose-star.js
-/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-filtering-worker.html
-/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-filtering.html
-/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-filtering.js
-/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-multiple-origins-worker.html
-/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-multiple-origins.html
-/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-multiple-origins.js
+/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-expose-star.sub.any.js
+/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-filtering.sub.any.js
+/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-multiple-origins.sub.any.js
 /LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-no-preflight.any.js
 /LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-origin.any.js
 /LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-preflight-cache.any.js
+/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-preflight-not-cors-safelisted.any.js
 /LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-preflight-redirect.any.js
 /LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-preflight-referrer.any.js
 /LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-preflight-star.any.js
@@ -36,3 +32,4 @@ List of files:
 /LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-redirect-credentials.any.js
 /LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-redirect-preflight.any.js
 /LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-redirect.any.js
+/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/sandboxed-iframe.html