diff --git a/tests/wpt/meta-legacy-layout/css/css-content/parsing/content-valid.html.ini b/tests/wpt/meta-legacy-layout/css/css-content/parsing/content-valid.html.ini
index ec3fb653e49..030357bc4f9 100644
--- a/tests/wpt/meta-legacy-layout/css/css-content/parsing/content-valid.html.ini
+++ b/tests/wpt/meta-legacy-layout/css/css-content/parsing/content-valid.html.ini
@@ -214,3 +214,21 @@
[e.style['content'\] = "url(\\"https://www.example.com/picture.svg\\") \\"hello\\" / attr(foo)" should set the property value]
expected: FAIL
+
+ [e.style['content'\] = "url(\\"picture.svg\\") / \\"alt text\\"" should set the property value]
+ expected: FAIL
+
+ [e.style['content'\] = "url(\\"picture.svg\\") / \\"alt text\\" attr(foo) \\"bar\\"" should set the property value]
+ expected: FAIL
+
+ [e.style['content'\] = "url(\\"picture.svg\\") / attr(foo)" should set the property value]
+ expected: FAIL
+
+ [e.style['content'\] = "url(\\"picture.svg\\") \\"hello\\" / \\"alt text\\"" should set the property value]
+ expected: FAIL
+
+ [e.style['content'\] = "url(\\"picture.svg\\") \\"hello\\" / \\"alt text\\" attr(foo) \\"bar\\"" should set the property value]
+ expected: FAIL
+
+ [e.style['content'\] = "url(\\"picture.svg\\") \\"hello\\" / attr(foo)" should set the property value]
+ expected: FAIL
diff --git a/tests/wpt/meta-legacy-layout/css/css-lists/counters-005.html.ini b/tests/wpt/meta-legacy-layout/css/css-lists/counters-005.html.ini
new file mode 100644
index 00000000000..41b44b5559d
--- /dev/null
+++ b/tests/wpt/meta-legacy-layout/css/css-lists/counters-005.html.ini
@@ -0,0 +1,2 @@
+[counters-005.html]
+ expected: FAIL
diff --git a/tests/wpt/meta-legacy-layout/css/css-overflow/overfow-outside-padding.html.ini b/tests/wpt/meta-legacy-layout/css/css-overflow/overflow-outside-padding.html.ini
similarity index 66%
rename from tests/wpt/meta-legacy-layout/css/css-overflow/overfow-outside-padding.html.ini
rename to tests/wpt/meta-legacy-layout/css/css-overflow/overflow-outside-padding.html.ini
index 5df726e8c88..58ca44deaae 100644
--- a/tests/wpt/meta-legacy-layout/css/css-overflow/overfow-outside-padding.html.ini
+++ b/tests/wpt/meta-legacy-layout/css/css-overflow/overflow-outside-padding.html.ini
@@ -1,3 +1,3 @@
-[overfow-outside-padding.html]
+[overflow-outside-padding.html]
[#target did not trigger scroll overflow]
expected: FAIL
diff --git a/tests/wpt/meta-legacy-layout/css/css-text/white-space/text-wrap-nowrap-001.html.ini b/tests/wpt/meta-legacy-layout/css/css-text/white-space/text-wrap-nowrap-001.html.ini
new file mode 100644
index 00000000000..bcca040350a
--- /dev/null
+++ b/tests/wpt/meta-legacy-layout/css/css-text/white-space/text-wrap-nowrap-001.html.ini
@@ -0,0 +1,2 @@
+[text-wrap-nowrap-001.html]
+ expected: FAIL
diff --git a/tests/wpt/meta/css/cssom/CSSStyleSheet-constructable-baseURL.tentative.html.ini b/tests/wpt/meta-legacy-layout/css/cssom/CSSStyleSheet-constructable-baseURL.html.ini
similarity index 84%
rename from tests/wpt/meta/css/cssom/CSSStyleSheet-constructable-baseURL.tentative.html.ini
rename to tests/wpt/meta-legacy-layout/css/cssom/CSSStyleSheet-constructable-baseURL.html.ini
index 13602c25c9d..a9bad39b1da 100644
--- a/tests/wpt/meta/css/cssom/CSSStyleSheet-constructable-baseURL.tentative.html.ini
+++ b/tests/wpt/meta-legacy-layout/css/cssom/CSSStyleSheet-constructable-baseURL.html.ini
@@ -1,10 +1,9 @@
-[CSSStyleSheet-constructable-baseURL.tentative.html]
+[CSSStyleSheet-constructable-baseURL.html]
[Constructing sheet with custom base URL ueses that URL for CSS rules]
expected: FAIL
- [Constructing sheet with invalid base URL throws a NotAllowedError]
- expected: FAIL
-
[Constructing sheet with relative URL adds to the constructor document's base URL]
expected: FAIL
+ [Constructing sheet with invalid base URL throws a NotAllowedError]
+ expected: FAIL
diff --git a/tests/wpt/meta-legacy-layout/custom-elements/reactions/customized-builtins/HTMLMediaElement.html.ini b/tests/wpt/meta-legacy-layout/custom-elements/reactions/customized-builtins/HTMLMediaElement.html.ini
new file mode 100644
index 00000000000..2ca05f57bb0
--- /dev/null
+++ b/tests/wpt/meta-legacy-layout/custom-elements/reactions/customized-builtins/HTMLMediaElement.html.ini
@@ -0,0 +1,2 @@
+[HTMLMediaElement.html]
+ expected: TIMEOUT
diff --git a/tests/wpt/meta-legacy-layout/custom-elements/scoped-registry/ShadowRoot-innerHTML-upgrade.tentative.html.ini b/tests/wpt/meta-legacy-layout/custom-elements/scoped-registry/ShadowRoot-innerHTML-upgrade.tentative.html.ini
index 14c28753235..17c5362cdbb 100644
--- a/tests/wpt/meta-legacy-layout/custom-elements/scoped-registry/ShadowRoot-innerHTML-upgrade.tentative.html.ini
+++ b/tests/wpt/meta-legacy-layout/custom-elements/scoped-registry/ShadowRoot-innerHTML-upgrade.tentative.html.ini
@@ -10,3 +10,6 @@
[Upgrade into customized built-in element when definition is added]
expected: FAIL
+
+ [Upgrade into autonomous custom element should not inherit from global registry for missing values]
+ expected: FAIL
diff --git a/tests/wpt/meta-legacy-layout/eventsource/eventsource-request-cancellation.any.window.js.ini b/tests/wpt/meta-legacy-layout/eventsource/eventsource-request-cancellation.any.window.js.ini
deleted file mode 100644
index 101e03a6b7d..00000000000
--- a/tests/wpt/meta-legacy-layout/eventsource/eventsource-request-cancellation.any.window.js.ini
+++ /dev/null
@@ -1,5 +0,0 @@
-[eventsource-request-cancellation.window.any.html]
- expected: TIMEOUT
-
-[eventsource-request-cancellation.window.any.worker.html]
- expected: TIMEOUT
diff --git a/tests/wpt/meta-legacy-layout/fetch/api/response/response-arraybuffer-realm.window.js.ini b/tests/wpt/meta-legacy-layout/fetch/api/response/response-arraybuffer-realm.window.js.ini
new file mode 100644
index 00000000000..e273ea59211
--- /dev/null
+++ b/tests/wpt/meta-legacy-layout/fetch/api/response/response-arraybuffer-realm.window.js.ini
@@ -0,0 +1,3 @@
+[response-arraybuffer-realm.window.html]
+ [realm of the ArrayBuffer from Response arrayBuffer()]
+ expected: FAIL
diff --git a/tests/wpt/meta-legacy-layout/fetch/fetch-later/send-on-deactivate-with-background-sync.tentative.https.window.js.ini b/tests/wpt/meta-legacy-layout/fetch/fetch-later/send-on-deactivate-with-background-sync.tentative.https.window.js.ini
new file mode 100644
index 00000000000..f0403ab2cb8
--- /dev/null
+++ b/tests/wpt/meta-legacy-layout/fetch/fetch-later/send-on-deactivate-with-background-sync.tentative.https.window.js.ini
@@ -0,0 +1,9 @@
+[send-on-deactivate-with-background-sync.tentative.https.window.html]
+ [fetchLater() does send on page entering BFCache even if BackgroundSync is on.]
+ expected: FAIL
+
+ [fetchLater() with activateAfter=0 sends on page entering BFCache if BackgroundSync is on.]
+ expected: FAIL
+
+ [fetchLater() with activateAfter=1m does send on page entering BFCache even if BackgroundSync is on.]
+ expected: FAIL
diff --git a/tests/wpt/meta-legacy-layout/html/browsers/browsing-the-web/history-traversal/pagereveal/order-in-bfcache-restore-iframe.html.ini b/tests/wpt/meta-legacy-layout/html/browsers/browsing-the-web/history-traversal/pagereveal/order-in-bfcache-restore-iframe.html.ini
new file mode 100644
index 00000000000..31590bbd841
--- /dev/null
+++ b/tests/wpt/meta-legacy-layout/html/browsers/browsing-the-web/history-traversal/pagereveal/order-in-bfcache-restore-iframe.html.ini
@@ -0,0 +1,4 @@
+[order-in-bfcache-restore-iframe.html]
+ expected: TIMEOUT
+ [pagereveal event in iframe fires and in correct order on restoration from BFCache]
+ expected: TIMEOUT
diff --git a/tests/wpt/meta-legacy-layout/html/browsers/browsing-the-web/history-traversal/pagereveal/order-in-new-document-navigation-iframe.html.ini b/tests/wpt/meta-legacy-layout/html/browsers/browsing-the-web/history-traversal/pagereveal/order-in-new-document-navigation-iframe.html.ini
new file mode 100644
index 00000000000..f2af0d28013
--- /dev/null
+++ b/tests/wpt/meta-legacy-layout/html/browsers/browsing-the-web/history-traversal/pagereveal/order-in-new-document-navigation-iframe.html.ini
@@ -0,0 +1,3 @@
+[order-in-new-document-navigation-iframe.html]
+ [pagereveal event fires and in correct order on new-document navigation in an iframe]
+ expected: FAIL
diff --git a/tests/wpt/meta/html/browsers/history/the-history-interface/traverse_the_history_4.html.ini b/tests/wpt/meta-legacy-layout/html/browsers/history/the-history-interface/traverse_the_history_5.html.ini
similarity index 71%
rename from tests/wpt/meta/html/browsers/history/the-history-interface/traverse_the_history_4.html.ini
rename to tests/wpt/meta-legacy-layout/html/browsers/history/the-history-interface/traverse_the_history_5.html.ini
index d6188c03424..7a5fcb79165 100644
--- a/tests/wpt/meta/html/browsers/history/the-history-interface/traverse_the_history_4.html.ini
+++ b/tests/wpt/meta-legacy-layout/html/browsers/history/the-history-interface/traverse_the_history_5.html.ini
@@ -1,3 +1,3 @@
-[traverse_the_history_4.html]
+[traverse_the_history_5.html]
[Multiple history traversals, last would be aborted]
expected: FAIL
diff --git a/tests/wpt/meta-legacy-layout/html/canvas/element/manual/filters/svg-filter-lh-rlh.html.ini b/tests/wpt/meta-legacy-layout/html/canvas/element/manual/filters/svg-filter-lh-rlh.html.ini
new file mode 100644
index 00000000000..3e854890a7f
--- /dev/null
+++ b/tests/wpt/meta-legacy-layout/html/canvas/element/manual/filters/svg-filter-lh-rlh.html.ini
@@ -0,0 +1,2 @@
+[svg-filter-lh-rlh.html]
+ expected: FAIL
diff --git a/tests/wpt/meta-legacy-layout/html/dom/documents/dom-tree-accessors/Document.currentScript.html.ini b/tests/wpt/meta-legacy-layout/html/dom/documents/dom-tree-accessors/Document.currentScript.html.ini
index 2e74427b47e..ffb5beada75 100644
--- a/tests/wpt/meta-legacy-layout/html/dom/documents/dom-tree-accessors/Document.currentScript.html.ini
+++ b/tests/wpt/meta-legacy-layout/html/dom/documents/dom-tree-accessors/Document.currentScript.html.ini
@@ -1,6 +1,6 @@
[Document.currentScript.html]
type: testharness
- expected: CRASH
+ expected: TIMEOUT
[Script script-exec]
expected: NOTRUN
diff --git a/tests/wpt/meta-legacy-layout/html/infrastructure/urls/base-url/document-base-url-window-initiator-is-not-opener.https.window.js.ini b/tests/wpt/meta-legacy-layout/html/infrastructure/urls/base-url/document-base-url-window-initiator-is-not-opener.https.window.js.ini
index 2ef0896e3b3..8b8af2b9c2e 100644
--- a/tests/wpt/meta-legacy-layout/html/infrastructure/urls/base-url/document-base-url-window-initiator-is-not-opener.https.window.js.ini
+++ b/tests/wpt/meta-legacy-layout/html/infrastructure/urls/base-url/document-base-url-window-initiator-is-not-opener.https.window.js.ini
@@ -1,4 +1,3 @@
[document-base-url-window-initiator-is-not-opener.https.window.html]
- expected: TIMEOUT
[window.open() gets base url from initiator not opener.]
expected: [FAIL, PASS, TIMEOUT]
diff --git a/tests/wpt/meta-legacy-layout/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_popups_escaping-1.html.ini b/tests/wpt/meta-legacy-layout/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_popups_escaping-1.html.ini
index 66e6567502d..e5994e21efc 100644
--- a/tests/wpt/meta-legacy-layout/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_popups_escaping-1.html.ini
+++ b/tests/wpt/meta-legacy-layout/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_popups_escaping-1.html.ini
@@ -1,5 +1,5 @@
[iframe_sandbox_popups_escaping-1.html]
type: testharness
- expected: TIMEOUT
+ expected: CRASH
[Check that popups from a sandboxed iframe escape the sandbox if\n allow-popups-to-escape-sandbox is used]
expected: FAIL
diff --git a/tests/wpt/meta-legacy-layout/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_popups_escaping-2.html.ini b/tests/wpt/meta-legacy-layout/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_popups_escaping-2.html.ini
index 841bafc6eca..b83d68ddd33 100644
--- a/tests/wpt/meta-legacy-layout/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_popups_escaping-2.html.ini
+++ b/tests/wpt/meta-legacy-layout/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_popups_escaping-2.html.ini
@@ -1,3 +1,3 @@
[iframe_sandbox_popups_escaping-2.html]
[Check that popups from a sandboxed iframe escape the sandbox if\n allow-popups-to-escape-sandbox is used]
- expected: FAIL
+ expected: TIMEOUT
diff --git a/tests/wpt/meta-legacy-layout/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_popups_escaping-3.html.ini b/tests/wpt/meta-legacy-layout/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_popups_escaping-3.html.ini
index a6c31bc671e..eacbe5794ea 100644
--- a/tests/wpt/meta-legacy-layout/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_popups_escaping-3.html.ini
+++ b/tests/wpt/meta-legacy-layout/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_popups_escaping-3.html.ini
@@ -1,4 +1,5 @@
[iframe_sandbox_popups_escaping-3.html]
type: testharness
+ expected: TIMEOUT
[Check that popups from a sandboxed iframe escape the sandbox if\n allow-popups-to-escape-sandbox is used]
expected: TIMEOUT
diff --git a/tests/wpt/meta-legacy-layout/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_popups_nonescaping-3.html.ini b/tests/wpt/meta-legacy-layout/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_popups_nonescaping-3.html.ini
index ccdaf8d61b2..ff6467094b8 100644
--- a/tests/wpt/meta-legacy-layout/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_popups_nonescaping-3.html.ini
+++ b/tests/wpt/meta-legacy-layout/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_popups_nonescaping-3.html.ini
@@ -1,3 +1,3 @@
[iframe_sandbox_popups_nonescaping-3.html]
[Check that popups from a sandboxed iframe do not escape the sandbox]
- expected: NOTRUN
+ expected: FAIL
diff --git a/tests/wpt/meta-legacy-layout/mediasession/mediametadata.html.ini b/tests/wpt/meta-legacy-layout/mediasession/mediametadata.html.ini
index 2a2b3e73c85..dc8ec67091e 100644
--- a/tests/wpt/meta-legacy-layout/mediasession/mediametadata.html.ini
+++ b/tests/wpt/meta-legacy-layout/mediasession/mediametadata.html.ini
@@ -41,3 +41,14 @@
[Test that the base URL of MediaImage is the base URL of entry setting object]
expected: FAIL
+ [Test that MediaMetadata is read/write]
+ expected: FAIL
+
+ [Test that MediaMetadata.artwork can't be modified]
+ expected: FAIL
+
+ [Test that MediaMetadata.chapterInfo is Frozen]
+ expected: FAIL
+
+ [Test that MediaMetadata.chapterInfo's artwork returns parsed urls]
+ expected: FAIL
diff --git a/tests/wpt/meta-legacy-layout/webmessaging/with-ports/018.html.ini b/tests/wpt/meta-legacy-layout/webmessaging/with-ports/018.html.ini
deleted file mode 100644
index b7b36c1d3a4..00000000000
--- a/tests/wpt/meta-legacy-layout/webmessaging/with-ports/018.html.ini
+++ /dev/null
@@ -1,4 +0,0 @@
-[018.html]
- expected: TIMEOUT
- [origin of the script that invoked the method, javascript:]
- expected: TIMEOUT
diff --git a/tests/wpt/meta-legacy-layout/webmessaging/without-ports/017.html.ini b/tests/wpt/meta-legacy-layout/webmessaging/without-ports/017.html.ini
deleted file mode 100644
index c7946fc91b4..00000000000
--- a/tests/wpt/meta-legacy-layout/webmessaging/without-ports/017.html.ini
+++ /dev/null
@@ -1,4 +0,0 @@
-[017.html]
- expected: TIMEOUT
- [origin of the script that invoked the method, about:blank]
- expected: TIMEOUT
diff --git a/tests/wpt/meta/MANIFEST.json b/tests/wpt/meta/MANIFEST.json
index 124d021a511..d83c1f07de4 100644
--- a/tests/wpt/meta/MANIFEST.json
+++ b/tests/wpt/meta/MANIFEST.json
@@ -549,6 +549,17 @@
}
},
"compositing": {
+ "background-blending": {
+ "crashtests": {
+ "bgblend-root-change.html": [
+ "06db053574580316235397f9c98e2b9b017cfafe",
+ [
+ null,
+ {}
+ ]
+ ]
+ }
+ },
"opacity-and-transform-animation-crash.html": [
"294a823cd8ee0b7e5f289d2b623d59c7ceaa9f18",
[
@@ -2283,13 +2294,6 @@
{}
]
],
- "padding-overflow-crash.html": [
- "163be06a91758492002a8505c346103cf0a0b4cc",
- [
- null,
- {}
- ]
- ],
"position-relative-with-scrollable-with-abspos-crash.html": [
"f0699f2046089da69c04c0085a2622290b8827b7",
[
@@ -2668,6 +2672,13 @@
]
]
},
+ "li-without-ul-counter-crash.html": [
+ "e95c675eea4639c39f8b3a7ff0447bbcc9808187",
+ [
+ null,
+ {}
+ ]
+ ],
"list-item-counter-crash.html": [
"fc8a38c628026dc190d81e27150d8ebabb130ae2",
[
@@ -3850,6 +3861,13 @@
]
],
"crashtests": {
+ "computed-property-universal-syntax.html": [
+ "b87f03b2df3d536ef2459d6498e0cd121bc4f06c",
+ [
+ null,
+ {}
+ ]
+ ],
"initial-in-audio-crash.html": [
"dfc2b850a51fcedc6d61af7a93430e2cda5c8954",
[
@@ -3930,6 +3948,13 @@
{}
]
],
+ "get-computed-style-crash.html": [
+ "60e097cc8d11518afeff76432d0b32e4bdd0a8af",
+ [
+ null,
+ {}
+ ]
+ ],
"highlight-painting-005-crash.html": [
"3f93fc3cbe4c7459cad625b0d363c5cdc6d130c5",
[
@@ -4887,6 +4912,22 @@
{}
]
],
+ "navigation": {
+ "opt-in-without-frame-crash.html": [
+ "01c4d723498b7b4f2d3ca5b37d536377d2fa30d6",
+ [
+ null,
+ {}
+ ]
+ ],
+ "reload-crash.html": [
+ "a2bf11b31dc28129382837d7dd75f37544a51911",
+ [
+ null,
+ {}
+ ]
+ ]
+ },
"root-element-cv-hidden-crash.html": [
"890194b7c171ea7a42fd083567637aacee4fd877",
[
@@ -19800,13 +19841,6 @@
{}
]
],
- "text-overflow-017.html": [
- "561d4d0b6fe96195159ef15bdc877d3c1ae6c2dd",
- [
- null,
- {}
- ]
- ],
"text-overflow-018.html": [
"848ebe690eb84406260daf7a1335822887490e61",
[
@@ -19831,6 +19865,17 @@
]
]
},
+ "css-view-transitions": {
+ "navigation": {
+ "transition-to-prerender-manual.html": [
+ "7465065c5da0895d95e8a9f01135b0a243a5650e",
+ [
+ null,
+ {}
+ ]
+ ]
+ }
+ },
"css-writing-modes": {
"alt-display-vertical-001-manual.html": [
"2e9de77ccb0e24f562c9b3f5bf6bccc3acef8870",
@@ -32667,6 +32712,45 @@
{}
]
],
+ "page-box-001-print.html": [
+ "35c2f06c93bfa3f5f162d945393d7acbea1250dc",
+ [
+ null,
+ [
+ [
+ "/css/css-page/page-box-001-print-ref.html",
+ "=="
+ ]
+ ],
+ {}
+ ]
+ ],
+ "page-box-002-print.html": [
+ "3b87b6903dd321b1c56df812b6ef1458c3c4a8ce",
+ [
+ null,
+ [
+ [
+ "/css/css-page/page-box-002-print-ref.html",
+ "=="
+ ]
+ ],
+ {}
+ ]
+ ],
+ "page-box-003-print.html": [
+ "44cc13555b543b8a4d9db28dcac6282438f74c51",
+ [
+ null,
+ [
+ [
+ "/css/css-page/page-box-003-print-ref.html",
+ "=="
+ ]
+ ],
+ {}
+ ]
+ ],
"page-left-right-001-print.html": [
"044696fcca27ec7ebe18edab3053dfbb65af6bbc",
[
@@ -32771,6 +32855,19 @@
{}
]
],
+ "page-margin-007-print.html": [
+ "c2045d0dac22111a4e1ee209cc9b7cec86a5efd2",
+ [
+ null,
+ [
+ [
+ "/css/css-page/page-margin-007-print-ref.html",
+ "=="
+ ]
+ ],
+ {}
+ ]
+ ],
"page-margin-negative-print.tentative.html": [
"205a13f7a589ff0403641fc3f5c8d391cf209043",
[
@@ -122001,6 +122098,32 @@
{}
]
],
+ "position-try-switch-from-fixed-anchor.html": [
+ "904aa55180dafd92ed7526854d13edb1f7ae0406",
+ [
+ null,
+ [
+ [
+ "/css/css-anchor-position/position-try-switch-from-fixed-anchor-ref.html",
+ "=="
+ ]
+ ],
+ {}
+ ]
+ ],
+ "position-try-switch-to-fixed-anchor.html": [
+ "54fcb2e4df3d6155ca672ea067ca4180b2893173",
+ [
+ null,
+ [
+ [
+ "/css/css-anchor-position/position-try-switch-to-fixed-anchor-ref.html",
+ "=="
+ ]
+ ],
+ {}
+ ]
+ ],
"position-visibility-add-no-overflow.html": [
"de0647f88bedb93a886761080a72582e4a76f045",
[
@@ -173305,6 +173428,19 @@
{}
]
],
+ "padding-overflow.html": [
+ "163be06a91758492002a8505c346103cf0a0b4cc",
+ [
+ null,
+ [
+ [
+ "/css/reference/ref-filled-green-100px-square-only.html",
+ "=="
+ ]
+ ],
+ {}
+ ]
+ ],
"percentage-descendant-of-anonymous-flex-item.html": [
"592b5212ea6e5bd787aa9aab0d7f1c16c78bc134",
[
@@ -197952,7 +198088,7 @@
]
],
"counter-set-001.html": [
- "4e28367798ae65095b21094d2d5da777b57f4294",
+ "6ec53e3bfa12306db12ecdded3f6727053222094",
[
null,
[
@@ -198055,6 +198191,19 @@
{}
]
],
+ "counters-005.html": [
+ "12908e64720863293bb71dd0867524921bf34273",
+ [
+ null,
+ [
+ [
+ "/css/css-lists/counters-005-ref.html",
+ "=="
+ ]
+ ],
+ {}
+ ]
+ ],
"counters-scope-001.html": [
"2ea72753bd984fe93db1872d5f90e72da6cd4966",
[
@@ -204978,6 +205127,19 @@
{}
]
],
+ "mask-image-svg-viewport-changed.html": [
+ "156317b2517d639b8521d510b7e5bf3c793273ed",
+ [
+ null,
+ [
+ [
+ "/css/css-masking/clip-path/reference/green-100x100.html",
+ "=="
+ ]
+ ],
+ {}
+ ]
+ ],
"mask-image-url-image-hash.html": [
"b1efc90818bec85d5022a9b908a14c2e0c35ff3b",
[
@@ -221914,6 +222076,19 @@
{}
]
],
+ "pseudo-first-line.html": [
+ "180420d98a4d94d5efd84cee8c83309fa060ffdb",
+ [
+ null,
+ [
+ [
+ "/css/css-ruby/pseudo-first-line-ref.html",
+ "=="
+ ]
+ ],
+ {}
+ ]
+ ],
"rb-display-001.html": [
"5149eb34a4686a38cdf347fbe6162df83a9403a6",
[
@@ -233691,6 +233866,19 @@
{}
]
],
+ "collapsed-border-partial-invalidation-003.html": [
+ "073f67e669da0b884c507c356a016e1ef229961f",
+ [
+ null,
+ [
+ [
+ "/css/css-tables/collapsed-border-partial-invalidation-003-ref.html",
+ "=="
+ ]
+ ],
+ {}
+ ]
+ ],
"collapsed-border-positioned-tr-td.html": [
"d5c6094497268941071e516073a54f38e5900d45",
[
@@ -246515,7 +246703,7 @@
]
],
"break-spaces-008.html": [
- "4612996c52cb6039fb74991ae53539b991ca22cb",
+ "dc9f5934f413df2406995cd7107a55c03873bb52",
[
null,
[
@@ -247308,7 +247496,7 @@
]
],
"break-spaces-with-ideographic-space-008.html": [
- "7102439d4697e9d49e29afbc52ab9d2040c95af8",
+ "d222e1b75350b19ff40f0ab65dc5ecb4ea9b0510",
[
null,
[
@@ -249711,6 +249899,23 @@
{}
]
],
+ "text-wrap-nowrap-001.html": [
+ "94437df6deeb3ddcf73d7732c046901cb4b3842d",
+ [
+ null,
+ [
+ [
+ "/css/css-text/white-space/reference/text-wrap-nowrap-001-ref.html",
+ "=="
+ ],
+ [
+ "/css/css-text/white-space/reference/text-wrap-nowrap-001-mis-ref.html",
+ "!="
+ ]
+ ],
+ {}
+ ]
+ ],
"textarea-break-spaces-001.html": [
"ad81e99768f9816c6e8a659c13aed81c4f22d940",
[
@@ -267748,6 +267953,19 @@
}
]
],
+ "transform3d-preserve3d-014.html": [
+ "e8d7a4805b001dda187ab1f45b30e2ddd7df2e43",
+ [
+ null,
+ [
+ [
+ "/css/css-transforms/transform-lime-square-ref.html",
+ "=="
+ ]
+ ],
+ {}
+ ]
+ ],
"transform3d-rotate3d-001.html": [
"93a46f1c6ab038b92e9bbbe3356d219cd2f1bdf4",
[
@@ -286986,6 +287204,368 @@
{}
]
],
+ "names-are-tree-scoped.html": [
+ "efca07e209da39040ee6a954480801e1280d427e",
+ [
+ null,
+ [
+ [
+ "/css/css-view-transitions/names-are-tree-scoped-ref.html",
+ "=="
+ ]
+ ],
+ {}
+ ]
+ ],
+ "navigation": {
+ "at-rule-opt-in-auto.html": [
+ "8993cf1a6772e5fc72908482539b5fb9e4f43e61",
+ [
+ null,
+ [
+ [
+ "/css/css-view-transitions/navigation/at-rule-opt-in-auto-ref.html",
+ "=="
+ ]
+ ],
+ {}
+ ]
+ ],
+ "at-rule-opt-in-none-in-new.html": [
+ "2aecb7b91355086acba7908c9069716415aa5f38",
+ [
+ null,
+ [
+ [
+ "/css/css-view-transitions/navigation/at-rule-opt-in-none-ref.html",
+ "=="
+ ]
+ ],
+ {}
+ ]
+ ],
+ "at-rule-opt-in-none-in-old.html": [
+ "b5b0b3a1104d1eae0e7a7ae68728136ca9d99d51",
+ [
+ null,
+ [
+ [
+ "/css/css-view-transitions/navigation/at-rule-opt-in-none-ref.html",
+ "=="
+ ]
+ ],
+ {}
+ ]
+ ],
+ "chromium-paint-holding-timeout.html": [
+ "83596940fa420005492b38def7e8cd49d0252632",
+ [
+ null,
+ [
+ [
+ "/css/css-view-transitions/navigation/chromium-paint-holding-timeout-ref.html",
+ "=="
+ ]
+ ],
+ {}
+ ]
+ ],
+ "navigation-auto-excludes-reload.html": [
+ "c0fb61a4b0aa85848f55332e5d491798854853b0",
+ [
+ null,
+ [
+ [
+ "/css/css-view-transitions/navigation/navigation-auto-excludes-reload-ref.html",
+ "=="
+ ]
+ ],
+ {}
+ ]
+ ],
+ "no-view-transition-with-cross-origin-redirect.sub.html": [
+ "8780310af2ff2942de48a824919c8c4b950519cb",
+ [
+ null,
+ [
+ [
+ "/css/css-view-transitions/navigation/no-view-transition-with-cross-origin-redirect-ref.html",
+ "=="
+ ]
+ ],
+ {}
+ ]
+ ],
+ "opt-in-removed-during-transition.html": [
+ "eb2295f2f0306be34afcbbe17f0ca726c3a7eb8e",
+ [
+ null,
+ [
+ [
+ "/css/css-view-transitions/navigation/opt-in-removed-during-transition-ref.html",
+ "=="
+ ]
+ ],
+ {}
+ ]
+ ],
+ "pagereveal-finished-promise.html": [
+ "baac948bac431a2c0a9774b098b137bc1a93d520",
+ [
+ null,
+ [
+ [
+ "/css/css-view-transitions/navigation/pagereveal-finished-promise-ref.html",
+ "=="
+ ]
+ ],
+ {}
+ ]
+ ],
+ "pagereveal-ready-promise.html": [
+ "65b370c9c052e07de27c62e072850792a5a4c2ab",
+ [
+ null,
+ [
+ [
+ "/css/css-view-transitions/navigation/pagereveal-ready-promise-ref.html",
+ "=="
+ ]
+ ],
+ {}
+ ]
+ ],
+ "pagereveal-setup-transition.html": [
+ "7407824ea73d5649028cae7fe3838676fece1577",
+ [
+ null,
+ [
+ [
+ "/css/css-view-transitions/navigation/pagereveal-setup-transition-ref.html",
+ "=="
+ ]
+ ],
+ {}
+ ]
+ ],
+ "pageswap-fired-before-old-state-capture.html": [
+ "8ce791bcaecfdc181da3c34a644d1014fe806e36",
+ [
+ null,
+ [
+ [
+ "/css/css-view-transitions/navigation/pageswap-fired-before-old-state-capture-ref.html",
+ "=="
+ ]
+ ],
+ {}
+ ]
+ ],
+ "prerender-removed-during-navigation.html": [
+ "d261b0df5520fc9b5ce6deb5112138111e3a5899",
+ [
+ null,
+ [
+ [
+ "/css/css-view-transitions/navigation/prerender-removed-during-navigation-ref.html",
+ "=="
+ ]
+ ],
+ {}
+ ]
+ ],
+ "root-and-nested-element-transition.html": [
+ "457f263bf955eabd43bd38c1dbabeafcbc89f7b2",
+ [
+ null,
+ [
+ [
+ "/css/css-view-transitions/navigation/root-and-nested-element-transition-ref.html",
+ "=="
+ ]
+ ],
+ {
+ "fuzzy": [
+ [
+ [
+ "/css/css-view-transitions/navigation/root-and-nested-element-transition.html",
+ "/css/css-view-transitions/navigation/root-and-nested-element-transition-ref.html",
+ "=="
+ ],
+ [
+ [
+ 0,
+ 2
+ ],
+ [
+ 0,
+ 2000
+ ]
+ ]
+ ]
+ ]
+ }
+ ]
+ ],
+ "root-element-transition-iframe-cross-origin.sub.html": [
+ "51a7c926e6d04088285e83bc1d492fdf071406cb",
+ [
+ null,
+ [
+ [
+ "/css/css-view-transitions/navigation/root-element-transition-iframe-ref.html",
+ "=="
+ ]
+ ],
+ {}
+ ]
+ ],
+ "root-element-transition-iframe-with-startVT-on-main.html": [
+ "b7ef426121c3435587f8cb33d05957e9aab019e9",
+ [
+ null,
+ [
+ [
+ "/css/css-view-transitions/navigation/root-element-transition-iframe-with-startVT-on-main-ref.html",
+ "=="
+ ]
+ ],
+ {}
+ ]
+ ],
+ "root-element-transition-iframe.html": [
+ "a320d92c698c0b0f287de1d70e217d0e254b1665",
+ [
+ null,
+ [
+ [
+ "/css/css-view-transitions/navigation/root-element-transition-iframe-ref.html",
+ "=="
+ ]
+ ],
+ {}
+ ]
+ ],
+ "root-element-transition-no-opt-in-on-new.html": [
+ "5cec74aac2d768ef065ae88bf73b9b805e98f812",
+ [
+ null,
+ [
+ [
+ "/css/css-view-transitions/navigation/root-element-transition-no-opt-in-ref.html",
+ "=="
+ ]
+ ],
+ {}
+ ]
+ ],
+ "root-element-transition-no-opt-in-on-old.html": [
+ "9d834ffd6a1c4815dc9b71e12c8eb3c0e525a78e",
+ [
+ null,
+ [
+ [
+ "/css/css-view-transitions/navigation/root-element-transition-no-opt-in-ref.html",
+ "=="
+ ]
+ ],
+ {}
+ ]
+ ],
+ "root-element-transition-opt-in-removed-on-new.html": [
+ "46daf95e5e4e1f31229692aea8b10504311a9ec0",
+ [
+ null,
+ [
+ [
+ "/css/css-view-transitions/navigation/root-element-transition-no-opt-in-ref.html",
+ "=="
+ ]
+ ],
+ {}
+ ]
+ ],
+ "root-element-transition-opt-in-removed-on-old.html": [
+ "5fab64a306712d2bdf81facba96be6038201adde",
+ [
+ null,
+ [
+ [
+ "/css/css-view-transitions/navigation/root-element-transition-no-opt-in-ref.html",
+ "=="
+ ]
+ ],
+ {}
+ ]
+ ],
+ "root-element-transition.html": [
+ "fb293b83994cc51fdd60e96fd08789801b2666d8",
+ [
+ null,
+ [
+ [
+ "/css/css-view-transitions/navigation/root-element-transition-ref.html",
+ "=="
+ ]
+ ],
+ {}
+ ]
+ ],
+ "transition-to-prerender.html": [
+ "bdc66708970bda64e24f0f64b6a5525d0a8947ff",
+ [
+ null,
+ [
+ [
+ "/css/css-view-transitions/navigation/transition-to-prerender-ref.html",
+ "=="
+ ]
+ ],
+ {}
+ ]
+ ],
+ "with-types": {
+ "at-rule-opt-in-auto-with-types-mutable.html": [
+ "307e8a8b747eabce19d0e3dac100d0c040512c09",
+ [
+ null,
+ [
+ [
+ "/css/css-view-transitions/navigation/at-rule-opt-in-auto-ref.html",
+ "=="
+ ]
+ ],
+ {}
+ ]
+ ],
+ "at-rule-opt-in-auto-with-types-no-cascade.html": [
+ "5fec29db89c7d833cdf3bf325bf3b20c6e065f97",
+ [
+ null,
+ [
+ [
+ "/css/css-view-transitions/navigation/at-rule-opt-in-auto-ref.html",
+ "=="
+ ]
+ ],
+ {}
+ ]
+ ],
+ "at-rule-opt-in-auto-with-types.html": [
+ "87503d9f1e360cffd85cfb0369ec7f3b305ff05f",
+ [
+ null,
+ [
+ [
+ "/css/css-view-transitions/navigation/at-rule-opt-in-auto-ref.html",
+ "=="
+ ]
+ ],
+ {}
+ ]
+ ]
+ }
+ },
"new-and-old-sizes-match.html": [
"70b6515fb5b8189c925127636f7860ae424f0284",
[
@@ -288785,6 +289365,123 @@
{}
]
],
+ "view-transition-types-match-early-mutation.html": [
+ "24737d9050ef6d53be5a44c553faa2901d014928",
+ [
+ null,
+ [
+ [
+ "/css/css-view-transitions/view-transition-types-one-green-square-ref.html",
+ "=="
+ ]
+ ],
+ {}
+ ]
+ ],
+ "view-transition-types-match-early.html": [
+ "b62e8a716795367d5b34f33c190ffd7be4b6ad78",
+ [
+ null,
+ [
+ [
+ "/css/css-view-transitions/view-transition-types-one-green-square-ref.html",
+ "=="
+ ]
+ ],
+ {}
+ ]
+ ],
+ "view-transition-types-match-late-mutation.html": [
+ "dbceba111ee416e078948c0042f6e8660c764ba4",
+ [
+ null,
+ [
+ [
+ "/css/css-view-transitions/view-transition-types-one-green-square-ref.html",
+ "=="
+ ]
+ ],
+ {}
+ ]
+ ],
+ "view-transition-types-matches.html": [
+ "ef15d97fb997e1dd744bcc42108e68c750b74d68",
+ [
+ null,
+ [
+ [
+ "/css/css-view-transitions/view-transition-types-matches-ref.html",
+ "=="
+ ]
+ ],
+ {}
+ ]
+ ],
+ "view-transition-types-removed.html": [
+ "fe458efafd302dbe3b6b4d00e58cb1f19ee1a761",
+ [
+ null,
+ [
+ [
+ "/css/css-view-transitions/view-transition-types-one-green-square-ref.html",
+ "=="
+ ]
+ ],
+ {}
+ ]
+ ],
+ "view-transition-types-reserved-mutation.html": [
+ "ba8b5e1e3c8899225a1d63a4b90900b189b247fb",
+ [
+ null,
+ [
+ [
+ "/css/css-view-transitions/view-transition-types-reserved-ref.html",
+ "=="
+ ]
+ ],
+ {}
+ ]
+ ],
+ "view-transition-types-reserved.html": [
+ "1dca3774aa4e1feb3fe0eb5d8d1a52aceebf86a7",
+ [
+ null,
+ [
+ [
+ "/css/css-view-transitions/view-transition-types-reserved-ref.html",
+ "=="
+ ]
+ ],
+ {}
+ ]
+ ],
+ "view-transition-types-stay.html": [
+ "dc738e6912c01850b21a93c9e8fffe925c1502b2",
+ [
+ null,
+ [
+ [
+ "/css/css-view-transitions/view-transition-types-one-green-square-ref.html",
+ "=="
+ ]
+ ],
+ {}
+ ]
+ ],
+ "view-transition-types-universal-match.html": [
+ "534c144ecf0c3b7dc14fd915782f8daeef93a18c",
+ [
+ null,
+ [
+ [
+ "/css/css-view-transitions/view-transition-types-one-green-square-ref.html",
+ "=="
+ ]
+ ],
+ {}
+ ]
+ ],
"web-animations-api-parse-pseudo-argument.html": [
"dfaac62c17f99e7465a32c452eaed807f289cac6",
[
@@ -317349,6 +318046,19 @@
}
]
],
+ "svg-filter-lh-rlh.html": [
+ "b61193fb9fdd107319d98ee8429970221dbfd549",
+ [
+ null,
+ [
+ [
+ "/html/canvas/element/manual/filters/svg-filter-lh-rlh-expected.html",
+ "=="
+ ]
+ ],
+ {}
+ ]
+ ],
"tentative": {
"canvas-filter-object-blur.html": [
"9fe7ef120c5cc73f3f3bfd1278d9d7dc025f402f",
@@ -325879,6 +326589,19 @@
{}
]
],
+ "input-password-background-suppresses-appearance.html": [
+ "3c85b100a1dc74e94d0a7f7e187da951d7476209",
+ [
+ null,
+ [
+ [
+ "/html/rendering/widgets/input-password-background-suppresses-appearance-ref.html",
+ "=="
+ ]
+ ],
+ {}
+ ]
+ ],
"input-radio-disabled-checked.html": [
"3ac2a37199b653ab4e1dd5d098bce9bb9e83dc44",
[
@@ -343272,7 +343995,7 @@
},
"support": {
".azure-pipelines.yml": [
- "36e745a87f151b68483a906b2a52b622e5030f88",
+ "c018c592d1db33277a6499a8a20bc0f304d221fd",
[]
],
".gitattributes": [
@@ -347790,6 +348513,10 @@
"7695c4a33e328a01434196d5fa19af84e04bc57b",
[]
],
+ "WEB_FEATURES.yml": [
+ "ae8464657b14e41a7da2513f65cf39920496c689",
+ []
+ ],
"permissions-policy": {
"compute-pressure-allowed-by-permissions-policy.https.html.headers": [
"76185cbb2de93a463c1fb7930343a73cbb31f99a",
@@ -368186,7 +368913,7 @@
[]
],
"cookie-test.js": [
- "a909e4d72facf95760ef35c96efbb426bbc9c8e0",
+ "8299c4731786dcf6ada011820e008d670a4df78d",
[]
],
"cookie.py": [
@@ -368546,6 +369273,10 @@
"a40fc100eee697ed7dcd451626409af18606442e",
[]
],
+ "manifest_check_disclosure_shown_false.json": [
+ "47ca63edc4fc96f4d563beba7e872ae5d47461c1",
+ []
+ ],
"manifest_check_same_site_strict.json": [
"d7304159834804c417f498acebc45f59e588dcbb",
[]
@@ -368642,6 +369373,10 @@
"7ec81c390a9ea116e0a1809e08159a1d1c40e5a1",
[]
],
+ "token_check_disclosure_shown_false.py": [
+ "f4b732053ff0f2d5545c3602d701d92702e111af",
+ []
+ ],
"token_check_same_site_strict.py": [
"4e55bf27f610032b30eb3278ddd0f7db4716efef",
[]
@@ -386473,6 +387208,14 @@
"4d7de12447c8297b8f0fc04338d80a028a3e9798",
[]
],
+ "position-try-switch-from-fixed-anchor-ref.html": [
+ "72026a2f63e0bef3ba9481780946f1f9d1148a5a",
+ []
+ ],
+ "position-try-switch-to-fixed-anchor-ref.html": [
+ "254cbf3df455dad3c235a7880463f5a275e2957b",
+ []
+ ],
"position-visibility-anchors-valid-ref.html": [
"96b4e865512c2adf1215e7aaae43bc1053bd6356",
[]
@@ -389575,16 +390318,12 @@
"21086fc62185a65da89513daf0c8bc1b66688064",
[]
],
- "LICENSE": [
- "d47f50cca8a2d9dc40dee384ae256f8aecf44e0a",
- []
- ],
"META.yml": [
"f5030db7cb57a09012f740fe54ae26d466bcef24",
[]
],
"WEB_FEATURES.yml": [
- "8910deab28b0f600ac25a1ae11d0f8d2678cf786",
+ "cbb0f23ede228cea0304ad3c7de5e9ca41a047d4",
[]
],
"a98rgb-003-ref.html": [
@@ -395126,7 +395865,7 @@
[]
],
"WEB_FEATURES.yml": [
- "5e69c923abf5bfb8d62b862e956b2a14c0b031c4",
+ "6739fa2d06a8a032fc2f3816aaa5bb3d0afef434",
[]
],
"alternates-order-ref.html": [
@@ -396085,7 +396824,7 @@
],
"parsing": {
"WEB_FEATURES.yml": [
- "6a24d269b48134bf8e4e99f8e805a53fae91d1e4",
+ "a3bc09cb1f1b9a4889dd122d896b19706646f295",
[]
],
"ahem-ex-500.otf": [
@@ -404267,6 +405006,10 @@
}
},
"css-highlight-api": {
+ "WEB_FEATURES.yml": [
+ "0ce5201312974300d33d2c95171640f60b1bbc0e",
+ []
+ ],
"highlight-priority-painting-ref.html": [
"1865f1e104917ebeb3d6e9cb53de06977ea8623c",
[]
@@ -404471,6 +405214,10 @@
"8d3b9472b2c9a2ee88dc97f907f9d16eb4fa3755",
[]
],
+ "WEB_FEATURES.yml": [
+ "0a1af1998309bacf9fdfeb69f0a33f662eac20ea",
+ []
+ ],
"color-stop-currentcolor-ref.html": [
"7686a3b16ed8b9ebf3f8ffcbecd4bdb5e1225bfe",
[]
@@ -405544,6 +406291,10 @@
[]
],
"baseline-source": {
+ "WEB_FEATURES.yml": [
+ "f399a6dc6f73dccf050094c4b646cc0125ce4167",
+ []
+ ],
"baseline-source-inline-box-ref.html": [
"ef3077970a298a026ffaa2e0584ed5220ae10f59",
[]
@@ -406052,7 +406803,7 @@
[]
],
"counter-set-001-ref.html": [
- "301197904a5af79eb5024bb7d97ac161e5ada3ad",
+ "2b5eb90ccfc61af30e95e539a34f85ac8a8b58cd",
[]
],
"counter-set-002-ref.html": [
@@ -406083,6 +406834,10 @@
"070c7047386818eb8b6d8b08faac8516b6e70018",
[]
],
+ "counters-005-ref.html": [
+ "232bab76a106674358e024f9e0bb97993aac476a",
+ []
+ ],
"counters-scope-001-ref.html": [
"e7c3abf51014e2f698c42a1de2830bff55da6461",
[]
@@ -406345,6 +407100,16 @@
"7f92755b092845d3d550568e0572453801451f3d",
[]
],
+ "WEB_FEATURES.yml": [
+ "76ea5c208e91c63632413ea3f3e8bc3d4dee0fe8",
+ []
+ ],
+ "animations": {
+ "WEB_FEATURES.yml": [
+ "758ef35275eeacc96b6e584f672f86c4b170e0e1",
+ []
+ ]
+ },
"clip": {
"clip-filter-order-ref.html": [
"fe9511a8dfce2b4f597597871abccd03727f136f",
@@ -406920,6 +407685,10 @@
}
},
"mask-image": {
+ "WEB_FEATURES.yml": [
+ "b5bbd438dac187e92af375c0933ed9a27783a6a7",
+ []
+ ],
"mask-clip-1-ref.html": [
"3925bd4f1db4fa25b93e9e121afdf0940ae0bd4b",
[]
@@ -407205,6 +407974,12 @@
]
}
},
+ "parsing": {
+ "WEB_FEATURES.yml": [
+ "0837d0ddf902333b45942311cc585e6e385af634",
+ []
+ ]
+ },
"resources": {
"blue-20.png": [
"c464c75eeca3ead65c00e7c26150d97ad58da5c3",
@@ -408321,6 +409096,10 @@
"b9ba7acd150e5022de5c5208cd7f5f7d4dde93c3",
[]
],
+ "WEB_FEATURES.yml": [
+ "81358de0c75128c99ae0feaf441520f2c8a5c280",
+ []
+ ],
"clip-001-ref.html": [
"9ccdbf93c615f6078b82add5362e6032e9efe583",
[]
@@ -409071,6 +409850,18 @@
"d39bd738507490b5590afa7a4eb6cce9766b63bc",
[]
],
+ "page-box-001-print-ref.html": [
+ "d9ab323877f7144062ce908345d32e57900cc2d6",
+ []
+ ],
+ "page-box-002-print-ref.html": [
+ "e1ee4ab5d148662f6ea6af9f906caed7e821b207",
+ []
+ ],
+ "page-box-003-print-ref.html": [
+ "e1ee4ab5d148662f6ea6af9f906caed7e821b207",
+ []
+ ],
"page-left-right-001-print-ref.html": [
"1eb011bed8a0dde4a65494d54fc2e2bd9a042080",
[]
@@ -409103,6 +409894,10 @@
"fe7a2c66db21b005464b89a5436894c67b95ad58",
[]
],
+ "page-margin-007-print-ref.html": [
+ "20d16df19de9dc0ad95f5b17344cd21210983c18",
+ []
+ ],
"page-margin-negative-print-ref.tentative.html": [
"9e816c12fb7ddcd94cdfaf1e910f6146e70c05c6",
[]
@@ -410207,6 +411002,10 @@
"200d92cc590880be73f63d9e6e00594471700d46",
[]
],
+ "WEB_FEATURES.yml": [
+ "5dd44e39c8bc48241907d935ae3c3ef2fb1dbce5",
+ []
+ ],
"active-selection-051-ref.html": [
"77e2d2817f66adb707e506c46a1eed948a2e92e3",
[]
@@ -411039,6 +411838,10 @@
"8c470232876d5a3d3b0c988f2cfef0936d142a10",
[]
],
+ "pseudo-first-line-ref.html": [
+ "55c96fb2d3c45e680549c8b500ecaf28d297c311",
+ []
+ ],
"reference": {
"improperly-contained-annotation-001-ref.html": [
"72a55541bcba241cdced59588e46118a40c8528c",
@@ -411383,6 +412186,10 @@
"df776353a31f1cef3abe9bc9d195da9be5da2510",
[]
],
+ "WEB_FEATURES.yml": [
+ "d285b01e8687b5bf44c33e6dd0fe0ad49f115b7a",
+ []
+ ],
"no-red-ref.html": [
"061454fb67a67b9b5b1d62b2603731da3988a3d9",
[]
@@ -411473,7 +412280,7 @@
"css-scroll-snap-2": {
"resources": {
"common.js": [
- "8dce29474d8f6d4e2a1215d6112f0deea261f907",
+ "d95b605120b7f85df08d7d9bceaa20f9d5c70341",
[]
],
"user-scroll-common.js": [
@@ -413457,6 +414264,10 @@
"d89389a6dc3bc2d86a17ea6f22857feaff6119fb",
[]
],
+ "collapsed-border-partial-invalidation-003-ref.html": [
+ "2b19a838143bdd1602cb252221f68bf2fc84ca70",
+ []
+ ],
"collapsed-border-positioned-tr-td-ref.html": [
"b3099017699bb83d78bf0492c9c451ccd1e034bf",
[]
@@ -415423,7 +416234,7 @@
},
"parsing": {
"WEB_FEATURES.yml": [
- "e06782e8f5b477831cdb06a2f93d0dc7fc49af1b",
+ "fa39887d52807e3c0753fc1f4b20dc6cbed864fd",
[]
]
},
@@ -416658,6 +417469,10 @@
]
},
"white-space": {
+ "WEB_FEATURES.yml": [
+ "89253912e8520ad5496e4a9c5da747f9d16bcf9d",
+ []
+ ],
"lone-cr-001-ref.html": [
"943daefee058239e51eef2a4c6b1b46471508696",
[]
@@ -416863,6 +417678,14 @@
"401e35e2f1f8c534487782df003078b1a53b6e36",
[]
],
+ "text-wrap-nowrap-001-mis-ref.html": [
+ "ca73318ecf3bae78643e5a754da54e8c8dc313d2",
+ []
+ ],
+ "text-wrap-nowrap-001-ref.html": [
+ "bd5b231d83126b01720fd5d2d3c57f8d920acdf5",
+ []
+ ],
"textarea-pre-wrap-001-ref.html": [
"31070ea92815e4d3a3ece48ed69da03de02f671e",
[]
@@ -418342,7 +419165,7 @@
[]
],
"WEB_FEATURES.yml": [
- "ca13ab5ae1bedbcbdd995938b62fb5768032c999",
+ "bb44025b80bbd77cbd32483e2212b1c975426539",
[]
],
"add-child-in-empty-layer-ref.html": [
@@ -418351,7 +419174,7 @@
],
"animation": {
"WEB_FEATURES.yml": [
- "831086f99e9f8fd220dbb2264f46945c7a88c1b3",
+ "9116c202c42c02bf586cd6a92e7c618b65d2e2f4",
[]
],
"canvas-webgl-translate-in-animation-ref.html": [
@@ -418552,6 +419375,10 @@
[]
],
"individual-transform": {
+ "WEB_FEATURES.yml": [
+ "8fa77e513de722f44e607829f6e92272ea533736",
+ []
+ ],
"animation": {
"individual-transform-combine-ref.html": [
"7c8eb206a9fb7fc9a4cf53f5282cfc1fb251d450",
@@ -418601,7 +419428,7 @@
],
"parsing": {
"WEB_FEATURES.yml": [
- "831086f99e9f8fd220dbb2264f46945c7a88c1b3",
+ "1bf7e23a0b465c5eb50eb043c140032ee1524e4a",
[]
]
},
@@ -419819,10 +420646,20 @@
"f72f11dccae5e8b63de6148573723f86fbb4c708",
[]
],
+ "WEB_FEATURES.yml": [
+ "4da279daa391f56226f7c324790de8dfe6277514",
+ []
+ ],
"inherit-background-color-transition-ref.html": [
"b7a5824836e157f21649fabe12a701b860e04c9f",
[]
],
+ "parsing": {
+ "WEB_FEATURES.yml": [
+ "4da279daa391f56226f7c324790de8dfe6277514",
+ []
+ ]
+ },
"reference": {
"transition-test-ref.html": [
"d9d91ec9da9e90feaf164632b22cb285f10a76ca",
@@ -420263,6 +421100,12 @@
"e66e037ed020c5164a8f6adfe41e4e3ffcc3841b",
[]
],
+ "parsing": {
+ "WEB_FEATURES.yml": [
+ "b4ae339c2f3301bc1845c39923c05095d9e48499",
+ []
+ ]
+ },
"pointer-events-no-scrollbars-001-ref.html": [
"096eb16229039740135314ef3b0a6ad1bd74c3d3",
[]
@@ -421416,7 +422259,7 @@
[]
],
"WEB_FEATURES.yml": [
- "dc7331ab9545223f7c420b54be38a929498661cc",
+ "526bb67def54a02a8e268cd0393451a27c2c7989",
[]
],
"attr-notype-fallback-ref.html": [
@@ -422369,6 +423212,150 @@
"7d513e282df217e0299d39888ab02afb64b92717",
[]
],
+ "names-are-tree-scoped-ref.html": [
+ "62419b07ee148486917f96b7b1eb8ffdeae7c2ca",
+ []
+ ],
+ "navigation": {
+ "at-rule-opt-in-auto-ref.html": [
+ "be8cc501cf09a01105a8f0c89d8e47b91dd66c01",
+ []
+ ],
+ "at-rule-opt-in-none-ref.html": [
+ "59e3342daebb77a8e484add21626472c01b396ab",
+ []
+ ],
+ "chromium-paint-holding-timeout-ref.html": [
+ "90267e3a84a34157078d1ad890710ea8059a75da",
+ []
+ ],
+ "navigation-auto-excludes-reload-ref.html": [
+ "ed12194c3107880808952a165fe591c6e5fa490b",
+ []
+ ],
+ "no-view-transition-with-cross-origin-redirect-ref.html": [
+ "91f24f877bd679e62ecdb84017049ec2d13d9290",
+ []
+ ],
+ "opt-in-removed-during-transition-ref.html": [
+ "f2b0dbfd338ce0ff60b5d6e834c8c9942e55fbc7",
+ []
+ ],
+ "pagereveal-finished-promise-ref.html": [
+ "64aa26f6547f259a854e4766677d19205248c1b5",
+ []
+ ],
+ "pagereveal-ready-promise-ref.html": [
+ "0c1ed2765651a2173f85b61ed5876d9fb86bcc52",
+ []
+ ],
+ "pagereveal-setup-transition-ref.html": [
+ "cda9820d536796a4746292873248fb969f6f7e1f",
+ []
+ ],
+ "pageswap-fired-before-old-state-capture-ref.html": [
+ "bda333066a3f9a2192d2c507121ef472d1162412",
+ []
+ ],
+ "prerender-removed-during-navigation-ref.html": [
+ "cbcfd19d9505f4b69ae8c367e8a489a6ef729505",
+ []
+ ],
+ "resources": {
+ "at-rule-opt-in-auto-with-types-mutable.html": [
+ "ef4a540d0407540dfe57f46ef0cc31d6c0460049",
+ []
+ ],
+ "at-rule-opt-in-auto-with-types.html": [
+ "b30d3791d6e9e0306ebd24307a97d53886f48318",
+ []
+ ],
+ "at-rule-opt-in-auto.html": [
+ "e887d4b21075e82e936701408c2c652f009498af",
+ []
+ ],
+ "at-rule-opt-in-none.html": [
+ "bf5a73c73ee014ecf5777f77b9282d8f947f58af",
+ []
+ ],
+ "chromium-paint-holding-timeout.html": [
+ "3964199c54cd7230d517b2d676e1a4dbea9067b4",
+ []
+ ],
+ "common.js": [
+ "cbe023a3d9ed808dcab2bc9b3b1a769ca6ff68cc",
+ []
+ ],
+ "opt-in-style.css": [
+ "9aac2b4e85b4255236246fbfb89df8f17dc0f592",
+ []
+ ],
+ "opt-out-style.css": [
+ "f01d587ddadb28049f07ae8f40fa937c479a721b",
+ []
+ ],
+ "outbound-before-render.html": [
+ "0815c3b3d7604c6002323f504a129679723e5cce",
+ []
+ ],
+ "render-blocking-stylesheet.py": [
+ "15ae6aba6ff021eb8c463d3bb050ca5020a9fdef",
+ []
+ ],
+ "root-and-nested-element-transition.html": [
+ "c572ce9798bc52447afb5532a5f652d6443d1ceb",
+ []
+ ],
+ "root-element-transition-iframe-inner-result.html": [
+ "65f14843d9cd3ca15da328cbb854fbd5c7d4aec9",
+ []
+ ],
+ "root-element-transition-iframe.html": [
+ "7f008442f77ae2364b71f92b97b46a6f68ac8c3d",
+ []
+ ],
+ "root-element-transition-no-opt-in.html": [
+ "82d2bdc5597b6ac1a1287133b2a0ac4625aa6599",
+ []
+ ],
+ "root-element-transition-opt-in-removed.html": [
+ "83f5d76c163575a98ce99fb9a73da3f2c5429691",
+ []
+ ],
+ "root-element-transition.html": [
+ "af68ba0074243f836500193b3b58cfa4a131382a",
+ []
+ ],
+ "transition-to-prerender.html": [
+ "63f810a26368ab446b05c0562894b8e0590531ba",
+ []
+ ]
+ },
+ "root-and-nested-element-transition-ref.html": [
+ "a0bb6180c4f8d95801605aa9eb1b570588f86e35",
+ []
+ ],
+ "root-element-transition-iframe-ref.html": [
+ "576689af320e98fa03bc15bfb7adfc4c7ee04a62",
+ []
+ ],
+ "root-element-transition-iframe-with-startVT-on-main-ref.html": [
+ "f350545c7f759516675831fe8565ce481a0bd5d8",
+ []
+ ],
+ "root-element-transition-no-opt-in-ref.html": [
+ "d38b8aa4cd7e3ae877b55b8b030131cc91926739",
+ []
+ ],
+ "root-element-transition-ref.html": [
+ "65f14843d9cd3ca15da328cbb854fbd5c7d4aec9",
+ []
+ ],
+ "transition-to-prerender-ref.html": [
+ "7df899fdca151dd273063323733c0c20fedb3bb3",
+ []
+ ]
+ },
"new-and-old-sizes-match-ref.html": [
"79e89801391530b6fb074545a92db68493667f05",
[]
@@ -422675,6 +423662,18 @@
"e86fa3f3e21e9a8df3a28ba9ca60332a4d1b6ab7",
[]
],
+ "view-transition-types-matches-ref.html": [
+ "80b1c6a1000fbc5f0bc06ec78b9523a6722c8b37",
+ []
+ ],
+ "view-transition-types-one-green-square-ref.html": [
+ "4e66b92bc49d10857323c2b1f39142f3f3eec008",
+ []
+ ],
+ "view-transition-types-reserved-ref.html": [
+ "9195d0811477c7cfe74f83d66901e926a505a5df",
+ []
+ ],
"web-animations-api-ref.html": [
"d71d6e1375e01a3decfc7e74c9f3165ce9c0af1a",
[]
@@ -426707,6 +427706,10 @@
"20835b48397f136a30b82a62654d389cad326315",
[]
],
+ "WEB_FEATURES.yml": [
+ "0a436801cb7fe8709c444d00a70288866a3055da",
+ []
+ ],
"animation": {
"reftests": {
"offset-path-path-interpolation-ref.html": [
@@ -427944,6 +428947,10 @@
"ElementInternals-reportValidity-bubble-notref.html": [
"dda233296569d8ec855855434a4947d8a847a2c6",
[]
+ ],
+ "WEB_FEATURES.yml": [
+ "e40f6e12ae43b8399cf2f67824609c9050460812",
+ []
]
},
"pseudo-class-defined-print-ref.html": [
@@ -428111,7 +429118,7 @@
},
"direct-sockets": {
"META.yml": [
- "85c05e8c834847aa6a1d5aa1f1faa8c60a7ea9ca",
+ "ace03410a2394cd404607607daa070ae5f00915f",
[]
],
"README.md": [
@@ -428119,11 +429126,15 @@
[]
],
"disabled-by-permissions-policy.https.sub.html.headers": [
- "ba6f09f55b393880aadf79a41d9220313ed294c8",
+ "661a357effcfdf7f25a4974e151818ac3a9ec464",
[]
],
- "disabled-by-permissions-policy.js": [
- "a27d1ddf497a7fa0ccd8ecd40b94732a831da97c",
+ "tcp_socket.https.html.headers": [
+ "177feb102dbffb11e5ff7bee147f1834cb771e74",
+ []
+ ],
+ "udp_socket.https.html.headers": [
+ "177feb102dbffb11e5ff7bee147f1834cb771e74",
[]
]
},
@@ -433163,6 +434174,10 @@
"34864d4a4b6bd911f496026ada7bdc41ba3a6905",
[]
],
+ "WEB_FEATURES.yml": [
+ "fb48eaa3112102a1037291b2be4a17f87df51e91",
+ []
+ ],
"report.https.sub.html.sub.headers": [
"1ec5df78f30183b07f2739f180354d87e4572c5b",
[]
@@ -433801,11 +434816,11 @@
[]
],
"bidding-logic.sub.py": [
- "e17f2c2c75d294d7cdf53d3f0afb2826bae10813",
+ "8c0539d43c83a72b57498b0ec5c4f16d2fb26599",
[]
],
"decision-logic.sub.py": [
- "3a23f981620d6a467a293333b3eff5ee1df098fc",
+ "545c7e5e4f85be20eaab38c7ede42e7be926dfd0",
[]
],
"direct-from-seller-signals.py": [
@@ -433825,11 +434840,11 @@
[]
],
"fledge-util.sub.js": [
- "a7d0f63830d63bebf964aed74038b1fbbb2a75e7",
+ "148613eef8d903352f84ef30012a5654d82a3fc6",
[]
],
"fledge_http_server_util.py": [
- "162c93e8b06328437253e106183a48c398121c75",
+ "92733eedf43b8d5bf84470ffa10321c3cb56ae2e",
[]
],
"incrementer.wasm": [
@@ -433849,7 +434864,7 @@
[]
],
"request-tracker.py": [
- "3514741f6343e4f27b55d1838ee43857a354fafe",
+ "dea8427266f1245e297795a69538b3a4f0007af2",
[]
],
"set-cookie.asis": [
@@ -433857,7 +434872,7 @@
[]
],
"subordinate-frame.sub.html": [
- "f5b1ef995956fbf5fa7359b4d23338ad0185d826",
+ "ea1f0c44d6286a3188acab7a83d0c2411bc23f48",
[]
],
"subordinate-frame.sub.html.headers": [
@@ -433865,11 +434880,11 @@
[]
],
"trusted-bidding-signals.py": [
- "955a7c0bdfadbbcb315dfc7902dd26a109970680",
+ "5a89e3b602565170c5e5eb3427eea71c36579dbe",
[]
],
"trusted-scoring-signals.py": [
- "ce53e762958e55af08c9330271a250c7bf95360f",
+ "934d2e9129d04a511b44540a6d326eff4d2b75f3",
[]
],
"update-url.py": [
@@ -435697,6 +436712,10 @@
],
"pagereveal": {
"resources": {
+ "iframe.html": [
+ "a1c1c6233282b7d94aafe59ebf4ffe9b5f121f0c",
+ []
+ ],
"order-in-prerender-activation-popup.html": [
"78989adc172997dd379ea6e7aee578be45702b79",
[]
@@ -438798,6 +439817,14 @@
"caf6b53ce39f2fa61c43b35f6c91c6954e7350d6",
[]
],
+ "svg-filter-lh-rlh-expected.html": [
+ "d183f6940deb4399186770a4e97bb136e05f5f61",
+ []
+ ],
+ "svg-filter.svg": [
+ "a783a3eb15dbbab1395539e1d6597551c0bd62da",
+ []
+ ],
"tentative": {
"canvas-filter-object-blur-expected.html": [
"ae8911b2de39e593c2ef262ed9cd5eaa70b5bf0c",
@@ -446268,6 +447295,10 @@
]
},
"widgets": {
+ "WEB_FEATURES.yml": [
+ "b4ae339c2f3301bc1845c39923c05095d9e48499",
+ []
+ ],
"appearance": {
"appearance-animation-002-ref.html": [
"fab70234d2be44ea73de81456b3dff7aab44ad74",
@@ -446348,6 +447379,10 @@
"5b2ea91fe5fa635c221adc8801605f3b14fb66c7",
[]
],
+ "input-password-background-suppresses-appearance-ref.html": [
+ "33e0e6ac161007679a51f435951f579ab5dfaf09",
+ []
+ ],
"input-radio-disabled-checked-notref.html": [
"987e03cd92d7824e61cc75bbd723bd9583ab8fe1",
[]
@@ -447713,6 +448748,10 @@
[]
],
"attributes-common-to-form-controls": {
+ "WEB_FEATURES.yml": [
+ "457c9040053508f0a7d29ec4e1b94b53e3b1be04",
+ []
+ ],
"resources": {
"dirname-iframe.html": [
"b5ed7e3d9a717746d9653c7d5f867f3acbf3e47f",
@@ -450376,7 +451415,7 @@
],
"pseudo-classes": {
"WEB_FEATURES.yml": [
- "055a5fb4a302b72585d2ca80a849bd653a4d0666",
+ "2877344b6493b39b7019964a352efdeb4a1b58d4",
[]
],
"focus-iframe.html": [
@@ -453077,7 +454116,7 @@
"reftest": {
"legacy": {
"fuzzy-ref-2.html.ini": [
- "cdfd9736c54bdf645a776caaa93d497fe937a04e",
+ "e78d0b4315db33a0eec9c8a1d7879cb83dd43f4e",
[]
],
"reftest_and_fail_0-ref.html.ini": [
@@ -453089,24 +454128,20 @@
[]
],
"reftest_fuzzy_chain_ini.html.ini": [
- "d3776e243e460f438bcaddd1169ccbcc937b6e33",
+ "6c8e46ceafd81554635139d8308b41b438e75369",
[]
]
},
- "reftest_fuzzy_1.html.ini": [
- "44f185357bc55366f4ac1825e16c91e356ffe2f6",
- []
- ],
"reftest_fuzzy_ini_full.html.ini": [
- "d682550d53eaeab5ff70cbabb09e1ff7a7bdb8d2",
+ "0ea76527da400b3c4e1c9dbe0ea9b8c837e3eeb9",
[]
],
"reftest_fuzzy_ini_ref_only.html.ini": [
- "4437fceff899b84e9f316cf6d0e6fb300dc503d7",
+ "8e321bdb90291dbc3427eb2741643c7e42cff8fc",
[]
],
"reftest_fuzzy_ini_short.html.ini": [
- "27e3290e6fbc90ba0b08816924924fe4bc0b8922",
+ "4a3cb610fac473594194f88714696b4cc7019c8f",
[]
],
"reftest_match_and_mismatch-0.html.ini": [
@@ -453264,7 +454299,7 @@
]
},
"click_iframe_crossorigin.sub.html.ini": [
- "c0ca25ab6572190cea7793e92514edc3cbbd10c2",
+ "aa94652ad763060f10aba1e03af806035d29ecd1",
[]
],
"file_upload.sub.html.ini": [
@@ -455140,7 +456175,7 @@
]
},
"lint.ignore": [
- "61bca89ddc9a88ee8c1590cb37715595d7222bce",
+ "14e02983f753d491299396b65f2b43dc55119ac5",
[]
],
"loading": {
@@ -459396,6 +460431,10 @@
"fd10e7d15abd6ed0f4e76581b225ca1e9a248c79",
[]
],
+ "WEB_FEATURES.yml": [
+ "384fd1a3e54bc7784406de3651be747a69c99bad",
+ []
+ ],
"avoid-prefetching-on-text-plain-inner.html": [
"518e2465418ad6aaecc5a6fb3957eeef38259240",
[]
@@ -461955,10 +462994,6 @@
"8fa27bc56a1d828e96e4a4b6a7276c9f1afb6250",
[]
],
- "mock-direct-sockets.js": [
- "6d557f7a01530664d619c1568f1482bfd121e4b7",
- []
- ],
"mock-facedetection.js": [
"7ae658621ee9c34b9dc1091777ef4ccaff950a02",
[]
@@ -463886,6 +464921,10 @@
},
"service-worker": {
"ServiceWorkerGlobalScope": {
+ "error-message-event-worker.js": [
+ "525bc96e763e0c61b72a1099c1ee2a1f928f7b84",
+ []
+ ],
"isSecureContext.serviceworker.js": [
"5033594e34ba75fa2d69b8d44c0cc69e333d3569",
[]
@@ -463961,6 +465000,10 @@
]
}
},
+ "WEB_FEATURES.yml": [
+ "9ddc5b400dc0e116b9c3c8a14203d3a475422c69",
+ []
+ ],
"multi-globals": {
"current": {
"current.https.html": [
@@ -464591,7 +465634,7 @@
[]
],
"fetch-request-resources-iframe.https.html": [
- "86e9f4bb3598a5951920d13e1e002d78fe0aa21e",
+ "37fc491134d0f5324cb88be28acb567b547b68d6",
[]
],
"fetch-request-resources-worker.js": [
@@ -465757,7 +466800,7 @@
[]
],
"WEB_FEATURES.yml": [
- "171923c067225ac7334b8011e7deaf347538952a",
+ "dcb21f387167f46062bc66d2bf5d0f3fc8c58417",
[]
],
"declarative": {
@@ -465791,7 +466834,7 @@
"focus-navigation": {
"resources": {
"focus-utils.js": [
- "f4056dc1688442c2c41ce9421161bea448da7c2f",
+ "4aadfe24cbc1aafff7f36293e755694d5a6c7a48",
[]
],
"shadow-dom.js": [
@@ -466175,6 +467218,10 @@
"d304669ea19186b4fde0b105c37725d7a628e8bd",
[]
],
+ "shared-storage-writable-fetch-request-in-sandboxed-iframe-inner.https.sub.html": [
+ "ef8b2459f3cc386473a38d9ff651925a5f7c4850",
+ []
+ ],
"shared-storage-writable-iframe-in-fenced-inner.https.sub.html": [
"87dbe81a2b5294d8b7bc62dcc0e438d3f5ef830a",
[]
@@ -466183,6 +467230,14 @@
"1b63235b7cdffe9ebb43bfac3a01d5220e1519fb",
[]
],
+ "shared-storage-writable-iframe-request-in-sandboxed-iframe-inner.https.sub.html": [
+ "4d1b7ab198d7f0e85f3d3dcc8681264c2d05c56a",
+ []
+ ],
+ "shared-storage-writable-img-request-in-sandboxed-iframe-inner.https.sub.html": [
+ "8842a4689d823ab0b767eb14ec3f18a22deb2b19",
+ []
+ ],
"shared-storage-writable-pixel-write.png": [
"818c71d03f435db011069584cda25c1f66af1a85",
[]
@@ -466636,6 +467691,10 @@
"5b6ac87aed5ea1ed41f7e79bf340a4259039e52a",
[]
],
+ "slow-executor.py": [
+ "379ab552b94d0effd2bb28da60a80e3233c09002",
+ []
+ ],
"sw.js": [
"dd8a9631b4e8d25e0f3a4258806b909b07e682d7",
[]
@@ -467140,6 +468199,10 @@
"554bd31684ec096f0a3cf56a82dbfbc5556ddfa2",
[]
],
+ "WEB_FEATURES.yml": [
+ "a24e831c4aa8229d12f8fe9bdf8f3e1187f51db5",
+ []
+ ],
"helpers.js": [
"416c4a401efcd8933233a755ab65400cca4cdcb3",
[]
@@ -467916,10 +468979,6 @@
"25acb75ba00ec48e95515f7c803f52e1aaf9418b",
[]
],
- "paint-context-005-ref.svg": [
- "fa30a5361cb7461de2a653bc5df99243d97e25a7",
- []
- ],
"paint-context-006-ref.svg": [
"6aa42374c512b528868c55d0339eb4deedf09d69",
[]
@@ -468742,7 +469801,7 @@
[]
],
"requirements_build.txt": [
- "7b4f8619b2e5d3bbbf3fa1d15de96c76fcc44e98",
+ "e74e4e5302de95611631ab3193f8ae38f643f7dc",
[]
],
"requirements_macos_color_profile.txt": [
@@ -468750,7 +469809,7 @@
[]
],
"requirements_tc.txt": [
- "aa57643b9b58af506ca3548239adda1d4ff35534",
+ "b3c1c51f129b07fc0383de30ab659142052404eb",
[]
],
"run_tc.py": [
@@ -468936,11 +469995,11 @@
[]
],
"lint.py": [
- "e3a555413b83178e34987a3a015159af29bbb34d",
+ "32bc7ece7b12f366fae0278fe4de06df43395583",
[]
],
"rules.py": [
- "c7b3a59b19e22f0aeda41374f7ba311d635bdbbb",
+ "8dba7817a9e5633a48de61351df7976780ab3832",
[]
],
"tests": {
@@ -469137,7 +470196,7 @@
}
},
"test_file_lints.py": [
- "f2ebcd9080a32a7cce54e36877e9367360e28237",
+ "e77048b31566887576d31c37d3d80833336131c2",
[]
],
"test_lint.py": [
@@ -469361,7 +470420,7 @@
[]
],
"requirements_tests.txt": [
- "24785f3531394470e232e5420a2fd64cbc1c0774",
+ "74792e6131456c571fadd096ae0a53e0edfb0d93",
[]
],
"runner": {
@@ -479940,7 +480999,7 @@
]
},
"transport.py": [
- "d61ebaddea7b7e3cac008781a8dcf1dc8326700d",
+ "14b990f971d235db7a354677a7b9032dd2ff88a5",
[]
],
"undefined.py": [
@@ -480258,7 +481317,7 @@
[]
],
"base.py": [
- "6b1465cde8aca91a1a1df7819a8e8aa0f4608e36",
+ "dd4fc314fc0449a35bfe6a58e9fa4921dcd62d64",
[]
],
"chrome.py": [
@@ -480294,7 +481353,7 @@
[]
],
"firefox.py": [
- "d977930a289b614caf4e0c598876500b20630497",
+ "d22da8568adbe91e2c3379683e249507a908a35a",
[]
],
"firefox_android.py": [
@@ -480366,11 +481425,11 @@
[]
],
"executorchrome.py": [
- "f5641471562b65c56701423329b9a16f4d103561",
+ "46d38f14c55ee4ddc4452eec972df30ee07ed354",
[]
],
"executoredge.py": [
- "3b62cb7477b26f2ab44ccb5a8fb610ed18b4c023",
+ "ad546b7e84062b1cecd6fb42e96f4d4e3af4a0b8",
[]
],
"executormarionette.py": [
@@ -480571,7 +481630,7 @@
[]
],
"test_base.py": [
- "a3d804336e12ebc214c452c3c449fb75836c6d45",
+ "b5e40e3f8df1a1c69b0bc946c2b26901bd4d4b45",
[]
],
"test_sauce.py": [
@@ -481120,7 +482179,7 @@
[]
],
"openssl.py": [
- "25f86e019ecf210dd1bf2d735932781bb7fb430e",
+ "2a388671b62f32ccbfba6682e634a72feff99d53",
[]
],
"pregenerated.py": [
@@ -482033,6 +483092,10 @@
"README.md": [
"ab7a3530515861c91c4c012b93c2e0cf8e913def",
[]
+ ],
+ "WEB_FEATURES.yml": [
+ "f206d0be0b4d054917184b9a52492c095142d1fd",
+ []
]
},
"virtual-keyboard": {
@@ -484846,7 +485909,7 @@
[]
],
"test_actions_scroll.html": [
- "db5952ed74d2bc771933296f313797126c18291e",
+ "edeff342fe4d67d8af2272a516a618648485ff55",
[]
]
},
@@ -485173,7 +486236,7 @@
[]
],
"conv_transpose2d.json": [
- "742752fd41d6a682bba884cddefabcb5e72b4987",
+ "241faf52633abd2bac30c95e1d83d9930b2fe32b",
[]
],
"cos.json": [
@@ -485422,7 +486485,7 @@
]
},
"utils.js": [
- "e5b80ae9f7fb081758960a3e6b4cbf0cf92f2b37",
+ "c231f46bcf5221808a3f05345f28507d3a6215c6",
[]
],
"utils_validation.js": [
@@ -485474,6 +486537,10 @@
"31d80926d33b559fd31c5da4b0dea8d18e3ab34c",
[]
],
+ "WEB_FEATURES.yml": [
+ "117b04f81fe45dc7935177063c7177ac00e06fc0",
+ []
+ ],
"coverage": {
"RTCDTMFSender.txt": [
"aa30021323870669c8aada66f481168bf4cd4c7b",
@@ -488749,6 +489816,10 @@
}
},
"modules": {
+ "WEB_FEATURES.yml": [
+ "ab73efc0d041258d2e778479391523c2960156e8",
+ []
+ ],
"dedicated-worker-options-credentials.html.headers": [
"8da851ab7363870014a32121a3cd87979aa2099d",
[]
@@ -491642,7 +492713,7 @@
]
],
"idb-binary-key-detached.htm": [
- "ac6fc2ef98021be045338302b08151bd13535575",
+ "a4ce3fbce00917b747c4dd40655cb2d6aa55c63d",
[
null,
{}
@@ -525501,6 +526572,15 @@
}
]
],
+ "fedcm-disclosure-text-shown.https.html": [
+ "e3f303ec4c9ff5b34960373bc90f4fb258b268c6",
+ [
+ null,
+ {
+ "testdriver": true
+ }
+ ]
+ ],
"fedcm-userinfo-after-resolve.https.html": [
"0521f4a2ab5d82aeaca1f603b297e1199b886af8",
[
@@ -531682,7 +532762,7 @@
]
},
"relpos-inline-hit-testing.html": [
- "ca0c961ca22b3ac7fac7f25f21085ceb220dfddc",
+ "aa7cd5ad97c7ab1614fe445ecb8a5f37165feffb",
[
null,
{}
@@ -532406,7 +533486,7 @@
]
],
"color-computed-relative-color.html": [
- "ac2f9c87aac34ddeb3a54c45d449d49e2e333538",
+ "5a58ae6179834ffbcc4098318f5ba0f8825698e6",
[
null,
{}
@@ -534244,7 +535324,7 @@
]
],
"content-valid.html": [
- "5c7558610745466c0bacc100f92cd3d8cca36a60",
+ "60d03a4d4c3412f15607721dae5d04dbdbf2c682",
[
null,
{}
@@ -536479,14 +537559,14 @@
],
"intrinsic-size": {
"col-wrap-004.html": [
- "00cfa520690374562242cbca8fa19c0e1ca44520",
+ "83b119e3f16ff6612047dae0cbdb439028704025",
[
null,
{}
]
],
"col-wrap-005.html": [
- "a753619c62f51b85fa0b51f0cb058bec589707c5",
+ "15ca5a57ec49e68d2f1e071b3d387a28b8d052e6",
[
null,
{}
@@ -536775,7 +537855,7 @@
]
],
"flex-shorthand.html": [
- "1d74df808341baa42914dec0c19359847e7188c9",
+ "d22957983b13b7a01875edbb56538785764f3c1a",
[
null,
{}
@@ -544519,6 +545599,13 @@
{}
]
],
+ "overflow-outside-padding.html": [
+ "792f7b87351bfcbda7baecc67ea6dedc2b05f3a5",
+ [
+ null,
+ {}
+ ]
+ ],
"overflow-padding.html": [
"2d6efc391a48781096cd2263575523c52bd4085e",
[
@@ -544540,13 +545627,6 @@
{}
]
],
- "overfow-outside-padding.html": [
- "792f7b87351bfcbda7baecc67ea6dedc2b05f3a5",
- [
- null,
- {}
- ]
- ],
"parsing": {
"block-ellipsis-invalid.html": [
"2b9c059a45d0e315a350e0c09fd7cd86be72c61e",
@@ -546852,6 +547932,13 @@
]
]
},
+ "position-relative.html": [
+ "e3da0013101983e28cc2f1e59aa15a2e03a563db",
+ [
+ null,
+ {}
+ ]
+ ],
"rt-display-blockified.html": [
"b2b7989fddc2f18add83fd342aa75c44261d0b07",
[
@@ -548655,7 +549742,14 @@
}
]
]
- }
+ },
+ "snapevents-at-document-bubble-to-window.html": [
+ "e50be0b6b25e59c27d667c85e60e8defc7d97cde",
+ [
+ null,
+ {}
+ ]
+ ]
},
"css-scrollbars": {
"inheritance.html": [
@@ -548976,7 +550070,7 @@
]
],
"invalidation-part-pseudo.html": [
- "fca4a964dce5c5c61b8f4fed4ef25510a9099298",
+ "66df33a4b7019768d29ea64fda7265d63d9436fc",
[
null,
{
@@ -550998,21 +552092,21 @@
]
],
"colspan-001.html": [
- "e6cb440366cf0cecb94d0198315a909327c70a34",
+ "112055218011bec6c7ec2cbb890d294eaebea7a0",
[
null,
{}
]
],
"colspan-002.html": [
- "144cbef4850f52c19163a793ff6b1f8f6b9b77a1",
+ "16db9eb8bad8986e6b40b570477b3f9bd83f85da",
[
null,
{}
]
],
"colspan-003.html": [
- "58e02b92878269b6fbe79fdc6684fb969d1ec0dc",
+ "70e1b218f0510b2dd45a8fb09de76925305ca5d2",
[
null,
{}
@@ -551268,7 +552362,7 @@
]
},
"percent-height-overflow-auto-in-restricted-block-size-cell.html": [
- "f532308484383dbbe086f7af9d90d0579b83608a",
+ "f5421c7365335b0c51b66674c3e28d1c9c2566c4",
[
null,
{}
@@ -558930,6 +560024,15 @@
}
]
],
+ "text-overflow-017.html": [
+ "7f61a57620c126c9ee99c7a2d41b567d84506bf1",
+ [
+ null,
+ {
+ "testdriver": true
+ }
+ ]
+ ],
"text-overflow-023.html": [
"b9c21ed8f22e5380773a6ebdf620913be7aa77e1",
[
@@ -560269,7 +561372,7 @@
]
],
"duplicate-tag-rejects-start.html": [
- "6c99d6426c04f553dea129f0c0f978aba1c33c24",
+ "5c605fefbb3cc13538e4161bcb0f989a89a30e26",
[
null,
{}
@@ -560290,7 +561393,7 @@
]
],
"hit-test-unpainted-element-from-point.html": [
- "c9650d97b9d1b1fe47443e83d776437b7ee77f49",
+ "b34d2b11df558327fbdd87dc3b4ded2b362bff14",
[
null,
{}
@@ -560312,6 +561415,238 @@
{}
]
],
+ "navigation": {
+ "at-rule-cssom.html": [
+ "6f8beb16731bec0dd1e4f90a9829cc8571cd84a2",
+ [
+ null,
+ {}
+ ]
+ ],
+ "at-rule-in-layer-cascade-external-stylesheet.html": [
+ "53c6135a566cb256079d480bb9b4b1f7a0be3ea4",
+ [
+ null,
+ {}
+ ]
+ ],
+ "at-rule-in-layer-cascade.html": [
+ "a38ca48e8c41426c73801173d1a9516b2a1caeff",
+ [
+ null,
+ {}
+ ]
+ ],
+ "at-rule-in-layer.html": [
+ "63ec4c3e25d24abd5e0e5e24cfd612487ae2c4c3",
+ [
+ null,
+ {}
+ ]
+ ],
+ "at-rule-in-matching-media.html": [
+ "77f2e05c340320fcc1a16c0135b0c85ef8157c91",
+ [
+ null,
+ {}
+ ]
+ ],
+ "at-rule-in-non-matching-media.html": [
+ "ac9dbde37e183ac5f559b2a2af6434add43786f9",
+ [
+ null,
+ {}
+ ]
+ ],
+ "at-rule-in-shadow-dom.html": [
+ "7edd8e0749f7c77f1257423c5838ae0bcb0b263b",
+ [
+ null,
+ {}
+ ]
+ ],
+ "at-rule-multiple-rules.html": [
+ "5a84d46da1884016bdf40022473a732e94d7a423",
+ [
+ null,
+ {}
+ ]
+ ],
+ "at-rule-opt-in-change-with-script.html": [
+ "12452f67634e42746871a74701c87dfeef165048",
+ [
+ null,
+ {}
+ ]
+ ],
+ "hide-before-reveal.html": [
+ "7cdbcb46280bd352c72f7ce9aa3802fae5e319e2",
+ [
+ null,
+ {
+ "testdriver": true,
+ "timeout": "long"
+ }
+ ]
+ ],
+ "mismatched-snapshot-containing-block-size-skips.html": [
+ "d18a40c9b6e38522f004394ac52494f58be4673d",
+ [
+ null,
+ {
+ "testdriver": true
+ }
+ ]
+ ],
+ "old_vt_promises_bfcache.html": [
+ "18397abbec7b2f5129d54b376b3b812f68ec4c53",
+ [
+ null,
+ {}
+ ]
+ ],
+ "pagereveal-microtask-sequence.html": [
+ "205f4d1ddcfb71d60788af58c77e6b12957336c3",
+ [
+ null,
+ {}
+ ]
+ ],
+ "pagereveal-no-view-transition-new-opt-out.html": [
+ "a8b314b751f57b7d237779b5cbf90c8cca66ab3f",
+ [
+ null,
+ {}
+ ]
+ ],
+ "pagereveal-no-view-transition.html": [
+ "a6ae95f9be12f158a3b5ce9b708d6e9b013f13a7",
+ [
+ null,
+ {}
+ ]
+ ],
+ "pagereveal-updatecallbackdone-promise.html": [
+ "3d259e66a2051dca2498f4ed4099c61d9f0dfb1c",
+ [
+ null,
+ {}
+ ]
+ ],
+ "pagereveal-with-view-transition.html": [
+ "3f21d56ed688bee743b13d7bdd7679f851f16485",
+ [
+ null,
+ {}
+ ]
+ ],
+ "pageswap-in-hidden-doc-should-skip-transition.html": [
+ "5be3b6cb27ce915eea1711caa93d4adee4e4f35b",
+ [
+ null,
+ {
+ "testdriver": true
+ }
+ ]
+ ],
+ "pageswap-long-delay.html": [
+ "e6ef6d80dc26b81dd7f99b0cb40c7e7c59bf3608",
+ [
+ null,
+ {}
+ ]
+ ],
+ "pageswap-push-from-click.html": [
+ "16e04c89bfe380e3c51b52dbd8e27db3316127f0",
+ [
+ null,
+ {
+ "testdriver": true
+ }
+ ]
+ ],
+ "pageswap-push-navigation.html": [
+ "50a43e70d90eb04251ab1017113b69f6120116db",
+ [
+ null,
+ {}
+ ]
+ ],
+ "pageswap-push-with-redirect.html": [
+ "d9d252f83ce7116754a65ee272c698b0e3c41b15",
+ [
+ null,
+ {}
+ ]
+ ],
+ "pageswap-replace-navigation.html": [
+ "18f63454fdf8ce59244ac6ff40563ba1461295a1",
+ [
+ null,
+ {}
+ ]
+ ],
+ "pageswap-skip-transition.html": [
+ "bfeee7827a31cb4ca0b78d4c43ccbf53f1d698cc",
+ [
+ null,
+ {}
+ ]
+ ],
+ "pageswap-traverse-navigation-no-bfcache.https.html": [
+ "9137dc4d1cd18da10ff2ac4c74e1e007d7fdfc04",
+ [
+ null,
+ {}
+ ]
+ ],
+ "skip-outbound-vt-before-reveal.html": [
+ "2fcac44d2494b6f25af528f8042f5de3fc5f4755",
+ [
+ null,
+ {
+ "timeout": "long"
+ }
+ ]
+ ],
+ "with-types": {
+ "at-rule-with-types-parsing.html": [
+ "431a0ec9f4de5888b498b850de6c2adfdcdea97a",
+ [
+ null,
+ {}
+ ]
+ ],
+ "navigation-supersedes-types-same-rule.html": [
+ "23dc9d4ca983d708a68279af1aadd107b2d6aed8",
+ [
+ null,
+ {}
+ ]
+ ],
+ "navigation-supersedes-types-when-after.html": [
+ "1fd28d97a6ee45010d19216b8f71bd9dd5017b43",
+ [
+ null,
+ {}
+ ]
+ ],
+ "types-in-pagereveal-and-pageswap.html": [
+ "2c12fece3c0990cf4991341b0dd0c75c927f7727",
+ [
+ null,
+ {}
+ ]
+ ]
+ },
+ "zero-named-elements.html": [
+ "e6061de2a8b01584308a535a991f11927460e79c",
+ [
+ null,
+ {}
+ ]
+ ]
+ },
"no-crash-set-exception.html": [
"bc0d764a590aaed95d2e6afe487f2477385a9c94",
[
@@ -560561,6 +561896,20 @@
{}
]
],
+ "view-transition-types-mutable-no-document-element-crashtest.html": [
+ "f1940c398695989d6cc569ffb25a03a83be1d064",
+ [
+ null,
+ {}
+ ]
+ ],
+ "view-transition-types-mutable.html": [
+ "86c77d615abf19471bc980f5cf6cf3fb7f9a97c4",
+ [
+ null,
+ {}
+ ]
+ ],
"web-animation-pseudo-incorrect-name.html": [
"e8d14f1bb08161169f436634fe9c4937759ed991",
[
@@ -561324,8 +562673,8 @@
{}
]
],
- "CSSStyleSheet-constructable-baseURL.tentative.html": [
- "8997a59e9c18238b661c5b3592bdfd86e266b754",
+ "CSSStyleSheet-constructable-baseURL.html": [
+ "d0f0f828b03ead6083ca8e3aad6a9070bd2a1f97",
[
null,
{}
@@ -567144,7 +568493,7 @@
]
],
"ShadowRoot-innerHTML-upgrade.tentative.html": [
- "e21c9dd03326d68976bffc99483d04edd1bb8145",
+ "11cecb1533b53839570387ff5d0c5e9e9df69f56",
[
null,
{}
@@ -567517,16 +568866,21 @@
},
"direct-sockets": {
"disabled-by-permissions-policy.https.sub.html": [
- "f2f6e50be0fd2274b7c3b7e453d7661b6dd99daa",
+ "cc2f58b76a6bdf533057e3d6f45ddac8c91b7b6b",
[
null,
- {
- "testdriver": true
- }
+ {}
]
],
- "open-securecontext.http.html": [
- "c3a2a42a25bf186534b3addbc19cdae96ed7f956",
+ "tcp_socket.https.html": [
+ "10d21ce42b9e6821512d24ba179819a541e9f6dc",
+ [
+ null,
+ {}
+ ]
+ ],
+ "udp_socket.https.html": [
+ "c95d41e2bdec79f5c2fffd7efe49376597c742f0",
[
null,
{}
@@ -590219,21 +591573,10 @@
}
]
],
- "eventsource-request-cancellation.any.window.js": [
+ "eventsource-request-cancellation.window.js": [
"1cee9b742ea284f415d375bbdc19d8262ccdd3c6",
[
- "eventsource/eventsource-request-cancellation.window.any.html",
- {
- "script_metadata": [
- [
- "title",
- "EventSource: request cancellation"
- ]
- ]
- }
- ],
- [
- "eventsource/eventsource-request-cancellation.window.any.worker.html",
+ "eventsource/eventsource-request-cancellation.window.html",
{
"script_metadata": [
[
@@ -599458,6 +600801,20 @@
]
]
},
+ "response-arraybuffer-realm.window.js": [
+ "19a5dfa5ff6e5d4cb2951919a6f4ba086e5056da",
+ [
+ "fetch/api/response/response-arraybuffer-realm.window.html",
+ {
+ "script_metadata": [
+ [
+ "title",
+ "realm of Response arrayBuffer()"
+ ]
+ ]
+ }
+ ]
+ ],
"response-body-read-task-handling.html": [
"64b0755666168d7cac9808fe1593a01889a19bff",
[
@@ -602302,6 +603659,53 @@
}
]
],
+ "send-on-deactivate-with-background-sync.tentative.https.window.js": [
+ "881bdd23f9371ac684b4aa58c2be23ac402cf4fe",
+ [
+ "fetch/fetch-later/send-on-deactivate-with-background-sync.tentative.https.window.html",
+ {
+ "script_metadata": [
+ [
+ "script",
+ "/resources/testdriver.js"
+ ],
+ [
+ "script",
+ "/resources/testdriver-vendor.js"
+ ],
+ [
+ "script",
+ "/common/dispatcher/dispatcher.js"
+ ],
+ [
+ "script",
+ "/common/get-host-info.sub.js"
+ ],
+ [
+ "script",
+ "/common/utils.js"
+ ],
+ [
+ "script",
+ "/html/browsers/browsing-the-web/remote-context-helper/resources/remote-context-helper.js"
+ ],
+ [
+ "script",
+ "/html/browsers/browsing-the-web/back-forward-cache/resources/rc-helper.js"
+ ],
+ [
+ "script",
+ "/fetch/fetch-later/resources/fetch-later-helper.js"
+ ],
+ [
+ "timeout",
+ "long"
+ ]
+ ],
+ "timeout": "long"
+ }
+ ]
+ ],
"send-on-deactivate.tentative.https.window.js": [
"3bcf07483add874c42e6c26cc4343905fcddc596",
[
@@ -602412,10 +603816,17 @@
]
],
"resources-with-0x00-in-header.window.js": [
- "37a61c12b561b260725f8da61b8478c5d9b713af",
+ "b617911105acb45f5881f1988b52162702f31841",
[
"fetch/h1-parsing/resources-with-0x00-in-header.window.html",
- {}
+ {
+ "script_metadata": [
+ [
+ "script",
+ "/common/get-host-info.sub.js"
+ ]
+ ]
+ }
]
],
"status-code.window.js": [
@@ -607677,7 +609088,7 @@
]
],
"auction-config.https.window.js": [
- "057b4d7f785cbe05f676b45ffc33551f51cf5e85",
+ "b5f551491645c46713692b1574a8074f4c244d8b",
[
"fledge/tentative/auction-config.https.window.html?1-5",
{
@@ -613813,7 +615224,7 @@
]
],
"network.https.window.js": [
- "fe287767c8d051328b82e7501a64f0ad86cc0505",
+ "0b41662155a67ba5e14c383d7f7075f9d808cecf",
[
"fledge/tentative/network.https.window.html?1-5",
{
@@ -613852,14 +615263,18 @@
],
[
"variant",
- "?11-last"
+ "?11-15"
+ ],
+ [
+ "variant",
+ "?16-last"
]
],
"timeout": "long"
}
],
[
- "fledge/tentative/network.https.window.html?11-last",
+ "fledge/tentative/network.https.window.html?11-15",
{
"script_metadata": [
[
@@ -613896,7 +615311,59 @@
],
[
"variant",
- "?11-last"
+ "?11-15"
+ ],
+ [
+ "variant",
+ "?16-last"
+ ]
+ ],
+ "timeout": "long"
+ }
+ ],
+ [
+ "fledge/tentative/network.https.window.html?16-last",
+ {
+ "script_metadata": [
+ [
+ "script",
+ "/resources/testdriver.js"
+ ],
+ [
+ "script",
+ "/resources/testdriver-vendor.js"
+ ],
+ [
+ "script",
+ "/common/subset-tests.js"
+ ],
+ [
+ "script",
+ "/common/utils.js"
+ ],
+ [
+ "script",
+ "resources/fledge-util.sub.js"
+ ],
+ [
+ "timeout",
+ "long"
+ ],
+ [
+ "variant",
+ "?1-5"
+ ],
+ [
+ "variant",
+ "?6-10"
+ ],
+ [
+ "variant",
+ "?11-15"
+ ],
+ [
+ "variant",
+ "?16-last"
]
],
"timeout": "long"
@@ -613940,7 +615407,11 @@
],
[
"variant",
- "?11-last"
+ "?11-15"
+ ],
+ [
+ "variant",
+ "?16-last"
]
],
"timeout": "long"
@@ -615093,7 +616564,7 @@
]
],
"trusted-bidding-signals.https.window.js": [
- "905abf8381eaeaee800be38c25d44e5704be0247",
+ "205c6895a06b3235ef3d448d16fad85743d14e31",
[
"fledge/tentative/trusted-bidding-signals.https.window.html?1-5",
{
@@ -616568,7 +618039,7 @@
]
],
"trusted-scoring-signals.https.window.js": [
- "105b09fb3bec40b36ce4bda2d1d6aa809f3a0152",
+ "46570da3e41a26dac8d7fb3e2007d8a7df87b51c",
[
"fledge/tentative/trusted-scoring-signals.https.window.html?1-5",
{
@@ -616631,7 +618102,11 @@
],
[
"variant",
- "?45-last"
+ "?45-50"
+ ],
+ [
+ "variant",
+ "?50-last"
]
],
"timeout": "long"
@@ -616699,7 +618174,11 @@
],
[
"variant",
- "?45-last"
+ "?45-50"
+ ],
+ [
+ "variant",
+ "?50-last"
]
],
"timeout": "long"
@@ -616767,7 +618246,11 @@
],
[
"variant",
- "?45-last"
+ "?45-50"
+ ],
+ [
+ "variant",
+ "?50-last"
]
],
"timeout": "long"
@@ -616835,7 +618318,11 @@
],
[
"variant",
- "?45-last"
+ "?45-50"
+ ],
+ [
+ "variant",
+ "?50-last"
]
],
"timeout": "long"
@@ -616903,7 +618390,11 @@
],
[
"variant",
- "?45-last"
+ "?45-50"
+ ],
+ [
+ "variant",
+ "?50-last"
]
],
"timeout": "long"
@@ -616971,7 +618462,11 @@
],
[
"variant",
- "?45-last"
+ "?45-50"
+ ],
+ [
+ "variant",
+ "?50-last"
]
],
"timeout": "long"
@@ -617039,7 +618534,11 @@
],
[
"variant",
- "?45-last"
+ "?45-50"
+ ],
+ [
+ "variant",
+ "?50-last"
]
],
"timeout": "long"
@@ -617107,14 +618606,18 @@
],
[
"variant",
- "?45-last"
+ "?45-50"
+ ],
+ [
+ "variant",
+ "?50-last"
]
],
"timeout": "long"
}
],
[
- "fledge/tentative/trusted-scoring-signals.https.window.html?45-last",
+ "fledge/tentative/trusted-scoring-signals.https.window.html?45-50",
{
"script_metadata": [
[
@@ -617175,7 +618678,83 @@
],
[
"variant",
- "?45-last"
+ "?45-50"
+ ],
+ [
+ "variant",
+ "?50-last"
+ ]
+ ],
+ "timeout": "long"
+ }
+ ],
+ [
+ "fledge/tentative/trusted-scoring-signals.https.window.html?50-last",
+ {
+ "script_metadata": [
+ [
+ "script",
+ "/resources/testdriver.js"
+ ],
+ [
+ "script",
+ "/common/utils.js"
+ ],
+ [
+ "script",
+ "resources/fledge-util.sub.js"
+ ],
+ [
+ "script",
+ "/common/subset-tests.js"
+ ],
+ [
+ "timeout",
+ "long"
+ ],
+ [
+ "variant",
+ "?1-5"
+ ],
+ [
+ "variant",
+ "?6-10"
+ ],
+ [
+ "variant",
+ "?11-15"
+ ],
+ [
+ "variant",
+ "?16-20"
+ ],
+ [
+ "variant",
+ "?21-25"
+ ],
+ [
+ "variant",
+ "?26-30"
+ ],
+ [
+ "variant",
+ "?31-35"
+ ],
+ [
+ "variant",
+ "?36-40"
+ ],
+ [
+ "variant",
+ "?41-45"
+ ],
+ [
+ "variant",
+ "?45-50"
+ ],
+ [
+ "variant",
+ "?50-last"
]
],
"timeout": "long"
@@ -617243,7 +618822,11 @@
],
[
"variant",
- "?45-last"
+ "?45-50"
+ ],
+ [
+ "variant",
+ "?50-last"
]
],
"timeout": "long"
@@ -622533,6 +624116,15 @@
]
],
"pagereveal": {
+ "order-in-bfcache-restore-iframe.html": [
+ "f98cb61ad32bd9df42aefe6291f0c27902f4f2ad",
+ [
+ null,
+ {
+ "timeout": "long"
+ }
+ ]
+ ],
"order-in-bfcache-restore.html": [
"f453c80a2aee8c2cff5bca12f361a6a7b7683be8",
[
@@ -622542,6 +624134,13 @@
}
]
],
+ "order-in-new-document-navigation-iframe.html": [
+ "b982025bc78cfc2ec72f2c3de9eae80da0ba646a",
+ [
+ null,
+ {}
+ ]
+ ],
"order-in-new-document-navigation.html": [
"d2c44511d3a3a175ceb09298302baec088ddbf76",
[
@@ -667363,6 +668962,15 @@
}
]
],
+ "select-option-hover-styles.tentative.html": [
+ "4361229b8f15dfcdfbe4ae71824d42f67eceb174",
+ [
+ null,
+ {
+ "testdriver": true
+ }
+ ]
+ ],
"select-parsing.tentative.html": [
"31133446d4d140d5c13f33038617d8baf022e970",
[
@@ -668928,6 +670536,15 @@
null,
{}
]
+ ],
+ "no-focus.tentative.html": [
+ "6e81a20962c26051aa0f1f6f9d458eb7d24fc88e",
+ [
+ null,
+ {
+ "testdriver": true
+ }
+ ]
]
},
"popovers": {
@@ -669067,11 +670684,12 @@
]
],
"popover-focus-2.html": [
- "8f24ace91956610b065a3f853046c9fd7ac2fb45",
+ "552c8d8206b7b682f422bc8a5e2017f66983d198",
[
null,
{
- "testdriver": true
+ "testdriver": true,
+ "timeout": "long"
}
]
],
@@ -680312,6 +681930,13 @@
}
]
],
+ "dynamic-integrity.html": [
+ "7a6fed71086b24bae362e21303544d90291df733",
+ [
+ null,
+ {}
+ ]
+ ],
"http-url-like-specifiers.sub.html": [
"ba5182354cbcdda4386eea7730701a45460c443c",
[
@@ -680351,6 +681976,27 @@
]
]
},
+ "no-referencing-script-integrity-valid.html": [
+ "2594459fcbfbcfc76e80670412f18a44c5c328a9",
+ [
+ null,
+ {}
+ ]
+ ],
+ "no-referencing-script-integrity.html": [
+ "8025ba3b8993d8f382a290b9d42522ee5a9e184c",
+ [
+ null,
+ {}
+ ]
+ ],
+ "nonimport-integrity.html": [
+ "1157ee64ee781b97a3cff9f5f8158ee72deb498d",
+ [
+ null,
+ {}
+ ]
+ ],
"not-as-classic-script.html": [
"5f97394e4408bc8db5624e5d0c6f1b2fa1b028dd",
[
@@ -680364,6 +682010,13 @@
null,
{}
]
+ ],
+ "static-integrity.html": [
+ "d1d3649339e5b2dd0bcd7bfbe0118a9f2405b287",
+ [
+ null,
+ {}
+ ]
]
},
"inert": {
@@ -683880,6 +685533,20 @@
{}
]
],
+ "transparent-text-with-shadow.html": [
+ "8231ed9ff115ca88fe59a0a3e4ebd3d14a678b70",
+ [
+ null,
+ {}
+ ]
+ ],
+ "transparent-text-with-text-stroke.html": [
+ "2c81ff8aad70d71e92340dcd9d5a1001533a7bd2",
+ [
+ null,
+ {}
+ ]
+ ],
"transparent-text.html": [
"9eb978ab5cd8316cc1ae4f116a96a2271a2e9c96",
[
@@ -686878,7 +688545,7 @@
]
],
"width-height-004.html": [
- "7133573b04d82664d7c0885c0bca9bc7c745d50f",
+ "10ece249ca0b51d4b63c865703ee43b7f95eda30",
[
null,
{}
@@ -689581,7 +691248,7 @@
]
],
"mediametadata.html": [
- "f87e71d969004ee575300fb2f914c8d122dddf48",
+ "d73a43125160ecd1f6a45ac094490bfb4fc13a8f",
[
null,
{}
@@ -691808,7 +693475,7 @@
]
],
"event-constructor.html": [
- "863681ced730d1c3f441a6f8b21db7b890301d25",
+ "89ac934020eec9c7771b2fbd608a95e730b5d093",
[
null,
{}
@@ -691955,14 +693622,14 @@
]
],
"navigate-anchor-cross-origin.html": [
- "62e5adb20ae88c33c3f76b527d98502d38db3a52",
+ "a69b78196ff288fb251a1393436e4714d7925701",
[
null,
{}
]
],
"navigate-anchor-download-userInitiated.html": [
- "69181425292e758ac5bdccaec51b95f3670ecb71",
+ "17109a2ae82049bba0afbec4df059fe43150164d",
[
null,
{
@@ -691971,28 +693638,28 @@
]
],
"navigate-anchor-download.html": [
- "d04245ec253ce0b9f56afa9fbc598730924ba40e",
+ "fbeeb69b9563f7246079242a31063e584e3e420a",
[
null,
{}
]
],
"navigate-anchor-fragment.html": [
- "6443ccecd1d702cc1210857bd9c7013721d88fa6",
+ "69400c3d2f31f8df45dfef9062904035800c4ac5",
[
null,
{}
]
],
"navigate-anchor-same-origin-cross-document.html": [
- "5a6dce7ec8bcc9b349494ff151428d219ee7bfc0",
+ "084993540a18dc90da1cd747de05fdcef6cc093a",
[
null,
{}
]
],
"navigate-anchor-userInitiated.html": [
- "bb76e7a3fbe65121452fb39218f89c567bafac48",
+ "686d7ad6ee393e6ca5cc65193e35f7bdf8fda416",
[
null,
{
@@ -692001,7 +693668,7 @@
]
],
"navigate-anchor-with-target.html": [
- "e4b897d82f3ddc62e64f9a7489969425338b29f9",
+ "de74239b3bee8b3cc0e7e27c899e8b620245d925",
[
null,
{}
@@ -692022,35 +693689,35 @@
]
],
"navigate-destination-getState-back-forward.html": [
- "869fc1648157b25f296c69f8163a441a0101277b",
+ "b206981821b5441534f2c19b3f8076308ec3e0bf",
[
null,
{}
]
],
"navigate-destination-getState-navigate.html": [
- "d19a16851453a0ea5f9b7ac72ea2bb9e70e98199",
+ "1e622f99117c192a0081cdf92e2d2b9605fa182c",
[
null,
{}
]
],
"navigate-destination-getState-reload.html": [
- "ac6528ce7ef261ac087105f54d52d0ef381cb231",
+ "be33b8120da70a1269efeb6cef3beb2c8a9922a6",
[
null,
{}
]
],
"navigate-form-get.html": [
- "7a71a1c3050a0cceca5ca0e9415a830ae8210356",
+ "59661a1caf77a5da1672bf0fb4ace357e970292a",
[
null,
{}
]
],
"navigate-form-reload.html": [
- "217169053722c2b4c4ecdbaed4b9a8e263fbb97a",
+ "cdd3ade4ff2c54e889183a852bc4d42611e8e19f",
[
null,
{}
@@ -692064,14 +693731,14 @@
]
],
"navigate-form-traverse.html": [
- "b9665c805665956fe57bf6640cb292be71f447f3",
+ "72b8dc36acb3a7d64f91cc59a261b971d0836312",
[
null,
{}
]
],
"navigate-form-userInitiated.html": [
- "246e028a0dbf241f1667c380a0255396d13b1553",
+ "079f546771ff669f48c69bb8ead2932ceeb24324",
[
null,
{
@@ -692080,28 +693747,28 @@
]
],
"navigate-form-with-target.html": [
- "4b1a8ce9d3a975f839f0af2a91e0a600a8ea827e",
+ "07418366a7644104ac31db6ef0bb881a7b499cd4",
[
null,
{}
]
],
"navigate-form.html": [
- "653ef3b8eba65a79f631ac392c9cdf8b0ec77d9b",
+ "8cea889bec185a26797b8df559682a78cfe9b14b",
[
null,
{}
]
],
"navigate-history-back-after-fragment.html": [
- "9da4ddcd50779229c550452987ce153671a4e093",
+ "4529fe25ac3b4f84410dad36a09a7dd5f0f4c036",
[
null,
{}
]
],
"navigate-history-back-after-pushState.html": [
- "fdee41a312191455e0f7babdad75d281b6fc6755",
+ "06c3b89bbcf4141de35e8d65d002b798f3fea651",
[
null,
{}
@@ -692115,7 +693782,7 @@
]
],
"navigate-history-back-cross-document.html": [
- "29c626a522145f5a26b050e9e97aeff4d213cad8",
+ "a34b20a5e539fae8437d112025e56b5924d182a8",
[
null,
{}
@@ -692129,77 +693796,77 @@
]
],
"navigate-history-go-0.html": [
- "5508928e198dd9a4d88fe6ac3b50a99286c2e825",
+ "cd716bfafb1b4cc425ee0a387f590cc773340cd7",
[
null,
{}
]
],
"navigate-history-pushState.html": [
- "5079b21078178175df99bdb1875889b9328fed34",
+ "f89288b6edf4685c24b974b34f2ae778efe7bb6c",
[
null,
{}
]
],
"navigate-history-replaceState.html": [
- "444116a6324c361b6876f3370bbcf4f579c7f0f4",
+ "d18feb2bc1debbde82708d3442c46d387ca2394a",
[
null,
{}
]
],
"navigate-iframe-location.html": [
- "1bd79188231b6ff973fe9e741f9d554be252bd72",
+ "c00a6e010db8e21cd5a01ec5972300792add9033",
[
null,
{}
]
],
"navigate-location.html": [
- "a0ed4dc0aac5886cee3496a4aac007eaddaee46e",
+ "b1ce204a626a5ada1410426fcdbfd56e4337d628",
[
null,
{}
]
],
"navigate-meta-refresh.html": [
- "d4d5b1c8e13927eaa3bbda1d973cc1413421c753",
+ "f64484c3055cbb2d761dd1a5cdc858f61d28d75d",
[
null,
{}
]
],
"navigate-navigation-back-cross-document.html": [
- "084051539b8db3f50edb4e3037c9dd8882a6bbe6",
+ "de87fbbb800d1681c9d1b7ed925085dbac2ad7ba",
[
null,
{}
]
],
"navigate-navigation-back-same-document-in-iframe.html": [
- "42c694e2905d73eb7ba92dc7a96c3c3152febf8e",
+ "3d810d2f1de5a8e2a3054465844a2edec7783901",
[
null,
{}
]
],
"navigate-navigation-back-same-document.html": [
- "b08bbfcbf11430e3e5f6131e91fb8b90ea82a891",
+ "0f2faff7d7b06238d106b5f54210ab60d29c0cca",
[
null,
{}
]
],
"navigate-navigation-navigate.html": [
- "c56af1b40df8fd0720f0114f687ef78fed88a074",
+ "5dd1892cc001a77ca24b530ca7c7bd8e017860d9",
[
null,
{}
]
],
"navigate-svg-anchor-fragment.html": [
- "c6d210cccb1335983ba3df95788e1f7e7caa3dc8",
+ "647496fd5c6980e8a977317a40c5e7e0424573c5",
[
null,
{}
@@ -692213,21 +693880,21 @@
]
],
"navigate-to-srcdoc.html": [
- "ea5c3f92168500ed6966dd1211447eb0bbcc7280",
+ "bb598d8b90292904fe669c6dd2414faa8460b586",
[
null,
{}
]
],
"navigate-window-open-self.html": [
- "4e569b6d548f165cd7939b5e51d7da19957b0f69",
+ "1ef65ed82ba23a297e1a84eda5a200319e4db105",
[
null,
{}
]
],
"navigate-window-open.html": [
- "42828308d7709e717402e126f7aebbf1d6e0896c",
+ "13cdefb5d3b559ec92a92d689d499727d02fac24",
[
null,
{}
@@ -699165,7 +700832,7 @@
]
],
"pointer-event-has-device-properties-uniqueid-from-pointer-event-init.tentative.html": [
- "a37df4b4214501d4f7e5e7803ecfd3672c91b591",
+ "33b2354ec63935cd9cfc0320de022df7b2be163c",
[
null,
{}
@@ -701344,6 +703011,13 @@
{}
]
],
+ "shared-storage-surface-filtering-id.https.html": [
+ "53ed3a109bc1a025446072e1399f1859053c3d68",
+ [
+ null,
+ {}
+ ]
+ ],
"shared-storage-surface-success-2.https.html": [
"8203fd11eaa325c9c4e4bf294676287a4e86453b",
[
@@ -718542,7 +720216,7 @@
]
],
"percent-encoding.html": [
- "1f1794bdae09db3a501479717121d93938e9869a",
+ "be688eabfc6222f80ea041a2317bb739d31f8f4c",
[
null,
{
@@ -720985,6 +722659,13 @@
{}
]
],
+ "error-message-event.https.html": [
+ "fc8edb4b8968ef2c3ec1503f61f188795f6648fb",
+ [
+ null,
+ {}
+ ]
+ ],
"extendable-message-event-constructor.https.html": [
"525245fe9ece73fde6e2408e76927bbfcd1b04cf",
[
@@ -721662,7 +723343,7 @@
]
],
"fetch-request-resources.https.html": [
- "b4680c3ccd58d9d7def9d69ff1d1048a6ae02905",
+ "9524e6d4749b250f8e40e22306101bec8ceee406",
[
null,
{}
@@ -722070,7 +723751,7 @@
]
],
"navigation-timing-sizes.https.html": [
- "a960cd57f3c73a8cfaa37f2c1278ad8b7dbf32b8",
+ "e726a31f17060f7c37ad07d15c1de4ab88bf4c44",
[
null,
{}
@@ -722946,6 +724627,13 @@
}
},
"shadow-dom": {
+ "Document-caretPositionFromPoint.tentative.html": [
+ "2b97546d2e257ce0bf2cd5275058df01e40f6eed",
+ [
+ null,
+ {}
+ ]
+ ],
"Document-prototype-adoptNode.html": [
"6afd603618d7af99a9a71818a735b786efb36cd7",
[
@@ -723706,6 +725394,15 @@
],
"reading-order": {
"tentative": {
+ "grid-order-across-scopes.html": [
+ "d505383e33899e86b4820b03943fecdba07b68b1",
+ [
+ null,
+ {
+ "testdriver": true
+ }
+ ]
+ ],
"grid-order-on-shadow-host.html": [
"a48eda1b57cd26b642edeed2d890bbf01a6043fe",
[
@@ -723725,38 +725422,42 @@
]
],
"grid-order-with-nested-grids.html": [
- "d3da6682a3488e65bf2979aea344f5e43a956a49",
+ "15bdcf996fd4a2855ddd36995855d64f8593667e",
[
null,
{
- "testdriver": true
+ "testdriver": true,
+ "timeout": "long"
}
]
],
"grid-order-with-popover.html": [
- "2e98c041570d935f89dd753e04460ab098d7dd89",
+ "c96a0c4fcf7712ae8365fd77f97b1ee9c7335a6e",
[
null,
{
- "testdriver": true
+ "testdriver": true,
+ "timeout": "long"
}
]
],
"grid-order-with-slots.html": [
- "3045001e1d82525cbbf2e4524d86c28e4f208036",
+ "ed658b3510ae0ad983dbc53391f1ff90efb5d61a",
[
null,
{
- "testdriver": true
+ "testdriver": true,
+ "timeout": "long"
}
]
],
"grid-order.html": [
- "1b86ab0b25a1d0e92aeae09b6f55b17bb97f1ee7",
+ "3ee91358fd612dc83afb10038e52163dbecd6d8b",
[
null,
{
- "testdriver": true
+ "testdriver": true,
+ "timeout": "long"
}
]
]
@@ -724710,29 +726411,29 @@
{}
]
],
- "cross-origin-create-worklet-unrevealed-failure-false-shared-storage-cross-origin-worklet-allowed.tentative.https.sub.html": [
- "f1f37b0affd66f4cdc736ada641947f4e6c9471b",
+ "cross-origin-create-worklet-failure-false-shared-storage-cross-origin-worklet-allowed.tentative.https.sub.html": [
+ "db361776f638731401883e8605c5e4f9d2a28411",
[
null,
{}
]
],
- "cross-origin-create-worklet-unrevealed-failure-missing-access-control-allow-credentials.tentative.https.sub.html": [
- "dd6347e463171db65de24a9b57d6f1a754b78331",
+ "cross-origin-create-worklet-failure-missing-access-control-allow-credentials.tentative.https.sub.html": [
+ "8887aad64dc72e5e36fc254c8a6b4221d4f0ef6b",
[
null,
{}
]
],
- "cross-origin-create-worklet-unrevealed-failure-missing-access-control-allow-origin.tentative.https.sub.html": [
- "1f3223a5644372f1f76bcbe29bd8d064d7b41dce",
+ "cross-origin-create-worklet-failure-missing-access-control-allow-origin.tentative.https.sub.html": [
+ "58a2f3a77bbfb402f425be9c8a7262a9e65a3df4",
[
null,
{}
]
],
- "cross-origin-create-worklet-unrevealed-failure-missing-shared-storage-cross-origin-worklet-allowed.tentative.https.sub.html": [
- "f96e4d596e8df094c5dc30eac67c609205d0fa27",
+ "cross-origin-create-worklet-failure-missing-shared-storage-cross-origin-worklet-allowed.tentative.https.sub.html": [
+ "5b140a8141c96473af0ba4e5135bd5099094359d",
[
null,
{}
@@ -724950,6 +726651,13 @@
{}
]
],
+ "shared-storage-writable-fetch-request-in-sandboxed-frame.tentative.https.html": [
+ "de935b22fe080ee5822c5ea868b15c870227550a",
+ [
+ null,
+ {}
+ ]
+ ],
"shared-storage-writable-forbidden-header-tentative.https.html": [
"896fb7924040459069b32e3c9918d88756608fe1",
[
@@ -724985,6 +726693,13 @@
{}
]
],
+ "shared-storage-writable-iframe-request-in-sandboxed-frame.tentative.https.html": [
+ "d2d07fcc330019b7eb593efc3a8bc1201ce61124",
+ [
+ null,
+ {}
+ ]
+ ],
"shared-storage-writable-img-content-attribute.tentative.https.sub.html": [
"5bce34d91a97c34d1a57f21cc4e27aadc55a91c1",
[
@@ -725013,6 +726728,13 @@
{}
]
],
+ "shared-storage-writable-img-request-in-sandboxed-frame.tentative.https.html": [
+ "a901500d66a4e46eeb722b5420d8d7c2235adccb",
+ [
+ null,
+ {}
+ ]
+ ],
"shared-storage-writable-insecure-context.tentative.http.sub.html": [
"debb6cf9c56fb4cda8e72293e0de4b533648c845",
[
@@ -726218,13 +727940,21 @@
]
],
"navigation-timing-requestStart-responseStart.https.html": [
- "9c9371c4c31467cad8e3f1ed6f61685c9d1ed567",
+ "2687b5bf2c2d0aa46a202cd0552252c2735931e4",
[
- "speculation-rules/prefetch/navigation-timing-requestStart-responseStart.https.html?default",
+ "speculation-rules/prefetch/navigation-timing-requestStart-responseStart.https.html?include=afterResponse",
{}
],
[
- "speculation-rules/prefetch/navigation-timing-requestStart-responseStart.https.html?prefetch=true",
+ "speculation-rules/prefetch/navigation-timing-requestStart-responseStart.https.html?include=noPrefetch",
+ {}
+ ],
+ [
+ "speculation-rules/prefetch/navigation-timing-requestStart-responseStart.https.html?include=waitingForRedirect",
+ {}
+ ],
+ [
+ "speculation-rules/prefetch/navigation-timing-requestStart-responseStart.https.html?include=waitingForResponse",
{}
]
],
@@ -729143,7 +730873,7 @@
]
],
"requestStorageAccess-dedicated-worker.tentative.sub.https.window.js": [
- "6c3d616e26aaa796e9aa7226621f0430cff2d4b2",
+ "5c3089bf3473156e66922a0c7eb0e3805f6b001d",
[
"storage-access-api/requestStorageAccess-dedicated-worker.tentative.sub.https.window.html",
{
@@ -737821,7 +739551,7 @@
},
"reftests": {
"paint-context-005.svg": [
- "8bbfff8d4744f69acdf79523df7bdc73f9ea0975",
+ "a76c7af88ffa36894476981e78e9148e9c92d88a",
[
null,
{}
@@ -738753,6 +740483,13 @@
{}
]
],
+ "SVGLength-rlh.html": [
+ "411013b65b5b1601d221dba99ee84efa9e990bbf",
+ [
+ null,
+ {}
+ ]
+ ],
"SVGLength-viewport.html": [
"2a29c0ba54978fa732b60460689e34d08db93448",
[
@@ -739114,7 +740851,7 @@
]
],
"Document-write.html": [
- "87e9e724699efc3f0edde3afade4cf53ec2c9c3e",
+ "7902733f67c23bad9529505565308a6e5a8db887",
[
null,
{}
@@ -739142,7 +740879,7 @@
]
],
"Element-setAttribute-respects-Elements-node-documents-globals-CSP.html": [
- "c0f72bb36ac09c19b779ca5da114080a46c96c7a",
+ "aafe3c70313cb420a1efede51891f949d7aa33b8",
[
null,
{}
@@ -739403,7 +741140,7 @@
]
],
"block-string-assignment-to-Document-write.html": [
- "974203c1133a43afd87069b41b29ab1e5460a36d",
+ "d22be1118ce2b0bcc49c502f5bbaa6283d4c6552",
[
null,
{}
@@ -753886,7 +755623,7 @@
]
],
"createcredential-passing.https.html": [
- "f64a4ff0397222b21379265591a2f09a9b906c97",
+ "4124c2247ea3af01eb89e7a4e0cc0b8c326d8527",
[
null,
{
@@ -753906,7 +755643,7 @@
]
],
"createcredential-pubkeycredparams.https.html": [
- "d1df7952d6766744280b460a18d2e561a5527e5d",
+ "cb830bfe92aa1110ddb964c082daec0e13d6386d",
[
null,
{
@@ -753964,6 +755701,16 @@
}
]
],
+ "getcredential-allowcredentials.https.html": [
+ "0263774142c685af898135ce782475f75d559c3e",
+ [
+ null,
+ {
+ "testdriver": true,
+ "timeout": "long"
+ }
+ ]
+ ],
"getcredential-attachment.https.html": [
"7ab7235af501287bd9bc96d09ec549702e359dce",
[
@@ -758829,7 +760576,7 @@
]
],
"videoFrame-copyTo-rgb.any.js": [
- "442efc4b0f487816631430b50cdd893c72767be3",
+ "146b6756cb467335087dd234e63b4e9afcd03adb",
[
"webcodecs/videoFrame-copyTo-rgb.any.html",
{
@@ -761485,7 +763232,7 @@
]
],
"buffer.https.any.js": [
- "5a09b05c7dc1bafc125be7e46297422131c1fabc",
+ "51804e7224f8d845e8a59183cbb2e55db29707a0",
[
"webnn/conformance_tests/buffer.https.any.html?cpu",
{
@@ -767114,7 +768861,7 @@
]
],
"elementwise-unary.https.any.js": [
- "f87c61b4e45689d4506bbef4a31aeb888c483b0a",
+ "c735183aab1d1410668b85a2d390800aa82b1525",
[
"webnn/validation_tests/elementwise-unary.https.any.html",
{
@@ -767952,7 +769699,7 @@
]
],
"pooling.https.any.js": [
- "e8add0511f9ecc5b65604bedcb644b40ceac3105",
+ "08a78f25bafe92803968a88ea07e174d3cafbd78",
[
"webnn/validation_tests/pooling.https.any.html",
{
@@ -767993,7 +769740,7 @@
]
],
"prelu.https.any.js": [
- "865f9f684c144bfc78933889f7f0dbdbc481312f",
+ "fa89df9631b0d11984f0240b42912ea426ef7400",
[
"webnn/validation_tests/prelu.https.any.html",
{
@@ -768034,7 +769781,7 @@
]
],
"reduction.https.any.js": [
- "60f0978678870e8e78fc68b8dc6120041015556d",
+ "7da6b24dcf058383e12d2fbfe7f1f5dab4721350",
[
"webnn/validation_tests/reduction.https.any.html",
{
@@ -768075,7 +769822,7 @@
]
],
"relu.https.any.js": [
- "237c1c3eda3a490c5a14d335b1897ccc22b21848",
+ "61b0d1938fe5365afc852db79beeddbedce97c37",
[
"webnn/validation_tests/relu.https.any.html",
{
@@ -768116,7 +769863,7 @@
]
],
"resample2d.https.any.js": [
- "de44c6a333a660cfcfcb463759e56ce9f82d66ef",
+ "cc52cf97f4ff571cd9a6d7223fbece79a8c8cc3e",
[
"webnn/validation_tests/resample2d.https.any.html",
{
@@ -768932,7 +770679,7 @@
]
],
"RTCPeerConnection-createAnswer.html": [
- "1970db0737ab2aaa52380e62a96a49647f4ad8b8",
+ "7e31dda62906c93fc2bd4907d09bc56e5c6c465f",
[
null,
{}
@@ -768948,7 +770695,7 @@
]
],
"RTCPeerConnection-createOffer.html": [
- "7287980a5b4a5ed5116217914e7ddd9c885166ed",
+ "4eabdffa04afee71e89a3a5c56a8257d1c4663b0",
[
null,
{}
@@ -786408,7 +788155,7 @@
]
],
"tree-building.html": [
- "6cd617decef98394beb152c6a1ebf862d6b40957",
+ "06bc8b9d62d56e7efdd3cf408404b4ad6b1b2a4e",
[
null,
{}
@@ -815718,7 +817465,7 @@
]
],
"start_nodes.py": [
- "f44a6d4857c0b62d58adb844042617cc622d0111",
+ "351020af4c2d9f74a3aed55db014808af02ac622",
[
null,
{}
@@ -815978,14 +817725,14 @@
"permissions": {
"set_permission": {
"invalid.py": [
- "5397dc7b62e7da62318d282dba621fe6d9274015",
+ "d7172160721cec9e5fec0e4b1fa70125e5da0ef2",
[
null,
{}
]
],
"set_permission.py": [
- "45c50dbf88367185f72823aec9d72013f5c83d22",
+ "18f8e6fed000fe2cc6ae04adfa0cc965b89b5edc",
[
null,
{}
@@ -816085,7 +817832,7 @@
]
],
"wheel.py": [
- "4f897479e235d82e6b1556acef68a5626eeb9f72",
+ "ee0d4d4600d4522ec405296468add02e053014b8",
[
null,
{}
@@ -817818,7 +819565,7 @@
},
"get_element_text": {
"get.py": [
- "924a4e8d79771d78de59e48f61bb6e88ab34a7b9",
+ "8f832077e1069c75ae9ff6362d49e7aad9fd7c4c",
[
null,
{}
@@ -818344,7 +820091,7 @@
]
],
"wheel.py": [
- "a75a84378a6ada5623096f858363cb7d7a1c5a5c",
+ "6d0f9ddb11fbe2a6775fb63747b5dc601a0acb8a",
[
null,
{}
diff --git a/tests/wpt/meta/css/css-content/parsing/content-valid.html.ini b/tests/wpt/meta/css/css-content/parsing/content-valid.html.ini
index ec3fb653e49..030357bc4f9 100644
--- a/tests/wpt/meta/css/css-content/parsing/content-valid.html.ini
+++ b/tests/wpt/meta/css/css-content/parsing/content-valid.html.ini
@@ -214,3 +214,21 @@
[e.style['content'\] = "url(\\"https://www.example.com/picture.svg\\") \\"hello\\" / attr(foo)" should set the property value]
expected: FAIL
+
+ [e.style['content'\] = "url(\\"picture.svg\\") / \\"alt text\\"" should set the property value]
+ expected: FAIL
+
+ [e.style['content'\] = "url(\\"picture.svg\\") / \\"alt text\\" attr(foo) \\"bar\\"" should set the property value]
+ expected: FAIL
+
+ [e.style['content'\] = "url(\\"picture.svg\\") / attr(foo)" should set the property value]
+ expected: FAIL
+
+ [e.style['content'\] = "url(\\"picture.svg\\") \\"hello\\" / \\"alt text\\"" should set the property value]
+ expected: FAIL
+
+ [e.style['content'\] = "url(\\"picture.svg\\") \\"hello\\" / \\"alt text\\" attr(foo) \\"bar\\"" should set the property value]
+ expected: FAIL
+
+ [e.style['content'\] = "url(\\"picture.svg\\") \\"hello\\" / attr(foo)" should set the property value]
+ expected: FAIL
diff --git a/tests/wpt/meta/css/css-lists/counters-005.html.ini b/tests/wpt/meta/css/css-lists/counters-005.html.ini
new file mode 100644
index 00000000000..41b44b5559d
--- /dev/null
+++ b/tests/wpt/meta/css/css-lists/counters-005.html.ini
@@ -0,0 +1,2 @@
+[counters-005.html]
+ expected: FAIL
diff --git a/tests/wpt/meta/css/css-text/white-space/text-wrap-nowrap-001.html.ini b/tests/wpt/meta/css/css-text/white-space/text-wrap-nowrap-001.html.ini
new file mode 100644
index 00000000000..bcca040350a
--- /dev/null
+++ b/tests/wpt/meta/css/css-text/white-space/text-wrap-nowrap-001.html.ini
@@ -0,0 +1,2 @@
+[text-wrap-nowrap-001.html]
+ expected: FAIL
diff --git a/tests/wpt/meta-legacy-layout/css/cssom/CSSStyleSheet-constructable-baseURL.tentative.html.ini b/tests/wpt/meta/css/cssom/CSSStyleSheet-constructable-baseURL.html.ini
similarity index 84%
rename from tests/wpt/meta-legacy-layout/css/cssom/CSSStyleSheet-constructable-baseURL.tentative.html.ini
rename to tests/wpt/meta/css/cssom/CSSStyleSheet-constructable-baseURL.html.ini
index 13602c25c9d..a9bad39b1da 100644
--- a/tests/wpt/meta-legacy-layout/css/cssom/CSSStyleSheet-constructable-baseURL.tentative.html.ini
+++ b/tests/wpt/meta/css/cssom/CSSStyleSheet-constructable-baseURL.html.ini
@@ -1,10 +1,9 @@
-[CSSStyleSheet-constructable-baseURL.tentative.html]
+[CSSStyleSheet-constructable-baseURL.html]
[Constructing sheet with custom base URL ueses that URL for CSS rules]
expected: FAIL
- [Constructing sheet with invalid base URL throws a NotAllowedError]
- expected: FAIL
-
[Constructing sheet with relative URL adds to the constructor document's base URL]
expected: FAIL
+ [Constructing sheet with invalid base URL throws a NotAllowedError]
+ expected: FAIL
diff --git a/tests/wpt/meta/custom-elements/scoped-registry/ShadowRoot-innerHTML-upgrade.tentative.html.ini b/tests/wpt/meta/custom-elements/scoped-registry/ShadowRoot-innerHTML-upgrade.tentative.html.ini
index 14c28753235..17c5362cdbb 100644
--- a/tests/wpt/meta/custom-elements/scoped-registry/ShadowRoot-innerHTML-upgrade.tentative.html.ini
+++ b/tests/wpt/meta/custom-elements/scoped-registry/ShadowRoot-innerHTML-upgrade.tentative.html.ini
@@ -10,3 +10,6 @@
[Upgrade into customized built-in element when definition is added]
expected: FAIL
+
+ [Upgrade into autonomous custom element should not inherit from global registry for missing values]
+ expected: FAIL
diff --git a/tests/wpt/meta/eventsource/eventsource-request-cancellation.any.window.js.ini b/tests/wpt/meta/eventsource/eventsource-request-cancellation.any.window.js.ini
deleted file mode 100644
index 101e03a6b7d..00000000000
--- a/tests/wpt/meta/eventsource/eventsource-request-cancellation.any.window.js.ini
+++ /dev/null
@@ -1,5 +0,0 @@
-[eventsource-request-cancellation.window.any.html]
- expected: TIMEOUT
-
-[eventsource-request-cancellation.window.any.worker.html]
- expected: TIMEOUT
diff --git a/tests/wpt/meta/fetch/api/response/response-arraybuffer-realm.window.js.ini b/tests/wpt/meta/fetch/api/response/response-arraybuffer-realm.window.js.ini
new file mode 100644
index 00000000000..e273ea59211
--- /dev/null
+++ b/tests/wpt/meta/fetch/api/response/response-arraybuffer-realm.window.js.ini
@@ -0,0 +1,3 @@
+[response-arraybuffer-realm.window.html]
+ [realm of the ArrayBuffer from Response arrayBuffer()]
+ expected: FAIL
diff --git a/tests/wpt/meta/fetch/fetch-later/send-on-deactivate-with-background-sync.tentative.https.window.js.ini b/tests/wpt/meta/fetch/fetch-later/send-on-deactivate-with-background-sync.tentative.https.window.js.ini
new file mode 100644
index 00000000000..f0403ab2cb8
--- /dev/null
+++ b/tests/wpt/meta/fetch/fetch-later/send-on-deactivate-with-background-sync.tentative.https.window.js.ini
@@ -0,0 +1,9 @@
+[send-on-deactivate-with-background-sync.tentative.https.window.html]
+ [fetchLater() does send on page entering BFCache even if BackgroundSync is on.]
+ expected: FAIL
+
+ [fetchLater() with activateAfter=0 sends on page entering BFCache if BackgroundSync is on.]
+ expected: FAIL
+
+ [fetchLater() with activateAfter=1m does send on page entering BFCache even if BackgroundSync is on.]
+ expected: FAIL
diff --git a/tests/wpt/meta/html/browsers/browsing-the-web/history-traversal/pagereveal/order-in-bfcache-restore-iframe.html.ini b/tests/wpt/meta/html/browsers/browsing-the-web/history-traversal/pagereveal/order-in-bfcache-restore-iframe.html.ini
new file mode 100644
index 00000000000..31590bbd841
--- /dev/null
+++ b/tests/wpt/meta/html/browsers/browsing-the-web/history-traversal/pagereveal/order-in-bfcache-restore-iframe.html.ini
@@ -0,0 +1,4 @@
+[order-in-bfcache-restore-iframe.html]
+ expected: TIMEOUT
+ [pagereveal event in iframe fires and in correct order on restoration from BFCache]
+ expected: TIMEOUT
diff --git a/tests/wpt/meta/html/browsers/browsing-the-web/history-traversal/pagereveal/order-in-new-document-navigation-iframe.html.ini b/tests/wpt/meta/html/browsers/browsing-the-web/history-traversal/pagereveal/order-in-new-document-navigation-iframe.html.ini
new file mode 100644
index 00000000000..f2af0d28013
--- /dev/null
+++ b/tests/wpt/meta/html/browsers/browsing-the-web/history-traversal/pagereveal/order-in-new-document-navigation-iframe.html.ini
@@ -0,0 +1,3 @@
+[order-in-new-document-navigation-iframe.html]
+ [pagereveal event fires and in correct order on new-document navigation in an iframe]
+ expected: FAIL
diff --git a/tests/wpt/meta/html/browsers/history/the-history-interface/traverse_the_history_2.html.ini b/tests/wpt/meta/html/browsers/history/the-history-interface/traverse_the_history_2.html.ini
new file mode 100644
index 00000000000..5d17a8e9419
--- /dev/null
+++ b/tests/wpt/meta/html/browsers/history/the-history-interface/traverse_the_history_2.html.ini
@@ -0,0 +1,3 @@
+[traverse_the_history_2.html]
+ [Multiple history traversals, last would be aborted]
+ expected: FAIL
diff --git a/tests/wpt/meta/html/canvas/element/manual/filters/svg-filter-lh-rlh.html.ini b/tests/wpt/meta/html/canvas/element/manual/filters/svg-filter-lh-rlh.html.ini
new file mode 100644
index 00000000000..3e854890a7f
--- /dev/null
+++ b/tests/wpt/meta/html/canvas/element/manual/filters/svg-filter-lh-rlh.html.ini
@@ -0,0 +1,2 @@
+[svg-filter-lh-rlh.html]
+ expected: FAIL
diff --git a/tests/wpt/meta/html/dom/documents/dom-tree-accessors/Document.currentScript.html.ini b/tests/wpt/meta/html/dom/documents/dom-tree-accessors/Document.currentScript.html.ini
index 07d015249a0..a82f2a33c26 100644
--- a/tests/wpt/meta/html/dom/documents/dom-tree-accessors/Document.currentScript.html.ini
+++ b/tests/wpt/meta/html/dom/documents/dom-tree-accessors/Document.currentScript.html.ini
@@ -1,4 +1,4 @@
[Document.currentScript.html]
- expected: CRASH
+ expected: TIMEOUT
[Script script-svg]
expected: NOTRUN
diff --git a/tests/wpt/meta/html/infrastructure/urls/base-url/document-base-url-window-initiator-is-not-opener.https.window.js.ini b/tests/wpt/meta/html/infrastructure/urls/base-url/document-base-url-window-initiator-is-not-opener.https.window.js.ini
index 8b8af2b9c2e..2ef0896e3b3 100644
--- a/tests/wpt/meta/html/infrastructure/urls/base-url/document-base-url-window-initiator-is-not-opener.https.window.js.ini
+++ b/tests/wpt/meta/html/infrastructure/urls/base-url/document-base-url-window-initiator-is-not-opener.https.window.js.ini
@@ -1,3 +1,4 @@
[document-base-url-window-initiator-is-not-opener.https.window.html]
+ expected: TIMEOUT
[window.open() gets base url from initiator not opener.]
expected: [FAIL, PASS, TIMEOUT]
diff --git a/tests/wpt/meta/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_popups_escaping-1.html.ini b/tests/wpt/meta/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_popups_escaping-1.html.ini
index d7d0d3ef89d..24903b5f66f 100644
--- a/tests/wpt/meta/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_popups_escaping-1.html.ini
+++ b/tests/wpt/meta/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_popups_escaping-1.html.ini
@@ -1,4 +1,4 @@
[iframe_sandbox_popups_escaping-1.html]
expected: TIMEOUT
[Check that popups from a sandboxed iframe escape the sandbox if\n allow-popups-to-escape-sandbox is used]
- expected: FAIL
+ expected: TIMEOUT
diff --git a/tests/wpt/meta/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_popups_escaping-3.html.ini b/tests/wpt/meta/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_popups_escaping-3.html.ini
index 6a420504feb..d4b2e4435a0 100644
--- a/tests/wpt/meta/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_popups_escaping-3.html.ini
+++ b/tests/wpt/meta/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_popups_escaping-3.html.ini
@@ -1,3 +1,3 @@
[iframe_sandbox_popups_escaping-3.html]
[Check that popups from a sandboxed iframe escape the sandbox if\n allow-popups-to-escape-sandbox is used]
- expected: FAIL
+ expected: TIMEOUT
diff --git a/tests/wpt/meta/html/semantics/embedded-content/the-iframe-element/sandbox-top-navigation-user-activation-sticky.tentative.sub.window.js.ini b/tests/wpt/meta/html/semantics/embedded-content/the-iframe-element/sandbox-top-navigation-user-activation-sticky.tentative.sub.window.js.ini
index c2f7bee1885..5bccf008873 100644
--- a/tests/wpt/meta/html/semantics/embedded-content/the-iframe-element/sandbox-top-navigation-user-activation-sticky.tentative.sub.window.js.ini
+++ b/tests/wpt/meta/html/semantics/embedded-content/the-iframe-element/sandbox-top-navigation-user-activation-sticky.tentative.sub.window.js.ini
@@ -1,3 +1,4 @@
[sandbox-top-navigation-user-activation-sticky.tentative.sub.window.html]
+ expected: TIMEOUT
[Allow top with user activation + user activation]
- expected: FAIL
+ expected: TIMEOUT
diff --git a/tests/wpt/meta/mediasession/mediametadata.html.ini b/tests/wpt/meta/mediasession/mediametadata.html.ini
index 5138a8e9292..695f7b35bbb 100644
--- a/tests/wpt/meta/mediasession/mediametadata.html.ini
+++ b/tests/wpt/meta/mediasession/mediametadata.html.ini
@@ -40,3 +40,15 @@
[Test that the base URL of MediaImage is the base URL of entry setting object]
expected: FAIL
+
+ [Test that MediaMetadata is read/write]
+ expected: FAIL
+
+ [Test that MediaMetadata.artwork can't be modified]
+ expected: FAIL
+
+ [Test that MediaMetadata.chapterInfo is Frozen]
+ expected: FAIL
+
+ [Test that MediaMetadata.chapterInfo's artwork returns parsed urls]
+ expected: FAIL
diff --git a/tests/wpt/meta/performance-timeline/not-restored-reasons/performance-navigation-timing-iframes-without-attributes.tentative.window.js.ini b/tests/wpt/meta/performance-timeline/not-restored-reasons/performance-navigation-timing-iframes-without-attributes.tentative.window.js.ini
index ffbdcb66626..ff04c7a9e96 100644
--- a/tests/wpt/meta/performance-timeline/not-restored-reasons/performance-navigation-timing-iframes-without-attributes.tentative.window.js.ini
+++ b/tests/wpt/meta/performance-timeline/not-restored-reasons/performance-navigation-timing-iframes-without-attributes.tentative.window.js.ini
@@ -1,4 +1,3 @@
[performance-navigation-timing-iframes-without-attributes.tentative.window.html]
- expected: TIMEOUT
[RemoteContextHelper navigation using BFCache]
- expected: TIMEOUT
+ expected: FAIL
diff --git a/tests/wpt/meta/webmessaging/with-ports/018.html.ini b/tests/wpt/meta/webmessaging/with-ports/018.html.ini
deleted file mode 100644
index b7b36c1d3a4..00000000000
--- a/tests/wpt/meta/webmessaging/with-ports/018.html.ini
+++ /dev/null
@@ -1,4 +0,0 @@
-[018.html]
- expected: TIMEOUT
- [origin of the script that invoked the method, javascript:]
- expected: TIMEOUT
diff --git a/tests/wpt/tests/.azure-pipelines.yml b/tests/wpt/tests/.azure-pipelines.yml
index 36e745a87f1..c018c592d1d 100644
--- a/tests/wpt/tests/.azure-pipelines.yml
+++ b/tests/wpt/tests/.azure-pipelines.yml
@@ -103,21 +103,9 @@ jobs:
- template: tools/ci/azure/install_fonts.yml
- template: tools/ci/azure/install_certs.yml
- template: tools/ci/azure/color_profile.yml
- - template: tools/ci/azure/install_chrome.yml
- - template: tools/ci/azure/install_firefox.yml
- template: tools/ci/azure/install_safari.yml
- template: tools/ci/azure/update_hosts.yml
- template: tools/ci/azure/update_manifest.yml
- - script: |
- set -eux -o pipefail
- ./wpt run --yes --no-manifest-update --manifest MANIFEST.json --metadata infrastructure/metadata/ --log-mach - --log-mach-level info --log-wptreport $(Build.ArtifactStagingDirectory)/wpt_report_macos_chrome.json --channel dev chrome infrastructure/
- condition: succeededOrFailed()
- displayName: 'Run tests (Chrome Dev)'
- - script: |
- set -eux -o pipefail
- ./wpt run --yes --no-manifest-update --manifest MANIFEST.json --metadata infrastructure/metadata/ --log-mach - --log-mach-level info --log-wptreport $(Build.ArtifactStagingDirectory)/wpt_report_macos_firefox.json --channel nightly firefox infrastructure/
- condition: succeededOrFailed()
- displayName: 'Run tests (Firefox Nightly)'
- script: |
set -eux -o pipefail
export SYSTEM_VERSION_COMPAT=0
diff --git a/tests/wpt/tests/IndexedDB/idb-binary-key-detached.htm b/tests/wpt/tests/IndexedDB/idb-binary-key-detached.htm
index ac6fc2ef980..a4ce3fbce00 100644
--- a/tests/wpt/tests/IndexedDB/idb-binary-key-detached.htm
+++ b/tests/wpt/tests/IndexedDB/idb-binary-key-detached.htm
@@ -23,7 +23,7 @@ indexeddb_test(
worker.postMessage('', [buffer]);
assert_equals(array.byteLength, 0);
- assert_throws_js(TypeError, () => { store.put('', buffer); });
+ assert_throws_dom("DataError", () => { store.put('', buffer); });
t.done();
},
'Detached ArrayBuffer'
@@ -43,7 +43,7 @@ indexeddb_test(
worker.postMessage('', [array.buffer]);
assert_equals(array.length, 0);
- assert_throws_js(TypeError, () => { store.put('', array); });
+ assert_throws_dom("DataError", () => { store.put('', array); });
t.done();
},
'Detached TypedArray'
diff --git a/tests/wpt/tests/compute-pressure/WEB_FEATURES.yml b/tests/wpt/tests/compute-pressure/WEB_FEATURES.yml
new file mode 100644
index 00000000000..ae8464657b1
--- /dev/null
+++ b/tests/wpt/tests/compute-pressure/WEB_FEATURES.yml
@@ -0,0 +1,3 @@
+features:
+- name: compute-pressure
+ files: "**"
diff --git a/tests/wpt/tests/cookies/resources/cookie-test.js b/tests/wpt/tests/cookies/resources/cookie-test.js
index a909e4d72fa..8299c473178 100644
--- a/tests/wpt/tests/cookies/resources/cookie-test.js
+++ b/tests/wpt/tests/cookies/resources/cookie-test.js
@@ -76,7 +76,6 @@ function httpCookieTest(cookie, expectedValue, name, defaultPath = true,
} catch {
if (allowFetchFailure) {
skipAssertions = true;
- resolve();
} else {
reject('Failed to fetch /cookies/resources/cookie.py');
}
diff --git a/tests/wpt/tests/credential-management/fedcm-authz/fedcm-disclosure-text-shown.https.html b/tests/wpt/tests/credential-management/fedcm-authz/fedcm-disclosure-text-shown.https.html
new file mode 100644
index 00000000000..e3f303ec4c9
--- /dev/null
+++ b/tests/wpt/tests/credential-management/fedcm-authz/fedcm-disclosure-text-shown.https.html
@@ -0,0 +1,25 @@
+
+
Federated Credential Management API network request tests.
+
+
+
+
+
+
+
+
+
diff --git a/tests/wpt/tests/credential-management/support/fedcm/manifest_check_disclosure_shown_false.json b/tests/wpt/tests/credential-management/support/fedcm/manifest_check_disclosure_shown_false.json
new file mode 100644
index 00000000000..47ca63edc4f
--- /dev/null
+++ b/tests/wpt/tests/credential-management/support/fedcm/manifest_check_disclosure_shown_false.json
@@ -0,0 +1,7 @@
+{
+ "accounts_endpoint": "accounts.py",
+ "client_metadata_endpoint": "client_metadata.py",
+ "id_assertion_endpoint": "token_check_disclosure_shown_false.py",
+ "login_url": "login.html"
+}
+
diff --git a/tests/wpt/tests/credential-management/support/fedcm/token_check_disclosure_shown_false.py b/tests/wpt/tests/credential-management/support/fedcm/token_check_disclosure_shown_false.py
new file mode 100644
index 00000000000..f4b732053ff
--- /dev/null
+++ b/tests/wpt/tests/credential-management/support/fedcm/token_check_disclosure_shown_false.py
@@ -0,0 +1,16 @@
+import importlib
+error_checker = importlib.import_module("credential-management.support.fedcm.request-params-check")
+
+def main(request, response):
+ request_error = error_checker.tokenCheck(request)
+ if (request_error):
+ return request_error
+
+ if request.POST.get(b"disclosure_text_shown") != b"false":
+ return (560, [], "disclosure_text_shown is not false")
+
+ response.headers.set(b"Content-Type", b"application/json")
+ response.headers.set(b"Access-Control-Allow-Origin", request.headers.get(b"Origin"))
+ response.headers.set(b"Access-Control-Allow-Credentials", "true")
+
+ return "{\"token\": \"token\"}"
diff --git a/tests/wpt/tests/css/compositing/background-blending/crashtests/bgblend-root-change.html b/tests/wpt/tests/css/compositing/background-blending/crashtests/bgblend-root-change.html
new file mode 100644
index 00000000000..06db0535745
--- /dev/null
+++ b/tests/wpt/tests/css/compositing/background-blending/crashtests/bgblend-root-change.html
@@ -0,0 +1,17 @@
+
+
diff --git a/tests/wpt/tests/css/css-anchor-position/position-try-switch-from-fixed-anchor-ref.html b/tests/wpt/tests/css/css-anchor-position/position-try-switch-from-fixed-anchor-ref.html
new file mode 100644
index 00000000000..72026a2f63e
--- /dev/null
+++ b/tests/wpt/tests/css/css-anchor-position/position-try-switch-from-fixed-anchor-ref.html
@@ -0,0 +1,33 @@
+
+
+
+
+
diff --git a/tests/wpt/tests/css/css-anchor-position/position-try-switch-from-fixed-anchor.html b/tests/wpt/tests/css/css-anchor-position/position-try-switch-from-fixed-anchor.html
new file mode 100644
index 00000000000..904aa55180d
--- /dev/null
+++ b/tests/wpt/tests/css/css-anchor-position/position-try-switch-from-fixed-anchor.html
@@ -0,0 +1,57 @@
+
+
+
+CSS Anchor Positioning Test: @position-try with different default anchors,
+ switching to fixed-position anchor on scroll and back on another scroll
+
+
+
+
+
+
+
+
+
diff --git a/tests/wpt/tests/css/css-anchor-position/position-try-switch-to-fixed-anchor-ref.html b/tests/wpt/tests/css/css-anchor-position/position-try-switch-to-fixed-anchor-ref.html
new file mode 100644
index 00000000000..254cbf3df45
--- /dev/null
+++ b/tests/wpt/tests/css/css-anchor-position/position-try-switch-to-fixed-anchor-ref.html
@@ -0,0 +1,37 @@
+
+
+
+
+
+
+
diff --git a/tests/wpt/tests/css/css-anchor-position/position-try-switch-to-fixed-anchor.html b/tests/wpt/tests/css/css-anchor-position/position-try-switch-to-fixed-anchor.html
new file mode 100644
index 00000000000..54fcb2e4df3
--- /dev/null
+++ b/tests/wpt/tests/css/css-anchor-position/position-try-switch-to-fixed-anchor.html
@@ -0,0 +1,53 @@
+
+
+
+CSS Anchor Positioning Test: @position-try with different default anchors, switching to fixed-position anchor on scroll
+
+
+
+
+
+
+
+
+
diff --git a/tests/wpt/tests/css/css-break/relpos-inline-hit-testing.html b/tests/wpt/tests/css/css-break/relpos-inline-hit-testing.html
index ca0c961ca22..aa7cd5ad97c 100644
--- a/tests/wpt/tests/css/css-break/relpos-inline-hit-testing.html
+++ b/tests/wpt/tests/css/css-break/relpos-inline-hit-testing.html
@@ -2,7 +2,6 @@
-
+
+
+
+ The following two lines should be identical:
+
+ B 1 1.0 1 1.0
+ B 1 1.0 1 1.0
+
+
+
diff --git a/tests/wpt/tests/css/css-lists/counters-005.html b/tests/wpt/tests/css/css-lists/counters-005.html
new file mode 100644
index 00000000000..12908e64720
--- /dev/null
+++ b/tests/wpt/tests/css/css-lists/counters-005.html
@@ -0,0 +1,38 @@
+
+
+
+ CSS Lists: Implied counter scopes by 'counter-increment'
+
+
+
+
+
+
+
+ The following two lines should be identical:
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ B 1 1.0 1 1.0
+
+
+
diff --git a/tests/wpt/tests/css/css-lists/li-without-ul-counter-crash.html b/tests/wpt/tests/css/css-lists/li-without-ul-counter-crash.html
new file mode 100644
index 00000000000..e95c675eea4
--- /dev/null
+++ b/tests/wpt/tests/css/css-lists/li-without-ul-counter-crash.html
@@ -0,0 +1,6 @@
+
+
+
+
+
+
diff --git a/tests/wpt/tests/css/css-masking/WEB_FEATURES.yml b/tests/wpt/tests/css/css-masking/WEB_FEATURES.yml
new file mode 100644
index 00000000000..76ea5c208e9
--- /dev/null
+++ b/tests/wpt/tests/css/css-masking/WEB_FEATURES.yml
@@ -0,0 +1,6 @@
+features:
+- name: masks
+ # To match the scope of the feature in web-features, this should only include
+ # tests for https://drafts.fxtf.org/css-masking-1/#positioned-masks.
+ files:
+ - mask-shorthand-subproperties-reset.html
diff --git a/tests/wpt/tests/css/css-masking/animations/WEB_FEATURES.yml b/tests/wpt/tests/css/css-masking/animations/WEB_FEATURES.yml
new file mode 100644
index 00000000000..758ef35275e
--- /dev/null
+++ b/tests/wpt/tests/css/css-masking/animations/WEB_FEATURES.yml
@@ -0,0 +1,8 @@
+features:
+- name: masks
+ # To match the scope of the feature in web-features, this should only include
+ # tests for https://drafts.fxtf.org/css-masking-1/#positioned-masks.
+ files:
+ - mask-image-interpolation.html
+ - mask-no-interpolation.html
+ - mask-position-interpolation.html
diff --git a/tests/wpt/tests/css/css-masking/mask-image/WEB_FEATURES.yml b/tests/wpt/tests/css/css-masking/mask-image/WEB_FEATURES.yml
new file mode 100644
index 00000000000..b5bbd438dac
--- /dev/null
+++ b/tests/wpt/tests/css/css-masking/mask-image/WEB_FEATURES.yml
@@ -0,0 +1,3 @@
+features:
+- name: masks
+ files: "**"
diff --git a/tests/wpt/tests/css/css-masking/mask-image/mask-image-svg-viewport-changed.html b/tests/wpt/tests/css/css-masking/mask-image/mask-image-svg-viewport-changed.html
new file mode 100644
index 00000000000..156317b2517
--- /dev/null
+++ b/tests/wpt/tests/css/css-masking/mask-image/mask-image-svg-viewport-changed.html
@@ -0,0 +1,18 @@
+
+Change of viewport affecting mask content
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/tests/wpt/tests/css/css-masking/parsing/WEB_FEATURES.yml b/tests/wpt/tests/css/css-masking/parsing/WEB_FEATURES.yml
new file mode 100644
index 00000000000..0837d0ddf90
--- /dev/null
+++ b/tests/wpt/tests/css/css-masking/parsing/WEB_FEATURES.yml
@@ -0,0 +1,10 @@
+features:
+- name: masks
+ # To match the scope of the feature in web-features, this should only include
+ # tests for https://drafts.fxtf.org/css-masking-1/#positioned-masks.
+ files:
+ - mask-composite-*
+ - mask-computed.html
+ - mask-invalid.html
+ - mask-position-*
+ - mask-repeat-*
diff --git a/tests/wpt/tests/css/css-overflow/WEB_FEATURES.yml b/tests/wpt/tests/css/css-overflow/WEB_FEATURES.yml
new file mode 100644
index 00000000000..81358de0c75
--- /dev/null
+++ b/tests/wpt/tests/css/css-overflow/WEB_FEATURES.yml
@@ -0,0 +1,30 @@
+features:
+- name: overflow-shorthand
+ files:
+ # This is all overflow-* except overflow-auto-scrollbar-gutter-intrinsic-* and
+ # overflow-scroll-*. TODO: convert to an exclusion patterns, or rename tests
+ # to make overflow-* only match the below.
+ - overflow-abpos-transform.html
+ - overflow-body-propagation-*
+ - overflow-canvas.html
+ - overflow-clip-*
+ - overflow-codependent-scrollbars.html
+ - overflow-ellipsis-dynamic-001.html
+ - overflow-empty-child-box.html
+ - overflow-hidden-resize-with-stacking-context-child.html
+ - overflow-img-*
+ - overflow-img.html
+ - overflow-inline-block-with-opacity.html
+ - overflow-inline-transform-relative.html
+ - overflow-negative-margin-dynamic.html
+ - overflow-negative-margin.html
+ - overflow-no-frameset-propagation.html
+ - overflow-no-interpolation.html
+ - overflow-overlay.html
+ - overflow-padding.html
+ - overflow-recalc-001.html
+ - overflow-replaced-element-001.html
+ - overflow-shorthand-001.html
+ - overflow-video.html
+ - rounded-overflow-*
+ - select-size-overflow-001.html
diff --git a/tests/wpt/tests/css/css-overflow/overfow-outside-padding.html b/tests/wpt/tests/css/css-overflow/overflow-outside-padding.html
similarity index 100%
rename from tests/wpt/tests/css/css-overflow/overfow-outside-padding.html
rename to tests/wpt/tests/css/css-overflow/overflow-outside-padding.html
diff --git a/tests/wpt/tests/css/css-page/page-box-001-print-ref.html b/tests/wpt/tests/css/css-page/page-box-001-print-ref.html
new file mode 100644
index 00000000000..d9ab323877f
--- /dev/null
+++ b/tests/wpt/tests/css/css-page/page-box-001-print-ref.html
@@ -0,0 +1,12 @@
+
+
+
+The entire page should be yellow.
diff --git a/tests/wpt/tests/css/css-page/page-box-001-print.html b/tests/wpt/tests/css/css-page/page-box-001-print.html
new file mode 100644
index 00000000000..35c2f06c93b
--- /dev/null
+++ b/tests/wpt/tests/css/css-page/page-box-001-print.html
@@ -0,0 +1,14 @@
+
+
+
+
+
+The entire page should be yellow.
diff --git a/tests/wpt/tests/css/css-page/page-box-002-print-ref.html b/tests/wpt/tests/css/css-page/page-box-002-print-ref.html
new file mode 100644
index 00000000000..e1ee4ab5d14
--- /dev/null
+++ b/tests/wpt/tests/css/css-page/page-box-002-print-ref.html
@@ -0,0 +1,16 @@
+
+
+
+
+
+ This page should have a violet-ish background, not red, not blue.
+
+
diff --git a/tests/wpt/tests/css/css-page/page-box-002-print.html b/tests/wpt/tests/css/css-page/page-box-002-print.html
new file mode 100644
index 00000000000..3b87b6903dd
--- /dev/null
+++ b/tests/wpt/tests/css/css-page/page-box-002-print.html
@@ -0,0 +1,14 @@
+
+
+
+
+
+This page should have a violet-ish background, not red, not blue.
diff --git a/tests/wpt/tests/css/css-page/page-box-003-print-ref.html b/tests/wpt/tests/css/css-page/page-box-003-print-ref.html
new file mode 100644
index 00000000000..e1ee4ab5d14
--- /dev/null
+++ b/tests/wpt/tests/css/css-page/page-box-003-print-ref.html
@@ -0,0 +1,16 @@
+
+
+
+
+
+ This page should have a violet-ish background, not red, not blue.
+
+
diff --git a/tests/wpt/tests/css/css-page/page-box-003-print.html b/tests/wpt/tests/css/css-page/page-box-003-print.html
new file mode 100644
index 00000000000..44cc13555b5
--- /dev/null
+++ b/tests/wpt/tests/css/css-page/page-box-003-print.html
@@ -0,0 +1,14 @@
+
+
+
+
+
+This page should have a violet-ish background, not red, not blue.
diff --git a/tests/wpt/tests/css/css-page/page-margin-007-print-ref.html b/tests/wpt/tests/css/css-page/page-margin-007-print-ref.html
new file mode 100644
index 00000000000..20d16df19de
--- /dev/null
+++ b/tests/wpt/tests/css/css-page/page-margin-007-print-ref.html
@@ -0,0 +1,78 @@
+
+
+
+
+
+
+
+ Every page should have a colored box as tall as the page area (gray area).
+ This particular page should have a left-margin.
+ There should be 7 pages.
+
+
+
+
+
+
+
+
+
diff --git a/tests/wpt/tests/css/css-page/page-margin-007-print.html b/tests/wpt/tests/css/css-page/page-margin-007-print.html
new file mode 100644
index 00000000000..c2045d0dac2
--- /dev/null
+++ b/tests/wpt/tests/css/css-page/page-margin-007-print.html
@@ -0,0 +1,62 @@
+
+
+
+
+
+
+
+
+ Every page should have a colored box as tall as the page area (gray area).
+ This particular page should have a left-margin.
+ There should be 7 pages.
+
+
+
+
+
+
diff --git a/tests/wpt/tests/css/css-properties-values-api/crashtests/computed-property-universal-syntax.html b/tests/wpt/tests/css/css-properties-values-api/crashtests/computed-property-universal-syntax.html
new file mode 100644
index 00000000000..b87f03b2df3
--- /dev/null
+++ b/tests/wpt/tests/css/css-properties-values-api/crashtests/computed-property-universal-syntax.html
@@ -0,0 +1,20 @@
+
+
+
+
diff --git a/tests/wpt/tests/css/css-pseudo/WEB_FEATURES.yml b/tests/wpt/tests/css/css-pseudo/WEB_FEATURES.yml
new file mode 100644
index 00000000000..5dd44e39c8b
--- /dev/null
+++ b/tests/wpt/tests/css/css-pseudo/WEB_FEATURES.yml
@@ -0,0 +1,4 @@
+features:
+- name: target-text
+ files:
+ - target-text-*
diff --git a/tests/wpt/tests/css/css-pseudo/get-computed-style-crash.html b/tests/wpt/tests/css/css-pseudo/get-computed-style-crash.html
new file mode 100644
index 00000000000..60e097cc8d1
--- /dev/null
+++ b/tests/wpt/tests/css/css-pseudo/get-computed-style-crash.html
@@ -0,0 +1,7 @@
+
+
+
+
diff --git a/tests/wpt/tests/css/css-ruby/position-relative.html b/tests/wpt/tests/css/css-ruby/position-relative.html
new file mode 100644
index 00000000000..e3da0013101
--- /dev/null
+++ b/tests/wpt/tests/css/css-ruby/position-relative.html
@@ -0,0 +1,47 @@
+
+
+
+
+
+
+
+
+
+
diff --git a/tests/wpt/tests/css/css-ruby/pseudo-first-line-ref.html b/tests/wpt/tests/css/css-ruby/pseudo-first-line-ref.html
new file mode 100644
index 00000000000..55c96fb2d3c
--- /dev/null
+++ b/tests/wpt/tests/css/css-ruby/pseudo-first-line-ref.html
@@ -0,0 +1,3 @@
+
+foo baseannotation
+bar baseannotation
diff --git a/tests/wpt/tests/css/css-ruby/pseudo-first-line.html b/tests/wpt/tests/css/css-ruby/pseudo-first-line.html
new file mode 100644
index 00000000000..180420d98a4
--- /dev/null
+++ b/tests/wpt/tests/css/css-ruby/pseudo-first-line.html
@@ -0,0 +1,11 @@
+
+
+
+
+
+foo baseannotation
+bar baseannotation
diff --git a/tests/wpt/tests/css/css-scroll-snap-2/resources/common.js b/tests/wpt/tests/css/css-scroll-snap-2/resources/common.js
index 8dce29474d8..d95b605120b 100644
--- a/tests/wpt/tests/css/css-scroll-snap-2/resources/common.js
+++ b/tests/wpt/tests/css/css-scroll-snap-2/resources/common.js
@@ -9,7 +9,8 @@ function checkSnapEventSupport(event_type) {
}
function assertSnapEvent(evt, expected_ids) {
- assert_equals(evt.bubbles, false, "snap events don't bubble");
+ assert_equals(evt.bubbles, evt.target == document,
+ "snap events don't bubble except when fired at the document");
assert_false(evt.cancelable, "snap events are not cancelable.");
assert_equals(evt.snapTargetBlock, expected_ids.block,
"snap event supplied expected target in block axis");
diff --git a/tests/wpt/tests/css/css-scroll-snap-2/snapevents-at-document-bubble-to-window.html b/tests/wpt/tests/css/css-scroll-snap-2/snapevents-at-document-bubble-to-window.html
new file mode 100644
index 00000000000..e50be0b6b25
--- /dev/null
+++ b/tests/wpt/tests/css/css-scroll-snap-2/snapevents-at-document-bubble-to-window.html
@@ -0,0 +1,96 @@
+
+
+
+
+
+ CSS Scroll Snap 2 Test: snapchanged event on the document bubbles
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/tests/wpt/tests/css/css-scroll-snap/WEB_FEATURES.yml b/tests/wpt/tests/css/css-scroll-snap/WEB_FEATURES.yml
new file mode 100644
index 00000000000..d285b01e868
--- /dev/null
+++ b/tests/wpt/tests/css/css-scroll-snap/WEB_FEATURES.yml
@@ -0,0 +1,3 @@
+features:
+- name: scroll-snap
+ files: "**"
diff --git a/tests/wpt/tests/css/css-shadow-parts/invalidation-part-pseudo.html b/tests/wpt/tests/css/css-shadow-parts/invalidation-part-pseudo.html
index fca4a964dce..66df33a4b70 100644
--- a/tests/wpt/tests/css/css-shadow-parts/invalidation-part-pseudo.html
+++ b/tests/wpt/tests/css/css-shadow-parts/invalidation-part-pseudo.html
@@ -3,7 +3,6 @@
-
diff --git a/tests/wpt/tests/css/css-tables/collapsed-border-partial-invalidation-003-ref.html b/tests/wpt/tests/css/css-tables/collapsed-border-partial-invalidation-003-ref.html
new file mode 100644
index 00000000000..2b19a838143
--- /dev/null
+++ b/tests/wpt/tests/css/css-tables/collapsed-border-partial-invalidation-003-ref.html
@@ -0,0 +1,17 @@
+
+
+
+
+
diff --git a/tests/wpt/tests/css/css-tables/collapsed-border-partial-invalidation-003.html b/tests/wpt/tests/css/css-tables/collapsed-border-partial-invalidation-003.html
new file mode 100644
index 00000000000..073f67e669d
--- /dev/null
+++ b/tests/wpt/tests/css/css-tables/collapsed-border-partial-invalidation-003.html
@@ -0,0 +1,32 @@
+
+
+
+
+
+
+
+
+
+
diff --git a/tests/wpt/tests/css/css-tables/colspan-001.html b/tests/wpt/tests/css/css-tables/colspan-001.html
index e6cb440366c..11205521801 100644
--- a/tests/wpt/tests/css/css-tables/colspan-001.html
+++ b/tests/wpt/tests/css/css-tables/colspan-001.html
@@ -1,7 +1,6 @@
-
There should be five squares.
diff --git a/tests/wpt/tests/css/css-tables/colspan-002.html b/tests/wpt/tests/css/css-tables/colspan-002.html
index 144cbef4850..16db9eb8bad 100644
--- a/tests/wpt/tests/css/css-tables/colspan-002.html
+++ b/tests/wpt/tests/css/css-tables/colspan-002.html
@@ -1,7 +1,6 @@
-
There should be five squares.
diff --git a/tests/wpt/tests/css/css-tables/colspan-003.html b/tests/wpt/tests/css/css-tables/colspan-003.html
index 58e02b92878..70e1b218f05 100644
--- a/tests/wpt/tests/css/css-tables/colspan-003.html
+++ b/tests/wpt/tests/css/css-tables/colspan-003.html
@@ -1,7 +1,6 @@
-
There should be five squares.
diff --git a/tests/wpt/tests/css/css-tables/percent-height-overflow-auto-in-restricted-block-size-cell.html b/tests/wpt/tests/css/css-tables/percent-height-overflow-auto-in-restricted-block-size-cell.html
index f5323084843..f5421c73653 100644
--- a/tests/wpt/tests/css/css-tables/percent-height-overflow-auto-in-restricted-block-size-cell.html
+++ b/tests/wpt/tests/css/css-tables/percent-height-overflow-auto-in-restricted-block-size-cell.html
@@ -1,7 +1,6 @@
-
+Pass if this is a single line of text without breaks.
diff --git a/tests/wpt/tests/css/css-text/white-space/reference/text-wrap-nowrap-001-ref.html b/tests/wpt/tests/css/css-text/white-space/reference/text-wrap-nowrap-001-ref.html
new file mode 100644
index 00000000000..bd5b231d831
--- /dev/null
+++ b/tests/wpt/tests/css/css-text/white-space/reference/text-wrap-nowrap-001-ref.html
@@ -0,0 +1,2 @@
+
+Pass if this is a single line of text without breaks.
diff --git a/tests/wpt/tests/css/css-text/white-space/text-wrap-nowrap-001.html b/tests/wpt/tests/css/css-text/white-space/text-wrap-nowrap-001.html
new file mode 100644
index 00000000000..94437df6dee
--- /dev/null
+++ b/tests/wpt/tests/css/css-text/white-space/text-wrap-nowrap-001.html
@@ -0,0 +1,11 @@
+
+
+
+
+
+Pass if this is a single line of text without breaks.
diff --git a/tests/wpt/tests/css/css-transforms/WEB_FEATURES.yml b/tests/wpt/tests/css/css-transforms/WEB_FEATURES.yml
index ca13ab5ae1b..bb44025b80b 100644
--- a/tests/wpt/tests/css/css-transforms/WEB_FEATURES.yml
+++ b/tests/wpt/tests/css/css-transforms/WEB_FEATURES.yml
@@ -1,4 +1,7 @@
features:
+- name: individual-transforms
+ files:
+ - transform-and-individual-transform-properties-computed-style.html
- name: transforms3d
files:
- "*3d*"
diff --git a/tests/wpt/tests/css/css-transforms/animation/WEB_FEATURES.yml b/tests/wpt/tests/css/css-transforms/animation/WEB_FEATURES.yml
index 831086f99e9..9116c202c42 100644
--- a/tests/wpt/tests/css/css-transforms/animation/WEB_FEATURES.yml
+++ b/tests/wpt/tests/css/css-transforms/animation/WEB_FEATURES.yml
@@ -1,4 +1,11 @@
features:
+- name: individual-transforms
+ files:
+ - rotate-animation-on-svg.html
+ - rotate-animation-with-will-change-transform-001.html
+ - scale-and-rotate-both-specified-on-animation-keyframes.html
+ - scale-animation-on-svg.html
+ - translate-animation-on-svg.html
- name: transforms3d
files:
- backface-visibility-*
diff --git a/tests/wpt/tests/css/css-transforms/individual-transform/WEB_FEATURES.yml b/tests/wpt/tests/css/css-transforms/individual-transform/WEB_FEATURES.yml
new file mode 100644
index 00000000000..8fa77e513de
--- /dev/null
+++ b/tests/wpt/tests/css/css-transforms/individual-transform/WEB_FEATURES.yml
@@ -0,0 +1,3 @@
+features:
+- name: individual-transforms
+ files: "**"
diff --git a/tests/wpt/tests/css/css-transforms/parsing/WEB_FEATURES.yml b/tests/wpt/tests/css/css-transforms/parsing/WEB_FEATURES.yml
index 831086f99e9..1bf7e23a0b4 100644
--- a/tests/wpt/tests/css/css-transforms/parsing/WEB_FEATURES.yml
+++ b/tests/wpt/tests/css/css-transforms/parsing/WEB_FEATURES.yml
@@ -1,4 +1,8 @@
features:
+- name: individual-transforms
+ files:
+ - rotate-parsing-computed.html
+ - rotate-parsing-valid.html
- name: transforms3d
files:
- backface-visibility-*
diff --git a/tests/wpt/tests/css/css-transforms/transform3d-preserve3d-014.html b/tests/wpt/tests/css/css-transforms/transform3d-preserve3d-014.html
new file mode 100644
index 00000000000..e8d7a4805b0
--- /dev/null
+++ b/tests/wpt/tests/css/css-transforms/transform3d-preserve3d-014.html
@@ -0,0 +1,21 @@
+
+
+
+ CSS Test (Transforms): Preserve-3D With display:contents intermediate
+
+
+
+
+
+
+
+
+
diff --git a/tests/wpt/tests/css/css-transitions/WEB_FEATURES.yml b/tests/wpt/tests/css/css-transitions/WEB_FEATURES.yml
new file mode 100644
index 00000000000..4da279daa39
--- /dev/null
+++ b/tests/wpt/tests/css/css-transitions/WEB_FEATURES.yml
@@ -0,0 +1,4 @@
+features:
+- name: starting-style
+ files:
+ - starting-style-*
diff --git a/tests/wpt/tests/css/css-transitions/parsing/WEB_FEATURES.yml b/tests/wpt/tests/css/css-transitions/parsing/WEB_FEATURES.yml
new file mode 100644
index 00000000000..4da279daa39
--- /dev/null
+++ b/tests/wpt/tests/css/css-transitions/parsing/WEB_FEATURES.yml
@@ -0,0 +1,4 @@
+features:
+- name: starting-style
+ files:
+ - starting-style-*
diff --git a/tests/wpt/tests/css/css-ui/parsing/WEB_FEATURES.yml b/tests/wpt/tests/css/css-ui/parsing/WEB_FEATURES.yml
new file mode 100644
index 00000000000..b4ae339c2f3
--- /dev/null
+++ b/tests/wpt/tests/css/css-ui/parsing/WEB_FEATURES.yml
@@ -0,0 +1,4 @@
+features:
+- name: field-sizing
+ files:
+ - field-sizing-*
diff --git a/tests/wpt/tests/css/css-ui/text-overflow-017.html b/tests/wpt/tests/css/css-ui/text-overflow-017.html
index 561d4d0b6fe..7f61a57620c 100644
--- a/tests/wpt/tests/css/css-ui/text-overflow-017.html
+++ b/tests/wpt/tests/css/css-ui/text-overflow-017.html
@@ -1,11 +1,13 @@
-
+
CSS Basic User Interface Test: interacting with the ellipsis
-
-
+
+
+
+
-First, click the blue box.
-Test passes if there is a filled green square and no red .
-
+First, click the blue box.
+
diff --git a/tests/wpt/tests/css/css-values/WEB_FEATURES.yml b/tests/wpt/tests/css/css-values/WEB_FEATURES.yml
index dc7331ab954..526bb67def5 100644
--- a/tests/wpt/tests/css/css-values/WEB_FEATURES.yml
+++ b/tests/wpt/tests/css/css-values/WEB_FEATURES.yml
@@ -19,3 +19,7 @@ features:
files:
- round-function.html
- round-mod-rem-*
+- name: trig-functions
+ files:
+ - acos-asin-atan-atan2-*
+ - sin-cos-tan-*
diff --git a/tests/wpt/tests/css/css-view-transitions/duplicate-tag-rejects-start.html b/tests/wpt/tests/css/css-view-transitions/duplicate-tag-rejects-start.html
index 6c99d6426c0..5c605fefbb3 100644
--- a/tests/wpt/tests/css/css-view-transitions/duplicate-tag-rejects-start.html
+++ b/tests/wpt/tests/css/css-view-transitions/duplicate-tag-rejects-start.html
@@ -33,18 +33,18 @@ promise_test(async t => {
let updateCallbackDoneResolved = false;
transition.updateCallbackDone.then(() => { updateCallbackDoneResolved = true; }, reject);
- // Then finished resolves since updateCallbackDone was already resolved.
- let finishResolved = false;
- transition.updateCallbackDone.then(() => {
- assert_true(updateCallbackDoneResolved, "updateCallbackDone not resolved before finish");
- finishResolved = true;
- }, reject);
-
- // Finally ready rejects.
+ // Ready rejects.
+ let readyRejected = false;
transition.ready.then(reject, () => {
- assert_true(finishResolved, "finish not resolved before ready");
- resolve();
+ readyRejected = true;
+ assert_true(updateCallbackDoneResolved, "updateCallbackDone should resolve before ready was rejected");
});
+
+ // Then finished resolves since updateCallbackDone was already resolved.
+ transition.finished.then(() => {
+ assert_true(readyRejected, "finished should resolve after ready was rejected");
+ resolve();
+ }, reject);
});
}, "Two different elements with the same name in the new DOM should skip the transition");
diff --git a/tests/wpt/tests/css/css-view-transitions/hit-test-unpainted-element-from-point.html b/tests/wpt/tests/css/css-view-transitions/hit-test-unpainted-element-from-point.html
index c9650d97b9d..b34d2b11df5 100644
--- a/tests/wpt/tests/css/css-view-transitions/hit-test-unpainted-element-from-point.html
+++ b/tests/wpt/tests/css/css-view-transitions/hit-test-unpainted-element-from-point.html
@@ -2,7 +2,6 @@
View transitions: hit test shared element at the real dom location
-
diff --git a/tests/wpt/tests/css/css-view-transitions/names-are-tree-scoped-ref.html b/tests/wpt/tests/css/css-view-transitions/names-are-tree-scoped-ref.html
new file mode 100644
index 00000000000..62419b07ee1
--- /dev/null
+++ b/tests/wpt/tests/css/css-view-transitions/names-are-tree-scoped-ref.html
@@ -0,0 +1,14 @@
+
+
+View transitions: view-transition-names are tree scoped (ref)
+
+
+
+
+
diff --git a/tests/wpt/tests/css/css-view-transitions/names-are-tree-scoped.html b/tests/wpt/tests/css/css-view-transitions/names-are-tree-scoped.html
new file mode 100644
index 00000000000..efca07e209d
--- /dev/null
+++ b/tests/wpt/tests/css/css-view-transitions/names-are-tree-scoped.html
@@ -0,0 +1,61 @@
+
+
+View transitions: view-transition-names are tree scoped
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/tests/wpt/tests/css/css-view-transitions/navigation/at-rule-cssom.html b/tests/wpt/tests/css/css-view-transitions/navigation/at-rule-cssom.html
new file mode 100644
index 00000000000..6f8beb16731
--- /dev/null
+++ b/tests/wpt/tests/css/css-view-transitions/navigation/at-rule-cssom.html
@@ -0,0 +1,106 @@
+
+
+View transitions: CSSOM for @view-transition rule
+
+
+
+
+
+
diff --git a/tests/wpt/tests/css/css-view-transitions/navigation/at-rule-in-layer-cascade-external-stylesheet.html b/tests/wpt/tests/css/css-view-transitions/navigation/at-rule-in-layer-cascade-external-stylesheet.html
new file mode 100644
index 00000000000..53c6135a566
--- /dev/null
+++ b/tests/wpt/tests/css/css-view-transitions/navigation/at-rule-in-layer-cascade-external-stylesheet.html
@@ -0,0 +1,37 @@
+
+View Transitions: @view-transition cascaldes correclty with layers in separate external stylesheets.
+
+
+
+
+
+
+
+
+
diff --git a/tests/wpt/tests/css/css-view-transitions/navigation/at-rule-in-layer-cascade.html b/tests/wpt/tests/css/css-view-transitions/navigation/at-rule-in-layer-cascade.html
new file mode 100644
index 00000000000..a38ca48e8c4
--- /dev/null
+++ b/tests/wpt/tests/css/css-view-transitions/navigation/at-rule-in-layer-cascade.html
@@ -0,0 +1,44 @@
+
+View Transitions: @view-transition cascaldes correclty with layers.
+
+
+
+
+
+
diff --git a/tests/wpt/tests/css/css-view-transitions/navigation/at-rule-in-layer.html b/tests/wpt/tests/css/css-view-transitions/navigation/at-rule-in-layer.html
new file mode 100644
index 00000000000..63ec4c3e25d
--- /dev/null
+++ b/tests/wpt/tests/css/css-view-transitions/navigation/at-rule-in-layer.html
@@ -0,0 +1,32 @@
+
+View Transitions: @view-transition nested in a @layer rule.
+
+
+
+
+
+
diff --git a/tests/wpt/tests/css/css-view-transitions/navigation/at-rule-in-matching-media.html b/tests/wpt/tests/css/css-view-transitions/navigation/at-rule-in-matching-media.html
new file mode 100644
index 00000000000..77f2e05c340
--- /dev/null
+++ b/tests/wpt/tests/css/css-view-transitions/navigation/at-rule-in-matching-media.html
@@ -0,0 +1,32 @@
+
+View Transitions: @view-transition nested in a matching @media rule.
+
+
+
+
+
+
\ No newline at end of file
diff --git a/tests/wpt/tests/css/css-view-transitions/navigation/at-rule-in-non-matching-media.html b/tests/wpt/tests/css/css-view-transitions/navigation/at-rule-in-non-matching-media.html
new file mode 100644
index 00000000000..ac9dbde37e1
--- /dev/null
+++ b/tests/wpt/tests/css/css-view-transitions/navigation/at-rule-in-non-matching-media.html
@@ -0,0 +1,32 @@
+
+View Transitions: @view-transition nested in a non-matching @media rule.
+
+
+
+
+
+
\ No newline at end of file
diff --git a/tests/wpt/tests/css/css-view-transitions/navigation/at-rule-in-shadow-dom.html b/tests/wpt/tests/css/css-view-transitions/navigation/at-rule-in-shadow-dom.html
new file mode 100644
index 00000000000..7edd8e0749f
--- /dev/null
+++ b/tests/wpt/tests/css/css-view-transitions/navigation/at-rule-in-shadow-dom.html
@@ -0,0 +1,43 @@
+
+View Transitions: @view-transition not applied from shadow tree.
+
+
+
+
+
+
diff --git a/tests/wpt/tests/css/css-view-transitions/navigation/at-rule-multiple-rules.html b/tests/wpt/tests/css/css-view-transitions/navigation/at-rule-multiple-rules.html
new file mode 100644
index 00000000000..5a84d46da18
--- /dev/null
+++ b/tests/wpt/tests/css/css-view-transitions/navigation/at-rule-multiple-rules.html
@@ -0,0 +1,33 @@
+
+View Transitions: Multiple @view-transition, last one wins.
+
+
+
+
+
+
diff --git a/tests/wpt/tests/css/css-view-transitions/navigation/at-rule-opt-in-auto-ref.html b/tests/wpt/tests/css/css-view-transitions/navigation/at-rule-opt-in-auto-ref.html
new file mode 100644
index 00000000000..be8cc501cf0
--- /dev/null
+++ b/tests/wpt/tests/css/css-view-transitions/navigation/at-rule-opt-in-auto-ref.html
@@ -0,0 +1,25 @@
+
+View Transitions: @view-transition opt in for cross-document (ref)
+
+
+
+
+
diff --git a/tests/wpt/tests/css/css-view-transitions/navigation/at-rule-opt-in-auto.html b/tests/wpt/tests/css/css-view-transitions/navigation/at-rule-opt-in-auto.html
new file mode 100644
index 00000000000..8993cf1a677
--- /dev/null
+++ b/tests/wpt/tests/css/css-view-transitions/navigation/at-rule-opt-in-auto.html
@@ -0,0 +1,24 @@
+
+
+View Transitions: @view-transition opt in for auto
+
+
+
+
+
+
+
diff --git a/tests/wpt/tests/css/css-view-transitions/navigation/at-rule-opt-in-change-with-script.html b/tests/wpt/tests/css/css-view-transitions/navigation/at-rule-opt-in-change-with-script.html
new file mode 100644
index 00000000000..12452f67634
--- /dev/null
+++ b/tests/wpt/tests/css/css-view-transitions/navigation/at-rule-opt-in-change-with-script.html
@@ -0,0 +1,35 @@
+
+View Transitions: @view-transition opt-in programmatically.
+
+
+
+
+
+
diff --git a/tests/wpt/tests/css/css-view-transitions/navigation/at-rule-opt-in-none-in-new.html b/tests/wpt/tests/css/css-view-transitions/navigation/at-rule-opt-in-none-in-new.html
new file mode 100644
index 00000000000..2aecb7b9135
--- /dev/null
+++ b/tests/wpt/tests/css/css-view-transitions/navigation/at-rule-opt-in-none-in-new.html
@@ -0,0 +1,23 @@
+
+
+View Transitions: @view-transition opt out in new document.
+
+
+
+
+
+
+
diff --git a/tests/wpt/tests/css/css-view-transitions/navigation/at-rule-opt-in-none-in-old.html b/tests/wpt/tests/css/css-view-transitions/navigation/at-rule-opt-in-none-in-old.html
new file mode 100644
index 00000000000..b5b0b3a1104
--- /dev/null
+++ b/tests/wpt/tests/css/css-view-transitions/navigation/at-rule-opt-in-none-in-old.html
@@ -0,0 +1,23 @@
+
+
+View Transitions: @view-transition opt out in new document.
+
+
+
+
+
+
+
diff --git a/tests/wpt/tests/css/css-view-transitions/navigation/at-rule-opt-in-none-ref.html b/tests/wpt/tests/css/css-view-transitions/navigation/at-rule-opt-in-none-ref.html
new file mode 100644
index 00000000000..59e3342daeb
--- /dev/null
+++ b/tests/wpt/tests/css/css-view-transitions/navigation/at-rule-opt-in-none-ref.html
@@ -0,0 +1,13 @@
+
+View Transitions: @view-transition opt out in new ocument (ref)
+
+
+
diff --git a/tests/wpt/tests/css/css-view-transitions/navigation/chromium-paint-holding-timeout-ref.html b/tests/wpt/tests/css/css-view-transitions/navigation/chromium-paint-holding-timeout-ref.html
new file mode 100644
index 00000000000..90267e3a84a
--- /dev/null
+++ b/tests/wpt/tests/css/css-view-transitions/navigation/chromium-paint-holding-timeout-ref.html
@@ -0,0 +1,14 @@
+
+View Transitions: paint holding timeout cancels transition (ref)
+
+
+
+
diff --git a/tests/wpt/tests/css/css-view-transitions/navigation/chromium-paint-holding-timeout.html b/tests/wpt/tests/css/css-view-transitions/navigation/chromium-paint-holding-timeout.html
new file mode 100644
index 00000000000..83596940fa4
--- /dev/null
+++ b/tests/wpt/tests/css/css-view-transitions/navigation/chromium-paint-holding-timeout.html
@@ -0,0 +1,29 @@
+
+
+View Transitions: paint holding timeout cancels transition
+
+
+
+
+
+
+
+
+
+
diff --git a/tests/wpt/tests/css/css-view-transitions/navigation/hide-before-reveal.html b/tests/wpt/tests/css/css-view-transitions/navigation/hide-before-reveal.html
new file mode 100644
index 00000000000..7cdbcb46280
--- /dev/null
+++ b/tests/wpt/tests/css/css-view-transitions/navigation/hide-before-reveal.html
@@ -0,0 +1,47 @@
+
+View transitions: pagereveal event provides viewTransition
+
+
+
+
+
+
+
+
+
diff --git a/tests/wpt/tests/css/css-view-transitions/navigation/mismatched-snapshot-containing-block-size-skips.html b/tests/wpt/tests/css/css-view-transitions/navigation/mismatched-snapshot-containing-block-size-skips.html
new file mode 100644
index 00000000000..d18a40c9b6e
--- /dev/null
+++ b/tests/wpt/tests/css/css-view-transitions/navigation/mismatched-snapshot-containing-block-size-skips.html
@@ -0,0 +1,127 @@
+
+
+View transitions: mismatched snapshot containing block size skips transition.
+
+
+
+
+
+
+
+
+
+
+
diff --git a/tests/wpt/tests/css/css-view-transitions/navigation/navigation-auto-excludes-reload-ref.html b/tests/wpt/tests/css/css-view-transitions/navigation/navigation-auto-excludes-reload-ref.html
new file mode 100644
index 00000000000..ed12194c310
--- /dev/null
+++ b/tests/wpt/tests/css/css-view-transitions/navigation/navigation-auto-excludes-reload-ref.html
@@ -0,0 +1,7 @@
+
+View transitions: basic cross-document navigation (ref)
+
diff --git a/tests/wpt/tests/css/css-view-transitions/navigation/navigation-auto-excludes-reload.html b/tests/wpt/tests/css/css-view-transitions/navigation/navigation-auto-excludes-reload.html
new file mode 100644
index 00000000000..c0fb61a4b0a
--- /dev/null
+++ b/tests/wpt/tests/css/css-view-transitions/navigation/navigation-auto-excludes-reload.html
@@ -0,0 +1,39 @@
+
+
+View transitions: basic cross-document navigation
+
+
+
+
+
+
+
diff --git a/tests/wpt/tests/css/css-view-transitions/navigation/no-view-transition-with-cross-origin-redirect-ref.html b/tests/wpt/tests/css/css-view-transitions/navigation/no-view-transition-with-cross-origin-redirect-ref.html
new file mode 100644
index 00000000000..91f24f877bd
--- /dev/null
+++ b/tests/wpt/tests/css/css-view-transitions/navigation/no-view-transition-with-cross-origin-redirect-ref.html
@@ -0,0 +1,7 @@
+
+navigation with a same-origin final url with cross-origin redirects (ref)
+
diff --git a/tests/wpt/tests/css/css-view-transitions/navigation/no-view-transition-with-cross-origin-redirect.sub.html b/tests/wpt/tests/css/css-view-transitions/navigation/no-view-transition-with-cross-origin-redirect.sub.html
new file mode 100644
index 00000000000..8780310af2f
--- /dev/null
+++ b/tests/wpt/tests/css/css-view-transitions/navigation/no-view-transition-with-cross-origin-redirect.sub.html
@@ -0,0 +1,40 @@
+
+
+navigation with a same-origin final url with cross-origin redirects
+
+
+
+
+
+
+
diff --git a/tests/wpt/tests/css/css-view-transitions/navigation/old_vt_promises_bfcache.html b/tests/wpt/tests/css/css-view-transitions/navigation/old_vt_promises_bfcache.html
new file mode 100644
index 00000000000..18397abbec7
--- /dev/null
+++ b/tests/wpt/tests/css/css-view-transitions/navigation/old_vt_promises_bfcache.html
@@ -0,0 +1,115 @@
+
+VT object created on the old Document is skipped before persisting in BFCache
+
+
+
+
+
+
+
+
diff --git a/tests/wpt/tests/css/css-view-transitions/navigation/opt-in-removed-during-transition-ref.html b/tests/wpt/tests/css/css-view-transitions/navigation/opt-in-removed-during-transition-ref.html
new file mode 100644
index 00000000000..f2b0dbfd338
--- /dev/null
+++ b/tests/wpt/tests/css/css-view-transitions/navigation/opt-in-removed-during-transition-ref.html
@@ -0,0 +1,15 @@
+
+View Transitions: @view-transition removing opt-in doesn't skip active transition (ref)
+
+
+
+
diff --git a/tests/wpt/tests/css/css-view-transitions/navigation/opt-in-removed-during-transition.html b/tests/wpt/tests/css/css-view-transitions/navigation/opt-in-removed-during-transition.html
new file mode 100644
index 00000000000..eb2295f2f03
--- /dev/null
+++ b/tests/wpt/tests/css/css-view-transitions/navigation/opt-in-removed-during-transition.html
@@ -0,0 +1,61 @@
+
+
+View Transitions: @view-transition removing opt-in doesn't skip active transition
+
+
+
+
+
+
+
+
diff --git a/tests/wpt/tests/css/css-view-transitions/navigation/opt-in-without-frame-crash.html b/tests/wpt/tests/css/css-view-transitions/navigation/opt-in-without-frame-crash.html
new file mode 100644
index 00000000000..01c4d723498
--- /dev/null
+++ b/tests/wpt/tests/css/css-view-transitions/navigation/opt-in-without-frame-crash.html
@@ -0,0 +1,16 @@
+
+View transitions: opt in without frame crash
+
+
+
+
diff --git a/tests/wpt/tests/css/css-view-transitions/navigation/pagereveal-finished-promise-ref.html b/tests/wpt/tests/css/css-view-transitions/navigation/pagereveal-finished-promise-ref.html
new file mode 100644
index 00000000000..64aa26f6547
--- /dev/null
+++ b/tests/wpt/tests/css/css-view-transitions/navigation/pagereveal-finished-promise-ref.html
@@ -0,0 +1,17 @@
+
+
+ View transitions: Test pagereveal.finished and skipTransition (ref)
+
+
+
+
+
diff --git a/tests/wpt/tests/css/css-view-transitions/navigation/pagereveal-finished-promise.html b/tests/wpt/tests/css/css-view-transitions/navigation/pagereveal-finished-promise.html
new file mode 100644
index 00000000000..baac948bac4
--- /dev/null
+++ b/tests/wpt/tests/css/css-view-transitions/navigation/pagereveal-finished-promise.html
@@ -0,0 +1,63 @@
+
+
+
+ View transitions: Test pagereveal.finished and skipTransition
+
+
+
+
+
+
+
+
+
diff --git a/tests/wpt/tests/css/css-view-transitions/navigation/pagereveal-microtask-sequence.html b/tests/wpt/tests/css/css-view-transitions/navigation/pagereveal-microtask-sequence.html
new file mode 100644
index 00000000000..205f4d1ddcf
--- /dev/null
+++ b/tests/wpt/tests/css/css-view-transitions/navigation/pagereveal-microtask-sequence.html
@@ -0,0 +1,51 @@
+
+
+ View transition promise reactions in incoming page should resolve before
+ the rendering continues (rAF, style/layout etc)
+
+
+
+
+
+
\ No newline at end of file
diff --git a/tests/wpt/tests/css/css-view-transitions/navigation/pagereveal-no-view-transition-new-opt-out.html b/tests/wpt/tests/css/css-view-transitions/navigation/pagereveal-no-view-transition-new-opt-out.html
new file mode 100644
index 00000000000..a8b314b751f
--- /dev/null
+++ b/tests/wpt/tests/css/css-view-transitions/navigation/pagereveal-no-view-transition-new-opt-out.html
@@ -0,0 +1,36 @@
+
+
+ View transitions: null event.viewTransition when new page removes opt-in
+ before pagereveal
+
+
+
+
+
+
+
diff --git a/tests/wpt/tests/css/css-view-transitions/navigation/pagereveal-no-view-transition.html b/tests/wpt/tests/css/css-view-transitions/navigation/pagereveal-no-view-transition.html
new file mode 100644
index 00000000000..a6ae95f9be1
--- /dev/null
+++ b/tests/wpt/tests/css/css-view-transitions/navigation/pagereveal-no-view-transition.html
@@ -0,0 +1,20 @@
+
+
+ View transitions: in navigation without transition, pagereveal event has
+ null viewTransition
+
+
+
+
+
+
diff --git a/tests/wpt/tests/css/css-view-transitions/navigation/pagereveal-ready-promise-ref.html b/tests/wpt/tests/css/css-view-transitions/navigation/pagereveal-ready-promise-ref.html
new file mode 100644
index 00000000000..0c1ed276565
--- /dev/null
+++ b/tests/wpt/tests/css/css-view-transitions/navigation/pagereveal-ready-promise-ref.html
@@ -0,0 +1,18 @@
+
+View transitions: Test pagereveal.ready (ref)
+
+
+
+
diff --git a/tests/wpt/tests/css/css-view-transitions/navigation/pagereveal-ready-promise.html b/tests/wpt/tests/css/css-view-transitions/navigation/pagereveal-ready-promise.html
new file mode 100644
index 00000000000..65b370c9c05
--- /dev/null
+++ b/tests/wpt/tests/css/css-view-transitions/navigation/pagereveal-ready-promise.html
@@ -0,0 +1,54 @@
+
+
+View transitions: Test pagereveal.ready
+
+
+
+
+
+
+
+
diff --git a/tests/wpt/tests/css/css-view-transitions/navigation/pagereveal-setup-transition-ref.html b/tests/wpt/tests/css/css-view-transitions/navigation/pagereveal-setup-transition-ref.html
new file mode 100644
index 00000000000..cda9820d536
--- /dev/null
+++ b/tests/wpt/tests/css/css-view-transitions/navigation/pagereveal-setup-transition-ref.html
@@ -0,0 +1,18 @@
+
+View transitions: setup transition from pagereveal (ref)
+
+
+
+
diff --git a/tests/wpt/tests/css/css-view-transitions/navigation/pagereveal-setup-transition.html b/tests/wpt/tests/css/css-view-transitions/navigation/pagereveal-setup-transition.html
new file mode 100644
index 00000000000..7407824ea73
--- /dev/null
+++ b/tests/wpt/tests/css/css-view-transitions/navigation/pagereveal-setup-transition.html
@@ -0,0 +1,63 @@
+
+
+View transitions: setup transition from pagereveal
+
+
+
+
+
+
+
+
diff --git a/tests/wpt/tests/css/css-view-transitions/navigation/pagereveal-updatecallbackdone-promise.html b/tests/wpt/tests/css/css-view-transitions/navigation/pagereveal-updatecallbackdone-promise.html
new file mode 100644
index 00000000000..3d259e66a20
--- /dev/null
+++ b/tests/wpt/tests/css/css-view-transitions/navigation/pagereveal-updatecallbackdone-promise.html
@@ -0,0 +1,45 @@
+
+
+ View transitions: Test pagereveal.updateCallbackDone promise is immediately resolved.
+
+
+
+
+
+
+
diff --git a/tests/wpt/tests/css/css-view-transitions/navigation/pagereveal-with-view-transition.html b/tests/wpt/tests/css/css-view-transitions/navigation/pagereveal-with-view-transition.html
new file mode 100644
index 00000000000..3f21d56ed68
--- /dev/null
+++ b/tests/wpt/tests/css/css-view-transitions/navigation/pagereveal-with-view-transition.html
@@ -0,0 +1,40 @@
+
+View transitions: pagereveal event provides viewTransition
+
+
+
+
+
+
diff --git a/tests/wpt/tests/css/css-view-transitions/navigation/pageswap-fired-before-old-state-capture-ref.html b/tests/wpt/tests/css/css-view-transitions/navigation/pageswap-fired-before-old-state-capture-ref.html
new file mode 100644
index 00000000000..bda333066a3
--- /dev/null
+++ b/tests/wpt/tests/css/css-view-transitions/navigation/pageswap-fired-before-old-state-capture-ref.html
@@ -0,0 +1,18 @@
+
+View transitions: Test pageswap fires before document capture (ref)
+
+
+
+
diff --git a/tests/wpt/tests/css/css-view-transitions/navigation/pageswap-fired-before-old-state-capture.html b/tests/wpt/tests/css/css-view-transitions/navigation/pageswap-fired-before-old-state-capture.html
new file mode 100644
index 00000000000..8ce791bcaec
--- /dev/null
+++ b/tests/wpt/tests/css/css-view-transitions/navigation/pageswap-fired-before-old-state-capture.html
@@ -0,0 +1,63 @@
+
+
+View transitions: Test pageswap fires before document capture
+
+
+
+
+
+
+
+
diff --git a/tests/wpt/tests/css/css-view-transitions/navigation/pageswap-in-hidden-doc-should-skip-transition.html b/tests/wpt/tests/css/css-view-transitions/navigation/pageswap-in-hidden-doc-should-skip-transition.html
new file mode 100644
index 00000000000..5be3b6cb27c
--- /dev/null
+++ b/tests/wpt/tests/css/css-view-transitions/navigation/pageswap-in-hidden-doc-should-skip-transition.html
@@ -0,0 +1,48 @@
+
+Tests pageswap dispatch on hidden Documents
+
+
+
+
+
+
diff --git a/tests/wpt/tests/css/css-view-transitions/navigation/pageswap-long-delay.html b/tests/wpt/tests/css/css-view-transitions/navigation/pageswap-long-delay.html
new file mode 100644
index 00000000000..e6ef6d80dc2
--- /dev/null
+++ b/tests/wpt/tests/css/css-view-transitions/navigation/pageswap-long-delay.html
@@ -0,0 +1,41 @@
+
+View transitions: long delay in pageswap aborts the transition
+
+
+
+
+
+
diff --git a/tests/wpt/tests/css/css-view-transitions/navigation/pageswap-push-from-click.html b/tests/wpt/tests/css/css-view-transitions/navigation/pageswap-push-from-click.html
new file mode 100644
index 00000000000..16e04c89bfe
--- /dev/null
+++ b/tests/wpt/tests/css/css-view-transitions/navigation/pageswap-push-from-click.html
@@ -0,0 +1,80 @@
+
+View transitions: pageswap navigationactivation for push navigations from user click
+
+
+
+
+
+
+
+
+
+
+ Click me
+
diff --git a/tests/wpt/tests/css/css-view-transitions/navigation/pageswap-push-navigation.html b/tests/wpt/tests/css/css-view-transitions/navigation/pageswap-push-navigation.html
new file mode 100644
index 00000000000..50a43e70d90
--- /dev/null
+++ b/tests/wpt/tests/css/css-view-transitions/navigation/pageswap-push-navigation.html
@@ -0,0 +1,69 @@
+
+View transitions: pageswap navigationactivation for push navigations
+
+
+
+
+
+
diff --git a/tests/wpt/tests/css/css-view-transitions/navigation/pageswap-push-with-redirect.html b/tests/wpt/tests/css/css-view-transitions/navigation/pageswap-push-with-redirect.html
new file mode 100644
index 00000000000..d9d252f83ce
--- /dev/null
+++ b/tests/wpt/tests/css/css-view-transitions/navigation/pageswap-push-with-redirect.html
@@ -0,0 +1,69 @@
+
+View transitions: pageswap navigationactivation for push navigations with a same-origin redirect
+
+
+
+
+
+
diff --git a/tests/wpt/tests/css/css-view-transitions/navigation/pageswap-replace-navigation.html b/tests/wpt/tests/css/css-view-transitions/navigation/pageswap-replace-navigation.html
new file mode 100644
index 00000000000..18f63454fdf
--- /dev/null
+++ b/tests/wpt/tests/css/css-view-transitions/navigation/pageswap-replace-navigation.html
@@ -0,0 +1,69 @@
+
+View transitions: pageswap navigationactivation for replace navigations
+
+
+
+
+
+
diff --git a/tests/wpt/tests/css/css-view-transitions/navigation/pageswap-skip-transition.html b/tests/wpt/tests/css/css-view-transitions/navigation/pageswap-skip-transition.html
new file mode 100644
index 00000000000..bfeee7827a3
--- /dev/null
+++ b/tests/wpt/tests/css/css-view-transitions/navigation/pageswap-skip-transition.html
@@ -0,0 +1,37 @@
+
+View transitions: skipTransition() in pageswap aborts the transition
+
+
+
+
+
+
diff --git a/tests/wpt/tests/css/css-view-transitions/navigation/pageswap-traverse-navigation-no-bfcache.https.html b/tests/wpt/tests/css/css-view-transitions/navigation/pageswap-traverse-navigation-no-bfcache.https.html
new file mode 100644
index 00000000000..9137dc4d1cd
--- /dev/null
+++ b/tests/wpt/tests/css/css-view-transitions/navigation/pageswap-traverse-navigation-no-bfcache.https.html
@@ -0,0 +1,85 @@
+
+View transitions: pageswap navigationactivation for traverse navigations
+
+
+
+
+
+
+
diff --git a/tests/wpt/tests/css/css-view-transitions/navigation/prerender-removed-during-navigation-ref.html b/tests/wpt/tests/css/css-view-transitions/navigation/prerender-removed-during-navigation-ref.html
new file mode 100644
index 00000000000..cbcfd19d950
--- /dev/null
+++ b/tests/wpt/tests/css/css-view-transitions/navigation/prerender-removed-during-navigation-ref.html
@@ -0,0 +1,7 @@
+
+View transitions: cross-document navigation to a prerender cancelled before commit (ref)
+
diff --git a/tests/wpt/tests/css/css-view-transitions/navigation/prerender-removed-during-navigation.html b/tests/wpt/tests/css/css-view-transitions/navigation/prerender-removed-during-navigation.html
new file mode 100644
index 00000000000..d261b0df552
--- /dev/null
+++ b/tests/wpt/tests/css/css-view-transitions/navigation/prerender-removed-during-navigation.html
@@ -0,0 +1,96 @@
+
+
+View transitions: cross-document navigation to a prerender cancelled before commit
+
+
+
+
+
+
+
+
+
+
diff --git a/tests/wpt/tests/css/css-view-transitions/navigation/reload-crash.html b/tests/wpt/tests/css/css-view-transitions/navigation/reload-crash.html
new file mode 100644
index 00000000000..a2bf11b31dc
--- /dev/null
+++ b/tests/wpt/tests/css/css-view-transitions/navigation/reload-crash.html
@@ -0,0 +1,18 @@
+
+
+View transitions: reload crash
+
+
+
+
+
diff --git a/tests/wpt/tests/css/css-view-transitions/navigation/resources/at-rule-opt-in-auto-with-types-mutable.html b/tests/wpt/tests/css/css-view-transitions/navigation/resources/at-rule-opt-in-auto-with-types-mutable.html
new file mode 100644
index 00000000000..ef4a540d040
--- /dev/null
+++ b/tests/wpt/tests/css/css-view-transitions/navigation/resources/at-rule-opt-in-auto-with-types-mutable.html
@@ -0,0 +1,61 @@
+
+
+View Transitions: @view-transition opt in for auto with types (new page)
+
+
+
+
+
+
+
diff --git a/tests/wpt/tests/css/css-view-transitions/navigation/resources/at-rule-opt-in-auto-with-types.html b/tests/wpt/tests/css/css-view-transitions/navigation/resources/at-rule-opt-in-auto-with-types.html
new file mode 100644
index 00000000000..b30d3791d6e
--- /dev/null
+++ b/tests/wpt/tests/css/css-view-transitions/navigation/resources/at-rule-opt-in-auto-with-types.html
@@ -0,0 +1,40 @@
+
+
+View Transitions: @view-transition opt in for auto with types (new page)
+
+
+
+
+
diff --git a/tests/wpt/tests/css/css-view-transitions/navigation/resources/at-rule-opt-in-auto.html b/tests/wpt/tests/css/css-view-transitions/navigation/resources/at-rule-opt-in-auto.html
new file mode 100644
index 00000000000..e887d4b2107
--- /dev/null
+++ b/tests/wpt/tests/css/css-view-transitions/navigation/resources/at-rule-opt-in-auto.html
@@ -0,0 +1,44 @@
+
+
+View Transitions: @view-transition opt in for auto (new page)
+
+
+
+
+
+
diff --git a/tests/wpt/tests/css/css-view-transitions/navigation/resources/at-rule-opt-in-none.html b/tests/wpt/tests/css/css-view-transitions/navigation/resources/at-rule-opt-in-none.html
new file mode 100644
index 00000000000..bf5a73c73ee
--- /dev/null
+++ b/tests/wpt/tests/css/css-view-transitions/navigation/resources/at-rule-opt-in-none.html
@@ -0,0 +1,34 @@
+
+
+View Transitions: @view-transition opt out in new document (new page)
+
+
+
+
+
diff --git a/tests/wpt/tests/css/css-view-transitions/navigation/resources/chromium-paint-holding-timeout.html b/tests/wpt/tests/css/css-view-transitions/navigation/resources/chromium-paint-holding-timeout.html
new file mode 100644
index 00000000000..3964199c54c
--- /dev/null
+++ b/tests/wpt/tests/css/css-view-transitions/navigation/resources/chromium-paint-holding-timeout.html
@@ -0,0 +1,41 @@
+
+
+
+View Transitions: paint holding timeout cancels transition (new page)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/tests/wpt/tests/css/css-view-transitions/navigation/resources/common.js b/tests/wpt/tests/css/css-view-transitions/navigation/resources/common.js
new file mode 100644
index 00000000000..cbe023a3d9e
--- /dev/null
+++ b/tests/wpt/tests/css/css-view-transitions/navigation/resources/common.js
@@ -0,0 +1,71 @@
+function assertViewTransitionOnNavigationImplemented() {
+ assert_implements(
+ window.CSSViewTransitionRule, "ViewTransition-on-navigation not implemented.");
+}
+
+const render_blocking_url = `resources/render-blocking-stylesheet.py`;
+let render_block_uuid = null;
+let render_block_reject = null;
+let render_block_resolve = null;
+
+function renderBlockingOnError() {
+ render_block_reject('Error while loading render blocking stylesheet.');
+}
+function renderBlockingOnLoad() {
+ render_block_resolve();
+}
+
+function blockRendering() {
+ if (document.body)
+ throw new Error('Cannot block rendering after body has been parsed.');
+
+ if (render_block_uuid)
+ throw new Error('Rendering already blocked.');
+
+ return new Promise((resolve, reject) => {
+ render_block_reject = reject;
+ render_block_resolve = resolve;
+ render_block_uuid = token();
+ const href = `${render_blocking_url}?key=${render_block_uuid}`;
+ // Need to use document.write since only parser-encountered stylesheets
+ // cause render blocking.
+ document.write(` `);
+ document.close();
+ });
+}
+
+function unblockRendering() {
+ if (!render_block_uuid)
+ throw new Error('Rendering not blocked.');
+
+ const url = `${render_blocking_url}?key=${render_block_uuid}`;
+ return fetch(url, { method: 'POST' }).then(response => {
+ if (response.status != 200) {
+ return response.text().then((body) => {
+ throw new Error('Failed to unblock rendering: ' + body);
+ });
+ }
+ });
+}
+
+// Use external/wpt/html/browsers/browsing-the-web/back-forward-cache/resources/executor.js
+// when migrating to external WPTs.
+window.disableBFCache = () => {
+ return new Promise(resolve => {
+ // Use page's UUID as a unique lock name.
+ navigator.locks.request("test", () => {
+ resolve();
+ return new Promise(() => {});
+ });
+ });
+};
+
+function waitForMessage(msg) {
+ return new Promise(resolve => {
+ window.addEventListener(
+ "message", (e) => {
+ if (e.data === msg)
+ resolve();
+ }
+ )});
+}
diff --git a/tests/wpt/tests/css/css-view-transitions/navigation/resources/opt-in-style.css b/tests/wpt/tests/css/css-view-transitions/navigation/resources/opt-in-style.css
new file mode 100644
index 00000000000..9aac2b4e85b
--- /dev/null
+++ b/tests/wpt/tests/css/css-view-transitions/navigation/resources/opt-in-style.css
@@ -0,0 +1,3 @@
+@view-transition {
+ navigation: auto;
+}
diff --git a/tests/wpt/tests/css/css-view-transitions/navigation/resources/opt-out-style.css b/tests/wpt/tests/css/css-view-transitions/navigation/resources/opt-out-style.css
new file mode 100644
index 00000000000..f01d587ddad
--- /dev/null
+++ b/tests/wpt/tests/css/css-view-transitions/navigation/resources/opt-out-style.css
@@ -0,0 +1,3 @@
+@view-transition {
+ navigation: none;
+}
diff --git a/tests/wpt/tests/css/css-view-transitions/navigation/resources/outbound-before-render.html b/tests/wpt/tests/css/css-view-transitions/navigation/resources/outbound-before-render.html
new file mode 100644
index 00000000000..0815c3b3d76
--- /dev/null
+++ b/tests/wpt/tests/css/css-view-transitions/navigation/resources/outbound-before-render.html
@@ -0,0 +1,34 @@
+
+
+
+
+
+
+
+
+
+ Content
+
diff --git a/tests/wpt/tests/css/css-view-transitions/navigation/resources/render-blocking-stylesheet.py b/tests/wpt/tests/css/css-view-transitions/navigation/resources/render-blocking-stylesheet.py
new file mode 100644
index 00000000000..15ae6aba6ff
--- /dev/null
+++ b/tests/wpt/tests/css/css-view-transitions/navigation/resources/render-blocking-stylesheet.py
@@ -0,0 +1,24 @@
+import time
+
+
+# This handler blocks a GET request for the given key until a matching POST is
+# made with the same key. This allows a test to load a resource and manually
+# control when the response is received.
+def main(request, response):
+ key = request.GET.first(b'key')
+
+ if request.method == 'POST':
+ # Received result data from target page
+ request.server.stash.put(key, 'doResponse')
+ return 'done'
+ else:
+ poll_delay_sec = 0.1
+
+ # Wait until the caller POSTs before responding.
+ while request.server.stash.take(key) is None:
+ time.sleep(poll_delay_sec)
+
+ status = 200
+ headers = [('Content-Type', 'text/css')]
+ body = ''
+ return (status, headers, body)
diff --git a/tests/wpt/tests/css/css-view-transitions/navigation/resources/root-and-nested-element-transition.html b/tests/wpt/tests/css/css-view-transitions/navigation/resources/root-and-nested-element-transition.html
new file mode 100644
index 00000000000..c572ce9798b
--- /dev/null
+++ b/tests/wpt/tests/css/css-view-transitions/navigation/resources/root-and-nested-element-transition.html
@@ -0,0 +1,74 @@
+
+
+View transitions: basic cross-document navigation with nested element (new page)
+
+
+
+
+
+
+
+ This is new element
+
+
+
+
diff --git a/tests/wpt/tests/css/css-view-transitions/navigation/resources/root-element-transition-iframe-inner-result.html b/tests/wpt/tests/css/css-view-transitions/navigation/resources/root-element-transition-iframe-inner-result.html
new file mode 100644
index 00000000000..65f14843d9c
--- /dev/null
+++ b/tests/wpt/tests/css/css-view-transitions/navigation/resources/root-element-transition-iframe-inner-result.html
@@ -0,0 +1,24 @@
+
+View transitions: basic cross-document navigation (ref)
+
+
+
+
+
diff --git a/tests/wpt/tests/css/css-view-transitions/navigation/resources/root-element-transition-iframe.html b/tests/wpt/tests/css/css-view-transitions/navigation/resources/root-element-transition-iframe.html
new file mode 100644
index 00000000000..7f008442f77
--- /dev/null
+++ b/tests/wpt/tests/css/css-view-transitions/navigation/resources/root-element-transition-iframe.html
@@ -0,0 +1,66 @@
+
+
+
+
+
+
+
+
+
diff --git a/tests/wpt/tests/css/css-view-transitions/navigation/resources/root-element-transition-no-opt-in.html b/tests/wpt/tests/css/css-view-transitions/navigation/resources/root-element-transition-no-opt-in.html
new file mode 100644
index 00000000000..82d2bdc5597
--- /dev/null
+++ b/tests/wpt/tests/css/css-view-transitions/navigation/resources/root-element-transition-no-opt-in.html
@@ -0,0 +1,45 @@
+
+
+View transitions: basic cross-document navigation (new page)
+
+
+
+
+
+
+
+
diff --git a/tests/wpt/tests/css/css-view-transitions/navigation/resources/root-element-transition-opt-in-removed.html b/tests/wpt/tests/css/css-view-transitions/navigation/resources/root-element-transition-opt-in-removed.html
new file mode 100644
index 00000000000..83f5d76c163
--- /dev/null
+++ b/tests/wpt/tests/css/css-view-transitions/navigation/resources/root-element-transition-opt-in-removed.html
@@ -0,0 +1,51 @@
+
+
+View transitions: basic cross-document navigation (new page)
+
+
+
+
+
+
+
+
+
+
diff --git a/tests/wpt/tests/css/css-view-transitions/navigation/resources/root-element-transition.html b/tests/wpt/tests/css/css-view-transitions/navigation/resources/root-element-transition.html
new file mode 100644
index 00000000000..af68ba00742
--- /dev/null
+++ b/tests/wpt/tests/css/css-view-transitions/navigation/resources/root-element-transition.html
@@ -0,0 +1,47 @@
+
+
+View transitions: basic cross-document navigation (new page)
+
+
+
+
+
+
+
+
diff --git a/tests/wpt/tests/css/css-view-transitions/navigation/resources/transition-to-prerender.html b/tests/wpt/tests/css/css-view-transitions/navigation/resources/transition-to-prerender.html
new file mode 100644
index 00000000000..63f810a2636
--- /dev/null
+++ b/tests/wpt/tests/css/css-view-transitions/navigation/resources/transition-to-prerender.html
@@ -0,0 +1,48 @@
+
+View transitions: prerender navigation helper
+
+
+
+
+
+ There should be a green square on the left side of the screen,
+ on a field of lightblue. There should be no red in the final state.
+
+
diff --git a/tests/wpt/tests/css/css-view-transitions/navigation/root-and-nested-element-transition-ref.html b/tests/wpt/tests/css/css-view-transitions/navigation/root-and-nested-element-transition-ref.html
new file mode 100644
index 00000000000..a0bb6180c4f
--- /dev/null
+++ b/tests/wpt/tests/css/css-view-transitions/navigation/root-and-nested-element-transition-ref.html
@@ -0,0 +1,58 @@
+
+View transitions: basic cross-document navigation (ref)
+
+
+
+
+
+
+ This is old element
+
+
+
+ This is new element
+
+
diff --git a/tests/wpt/tests/css/css-view-transitions/navigation/root-and-nested-element-transition.html b/tests/wpt/tests/css/css-view-transitions/navigation/root-and-nested-element-transition.html
new file mode 100644
index 00000000000..457f263bf95
--- /dev/null
+++ b/tests/wpt/tests/css/css-view-transitions/navigation/root-and-nested-element-transition.html
@@ -0,0 +1,52 @@
+
+
+View transitions: basic cross-document navigation with nested element
+
+
+
+
+
+
+
+
+ This is old element
+
+
+
+
+
+
diff --git a/tests/wpt/tests/css/css-view-transitions/navigation/root-element-transition-iframe-cross-origin.sub.html b/tests/wpt/tests/css/css-view-transitions/navigation/root-element-transition-iframe-cross-origin.sub.html
new file mode 100644
index 00000000000..51a7c926e6d
--- /dev/null
+++ b/tests/wpt/tests/css/css-view-transitions/navigation/root-element-transition-iframe-cross-origin.sub.html
@@ -0,0 +1,29 @@
+
+
+View transitions: basic cross-document navigation in a cross-origin iframe
+
+
+
+
+
+
+
+
+
+
diff --git a/tests/wpt/tests/css/css-view-transitions/navigation/root-element-transition-iframe-ref.html b/tests/wpt/tests/css/css-view-transitions/navigation/root-element-transition-iframe-ref.html
new file mode 100644
index 00000000000..576689af320
--- /dev/null
+++ b/tests/wpt/tests/css/css-view-transitions/navigation/root-element-transition-iframe-ref.html
@@ -0,0 +1,8 @@
+
+
+View transitions: basic cross-document navigation
+
+
+
+
+
diff --git a/tests/wpt/tests/css/css-view-transitions/navigation/root-element-transition-iframe-with-startVT-on-main-ref.html b/tests/wpt/tests/css/css-view-transitions/navigation/root-element-transition-iframe-with-startVT-on-main-ref.html
new file mode 100644
index 00000000000..f350545c7f7
--- /dev/null
+++ b/tests/wpt/tests/css/css-view-transitions/navigation/root-element-transition-iframe-with-startVT-on-main-ref.html
@@ -0,0 +1,15 @@
+
+
+View transitions: basic cross-document navigation in an iframe while the main frame has a same-document transition (ref)
+
+
+
+
+
diff --git a/tests/wpt/tests/css/css-view-transitions/navigation/root-element-transition-iframe-with-startVT-on-main.html b/tests/wpt/tests/css/css-view-transitions/navigation/root-element-transition-iframe-with-startVT-on-main.html
new file mode 100644
index 00000000000..b7ef426121c
--- /dev/null
+++ b/tests/wpt/tests/css/css-view-transitions/navigation/root-element-transition-iframe-with-startVT-on-main.html
@@ -0,0 +1,54 @@
+
+
+View transitions: basic cross-document navigation in an iframe while the main frame has a same-document transition
+
+
+
+
+
+
+
+
+
+
+
diff --git a/tests/wpt/tests/css/css-view-transitions/navigation/root-element-transition-iframe.html b/tests/wpt/tests/css/css-view-transitions/navigation/root-element-transition-iframe.html
new file mode 100644
index 00000000000..a320d92c698
--- /dev/null
+++ b/tests/wpt/tests/css/css-view-transitions/navigation/root-element-transition-iframe.html
@@ -0,0 +1,24 @@
+
+
+View transitions: basic cross-document navigation in an iframe
+
+
+
+
+
+
+
+
+
diff --git a/tests/wpt/tests/css/css-view-transitions/navigation/root-element-transition-no-opt-in-on-new.html b/tests/wpt/tests/css/css-view-transitions/navigation/root-element-transition-no-opt-in-on-new.html
new file mode 100644
index 00000000000..5cec74aac2d
--- /dev/null
+++ b/tests/wpt/tests/css/css-view-transitions/navigation/root-element-transition-no-opt-in-on-new.html
@@ -0,0 +1,29 @@
+
+
+View transitions: basic cross-document navigation
+
+
+
+
+
+
+
+
diff --git a/tests/wpt/tests/css/css-view-transitions/navigation/root-element-transition-no-opt-in-on-old.html b/tests/wpt/tests/css/css-view-transitions/navigation/root-element-transition-no-opt-in-on-old.html
new file mode 100644
index 00000000000..9d834ffd6a1
--- /dev/null
+++ b/tests/wpt/tests/css/css-view-transitions/navigation/root-element-transition-no-opt-in-on-old.html
@@ -0,0 +1,28 @@
+
+
+View transitions: basic cross-document navigation
+
+
+
+
+
+
+
+
diff --git a/tests/wpt/tests/css/css-view-transitions/navigation/root-element-transition-no-opt-in-ref.html b/tests/wpt/tests/css/css-view-transitions/navigation/root-element-transition-no-opt-in-ref.html
new file mode 100644
index 00000000000..d38b8aa4cd7
--- /dev/null
+++ b/tests/wpt/tests/css/css-view-transitions/navigation/root-element-transition-no-opt-in-ref.html
@@ -0,0 +1,17 @@
+
+View transitions: basic cross-document navigation (ref)
+
+
+
+
diff --git a/tests/wpt/tests/css/css-view-transitions/navigation/root-element-transition-opt-in-removed-on-new.html b/tests/wpt/tests/css/css-view-transitions/navigation/root-element-transition-opt-in-removed-on-new.html
new file mode 100644
index 00000000000..46daf95e5e4
--- /dev/null
+++ b/tests/wpt/tests/css/css-view-transitions/navigation/root-element-transition-opt-in-removed-on-new.html
@@ -0,0 +1,32 @@
+
+
+View transitions: basic cross-document navigation
+
+
+
+
+
+
+
+
+
diff --git a/tests/wpt/tests/css/css-view-transitions/navigation/root-element-transition-opt-in-removed-on-old.html b/tests/wpt/tests/css/css-view-transitions/navigation/root-element-transition-opt-in-removed-on-old.html
new file mode 100644
index 00000000000..5fab64a3067
--- /dev/null
+++ b/tests/wpt/tests/css/css-view-transitions/navigation/root-element-transition-opt-in-removed-on-old.html
@@ -0,0 +1,32 @@
+
+
+View transitions: basic cross-document navigation opt-in removed
+
+
+
+
+
+
+
+
+
diff --git a/tests/wpt/tests/css/css-view-transitions/navigation/root-element-transition-ref.html b/tests/wpt/tests/css/css-view-transitions/navigation/root-element-transition-ref.html
new file mode 100644
index 00000000000..65f14843d9c
--- /dev/null
+++ b/tests/wpt/tests/css/css-view-transitions/navigation/root-element-transition-ref.html
@@ -0,0 +1,24 @@
+
+View transitions: basic cross-document navigation (ref)
+
+
+
+
+
diff --git a/tests/wpt/tests/css/css-view-transitions/navigation/root-element-transition.html b/tests/wpt/tests/css/css-view-transitions/navigation/root-element-transition.html
new file mode 100644
index 00000000000..fb293b83994
--- /dev/null
+++ b/tests/wpt/tests/css/css-view-transitions/navigation/root-element-transition.html
@@ -0,0 +1,29 @@
+
+
+View transitions: basic cross-document navigation
+
+
+
+
+
+
+
+
diff --git a/tests/wpt/tests/css/css-view-transitions/navigation/skip-outbound-vt-before-reveal.html b/tests/wpt/tests/css/css-view-transitions/navigation/skip-outbound-vt-before-reveal.html
new file mode 100644
index 00000000000..2fcac44d249
--- /dev/null
+++ b/tests/wpt/tests/css/css-view-transitions/navigation/skip-outbound-vt-before-reveal.html
@@ -0,0 +1,26 @@
+
+
+View transitions: outbound cross-document transition before reveal
+
+
+
+
+
+
+
+
diff --git a/tests/wpt/tests/css/css-view-transitions/navigation/transition-to-prerender-manual.html b/tests/wpt/tests/css/css-view-transitions/navigation/transition-to-prerender-manual.html
new file mode 100644
index 00000000000..7465065c5da
--- /dev/null
+++ b/tests/wpt/tests/css/css-view-transitions/navigation/transition-to-prerender-manual.html
@@ -0,0 +1,52 @@
+
+
+View transitions: prerender navigation
+
+
+
+
+
+
+
+
+
+
diff --git a/tests/wpt/tests/css/css-view-transitions/navigation/transition-to-prerender-ref.html b/tests/wpt/tests/css/css-view-transitions/navigation/transition-to-prerender-ref.html
new file mode 100644
index 00000000000..7df899fdca1
--- /dev/null
+++ b/tests/wpt/tests/css/css-view-transitions/navigation/transition-to-prerender-ref.html
@@ -0,0 +1,27 @@
+
+View transitions: basic cross-document navigation to a prerender (ref)
+
+
+
diff --git a/tests/wpt/tests/css/css-view-transitions/navigation/transition-to-prerender.html b/tests/wpt/tests/css/css-view-transitions/navigation/transition-to-prerender.html
new file mode 100644
index 00000000000..bdc66708970
--- /dev/null
+++ b/tests/wpt/tests/css/css-view-transitions/navigation/transition-to-prerender.html
@@ -0,0 +1,90 @@
+
+
+View transitions: basic cross-document navigation to a prerender
+
+
+
+
+
+
+
+
+
+
diff --git a/tests/wpt/tests/css/css-view-transitions/navigation/with-types/at-rule-opt-in-auto-with-types-mutable.html b/tests/wpt/tests/css/css-view-transitions/navigation/with-types/at-rule-opt-in-auto-with-types-mutable.html
new file mode 100644
index 00000000000..307e8a8b747
--- /dev/null
+++ b/tests/wpt/tests/css/css-view-transitions/navigation/with-types/at-rule-opt-in-auto-with-types-mutable.html
@@ -0,0 +1,31 @@
+
+
+View Transitions: @view-transition opt in with types, can mutate types in JS
+
+
+
+
+
+
+
diff --git a/tests/wpt/tests/css/css-view-transitions/navigation/with-types/at-rule-opt-in-auto-with-types-no-cascade.html b/tests/wpt/tests/css/css-view-transitions/navigation/with-types/at-rule-opt-in-auto-with-types-no-cascade.html
new file mode 100644
index 00000000000..5fec29db89c
--- /dev/null
+++ b/tests/wpt/tests/css/css-view-transitions/navigation/with-types/at-rule-opt-in-auto-with-types-no-cascade.html
@@ -0,0 +1,33 @@
+
+
+View Transitions: @view-transition types don't cascade
+
+
+
+
+
+
+
diff --git a/tests/wpt/tests/css/css-view-transitions/navigation/with-types/at-rule-opt-in-auto-with-types.html b/tests/wpt/tests/css/css-view-transitions/navigation/with-types/at-rule-opt-in-auto-with-types.html
new file mode 100644
index 00000000000..87503d9f1e3
--- /dev/null
+++ b/tests/wpt/tests/css/css-view-transitions/navigation/with-types/at-rule-opt-in-auto-with-types.html
@@ -0,0 +1,25 @@
+
+
+View Transitions: @view-transition opt in with types
+
+
+
+
+
+
+
diff --git a/tests/wpt/tests/css/css-view-transitions/navigation/with-types/at-rule-with-types-parsing.html b/tests/wpt/tests/css/css-view-transitions/navigation/with-types/at-rule-with-types-parsing.html
new file mode 100644
index 00000000000..431a0ec9f4d
--- /dev/null
+++ b/tests/wpt/tests/css/css-view-transitions/navigation/with-types/at-rule-with-types-parsing.html
@@ -0,0 +1,34 @@
+
+
+View transitions: parsing @view-transition rule with types
+
+
+
+
+
+
+
+
diff --git a/tests/wpt/tests/css/css-view-transitions/navigation/with-types/navigation-supersedes-types-when-after.html b/tests/wpt/tests/css/css-view-transitions/navigation/with-types/navigation-supersedes-types-when-after.html
new file mode 100644
index 00000000000..1fd28d97a6e
--- /dev/null
+++ b/tests/wpt/tests/css/css-view-transitions/navigation/with-types/navigation-supersedes-types-when-after.html
@@ -0,0 +1,35 @@
+
+View transitions: types are superseded by navigation:none
+
+
+
+
+
diff --git a/tests/wpt/tests/css/css-view-transitions/navigation/with-types/types-in-pagereveal-and-pageswap.html b/tests/wpt/tests/css/css-view-transitions/navigation/with-types/types-in-pagereveal-and-pageswap.html
new file mode 100644
index 00000000000..2c12fece3c0
--- /dev/null
+++ b/tests/wpt/tests/css/css-view-transitions/navigation/with-types/types-in-pagereveal-and-pageswap.html
@@ -0,0 +1,37 @@
+
+View transitions: types from rule are reflected in pagereveal and pageswap
+
+
+
+
+
diff --git a/tests/wpt/tests/css/css-view-transitions/navigation/zero-named-elements.html b/tests/wpt/tests/css/css-view-transitions/navigation/zero-named-elements.html
new file mode 100644
index 00000000000..e6061de2a8b
--- /dev/null
+++ b/tests/wpt/tests/css/css-view-transitions/navigation/zero-named-elements.html
@@ -0,0 +1,73 @@
+
+View transitions: pageswap navigationactivation for replace navigations
+
+
+
+
+
+
diff --git a/tests/wpt/tests/css/css-view-transitions/view-transition-types-match-early-mutation.html b/tests/wpt/tests/css/css-view-transitions/view-transition-types-match-early-mutation.html
new file mode 100644
index 00000000000..24737d9050e
--- /dev/null
+++ b/tests/wpt/tests/css/css-view-transitions/view-transition-types-match-early-mutation.html
@@ -0,0 +1,57 @@
+
+
+View transitions: active-view-transition-type activates early when set immediately view token list
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/tests/wpt/tests/css/css-view-transitions/view-transition-types-match-early.html b/tests/wpt/tests/css/css-view-transitions/view-transition-types-match-early.html
new file mode 100644
index 00000000000..b62e8a71679
--- /dev/null
+++ b/tests/wpt/tests/css/css-view-transitions/view-transition-types-match-early.html
@@ -0,0 +1,56 @@
+
+
+View transitions: active-view-transition-type activates early (before tag discovery)
+
+
+
+
+
+
+
+
+
+
+
diff --git a/tests/wpt/tests/css/css-view-transitions/view-transition-types-match-late-mutation.html b/tests/wpt/tests/css/css-view-transitions/view-transition-types-match-late-mutation.html
new file mode 100644
index 00000000000..dbceba111ee
--- /dev/null
+++ b/tests/wpt/tests/css/css-view-transitions/view-transition-types-match-late-mutation.html
@@ -0,0 +1,61 @@
+
+
+View transitions: active-view-transition-type activates when set on ready promise
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/tests/wpt/tests/css/css-view-transitions/view-transition-types-matches-ref.html b/tests/wpt/tests/css/css-view-transitions/view-transition-types-matches-ref.html
new file mode 100644
index 00000000000..80b1c6a1000
--- /dev/null
+++ b/tests/wpt/tests/css/css-view-transitions/view-transition-types-matches-ref.html
@@ -0,0 +1,36 @@
+
+View transitions: active-view-transition various matches (ref)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/tests/wpt/tests/css/css-view-transitions/view-transition-types-matches.html b/tests/wpt/tests/css/css-view-transitions/view-transition-types-matches.html
new file mode 100644
index 00000000000..ef15d97fb99
--- /dev/null
+++ b/tests/wpt/tests/css/css-view-transitions/view-transition-types-matches.html
@@ -0,0 +1,113 @@
+
+
+View transitions: active-view-transition various matches
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/tests/wpt/tests/css/css-view-transitions/view-transition-types-mutable-no-document-element-crashtest.html b/tests/wpt/tests/css/css-view-transitions/view-transition-types-mutable-no-document-element-crashtest.html
new file mode 100644
index 00000000000..f1940c39869
--- /dev/null
+++ b/tests/wpt/tests/css/css-view-transitions/view-transition-types-mutable-no-document-element-crashtest.html
@@ -0,0 +1,18 @@
+
+ViewTransitionTypeSet should not crash when documentElement is null
+
+
+
+
+
+
diff --git a/tests/wpt/tests/css/css-view-transitions/view-transition-types-mutable.html b/tests/wpt/tests/css/css-view-transitions/view-transition-types-mutable.html
new file mode 100644
index 00000000000..86c77d615ab
--- /dev/null
+++ b/tests/wpt/tests/css/css-view-transitions/view-transition-types-mutable.html
@@ -0,0 +1,43 @@
+
+View behavior of ViewTransitionTypeSet
+
+
+
+
+
+
diff --git a/tests/wpt/tests/css/css-view-transitions/view-transition-types-one-green-square-ref.html b/tests/wpt/tests/css/css-view-transitions/view-transition-types-one-green-square-ref.html
new file mode 100644
index 00000000000..4e66b92bc49
--- /dev/null
+++ b/tests/wpt/tests/css/css-view-transitions/view-transition-types-one-green-square-ref.html
@@ -0,0 +1,17 @@
+
+View transitions: reference that has one green square
+
+
+
+
+
+
diff --git a/tests/wpt/tests/css/css-view-transitions/view-transition-types-removed.html b/tests/wpt/tests/css/css-view-transitions/view-transition-types-removed.html
new file mode 100644
index 00000000000..fe458efafd3
--- /dev/null
+++ b/tests/wpt/tests/css/css-view-transitions/view-transition-types-removed.html
@@ -0,0 +1,43 @@
+
+
+View transitions: active-view-transition-type no longer matches after transition
+
+
+
+
+
+
+
+
+
+
+
diff --git a/tests/wpt/tests/css/css-view-transitions/view-transition-types-reserved-mutation.html b/tests/wpt/tests/css/css-view-transitions/view-transition-types-reserved-mutation.html
new file mode 100644
index 00000000000..ba8b5e1e3c8
--- /dev/null
+++ b/tests/wpt/tests/css/css-view-transitions/view-transition-types-reserved-mutation.html
@@ -0,0 +1,94 @@
+
+
+View transitions: active-view-transition-type reserved keywords
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/tests/wpt/tests/css/css-view-transitions/view-transition-types-reserved-ref.html b/tests/wpt/tests/css/css-view-transitions/view-transition-types-reserved-ref.html
new file mode 100644
index 00000000000..9195d081147
--- /dev/null
+++ b/tests/wpt/tests/css/css-view-transitions/view-transition-types-reserved-ref.html
@@ -0,0 +1,24 @@
+
+View transitions: active-view-transition-type reserved keywords (ref)
+
+
+
+
+
diff --git a/tests/wpt/tests/css/css-view-transitions/view-transition-types-reserved.html b/tests/wpt/tests/css/css-view-transitions/view-transition-types-reserved.html
new file mode 100644
index 00000000000..1dca3774aa4
--- /dev/null
+++ b/tests/wpt/tests/css/css-view-transitions/view-transition-types-reserved.html
@@ -0,0 +1,69 @@
+
+
+View transitions: active-view-transition-type reserved keywords
+
+
+
+
+
+
+
+
+
+
+
diff --git a/tests/wpt/tests/css/css-view-transitions/view-transition-types-stay.html b/tests/wpt/tests/css/css-view-transitions/view-transition-types-stay.html
new file mode 100644
index 00000000000..dc738e6912c
--- /dev/null
+++ b/tests/wpt/tests/css/css-view-transitions/view-transition-types-stay.html
@@ -0,0 +1,58 @@
+
+
+View transitions: active-view-transition-type stays active into animation
+
+
+
+
+
+
+
+
+
+
+
diff --git a/tests/wpt/tests/css/css-view-transitions/view-transition-types-universal-match.html b/tests/wpt/tests/css/css-view-transitions/view-transition-types-universal-match.html
new file mode 100644
index 00000000000..534c144ecf0
--- /dev/null
+++ b/tests/wpt/tests/css/css-view-transitions/view-transition-types-universal-match.html
@@ -0,0 +1,54 @@
+
+
+View transitions: active-view-transition matches callback syntax
+
+
+
+
+
+
+
+
+
+
+
diff --git a/tests/wpt/tests/css/cssom/CSSStyleSheet-constructable-baseURL.tentative.html b/tests/wpt/tests/css/cssom/CSSStyleSheet-constructable-baseURL.html
similarity index 95%
rename from tests/wpt/tests/css/cssom/CSSStyleSheet-constructable-baseURL.tentative.html
rename to tests/wpt/tests/css/cssom/CSSStyleSheet-constructable-baseURL.html
index 8997a59e9c1..d0f0f828b03 100644
--- a/tests/wpt/tests/css/cssom/CSSStyleSheet-constructable-baseURL.tentative.html
+++ b/tests/wpt/tests/css/cssom/CSSStyleSheet-constructable-baseURL.html
@@ -1,7 +1,7 @@
CSSStyleSheet baseURL
-
+
diff --git a/tests/wpt/tests/css/motion/WEB_FEATURES.yml b/tests/wpt/tests/css/motion/WEB_FEATURES.yml
new file mode 100644
index 00000000000..0a436801cb7
--- /dev/null
+++ b/tests/wpt/tests/css/motion/WEB_FEATURES.yml
@@ -0,0 +1,3 @@
+features:
+- name: motion-path
+ files: "**"
diff --git a/tests/wpt/tests/custom-elements/form-associated/WEB_FEATURES.yml b/tests/wpt/tests/custom-elements/form-associated/WEB_FEATURES.yml
new file mode 100644
index 00000000000..e40f6e12ae4
--- /dev/null
+++ b/tests/wpt/tests/custom-elements/form-associated/WEB_FEATURES.yml
@@ -0,0 +1,3 @@
+features:
+- name: form-associated-custom-elements
+ files: "**"
diff --git a/tests/wpt/tests/custom-elements/scoped-registry/ShadowRoot-innerHTML-upgrade.tentative.html b/tests/wpt/tests/custom-elements/scoped-registry/ShadowRoot-innerHTML-upgrade.tentative.html
index e21c9dd0332..11cecb1533b 100644
--- a/tests/wpt/tests/custom-elements/scoped-registry/ShadowRoot-innerHTML-upgrade.tentative.html
+++ b/tests/wpt/tests/custom-elements/scoped-registry/ShadowRoot-innerHTML-upgrade.tentative.html
@@ -9,6 +9,9 @@
diff --git a/tests/wpt/tests/direct-sockets/META.yml b/tests/wpt/tests/direct-sockets/META.yml
index 85c05e8c834..ace03410a23 100644
--- a/tests/wpt/tests/direct-sockets/META.yml
+++ b/tests/wpt/tests/direct-sockets/META.yml
@@ -1,5 +1,3 @@
spec: https://github.com/WICG/direct-sockets/blob/main/docs/explainer.md
suggested_reviewers:
- - ewilligers
- - mgiuca
- - phoglenix
+ - greengrape
diff --git a/tests/wpt/tests/direct-sockets/disabled-by-permissions-policy.https.sub.html b/tests/wpt/tests/direct-sockets/disabled-by-permissions-policy.https.sub.html
index f2f6e50be0f..cc2f58b76a6 100644
--- a/tests/wpt/tests/direct-sockets/disabled-by-permissions-policy.https.sub.html
+++ b/tests/wpt/tests/direct-sockets/disabled-by-permissions-policy.https.sub.html
@@ -1,14 +1,26 @@
-
-
-
- Sockets test: Can be disabled by permissions policy
-
-
-
-
-
-
-
-
-
+
+
+
diff --git a/tests/wpt/tests/direct-sockets/disabled-by-permissions-policy.https.sub.html.headers b/tests/wpt/tests/direct-sockets/disabled-by-permissions-policy.https.sub.html.headers
index ba6f09f55b3..661a357effc 100644
--- a/tests/wpt/tests/direct-sockets/disabled-by-permissions-policy.https.sub.html.headers
+++ b/tests/wpt/tests/direct-sockets/disabled-by-permissions-policy.https.sub.html.headers
@@ -1,3 +1,3 @@
Cross-Origin-Opener-Policy: same-origin
Cross-Origin-Embedder-Policy: require-corp
-Permissions-Policy: direct-sockets=()
\ No newline at end of file
+Permissions-Policy: direct-sockets=()
diff --git a/tests/wpt/tests/direct-sockets/disabled-by-permissions-policy.js b/tests/wpt/tests/direct-sockets/disabled-by-permissions-policy.js
deleted file mode 100644
index a27d1ddf497..00000000000
--- a/tests/wpt/tests/direct-sockets/disabled-by-permissions-policy.js
+++ /dev/null
@@ -1,8 +0,0 @@
-'use strict';
-
-test(() => {
- assert_throws_dom("NotAllowedError", () => new TCPSocket("address.com", 53), "constructor should throw");
-}, "tcp disabled by permissions-policy");
-test(() => {
- assert_throws_dom("NotAllowedError", () => new UDPSocket({ remoteAddress: "address.com", remotePort: 53 }), "constructor should throw");
-}, "udp disabled by permissions-policy");
diff --git a/tests/wpt/tests/direct-sockets/open-securecontext.http.html b/tests/wpt/tests/direct-sockets/open-securecontext.http.html
deleted file mode 100644
index c3a2a42a25b..00000000000
--- a/tests/wpt/tests/direct-sockets/open-securecontext.http.html
+++ /dev/null
@@ -1,21 +0,0 @@
-
-
-
-
- Sockets test: Open from non-secure context
-
-
-
-
-
-
-
-
diff --git a/tests/wpt/tests/direct-sockets/tcp_socket.https.html b/tests/wpt/tests/direct-sockets/tcp_socket.https.html
new file mode 100644
index 00000000000..10d21ce42b9
--- /dev/null
+++ b/tests/wpt/tests/direct-sockets/tcp_socket.https.html
@@ -0,0 +1,68 @@
+
+
+
+
+
diff --git a/tests/wpt/tests/direct-sockets/tcp_socket.https.html.headers b/tests/wpt/tests/direct-sockets/tcp_socket.https.html.headers
new file mode 100644
index 00000000000..177feb102db
--- /dev/null
+++ b/tests/wpt/tests/direct-sockets/tcp_socket.https.html.headers
@@ -0,0 +1,3 @@
+Cross-Origin-Opener-Policy: same-origin
+Cross-Origin-Embedder-Policy: require-corp
+Permissions-Policy: direct-sockets=(self)
diff --git a/tests/wpt/tests/direct-sockets/udp_socket.https.html b/tests/wpt/tests/direct-sockets/udp_socket.https.html
new file mode 100644
index 00000000000..c95d41e2bde
--- /dev/null
+++ b/tests/wpt/tests/direct-sockets/udp_socket.https.html
@@ -0,0 +1,95 @@
+
+
+
+
+
diff --git a/tests/wpt/tests/direct-sockets/udp_socket.https.html.headers b/tests/wpt/tests/direct-sockets/udp_socket.https.html.headers
new file mode 100644
index 00000000000..177feb102db
--- /dev/null
+++ b/tests/wpt/tests/direct-sockets/udp_socket.https.html.headers
@@ -0,0 +1,3 @@
+Cross-Origin-Opener-Policy: same-origin
+Cross-Origin-Embedder-Policy: require-corp
+Permissions-Policy: direct-sockets=(self)
diff --git a/tests/wpt/tests/eventsource/eventsource-request-cancellation.any.window.js b/tests/wpt/tests/eventsource/eventsource-request-cancellation.window.js
similarity index 100%
rename from tests/wpt/tests/eventsource/eventsource-request-cancellation.any.window.js
rename to tests/wpt/tests/eventsource/eventsource-request-cancellation.window.js
diff --git a/tests/wpt/tests/fetch/api/response/response-arraybuffer-realm.window.js b/tests/wpt/tests/fetch/api/response/response-arraybuffer-realm.window.js
new file mode 100644
index 00000000000..19a5dfa5ff6
--- /dev/null
+++ b/tests/wpt/tests/fetch/api/response/response-arraybuffer-realm.window.js
@@ -0,0 +1,23 @@
+// META: title=realm of Response arrayBuffer()
+
+'use strict';
+
+promise_test(async () => {
+ await new Promise(resolve => {
+ onload = resolve;
+ });
+
+ let iframe = document.createElement('iframe');
+ document.body.appendChild(iframe);
+ iframe.srcdoc = '';
+ await new Promise(resolve => {
+ iframe.onload = resolve;
+ });
+
+ let otherRealm = iframe.contentWindow;
+
+ let ab = await window.Response.prototype.arrayBuffer.call(new otherRealm.Response(''));
+
+ assert_true(ab instanceof otherRealm.ArrayBuffer, "ArrayBuffer should be created in receiver's realm");
+ assert_false(ab instanceof ArrayBuffer, "ArrayBuffer should not be created in the arrayBuffer() methods's realm");
+}, 'realm of the ArrayBuffer from Response arrayBuffer()');
diff --git a/tests/wpt/tests/fetch/fetch-later/send-on-deactivate-with-background-sync.tentative.https.window.js b/tests/wpt/tests/fetch/fetch-later/send-on-deactivate-with-background-sync.tentative.https.window.js
new file mode 100644
index 00000000000..881bdd23f93
--- /dev/null
+++ b/tests/wpt/tests/fetch/fetch-later/send-on-deactivate-with-background-sync.tentative.https.window.js
@@ -0,0 +1,128 @@
+// META: script=/resources/testdriver.js
+// META: script=/resources/testdriver-vendor.js
+// META: script=/common/dispatcher/dispatcher.js
+// META: script=/common/get-host-info.sub.js
+// META: script=/common/utils.js
+// META: script=/html/browsers/browsing-the-web/remote-context-helper/resources/remote-context-helper.js
+// META: script=/html/browsers/browsing-the-web/back-forward-cache/resources/rc-helper.js
+// META: script=/fetch/fetch-later/resources/fetch-later-helper.js
+// META: timeout=long
+
+'use strict';
+
+async function setBackgroundSyncEnabled(enabled) {
+ const status = enabled ? 'granted' : 'denied';
+ await test_driver.set_permission({name: 'background-sync'}, status);
+}
+
+parallelPromiseTest(async t => {
+ // Enables BackgroundSync permission such that deferred request won't be
+ // immediately sent out on entering BFCache.
+ await setBackgroundSyncEnabled(true);
+
+ const uuid = token();
+ const url = generateSetBeaconURL(uuid);
+ // Sets no option to test the default behavior when a document enters BFCache.
+ const helper = new RemoteContextHelper();
+ // Opens a window with noopener so that BFCache will work.
+ const rc1 = await helper.addWindow(
+ /*config=*/ null, /*options=*/ {features: 'noopener'});
+
+ // Creates a fetchLater request with default config in remote, which should
+ // only be sent on page discarded (not on entering BFCache).
+ await rc1.executeScript(url => {
+ fetchLater(url);
+ // Add a pageshow listener to stash the BFCache event.
+ window.addEventListener('pageshow', e => {
+ window.pageshowEvent = e;
+ });
+ }, [url]);
+ // Navigates away to let page enter BFCache.
+ const rc2 = await rc1.navigateToNew();
+ // Navigates back.
+ await rc2.historyBack();
+ // Verifies the page was BFCached.
+ assert_true(await rc1.executeScript(() => {
+ return window.pageshowEvent.persisted;
+ }));
+
+ // By default, pending requests are all flushed on BFCache no matter
+ // BackgroundSync is on or not. See http://b/310541607#comment28.
+ await expectBeacon(uuid, {count: 1});
+}, `fetchLater() does send on page entering BFCache even if BackgroundSync is on.`);
+
+parallelPromiseTest(async t => {
+ // Enables BackgroundSync permission such that deferred request won't be
+ // immediately sent out on entering BFCache.
+ await setBackgroundSyncEnabled(true);
+
+ const uuid = token();
+ const url = generateSetBeaconURL(uuid);
+ // activateAfter = 0s means the request should be sent out right on
+ // document becoming deactivated (BFCached or frozen) after navigating away.
+ const options = {activateAfter: 0};
+ const helper = new RemoteContextHelper();
+ // Opens a window with noopener so that BFCache will work.
+ const rc1 = await helper.addWindow(
+ /*config=*/ null, /*options=*/ {features: 'noopener'});
+
+ // Creates a fetchLater request in remote which should only be sent on
+ // navigating away.
+ await rc1.executeScript((url, options) => {
+ fetchLater(url, options);
+
+ // Add a pageshow listener to stash the BFCache event.
+ window.addEventListener('pageshow', e => {
+ window.pageshowEvent = e;
+ });
+ }, [url, options]);
+ // Navigates away to trigger request sending.
+ const rc2 = await rc1.navigateToNew();
+ // Navigates back.
+ await rc2.historyBack();
+ // Verifies the page was BFCached.
+ assert_true(await rc1.executeScript(() => {
+ return window.pageshowEvent.persisted;
+ }));
+
+ await expectBeacon(uuid, {count: 1});
+}, `fetchLater() with activateAfter=0 sends on page entering BFCache if BackgroundSync is on.`);
+
+parallelPromiseTest(async t => {
+ // Enables BackgroundSync permission such that deferred request won't be
+ // immediately sent out on entering BFCache.
+ await setBackgroundSyncEnabled(true);
+
+ const uuid = token();
+ const url = generateSetBeaconURL(uuid);
+ // activateAfter = 1m means the request should NOT be sent out on
+ // document becoming deactivated (BFCached or frozen) until after 1 minute.
+ const options = {activateAfter: 60000};
+ const helper = new RemoteContextHelper();
+ // Opens a window with noopener so that BFCache will work.
+ const rc1 = await helper.addWindow(
+ /*config=*/ null, /*options=*/ {features: 'noopener'});
+
+ // Creates a fetchLater request in remote which should only be sent on
+ // navigating away.
+ await rc1.executeScript((url, options) => {
+ fetchLater(url, options);
+
+ // Adds a pageshow listener to stash the BFCache event.
+ window.addEventListener('pageshow', e => {
+ window.pageshowEvent = e;
+ });
+ }, [url, options]);
+ // Navigates away to trigger request sending.
+ const rc2 = await rc1.navigateToNew();
+ // Navigates back.
+ await rc2.historyBack();
+ // Verifies the page was BFCached.
+ assert_true(await rc1.executeScript(() => {
+ return window.pageshowEvent.persisted;
+ }));
+
+ // By default, pending requests are all flushed on BFCache no matter
+ // BackgroundSync is on or not. See http://b/310541607#comment28.
+ await expectBeacon(uuid, {count: 1});
+}, `fetchLater() with activateAfter=1m does send on page entering BFCache even if BackgroundSync is on.`);
diff --git a/tests/wpt/tests/fetch/h1-parsing/resources-with-0x00-in-header.window.js b/tests/wpt/tests/fetch/h1-parsing/resources-with-0x00-in-header.window.js
index 37a61c12b56..b617911105a 100644
--- a/tests/wpt/tests/fetch/h1-parsing/resources-with-0x00-in-header.window.js
+++ b/tests/wpt/tests/fetch/h1-parsing/resources-with-0x00-in-header.window.js
@@ -1,3 +1,5 @@
+// META: script=/common/get-host-info.sub.js
+
async_test(t => {
const script = document.createElement("script");
t.add_cleanup(() => script.remove());
@@ -29,3 +31,7 @@ async_test(t => {
img.onload = t.unreached_func();
document.body.append(img);
}, "Expect network error for image with 0x00 in a header");
+
+promise_test(async t => {
+ return promise_rejects_js(t, TypeError, fetch(get_host_info().HTTP_REMOTE_ORIGIN + "/fetch/h1-parsing/resources/blue-with-0x00-in-a-header.asis", {mode:"no-cors"}));
+}, "Expect network error for fetch with 0x00 in a header");
diff --git a/tests/wpt/tests/fetch/metadata/WEB_FEATURES.yml b/tests/wpt/tests/fetch/metadata/WEB_FEATURES.yml
new file mode 100644
index 00000000000..fb48eaa3112
--- /dev/null
+++ b/tests/wpt/tests/fetch/metadata/WEB_FEATURES.yml
@@ -0,0 +1,3 @@
+features:
+- name: fetch-metadata
+ files: "**"
diff --git a/tests/wpt/tests/fledge/tentative/auction-config.https.window.js b/tests/wpt/tests/fledge/tentative/auction-config.https.window.js
index 057b4d7f785..b5f55149164 100644
--- a/tests/wpt/tests/fledge/tentative/auction-config.https.window.js
+++ b/tests/wpt/tests/fledge/tentative/auction-config.https.window.js
@@ -242,9 +242,12 @@ makeTest({
}
});
+// Cross-origin trustedScoringSignalsURL is fine, but it needs extra
+// headers to actually make it work. The auction here doesn't actually
+// care if the signals don't load.
makeTest({
name: 'trustedScoringSignalsURL is cross-origin with seller',
- expect: EXPECT_EXCEPTION(TypeError),
+ expect: EXPECT_WINNER,
auctionConfigOverrides: { trustedScoringSignalsURL: "https://example.com" },
});
diff --git a/tests/wpt/tests/fledge/tentative/network.https.window.js b/tests/wpt/tests/fledge/tentative/network.https.window.js
index fe287767c8d..0b41662155a 100644
--- a/tests/wpt/tests/fledge/tentative/network.https.window.js
+++ b/tests/wpt/tests/fledge/tentative/network.https.window.js
@@ -6,7 +6,8 @@
// META: timeout=long
// META: variant=?1-5
// META: variant=?6-10
-// META: variant=?11-last
+// META: variant=?11-15
+// META: variant=?16-last
"use strict";
@@ -37,22 +38,6 @@ function createRedirectURL(location) {
return url.toString();
}
-// Delete all cookies. Separate function so that can be replaced with
-// something else for testing outside of a WPT environment.
-async function deleteAllCookies() {
- await test_driver.delete_all_cookies();
-}
-
-// Deletes all cookies (to avoid pre-existing cookies causing inconsistent
-// output on failure) and sets a cookie with name "cookie" and a value of
-// "cookie". Adds a cleanup task to delete all cookies again when the test
-// is done.
-async function setCookie(test) {
- await deleteAllCookies();
- document.cookie = 'cookie=cookie; path=/'
- test.add_cleanup(deleteAllCookies);
-}
-
// Assert that "headers" has a single header with "name", whose value is "value".
function assertHasHeader(headers, name, value) {
assert_equals(JSON.stringify(headers[name]), JSON.stringify([value]),
@@ -213,7 +198,7 @@ subsetTest(promise_test, async test => {
}
checkHeader("accept", "application/json");
checkHeader("sec-fetch-dest", "empty");
- checkHeader("sec-fetch-mode", "no-cors");
+ checkHeader("sec-fetch-mode", "cors");
checkHeader("sec-fetch-site", "same-origin");
if (headers.cookie !== undefined)
throw "Unexpected cookie: " + JSON.stringify(headers.cookie);
@@ -224,6 +209,40 @@ subsetTest(promise_test, async test => {
});
}, 'trustedBiddingSignalsURL request headers.');
+subsetTest(promise_test, async test => {
+ const uuid = generateUuid(test);
+ let cookieFrame = await createFrame(test, OTHER_ORIGIN1);
+ await runInFrame(test, cookieFrame, `await setCookie(test_instance)`);
+
+ await joinGroupAndRunBasicFledgeTestExpectingWinner(
+ test,
+ { uuid: uuid,
+ interestGroupOverrides: {
+ trustedBiddingSignalsURL: CROSS_ORIGIN_TRUSTED_BIDDING_SIGNALS_URL,
+ trustedBiddingSignalsKeys: ['headers', 'cors'],
+ biddingLogicURL: createBiddingScriptURL({
+ generateBid:
+ `let headers = crossOriginTrustedBiddingSignals[
+ '${OTHER_ORIGIN1}'].headers;
+ function checkHeader(name, value) {
+ jsonActualValue = JSON.stringify(headers[name]);
+ if (jsonActualValue !== JSON.stringify([value]))
+ throw "Unexpected " + name + ": " + jsonActualValue;
+ }
+ checkHeader("accept", "application/json");
+ checkHeader("sec-fetch-dest", "empty");
+ checkHeader("sec-fetch-mode", "cors");
+ checkHeader("sec-fetch-site", "cross-site");
+ checkHeader("origin", "${window.location.origin}");
+ if (headers.cookie !== undefined)
+ throw "Unexpected cookie: " + JSON.stringify(headers.cookie);
+ if (headers.referer !== undefined)
+ throw "Unexpected referer: " + JSON.stringify(headers.referer);`,
+ })
+ }
+ });
+}, 'cross-origin trustedBiddingSignalsURL request headers.');
+
subsetTest(promise_test, async test => {
const uuid = generateUuid(test);
await deleteAllCookies();
@@ -282,7 +301,7 @@ subsetTest(promise_test, async test => {
}
checkHeader("accept", "application/json");
checkHeader("sec-fetch-dest", "empty");
- checkHeader("sec-fetch-mode", "no-cors");
+ checkHeader("sec-fetch-mode", "cors");
checkHeader("sec-fetch-site", "same-origin");
if (headers.cookie !== undefined)
throw "Unexpected cookie: " + JSON.stringify(headers.cookie);
@@ -293,6 +312,46 @@ subsetTest(promise_test, async test => {
});
}, 'trustedScoringSignalsURL request headers.');
+subsetTest(promise_test, async test => {
+ const uuid = generateUuid(test);
+ let cookieFrame = await createFrame(test, OTHER_ORIGIN1);
+ await runInFrame(test, cookieFrame, `await setCookie(test_instance)`);
+
+ let renderURL = createRenderURL(uuid, /*script=*/null, /*signalsParam=*/'headers,cors');
+
+ await joinGroupAndRunBasicFledgeTestExpectingWinner(
+ test,
+ { uuid: uuid,
+ interestGroupOverrides: {
+ ads: [{ renderURL: renderURL }]
+ },
+ auctionConfigOverrides: {
+ trustedScoringSignalsURL: CROSS_ORIGIN_TRUSTED_SCORING_SIGNALS_URL,
+ decisionLogicURL: createDecisionScriptURL(uuid,
+ {
+ permitCrossOriginTrustedSignals: `"${OTHER_ORIGIN1}"`,
+ scoreAd:
+ `let headers = crossOriginTrustedScoringSignals[
+ '${OTHER_ORIGIN1}'].renderURL["${renderURL}"];
+ function checkHeader(name, value) {
+ jsonActualValue = JSON.stringify(headers[name]);
+ if (jsonActualValue !== JSON.stringify([value]))
+ throw "Unexpected " + name + ": " + jsonActualValue;
+ }
+ checkHeader("accept", "application/json");
+ checkHeader("sec-fetch-dest", "empty");
+ checkHeader("sec-fetch-mode", "cors");
+ checkHeader("sec-fetch-site", "cross-site");
+ checkHeader("origin", "${window.location.origin}");
+ if (headers.cookie !== undefined)
+ throw "Unexpected cookie: " + JSON.stringify(headers.cookie);
+ if (headers.referer !== undefined)
+ throw "Unexpected referer: " + JSON.stringify(headers.referer);`,
+ })
+ }
+ });
+}, 'cross-origin trustedScoringSignalsURL request headers.');
+
subsetTest(promise_test, async test => {
const uuid = generateUuid(test);
await deleteAllCookies();
diff --git a/tests/wpt/tests/fledge/tentative/resources/bidding-logic.sub.py b/tests/wpt/tests/fledge/tentative/resources/bidding-logic.sub.py
index e17f2c2c75d..8c0539d43c8 100644
--- a/tests/wpt/tests/fledge/tentative/resources/bidding-logic.sub.py
+++ b/tests/wpt/tests/fledge/tentative/resources/bidding-logic.sub.py
@@ -58,7 +58,8 @@ def main(request, response):
body += f"""
function generateBid(interestGroup, auctionSignals, perBuyerSignals,
trustedBiddingSignals, browserSignals,
- directFromSellerSignals) {{
+ directFromSellerSignals,
+ crossOriginTrustedBiddingSignals) {{
{{{{GET[generateBid]}}}};
return {{
bid: {bid},
diff --git a/tests/wpt/tests/fledge/tentative/resources/decision-logic.sub.py b/tests/wpt/tests/fledge/tentative/resources/decision-logic.sub.py
index 3a23f981620..545c7e5e4f8 100644
--- a/tests/wpt/tests/fledge/tentative/resources/decision-logic.sub.py
+++ b/tests/wpt/tests/fledge/tentative/resources/decision-logic.sub.py
@@ -35,11 +35,18 @@ def main(request, response):
if error == b"no-body":
return b''
+ permitCrossOriginTrustedSignals = request.GET.get(
+ b"permit-cross-origin-trusted-signals", None)
+ if permitCrossOriginTrustedSignals != None:
+ response.headers.set(b"Ad-Auction-Allow-Trusted-Scoring-Signals-From",
+ permitCrossOriginTrustedSignals)
+
body = (Path(__file__).parent.resolve() / 'worklet-helpers.js').read_text().encode("ASCII")
if error != b"no-scoreAd":
body += b"""
function scoreAd(adMetadata, bid, auctionConfig, trustedScoringSignals,
- browserSignals, directFromSellerSignals) {
+ browserSignals, directFromSellerSignals,
+ crossOriginTrustedScoringSignals) {
// Don't bid on interest group with the wrong uuid. This is to prevent
// left over interest groups from other tests from affecting auction
// results.
diff --git a/tests/wpt/tests/fledge/tentative/resources/fledge-util.sub.js b/tests/wpt/tests/fledge/tentative/resources/fledge-util.sub.js
index a7d0f63830d..148613eef8d 100644
--- a/tests/wpt/tests/fledge/tentative/resources/fledge-util.sub.js
+++ b/tests/wpt/tests/fledge/tentative/resources/fledge-util.sub.js
@@ -26,6 +26,12 @@ const OTHER_ORIGIN5 = 'https://{{hosts[][www]}}:{{ports[https][1]}}';
const OTHER_ORIGIN6 = 'https://{{hosts[alt][www]}}:{{ports[https][0]}}';
const OTHER_ORIGIN7 = 'https://{{hosts[alt][www]}}:{{ports[https][1]}}';
+// Trusted signals hosted on OTHER_ORIGIN1
+const CROSS_ORIGIN_TRUSTED_BIDDING_SIGNALS_URL = OTHER_ORIGIN1 + BASE_PATH +
+ 'resources/trusted-bidding-signals.py';
+const CROSS_ORIGIN_TRUSTED_SCORING_SIGNALS_URL = OTHER_ORIGIN1 + BASE_PATH +
+ 'resources/trusted-scoring-signals.py';
+
// Creates a URL that will be sent to the URL request tracker script.
// `uuid` is used to identify the stash shard to use.
// `dispatch` affects what the tracker script does.
@@ -232,6 +238,10 @@ function createDecisionScriptURL(uuid, params = {}) {
url.searchParams.append('reportResult', params.reportResult);
if (params.error != null)
url.searchParams.append('error', params.error);
+ if (params.permitCrossOriginTrustedSignals != null) {
+ url.searchParams.append('permit-cross-origin-trusted-signals',
+ params.permitCrossOriginTrustedSignals);
+ }
return url.toString();
}
@@ -859,3 +869,19 @@ function createStringBeforeAndAfterReplacements(deprecatedRenderURLReplacements)
}
return { beforeReplacements, afterReplacements };
}
+
+// Delete all cookies. Separate function so that can be replaced with
+// something else for testing outside of a WPT environment.
+async function deleteAllCookies() {
+ await test_driver.delete_all_cookies();
+}
+
+// Deletes all cookies (to avoid pre-existing cookies causing inconsistent
+// output on failure) and sets a cookie with name "cookie" and a value of
+// "cookie". Adds a cleanup task to delete all cookies again when the test
+// is done.
+async function setCookie(test) {
+ await deleteAllCookies();
+ document.cookie = 'cookie=cookie; path=/'
+ test.add_cleanup(deleteAllCookies);
+}
diff --git a/tests/wpt/tests/fledge/tentative/resources/fledge_http_server_util.py b/tests/wpt/tests/fledge/tentative/resources/fledge_http_server_util.py
index 162c93e8b06..92733eedf43 100644
--- a/tests/wpt/tests/fledge/tentative/resources/fledge_http_server_util.py
+++ b/tests/wpt/tests/fledge/tentative/resources/fledge_http_server_util.py
@@ -1,5 +1,6 @@
"""Utility functions shared across multiple endpoints."""
-
+from collections import namedtuple
+from urllib.parse import unquote_plus, urlparse
def headers_to_ascii(headers):
"""Converts a header map with binary values to one with ASCII values.
@@ -65,3 +66,81 @@ def handle_cors_headers_and_preflight(request, response):
response.status = (204, b"No Content")
return True
+
+def decode_trusted_scoring_signals_params(request):
+ """Decodes query parameters to trusted query params handler.
+
+ Args:
+ request: the wptserve Request that was passed to main
+
+ If successful, returns a named tuple TrustedScoringSignalsParams decoding the
+ various expected query fields, as a hostname, plus a field urlLists which is a list of
+ {type: , urls: } pairs, where is
+ one of the two render URL dictionary keys used in the response ("renderURLs" or
+ "adComponentRenderURLs"). May be of length 1 or 2, depending on whether there
+ are any component URLs.
+
+ On failure, throws a ValueError with a message.
+ """
+ TrustedScoringSignalsParams = namedtuple(
+ 'TrustedScoringSignalsParams', ['hostname', 'urlLists'])
+
+ hostname = None
+ renderUrls = None
+ adComponentRenderURLs = None
+ urlLists = []
+
+ # Manually parse query params. Can't use request.GET because it unescapes as well as splitting,
+ # and commas mean very different things from escaped commas.
+ for param in request.url_parts.query.split("&"):
+ pair = param.split("=", 1)
+ if len(pair) != 2:
+ raise ValueError("Bad query parameter: " + param)
+ # Browsers should escape query params consistently.
+ if "%20" in pair[1]:
+ raise ValueError("Query parameter should escape using '+': " + param)
+
+ # Hostname can't be empty. The empty string can be a key or interest group name, though.
+ if pair[0] == "hostname" and hostname == None and len(pair[1]) > 0:
+ hostname = pair[1]
+ continue
+ if pair[0] == "renderUrls" and renderUrls == None:
+ renderUrls = list(map(unquote_plus, pair[1].split(",")))
+ urlLists.append({"type":"renderURLs", "urls":renderUrls})
+ continue
+ if pair[0] == "adComponentRenderUrls" and adComponentRenderURLs == None:
+ adComponentRenderURLs = list(map(unquote_plus, pair[1].split(",")))
+ urlLists.append({"type":"adComponentRenderURLs", "urls":adComponentRenderURLs})
+ continue
+ raise ValueError("Unexpected query parameter: " + param)
+
+ # "hostname" and "renderUrls" are mandatory.
+ if not hostname:
+ raise ValueError("hostname missing")
+ if not renderUrls:
+ raise ValueError("renderUrls missing")
+
+ return TrustedScoringSignalsParams(hostname, urlLists)
+
+def decode_render_url_signals_params(renderUrl):
+ """Decodes signalsParams field encoded inside a renderURL.
+
+ Args: renderUrl to extract signalsParams from.
+
+ Returns an array of fields in signal params string.
+ """
+ signalsParams = None
+ for param in urlparse(renderUrl).query.split("&"):
+ pair = param.split("=", 1)
+ if len(pair) != 2:
+ continue
+ if pair[0] == "signalsParams":
+ if signalsParams != None:
+ raise ValueError("renderUrl has multiple signalsParams: " + renderUrl)
+ signalsParams = pair[1]
+
+ if signalsParams is None:
+ return []
+
+ signalsParams = unquote_plus(signalsParams)
+ return signalsParams.split(",")
diff --git a/tests/wpt/tests/fledge/tentative/resources/request-tracker.py b/tests/wpt/tests/fledge/tentative/resources/request-tracker.py
index 3514741f634..dea8427266f 100644
--- a/tests/wpt/tests/fledge/tentative/resources/request-tracker.py
+++ b/tests/wpt/tests/fledge/tentative/resources/request-tracker.py
@@ -36,6 +36,29 @@ def main(request, response):
dispatch = request.GET.first(b"dispatch", None)
uuid = request.GET.first(b"uuid", None)
+ # If we're used as a trusted scoring signals handler, our params are
+ # smuggled in via renderURLs. We won't have dispatch and uuid provided
+ # directly then.
+ if dispatch is None and uuid is None:
+ try:
+ signals_params = fledge_http_server_util.decode_trusted_scoring_signals_params(request)
+ for urlList in signals_params.urlLists:
+ for renderUrl in urlList["urls"]:
+ try:
+ signalsParams = fledge_http_server_util.decode_render_url_signals_params(renderUrl)
+ except ValueError as ve:
+ return simple_response(request, response, 500,
+ b"InternalError", str(ve))
+ for signalsParam in signalsParams:
+ if signalsParam.startswith("dispatch:"):
+ dispatch = signalsParam.split(':', 1)[1].encode("utf-8")
+ elif signalsParam.startswith("uuid:"):
+ uuid = signalsParam.split(':', 1)[1].encode("utf-8")
+ except ValueError:
+ # It doesn't look like a trusted scoring signals request, so
+ # never mind.
+ pass
+
if not uuid or not dispatch:
return simple_response(request, response, 404, b"Not found",
b"Invalid query parameters")
diff --git a/tests/wpt/tests/fledge/tentative/resources/subordinate-frame.sub.html b/tests/wpt/tests/fledge/tentative/resources/subordinate-frame.sub.html
index f5b1ef99595..ea1f0c44d62 100644
--- a/tests/wpt/tests/fledge/tentative/resources/subordinate-frame.sub.html
+++ b/tests/wpt/tests/fledge/tentative/resources/subordinate-frame.sub.html
@@ -5,6 +5,8 @@
+
+
diff --git a/tests/wpt/tests/fledge/tentative/resources/trusted-bidding-signals.py b/tests/wpt/tests/fledge/tentative/resources/trusted-bidding-signals.py
index 955a7c0bdfa..5a89e3b6025 100644
--- a/tests/wpt/tests/fledge/tentative/resources/trusted-bidding-signals.py
+++ b/tests/wpt/tests/fledge/tentative/resources/trusted-bidding-signals.py
@@ -39,6 +39,13 @@ def main(request, response):
continue
return fail(response, "Unexpected query parameter: " + param)
+ # If trusted signal keys are passed in, and one of them is "cors",
+ # add appropriate Access-Control-* headers to normal requests, and handle
+ # CORS preflights.
+ if keys and "cors" in keys and fledge_http_server_util.handle_cors_headers_and_preflight(
+ request, response):
+ return
+
# "interestGroupNames" and "hostname" are mandatory.
if not hostname:
return fail(response, "hostname missing")
diff --git a/tests/wpt/tests/fledge/tentative/resources/trusted-scoring-signals.py b/tests/wpt/tests/fledge/tentative/resources/trusted-scoring-signals.py
index ce53e762958..934d2e9129d 100644
--- a/tests/wpt/tests/fledge/tentative/resources/trusted-scoring-signals.py
+++ b/tests/wpt/tests/fledge/tentative/resources/trusted-scoring-signals.py
@@ -1,5 +1,4 @@
import json
-from urllib.parse import unquote_plus, urlparse
from fledge.tentative.resources import fledge_http_server_util
@@ -11,44 +10,10 @@ from fledge.tentative.resources import fledge_http_server_util
# each affect either the value associated with the renderUrl, or the
# response as a whole.
def main(request, response):
- hostname = None
- renderUrls = None
- adComponentRenderURLs = None
- # List of {type: , urls: } pairs, where is
- # one of the two render URL dictionary keys used in the response ("renderURLs" or
- # "adComponentRenderURLs"). May be of length 1 or 2, depending on whether there
- # are any component URLs.
- urlLists = []
-
- # Manually parse query params. Can't use request.GET because it unescapes as well as splitting,
- # and commas mean very different things from escaped commas.
- for param in request.url_parts.query.split("&"):
- pair = param.split("=", 1)
- if len(pair) != 2:
- return fail(response, "Bad query parameter: " + param)
- # Browsers should escape query params consistently.
- if "%20" in pair[1]:
- return fail(response, "Query parameter should escape using '+': " + param)
-
- # Hostname can't be empty. The empty string can be a key or interest group name, though.
- if pair[0] == "hostname" and hostname == None and len(pair[1]) > 0:
- hostname = pair[1]
- continue
- if pair[0] == "renderUrls" and renderUrls == None:
- renderUrls = list(map(unquote_plus, pair[1].split(",")))
- urlLists.append({"type":"renderURLs", "urls":renderUrls})
- continue
- if pair[0] == "adComponentRenderUrls" and adComponentRenderURLs == None:
- adComponentRenderURLs = list(map(unquote_plus, pair[1].split(",")))
- urlLists.append({"type":"adComponentRenderURLs", "urls":adComponentRenderURLs})
- continue
- return fail(response, "Unexpected query parameter: " + param)
-
- # "hostname" and "renderUrls" are mandatory.
- if not hostname:
- return fail(response, "hostname missing")
- if not renderUrls:
- return fail(response, "renderUrls missing")
+ try:
+ params = fledge_http_server_util.decode_trusted_scoring_signals_params(request)
+ except ValueError as ve:
+ return fail(response, str(ve))
response.status = (200, b"OK")
@@ -62,73 +27,76 @@ def main(request, response):
contentType = "application/json"
adAuctionAllowed = "true"
dataVersion = None
- for urlList in urlLists:
+ cors = False
+ for urlList in params.urlLists:
for renderUrl in urlList["urls"]:
value = "default value"
addValue = True
- signalsParams = None
- for param in urlparse(renderUrl).query.split("&"):
- pair = param.split("=", 1)
- if len(pair) != 2:
- continue
- if pair[0] == "signalsParams":
- if signalsParams != None:
- return fail(response, "renderUrl has multiple signalsParams: " + renderUrl)
- signalsParams = pair[1]
- if signalsParams != None:
- signalsParams = unquote_plus(signalsParams)
- for signalsParam in signalsParams.split(","):
- if signalsParam == "close-connection":
- # Close connection without writing anything, to simulate a
- # network error. The write call is needed to avoid writing the
- # default headers.
- response.writer.write("")
- response.close_connection = True
- return
- elif signalsParam.startswith("replace-body:"):
- # Replace entire response body. Continue to run through other
- # renderUrls, to allow them to modify request headers.
- body = signalsParam.split(':', 1)[1]
- elif signalsParam.startswith("data-version:"):
- dataVersion = signalsParam.split(':', 1)[1]
- elif signalsParam == "http-error":
- response.status = (404, b"Not found")
- elif signalsParam == "no-content-type":
- contentType = None
- elif signalsParam == "wrong-content-type":
- contentType = 'text/plain'
- elif signalsParam == "bad-ad-auction-allowed":
- adAuctionAllowed = "sometimes"
- elif signalsParam == "ad-auction-not-allowed":
- adAuctionAllowed = "false"
- elif signalsParam == "no-ad-auction-allow":
- adAuctionAllowed = None
- elif signalsParam == "wrong-url":
- renderUrl = "https://wrong-url.test/"
- elif signalsParam == "no-value":
- addValue = False
- elif signalsParam == "null-value":
- value = None
- elif signalsParam == "num-value":
- value = 1
- elif signalsParam == "string-value":
- value = "1"
- elif signalsParam == "array-value":
- value = [1, "foo", None]
- elif signalsParam == "object-value":
- value = {"a":"b", "c":["d"]}
- elif signalsParam == "hostname":
- value = request.GET.first(b"hostname", b"not-found").decode("ASCII")
- elif signalsParam == "headers":
- value = fledge_http_server_util.headers_to_ascii(request.headers)
- elif signalsParam == "url":
- value = request.url
+ try:
+ signalsParams = fledge_http_server_util.decode_render_url_signals_params(renderUrl)
+ except ValueError as ve:
+ return fail(response, str(ve))
+
+ for signalsParam in signalsParams:
+ if signalsParam == "close-connection":
+ # Close connection without writing anything, to simulate a
+ # network error. The write call is needed to avoid writing the
+ # default headers.
+ response.writer.write("")
+ response.close_connection = True
+ return
+ elif signalsParam.startswith("replace-body:"):
+ # Replace entire response body. Continue to run through other
+ # renderUrls, to allow them to modify request headers.
+ body = signalsParam.split(':', 1)[1]
+ elif signalsParam.startswith("data-version:"):
+ dataVersion = signalsParam.split(':', 1)[1]
+ elif signalsParam == "http-error":
+ response.status = (404, b"Not found")
+ elif signalsParam == "no-content-type":
+ contentType = None
+ elif signalsParam == "wrong-content-type":
+ contentType = 'text/plain'
+ elif signalsParam == "bad-ad-auction-allowed":
+ adAuctionAllowed = "sometimes"
+ elif signalsParam == "ad-auction-not-allowed":
+ adAuctionAllowed = "false"
+ elif signalsParam == "no-ad-auction-allow":
+ adAuctionAllowed = None
+ elif signalsParam == "wrong-url":
+ renderUrl = "https://wrong-url.test/"
+ elif signalsParam == "no-value":
+ addValue = False
+ elif signalsParam == "null-value":
+ value = None
+ elif signalsParam == "num-value":
+ value = 1
+ elif signalsParam == "string-value":
+ value = "1"
+ elif signalsParam == "array-value":
+ value = [1, "foo", None]
+ elif signalsParam == "object-value":
+ value = {"a":"b", "c":["d"]}
+ elif signalsParam == "hostname":
+ value = params.hostname
+ elif signalsParam == "headers":
+ value = fledge_http_server_util.headers_to_ascii(request.headers)
+ elif signalsParam == "url":
+ value = request.url
+ elif signalsParam == "cors":
+ cors = True
if addValue:
if urlList["type"] not in responseBody:
responseBody[urlList["type"]] = {}
responseBody[urlList["type"]][renderUrl] = value
+ # If the signalsParam embedded inside a render URL calls for CORS, add
+ # appropriate response headers, and fully handle preflights.
+ if cors and fledge_http_server_util.handle_cors_headers_and_preflight(
+ request, response):
+ return
+
if contentType:
response.headers.set("Content-Type", contentType)
if adAuctionAllowed:
diff --git a/tests/wpt/tests/fledge/tentative/trusted-bidding-signals.https.window.js b/tests/wpt/tests/fledge/tentative/trusted-bidding-signals.https.window.js
index 905abf8381e..205c6895a06 100644
--- a/tests/wpt/tests/fledge/tentative/trusted-bidding-signals.https.window.js
+++ b/tests/wpt/tests/fledge/tentative/trusted-bidding-signals.https.window.js
@@ -328,6 +328,34 @@ subsetTest(promise_test, async test => {
trustedBiddingSignalsURL: TRUSTED_BIDDING_SIGNALS_URL });
}, 'Trusted bidding signals receives hostname field.');
+/////////////////////////////////////////////////////////////////////////////
+// Cross-origin trusted bidding signals tests
+/////////////////////////////////////////////////////////////////////////////
+
+subsetTest(promise_test, async test => {
+ await runTrustedBiddingSignalsTest(
+ test,
+ `trustedBiddingSignals === null &&
+ !('dataVersion' in browserSignals) &&
+ crossOriginTrustedBiddingSignals['${OTHER_ORIGIN1}']['num-value'] === 1 &&
+ browserSignals.crossOriginDataVersion === 4`,
+ { name: 'data-version',
+ trustedBiddingSignalsKeys: ['num-value', 'cors'],
+ trustedBiddingSignalsURL: CROSS_ORIGIN_TRUSTED_BIDDING_SIGNALS_URL });
+}, 'Basic cross-origin trusted bidding signals');
+
+subsetTest(promise_test, async test => {
+ await runTrustedBiddingSignalsTest(
+ test,
+ `trustedBiddingSignals === null &&
+ !('dataVersion' in browserSignals) &&
+ crossOriginTrustedBiddingSignals === null &&
+ !('crossOriginDataVersion' in browserSignals)`,
+ { name: 'data-version',
+ trustedBiddingSignalsKeys: ['num-value'],
+ trustedBiddingSignalsURL: CROSS_ORIGIN_TRUSTED_BIDDING_SIGNALS_URL });
+}, 'Cross-origin trusted bidding signals w/o CORS authorization');
+
/////////////////////////////////////////////////////////////////////////////
// Data-Version tests
/////////////////////////////////////////////////////////////////////////////
diff --git a/tests/wpt/tests/fledge/tentative/trusted-scoring-signals.https.window.js b/tests/wpt/tests/fledge/tentative/trusted-scoring-signals.https.window.js
index 105b09fb3be..46570da3e41 100644
--- a/tests/wpt/tests/fledge/tentative/trusted-scoring-signals.https.window.js
+++ b/tests/wpt/tests/fledge/tentative/trusted-scoring-signals.https.window.js
@@ -12,7 +12,8 @@
// META: variant=?31-35
// META: variant=?36-40
// META: variant=?41-45
-// META: variant=?45-last
+// META: variant=?45-50
+// META: variant=?50-last
"use strict";
@@ -21,25 +22,25 @@
// to worklet scripts, and handling the Data-Version header.
// Helper for trusted scoring signals tests. Runs an auction with
-// TRUSTED_SCORING_SIGNALS_URL and a single interest group, failing the test
-// if there's no winner. "scoreAdCheck" is an expression that should be true
+// trustedSignalsURL and a single interest group, failing the test if there's no
+// winner. "scoreAdCheck" is an expression that should be true
// when evaluated in scoreAd(). "renderURL" can be used to control the response
-// given for TRUSTED_SCORING_SIGNALS_URL.
+// given for trustedSignalsURL.
async function runTrustedScoringSignalsTest(test, uuid, renderURL, scoreAdCheck,
- additionalInterestGroupOverrides) {
+ additionalInterestGroupOverrides,
+ trustedSignalsURL = TRUSTED_SCORING_SIGNALS_URL,
+ decisionScriptParamOverrides = {}) {
const auctionConfigOverrides = {
- trustedScoringSignalsURL: TRUSTED_SCORING_SIGNALS_URL,
+ trustedScoringSignalsURL: trustedSignalsURL,
decisionLogicURL:
createDecisionScriptURL(uuid, {
- scoreAd: `if (!(${scoreAdCheck})) throw "error";` })};
- await joinGroupAndRunBasicFledgeTestExpectingWinner(
- test,
- {
- uuid: uuid,
- interestGroupOverrides: {ads: [{ renderURL: renderURL }],
- ...additionalInterestGroupOverrides},
- auctionConfigOverrides: auctionConfigOverrides
- });
+ scoreAd: `if (!(${scoreAdCheck})) throw "error";`,
+ ...decisionScriptParamOverrides})};
+ await joinInterestGroup(test, uuid,
+ {ads: [{ renderURL: renderURL }],
+ ...additionalInterestGroupOverrides});
+ return await runBasicFledgeTestExpectingWinner(
+ test, uuid, auctionConfigOverrides);
}
// Much like runTrustedScoringSignalsTest, but runs auctions through reporting
@@ -305,6 +306,124 @@ subsetTest(promise_test, async test => {
`Wrong value type returned from second auction: ${config.constructor.type}`);
}, 'Trusted scoring signals multiple renderURLs.');
+/////////////////////////////////////////////////////////////////////////////
+// Cross-origin trusted scoring signals tests
+/////////////////////////////////////////////////////////////////////////////
+subsetTest(promise_test, async test => {
+ const uuid = generateUuid(test);
+ const renderURL = createRenderURL(uuid, /*script=*/null,
+ /*signalsParam=*/'string-value,data-version:3,cors');
+ await runTrustedScoringSignalsTest(
+ test, uuid, renderURL,
+ `trustedScoringSignals === null &&
+ !('dataVersion' in browserSignals) &&
+ crossOriginTrustedScoringSignals['${OTHER_ORIGIN1}'].renderURL[
+ "${renderURL}"] === "1" &&
+ browserSignals.crossOriginDataVersion === 3`,
+ /*additionalInterestGroupOverrides=*/ {},
+ CROSS_ORIGIN_TRUSTED_SCORING_SIGNALS_URL,
+ {permitCrossOriginTrustedSignals: `"${OTHER_ORIGIN1}"`});
+}, 'Basic cross-origin trusted scoring signals.');
+
+subsetTest(promise_test, async test => {
+ const uuid = generateUuid(test);
+ const renderURL = createRenderURL(uuid, /*script=*/null,
+ /*signalsParam=*/'string-value,data-version:3');
+ await runTrustedScoringSignalsTest(
+ test, uuid, renderURL,
+ `trustedScoringSignals === null &&
+ !('dataVersion' in browserSignals) &&
+ crossOriginTrustedScoringSignals === null &&
+ !('crossOriginDataVersion' in browserSignals)`,
+ /*additionalInterestGroupOverrides=*/ {},
+ CROSS_ORIGIN_TRUSTED_SCORING_SIGNALS_URL,
+ {permitCrossOriginTrustedSignals: `"${OTHER_ORIGIN1}"`});
+}, 'Cross-origin trusted scoring signals w/o CORS authorization.');
+
+subsetTest(promise_test, async test => {
+ const uuid = generateUuid(test);
+ const sellerReportURL = createSellerReportURL(uuid);
+ const renderURL = createRenderURL(uuid, /*script=*/null,
+ /*signalsParam=*/`string-value,data-version:3,uuid:${uuid},dispatch:track_get`);
+ // Use the request tracker for trusted scoring signals, to have it
+ // record whether they got fetched or not.
+ const crossOriginRequestTrackerURL = OTHER_ORIGIN1 + BASE_PATH +
+ 'resources/request-tracker.py';
+
+ let combinedTrustedSignalsURL = new URL(crossOriginRequestTrackerURL);
+ combinedTrustedSignalsURL.search =
+ `hostname=${window.location.hostname}&renderUrls=${encodeURIComponent(renderURL)}`
+
+ let result = await runTrustedScoringSignalsTest(
+ test, uuid, renderURL,
+ `trustedScoringSignals === null &&
+ !('dataVersion' in browserSignals) &&
+ crossOriginTrustedScoringSignals === null &&
+ !('crossOriginDataVersion' in browserSignals)`,
+ /*additionalInterestGroupOverrides=*/ {},
+ crossOriginRequestTrackerURL,
+ {permitCrossOriginTrustedSignals: `"${OTHER_ORIGIN1}"`,
+ reportResult: `sendReportTo("${sellerReportURL}")`});
+ createAndNavigateFencedFrame(test, result);
+ await waitForObservedRequests(
+ uuid, [combinedTrustedSignalsURL.href, createBidderReportURL(uuid), sellerReportURL]);
+}, 'Cross-origin trusted scoring signals w/o CORS authorization sends request.');
+
+subsetTest(promise_test, async test => {
+ const uuid = generateUuid(test);
+ const renderURL = createRenderURL(uuid, /*script=*/null,
+ /*signalsParam=*/'string-value,data-version:3, cors');
+ await runTrustedScoringSignalsTest(
+ test, uuid, renderURL,
+ `trustedScoringSignals === null &&
+ !('dataVersion' in browserSignals) &&
+ crossOriginTrustedScoringSignals === null &&
+ !('crossOriginDataVersion' in browserSignals)`,
+ /*additionalInterestGroupOverrides=*/ {},
+ CROSS_ORIGIN_TRUSTED_SCORING_SIGNALS_URL);
+}, 'Cross-origin trusted scoring signals w/o script allow header.');
+
+subsetTest(promise_test, async test => {
+ const uuid = generateUuid(test);
+ const renderURL = createRenderURL(uuid, /*script=*/null,
+ /*signalsParam=*/'string-value,data-version:3');
+ await runTrustedScoringSignalsTest(
+ test, uuid, renderURL,
+ `trustedScoringSignals === null &&
+ !('dataVersion' in browserSignals) &&
+ crossOriginTrustedScoringSignals === null &&
+ !('crossOriginDataVersion' in browserSignals)`,
+ /*additionalInterestGroupOverrides=*/ {},
+ CROSS_ORIGIN_TRUSTED_SCORING_SIGNALS_URL,
+ {permitCrossOriginTrustedSignals:
+ `"${OTHER_ORIGIN2}", "${window.location.origin}"`});
+}, 'Cross-origin trusted scoring signals with wrong script allow header.');
+
+subsetTest(promise_test, async test => {
+ const uuid = generateUuid(test);
+ const sellerReportURL = createSellerReportURL(uuid);
+ const renderURL = createRenderURL(uuid, /*script=*/null,
+ /*signalsParam=*/`string-value,data-version:3,uuid:${uuid},dispatch:track_get`);
+ // Use the request tracker for trusted scoring signals, to have it
+ // record whether they got fetched or not.
+ const crossOriginRequestTrackerURL = OTHER_ORIGIN1 + BASE_PATH +
+ 'resources/request-tracker.py';
+ let result = await runTrustedScoringSignalsTest(
+ test, uuid, renderURL,
+ `trustedScoringSignals === null &&
+ !('dataVersion' in browserSignals) &&
+ crossOriginTrustedScoringSignals === null &&
+ !('crossOriginDataVersion' in browserSignals)`,
+ /*additionalInterestGroupOverrides=*/ {},
+ crossOriginRequestTrackerURL,
+ {permitCrossOriginTrustedSignals:
+ `"${OTHER_ORIGIN2}", "${window.location.origin}"`,
+ reportResult: `sendReportTo("${sellerReportURL}")`});
+ createAndNavigateFencedFrame(test, result);
+ await waitForObservedRequests(uuid,
+ [createBidderReportURL(uuid), sellerReportURL]);
+}, 'Cross-origin trusted scoring signals with wrong script allow header not fetched.');
+
/////////////////////////////////////////////////////////////////////////////
// Data-Version tests
/////////////////////////////////////////////////////////////////////////////
@@ -658,4 +777,4 @@ subsetTest(promise_test, async test => {
);
runBasicFledgeTestExpectingWinner(test, uuid, auctionConfigOverrides);
-}, 'Trusted scoring signals splits the request if the combined URL length exceeds the limit of small value.');
\ No newline at end of file
+}, 'Trusted scoring signals splits the request if the combined URL length exceeds the limit of small value.');
diff --git a/tests/wpt/tests/html/browsers/browsing-the-web/history-traversal/pagereveal/order-in-bfcache-restore-iframe.html b/tests/wpt/tests/html/browsers/browsing-the-web/history-traversal/pagereveal/order-in-bfcache-restore-iframe.html
new file mode 100644
index 00000000000..f98cb61ad32
--- /dev/null
+++ b/tests/wpt/tests/html/browsers/browsing-the-web/history-traversal/pagereveal/order-in-bfcache-restore-iframe.html
@@ -0,0 +1,52 @@
+
+pagereveal event in iframe fires and in correct order on restoration from BFCache
+
+
+
+
+
+
+
+
+
diff --git a/tests/wpt/tests/html/browsers/browsing-the-web/history-traversal/pagereveal/order-in-new-document-navigation-iframe.html b/tests/wpt/tests/html/browsers/browsing-the-web/history-traversal/pagereveal/order-in-new-document-navigation-iframe.html
new file mode 100644
index 00000000000..b982025bc78
--- /dev/null
+++ b/tests/wpt/tests/html/browsers/browsing-the-web/history-traversal/pagereveal/order-in-new-document-navigation-iframe.html
@@ -0,0 +1,35 @@
+
+pagereveal event fires and in correct order on new-document navigation in an iframe
+
+
+
+
+
+
+
+
diff --git a/tests/wpt/tests/html/browsers/browsing-the-web/history-traversal/pagereveal/resources/iframe.html b/tests/wpt/tests/html/browsers/browsing-the-web/history-traversal/pagereveal/resources/iframe.html
new file mode 100644
index 00000000000..a1c1c623328
--- /dev/null
+++ b/tests/wpt/tests/html/browsers/browsing-the-web/history-traversal/pagereveal/resources/iframe.html
@@ -0,0 +1,48 @@
+
+
+
diff --git a/tests/wpt/tests/html/canvas/element/manual/filters/svg-filter-lh-rlh-expected.html b/tests/wpt/tests/html/canvas/element/manual/filters/svg-filter-lh-rlh-expected.html
new file mode 100644
index 00000000000..d183f6940de
--- /dev/null
+++ b/tests/wpt/tests/html/canvas/element/manual/filters/svg-filter-lh-rlh-expected.html
@@ -0,0 +1,22 @@
+
+
+HTML Canvas reference: SVG filter using CSS font-relative line-height units
+
+
+
+
diff --git a/tests/wpt/tests/html/canvas/element/manual/filters/svg-filter-lh-rlh.html b/tests/wpt/tests/html/canvas/element/manual/filters/svg-filter-lh-rlh.html
new file mode 100644
index 00000000000..b61193fb9fd
--- /dev/null
+++ b/tests/wpt/tests/html/canvas/element/manual/filters/svg-filter-lh-rlh.html
@@ -0,0 +1,32 @@
+
+
+HTML Canvas test: SVG filter using CSS font-relative line-height units
+
+
+
+
+
+
+
+
+
+
diff --git a/tests/wpt/tests/html/canvas/element/manual/filters/svg-filter.svg b/tests/wpt/tests/html/canvas/element/manual/filters/svg-filter.svg
new file mode 100644
index 00000000000..a783a3eb15d
--- /dev/null
+++ b/tests/wpt/tests/html/canvas/element/manual/filters/svg-filter.svg
@@ -0,0 +1,10 @@
+
+
+
+
+
+
+
+
+
+
diff --git a/tests/wpt/tests/html/rendering/widgets/WEB_FEATURES.yml b/tests/wpt/tests/html/rendering/widgets/WEB_FEATURES.yml
new file mode 100644
index 00000000000..b4ae339c2f3
--- /dev/null
+++ b/tests/wpt/tests/html/rendering/widgets/WEB_FEATURES.yml
@@ -0,0 +1,4 @@
+features:
+- name: field-sizing
+ files:
+ - field-sizing-*
diff --git a/tests/wpt/tests/html/rendering/widgets/input-password-background-suppresses-appearance-ref.html b/tests/wpt/tests/html/rendering/widgets/input-password-background-suppresses-appearance-ref.html
new file mode 100644
index 00000000000..33e0e6ac161
--- /dev/null
+++ b/tests/wpt/tests/html/rendering/widgets/input-password-background-suppresses-appearance-ref.html
@@ -0,0 +1,3 @@
+
+
+
diff --git a/tests/wpt/tests/html/rendering/widgets/input-password-background-suppresses-appearance.html b/tests/wpt/tests/html/rendering/widgets/input-password-background-suppresses-appearance.html
new file mode 100644
index 00000000000..3c85b100a1d
--- /dev/null
+++ b/tests/wpt/tests/html/rendering/widgets/input-password-background-suppresses-appearance.html
@@ -0,0 +1,7 @@
+
+
+
+
+
+backgrounds disable native password input appearance
+
diff --git a/tests/wpt/tests/html/semantics/forms/attributes-common-to-form-controls/WEB_FEATURES.yml b/tests/wpt/tests/html/semantics/forms/attributes-common-to-form-controls/WEB_FEATURES.yml
new file mode 100644
index 00000000000..457c9040053
--- /dev/null
+++ b/tests/wpt/tests/html/semantics/forms/attributes-common-to-form-controls/WEB_FEATURES.yml
@@ -0,0 +1,4 @@
+features:
+- name: dirname
+ files:
+ - dirname-*
diff --git a/tests/wpt/tests/html/semantics/forms/the-select-element/stylable-select/select-option-hover-styles.tentative.html b/tests/wpt/tests/html/semantics/forms/the-select-element/stylable-select/select-option-hover-styles.tentative.html
new file mode 100644
index 00000000000..4361229b8f1
--- /dev/null
+++ b/tests/wpt/tests/html/semantics/forms/the-select-element/stylable-select/select-option-hover-styles.tentative.html
@@ -0,0 +1,68 @@
+
+
+
+
+
+
+
+
+
+
+SelectedItem test colors
+
+
+ one
+ two
+ disabled
+
+
+
diff --git a/tests/wpt/tests/html/semantics/permission-element/no-focus.tentative.html b/tests/wpt/tests/html/semantics/permission-element/no-focus.tentative.html
new file mode 100644
index 00000000000..6e81a20962c
--- /dev/null
+++ b/tests/wpt/tests/html/semantics/permission-element/no-focus.tentative.html
@@ -0,0 +1,53 @@
+
+
+
+
+
+
+
+
+
+
+
+
+This is some text
+
+
+
+
+
+
\ No newline at end of file
diff --git a/tests/wpt/tests/html/semantics/popovers/popover-focus-2.html b/tests/wpt/tests/html/semantics/popovers/popover-focus-2.html
index 8f24ace9195..552c8d8206b 100644
--- a/tests/wpt/tests/html/semantics/popovers/popover-focus-2.html
+++ b/tests/wpt/tests/html/semantics/popovers/popover-focus-2.html
@@ -1,6 +1,7 @@
Popover focus behaviors
+
diff --git a/tests/wpt/tests/html/semantics/selectors/pseudo-classes/WEB_FEATURES.yml b/tests/wpt/tests/html/semantics/selectors/pseudo-classes/WEB_FEATURES.yml
index 055a5fb4a30..2877344b649 100644
--- a/tests/wpt/tests/html/semantics/selectors/pseudo-classes/WEB_FEATURES.yml
+++ b/tests/wpt/tests/html/semantics/selectors/pseudo-classes/WEB_FEATURES.yml
@@ -5,6 +5,10 @@ features:
- name: default
files:
- default.html
+- name: indeterminate
+ files:
+ - checked-indeterminate.window.js
+ - indeterminate*
- name: read-write-pseudos
files:
- readwrite-readonly-type-change.html
diff --git a/tests/wpt/tests/import-maps/dynamic-integrity.html b/tests/wpt/tests/import-maps/dynamic-integrity.html
new file mode 100644
index 00000000000..7a6fed71086
--- /dev/null
+++ b/tests/wpt/tests/import-maps/dynamic-integrity.html
@@ -0,0 +1,87 @@
+
+
+
+
+
+
+
+
diff --git a/tests/wpt/tests/import-maps/no-referencing-script-integrity-valid.html b/tests/wpt/tests/import-maps/no-referencing-script-integrity-valid.html
new file mode 100644
index 00000000000..2594459fcbf
--- /dev/null
+++ b/tests/wpt/tests/import-maps/no-referencing-script-integrity-valid.html
@@ -0,0 +1,37 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/tests/wpt/tests/import-maps/no-referencing-script-integrity.html b/tests/wpt/tests/import-maps/no-referencing-script-integrity.html
new file mode 100644
index 00000000000..8025ba3b899
--- /dev/null
+++ b/tests/wpt/tests/import-maps/no-referencing-script-integrity.html
@@ -0,0 +1,34 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/tests/wpt/tests/import-maps/nonimport-integrity.html b/tests/wpt/tests/import-maps/nonimport-integrity.html
new file mode 100644
index 00000000000..1157ee64ee7
--- /dev/null
+++ b/tests/wpt/tests/import-maps/nonimport-integrity.html
@@ -0,0 +1,161 @@
+
+
+
+
+
+
+
+
+
diff --git a/tests/wpt/tests/import-maps/static-integrity.html b/tests/wpt/tests/import-maps/static-integrity.html
new file mode 100644
index 00000000000..d1d3649339e
--- /dev/null
+++ b/tests/wpt/tests/import-maps/static-integrity.html
@@ -0,0 +1,68 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/tests/wpt/tests/infrastructure/metadata/infrastructure/reftest/legacy/fuzzy-ref-2.html.ini b/tests/wpt/tests/infrastructure/metadata/infrastructure/reftest/legacy/fuzzy-ref-2.html.ini
index cdfd9736c54..e78d0b4315d 100644
--- a/tests/wpt/tests/infrastructure/metadata/infrastructure/reftest/legacy/fuzzy-ref-2.html.ini
+++ b/tests/wpt/tests/infrastructure/metadata/infrastructure/reftest/legacy/fuzzy-ref-2.html.ini
@@ -1,4 +1,3 @@
[fuzzy-ref-2.html]
fuzzy:
- if os == "mac" and product == "chrome": maxDifference=254-255;100-100
maxDifference=255;100-100
diff --git a/tests/wpt/tests/infrastructure/metadata/infrastructure/reftest/legacy/reftest_fuzzy_chain_ini.html.ini b/tests/wpt/tests/infrastructure/metadata/infrastructure/reftest/legacy/reftest_fuzzy_chain_ini.html.ini
index d3776e243e4..6c8e46ceafd 100644
--- a/tests/wpt/tests/infrastructure/metadata/infrastructure/reftest/legacy/reftest_fuzzy_chain_ini.html.ini
+++ b/tests/wpt/tests/infrastructure/metadata/infrastructure/reftest/legacy/reftest_fuzzy_chain_ini.html.ini
@@ -1,4 +1,3 @@
[reftest_fuzzy_chain_ini.html]
fuzzy:
- if os == "mac" and product == "chrome": maxDifference=254-255;100-100
maxDifference=255;100-100
diff --git a/tests/wpt/tests/infrastructure/metadata/infrastructure/reftest/reftest_fuzzy_1.html.ini b/tests/wpt/tests/infrastructure/metadata/infrastructure/reftest/reftest_fuzzy_1.html.ini
deleted file mode 100644
index 44f185357bc..00000000000
--- a/tests/wpt/tests/infrastructure/metadata/infrastructure/reftest/reftest_fuzzy_1.html.ini
+++ /dev/null
@@ -1,3 +0,0 @@
-[reftest_fuzzy_1.html]
- fuzzy:
- if os == "mac" and product == "chrome": fuzzy-ref-1.html:254-255;100
diff --git a/tests/wpt/tests/infrastructure/metadata/infrastructure/reftest/reftest_fuzzy_ini_full.html.ini b/tests/wpt/tests/infrastructure/metadata/infrastructure/reftest/reftest_fuzzy_ini_full.html.ini
index d682550d53e..0ea76527da4 100644
--- a/tests/wpt/tests/infrastructure/metadata/infrastructure/reftest/reftest_fuzzy_ini_full.html.ini
+++ b/tests/wpt/tests/infrastructure/metadata/infrastructure/reftest/reftest_fuzzy_ini_full.html.ini
@@ -1,6 +1,4 @@
[reftest_fuzzy_ini_full.html]
fuzzy:
- if os == "mac" and product == "chrome": [maxDifference=1;100-100,
- reftest_fuzzy_ini_full.html==fuzzy-ref-1.html:254-255;100]
if 1 == 1: [maxDifference=1;100-100, # 'if 1 == 1:' is a workaround for a parser bug
reftest_fuzzy_ini_full.html==fuzzy-ref-1.html:255;100]
diff --git a/tests/wpt/tests/infrastructure/metadata/infrastructure/reftest/reftest_fuzzy_ini_ref_only.html.ini b/tests/wpt/tests/infrastructure/metadata/infrastructure/reftest/reftest_fuzzy_ini_ref_only.html.ini
index 4437fceff89..8e321bdb902 100644
--- a/tests/wpt/tests/infrastructure/metadata/infrastructure/reftest/reftest_fuzzy_ini_ref_only.html.ini
+++ b/tests/wpt/tests/infrastructure/metadata/infrastructure/reftest/reftest_fuzzy_ini_ref_only.html.ini
@@ -1,8 +1,5 @@
[reftest_fuzzy_ini_ref_only.html]
fuzzy:
- if os == "mac" and product == "chrome": [maxDifference=1;100-100,
- fuzzy-ref-1.html:maxDifference=254-255;100-100,
- reftest_fuzzy==fuzzy-ref-2.html:maxDifference=1;100-100]
if 1 == 1: [maxDifference=1;100-100, # 1 == 1 is a workaround for a parser bug.
fuzzy-ref-1.html:maxDifference=255;100-100,
reftest_fuzzy==fuzzy-ref-2.html:maxDifference=1;100-100]
diff --git a/tests/wpt/tests/infrastructure/metadata/infrastructure/reftest/reftest_fuzzy_ini_short.html.ini b/tests/wpt/tests/infrastructure/metadata/infrastructure/reftest/reftest_fuzzy_ini_short.html.ini
index 27e3290e6fb..4a3cb610fac 100644
--- a/tests/wpt/tests/infrastructure/metadata/infrastructure/reftest/reftest_fuzzy_ini_short.html.ini
+++ b/tests/wpt/tests/infrastructure/metadata/infrastructure/reftest/reftest_fuzzy_ini_short.html.ini
@@ -1,4 +1,3 @@
[reftest_fuzzy_ini_short.html]
fuzzy:
- if os == "mac" and product == "chrome": maxDifference=254-255;100-100
maxDifference=255;100-100
diff --git a/tests/wpt/tests/infrastructure/metadata/infrastructure/testdriver/click_iframe_crossorigin.sub.html.ini b/tests/wpt/tests/infrastructure/metadata/infrastructure/testdriver/click_iframe_crossorigin.sub.html.ini
index c0ca25ab657..aa94652ad76 100644
--- a/tests/wpt/tests/infrastructure/metadata/infrastructure/testdriver/click_iframe_crossorigin.sub.html.ini
+++ b/tests/wpt/tests/infrastructure/metadata/infrastructure/testdriver/click_iframe_crossorigin.sub.html.ini
@@ -2,4 +2,3 @@
[TestDriver click on a document in an iframe]
expected:
if product == "chrome": [PASS, FAIL] # https://github.com/web-platform-tests/wpt/issues/26295
- if os == "mac" and product == "firefox": [PASS, FAIL] # https://github.com/web-platform-tests/wpt/issues/45987
diff --git a/tests/wpt/tests/largest-contentful-paint/transparent-text-with-shadow.html b/tests/wpt/tests/largest-contentful-paint/transparent-text-with-shadow.html
new file mode 100644
index 00000000000..8231ed9ff11
--- /dev/null
+++ b/tests/wpt/tests/largest-contentful-paint/transparent-text-with-shadow.html
@@ -0,0 +1,47 @@
+
+
+
+
+
+
+
+
+ fake LCP
+
+
+
\ No newline at end of file
diff --git a/tests/wpt/tests/largest-contentful-paint/transparent-text-with-text-stroke.html b/tests/wpt/tests/largest-contentful-paint/transparent-text-with-text-stroke.html
new file mode 100644
index 00000000000..2c81ff8aad7
--- /dev/null
+++ b/tests/wpt/tests/largest-contentful-paint/transparent-text-with-text-stroke.html
@@ -0,0 +1,47 @@
+
+
+
+
+
+
+
+
+ fake LCP
+
+
+
\ No newline at end of file
diff --git a/tests/wpt/tests/lint.ignore b/tests/wpt/tests/lint.ignore
index 61bca89ddc9..14e02983f75 100644
--- a/tests/wpt/tests/lint.ignore
+++ b/tests/wpt/tests/lint.ignore
@@ -616,7 +616,6 @@ MISSING DEPENDENCY: resources/chromium/fake-serial.js
MISSING DEPENDENCY: resources/chromium/fake-hid.js
MISSING DEPENDENCY: resources/chromium/mock-battery-monitor.js
MISSING DEPENDENCY: resources/chromium/mock-barcodedetection.js
-MISSING DEPENDENCY: resources/chromium/mock-direct-sockets.js
MISSING DEPENDENCY: resources/chromium/mock-facedetection.js
MISSING DEPENDENCY: resources/chromium/mock-idle-detection.js
MISSING DEPENDENCY: resources/chromium/mock-imagecapture.js
@@ -700,6 +699,17 @@ TESTHARNESS-IN-OTHER-TYPE: svg/svg-in-svg/svg-in-svg-circular-filter-reference-c
# Adding the testharnessreport.js script causes the test to never complete.
MISSING-TESTHARNESSREPORT: accessibility/crashtests/computed-node-checked.html
+# Existing manual tests with references
+REFERENCE-IN-OTHER-TYPE: css/CSS2/backgrounds/background-root-012a.xht
+REFERENCE-IN-OTHER-TYPE: css/CSS2/backgrounds/background-root-013a.xht
+REFERENCE-IN-OTHER-TYPE: css/CSS2/backgrounds/background-root-014a.xht
+REFERENCE-IN-OTHER-TYPE: css/CSS2/cascade/html-precedence-004.xht
+REFERENCE-IN-OTHER-TYPE: css/css-flexbox/css-flexbox-height-animation-stretch.html
+REFERENCE-IN-OTHER-TYPE: css/css-transforms/css-transform-scale-001-manual.html
+
+# Needs control of page size
+REFERENCE-IN-OTHER-TYPE: css/css-multicol/moz-multicol3-column-balancing-break-inside-avoid-1.html
+
PRINT STATEMENT: webdriver/tests/bidi/browsing_context/print/*
PRINT STATEMENT: webdriver/tests/classic/print/*
PRINT STATEMENT: webdriver/tests/support/fixtures_bidi.py
@@ -750,6 +760,72 @@ HTML INVALID SYNTAX: mathml/crashtests/mozilla/411603-1.html
HTML INVALID SYNTAX: quirks/percentage-height-calculation.html
HTML INVALID SYNTAX: trusted-types/TrustedTypePolicyFactory-getAttributeType-namespace.html
+# Tests which include testdriver.js but aren't testharness.js tests
+TESTDRIVER-IN-UNSUPPORTED-TYPE: css/css-grid/grid-model/grid-layout-stale-001.html
+TESTDRIVER-IN-UNSUPPORTED-TYPE: css/css-grid/grid-model/grid-layout-stale-002.html
+TESTDRIVER-IN-UNSUPPORTED-TYPE: css/css-scroll-anchoring/fullscreen-crash.html
+TESTDRIVER-IN-UNSUPPORTED-TYPE: css/css-shadow-parts/interaction-with-nested-pseudo-class.html
+TESTDRIVER-IN-UNSUPPORTED-TYPE: css/css-text-decor/invalidation/text-decoration-thickness.html
+TESTDRIVER-IN-UNSUPPORTED-TYPE: css/css-view-transitions/hit-test-unpainted-element.html
+TESTDRIVER-IN-UNSUPPORTED-TYPE: css/css-view-transitions/hit-test-unrelated-element.html
+TESTDRIVER-IN-UNSUPPORTED-TYPE: css/selectors/remove-hovered-element.html
+TESTDRIVER-IN-UNSUPPORTED-TYPE: file-system-access/local_FileSystemBaseHandle-IndexedDB-manual.https.html
+TESTDRIVER-IN-UNSUPPORTED-TYPE: file-system-access/local_FileSystemBaseHandle-getUniqueId-manual.https.html
+TESTDRIVER-IN-UNSUPPORTED-TYPE: file-system-access/local_FileSystemBaseHandle-isSameEntry-manual.https.html
+TESTDRIVER-IN-UNSUPPORTED-TYPE: file-system-access/local_FileSystemBaseHandle-postMessage-BroadcastChannel-manual.https.html
+TESTDRIVER-IN-UNSUPPORTED-TYPE: file-system-access/local_FileSystemBaseHandle-postMessage-Error-manual.https.html
+TESTDRIVER-IN-UNSUPPORTED-TYPE: file-system-access/local_FileSystemBaseHandle-postMessage-MessagePort-frames-manual.https.html
+TESTDRIVER-IN-UNSUPPORTED-TYPE: file-system-access/local_FileSystemBaseHandle-postMessage-MessagePort-windows-manual.https.html
+TESTDRIVER-IN-UNSUPPORTED-TYPE: file-system-access/local_FileSystemBaseHandle-postMessage-MessagePort-workers-manual.https.html
+TESTDRIVER-IN-UNSUPPORTED-TYPE: file-system-access/local_FileSystemBaseHandle-postMessage-frames-manual.https.html
+TESTDRIVER-IN-UNSUPPORTED-TYPE: file-system-access/local_FileSystemBaseHandle-postMessage-windows-manual.https.html
+TESTDRIVER-IN-UNSUPPORTED-TYPE: file-system-access/local_FileSystemBaseHandle-postMessage-workers-manual.https.html
+TESTDRIVER-IN-UNSUPPORTED-TYPE: file-system-access/local_FileSystemBaseHandle-remove-manual.https.html
+TESTDRIVER-IN-UNSUPPORTED-TYPE: file-system-access/local_FileSystemDirectoryHandle-getDirectoryHandle-manual.https.html
+TESTDRIVER-IN-UNSUPPORTED-TYPE: file-system-access/local_FileSystemDirectoryHandle-getFileHandle-manual.https.html
+TESTDRIVER-IN-UNSUPPORTED-TYPE: file-system-access/local_FileSystemDirectoryHandle-iteration-manual.https.html
+TESTDRIVER-IN-UNSUPPORTED-TYPE: file-system-access/local_FileSystemDirectoryHandle-move-manual.https.html
+TESTDRIVER-IN-UNSUPPORTED-TYPE: file-system-access/local_FileSystemDirectoryHandle-partitioned-manual.https.tentative.html
+TESTDRIVER-IN-UNSUPPORTED-TYPE: file-system-access/local_FileSystemDirectoryHandle-removeEntry-manual.https.html
+TESTDRIVER-IN-UNSUPPORTED-TYPE: file-system-access/local_FileSystemDirectoryHandle-resolve-manual.https.html
+TESTDRIVER-IN-UNSUPPORTED-TYPE: file-system-access/local_FileSystemFileHandle-create-sync-access-handle-manual.https.tentative.html
+TESTDRIVER-IN-UNSUPPORTED-TYPE: file-system-access/local_FileSystemFileHandle-getFile-manual.https.html
+TESTDRIVER-IN-UNSUPPORTED-TYPE: file-system-access/local_FileSystemFileHandle-move-manual.https.html
+TESTDRIVER-IN-UNSUPPORTED-TYPE: file-system-access/local_FileSystemFileHandle-partitioned-manual.https.tentative.html
+TESTDRIVER-IN-UNSUPPORTED-TYPE: file-system-access/local_FileSystemWritableFileStream-manual.https.html
+TESTDRIVER-IN-UNSUPPORTED-TYPE: file-system-access/local_FileSystemWritableFileStream-piped-manual.https.html
+TESTDRIVER-IN-UNSUPPORTED-TYPE: file-system-access/local_FileSystemWritableFileStream-write-manual.https.html
+TESTDRIVER-IN-UNSUPPORTED-TYPE: file-system-access/showDirectoryPicker-manual.https.html
+TESTDRIVER-IN-UNSUPPORTED-TYPE: file-system-access/showOpenFilePicker-manual.https.html
+TESTDRIVER-IN-UNSUPPORTED-TYPE: file-system-access/showSaveFilePicker-manual.https.html
+TESTDRIVER-IN-UNSUPPORTED-TYPE: fullscreen/crashtests/chrome-1312699.html
+TESTDRIVER-IN-UNSUPPORTED-TYPE: fullscreen/crashtests/content-visibility-crash.html
+TESTDRIVER-IN-UNSUPPORTED-TYPE: fullscreen/rendering/backdrop-iframe.html
+TESTDRIVER-IN-UNSUPPORTED-TYPE: fullscreen/rendering/backdrop-inherit.html
+TESTDRIVER-IN-UNSUPPORTED-TYPE: fullscreen/rendering/backdrop-object.html
+TESTDRIVER-IN-UNSUPPORTED-TYPE: fullscreen/rendering/fullscreen-root-fills-page.html
+TESTDRIVER-IN-UNSUPPORTED-TYPE: html/rendering/non-replaced-elements/the-fieldset-and-legend-elements/crashtests/fieldset-middleclick.html
+TESTDRIVER-IN-UNSUPPORTED-TYPE: html/semantics/forms/the-select-element/stylable-select/native-popup-with-datalist-ref.html
+TESTDRIVER-IN-UNSUPPORTED-TYPE: html/semantics/forms/the-select-element/stylable-select/native-popup-with-datalist.tentative.html
+TESTDRIVER-IN-UNSUPPORTED-TYPE: html/semantics/forms/the-select-element/stylable-select/select-appearance-custom-button-no-datalist.tentative.html
+TESTDRIVER-IN-UNSUPPORTED-TYPE: html/semantics/forms/the-select-element/stylable-select/select-appearance-no-button-custom-datalist.tentative.html
+TESTDRIVER-IN-UNSUPPORTED-TYPE: html/semantics/forms/the-select-element/stylable-select/select-appearance-no-button-no-datalist.tentative.html
+TESTDRIVER-IN-UNSUPPORTED-TYPE: html/semantics/forms/the-select-element/stylable-select/select-appearance-writing-mode-vertical-lr.tentative.html
+TESTDRIVER-IN-UNSUPPORTED-TYPE: html/semantics/forms/the-select-element/stylable-select/select-appearance-writing-mode-vertical-rl.tentative.html
+TESTDRIVER-IN-UNSUPPORTED-TYPE: html/semantics/forms/the-selectlist-element/selectlist-option-arbitrary-content-displayed.tentative.html
+TESTDRIVER-IN-UNSUPPORTED-TYPE: html/semantics/popovers/popover-dialog-crash.html
+TESTDRIVER-IN-UNSUPPORTED-TYPE: html/semantics/popovers/popover-hint-crash.tentative.html
+TESTDRIVER-IN-UNSUPPORTED-TYPE: html/semantics/popovers/popover-manual-crash.html
+TESTDRIVER-IN-UNSUPPORTED-TYPE: infrastructure/testdriver/click_child_crossorigin.html
+TESTDRIVER-IN-UNSUPPORTED-TYPE: infrastructure/testdriver/click_child_testdriver.html
+TESTDRIVER-IN-UNSUPPORTED-TYPE: mediacapture-streams/MediaStreamTrack-end-manual.https.html
+TESTDRIVER-IN-UNSUPPORTED-TYPE: payment-handler/change-payment-method-manual.https.html
+TESTDRIVER-IN-UNSUPPORTED-TYPE: payment-handler/change-shipping-address-manual.https.html
+TESTDRIVER-IN-UNSUPPORTED-TYPE: payment-handler/change-shipping-option-manual.https.html
+TESTDRIVER-IN-UNSUPPORTED-TYPE: payment-handler/payment-request-event-manual.https.html
+TESTDRIVER-IN-UNSUPPORTED-TYPE: payment-handler/supports-shipping-contact-delegation-manual.https.html
+TESTDRIVER-IN-UNSUPPORTED-TYPE: shadow-dom/crashtests/move-to-new-tree-1343016.html
+
# Pre compressed data using Shared Brotli and Shared Zstandard.
TRAILING WHITESPACE, INDENT TABS, CR AT EOL: fetch/compression-dictionary/resources/compressed.br-d.data
TRAILING WHITESPACE, INDENT TABS, CR AT EOL: fetch/compression-dictionary/resources/compressed.zstd-d.data
diff --git a/tests/wpt/tests/mathml/relations/css-styling/width-height-004.html b/tests/wpt/tests/mathml/relations/css-styling/width-height-004.html
index 7133573b04d..10ece249ca0 100644
--- a/tests/wpt/tests/mathml/relations/css-styling/width-height-004.html
+++ b/tests/wpt/tests/mathml/relations/css-styling/width-height-004.html
@@ -3,7 +3,6 @@
content position with width/height
-
diff --git a/tests/wpt/tests/mediasession/mediametadata.html b/tests/wpt/tests/mediasession/mediametadata.html
index f87e71d9690..d73a4312516 100644
--- a/tests/wpt/tests/mediasession/mediametadata.html
+++ b/tests/wpt/tests/mediasession/mediametadata.html
@@ -50,8 +50,27 @@ test(function() {
test(function() {
var image1 = { src: 'http://example.com/1', sizes: 'sizes1', type: 'type1' };
var image2 = { src: 'http://example.com/2', sizes: 'sizes2', type: 'type2' };
+ var chapter1_image1 = { src: 'http://chapterexample.com/1', sizes: '128x128', type: 'image/png' };
+ var chapter1_image2 = { src: 'http://chapterexample.com/2', sizes: '512x512', type: 'image/png' };
+ var chapter2_image1 = { src: 'http://chapterexample.com/3', sizes: '128x128', type: 'image/png' };
+ var chapter2_image2 = { src: 'http://chapterexample.com/4', sizes: '512x512', type: 'image/png' };
var metadata = new MediaMetadata({
- title: 'foo', album: 'bar', artist: 'plop', artwork: [ image1, image2 ]
+ title: 'foo', album: 'bar', artist: 'plop', artwork: [image1, image2],
+ chapterInfo: [{
+ title: 'Chapter 1',
+ startTime: 0,
+ artwork: [
+ chapter1_image1,
+ chapter1_image2
+ ]
+ }, {
+ title: 'Chapter 2',
+ startTime: 16,
+ artwork: [
+ chapter2_image1,
+ chapter2_image2,
+ ]
+ }]
});
assert_equals(metadata.title, 'foo');
@@ -64,6 +83,22 @@ test(function() {
assert_equals(metadata.artwork[1].src, image2.src);
assert_equals(metadata.artwork[1].sizes, image2.sizes);
assert_equals(metadata.artwork[1].type, image2.type);
+ assert_equals(metadata.chapterInfo[0].title, 'Chapter 1');
+ assert_equals(metadata.chapterInfo[0].startTime, 0);
+ assert_equals(metadata.chapterInfo[0].artwork[0].src, chapter1_image1.src);
+ assert_equals(metadata.chapterInfo[0].artwork[1].src, chapter1_image2.src);
+ assert_equals(metadata.chapterInfo[0].artwork[0].sizes, chapter1_image1.sizes);
+ assert_equals(metadata.chapterInfo[0].artwork[1].sizes, chapter1_image2.sizes);
+ assert_equals(metadata.chapterInfo[0].artwork[0].type, chapter1_image1.type);
+ assert_equals(metadata.chapterInfo[0].artwork[1].type, chapter1_image2.type);
+ assert_equals(metadata.chapterInfo[1].title, 'Chapter 2');
+ assert_equals(metadata.chapterInfo[1].startTime, 16);
+ assert_equals(metadata.chapterInfo[1].artwork[0].src, chapter2_image1.src);
+ assert_equals(metadata.chapterInfo[1].artwork[1].src, chapter2_image2.src);
+ assert_equals(metadata.chapterInfo[1].artwork[0].sizes, chapter2_image1.sizes);
+ assert_equals(metadata.chapterInfo[1].artwork[1].sizes, chapter2_image2.sizes);
+ assert_equals(metadata.chapterInfo[1].artwork[0].type, chapter2_image1.type);
+ assert_equals(metadata.chapterInfo[1].artwork[1].type, chapter2_image2.type);
}, 'Test the different values allowed in MediaMetadata init dictionary');
test(function() {
@@ -72,6 +107,7 @@ test(function() {
assert_equals(metadata.artist, '');
assert_equals(metadata.album, '');
assert_equals(0, metadata.artwork.length);
+ assert_equals(0, metadata.chapterInfo.length);
}, 'Test the default values for MediaMetadata with empty init dictionary');
test(function() {
@@ -80,6 +116,7 @@ test(function() {
assert_equals(metadata.artist, '');
assert_equals(metadata.album, '');
assert_equals(0, metadata.artwork.length);
+ assert_equals(0, metadata.chapterInfo.length);
}, 'Test the default values for MediaMetadata with no init dictionary');
test(function() {
@@ -90,8 +127,28 @@ test(function() {
test(function() {
var image1 = { src: 'http://example.com/1', sizes: 'sizes1', type: 'type1' };
var image2 = { src: 'http://example.com/2', sizes: 'sizes2', type: 'type2' };
+ var chapter1_image1 = { src: 'http://chapterexample.com/1', sizes: '128x128', type: 'image/png' };
+ var chapter1_image2 = { src: 'http://chapterexample.com/2', sizes: '512x512', type: 'image/png' };
+ var chapter2_image1 = { src: 'http://chapterexample.com/3', sizes: '128x128', type: 'image/png' };
+ var chapter2_image2 = { src: 'http://chapterexample.com/4', sizes: '512x512', type: 'image/png' };
+
var metadata = new MediaMetadata({
- title: 'foo', album: 'bar', artist: 'plop', artwork: [ image1, image2 ]
+ title: 'foo', album: 'bar', artist: 'plop', artwork: [image1, image2],
+ chapterInfo: [{
+ title: 'Chapter 1',
+ startTime: 0,
+ artwork: [
+ chapter1_image1,
+ chapter1_image2
+ ]
+ }, {
+ title: 'Chapter 2',
+ startTime: 16,
+ artwork: [
+ chapter2_image1,
+ chapter2_image2,
+ ]
+ }]
});
metadata.title = 'something else';
@@ -109,6 +166,18 @@ test(function() {
assert_equals(metadata.artwork[0].src, 'http://example.com/');
assert_equals(metadata.artwork[0].sizes, '40x40');
assert_equals(metadata.artwork[0].type, 'image/png');
+
+ // The chapterInfo cannot be modified.
+ var chapter_image = { src: 'http://example.com/', sizes: '40x40', type: 'image/png' };
+ var chapter = {
+ title: 'Chapter 3',
+ startTime: 22,
+ artwork: [chapter_image]
+ };
+ metadata.chapterInfo = [chapter];
+ assert_equals(metadata.chapterInfo[0].title, 'Chapter 1');
+ assert_equals(metadata.chapterInfo[0].startTime, 0);
+ assert_equals(metadata.chapterInfo.length, 2);
}, "Test that MediaMetadata is read/write");
test(function() {
@@ -121,7 +190,7 @@ test(function() {
metadata.artwork[0].src = 'bar';
assert_equals(metadata.artwork[0].src, 'http://foo.com/');
-}, "Test that MediaMetadat.artwork can't be modified");
+}, "Test that MediaMetadata.artwork can't be modified");
test(function() {
var metadata = new MediaMetadata({ artwork: [{
@@ -148,6 +217,34 @@ test(function() {
assert_true(Object.isFrozen(metadata.artwork[i]));
}, "Test that MediaMetadata.artwork is Frozen");
+test(function() {
+ var chapter1_image1 = { src: 'http://chapterexample.com/1', sizes: '128x128', type: 'image/png' };
+ var chapter1_image2 = { src: 'http://chapterexample.com/2', sizes: '512x512', type: 'image/png' };
+ var chapter2_image1 = { src: 'http://chapterexample.com/3', sizes: '128x128', type: 'image/png' };
+ var chapter2_image2 = { src: 'http://chapterexample.com/4', sizes: '512x512', type: 'image/png' };
+ var metadata = new MediaMetadata({
+ chapterInfo: [{
+ title: 'Chapter 1',
+ startTime: 0,
+ artwork: [
+ chapter1_image1,
+ chapter1_image2
+ ]
+ }, {
+ title: 'Chapter 2',
+ startTime: 16,
+ artwork: [
+ chapter2_image1,
+ chapter2_image2,
+ ]
+ }]
+ });
+
+ assert_true(Object.isFrozen(metadata.chapterInfo));
+ for (var i = 0; i < metadata.chapterInfo.length; ++i)
+ assert_true(Object.isFrozen(metadata.chapterInfo[i]));
+}, "Test that MediaMetadata.chapterInfo is Frozen");
+
test(function() {
var metadata = new MediaMetadata({ artwork: [
{ src: 'http://example.com', sizes: '40x40', type: 'image/png' },
@@ -160,6 +257,39 @@ test(function() {
assert_equals(metadata.artwork[2].src, new URL('/foo/bar', document.URL).href)
}, "Test that MediaMetadata.artwork returns parsed urls");
+test(function() {
+ var chapter1_image1 = { src: 'http://chapterexample.com/1', sizes: '128x128', type: 'image/png' };
+ var chapter1_image2 = { src: 'http://chapterexample.com/2', sizes: '512x512', type: 'image/png' };
+ var chapter2_image1 = { src: 'http://chapterexample.com/3', sizes: '128x128', type: 'image/png' };
+ var chapter2_image2 = { src: 'http://chapterexample.com/4', sizes: '512x512', type: 'image/png' };
+ var metadata = new MediaMetadata({
+ chapterInfo: [{
+ title: 'Chapter 1',
+ startTime: 0,
+ artwork: [
+ chapter1_image1,
+ chapter1_image2
+ ]
+ }, {
+ title: 'Chapter 2',
+ startTime: 16,
+ artwork: [
+ chapter2_image1,
+ chapter2_image2,
+ ]
+ }]
+ });
+
+ assert_equals(metadata.chapterInfo[0].artwork[0].src,
+ new URL('http://chapterexample.com/1', document.URL).href)
+ assert_equals(metadata.chapterInfo[0].artwork[1].src,
+ new URL('http://chapterexample.com/2', document.URL).href)
+ assert_equals(metadata.chapterInfo[1].artwork[0].src,
+ new URL('http://chapterexample.com/3', document.URL).href)
+ assert_equals(metadata.chapterInfo[1].artwork[1].src,
+ new URL('http://chapterexample.com/4', document.URL).href)
+}, "Test that MediaMetadata.chapterInfo's artwork returns parsed urls");
+
test(function() {
var metadata = 42;
@@ -180,6 +310,22 @@ test(function() {
});
assert_equals(metadata.artwork.length, 0);
+ assert_throws_js(TypeError, _ => {
+ metadata
+ new MediaMetadata({
+ chapterInfo: [{
+ title: 'Chapter 1',
+ startTime: 0,
+ artwork: [
+ // Valid url.
+ { src: 'http://example.com' },
+ // Invalid url.
+ { src: 'http://example.com:demo' },
+ ]
+ }]
+ });
+ });
+ assert_equals(metadata.chapterInfo.length, 0);
}, "Test that MediaMetadata throws when setting an invalid url");
test(function() {
@@ -190,13 +336,24 @@ test(function() {
test(function() {
assert_throws_js(TypeError, _ => {
- new MediaMetadata({ artwork: [ {} ] });
+ new MediaMetadata({ artwork: [ {} ] })
});
var metadata = new MediaMetadata();
assert_throws_js(TypeError, _ => {
metadata.artwork = [ { type: 'image/png', sizes: '40x40' } ];
});
+
+ assert_throws_js(TypeError, _ => {
+ metadata
+ new MediaMetadata({
+ chapterInfo: [{
+ title: 'Chapter 1',
+ startTime: 0,
+ artwork: [{ type: 'image/png', sizes: '40x40' }]
+ }]
+ });
+ });
}, "Test that MediaImage.src is required")
promise_test(async t => {
diff --git a/tests/wpt/tests/navigation-api/navigate-event/event-constructor.html b/tests/wpt/tests/navigation-api/navigate-event/event-constructor.html
index 863681ced73..89ac934020e 100644
--- a/tests/wpt/tests/navigation-api/navigate-event/event-constructor.html
+++ b/tests/wpt/tests/navigation-api/navigate-event/event-constructor.html
@@ -78,7 +78,8 @@ async_test(t => {
assert_equals(event.downloadRequest, downloadRequest);
assert_equals(event.info, info);
assert_equals(event.hasUAVisualTransition, hasUAVisualTransition);
- assert_equals(event.sourceElement, sourceElement);
+ // NavigateEvent sourceElement is still in development, so test whether it is available.
+ if ("sourceElement" in e) assert_equals(event.sourceElement, sourceElement);
});
history.pushState(2, null, "#2");
}, "all properties are reflected back");
@@ -98,7 +99,8 @@ async_test(t => {
assert_equals(event.formData, null);
assert_equals(event.downloadRequest, null);
assert_equals(event.info, undefined);
- assert_equals(event.sourceElement, null);
+ // NavigateEvent sourceElement is still in development, so test whether it is available.
+ if ("sourceElement" in e) assert_equals(event.sourceElement, null);
});
history.pushState(3, null, "#3");
}, "defaults are as expected");
diff --git a/tests/wpt/tests/navigation-api/navigate-event/navigate-anchor-cross-origin.html b/tests/wpt/tests/navigation-api/navigate-event/navigate-anchor-cross-origin.html
index 62e5adb20ae..a69b78196ff 100644
--- a/tests/wpt/tests/navigation-api/navigate-event/navigate-anchor-cross-origin.html
+++ b/tests/wpt/tests/navigation-api/navigate-event/navigate-anchor-cross-origin.html
@@ -17,7 +17,8 @@ async_test(t => {
assert_equals(e.destination.key, "");
assert_equals(e.destination.id, "");
assert_equals(e.destination.index, -1);
- assert_equals(e.sourceElement, document.getElementById("a"));
+ // NavigateEvent sourceElement is still in development, so test whether it is available.
+ if ("sourceElement" in e) assert_equals(e.sourceElement, document.getElementById("a"));
e.preventDefault();
});
a.click();
diff --git a/tests/wpt/tests/navigation-api/navigate-event/navigate-anchor-download-userInitiated.html b/tests/wpt/tests/navigation-api/navigate-event/navigate-anchor-download-userInitiated.html
index 69181425292..17109a2ae82 100644
--- a/tests/wpt/tests/navigation-api/navigate-event/navigate-anchor-download-userInitiated.html
+++ b/tests/wpt/tests/navigation-api/navigate-event/navigate-anchor-download-userInitiated.html
@@ -21,7 +21,8 @@ async_test(t => {
assert_equals(e.destination.key, "");
assert_equals(e.destination.id, "");
assert_equals(e.destination.index, -1);
- assert_equals(e.sourceElement, document.getElementById("a"));
+ // NavigateEvent sourceElement is still in development, so test whether it is available.
+ if ("sourceElement" in e) assert_equals(e.sourceElement, document.getElementById("a"));
e.preventDefault();
t.step_timeout(t.step_func_done(() => assert_equals(location.hash, "")), 0);
});
diff --git a/tests/wpt/tests/navigation-api/navigate-event/navigate-anchor-download.html b/tests/wpt/tests/navigation-api/navigate-event/navigate-anchor-download.html
index d04245ec253..fbeeb69b956 100644
--- a/tests/wpt/tests/navigation-api/navigate-event/navigate-anchor-download.html
+++ b/tests/wpt/tests/navigation-api/navigate-event/navigate-anchor-download.html
@@ -25,7 +25,8 @@ for (const [tag, download_attr] of tests) {
assert_equals(e.destination.key, "");
assert_equals(e.destination.id, "");
assert_equals(e.destination.index, -1);
- assert_equals(e.sourceElement, a);
+ // NavigateEvent sourceElement is still in development, so test whether it is available.
+ if ("sourceElement" in e) assert_equals(e.sourceElement, a);
e.preventDefault();
});
a.click();
diff --git a/tests/wpt/tests/navigation-api/navigate-event/navigate-anchor-fragment.html b/tests/wpt/tests/navigation-api/navigate-event/navigate-anchor-fragment.html
index 6443ccecd1d..69400c3d2f3 100644
--- a/tests/wpt/tests/navigation-api/navigate-event/navigate-anchor-fragment.html
+++ b/tests/wpt/tests/navigation-api/navigate-event/navigate-anchor-fragment.html
@@ -17,7 +17,8 @@ async_test(t => {
assert_equals(e.destination.key, "");
assert_equals(e.destination.id, "");
assert_equals(e.destination.index, -1);
- assert_equals(e.sourceElement, document.getElementById("a"));
+ // NavigateEvent sourceElement is still in development, so test whether it is available.
+ if ("sourceElement" in e) assert_equals(e.sourceElement, document.getElementById("a"));
e.preventDefault();
t.step_timeout(t.step_func_done(() => assert_equals(location.hash, "")), 0);
});
diff --git a/tests/wpt/tests/navigation-api/navigate-event/navigate-anchor-same-origin-cross-document.html b/tests/wpt/tests/navigation-api/navigate-event/navigate-anchor-same-origin-cross-document.html
index 5a6dce7ec8b..084993540a1 100644
--- a/tests/wpt/tests/navigation-api/navigate-event/navigate-anchor-same-origin-cross-document.html
+++ b/tests/wpt/tests/navigation-api/navigate-event/navigate-anchor-same-origin-cross-document.html
@@ -18,7 +18,8 @@ async_test(t => {
assert_equals(e.destination.key, "");
assert_equals(e.destination.id, "");
assert_equals(e.destination.index, -1);
- assert_equals(e.sourceElement, document.getElementById("a"));
+ // NavigateEvent sourceElement is still in development, so test whether it is available.
+ if ("sourceElement" in e) assert_equals(e.sourceElement, document.getElementById("a"));
e.preventDefault();
});
a.click();
diff --git a/tests/wpt/tests/navigation-api/navigate-event/navigate-anchor-userInitiated.html b/tests/wpt/tests/navigation-api/navigate-event/navigate-anchor-userInitiated.html
index bb76e7a3fbe..686d7ad6ee3 100644
--- a/tests/wpt/tests/navigation-api/navigate-event/navigate-anchor-userInitiated.html
+++ b/tests/wpt/tests/navigation-api/navigate-event/navigate-anchor-userInitiated.html
@@ -20,7 +20,8 @@ async_test(t => {
assert_equals(e.destination.key, "");
assert_equals(e.destination.id, "");
assert_equals(e.destination.index, -1);
- assert_equals(e.sourceElement, document.getElementById("a"));
+ // NavigateEvent sourceElement is still in development, so test whether it is available.
+ if ("sourceElement" in e) assert_equals(e.sourceElement, document.getElementById("a"));
e.preventDefault();
t.step_timeout(t.step_func_done(() => assert_equals(location.hash, "")), 0);
});
diff --git a/tests/wpt/tests/navigation-api/navigate-event/navigate-anchor-with-target.html b/tests/wpt/tests/navigation-api/navigate-event/navigate-anchor-with-target.html
index e4b897d82f3..de74239b3be 100644
--- a/tests/wpt/tests/navigation-api/navigate-event/navigate-anchor-with-target.html
+++ b/tests/wpt/tests/navigation-api/navigate-event/navigate-anchor-with-target.html
@@ -20,10 +20,11 @@ async_test(t => {
assert_equals(new URL(e.destination.url).pathname,
"/navigation-api/navigate-event/foo.html");
assert_false(e.destination.sameDocument);
- assert_equals(e.destination.key, "");
- assert_equals(e.destination.id, "");
+ assert_equals(e.destination.key, "");
+ assert_equals(e.destination.id, "");
assert_equals(e.destination.index, -1);
- assert_equals(e.sourceElement, null);
+ // NavigateEvent sourceElement is still in development, so test whether it is available.
+ if ("sourceElement" in e) assert_equals(e.sourceElement, null);
e.preventDefault();
});
a.click();
diff --git a/tests/wpt/tests/navigation-api/navigate-event/navigate-destination-getState-back-forward.html b/tests/wpt/tests/navigation-api/navigate-event/navigate-destination-getState-back-forward.html
index 869fc164815..b206981821b 100644
--- a/tests/wpt/tests/navigation-api/navigate-event/navigate-destination-getState-back-forward.html
+++ b/tests/wpt/tests/navigation-api/navigate-event/navigate-destination-getState-back-forward.html
@@ -19,7 +19,8 @@ async_test(t => {
assert_equals(e.destination.key, "");
assert_equals(e.destination.id, "");
assert_equals(e.destination.index, -1);
- assert_equals(e.sourceElement, null);
+ // NavigateEvent sourceElement is still in development, so test whether it is available.
+ if ("sourceElement" in e) assert_equals(e.sourceElement, null);
});
navigation.back();
}), 0);
diff --git a/tests/wpt/tests/navigation-api/navigate-event/navigate-destination-getState-navigate.html b/tests/wpt/tests/navigation-api/navigate-event/navigate-destination-getState-navigate.html
index d19a1685145..1e622f99117 100644
--- a/tests/wpt/tests/navigation-api/navigate-event/navigate-destination-getState-navigate.html
+++ b/tests/wpt/tests/navigation-api/navigate-event/navigate-destination-getState-navigate.html
@@ -16,7 +16,8 @@ async_test(t => {
assert_equals(e.destination.key, "");
assert_equals(e.destination.id, "");
assert_equals(e.destination.index, -1);
- assert_equals(e.sourceElement, null);
+ // NavigateEvent sourceElement is still in development, so test whether it is available.
+ if ("sourceElement" in e) assert_equals(e.sourceElement, null);
});
navigation.navigate("#foo", { state: navState });
}, 0);
diff --git a/tests/wpt/tests/navigation-api/navigate-event/navigate-destination-getState-reload.html b/tests/wpt/tests/navigation-api/navigate-event/navigate-destination-getState-reload.html
index ac6528ce7ef..be33b8120da 100644
--- a/tests/wpt/tests/navigation-api/navigate-event/navigate-destination-getState-reload.html
+++ b/tests/wpt/tests/navigation-api/navigate-event/navigate-destination-getState-reload.html
@@ -16,7 +16,8 @@ async_test(t => {
assert_equals(e.destination.key, "");
assert_equals(e.destination.id, "");
assert_equals(e.destination.index, -1);
- assert_equals(e.sourceElement, null);
+ // NavigateEvent sourceElement is still in development, so test whether it is available.
+ if ("sourceElement" in e) assert_equals(e.sourceElement, null);
e.intercept();
});
navigation.updateCurrentEntry({ state: navState });
diff --git a/tests/wpt/tests/navigation-api/navigate-event/navigate-form-get.html b/tests/wpt/tests/navigation-api/navigate-event/navigate-form-get.html
index 7a71a1c3050..59661a1caf7 100644
--- a/tests/wpt/tests/navigation-api/navigate-event/navigate-form-get.html
+++ b/tests/wpt/tests/navigation-api/navigate-event/navigate-form-get.html
@@ -21,7 +21,8 @@ async_test(t => {
// Because it's a GET, not a POST
assert_equals(e.formData, null);
- assert_equals(e.sourceElement, form);
+ // NavigateEvent sourceElement is still in development, so test whether it is available.
+ if ("sourceElement" in e) assert_equals(e.sourceElement, form);
});
window.onload = t.step_func(() => form.submit());
}, "