diff --git a/test_util/wpt b/test_util/wpt
index 8a2b0f1086..68c75f6da9 160000
--- a/test_util/wpt
+++ b/test_util/wpt
@@ -1 +1 @@
-Subproject commit 8a2b0f1086adf122d91c36c222b26362ba4059f2
+Subproject commit 68c75f6da95e3da84c83eb4930ba5a5c2341637a
diff --git a/tools/wpt/expectation.json b/tools/wpt/expectation.json
index 551e240e16..ceaa0cc7bb 100644
--- a/tools/wpt/expectation.json
+++ b/tools/wpt/expectation.json
@@ -11942,7 +11942,6 @@
"importKey step: decryption AES-GCM 256-bit key, illegal tag length 129-bits",
"importKey step: decryption AES-GCM 256-bit key, illegal tag length 256-bits"
],
- "rsa.https.any.html": true,
"rsa_oaep.https.any.html": [
"importVectorKeys step: RSA-OAEP with SHA-1 and no label decryption",
"importVectorKeys step: RSA-OAEP with SHA-256 and no label decryption",
@@ -12122,7 +12121,6 @@
"Success: generateKey({name: Ecdsa, namedCurve: P-521}, false, [sign, verify, sign, sign, verify])",
"Success: generateKey({name: Ecdsa, namedCurve: P-521}, true, [sign, verify, sign, sign, verify])"
],
- "successes_RSA-OAEP.https.any.html": true,
"successes_RSA-OAEP.https.any.html?1-10": true,
"successes_RSA-OAEP.https.any.html?101-110": true,
"successes_RSA-OAEP.https.any.html?11-20": true,
@@ -13025,8 +13023,7 @@
},
"wrapKey_unwrapKey": {
"wrapKey_unwrapKey.https.any.html": false
- },
- "randomUUID.any.html": true
+ }
},
"console": {
"console-is-a-namespace.any.html": true,
@@ -13037,11 +13034,43 @@
},
"dom": {
"abort": {
+ "AbortSignal.any.html": true,
+ "AbortSignal.any.worker.html": true,
"event.any.html": true
},
"events": {
+ "AddEventListenerOptions-once.any.html": [
+ "Once listener should be added / removed like normal listeners"
+ ],
+ "AddEventListenerOptions-once.any.worker.html": [
+ "Once listener should be added / removed like normal listeners"
+ ],
+ "AddEventListenerOptions-passive.any.html": [
+ "Supports passive option on addEventListener only",
+ "preventDefault should be ignored if-and-only-if the passive option is true",
+ "returnValue should be ignored if-and-only-if the passive option is true",
+ "passive behavior of one listener should be unaffected by the presence of other listeners",
+ "Equivalence of option values"
+ ],
+ "AddEventListenerOptions-passive.any.worker.html": [
+ "Supports passive option on addEventListener only",
+ "preventDefault should be ignored if-and-only-if the passive option is true",
+ "returnValue should be ignored if-and-only-if the passive option is true",
+ "passive behavior of one listener should be unaffected by the presence of other listeners",
+ "Equivalence of option values"
+ ],
"AddEventListenerOptions-signal.any.html": true,
"Event-isTrusted.any.html": true,
+ "EventTarget-add-remove-listener.any.html": true,
+ "EventTarget-add-remove-listener.any.worker.html": true,
+ "EventTarget-addEventListener.any.html": true,
+ "EventTarget-addEventListener.any.worker.html": true,
+ "EventTarget-removeEventListener.any.html": [
+ "removing a null event listener should succeed"
+ ],
+ "EventTarget-removeEventListener.any.worker.html": [
+ "removing a null event listener should succeed"
+ ],
"EventTarget-constructible.any.html": true,
"Event-constructors.any.html": [
"Untitled 2",
@@ -13213,7 +13242,11 @@
"ReadableStreamBYOBRequest interface: self.readableStreamByobRequest must inherit property \"respond(unsigned long long)\" with the proper type",
"ReadableStreamBYOBRequest interface: calling respond(unsigned long long) on self.readableStreamByobRequest with too few arguments must throw TypeError",
"ReadableStreamBYOBRequest interface: self.readableStreamByobRequest must inherit property \"respondWithNewView(ArrayBufferView)\" with the proper type",
- "ReadableStreamBYOBRequest interface: calling respondWithNewView(ArrayBufferView) on self.readableStreamByobRequest with too few arguments must throw TypeError"
+ "ReadableStreamBYOBRequest interface: calling respondWithNewView(ArrayBufferView) on self.readableStreamByobRequest with too few arguments must throw TypeError",
+ "WritableStreamDefaultController interface: attribute abortReason",
+ "WritableStreamDefaultController interface: attribute signal",
+ "WritableStreamDefaultController interface: self.writableStreamDefaultController must inherit property \"abortReason\" with the proper type",
+ "WritableStreamDefaultController interface: self.writableStreamDefaultController must inherit property \"signal\" with the proper type"
],
"piping": {
"abort.any.html": true,
@@ -13477,19 +13510,23 @@
},
"prototypes.any.html": false,
"table": {
- "constructor.any.html": true,
- "get-set.any.html": true,
- "grow.any.html": true,
- "length.any.html": true,
- "toString.any.html": true,
- "constructor-reftypes.tentative.any.html": [
+ "constructor.any.html": [
"initialize externref table with default value",
"initialize anyfunc table with default value",
"initialize anyfunc table with a bad default value"
],
+ "get-set.any.html": [
+ "Arguments for anyfunc table set",
+ "Arguments for externref table set"
+ ],
+ "grow.any.html": [
+ "Grow with exported-function argument",
+ "Grow with non-function argument",
+ "Grow with JS-function argument"
+ ],
+ "length.any.html": true,
+ "toString.any.html": true,
"constructor-types.tentative.any.html": false,
- "grow-reftypes.tentative.any.html": false,
- "set-reftypes.tentative.any.html": false,
"type.tentative.any.html": false
},
"exception": {
@@ -13516,7 +13553,17 @@
"function": {
"call.tentative.any.html": false,
"constructor.tentative.any.html": [
- "construct with JS function"
+ "name",
+ "length",
+ "Too few arguments",
+ "Calling",
+ "construct with JS function",
+ "fail with missing results",
+ "fail with missing parameters",
+ "fail with non-string parameters & results",
+ "fail with non-existent parameter and result type",
+ "fail with non-function object",
+ "fail to construct with non-callable object"
],
"table.tentative.any.html": false,
"type.tentative.any.html": false
@@ -13553,7 +13600,7 @@
},
"create_multiple_memory.worker.html": true
},
- "WebIDL": {
+ "webidl": {
"ecmascript-binding": {
"es-exceptions": {
"DOMException-constants.any.html": true,
@@ -13565,6 +13612,10 @@
},
"class-string-interface.any.html": true,
"class-string-iterator-prototype-object.any.html": true,
+ "class-string-named-properties-object.window.html": [
+ "@@toStringTag exists with the appropriate descriptor",
+ "Object.prototype.toString"
+ ],
"global-immutable-prototype.any.html": [
"Setting to a different prototype"
],
@@ -13587,6 +13638,190 @@
" and .searchParams should be undefined"
],
"idlharness.any.html": true,
+ "toascii.window.html": [
+ "aa-- (using .host)",
+ "aa-- (using .hostname)",
+ "aa-- (using .host)",
+ "aa-- (using .hostname)",
+ "a†-- (using .host)",
+ "a†-- (using .hostname)",
+ "a†-- (using .host)",
+ "a†-- (using .hostname)",
+ "ab--c (using .host)",
+ "ab--c (using .hostname)",
+ "ab--c (using .host)",
+ "ab--c (using .hostname)",
+ "-x (using .host)",
+ "-x (using .hostname)",
+ "-x (using .host)",
+ "-x (using .hostname)",
+ "-† (using .host)",
+ "-† (using .hostname)",
+ "-† (using .host)",
+ "-† (using .hostname)",
+ "-x.xn--nxa (using .host)",
+ "-x.xn--nxa (using .hostname)",
+ "-x.xn--nxa (using .host)",
+ "-x.xn--nxa (using .hostname)",
+ "-x.β (using .host)",
+ "-x.β (using .hostname)",
+ "-x.β (using .host)",
+ "-x.β (using .hostname)",
+ "x-.xn--nxa (using .host)",
+ "x-.xn--nxa (using .hostname)",
+ "x-.xn--nxa (using .host)",
+ "x-.xn--nxa (using .hostname)",
+ "x-.β (using .host)",
+ "x-.β (using .hostname)",
+ "x-.β (using .host)",
+ "x-.β (using .hostname)",
+ "x..xn--nxa (using .host)",
+ "x..xn--nxa (using .hostname)",
+ "x..xn--nxa (using .host)",
+ "x..xn--nxa (using .hostname)",
+ "x..β (using .host)",
+ "x..β (using .hostname)",
+ "x..β (using .host)",
+ "x..β (using .hostname)",
+ "xn--a (using )",
+ "xn--a (using .host)",
+ "xn--a (using .hostname)",
+ "xn--a (using )",
+ "xn--a (using .host)",
+ "xn--a (using .hostname)",
+ "xn--a.xn--nxa (using )",
+ "xn--a.xn--nxa (using .host)",
+ "xn--a.xn--nxa (using .hostname)",
+ "xn--a.xn--nxa (using )",
+ "xn--a.xn--nxa (using .host)",
+ "xn--a.xn--nxa (using .hostname)",
+ "xn--a.β (using )",
+ "xn--a.β (using .host)",
+ "xn--a.β (using .hostname)",
+ "xn--a.β (using )",
+ "xn--a.β (using .host)",
+ "xn--a.β (using .hostname)",
+ "xn--nxa.xn--nxa (using .host)",
+ "xn--nxa.xn--nxa (using .hostname)",
+ "xn--nxa.xn--nxa (using .host)",
+ "xn--nxa.xn--nxa (using .hostname)",
+ "xn--nxa.β (using .host)",
+ "xn--nxa.β (using .hostname)",
+ "xn--nxa.β (using .host)",
+ "xn--nxa.β (using .hostname)",
+ "ab--c.xn--nxa (using .host)",
+ "ab--c.xn--nxa (using .hostname)",
+ "ab--c.xn--nxa (using .host)",
+ "ab--c.xn--nxa (using .hostname)",
+ "ab--c.β (using .host)",
+ "ab--c.β (using .hostname)",
+ "ab--c.β (using .host)",
+ "ab--c.β (using .hostname)",
+ ".example (using URL)",
+ ".example (using URL.host)",
+ ".example (using URL.hostname)",
+ ".example (using )",
+ ".example (using .host)",
+ ".example (using .hostname)",
+ ".example (using )",
+ ".example (using .host)",
+ ".example (using .hostname)",
+ "xn--1ug.example (using URL)",
+ "xn--1ug.example (using URL.host)",
+ "xn--1ug.example (using URL.hostname)",
+ "xn--1ug.example (using )",
+ "xn--1ug.example (using .host)",
+ "xn--1ug.example (using .hostname)",
+ "xn--1ug.example (using )",
+ "xn--1ug.example (using .host)",
+ "xn--1ug.example (using .hostname)",
+ "يa (using )",
+ "يa (using .host)",
+ "يa (using .hostname)",
+ "يa (using )",
+ "يa (using .host)",
+ "يa (using .hostname)",
+ "xn--a-yoc (using )",
+ "xn--a-yoc (using .host)",
+ "xn--a-yoc (using .hostname)",
+ "xn--a-yoc (using )",
+ "xn--a-yoc (using .host)",
+ "xn--a-yoc (using .hostname)",
+ "ශ්රී (using .host)",
+ "ශ්රී (using .hostname)",
+ "ශ්රී (using .host)",
+ "ශ්රී (using .hostname)",
+ "نامهای (using .host)",
+ "نامهای (using .hostname)",
+ "نامهای (using .host)",
+ "نامهای (using .hostname)",
+ "�.com (using )",
+ "�.com (using .host)",
+ "�.com (using .hostname)",
+ "�.com (using )",
+ "�.com (using .host)",
+ "�.com (using .hostname)",
+ "xn--zn7c.com (using )",
+ "xn--zn7c.com (using .host)",
+ "xn--zn7c.com (using .hostname)",
+ "xn--zn7c.com (using )",
+ "xn--zn7c.com (using .host)",
+ "xn--zn7c.com (using .hostname)",
+ "x01234567890123456789012345678901234567890123456789012345678901x (using .host)",
+ "x01234567890123456789012345678901234567890123456789012345678901x (using .hostname)",
+ "x01234567890123456789012345678901234567890123456789012345678901x (using .host)",
+ "x01234567890123456789012345678901234567890123456789012345678901x (using .hostname)",
+ "x01234567890123456789012345678901234567890123456789012345678901† (using .host)",
+ "x01234567890123456789012345678901234567890123456789012345678901† (using .hostname)",
+ "x01234567890123456789012345678901234567890123456789012345678901† (using .host)",
+ "x01234567890123456789012345678901234567890123456789012345678901† (using .hostname)",
+ "x01234567890123456789012345678901234567890123456789012345678901x.xn--nxa (using .host)",
+ "x01234567890123456789012345678901234567890123456789012345678901x.xn--nxa (using .hostname)",
+ "x01234567890123456789012345678901234567890123456789012345678901x.xn--nxa (using .host)",
+ "x01234567890123456789012345678901234567890123456789012345678901x.xn--nxa (using .hostname)",
+ "x01234567890123456789012345678901234567890123456789012345678901x.β (using .host)",
+ "x01234567890123456789012345678901234567890123456789012345678901x.β (using .hostname)",
+ "x01234567890123456789012345678901234567890123456789012345678901x.β (using .host)",
+ "x01234567890123456789012345678901234567890123456789012345678901x.β (using .hostname)",
+ "01234567890123456789012345678901234567890123456789.01234567890123456789012345678901234567890123456789.01234567890123456789012345678901234567890123456789.01234567890123456789012345678901234567890123456789.0123456789012345678901234567890123456789012345678.x (using .host)",
+ "01234567890123456789012345678901234567890123456789.01234567890123456789012345678901234567890123456789.01234567890123456789012345678901234567890123456789.01234567890123456789012345678901234567890123456789.0123456789012345678901234567890123456789012345678.x (using .hostname)",
+ "01234567890123456789012345678901234567890123456789.01234567890123456789012345678901234567890123456789.01234567890123456789012345678901234567890123456789.01234567890123456789012345678901234567890123456789.0123456789012345678901234567890123456789012345678.x (using .host)",
+ "01234567890123456789012345678901234567890123456789.01234567890123456789012345678901234567890123456789.01234567890123456789012345678901234567890123456789.01234567890123456789012345678901234567890123456789.0123456789012345678901234567890123456789012345678.x (using .hostname)",
+ "01234567890123456789012345678901234567890123456789.01234567890123456789012345678901234567890123456789.01234567890123456789012345678901234567890123456789.01234567890123456789012345678901234567890123456789.0123456789012345678901234567890123456789012345678.xn--nxa (using .host)",
+ "01234567890123456789012345678901234567890123456789.01234567890123456789012345678901234567890123456789.01234567890123456789012345678901234567890123456789.01234567890123456789012345678901234567890123456789.0123456789012345678901234567890123456789012345678.xn--nxa (using .hostname)",
+ "01234567890123456789012345678901234567890123456789.01234567890123456789012345678901234567890123456789.01234567890123456789012345678901234567890123456789.01234567890123456789012345678901234567890123456789.0123456789012345678901234567890123456789012345678.xn--nxa (using .host)",
+ "01234567890123456789012345678901234567890123456789.01234567890123456789012345678901234567890123456789.01234567890123456789012345678901234567890123456789.01234567890123456789012345678901234567890123456789.0123456789012345678901234567890123456789012345678.xn--nxa (using .hostname)",
+ "01234567890123456789012345678901234567890123456789.01234567890123456789012345678901234567890123456789.01234567890123456789012345678901234567890123456789.01234567890123456789012345678901234567890123456789.0123456789012345678901234567890123456789012345678.β (using .host)",
+ "01234567890123456789012345678901234567890123456789.01234567890123456789012345678901234567890123456789.01234567890123456789012345678901234567890123456789.01234567890123456789012345678901234567890123456789.0123456789012345678901234567890123456789012345678.β (using .hostname)",
+ "01234567890123456789012345678901234567890123456789.01234567890123456789012345678901234567890123456789.01234567890123456789012345678901234567890123456789.01234567890123456789012345678901234567890123456789.0123456789012345678901234567890123456789012345678.β (using .host)",
+ "01234567890123456789012345678901234567890123456789.01234567890123456789012345678901234567890123456789.01234567890123456789012345678901234567890123456789.01234567890123456789012345678901234567890123456789.0123456789012345678901234567890123456789012345678.β (using .hostname)",
+ "ab (using .host)",
+ "ab (using .hostname)",
+ "ab (using .host)",
+ "ab (using .hostname)",
+ "a%C2%ADb (using .host)",
+ "a%C2%ADb (using .hostname)",
+ "a%C2%ADb (using .host)",
+ "a%C2%ADb (using .hostname)",
+ " (using )",
+ " (using .host)",
+ " (using .hostname)",
+ " (using )",
+ " (using .host)",
+ " (using .hostname)",
+ "%C2%AD (using )",
+ "%C2%AD (using .host)",
+ "%C2%AD (using .hostname)",
+ "%C2%AD (using )",
+ "%C2%AD (using .host)",
+ "%C2%AD (using .hostname)",
+ "xn-- (using )",
+ "xn-- (using .host)",
+ "xn-- (using .hostname)",
+ "xn-- (using )",
+ "xn-- (using .host)",
+ "xn-- (using .hostname)"
+ ],
"url-constructor.any.html": [
"Parsing: against ",
"Parsing: against ",
@@ -13799,6 +14034,10 @@
]
},
"headers": {
+ "header-values-normalize.any.html": false,
+ "header-values-normalize.any.worker.html": false,
+ "header-values.any.html": false,
+ "header-values.any.worker.html": false,
"headers-basic.any.html": true,
"headers-casing.any.html": true,
"headers-combine.any.html": true,
@@ -13923,6 +14162,14 @@
"response-init-contenttype.any.html": true
},
"body": {
+ "formdata.any.html": [
+ "Consume empty response.formData() as FormData",
+ "Consume empty request.formData() as FormData"
+ ],
+ "formdata.any.worker.html": [
+ "Consume empty response.formData() as FormData",
+ "Consume empty request.formData() as FormData"
+ ],
"mime-type.any.html": true
},
"redirect": {
@@ -13930,6 +14177,18 @@
"redirect-empty-location.any.html": [
"redirect response with empty Location, manual mode"
],
+ "redirect-location-escape.tentative.any.html": [
+ "Redirect to unescaped UTF-8",
+ "Redirect to escaped and unescaped UTF-8",
+ "Escaping produces double-percent",
+ "Redirect to invalid UTF-8"
+ ],
+ "redirect-location-escape.tentative.any.worker.html": [
+ "Redirect to unescaped UTF-8",
+ "Redirect to escaped and unescaped UTF-8",
+ "Escaping produces double-percent",
+ "Redirect to invalid UTF-8"
+ ],
"redirect-location.any.html": [
"Redirect 301 in \"manual\" mode without location",
"Redirect 301 in \"manual\" mode with invalid location",
@@ -13949,7 +14208,21 @@
],
"redirect-method.any.html": true,
"redirect-schemes.any.html": true,
- "redirect-to-dataurl.any.html": true
+ "redirect-to-dataurl.any.html": true,
+ "redirect-upload.h2.any.html": [
+ "Fetch upload streaming should be accepted on 303",
+ "Fetch upload streaming should fail on 301",
+ "Fetch upload streaming should fail on 302",
+ "Fetch upload streaming should fail on 307",
+ "Fetch upload streaming should fail on 308"
+ ],
+ "redirect-upload.h2.any.worker.html": [
+ "Fetch upload streaming should be accepted on 303",
+ "Fetch upload streaming should fail on 301",
+ "Fetch upload streaming should fail on 302",
+ "Fetch upload streaming should fail on 307",
+ "Fetch upload streaming should fail on 308"
+ ]
},
"idlharness.any.html": [
"Request interface: attribute destination",
@@ -13992,11 +14265,142 @@
]
}
},
+ "content-encoding": {
+ "bad-gzip-body.any.html": [
+ "Consuming the body of a resource with bad gzip content with arrayBuffer() should reject",
+ "Consuming the body of a resource with bad gzip content with blob() should reject",
+ "Consuming the body of a resource with bad gzip content with formData() should reject",
+ "Consuming the body of a resource with bad gzip content with json() should reject",
+ "Consuming the body of a resource with bad gzip content with text() should reject"
+ ],
+ "bad-gzip-body.any.worker.html": [
+ "Consuming the body of a resource with bad gzip content with arrayBuffer() should reject",
+ "Consuming the body of a resource with bad gzip content with blob() should reject",
+ "Consuming the body of a resource with bad gzip content with formData() should reject",
+ "Consuming the body of a resource with bad gzip content with json() should reject",
+ "Consuming the body of a resource with bad gzip content with text() should reject"
+ ]
+ },
+ "content-length": {
+ "api-and-duplicate-headers.any.html": [
+ "XMLHttpRequest and duplicate Content-Length/Content-Type headers",
+ "fetch() and duplicate Content-Length/Content-Type headers"
+ ],
+ "api-and-duplicate-headers.any.worker.html": [
+ "XMLHttpRequest and duplicate Content-Length/Content-Type headers",
+ "fetch() and duplicate Content-Length/Content-Type headers"
+ ],
+ "parsing.window.html": [
+ "Input: \"Content-Length: aaaah\\r\\nContent-Length: aaaah\". Expected: 42.",
+ "Input: \"Content-Length: aaaah, aaaah\". Expected: 42.",
+ "Input: \"Content-Length: aaaah\". Expected: 42.",
+ "Input: \"Content-Length: 42s\". Expected: 42.",
+ "Input: \"Content-Length: 30s\". Expected: 42.",
+ "Input: \"Content-Length: -1\". Expected: 42.",
+ "Input: \"Content-Length: 0x20\". Expected: 42.",
+ "Input: \"Content-Length: 030\\r\\nContent-Length: 30\". Expected: network error.",
+ "Input: \"Content-Length: 030, 30\". Expected: network error.",
+ "Input: \"Content-Length: \\\"30\\\"\". Expected: 42.",
+ "Input: \"Content-Length: \". Expected: 42."
+ ],
+ "too-long.window.html": [
+ "Content-Length header value of network response exceeds response body"
+ ]
+ },
+ "content-type": {
+ "response.window.html": [
+ "