]
+ expected: FAIL
+
+ [element.streamHTMLUnsafe: sanitizer takes effect after adoption agency]
+ expected: FAIL
+
+ [element.streamHTMLUnsafe: mutating the sanitizer while streaming does not effect the originally given sanitizer]
+ expected: FAIL
+
+ [element.streamAppendHTMLUnsafe with sanitizer {removeElements}]
+ expected: FAIL
+
+ [element.streamAppendHTMLUnsafe with sanitizer {elements}]
+ expected: FAIL
+
+ [element.streamAppendHTMLUnsafe with sanitizer {replaceWithChildrenElements}]
+ expected: FAIL
+
+ [element.streamAppendHTMLUnsafe with sanitizer {replaceWithChildrenElements} and text]
+ expected: FAIL
+
+ [element.streamAppendHTMLUnsafe with sanitizer {attributes}]
+ expected: FAIL
+
+ [element.streamAppendHTMLUnsafe with sanitizer {removeAttributes}]
+ expected: FAIL
+
+ [element.streamAppendHTMLUnsafe with sanitizer {element: [{removeAttributes}\]}]
+ expected: FAIL
+
+ [element.streamAppendHTMLUnsafe with sanitizer {element: [{attributes}\]}]
+ expected: FAIL
+
+ [element.streamAppendHTMLUnsafe with sanitizer should sanitize template contents]
+ expected: FAIL
+
+ [element.streamAppendHTMLUnsafe: sanitizer shouldn't allow escaping template]
+ expected: FAIL
+
+ [element.streamAppendHTMLUnsafe: sanitizer takes effect after foster parenting]
+ expected: FAIL
+
+ [element.streamAppendHTMLUnsafe: sanitizer with foster parenting:
]
+ expected: FAIL
+
+ [element.streamAppendHTMLUnsafe: sanitizer takes effect after adoption agency]
+ expected: FAIL
+
+ [element.streamAppendHTMLUnsafe: mutating the sanitizer while streaming does not effect the originally given sanitizer]
+ expected: FAIL
diff --git a/testing/web-platform/meta/html/rendering/replaced-elements/embedded-content/change-src-while-not-displayed.html.ini b/testing/web-platform/meta/html/rendering/replaced-elements/embedded-content/change-src-while-not-displayed.html.ini
index bb4e40f7ee792..dd87930133a7c 100644
--- a/testing/web-platform/meta/html/rendering/replaced-elements/embedded-content/change-src-while-not-displayed.html.ini
+++ b/testing/web-platform/meta/html/rendering/replaced-elements/embedded-content/change-src-while-not-displayed.html.ini
@@ -3,4 +3,5 @@
if (os == "linux") and swgl and debug and fission: [PASS, FAIL]
if (os == "win") and debug and not swgl: [PASS, FAIL]
if (os == "linux") and swgl and not debug: [PASS, FAIL]
+ if (os == "android") and debug and not swgl: [PASS, FAIL]
if (os == "linux") and not swgl: [PASS, FAIL]
diff --git a/testing/web-platform/meta/html/semantics/embedded-content/media-elements/autoplay-allowed-by-feature-policy-attribute.https.sub.html.ini b/testing/web-platform/meta/html/semantics/embedded-content/media-elements/autoplay-allowed-by-feature-policy-attribute.https.sub.html.ini
index f987935ec778e..e4338d353dee4 100644
--- a/testing/web-platform/meta/html/semantics/embedded-content/media-elements/autoplay-allowed-by-feature-policy-attribute.https.sub.html.ini
+++ b/testing/web-platform/meta/html/semantics/embedded-content/media-elements/autoplay-allowed-by-feature-policy-attribute.https.sub.html.ini
@@ -1,13 +1,14 @@
implementation-status: backlog
[autoplay-allowed-by-feature-policy-attribute.https.sub.html]
expected:
- if os_version == "14.70": [OK, TIMEOUT]
- if os_version == "14": [OK, TIMEOUT]
+ if os == "mac": [OK, TIMEOUT]
+ if os == "android": [OK, TIMEOUT]
[Feature policy "autoplay" can be enabled in cross-origin iframe using allow="autoplay" attribute]
expected:
- if os_version == "14.70": [PASS, TIMEOUT]
- if os_version == "14": [PASS, TIMEOUT]
+ if os == "mac": [PASS, TIMEOUT]
+ if os == "android": [PASS, TIMEOUT]
[Feature policy "autoplay" can be enabled in same-origin iframe using allow="autoplay" attribute]
expected:
if os == "mac": [PASS, TIMEOUT]
+ if os == "android": [PASS, TIMEOUT]
diff --git a/testing/web-platform/meta/html/semantics/embedded-content/media-elements/autoplay-allowed-by-feature-policy.https.sub.html.ini b/testing/web-platform/meta/html/semantics/embedded-content/media-elements/autoplay-allowed-by-feature-policy.https.sub.html.ini
index 795a72d70a071..53142aecb9b97 100644
--- a/testing/web-platform/meta/html/semantics/embedded-content/media-elements/autoplay-allowed-by-feature-policy.https.sub.html.ini
+++ b/testing/web-platform/meta/html/semantics/embedded-content/media-elements/autoplay-allowed-by-feature-policy.https.sub.html.ini
@@ -1,21 +1,19 @@
implementation-status: backlog
[autoplay-allowed-by-feature-policy.https.sub.html]
expected:
- if (os == "android") and (version == "7.0"): OK
if os == "linux": OK
[OK, TIMEOUT]
[Feature-Policy header: autoplay * allows cross-origin iframes.]
expected:
- if (os == "android") and (version == "7.0"): PASS
if os == "linux": PASS
[PASS, TIMEOUT]
[Feature-Policy header: autoplay * allows same-origin iframes.]
expected:
- if (os == "android") and (version == "7.0"): PASS
if os == "linux": PASS
[PASS, TIMEOUT]
[Feature-Policy header: autoplay * allows the top-level document.]
expected:
if os == "mac": [PASS, TIMEOUT]
+ if os == "android": [PASS, TIMEOUT]
diff --git a/testing/web-platform/meta/html/semantics/embedded-content/media-elements/autoplay-default-feature-policy.https.sub.html.ini b/testing/web-platform/meta/html/semantics/embedded-content/media-elements/autoplay-default-feature-policy.https.sub.html.ini
index 196c271a1103c..56729fb1169db 100644
--- a/testing/web-platform/meta/html/semantics/embedded-content/media-elements/autoplay-default-feature-policy.https.sub.html.ini
+++ b/testing/web-platform/meta/html/semantics/embedded-content/media-elements/autoplay-default-feature-policy.https.sub.html.ini
@@ -12,6 +12,7 @@ implementation-status: backlog
[Default "autoplay" feature policy ["self"\] allows same-origin iframes.]
expected:
if os == "mac": [PASS, TIMEOUT]
+ if os == "android": [PASS, TIMEOUT]
[Default "autoplay" feature policy ["self"\] allows the top-level document.]
expected:
diff --git a/testing/web-platform/meta/html/semantics/embedded-content/media-elements/autoplay-disabled-by-feature-policy.https.sub.html.ini b/testing/web-platform/meta/html/semantics/embedded-content/media-elements/autoplay-disabled-by-feature-policy.https.sub.html.ini
index 743df5759e2cc..7ecb93700e9c0 100644
--- a/testing/web-platform/meta/html/semantics/embedded-content/media-elements/autoplay-disabled-by-feature-policy.https.sub.html.ini
+++ b/testing/web-platform/meta/html/semantics/embedded-content/media-elements/autoplay-disabled-by-feature-policy.https.sub.html.ini
@@ -1,19 +1,21 @@
implementation-status: backlog
[autoplay-disabled-by-feature-policy.https.sub.html]
expected:
- if (os == "android") and (version == "14"): [OK, TIMEOUT]
if os == "mac": [OK, TIMEOUT]
+ if os == "android": [OK, TIMEOUT]
[Feature-Policy header: autoplay "none" disallows same-origin iframes.]
expected:
if os == "mac": [FAIL, TIMEOUT]
+ if os == "android": [FAIL, TIMEOUT]
FAIL
[Feature-Policy header: autoplay "none" disallows cross-origin iframes.]
expected:
- if (os == "android") and (version == "14"): [FAIL, TIMEOUT]
if os == "mac": [FAIL, TIMEOUT]
+ if os == "android": [FAIL, TIMEOUT]
FAIL
[Feature-Policy header: autoplay "none" has no effect on the top level document.]
expected:
if os == "mac": [PASS, TIMEOUT]
+ if os == "android": [PASS, TIMEOUT]
diff --git a/testing/web-platform/meta/html/semantics/embedded-content/media-elements/loading-the-media-resource/load-events-networkState.html.ini b/testing/web-platform/meta/html/semantics/embedded-content/media-elements/loading-the-media-resource/load-events-networkState.html.ini
index 5e78f1cb44c3c..b086a73315356 100644
--- a/testing/web-platform/meta/html/semantics/embedded-content/media-elements/loading-the-media-resource/load-events-networkState.html.ini
+++ b/testing/web-platform/meta/html/semantics/embedded-content/media-elements/loading-the-media-resource/load-events-networkState.html.ini
@@ -1,2 +1,4 @@
[load-events-networkState.html]
bug: 1709960
+ expected:
+ if (os == "android") and debug: TIMEOUT
diff --git a/testing/web-platform/meta/html/semantics/embedded-content/media-elements/loading-the-media-resource/resource-selection-candidate-insert-before.html.ini b/testing/web-platform/meta/html/semantics/embedded-content/media-elements/loading-the-media-resource/resource-selection-candidate-insert-before.html.ini
index 02d2396f985e9..fb447ae9e6aff 100644
--- a/testing/web-platform/meta/html/semantics/embedded-content/media-elements/loading-the-media-resource/resource-selection-candidate-insert-before.html.ini
+++ b/testing/web-platform/meta/html/semantics/embedded-content/media-elements/loading-the-media-resource/resource-selection-candidate-insert-before.html.ini
@@ -1,12 +1,13 @@
[resource-selection-candidate-insert-before.html]
+ expected:
+ if (os == "android") and debug and not sessionHistoryInParent: [TIMEOUT, OK]
+ if (os == "android") and not debug and sessionHistoryInParent: [TIMEOUT, OK]
+ if (os == "android") and not debug and not sessionHistoryInParent: [TIMEOUT, OK]
[inserting another source before the candidate]
expected:
if (os == "win") and (os_version == "11.26100") and ccov: [PASS, FAIL]
- if (os == "linux") and not debug and not asan and tsan: [PASS, FAIL]
- if (os == "linux") and debug and not fission: [PASS, FAIL]
- if (os == "linux") and not debug and asan: [PASS, FAIL]
- if (os == "android") and debug and sessionHistoryInParent: [FAIL, PASS]
+ if (os == "android") and not debug and not sessionHistoryInParent: FAIL
if (os == "win") and not debug: FAIL
+ if (os == "linux") and tsan: [PASS, FAIL]
if os == "mac": FAIL
- if (os == "android") and not sessionHistoryInParent and not debug: FAIL
[FAIL, PASS]
diff --git a/testing/web-platform/meta/html/semantics/scripting-1/the-script-element/module/modulepreload-referrerpolicy.html.ini b/testing/web-platform/meta/html/semantics/scripting-1/the-script-element/module/modulepreload-referrerpolicy.html.ini
index e97b2738f9166..985a8c6203638 100644
--- a/testing/web-platform/meta/html/semantics/scripting-1/the-script-element/module/modulepreload-referrerpolicy.html.ini
+++ b/testing/web-platform/meta/html/semantics/scripting-1/the-script-element/module/modulepreload-referrerpolicy.html.ini
@@ -7,6 +7,7 @@
[Modulepreload with strict-origin policy should send origin-only referrer]
expected:
+ if (os == "linux") and not asan and not debug and not tsan: [PASS, FAIL]
if (os == "win") and debug and (processor == "x86_64"): [PASS, FAIL]
if (os == "linux") and asan and fission: [PASS, FAIL]
if (os == "android") and sessionHistoryInParent and debug: [PASS, FAIL]
diff --git a/testing/web-platform/meta/mediacapture-record/MediaRecorder-canvas-media-source.https.html.ini b/testing/web-platform/meta/mediacapture-record/MediaRecorder-canvas-media-source.https.html.ini
index 837ce8816c2cf..eeed3099f1a1f 100644
--- a/testing/web-platform/meta/mediacapture-record/MediaRecorder-canvas-media-source.https.html.ini
+++ b/testing/web-platform/meta/mediacapture-record/MediaRecorder-canvas-media-source.https.html.ini
@@ -58,5 +58,6 @@
[MediaRecorder-canvas-media-source.https.html?mimeType=video/mp4;codecs=av01,mp4a.40.2]
expected:
+ if (os == "mac") and debug: [OK, TIMEOUT]
if (os == "mac") and not debug: [OK, TIMEOUT]
if (os == "linux") and not fission: [OK, CRASH]
diff --git a/testing/web-platform/meta/mediacapture-record/MediaRecorder-creation.https.html.ini b/testing/web-platform/meta/mediacapture-record/MediaRecorder-creation.https.html.ini
index ceef73fe4cc40..04d9875acf2a2 100644
--- a/testing/web-platform/meta/mediacapture-record/MediaRecorder-creation.https.html.ini
+++ b/testing/web-platform/meta/mediacapture-record/MediaRecorder-creation.https.html.ini
@@ -1,4 +1,4 @@
[MediaRecorder-creation.https.html]
expected:
if (os == "linux") and not debug and fission: [OK, CRASH]
- if (os == "android") and fission: [OK, TIMEOUT]
+ if (os == "mac") and debug: [OK, TIMEOUT]
diff --git a/testing/web-platform/meta/mediacapture-record/MediaRecorder-peerconnection-no-sink.https.html.ini b/testing/web-platform/meta/mediacapture-record/MediaRecorder-peerconnection-no-sink.https.html.ini
index 00d68e9d655dc..ba02046155829 100644
--- a/testing/web-platform/meta/mediacapture-record/MediaRecorder-peerconnection-no-sink.https.html.ini
+++ b/testing/web-platform/meta/mediacapture-record/MediaRecorder-peerconnection-no-sink.https.html.ini
@@ -1,11 +1,10 @@
[MediaRecorder-peerconnection-no-sink.https.html]
expected:
if (os == "android") and release_or_beta: OK
- if (os_version == "24.04") and not debug and fission: [OK, CRASH]
- if (os_version == "14.70") and not debug: [OK, TIMEOUT]
- if os_version == "7.0": [OK, TIMEOUT]
- if os_version == "18.04": [OK, CRASH]
- if os_version == "14": [OK, TIMEOUT]
+ if (os == "linux") and not debug and fission: [OK, CRASH]
+ if (os == "mac") and debug: [OK, TIMEOUT]
+ if (os == "mac") and not debug: [OK, TIMEOUT]
+ if os == "android": [OK, TIMEOUT]
[MediaRecorder records from PeerConnection without sinks, {"video":{}}]
bug: https://bugzilla.mozilla.org/show_bug.cgi?id=1669551
expected:
diff --git a/testing/web-platform/meta/mozilla-sync b/testing/web-platform/meta/mozilla-sync
index 39259576aa7b3..984c0ede061a2 100644
--- a/testing/web-platform/meta/mozilla-sync
+++ b/testing/web-platform/meta/mozilla-sync
@@ -1 +1 @@
-upstream: 690f95ba24fdbe74cb0085793c448a4a989e5ed7
+upstream: 10bbfe6bcf96c8df39cd2d759fd33cbe05e99cbc
diff --git a/testing/web-platform/meta/pointerevents/pointerevent_after_target_removed_interleaved.tentative.html.ini b/testing/web-platform/meta/pointerevents/pointerevent_after_target_removed_interleaved.tentative.html.ini
index 2685882fb3e2a..131e008c4fccf 100644
--- a/testing/web-platform/meta/pointerevents/pointerevent_after_target_removed_interleaved.tentative.html.ini
+++ b/testing/web-platform/meta/pointerevents/pointerevent_after_target_removed_interleaved.tentative.html.ini
@@ -8,6 +8,7 @@
[pointerevent_after_target_removed_interleaved.tentative.html?touch]
expected:
+ if (os == "win") and debug and (processor == "x86"): [OK, TIMEOUT]
if (os == "linux") and debug: [OK, TIMEOUT]
[mouse events from touch received before/after child removal at pointerdown]
expected:
@@ -16,6 +17,7 @@
[mouse events from touch received before/after child removal at pointerup]
expected:
+ if (os == "win") and debug and (processor == "x86"): [FAIL, TIMEOUT]
if (os == "linux") and debug: [FAIL, NOTRUN]
FAIL
diff --git a/testing/web-platform/meta/pointerevents/pointerevent_click_is_a_pointerevent.html.ini b/testing/web-platform/meta/pointerevents/pointerevent_click_is_a_pointerevent.html.ini
index 6129c88fc9836..29d46a9660b83 100644
--- a/testing/web-platform/meta/pointerevents/pointerevent_click_is_a_pointerevent.html.ini
+++ b/testing/web-platform/meta/pointerevents/pointerevent_click_is_a_pointerevent.html.ini
@@ -13,16 +13,16 @@
[pointerevent_click_is_a_pointerevent.html?touch]
expected:
- if (os == "win") and debug and (processor == "x86"): [OK, TIMEOUT]
- if (os == "linux") and debug and not fission: [OK, TIMEOUT]
+ if (processor == "x86_64") and (os == "linux") and debug and not fission: [OK, TIMEOUT]
+ if (processor == "x86") and debug: [OK, TIMEOUT]
[click using touch is a PointerEvent with correct properties]
expected:
if (os == "linux") and debug and not fission: [PASS, TIMEOUT]
[click using touch is a PointerEvent with correct properties in a subframe]
expected:
- if (os == "win") and debug and (processor == "x86"): [PASS, NOTRUN]
- if (os == "linux") and debug and not fission: [PASS, NOTRUN]
+ if (processor == "x86_64") and (os == "linux") and debug and not fission: [PASS, NOTRUN]
+ if (processor == "x86") and debug: [PASS, TIMEOUT, NOTRUN]
[click using touch is a PointerEvent with correct properties when no other PointerEvent listeners are present]
expected:
diff --git a/testing/web-platform/meta/streams/piping/flow-control.any.js.ini b/testing/web-platform/meta/streams/piping/flow-control.any.js.ini
index bb382831b6546..ca59d97eb8c8f 100644
--- a/testing/web-platform/meta/streams/piping/flow-control.any.js.ini
+++ b/testing/web-platform/meta/streams/piping/flow-control.any.js.ini
@@ -11,6 +11,8 @@
if (os == "android") and debug and sessionHistoryInParent: [OK, TIMEOUT]
[flow-control.any.html]
+ expected:
+ if not sessionHistoryInParent and not debug: [OK, TIMEOUT]
[flow-control.any.shadowrealm.html]
expected: ERROR
@@ -32,7 +34,7 @@
[flow-control.any.shadowrealm-in-dedicatedworker.html]
expected:
- if (os == "win") and not debug and (processor == "x86_64"): [ERROR, CRASH]
+ if (os == "win") and not debug: [ERROR, CRASH]
ERROR
[flow-control.any.shadowrealm-in-shadowrealm.html]
diff --git a/testing/web-platform/meta/streams/piping/general-addition.any.js.ini b/testing/web-platform/meta/streams/piping/general-addition.any.js.ini
index 02a9a40f6e403..e1e5ed398390e 100644
--- a/testing/web-platform/meta/streams/piping/general-addition.any.js.ini
+++ b/testing/web-platform/meta/streams/piping/general-addition.any.js.ini
@@ -18,7 +18,9 @@
expected: [ERROR, TIMEOUT]
[general-addition.any.shadowrealm-in-sharedworker.html]
- expected: ERROR
+ expected:
+ if not sessionHistoryInParent and not debug: [ERROR, TIMEOUT]
+ ERROR
[general-addition.any.shadowrealm-in-shadowrealm.html]
expected:
diff --git a/testing/web-platform/meta/streams/readable-byte-streams/enqueue-with-detached-buffer.any.js.ini b/testing/web-platform/meta/streams/readable-byte-streams/enqueue-with-detached-buffer.any.js.ini
index 255f525b2da74..feeeed9aa8189 100644
--- a/testing/web-platform/meta/streams/readable-byte-streams/enqueue-with-detached-buffer.any.js.ini
+++ b/testing/web-platform/meta/streams/readable-byte-streams/enqueue-with-detached-buffer.any.js.ini
@@ -1,4 +1,6 @@
[enqueue-with-detached-buffer.any.sharedworker.html]
+ expected:
+ if (os == "android") and sessionHistoryInParent and not debug: [OK, TIMEOUT]
[enqueue-with-detached-buffer.any.worker.html]
expected:
@@ -32,7 +34,8 @@
[enqueue-with-detached-buffer.any.shadowrealm-in-shadowrealm.html]
expected:
- if not sessionHistoryInParent and debug: [ERROR, TIMEOUT]
+ if (os == "android") and sessionHistoryInParent and not debug: [ERROR, TIMEOUT]
+ if (os == "android") and not sessionHistoryInParent and debug: [ERROR, TIMEOUT]
ERROR
[enqueue-with-detached-buffer.any.shadowrealm-in-window.html]
diff --git a/testing/web-platform/meta/streams/readable-byte-streams/general.any.js.ini b/testing/web-platform/meta/streams/readable-byte-streams/general.any.js.ini
index fdd3a163091e0..cdda6edfeed0c 100644
--- a/testing/web-platform/meta/streams/readable-byte-streams/general.any.js.ini
+++ b/testing/web-platform/meta/streams/readable-byte-streams/general.any.js.ini
@@ -11,6 +11,7 @@
[general.any.serviceworker.html]
expected:
+ if sessionHistoryInParent and (os == "android") and not debug: [OK, TIMEOUT]
if not sessionHistoryInParent and not debug: [OK, TIMEOUT]
[general.any.sharedworker.html]
@@ -40,8 +41,8 @@
[general.any.shadowrealm-in-window.html]
expected:
- if (os == "android") and debug and sessionHistoryInParent: [ERROR, TIMEOUT]
- if (os == "android") and not debug and not sessionHistoryInParent: [ERROR, TIMEOUT]
+ if (os == "android") and sessionHistoryInParent and debug: [ERROR, TIMEOUT]
+ if (os == "android") and not sessionHistoryInParent and not debug: [ERROR, TIMEOUT]
ERROR
[general.https.any.shadowrealm-in-audioworklet.html]
diff --git a/testing/web-platform/meta/streams/readable-byte-streams/non-transferable-buffers.any.js.ini b/testing/web-platform/meta/streams/readable-byte-streams/non-transferable-buffers.any.js.ini
index 5fb1bff658a07..d2b7c14b3a47d 100644
--- a/testing/web-platform/meta/streams/readable-byte-streams/non-transferable-buffers.any.js.ini
+++ b/testing/web-platform/meta/streams/readable-byte-streams/non-transferable-buffers.any.js.ini
@@ -31,9 +31,7 @@
expected: ERROR
[non-transferable-buffers.https.any.shadowrealm-in-audioworklet.html]
- expected:
- if (os == "android") and debug and sessionHistoryInParent: TIMEOUT
- ERROR
+ expected: ERROR
[non-transferable-buffers.any.shadowrealm-in-shadowrealm.html]
expected: ERROR
@@ -44,4 +42,6 @@
ERROR
[non-transferable-buffers.any.shadowrealm-in-sharedworker.html]
- expected: ERROR
+ expected:
+ if (os == "android") and sessionHistoryInParent and not debug: [ERROR, TIMEOUT]
+ ERROR
diff --git a/testing/web-platform/meta/streams/readable-byte-streams/patched-global.any.js.ini b/testing/web-platform/meta/streams/readable-byte-streams/patched-global.any.js.ini
index d5ee54c2e7f60..6220a0db55798 100644
--- a/testing/web-platform/meta/streams/readable-byte-streams/patched-global.any.js.ini
+++ b/testing/web-platform/meta/streams/readable-byte-streams/patched-global.any.js.ini
@@ -8,8 +8,7 @@
[patched-global.any.shadowrealm-in-dedicatedworker.html]
expected:
- if (os == "android") and debug and sessionHistoryInParent: [ERROR, TIMEOUT]
- if (os == "android") and debug and not sessionHistoryInParent: [ERROR, TIMEOUT]
+ if (os == "android") and debug: [ERROR, TIMEOUT]
ERROR
[patched-global.https.any.shadowrealm-in-audioworklet.html]
@@ -24,7 +23,9 @@
expected: ERROR
[patched-global.https.any.shadowrealm-in-serviceworker.html]
- expected: ERROR
+ expected:
+ if not sessionHistoryInParent and not debug: [ERROR, TIMEOUT]
+ ERROR
[patched-global.any.sharedworker.html]
expected:
diff --git a/testing/web-platform/meta/streams/readable-streams/floating-point-total-queue-size.any.js.ini b/testing/web-platform/meta/streams/readable-streams/floating-point-total-queue-size.any.js.ini
index 43b642f89abba..5f6b5321ddd46 100644
--- a/testing/web-platform/meta/streams/readable-streams/floating-point-total-queue-size.any.js.ini
+++ b/testing/web-platform/meta/streams/readable-streams/floating-point-total-queue-size.any.js.ini
@@ -8,11 +8,10 @@
[floating-point-total-queue-size.any.sharedworker.html]
expected:
+ if (os == "android") and sessionHistoryInParent and debug: TIMEOUT
if (os == "android") and sessionHistoryInParent and not debug: [OK, TIMEOUT]
[floating-point-total-queue-size.any.html]
- expected:
- if not sessionHistoryInParent and debug: TIMEOUT
[floating-point-total-queue-size.any.shadowrealm.html]
expected:
diff --git a/testing/web-platform/meta/streams/readable-streams/global.html.ini b/testing/web-platform/meta/streams/readable-streams/global.html.ini
index 7611922f98f9e..20496b3e12905 100644
--- a/testing/web-platform/meta/streams/readable-streams/global.html.ini
+++ b/testing/web-platform/meta/streams/readable-streams/global.html.ini
@@ -1,3 +1,4 @@
[global.html]
expected:
+ if sessionHistoryInParent and (os == "android") and debug: [OK, TIMEOUT]
if not sessionHistoryInParent and not debug: [OK, TIMEOUT]
diff --git a/testing/web-platform/meta/streams/transform-streams/errors.any.js.ini b/testing/web-platform/meta/streams/transform-streams/errors.any.js.ini
index ad923d9de6abf..606cbb19a2bcb 100644
--- a/testing/web-platform/meta/streams/transform-streams/errors.any.js.ini
+++ b/testing/web-platform/meta/streams/transform-streams/errors.any.js.ini
@@ -36,6 +36,7 @@
[errors.any.shadowrealm-in-shadowrealm.html]
expected:
+ if (os == "android") and debug and not sessionHistoryInParent: TIMEOUT
if (os == "win") and not debug: [ERROR, CRASH]
ERROR
diff --git a/testing/web-platform/meta/streams/transform-streams/terminate.any.js.ini b/testing/web-platform/meta/streams/transform-streams/terminate.any.js.ini
index 1fbe190445511..312bea4f59275 100644
--- a/testing/web-platform/meta/streams/transform-streams/terminate.any.js.ini
+++ b/testing/web-platform/meta/streams/transform-streams/terminate.any.js.ini
@@ -19,7 +19,9 @@
ERROR
[terminate.any.shadowrealm-in-shadowrealm.html]
- expected: ERROR
+ expected:
+ if not sessionHistoryInParent and debug: TIMEOUT
+ ERROR
[terminate.https.any.shadowrealm-in-serviceworker.html]
expected: [ERROR, TIMEOUT]
diff --git a/testing/web-platform/meta/streams/writable-streams/error.any.js.ini b/testing/web-platform/meta/streams/writable-streams/error.any.js.ini
index 89c1d65582de2..826b7604df55c 100644
--- a/testing/web-platform/meta/streams/writable-streams/error.any.js.ini
+++ b/testing/web-platform/meta/streams/writable-streams/error.any.js.ini
@@ -1,7 +1,7 @@
[error.any.serviceworker.html]
expected:
if (os == "android") and not debug and sessionHistoryInParent: [OK, ERROR, TIMEOUT]
- if (os == "android") and not debug and not sessionHistoryInParent: [OK, ERROR]
+ if (os == "android") and not debug and not sessionHistoryInParent: [OK, TIMEOUT, ERROR]
if (os == "mac") and not debug: [OK, ERROR]
[error.any.worker.html]
@@ -12,9 +12,9 @@
[error.any.sharedworker.html]
expected:
- if (os == "android") and debug and not sessionHistoryInParent: [OK, TIMEOUT]
- if (os == "android") and not debug and sessionHistoryInParent: [OK, CRASH]
- if (os == "android") and not debug and not sessionHistoryInParent: [OK, TIMEOUT, CRASH]
+ if sessionHistoryInParent and (os == "android") and not debug: [OK, CRASH]
+ if not sessionHistoryInParent and debug: [OK, TIMEOUT]
+ if not sessionHistoryInParent and not debug: [OK, TIMEOUT, CRASH]
[error.any.shadowrealm.html]
expected:
diff --git a/testing/web-platform/meta/wasm/jsapi/esm-integration/js-wasm-cycle.tentative.any.js.ini b/testing/web-platform/meta/wasm/jsapi/esm-integration/js-wasm-cycle.tentative.any.js.ini
index 08bc281459f46..382706c53769b 100644
--- a/testing/web-platform/meta/wasm/jsapi/esm-integration/js-wasm-cycle.tentative.any.js.ini
+++ b/testing/web-platform/meta/wasm/jsapi/esm-integration/js-wasm-cycle.tentative.any.js.ini
@@ -19,14 +19,16 @@
expected: ERROR
[js-wasm-cycle.tentative.any.html]
+ expected:
+ if not sessionHistoryInParent and not debug: [OK, TIMEOUT]
[Check bindings in JavaScript and WebAssembly cycle (JS higher)]
expected: FAIL
+
[js-wasm-cycle.tentative.any.js]
[Check bindings in JavaScript and WebAssembly cycle (JS higher)]
expected: FAIL
+
[js-wasm-cycle.tentative.https.any.shadowrealm-in-serviceworker.html]
- expected:
- if (os == "android") and debug and sessionHistoryInParent: TIMEOUT
- ERROR
+ expected: ERROR
diff --git a/testing/web-platform/meta/wasm/jsapi/instance/constructor.any.js.ini b/testing/web-platform/meta/wasm/jsapi/instance/constructor.any.js.ini
index fb1eec3360d09..67e8a94574f6a 100644
--- a/testing/web-platform/meta/wasm/jsapi/instance/constructor.any.js.ini
+++ b/testing/web-platform/meta/wasm/jsapi/instance/constructor.any.js.ini
@@ -3,6 +3,8 @@
if not sessionHistoryInParent and not debug: [OK, TIMEOUT]
[constructor.any.worker.html]
+ expected:
+ if (os == "android") and sessionHistoryInParent and not debug: [OK, TIMEOUT]
[constructor.any.shadowrealm.html]
expected: ERROR
diff --git a/testing/web-platform/meta/wasm/jsapi/instance/toString.any.js.ini b/testing/web-platform/meta/wasm/jsapi/instance/toString.any.js.ini
index dfa1daa5c9905..63d89a5cc69d8 100644
--- a/testing/web-platform/meta/wasm/jsapi/instance/toString.any.js.ini
+++ b/testing/web-platform/meta/wasm/jsapi/instance/toString.any.js.ini
@@ -27,4 +27,6 @@
expected: ERROR
[toString.any.shadowrealm-in-shadowrealm.html]
- expected: ERROR
+ expected:
+ if (os == "android") and sessionHistoryInParent and not debug: [ERROR, TIMEOUT]
+ ERROR
diff --git a/testing/web-platform/meta/wasm/jsapi/module/moduleSource.tentative.any.js.ini b/testing/web-platform/meta/wasm/jsapi/module/moduleSource.tentative.any.js.ini
index 222976f206c9c..570e6b1160416 100644
--- a/testing/web-platform/meta/wasm/jsapi/module/moduleSource.tentative.any.js.ini
+++ b/testing/web-platform/meta/wasm/jsapi/module/moduleSource.tentative.any.js.ini
@@ -22,7 +22,7 @@
[moduleSource.tentative.any.worker.html]
expected:
- if (os == "win") and not debug and (processor == "x86_64"): [OK, CRASH]
+ if (os == "win") and not debug: [OK, CRASH]
if (os == "android") and debug: [OK, TIMEOUT]
[AbstractModuleSource intrinsic]
expected: FAIL
@@ -51,7 +51,9 @@
expected: [ERROR, TIMEOUT]
[moduleSource.tentative.any.shadowrealm-in-window.html]
- expected: ERROR
+ expected:
+ if (os == "android") and sessionHistoryInParent and not debug: [ERROR, TIMEOUT]
+ ERROR
[moduleSource.tentative.https.any.shadowrealm-in-audioworklet.html]
expected:
diff --git a/testing/web-platform/meta/wasm/jsapi/tag/toString.tentative.any.js.ini b/testing/web-platform/meta/wasm/jsapi/tag/toString.tentative.any.js.ini
index 92e5ff50d3a12..0929660648111 100644
--- a/testing/web-platform/meta/wasm/jsapi/tag/toString.tentative.any.js.ini
+++ b/testing/web-platform/meta/wasm/jsapi/tag/toString.tentative.any.js.ini
@@ -4,6 +4,7 @@
[toString.tentative.any.html]
expected:
+ if (os == "android") and debug and sessionHistoryInParent: TIMEOUT
if (os == "android") and not debug: [OK, TIMEOUT]
[toString.tentative.any.shadowrealm.html]
@@ -27,8 +28,7 @@
[toString.tentative.any.shadowrealm-in-window.html]
expected:
- if not sessionHistoryInParent and debug: TIMEOUT
- if not sessionHistoryInParent and not debug: [ERROR, TIMEOUT]
+ if not sessionHistoryInParent: [ERROR, TIMEOUT]
ERROR
[toString.tentative.any.shadowrealm-in-sharedworker.html]
diff --git a/testing/web-platform/meta/web-animations/animation-trigger/event-trigger-alternate.tentative.html.ini b/testing/web-platform/meta/web-animations/animation-trigger/event-trigger-alternate.tentative.html.ini
deleted file mode 100644
index 37c315d7333a4..0000000000000
--- a/testing/web-platform/meta/web-animations/animation-trigger/event-trigger-alternate.tentative.html.ini
+++ /dev/null
@@ -1,3 +0,0 @@
-[event-trigger-alternate.tentative.html]
- [Basic event-based animation-trigger with 'alternate' behavior]
- expected: FAIL
diff --git a/testing/web-platform/meta/web-animations/animation-trigger/event-trigger-state.tentative.html.ini b/testing/web-platform/meta/web-animations/animation-trigger/event-trigger-state.tentative.html.ini
deleted file mode 100644
index 93cc7304bf182..0000000000000
--- a/testing/web-platform/meta/web-animations/animation-trigger/event-trigger-state.tentative.html.ini
+++ /dev/null
@@ -1,3 +0,0 @@
-[event-trigger-state.tentative.html]
- [Basic event-based animation-trigger with 'state' behavior]
- expected: FAIL
diff --git a/testing/web-platform/meta/webaudio/the-audio-api/the-audiocontext-interface/audiocontext-rendersizehint.html.ini b/testing/web-platform/meta/webaudio/the-audio-api/the-audiocontext-interface/audiocontext-rendersizehint.html.ini
index 6afb4793d0841..0b2a99172d171 100644
--- a/testing/web-platform/meta/webaudio/the-audio-api/the-audiocontext-interface/audiocontext-rendersizehint.html.ini
+++ b/testing/web-platform/meta/webaudio/the-audio-api/the-audiocontext-interface/audiocontext-rendersizehint.html.ini
@@ -1,4 +1,6 @@
[audiocontext-rendersizehint.html]
+ expected:
+ if not sessionHistoryInParent and not debug: [OK, TIMEOUT]
[AudioContext with no renderSizeHint]
expected: FAIL
diff --git a/testing/web-platform/meta/webcodecs/video-encoder-h26x-annexb.https.any.js.ini b/testing/web-platform/meta/webcodecs/video-encoder-h26x-annexb.https.any.js.ini
index 55599a37e6bad..34dba6e737a04 100644
--- a/testing/web-platform/meta/webcodecs/video-encoder-h26x-annexb.https.any.js.ini
+++ b/testing/web-platform/meta/webcodecs/video-encoder-h26x-annexb.https.any.js.ini
@@ -8,13 +8,15 @@
if (os == "android") or (version == "Ubuntu 18.04"): not implemented
[Verify stream compliance h26x annexb]
expected:
- if os == "win": PRECONDITION_FAILED
- if os == "linux": PRECONDITION_FAILED
+ if os == "mac": PASS
+ PRECONDITION_FAILED
[video-encoder-h26x-annexb.https.any.html?h265_annexb_software]
disabled:
if (os == "android") or (version == "Ubuntu 18.04"): not implemented
+ expected:
+ if tsan: [OK, CRASH]
[Verify stream compliance h26x annexb]
expected:
if os == "linux": PASS
@@ -43,15 +45,11 @@
[video-encoder-h26x-annexb.https.any.worker.html?h264_annexb_software]
[Verify stream compliance h26x annexb]
expected:
- if (os == "linux") and (version == "Ubuntu 18.04"): PRECONDITION_FAILED
if os == "android": PRECONDITION_FAILED
[video-encoder-h26x-annexb.https.any.worker.html?h264_annexb_hardware]
[Verify stream compliance h26x annexb]
expected:
- if tsan: PRECONDITION_FAILED
- if os == "linux": PRECONDITION_FAILED
if os == "mac": PASS
- if os == "win": PRECONDITION_FAILED
PRECONDITION_FAILED
diff --git a/testing/web-platform/meta/webdriver/tests/bidi/browser/set_download_behavior/user_context.py.ini b/testing/web-platform/meta/webdriver/tests/bidi/browser/set_download_behavior/user_context.py.ini
index 378bb35a165fa..d207f56e02ed2 100644
--- a/testing/web-platform/meta/webdriver/tests/bidi/browser/set_download_behavior/user_context.py.ini
+++ b/testing/web-platform/meta/webdriver/tests/bidi/browser/set_download_behavior/user_context.py.ini
@@ -1,5 +1,6 @@
[user_context.py]
expected:
+ if (os == "linux") and (display == "wayland") and not debug: [OK, TIMEOUT]
if (os == "mac") and not debug: [OK, TIMEOUT]
[test_user_contexts[True-new\]]
expected: FAIL
diff --git a/testing/web-platform/meta/webdriver/tests/bidi/browsing_context/activate/activate.py.ini b/testing/web-platform/meta/webdriver/tests/bidi/browsing_context/activate/activate.py.ini
index 99e6e972575ff..4c209278bf41f 100644
--- a/testing/web-platform/meta/webdriver/tests/bidi/browsing_context/activate/activate.py.ini
+++ b/testing/web-platform/meta/webdriver/tests/bidi/browsing_context/activate/activate.py.ini
@@ -1,6 +1,7 @@
[activate.py]
expected:
- if not fission and not debug and sessionHistoryInParent and (os == "android"): [OK, TIMEOUT]
+ if (os == "android") and not debug and not fission and sessionHistoryInParent: [OK, TIMEOUT]
+ if (os == "linux") and (display == "wayland") and not debug: [OK, CRASH]
[test_activate_window]
disabled:
if os == "android": Not supported
diff --git a/testing/web-platform/meta/webdriver/tests/bidi/browsing_context/activate/invalid.py.ini b/testing/web-platform/meta/webdriver/tests/bidi/browsing_context/activate/invalid.py.ini
new file mode 100644
index 0000000000000..582d0600149a1
--- /dev/null
+++ b/testing/web-platform/meta/webdriver/tests/bidi/browsing_context/activate/invalid.py.ini
@@ -0,0 +1,3 @@
+[invalid.py]
+ expected:
+ if (display == "wayland") and not debug: [OK, TIMEOUT]
diff --git a/testing/web-platform/meta/webdriver/tests/bidi/browsing_context/capture_screenshot/origin.py.ini b/testing/web-platform/meta/webdriver/tests/bidi/browsing_context/capture_screenshot/origin.py.ini
new file mode 100644
index 0000000000000..fb68cc4d3b635
--- /dev/null
+++ b/testing/web-platform/meta/webdriver/tests/bidi/browsing_context/capture_screenshot/origin.py.ini
@@ -0,0 +1,3 @@
+[origin.py]
+ expected:
+ if (display == "wayland") and not debug: [OK, CRASH]
diff --git a/testing/web-platform/meta/webdriver/tests/bidi/browsing_context/close/prompt_unload.py.ini b/testing/web-platform/meta/webdriver/tests/bidi/browsing_context/close/prompt_unload.py.ini
index 8a232c9d1bf78..e07e03951cba6 100644
--- a/testing/web-platform/meta/webdriver/tests/bidi/browsing_context/close/prompt_unload.py.ini
+++ b/testing/web-platform/meta/webdriver/tests/bidi/browsing_context/close/prompt_unload.py.ini
@@ -1,4 +1,6 @@
[prompt_unload.py]
+ expected:
+ if (display == "wayland") and not debug: [OK, CRASH]
[test_prompt_unload_triggering_dialog[window\]]
bug: https://bugzilla.mozilla.org/show_bug.cgi?id=1879324
expected:
diff --git a/testing/web-platform/meta/webdriver/tests/bidi/browsing_context/context_created/original_opener.py.ini b/testing/web-platform/meta/webdriver/tests/bidi/browsing_context/context_created/original_opener.py.ini
index 0b4c853c7b34e..ca13f1326ca9d 100644
--- a/testing/web-platform/meta/webdriver/tests/bidi/browsing_context/context_created/original_opener.py.ini
+++ b/testing/web-platform/meta/webdriver/tests/bidi/browsing_context/context_created/original_opener.py.ini
@@ -1,5 +1,6 @@
[original_opener.py]
expected:
- if (os == "linux") and (display == "x11") and tsan: [OK, TIMEOUT]
- if (os == "linux") and (display == "wayland") and not debug: [OK, TIMEOUT]
+ if (os == "linux") and not tsan and (display == "wayland") and debug: [OK, CRASH]
+ if (os == "linux") and not tsan and (display == "wayland") and not debug: [OK, TIMEOUT]
if (os == "mac") and not debug: [OK, TIMEOUT]
+ if (os == "linux") and tsan: [OK, TIMEOUT]
diff --git a/testing/web-platform/meta/webdriver/tests/bidi/network/continue_response/invalid.py.ini b/testing/web-platform/meta/webdriver/tests/bidi/network/continue_response/invalid.py.ini
index 3c7f171dc404d..280eb57bcba64 100644
--- a/testing/web-platform/meta/webdriver/tests/bidi/network/continue_response/invalid.py.ini
+++ b/testing/web-platform/meta/webdriver/tests/bidi/network/continue_response/invalid.py.ini
@@ -570,3 +570,7 @@
[test_params_status_code_invalid_value[4.3\]]
expected:
if tsan: [PASS, ERROR]
+
+ [test_params_cookies_invalid_type[False\]]
+ expected:
+ if (os == "win") and debug: [PASS, FAIL]
diff --git a/testing/web-platform/meta/webdriver/tests/bidi/network/response_started/response_started.py.ini b/testing/web-platform/meta/webdriver/tests/bidi/network/response_started/response_started.py.ini
new file mode 100644
index 0000000000000..c30980465f528
--- /dev/null
+++ b/testing/web-platform/meta/webdriver/tests/bidi/network/response_started/response_started.py.ini
@@ -0,0 +1,3 @@
+[response_started.py]
+ expected:
+ if (display == "wayland") and debug: [OK, CRASH]
diff --git a/testing/web-platform/meta/webidl/ecmascript-binding/es-exceptions/DOMException-constructor-and-prototype.any.js.ini b/testing/web-platform/meta/webidl/ecmascript-binding/es-exceptions/DOMException-constructor-and-prototype.any.js.ini
index 695c4f989e49f..b6fa7f491f091 100644
--- a/testing/web-platform/meta/webidl/ecmascript-binding/es-exceptions/DOMException-constructor-and-prototype.any.js.ini
+++ b/testing/web-platform/meta/webidl/ecmascript-binding/es-exceptions/DOMException-constructor-and-prototype.any.js.ini
@@ -1,7 +1,6 @@
[DOMException-constructor-and-prototype.any.worker.html]
expected:
- if sessionHistoryInParent: OK
- [OK, TIMEOUT]
+ if not sessionHistoryInParent: [OK, TIMEOUT]
[DOMException-constructor-and-prototype.any.html]
@@ -32,5 +31,6 @@
[DOMException-constructor-and-prototype.any.shadowrealm-in-dedicatedworker.html]
expected:
+ if sessionHistoryInParent and (os == "android") and not debug: [ERROR, TIMEOUT]
if not sessionHistoryInParent and not debug: [ERROR, TIMEOUT]
ERROR
diff --git a/testing/web-platform/meta/webidl/ecmascript-binding/es-exceptions/DOMException-constructor-behavior.any.js.ini b/testing/web-platform/meta/webidl/ecmascript-binding/es-exceptions/DOMException-constructor-behavior.any.js.ini
index 2889505065bb0..96db610bb5de7 100644
--- a/testing/web-platform/meta/webidl/ecmascript-binding/es-exceptions/DOMException-constructor-behavior.any.js.ini
+++ b/testing/web-platform/meta/webidl/ecmascript-binding/es-exceptions/DOMException-constructor-behavior.any.js.ini
@@ -19,7 +19,9 @@
expected: ERROR
[DOMException-constructor-behavior.any.shadowrealm-in-shadowrealm.html]
- expected: ERROR
+ expected:
+ if not sessionHistoryInParent and not debug: [ERROR, TIMEOUT]
+ ERROR
[DOMException-constructor-behavior.https.any.shadowrealm-in-serviceworker.html]
expected: [ERROR, TIMEOUT]
diff --git a/testing/web-platform/meta/webmessaging/postMessage_MessagePorts_xsite.sub.window.js.ini b/testing/web-platform/meta/webmessaging/postMessage_MessagePorts_xsite.sub.window.js.ini
index 695a16764e602..af889e6d055bb 100644
--- a/testing/web-platform/meta/webmessaging/postMessage_MessagePorts_xsite.sub.window.js.ini
+++ b/testing/web-platform/meta/webmessaging/postMessage_MessagePorts_xsite.sub.window.js.ini
@@ -1,3 +1,3 @@
[postMessage_MessagePorts_xsite.sub.window.html]
expected:
- if (os == "android") and fission: [OK, TIMEOUT]
+ if (os == "android") and sessionHistoryInParent and not debug: [OK, TIMEOUT]
diff --git a/testing/web-platform/meta/webrtc/RTCPeerConnection-perfect-negotiation-stress-glare-linear.https.html.ini b/testing/web-platform/meta/webrtc/RTCPeerConnection-perfect-negotiation-stress-glare-linear.https.html.ini
index 2517a8ff50b0e..d795799484680 100644
--- a/testing/web-platform/meta/webrtc/RTCPeerConnection-perfect-negotiation-stress-glare-linear.https.html.ini
+++ b/testing/web-platform/meta/webrtc/RTCPeerConnection-perfect-negotiation-stress-glare-linear.https.html.ini
@@ -1,4 +1,5 @@
[RTCPeerConnection-perfect-negotiation-stress-glare-linear.https.html]
expected:
+ if (os == "android") and debug and sessionHistoryInParent: [OK, TIMEOUT]
if (os == "android") and debug and not sessionHistoryInParent: [OK, TIMEOUT]
if (os == "android") and not debug: [OK, TIMEOUT]
diff --git a/testing/web-platform/meta/webrtc/protocol/rtp-demuxing.html.ini b/testing/web-platform/meta/webrtc/protocol/rtp-demuxing.html.ini
index d72b7048ddd09..316a97579513a 100644
--- a/testing/web-platform/meta/webrtc/protocol/rtp-demuxing.html.ini
+++ b/testing/web-platform/meta/webrtc/protocol/rtp-demuxing.html.ini
@@ -5,10 +5,9 @@
[Can demux two video tracks with different payload types on a bundled connection]
expected:
if (os == "win") and debug and (processor == "x86_64"): [PASS, FAIL]
- if (os == "mac") and debug: [PASS, FAIL]
- if (os == "mac") and not debug: [PASS, FAIL]
if (os == "linux") and debug: [PASS, TIMEOUT]
if (os == "linux") and not debug: [PASS, TIMEOUT]
+ if os == "mac": [PASS, FAIL]
[Can demux two video tracks with the same payload type on an unbundled connection]
expected:
diff --git a/testing/web-platform/meta/webrtc/simulcast/h264.https.html.ini b/testing/web-platform/meta/webrtc/simulcast/h264.https.html.ini
index 5fa165ad7ceb3..021ca0594dc83 100644
--- a/testing/web-platform/meta/webrtc/simulcast/h264.https.html.ini
+++ b/testing/web-platform/meta/webrtc/simulcast/h264.https.html.ini
@@ -5,6 +5,5 @@
[H264 simulcast setup with two streams]
expected:
if (os == "win") and debug and (processor == "x86_64"): [PASS, FAIL]
- if (os == "mac") and debug: [PASS, FAIL]
- if (os == "mac") and not debug: [PASS, FAIL]
if (os == "linux") and not debug: [PASS, TIMEOUT]
+ if os == "mac": [PASS, FAIL]
diff --git a/testing/web-platform/mozilla/meta/mathml/fonts/math-font-001.html.ini b/testing/web-platform/mozilla/meta/mathml/fonts/math-font-001.html.ini
index 92d55e3a39daa..c8d9ec5e98f63 100644
--- a/testing/web-platform/mozilla/meta/mathml/fonts/math-font-001.html.ini
+++ b/testing/web-platform/mozilla/meta/mathml/fonts/math-font-001.html.ini
@@ -1,2 +1,3 @@
[math-font-001.html]
- prefs: [font.name-list.serif.x-math: Consolas\, Menlo\, Droid Sans Mono\, Liberation Mono\, monospace]
+ prefs: [mathml.font_family_math.enabled: true,
+ font.name-list.serif.x-math: Consolas\, Menlo\, Droid Sans Mono\, Liberation Mono\, monospace]
diff --git a/testing/web-platform/tests/connection-allowlist/tentative/link_rel_modulepreload.sub.window.js b/testing/web-platform/tests/connection-allowlist/tentative/link_rel_modulepreload.sub.window.js
new file mode 100644
index 0000000000000..ffd9287ab7e6b
--- /dev/null
+++ b/testing/web-platform/tests/connection-allowlist/tentative/link_rel_modulepreload.sub.window.js
@@ -0,0 +1,62 @@
+// META: script=/common/get-host-info.sub.js
+// META: script=/common/utils.js
+// META: script=resources/utils.js
+// META: timeout=long
+
+const port = get_host_info().HTTP_PORT_ELIDED;
+const SUCCESS = true;
+const FAILURE = false;
+
+function modulepreload_test(origin, expectation) {
+ promise_test(
+ async t => {
+ const key = token();
+ const value = 'hello';
+ const params = new URLSearchParams();
+ params.set('key', key);
+ params.set('value', value);
+
+ const link = document.createElement('link');
+ link.rel = 'modulepreload';
+ link.href = `${origin}${STORE_URL}?${params.toString()}`;
+ document.head.appendChild(link);
+ t.add_cleanup(() => link.remove());
+
+ if (expectation === SUCCESS) {
+ const result = await nextValueFromServer(key);
+ assert_equals(result, value);
+ } else {
+ const result = await Promise.race([
+ new Promise(r => t.step_timeout(r, 1000)), nextValueFromServer(key)
+ ]);
+ assert_true(typeof result === 'undefined');
+ }
+ },
+ `Modulepreload to ${origin} ${
+ expectation === SUCCESS ? 'succeeds' : 'fails'}.`);
+}
+
+const test_cases = [
+ // Page loads originate from `http://hosts[][]`; modulepreloading this origin
+ // succeeds, while subdomains fail.
+ {origin: 'http://{{hosts[][]}}' + port, expectation: SUCCESS},
+ {origin: 'http://{{hosts[][www]}}' + port, expectation: FAILURE},
+ {origin: 'http://{{hosts[][www1]}}' + port, expectation: FAILURE},
+ {origin: 'http://{{hosts[][www2]}}' + port, expectation: FAILURE},
+ {origin: 'http://{{hosts[][天気の良い日]}}' + port, expectation: FAILURE},
+ {origin: 'http://{{hosts[][élève]}}' + port, expectation: FAILURE},
+
+ // The pattern we've specified in the header ("*://*.hosts[alt]:*/") will
+ // match any subdomain of `hosts[alt]` (though not, as it turns out,
+ // `hosts[alt]` itself.
+ {origin: 'http://{{hosts[alt][]}}' + port, expectation: FAILURE},
+ {origin: 'http://{{hosts[alt][www]}}' + port, expectation: SUCCESS},
+ {origin: 'http://{{hosts[alt][www1]}}' + port, expectation: SUCCESS},
+ {origin: 'http://{{hosts[alt][www2]}}' + port, expectation: SUCCESS},
+ {origin: 'http://{{hosts[alt][天気の良い日]}}' + port, expectation: SUCCESS},
+ {origin: 'http://{{hosts[alt][élève]}}' + port, expectation: SUCCESS},
+];
+
+for (let i = 0; i < test_cases.length; i++) {
+ modulepreload_test(test_cases[i].origin, test_cases[i].expectation);
+}
diff --git a/testing/web-platform/tests/connection-allowlist/tentative/link_rel_modulepreload.sub.window.js.sub.headers b/testing/web-platform/tests/connection-allowlist/tentative/link_rel_modulepreload.sub.window.js.sub.headers
new file mode 100644
index 0000000000000..05a5826807caa
--- /dev/null
+++ b/testing/web-platform/tests/connection-allowlist/tentative/link_rel_modulepreload.sub.window.js.sub.headers
@@ -0,0 +1 @@
+Connection-Allowlist: (response-origin "*://:subdomain.{{hosts[alt][]}}:*" "*://*:*/*\\?*&ignore-allowlist=true*")
\ No newline at end of file
diff --git a/testing/web-platform/tests/connection-allowlist/tentative/link_rel_prefetch.sub.window.js b/testing/web-platform/tests/connection-allowlist/tentative/link_rel_prefetch.sub.window.js
new file mode 100644
index 0000000000000..6bd4ad5a79fc6
--- /dev/null
+++ b/testing/web-platform/tests/connection-allowlist/tentative/link_rel_prefetch.sub.window.js
@@ -0,0 +1,62 @@
+// META: script=/common/get-host-info.sub.js
+// META: script=/common/utils.js
+// META: script=resources/utils.js
+// META: timeout=long
+
+const port = get_host_info().HTTP_PORT_ELIDED;
+const SUCCESS = true;
+const FAILURE = false;
+
+function prefetch_test(origin, expectation) {
+ promise_test(
+ async t => {
+ const key = token();
+ const value = 'hello';
+ const params = new URLSearchParams();
+ params.set('key', key);
+ params.set('value', value);
+
+ const link = document.createElement('link');
+ link.rel = 'prefetch';
+ link.href = `${origin}${STORE_URL}?${params.toString()}`;
+ document.head.appendChild(link);
+ t.add_cleanup(() => link.remove());
+
+ if (expectation === SUCCESS) {
+ const result = await nextValueFromServer(key);
+ assert_equals(result, value);
+ } else {
+ const result = await Promise.race([
+ new Promise(r => t.step_timeout(r, 1000)), nextValueFromServer(key)
+ ]);
+ assert_true(typeof result === 'undefined');
+ }
+ },
+ `Prefetch to ${origin} ${
+ expectation === SUCCESS ? 'succeeds' : 'fails'}.`);
+}
+
+const test_cases = [
+ // Page loads originate from `http://hosts[][]`; prefetching this origin
+ // succeeds, while subdomains fail.
+ {origin: 'http://{{hosts[][]}}' + port, expectation: SUCCESS},
+ {origin: 'http://{{hosts[][www]}}' + port, expectation: FAILURE},
+ {origin: 'http://{{hosts[][www1]}}' + port, expectation: FAILURE},
+ {origin: 'http://{{hosts[][www2]}}' + port, expectation: FAILURE},
+ {origin: 'http://{{hosts[][天気の良い日]}}' + port, expectation: FAILURE},
+ {origin: 'http://{{hosts[][élève]}}' + port, expectation: FAILURE},
+
+ // The pattern we've specified in the header ("*://*.hosts[alt]:*/") will
+ // match any subdomain of `hosts[alt]` (though not, as it turns out,
+ // `hosts[alt]` itself.
+ {origin: 'http://{{hosts[alt][]}}' + port, expectation: FAILURE},
+ {origin: 'http://{{hosts[alt][www]}}' + port, expectation: SUCCESS},
+ {origin: 'http://{{hosts[alt][www1]}}' + port, expectation: SUCCESS},
+ {origin: 'http://{{hosts[alt][www2]}}' + port, expectation: SUCCESS},
+ {origin: 'http://{{hosts[alt][天気の良い日]}}' + port, expectation: SUCCESS},
+ {origin: 'http://{{hosts[alt][élève]}}' + port, expectation: SUCCESS},
+];
+
+for (let i = 0; i < test_cases.length; i++) {
+ prefetch_test(test_cases[i].origin, test_cases[i].expectation);
+}
diff --git a/testing/web-platform/tests/connection-allowlist/tentative/link_rel_prefetch.sub.window.js.sub.headers b/testing/web-platform/tests/connection-allowlist/tentative/link_rel_prefetch.sub.window.js.sub.headers
new file mode 100644
index 0000000000000..05a5826807caa
--- /dev/null
+++ b/testing/web-platform/tests/connection-allowlist/tentative/link_rel_prefetch.sub.window.js.sub.headers
@@ -0,0 +1 @@
+Connection-Allowlist: (response-origin "*://:subdomain.{{hosts[alt][]}}:*" "*://*:*/*\\?*&ignore-allowlist=true*")
\ No newline at end of file
diff --git a/testing/web-platform/tests/connection-allowlist/tentative/link_rel_preload.sub.window.js b/testing/web-platform/tests/connection-allowlist/tentative/link_rel_preload.sub.window.js
new file mode 100644
index 0000000000000..a526284c4b965
--- /dev/null
+++ b/testing/web-platform/tests/connection-allowlist/tentative/link_rel_preload.sub.window.js
@@ -0,0 +1,63 @@
+// META: script=/common/get-host-info.sub.js
+// META: script=/common/utils.js
+// META: script=resources/utils.js
+// META: timeout=long
+
+const port = get_host_info().HTTP_PORT_ELIDED;
+const SUCCESS = true;
+const FAILURE = false;
+
+function preload_test(origin, expectation) {
+ promise_test(
+ async t => {
+ const key = token();
+ const value = 'hello';
+ const params = new URLSearchParams();
+ params.set('key', key);
+ params.set('value', value);
+
+ const link = document.createElement('link');
+ link.rel = 'preload';
+ link.href = `${origin}${STORE_URL}?${params.toString()}`;
+ link.as = 'script'
+ document.head.appendChild(link);
+ t.add_cleanup(() => link.remove());
+
+ if (expectation === SUCCESS) {
+ const result = await nextValueFromServer(key);
+ assert_equals(result, value);
+ } else {
+ const result = await Promise.race([
+ new Promise(r => t.step_timeout(r, 1000)), nextValueFromServer(key)
+ ]);
+ assert_true(typeof result === 'undefined');
+ }
+ },
+ `Preload to ${origin} ${
+ expectation === SUCCESS ? 'succeeds' : 'fails'}.`);
+}
+
+const test_cases = [
+ // Page loads originate from `http://hosts[][]`; preloading this origin
+ // succeeds, while subdomains fail.
+ {origin: 'http://{{hosts[][]}}' + port, expectation: SUCCESS},
+ {origin: 'http://{{hosts[][www]}}' + port, expectation: FAILURE},
+ {origin: 'http://{{hosts[][www1]}}' + port, expectation: FAILURE},
+ {origin: 'http://{{hosts[][www2]}}' + port, expectation: FAILURE},
+ {origin: 'http://{{hosts[][天気の良い日]}}' + port, expectation: FAILURE},
+ {origin: 'http://{{hosts[][élève]}}' + port, expectation: FAILURE},
+
+ // The pattern we've specified in the header ("*://*.hosts[alt]:*/") will
+ // match any subdomain of `hosts[alt]` (though not, as it turns out,
+ // `hosts[alt]` itself.
+ {origin: 'http://{{hosts[alt][]}}' + port, expectation: FAILURE},
+ {origin: 'http://{{hosts[alt][www]}}' + port, expectation: SUCCESS},
+ {origin: 'http://{{hosts[alt][www1]}}' + port, expectation: SUCCESS},
+ {origin: 'http://{{hosts[alt][www2]}}' + port, expectation: SUCCESS},
+ {origin: 'http://{{hosts[alt][天気の良い日]}}' + port, expectation: SUCCESS},
+ {origin: 'http://{{hosts[alt][élève]}}' + port, expectation: SUCCESS},
+];
+
+for (let i = 0; i < test_cases.length; i++) {
+ preload_test(test_cases[i].origin, test_cases[i].expectation);
+}
diff --git a/testing/web-platform/tests/connection-allowlist/tentative/link_rel_preload.sub.window.js.sub.headers b/testing/web-platform/tests/connection-allowlist/tentative/link_rel_preload.sub.window.js.sub.headers
new file mode 100644
index 0000000000000..05a5826807caa
--- /dev/null
+++ b/testing/web-platform/tests/connection-allowlist/tentative/link_rel_preload.sub.window.js.sub.headers
@@ -0,0 +1 @@
+Connection-Allowlist: (response-origin "*://:subdomain.{{hosts[alt][]}}:*" "*://*:*/*\\?*&ignore-allowlist=true*")
\ No newline at end of file
diff --git a/testing/web-platform/tests/connection-allowlist/tentative/resources/key-value-store.py b/testing/web-platform/tests/connection-allowlist/tentative/resources/key-value-store.py
new file mode 100644
index 0000000000000..9946855547db0
--- /dev/null
+++ b/testing/web-platform/tests/connection-allowlist/tentative/resources/key-value-store.py
@@ -0,0 +1,31 @@
+# Copyright 2026 The Chromium Authors
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+
+"""Key-Value store server.
+
+The request takes "key=" and "value=" URL parameters. The key should be a UUID
+generated by token().
+
+- When only the "key=" is specified, serves a 200 response whose body contains
+ the stored value specified by the key. If the stored value doesn't exist,
+ serves a 200 response with an empty body.
+- When both the "key=" and "value=" are specified, stores the pair and serves
+ a 200 response without body.
+"""
+
+
+def main(request, response):
+ key = request.GET.get(b"key")
+ value = request.GET.get(b"value", None)
+
+ # Store the value.
+ if value:
+ request.server.stash.put(key, value)
+ return (200, [], b"")
+
+ # Get the value.
+ data = request.server.stash.take(key)
+ if not data:
+ return (200, [], b"")
+ return (200, [], data)
\ No newline at end of file
diff --git a/testing/web-platform/tests/connection-allowlist/tentative/resources/utils.js b/testing/web-platform/tests/connection-allowlist/tentative/resources/utils.js
new file mode 100644
index 0000000000000..7d7f02f007df3
--- /dev/null
+++ b/testing/web-platform/tests/connection-allowlist/tentative/resources/utils.js
@@ -0,0 +1,38 @@
+const STORE_URL =
+ '/connection-allowlist/tentative/resources/key-value-store.py';
+// URL with this query is exempted from connection allowlist.
+const IGNORE_ALLOWLIST = 'ignore-allowlist=true';
+
+// Reads the value specified by `key` from the key-value store on the server.
+async function readValueFromServer(key) {
+ const serverUrl = `${STORE_URL}?${IGNORE_ALLOWLIST}&key=${key}`;
+ const response = await fetch(serverUrl);
+ if (!response.ok)
+ throw new Error('An error happened in the server');
+ const value = await response.text();
+
+ // The value is not stored in the server.
+ if (value === '')
+ return {status: false};
+
+ return {status: true, value: value};
+}
+
+// Convenience wrapper around the above getter that will wait until a value is
+// available on the server.
+async function nextValueFromServer(key) {
+ // Resolve the key if it is a Promise.
+ key = await key;
+
+ while (true) {
+ // Fetches the test result from the server.
+ const {status, value} = await readValueFromServer(key);
+ if (!status) {
+ // The test result has not been stored yet. Retry after a while.
+ await new Promise(resolve => step_timeout(resolve, 100));
+ continue;
+ }
+
+ return value;
+ }
+}
diff --git a/testing/web-platform/tests/content-security-policy/generic/only-valid-whitespaces-are-allowed.html b/testing/web-platform/tests/content-security-policy/generic/only-valid-whitespaces-are-allowed.html
index 9b3636c9feb87..217023a91e450 100644
--- a/testing/web-platform/tests/content-security-policy/generic/only-valid-whitespaces-are-allowed.html
+++ b/testing/web-platform/tests/content-security-policy/generic/only-valid-whitespaces-are-allowed.html
@@ -31,6 +31,11 @@
// https://github.com/webcompat/web-bugs/issues/18902 has more details about why this particularly relevant
{ "csp": "img-src\u00A0'none';", "expected": true, "name": "U+00A0 NBSP should not be parsed between directive name and value" },
{ "csp": "img-src http://example.com\u00A0http://example2.com;", "expected": true, "name": "U+00A0 NBSP should not be parsed inside directive value" },
+
+ // Ensure vertical tab (U+000B) is not considered a valid whitespace
+ // ASCII whitespace does not include vertical tab per https://infra.spec.whatwg.org/#ascii-whitespace
+ { "csp": "img-src\u000B'none';", "expected": true, "name": "U+000B VT should not be parsed between directive name and value" },
+ { "csp": "img-src http://example.com\u000Bhttp://example2.com;", "expected": true, "name": "U+000B VT should not be parsed inside directive value" },
];
tests.forEach(test => {
diff --git a/testing/web-platform/tests/css/CSS2/colors/WEB_FEATURES.yml b/testing/web-platform/tests/css/CSS2/colors/WEB_FEATURES.yml
index 6bfa95a6c58b7..707091b7b1161 100644
--- a/testing/web-platform/tests/css/CSS2/colors/WEB_FEATURES.yml
+++ b/testing/web-platform/tests/css/CSS2/colors/WEB_FEATURES.yml
@@ -2,3 +2,7 @@ features:
- name: background-position
files:
- table-backgrounds-bs-row-002.xht
+- name: color
+ files:
+ - "*"
+ - "!table-backgrounds-bs-row-002.xht"
diff --git a/testing/web-platform/tests/css/css-animations/parsing/animation-name-edge-cases-ref.html b/testing/web-platform/tests/css/css-animations/parsing/animation-name-edge-cases-ref.html
new file mode 100644
index 0000000000000..85337ad1f7697
--- /dev/null
+++ b/testing/web-platform/tests/css/css-animations/parsing/animation-name-edge-cases-ref.html
@@ -0,0 +1,24 @@
+
+
+
+
The following should have a green background:
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/testing/web-platform/tests/css/css-animations/parsing/animation-name-edge-cases.html b/testing/web-platform/tests/css/css-animations/parsing/animation-name-edge-cases.html
new file mode 100644
index 0000000000000..f8fecfccca2b1
--- /dev/null
+++ b/testing/web-platform/tests/css/css-animations/parsing/animation-name-edge-cases.html
@@ -0,0 +1,75 @@
+
+
+
+Setting 'animation-duration' to an infinite value should not hang
+
+
+
+
+
+
+
+
+The following should have a green background:
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/testing/web-platform/tests/css/css-animations/parsing/keyframes-name-invalid.html b/testing/web-platform/tests/css/css-animations/parsing/keyframes-name-invalid.html
index f14dff3e2c0db..010d70874e1cb 100644
--- a/testing/web-platform/tests/css/css-animations/parsing/keyframes-name-invalid.html
+++ b/testing/web-platform/tests/css/css-animations/parsing/keyframes-name-invalid.html
@@ -41,6 +41,8 @@
test_keyframes_name_invalid('revert-layer, four');
// TODO: https://bugs.chromium.org/p/chromium/issues/detail?id=1342609
// test_keyframes_name_invalid('--foo');
+
+ test_keyframes_name_invalid('""');