aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorbors-servo <servo-ops@mozilla.com>2020-05-02 11:27:48 -0400
committerGitHub <noreply@github.com>2020-05-02 11:27:48 -0400
commit292d6ec588fa28ca264e1ef19547a4a8d40c9f7b (patch)
treef58c625e154e26093261b7ca24148c4ca3079fdb
parent73abf56e9954cd3efc86ae5bc3857ae07c2a6da6 (diff)
parent00971fa7af6ac1139f551bec6fe9d734077e4de0 (diff)
downloadservo-292d6ec588fa28ca264e1ef19547a4a8d40c9f7b.tar.gz
servo-292d6ec588fa28ca264e1ef19547a4a8d40c9f7b.zip
Auto merge of #26393 - servo-wpt-sync:wpt_update_02-05-2020, r=jdm
Sync WPT with upstream (02-05-2020) Automated downstream sync of changes from upstream as of 02-05-2020. [no-wpt-sync] r? @servo-wpt-sync
-rw-r--r--tests/wpt/metadata-layout-2020/FileAPI/url/url-in-tags-revoke.window.js.ini2
-rw-r--r--tests/wpt/metadata-layout-2020/css/CSS2/floats/hit-test-floats-002.html.ini4
-rw-r--r--tests/wpt/metadata-layout-2020/css/CSS2/floats/hit-test-floats-003.html.ini4
-rw-r--r--tests/wpt/metadata-layout-2020/css/CSS2/floats/hit-test-floats-004.html.ini4
-rw-r--r--tests/wpt/metadata-layout-2020/css/compositing/mix-blend-mode/mix-blend-mode-animation.html.ini2
-rw-r--r--tests/wpt/metadata-layout-2020/css/css-transitions/properties-value-inherit-002.html.ini90
-rw-r--r--tests/wpt/metadata-layout-2020/css/cssom-view/elementFromPosition.html.ini3
-rw-r--r--tests/wpt/metadata-layout-2020/css/cssom-view/elementsFromPoint-iframes.html.ini3
-rw-r--r--tests/wpt/metadata-layout-2020/dom/events/EventListener-invoke-legacy.html.ini17
-rw-r--r--tests/wpt/metadata-layout-2020/fetch/content-type/response.window.js.ini13
-rw-r--r--tests/wpt/metadata-layout-2020/fetch/content-type/script.window.js.ini3
-rw-r--r--tests/wpt/metadata-layout-2020/html/browsers/history/the-history-interface/traverse_the_history_1.html.ini4
-rw-r--r--tests/wpt/metadata-layout-2020/html/browsers/history/the-history-interface/traverse_the_history_2.html.ini4
-rw-r--r--tests/wpt/metadata-layout-2020/html/browsers/history/the-history-interface/traverse_the_history_5.html.ini4
-rw-r--r--tests/wpt/metadata-layout-2020/html/canvas/offscreen/the-offscreen-canvas/size.attributes.parse.empty.html.ini4
-rw-r--r--tests/wpt/metadata-layout-2020/html/canvas/offscreen/the-offscreen-canvas/size.attributes.parse.empty.worker.js.ini4
-rw-r--r--tests/wpt/metadata-layout-2020/html/canvas/offscreen/the-offscreen-canvas/size.attributes.parse.onlyspace.html.ini4
-rw-r--r--tests/wpt/metadata-layout-2020/html/canvas/offscreen/the-offscreen-canvas/size.attributes.parse.onlyspace.worker.js.ini4
-rw-r--r--tests/wpt/metadata-layout-2020/html/interaction/focus/the-autofocus-attribute/supported-elements.html.ini4
-rw-r--r--tests/wpt/metadata-layout-2020/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_popups_nonescaping-1.html.ini4
-rw-r--r--tests/wpt/metadata-layout-2020/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_popups_nonescaping-3.html.ini2
-rw-r--r--tests/wpt/metadata-layout-2020/html/webappapis/scripting/events/compile-event-handler-settings-objects.html.ini3
-rw-r--r--tests/wpt/metadata-layout-2020/webaudio/the-audio-api/the-audiobuffersourcenode-interface/audiobuffersource-multi-channels.html.ini3
-rw-r--r--tests/wpt/metadata-layout-2020/webmessaging/without-ports/017.html.ini5
-rw-r--r--tests/wpt/metadata-layout-2020/webmessaging/without-ports/018.html.ini5
-rw-r--r--tests/wpt/metadata-layout-2020/webxr/gamepads-module/xrInputSource_gamepad_disconnect.https.html.ini4
-rw-r--r--tests/wpt/metadata/FileAPI/url/url-in-tags-revoke.window.js.ini2
-rw-r--r--tests/wpt/metadata/MANIFEST.json157
-rw-r--r--tests/wpt/metadata/css/CSS2/floats/hit-test-floats-002.html.ini4
-rw-r--r--tests/wpt/metadata/css/CSS2/floats/hit-test-floats-003.html.ini4
-rw-r--r--tests/wpt/metadata/css/CSS2/floats/hit-test-floats-004.html.ini4
-rw-r--r--tests/wpt/metadata/css/compositing/mix-blend-mode/mix-blend-mode-animation.html.ini2
-rw-r--r--tests/wpt/metadata/css/css-transitions/properties-value-inherit-002.html.ini90
-rw-r--r--tests/wpt/metadata/css/cssom-view/MediaQueryList-addListener-removeListener.html.ini3
-rw-r--r--tests/wpt/metadata/css/cssom-view/elementFromPosition.html.ini3
-rw-r--r--tests/wpt/metadata/css/cssom-view/elementsFromPoint-iframes.html.ini3
-rw-r--r--tests/wpt/metadata/dom/events/EventListener-invoke-legacy.html.ini2
-rw-r--r--tests/wpt/metadata/fetch/content-type/response.window.js.ini19
-rw-r--r--tests/wpt/metadata/fetch/content-type/script.window.js.ini3
-rw-r--r--tests/wpt/metadata/html/browsers/history/the-history-interface/traverse_the_history_1.html.ini4
-rw-r--r--tests/wpt/metadata/html/browsers/history/the-history-interface/traverse_the_history_2.html.ini4
-rw-r--r--tests/wpt/metadata/html/browsers/history/the-history-interface/traverse_the_history_5.html.ini4
-rw-r--r--tests/wpt/metadata/html/browsers/origin/cross-origin-objects/cross-origin-objects-on-new-window.html.ini2
-rw-r--r--tests/wpt/metadata/html/canvas/offscreen/the-offscreen-canvas/size.attributes.parse.empty.html.ini4
-rw-r--r--tests/wpt/metadata/html/canvas/offscreen/the-offscreen-canvas/size.attributes.parse.empty.worker.js.ini4
-rw-r--r--tests/wpt/metadata/html/canvas/offscreen/the-offscreen-canvas/size.attributes.parse.onlyspace.html.ini4
-rw-r--r--tests/wpt/metadata/html/canvas/offscreen/the-offscreen-canvas/size.attributes.parse.onlyspace.worker.js.ini4
-rw-r--r--tests/wpt/metadata/html/interaction/focus/the-autofocus-attribute/supported-elements.html.ini4
-rw-r--r--tests/wpt/metadata/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_popups_nonescaping-1.html.ini2
-rw-r--r--tests/wpt/metadata/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_popups_nonescaping-3.html.ini2
-rw-r--r--tests/wpt/metadata/html/webappapis/scripting/events/compile-event-handler-settings-objects.html.ini3
-rw-r--r--tests/wpt/metadata/webaudio/the-audio-api/the-audiobuffersourcenode-interface/audiobuffersource-multi-channels.html.ini3
-rw-r--r--tests/wpt/metadata/webmessaging/without-ports/017.html.ini5
-rw-r--r--tests/wpt/metadata/webmessaging/without-ports/018.html.ini5
-rw-r--r--tests/wpt/metadata/webxr/gamepads-module/xrInputSource_gamepad_disconnect.https.html.ini1
-rw-r--r--tests/wpt/mozilla/meta/MANIFEST.json2
-rw-r--r--tests/wpt/mozilla/tests/lint.ignore (renamed from tests/wpt/mozilla/tests/lint.whitelist)0
-rw-r--r--tests/wpt/web-platform-tests/contenteditable/synthetic-height-ref.html9
-rw-r--r--tests/wpt/web-platform-tests/contenteditable/synthetic-height.tentative.html21
-rw-r--r--tests/wpt/web-platform-tests/css/css-device-adapt/viewport-user-scalable-no-wide-content.tentative.html28
-rw-r--r--tests/wpt/web-platform-tests/css/cssom/CSSStyleSheet-constructable-replace-on-regular-sheet.html16
-rw-r--r--tests/wpt/web-platform-tests/feature-policy/feature-policy-frame-policy-allowed-for-some-override.https.sub.html83
-rw-r--r--tests/wpt/web-platform-tests/feature-policy/feature-policy-frame-policy-allowed-for-some-override.https.sub.html.sub.headers1
-rw-r--r--tests/wpt/web-platform-tests/feature-policy/feature-policy-frame-policy-allowed-for-some.https.sub.html55
-rw-r--r--tests/wpt/web-platform-tests/html/canvas/offscreen/the-offscreen-canvas/size.attributes.parse.empty.html4
-rw-r--r--tests/wpt/web-platform-tests/html/canvas/offscreen/the-offscreen-canvas/size.attributes.parse.empty.worker.js4
-rw-r--r--tests/wpt/web-platform-tests/html/canvas/offscreen/the-offscreen-canvas/size.attributes.parse.onlyspace.html4
-rw-r--r--tests/wpt/web-platform-tests/html/canvas/offscreen/the-offscreen-canvas/size.attributes.parse.onlyspace.worker.js4
-rw-r--r--tests/wpt/web-platform-tests/html/canvas/tools/tests2d-offscreen.yaml4
-rw-r--r--tests/wpt/web-platform-tests/html/interaction/focus/processing-model/preventScroll-textarea.html40
-rw-r--r--tests/wpt/web-platform-tests/infrastructure/metadata/infrastructure/server/http2-context.sub.h2.any.js.ini15
-rw-r--r--tests/wpt/web-platform-tests/infrastructure/metadata/infrastructure/server/wpt-server-http.sub.html.ini25
-rw-r--r--tests/wpt/web-platform-tests/interfaces/web-nfc.idl3
-rw-r--r--tests/wpt/web-platform-tests/largest-contentful-paint/META.yml4
-rw-r--r--tests/wpt/web-platform-tests/layout-instability/META.yml4
-rw-r--r--tests/wpt/web-platform-tests/lint.ignore (renamed from tests/wpt/web-platform-tests/lint.whitelist)0
-rw-r--r--tests/wpt/web-platform-tests/scroll-animations/scroll-timeline-snapshotting.html41
-rwxr-xr-xtests/wpt/web-platform-tests/tools/ci/ci_wptrunner_infrastructure.sh13
-rw-r--r--tests/wpt/web-platform-tests/tools/ci/tc/tasks/test.yml25
-rw-r--r--tests/wpt/web-platform-tests/tools/ci/tc/tests/test_valid.py3
-rw-r--r--tests/wpt/web-platform-tests/tools/lint/lint.py56
-rw-r--r--tests/wpt/web-platform-tests/tools/lint/tests/dummy/lint.ignore (renamed from tests/wpt/web-platform-tests/tools/lint/tests/dummy/lint.whitelist)0
-rw-r--r--tests/wpt/web-platform-tests/tools/lint/tests/test_lint.py38
-rw-r--r--tests/wpt/web-platform-tests/tools/wptrunner/wptrunner/browsers/firefox.py8
-rw-r--r--tests/wpt/web-platform-tests/tools/wptrunner/wptrunner/wpttest.py2
-rw-r--r--tests/wpt/web-platform-tests/webrtc/RTCPeerConnection-setRemoteDescription-offer.html18
-rw-r--r--tests/wpt/web-platform-tests/webrtc/RTCPeerConnection-setRemoteDescription-rollback.html50
-rw-r--r--tests/wpt/web-platform-tests/webxr/dom-overlay/ar_dom_overlay.https.html4
-rw-r--r--tests/wpt/web-platform-tests/webxr/events_input_sources_change.https.html2
-rw-r--r--tests/wpt/web-platform-tests/webxr/events_referenceSpace_reset_immersive.https.html2
-rw-r--r--tests/wpt/web-platform-tests/webxr/events_session_select.https.html2
-rw-r--r--tests/wpt/web-platform-tests/webxr/events_session_select_subframe.https.html2
-rw-r--r--tests/wpt/web-platform-tests/webxr/events_session_squeeze.https.html2
-rw-r--r--tests/wpt/web-platform-tests/webxr/gamepads-module/xrInputSource_gamepad_disconnect.https.html2
-rw-r--r--tests/wpt/web-platform-tests/webxr/gamepads-module/xrInputSource_gamepad_input_registered.https.html2
-rw-r--r--tests/wpt/web-platform-tests/webxr/getInputPose_handedness.https.html2
-rw-r--r--tests/wpt/web-platform-tests/webxr/getInputPose_pointer.https.html2
-rw-r--r--tests/wpt/web-platform-tests/webxr/getViewerPose_emulatedPosition.https.html2
-rw-r--r--tests/wpt/web-platform-tests/webxr/hit-test/ar_hittest_subscription_inputSources.https.html2
-rw-r--r--tests/wpt/web-platform-tests/webxr/hit-test/ar_hittest_subscription_transientInputSources.https.html2
-rw-r--r--tests/wpt/web-platform-tests/webxr/resources/webxr_util.js12
-rw-r--r--tests/wpt/web-platform-tests/webxr/xrBoundedReferenceSpace_updates.https.html2
-rw-r--r--tests/wpt/web-platform-tests/webxr/xrInputSource_add_remove.https.html2
-rw-r--r--tests/wpt/web-platform-tests/webxr/xrInputSource_emulatedPosition.https.html2
-rw-r--r--tests/wpt/web-platform-tests/webxr/xrInputSource_profiles.https.html2
-rw-r--r--tests/wpt/web-platform-tests/webxr/xrInputSource_sameObject.https.html2
-rw-r--r--tests/wpt/web-platform-tests/webxr/xrPose_transform_sameObject.https.html2
-rw-r--r--tests/wpt/web-platform-tests/webxr/xrReferenceSpace_originOffset.https.html2
-rw-r--r--tests/wpt/web-platform-tests/webxr/xrReferenceSpace_originOffsetBounded.https.html2
-rw-r--r--tests/wpt/web-platform-tests/webxr/xrSession_input_events_end.https.html2
-rw-r--r--tests/wpt/web-platform-tests/webxr/xrSession_sameObject.https.html2
-rw-r--r--tests/wpt/web-platform-tests/webxr/xrStationaryReferenceSpace_floorlevel_updates.https.html8
-rw-r--r--tests/wpt/web-platform-tests/xhr/resources/access-control-preflight-denied.py2
-rw-r--r--tests/wpt/webgl/meta/conformance2/rendering/draw-buffers.html.ini6
114 files changed, 877 insertions, 333 deletions
diff --git a/tests/wpt/metadata-layout-2020/FileAPI/url/url-in-tags-revoke.window.js.ini b/tests/wpt/metadata-layout-2020/FileAPI/url/url-in-tags-revoke.window.js.ini
index 76b44d9e9cf..3605e8f3fc9 100644
--- a/tests/wpt/metadata-layout-2020/FileAPI/url/url-in-tags-revoke.window.js.ini
+++ b/tests/wpt/metadata-layout-2020/FileAPI/url/url-in-tags-revoke.window.js.ini
@@ -4,7 +4,7 @@
expected: TIMEOUT
[Opening a blob URL in a new window immediately before revoking it works.]
- expected: FAIL
+ expected: TIMEOUT
[Fetching a blob URL immediately before revoking it works in an iframe.]
expected: FAIL
diff --git a/tests/wpt/metadata-layout-2020/css/CSS2/floats/hit-test-floats-002.html.ini b/tests/wpt/metadata-layout-2020/css/CSS2/floats/hit-test-floats-002.html.ini
new file mode 100644
index 00000000000..f64b45fea6b
--- /dev/null
+++ b/tests/wpt/metadata-layout-2020/css/CSS2/floats/hit-test-floats-002.html.ini
@@ -0,0 +1,4 @@
+[hit-test-floats-002.html]
+ [Hit test float]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata-layout-2020/css/CSS2/floats/hit-test-floats-003.html.ini b/tests/wpt/metadata-layout-2020/css/CSS2/floats/hit-test-floats-003.html.ini
new file mode 100644
index 00000000000..f29da48a2a0
--- /dev/null
+++ b/tests/wpt/metadata-layout-2020/css/CSS2/floats/hit-test-floats-003.html.ini
@@ -0,0 +1,4 @@
+[hit-test-floats-003.html]
+ [Miss float below something else]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata-layout-2020/css/CSS2/floats/hit-test-floats-004.html.ini b/tests/wpt/metadata-layout-2020/css/CSS2/floats/hit-test-floats-004.html.ini
new file mode 100644
index 00000000000..4bfb0c2053a
--- /dev/null
+++ b/tests/wpt/metadata-layout-2020/css/CSS2/floats/hit-test-floats-004.html.ini
@@ -0,0 +1,4 @@
+[hit-test-floats-004.html]
+ [Miss float below something else]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata-layout-2020/css/compositing/mix-blend-mode/mix-blend-mode-animation.html.ini b/tests/wpt/metadata-layout-2020/css/compositing/mix-blend-mode/mix-blend-mode-animation.html.ini
new file mode 100644
index 00000000000..5496474410b
--- /dev/null
+++ b/tests/wpt/metadata-layout-2020/css/compositing/mix-blend-mode/mix-blend-mode-animation.html.ini
@@ -0,0 +1,2 @@
+[mix-blend-mode-animation.html]
+ expected: FAIL
diff --git a/tests/wpt/metadata-layout-2020/css/css-transitions/properties-value-inherit-002.html.ini b/tests/wpt/metadata-layout-2020/css/css-transitions/properties-value-inherit-002.html.ini
index fc4e1b87fbd..50e1f71234c 100644
--- a/tests/wpt/metadata-layout-2020/css/css-transitions/properties-value-inherit-002.html.ini
+++ b/tests/wpt/metadata-layout-2020/css/css-transitions/properties-value-inherit-002.html.ini
@@ -509,3 +509,93 @@
[min-width length(ex) / values]
expected: FAIL
+ [bottom length(ex) / values]
+ expected: FAIL
+
+ [right length(pc) / values]
+ expected: FAIL
+
+ [top length(pt) / values]
+ expected: FAIL
+
+ [top length(pc) / values]
+ expected: FAIL
+
+ [right percentage(%) / values]
+ expected: FAIL
+
+ [bottom length(pt) / values]
+ expected: FAIL
+
+ [right length(px) / values]
+ expected: FAIL
+
+ [top length(px) / values]
+ expected: FAIL
+
+ [right length(em) / values]
+ expected: FAIL
+
+ [top percentage(%) / values]
+ expected: FAIL
+
+ [right length(ex) / values]
+ expected: FAIL
+
+ [right length(cm) / values]
+ expected: FAIL
+
+ [right length(in) / values]
+ expected: FAIL
+
+ [right length(mm) / values]
+ expected: FAIL
+
+ [top length(em) / values]
+ expected: FAIL
+
+ [bottom length(px) / values]
+ expected: FAIL
+
+ [left length(px) / values]
+ expected: FAIL
+
+ [bottom length(in) / values]
+ expected: FAIL
+
+ [top length(in) / values]
+ expected: FAIL
+
+ [bottom length(mm) / values]
+ expected: FAIL
+
+ [left length(pt) / values]
+ expected: FAIL
+
+ [bottom length(em) / values]
+ expected: FAIL
+
+ [top length(cm) / values]
+ expected: FAIL
+
+ [top length(mm) / values]
+ expected: FAIL
+
+ [left length(pc) / values]
+ expected: FAIL
+
+ [bottom length(pc) / values]
+ expected: FAIL
+
+ [top length(ex) / values]
+ expected: FAIL
+
+ [right length(pt) / values]
+ expected: FAIL
+
+ [bottom percentage(%) / values]
+ expected: FAIL
+
+ [bottom length(cm) / values]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata-layout-2020/css/cssom-view/elementFromPosition.html.ini b/tests/wpt/metadata-layout-2020/css/cssom-view/elementFromPosition.html.ini
index 23c61ede1a1..c131078eace 100644
--- a/tests/wpt/metadata-layout-2020/css/cssom-view/elementFromPosition.html.ini
+++ b/tests/wpt/metadata-layout-2020/css/cssom-view/elementFromPosition.html.ini
@@ -17,6 +17,3 @@
[test the top of layer]
expected: FAIL
- [test some point of the element: top left corner]
- expected: FAIL
-
diff --git a/tests/wpt/metadata-layout-2020/css/cssom-view/elementsFromPoint-iframes.html.ini b/tests/wpt/metadata-layout-2020/css/cssom-view/elementsFromPoint-iframes.html.ini
index 6ef8bb1049f..171592fc08f 100644
--- a/tests/wpt/metadata-layout-2020/css/cssom-view/elementsFromPoint-iframes.html.ini
+++ b/tests/wpt/metadata-layout-2020/css/cssom-view/elementsFromPoint-iframes.html.ini
@@ -2,6 +2,3 @@
[elementsFromPoint on the root document for points in iframe elements]
expected: FAIL
- [elementsFromPoint on inner documents]
- expected: FAIL
-
diff --git a/tests/wpt/metadata-layout-2020/dom/events/EventListener-invoke-legacy.html.ini b/tests/wpt/metadata-layout-2020/dom/events/EventListener-invoke-legacy.html.ini
new file mode 100644
index 00000000000..318483a3a09
--- /dev/null
+++ b/tests/wpt/metadata-layout-2020/dom/events/EventListener-invoke-legacy.html.ini
@@ -0,0 +1,17 @@
+[EventListener-invoke-legacy.html]
+ expected: TIMEOUT
+ [Legacy listener of animationend]
+ expected: TIMEOUT
+
+ [Listener of animationstart]
+ expected: TIMEOUT
+
+ [Listener of animationend]
+ expected: FAIL
+
+ [Legacy listener of transitionend]
+ expected: TIMEOUT
+
+ [Legacy listener of animationstart]
+ expected: TIMEOUT
+
diff --git a/tests/wpt/metadata-layout-2020/fetch/content-type/response.window.js.ini b/tests/wpt/metadata-layout-2020/fetch/content-type/response.window.js.ini
index 9d6bf00a31f..157b411858c 100644
--- a/tests/wpt/metadata-layout-2020/fetch/content-type/response.window.js.ini
+++ b/tests/wpt/metadata-layout-2020/fetch/content-type/response.window.js.ini
@@ -321,9 +321,18 @@
[<iframe>: separate response Content-Type: text/plain */*;charset=gbk]
expected: FAIL
- [<iframe>: combined response Content-Type: text/html;" text/plain]
+ [<iframe>: combined response Content-Type: text/html */*]
expected: FAIL
- [<iframe>: separate response Content-Type: text/html;" text/plain]
+ [<iframe>: separate response Content-Type: text/html */*;charset=gbk]
+ expected: FAIL
+
+ [<iframe>: separate response Content-Type: text/html */*]
+ expected: FAIL
+
+ [<iframe>: separate response Content-Type: text/plain */*]
+ expected: FAIL
+
+ [<iframe>: combined response Content-Type: text/html;" \\" text/plain]
expected: FAIL
diff --git a/tests/wpt/metadata-layout-2020/fetch/content-type/script.window.js.ini b/tests/wpt/metadata-layout-2020/fetch/content-type/script.window.js.ini
index c7413d589dc..279734168dc 100644
--- a/tests/wpt/metadata-layout-2020/fetch/content-type/script.window.js.ini
+++ b/tests/wpt/metadata-layout-2020/fetch/content-type/script.window.js.ini
@@ -56,9 +56,6 @@
[separate text/javascript x/x]
expected: FAIL
- [separate text/javascript;charset=windows-1252 error text/javascript]
- expected: FAIL
-
[separate text/javascript;charset=windows-1252 text/javascript]
expected: FAIL
diff --git a/tests/wpt/metadata-layout-2020/html/browsers/history/the-history-interface/traverse_the_history_1.html.ini b/tests/wpt/metadata-layout-2020/html/browsers/history/the-history-interface/traverse_the_history_1.html.ini
deleted file mode 100644
index 87b07c3e670..00000000000
--- a/tests/wpt/metadata-layout-2020/html/browsers/history/the-history-interface/traverse_the_history_1.html.ini
+++ /dev/null
@@ -1,4 +0,0 @@
-[traverse_the_history_1.html]
- [Multiple history traversals from the same task]
- expected: FAIL
-
diff --git a/tests/wpt/metadata-layout-2020/html/browsers/history/the-history-interface/traverse_the_history_2.html.ini b/tests/wpt/metadata-layout-2020/html/browsers/history/the-history-interface/traverse_the_history_2.html.ini
deleted file mode 100644
index 75d75b4cda2..00000000000
--- a/tests/wpt/metadata-layout-2020/html/browsers/history/the-history-interface/traverse_the_history_2.html.ini
+++ /dev/null
@@ -1,4 +0,0 @@
-[traverse_the_history_2.html]
- [Multiple history traversals, last would be aborted]
- expected: FAIL
-
diff --git a/tests/wpt/metadata-layout-2020/html/browsers/history/the-history-interface/traverse_the_history_5.html.ini b/tests/wpt/metadata-layout-2020/html/browsers/history/the-history-interface/traverse_the_history_5.html.ini
deleted file mode 100644
index dc2e45516de..00000000000
--- a/tests/wpt/metadata-layout-2020/html/browsers/history/the-history-interface/traverse_the_history_5.html.ini
+++ /dev/null
@@ -1,4 +0,0 @@
-[traverse_the_history_5.html]
- [Multiple history traversals, last would be aborted]
- expected: FAIL
-
diff --git a/tests/wpt/metadata-layout-2020/html/canvas/offscreen/the-offscreen-canvas/size.attributes.parse.empty.html.ini b/tests/wpt/metadata-layout-2020/html/canvas/offscreen/the-offscreen-canvas/size.attributes.parse.empty.html.ini
deleted file mode 100644
index 660f719e46e..00000000000
--- a/tests/wpt/metadata-layout-2020/html/canvas/offscreen/the-offscreen-canvas/size.attributes.parse.empty.html.ini
+++ /dev/null
@@ -1,4 +0,0 @@
-[size.attributes.parse.empty.html]
- [Parsing of non-negative integers]
- expected: FAIL
-
diff --git a/tests/wpt/metadata-layout-2020/html/canvas/offscreen/the-offscreen-canvas/size.attributes.parse.empty.worker.js.ini b/tests/wpt/metadata-layout-2020/html/canvas/offscreen/the-offscreen-canvas/size.attributes.parse.empty.worker.js.ini
deleted file mode 100644
index 2643cec82f4..00000000000
--- a/tests/wpt/metadata-layout-2020/html/canvas/offscreen/the-offscreen-canvas/size.attributes.parse.empty.worker.js.ini
+++ /dev/null
@@ -1,4 +0,0 @@
-[size.attributes.parse.empty.worker.html]
- [Parsing of non-negative integers]
- expected: FAIL
-
diff --git a/tests/wpt/metadata-layout-2020/html/canvas/offscreen/the-offscreen-canvas/size.attributes.parse.onlyspace.html.ini b/tests/wpt/metadata-layout-2020/html/canvas/offscreen/the-offscreen-canvas/size.attributes.parse.onlyspace.html.ini
deleted file mode 100644
index dc9b22a06cd..00000000000
--- a/tests/wpt/metadata-layout-2020/html/canvas/offscreen/the-offscreen-canvas/size.attributes.parse.onlyspace.html.ini
+++ /dev/null
@@ -1,4 +0,0 @@
-[size.attributes.parse.onlyspace.html]
- [Parsing of non-negative integers]
- expected: FAIL
-
diff --git a/tests/wpt/metadata-layout-2020/html/canvas/offscreen/the-offscreen-canvas/size.attributes.parse.onlyspace.worker.js.ini b/tests/wpt/metadata-layout-2020/html/canvas/offscreen/the-offscreen-canvas/size.attributes.parse.onlyspace.worker.js.ini
deleted file mode 100644
index d2d1d46b3eb..00000000000
--- a/tests/wpt/metadata-layout-2020/html/canvas/offscreen/the-offscreen-canvas/size.attributes.parse.onlyspace.worker.js.ini
+++ /dev/null
@@ -1,4 +0,0 @@
-[size.attributes.parse.onlyspace.worker.html]
- [Parsing of non-negative integers]
- expected: FAIL
-
diff --git a/tests/wpt/metadata-layout-2020/html/interaction/focus/the-autofocus-attribute/supported-elements.html.ini b/tests/wpt/metadata-layout-2020/html/interaction/focus/the-autofocus-attribute/supported-elements.html.ini
index af14e19a466..ba183b6db32 100644
--- a/tests/wpt/metadata-layout-2020/html/interaction/focus/the-autofocus-attribute/supported-elements.html.ini
+++ b/tests/wpt/metadata-layout-2020/html/interaction/focus/the-autofocus-attribute/supported-elements.html.ini
@@ -1,13 +1,13 @@
[supported-elements.html]
expected: TIMEOUT
[Contenteditable element should support autofocus]
- expected: FAIL
+ expected: TIMEOUT
[Host element with delegatesFocus including no focusable descendants should be skipped]
expected: NOTRUN
[Element with tabindex should support autofocus]
- expected: TIMEOUT
+ expected: NOTRUN
[Area element should support autofocus]
expected: NOTRUN
diff --git a/tests/wpt/metadata-layout-2020/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_popups_nonescaping-1.html.ini b/tests/wpt/metadata-layout-2020/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_popups_nonescaping-1.html.ini
index 0c89d5253df..d913fcbb129 100644
--- a/tests/wpt/metadata-layout-2020/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_popups_nonescaping-1.html.ini
+++ b/tests/wpt/metadata-layout-2020/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_popups_nonescaping-1.html.ini
@@ -1,5 +1,5 @@
[iframe_sandbox_popups_nonescaping-1.html]
- expected: CRASH
+ expected: TIMEOUT
[Check that popups from a sandboxed iframe do not escape the sandbox]
- expected: FAIL
+ expected: NOTRUN
diff --git a/tests/wpt/metadata-layout-2020/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_popups_nonescaping-3.html.ini b/tests/wpt/metadata-layout-2020/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_popups_nonescaping-3.html.ini
index f4f994c5d6f..0fbc49ea1c1 100644
--- a/tests/wpt/metadata-layout-2020/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_popups_nonescaping-3.html.ini
+++ b/tests/wpt/metadata-layout-2020/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_popups_nonescaping-3.html.ini
@@ -1,5 +1,5 @@
[iframe_sandbox_popups_nonescaping-3.html]
- expected: TIMEOUT
+ expected: CRASH
[Check that popups from a sandboxed iframe do not escape the sandbox]
expected: NOTRUN
diff --git a/tests/wpt/metadata-layout-2020/html/webappapis/scripting/events/compile-event-handler-settings-objects.html.ini b/tests/wpt/metadata-layout-2020/html/webappapis/scripting/events/compile-event-handler-settings-objects.html.ini
index dbec6f2c2ff..450c88bd32b 100644
--- a/tests/wpt/metadata-layout-2020/html/webappapis/scripting/events/compile-event-handler-settings-objects.html.ini
+++ b/tests/wpt/metadata-layout-2020/html/webappapis/scripting/events/compile-event-handler-settings-objects.html.ini
@@ -3,3 +3,6 @@
[The incumbent settings object while executing the compiled callback via Web IDL's invoke must be that of the node document]
expected: TIMEOUT
+ [The entry settings object while executing the compiled callback via Web IDL's invoke must be that of the node document]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata-layout-2020/webaudio/the-audio-api/the-audiobuffersourcenode-interface/audiobuffersource-multi-channels.html.ini b/tests/wpt/metadata-layout-2020/webaudio/the-audio-api/the-audiobuffersourcenode-interface/audiobuffersource-multi-channels.html.ini
index e83bdad0f9f..d4732f0b872 100644
--- a/tests/wpt/metadata-layout-2020/webaudio/the-audio-api/the-audiobuffersourcenode-interface/audiobuffersource-multi-channels.html.ini
+++ b/tests/wpt/metadata-layout-2020/webaudio/the-audio-api/the-audiobuffersourcenode-interface/audiobuffersource-multi-channels.html.ini
@@ -119,3 +119,6 @@
[X Rendered audio for channel 5 does not equal [0,0.0626220703125,0.125030517578125,0.18695068359375,0.24810791015625,0.308319091796875,0.3673095703125,0.42486572265625,0.480743408203125,0.53472900390625,0.58660888671875,0.636199951171875,0.68328857421875,0.727691650390625,0.76922607421875,0.8077392578125...\] with an element-wise tolerance of {"absoluteThreshold":0.000030517578125,"relativeThreshold":0}.\n\tIndex\tActual\t\t\tExpected\t\tAbsError\t\tRelError\t\tTest threshold\n\t[1\]\t3.6732959747314453e-1\t6.2622070312500000e-2\t3.0470752716064453e-1\t4.8658168859649127e+0\t3.0517578125000000e-5\n\t[2\]\t6.8329977989196777e-1\t1.2503051757812500e-1\t5.5826926231384277e-1\t4.4650639949963384e+0\t3.0517578125000000e-5\n\t[3\]\t9.0373212099075317e-1\t1.8695068359375000e-1\t7.1678143739700317e-1\t3.8340669508039502e+0\t3.0517578125000000e-5\n\t[4\]\t9.9780619144439697e-1\t2.4810791015625000e-1\t7.4969828128814697e-1\t3.0216621502152523e+0\t3.0517578125000000e-5\n\t[5\]\t9.5236867666244507e-1\t3.0831909179687500e-1\t6.4404958486557007e-1\t2.0889059484187866e+0\t3.0517578125000000e-5\n\t...and 44054 more errors.\n\tMax AbsError of 1.9961981773376465e+0 at index of 31768.\n\t[31768\]\t-9.9879217147827148e-1\t9.9740600585937500e-1\t1.9961981773376465e+0\t2.0013897706758867e+0\t3.0517578125000000e-5\n\tMax RelError of Infinity at index of 10584.\n\t[10584\]\t-5.8778524398803711e-1\t0.0000000000000000e+0\t5.8778524398803711e-1\tInfinity\t3.0517578125000000e-5\n]
expected: FAIL
+ [X Rendered audio for channel 5 does not equal [0,0.0626220703125,0.125030517578125,0.18695068359375,0.24810791015625,0.308319091796875,0.3673095703125,0.42486572265625,0.480743408203125,0.53472900390625,0.58660888671875,0.636199951171875,0.68328857421875,0.727691650390625,0.76922607421875,0.8077392578125...\] with an element-wise tolerance of {"absoluteThreshold":0.000030517578125,"relativeThreshold":0}.\n\tIndex\tActual\t\t\tExpected\t\tAbsError\t\tRelError\t\tTest threshold\n\t[1\]\t3.6732959747314453e-1\t6.2622070312500000e-2\t3.0470752716064453e-1\t4.8658168859649127e+0\t3.0517578125000000e-5\n\t[2\]\t6.8329977989196777e-1\t1.2503051757812500e-1\t5.5826926231384277e-1\t4.4650639949963384e+0\t3.0517578125000000e-5\n\t[3\]\t9.0373212099075317e-1\t1.8695068359375000e-1\t7.1678143739700317e-1\t3.8340669508039502e+0\t3.0517578125000000e-5\n\t[4\]\t9.9780619144439697e-1\t2.4810791015625000e-1\t7.4969828128814697e-1\t3.0216621502152523e+0\t3.0517578125000000e-5\n\t[5\]\t9.5236867666244507e-1\t3.0831909179687500e-1\t6.4404958486557007e-1\t2.0889059484187866e+0\t3.0517578125000000e-5\n\t...and 42291 more errors.\n\tMax AbsError of 1.9986916780471802e+0 at index of 42250.\n\t[42250\]\t9.9994289875030518e-1\t-9.9874877929687500e-1\t1.9986916780471802e+0\t2.0011956154322119e+0\t3.0517578125000000e-5\n\tMax RelError of Infinity at index of 12348.\n\t[12348\]\t9.5105654001235962e-1\t0.0000000000000000e+0\t9.5105654001235962e-1\tInfinity\t3.0517578125000000e-5\n]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata-layout-2020/webmessaging/without-ports/017.html.ini b/tests/wpt/metadata-layout-2020/webmessaging/without-ports/017.html.ini
deleted file mode 100644
index 064cf47545b..00000000000
--- a/tests/wpt/metadata-layout-2020/webmessaging/without-ports/017.html.ini
+++ /dev/null
@@ -1,5 +0,0 @@
-[017.html]
- expected: TIMEOUT
- [origin of the script that invoked the method, about:blank]
- expected: TIMEOUT
-
diff --git a/tests/wpt/metadata-layout-2020/webmessaging/without-ports/018.html.ini b/tests/wpt/metadata-layout-2020/webmessaging/without-ports/018.html.ini
deleted file mode 100644
index 663a1f8fa30..00000000000
--- a/tests/wpt/metadata-layout-2020/webmessaging/without-ports/018.html.ini
+++ /dev/null
@@ -1,5 +0,0 @@
-[018.html]
- expected: TIMEOUT
- [origin of the script that invoked the method, javascript:]
- expected: TIMEOUT
-
diff --git a/tests/wpt/metadata-layout-2020/webxr/gamepads-module/xrInputSource_gamepad_disconnect.https.html.ini b/tests/wpt/metadata-layout-2020/webxr/gamepads-module/xrInputSource_gamepad_disconnect.https.html.ini
new file mode 100644
index 00000000000..325a0bb6738
--- /dev/null
+++ b/tests/wpt/metadata-layout-2020/webxr/gamepads-module/xrInputSource_gamepad_disconnect.https.html.ini
@@ -0,0 +1,4 @@
+[xrInputSource_gamepad_disconnect.https.html]
+ [WebXR InputSource's gamepad gets disconnected when the input source is removed]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/FileAPI/url/url-in-tags-revoke.window.js.ini b/tests/wpt/metadata/FileAPI/url/url-in-tags-revoke.window.js.ini
index d4f62ed7113..faa00f45ecf 100644
--- a/tests/wpt/metadata/FileAPI/url/url-in-tags-revoke.window.js.ini
+++ b/tests/wpt/metadata/FileAPI/url/url-in-tags-revoke.window.js.ini
@@ -7,7 +7,7 @@
expected: FAIL
[Opening a blob URL in a new window immediately before revoking it works.]
- expected: FAIL
+ expected: TIMEOUT
[Opening a blob URL in a noopener about:blank window immediately before revoking it works.]
expected: TIMEOUT
diff --git a/tests/wpt/metadata/MANIFEST.json b/tests/wpt/metadata/MANIFEST.json
index 09c8489b3c8..7968aff7add 100644
--- a/tests/wpt/metadata/MANIFEST.json
+++ b/tests/wpt/metadata/MANIFEST.json
@@ -24334,6 +24334,21 @@
]
]
},
+ "contenteditable": {
+ "synthetic-height.tentative.html": [
+ "4d466bff412e6de924b9886ef808b49f7ff2b44d",
+ [
+ null,
+ [
+ [
+ "/contenteditable/synthetic-height-ref.html",
+ "=="
+ ]
+ ],
+ {}
+ ]
+ ]
+ },
"css": {
"CSS2": {
"abspos": {
@@ -264457,6 +264472,10 @@
"META.yml": [
"3618b8d29d08c2315f6480c0e02578bb4784b344",
[]
+ ],
+ "synthetic-height-ref.html": [
+ "a64b545f03c369a900ad6fee1971b60a176c6508",
+ []
]
},
"cookie-store": {
@@ -317728,6 +317747,10 @@
"0cc259b24f3829f665dc97b5d5edd98a3e0147c3",
[]
],
+ "feature-policy-frame-policy-allowed-for-some-override.https.sub.html.sub.headers": [
+ "c2493a089031aa89fc6c689e0bdc1ea717da81c3",
+ []
+ ],
"feature-policy-frame-policy-allowed-for-some.https.sub.html.sub.headers": [
"c2493a089031aa89fc6c689e0bdc1ea717da81c3",
[]
@@ -322191,7 +322214,7 @@
[]
],
"tests2d-offscreen.yaml": [
- "f4a605c0eca5a2305223da743d8c5ff8a50ca508",
+ "5fe168a66d572f2b3d8e33f3982d70702db849e3",
[]
],
"tests2d.yaml": [
@@ -331568,7 +331591,7 @@
[]
],
"http2-context.sub.h2.any.js.ini": [
- "6537b7eae0705cfee6ff43145b505b2bc1880836",
+ "665258c9d94c2fc934b07fdb33d7e54eac6bc0cb",
[]
],
"order-of-metas.any.js.ini": [
@@ -331584,7 +331607,7 @@
[]
],
"wpt-server-http.sub.html.ini": [
- "e2f26c7e4b697c77c5ee195cad763279bd1ecde0",
+ "b1e18f8948acf097d415209d18f084da58e02fa9",
[]
],
"wpt-server-websocket.sub.html.ini": [
@@ -332315,7 +332338,7 @@
[]
],
"web-nfc.idl": [
- "155bf267a206719e64e5bc505b7602f8804643bf",
+ "f2e31b7352867d39edc9c43a4f1fffb3a02cb985",
[]
],
"web-share.idl": [
@@ -332496,6 +332519,10 @@
}
},
"largest-contentful-paint": {
+ "META.yml": [
+ "b7e2497681e98960fd00d70ced82aa9e3a48d144",
+ []
+ ],
"resources": {
"iframe-stores-entry.html": [
"cd600254805570deab8447ea843657d7f268b7c5",
@@ -332512,6 +332539,10 @@
}
},
"layout-instability": {
+ "META.yml": [
+ "10c6aa36cecf918928298102d1934c2ff79d01f2",
+ []
+ ],
"resources": {
"slow-image.py": [
"ee7988c551f6429eea2b929af083ad30cbd5c73d",
@@ -332563,7 +332594,7 @@
[]
]
},
- "lint.whitelist": [
+ "lint.ignore": [
"5f793cb6f3ec885017eeaf4cd7b4074d93e4d605",
[]
],
@@ -342064,7 +342095,7 @@
[]
],
"ci_wptrunner_infrastructure.sh": [
- "f98385dd95d89a63eba12a4600b14dd2822816da",
+ "89267b50cb6432c495d428a180c59659b5c5a60a",
[]
],
"commands.json": [
@@ -342122,7 +342153,7 @@
],
"tasks": {
"test.yml": [
- "d2d76df13a753643e0e32d4237ad19b9823e1742",
+ "3157fb6f273810a6cb75278af7920d8af41022ab",
[]
]
},
@@ -342154,7 +342185,7 @@
[]
],
"test_valid.py": [
- "aa1ce20cd6d36191d96e2080393a70b13d8aa1df",
+ "85c015e521a6fcbe9e4050e4db7b9a191c3e113c",
[]
]
}
@@ -342256,7 +342287,7 @@
[]
],
"lint.py": [
- "fad93662a4465c7d1cb266f8ef475b26ed24f764",
+ "74b3c8cf9301a9d5ee3f0356a8a5604eea41fa3c",
[]
],
"rules.py": [
@@ -342383,7 +342414,7 @@
"29296f4c5876fc8c4cd052548616005c1e46f0e4",
[]
],
- "lint.whitelist": [
+ "lint.ignore": [
"a763e4432e5afa2123035345e130d018710ffdd0",
[]
],
@@ -342437,7 +342468,7 @@
[]
],
"test_lint.py": [
- "af2b7d3d4aa19f0c1d72a5575b5013c7897e1dc4",
+ "43da2f9ff21904868431533eaae846a403b7379a",
[]
],
"test_path_lints.py": [
@@ -348084,7 +348115,7 @@
[]
],
"firefox.py": [
- "9532bd03cb7d8bd7b21543c756ba9197707947d0",
+ "f60185eb25f2e3140562dde5d96624f7081e4571",
[]
],
"firefox_android.py": [
@@ -348507,7 +348538,7 @@
[]
],
"wpttest.py": [
- "8f828ff43abf72c9e3332e7e1eb0bf09f5caaf88",
+ "838a3ece325e8d58e952ea63b69508255fbb880f",
[]
]
},
@@ -353530,7 +353561,7 @@
[]
],
"webxr_util.js": [
- "fcee893036799f917ed175d0444058103c4287b5",
+ "7c157518755dfef1f0ffe2e00cbb27d8a2939dcb",
[]
]
},
@@ -354866,7 +354897,7 @@
[]
],
"access-control-preflight-denied.py": [
- "889ee6b0eca6ca68e7b8345fa2a1031103a8886c",
+ "e8010cc0ef71d8d1db3c4e381df45b56d541026e",
[]
],
"access-control-preflight-request-header-lowercase.py": [
@@ -380924,6 +380955,13 @@
null,
{}
]
+ ],
+ "viewport-user-scalable-no-wide-content.tentative.html": [
+ "6cf0bfa236a0cb5806c5deeeb7d45c07afb9f16f",
+ [
+ null,
+ {}
+ ]
]
},
"css-display": {
@@ -399725,7 +399763,7 @@
]
],
"CSSStyleSheet-constructable-replace-on-regular-sheet.html": [
- "5ce0cbee97a2a1593018089f9252870bdb47587b",
+ "76bee452a661bb95908c66e176797dd62f918ab2",
[
null,
{}
@@ -420303,8 +420341,17 @@
}
]
],
+ "feature-policy-frame-policy-allowed-for-some-override.https.sub.html": [
+ "17c9cc6b8dbbb67891871874a5632b3cbaa89b3a",
+ [
+ null,
+ {
+ "timeout": "long"
+ }
+ ]
+ ],
"feature-policy-frame-policy-allowed-for-some.https.sub.html": [
- "9a020f9e6b5d513adaf2d36b25bd62b239789e50",
+ "d519743a4384c7242d849c011cf02e835eecd2ba",
[
null,
{
@@ -444233,14 +444280,14 @@
]
],
"size.attributes.parse.empty.html": [
- "69e834f510ee1a4d2ded63b9e7820eb0bd89502d",
+ "382914954109d81fe79a20be1ab13907902b5724",
[
null,
{}
]
],
"size.attributes.parse.empty.worker.js": [
- "1888d2ef132010d087a7379acdc75f585d6dfc88",
+ "0fb9808d36b10784a2d3a052f9e3edb06d477e84",
[
"html/canvas/offscreen/the-offscreen-canvas/size.attributes.parse.empty.worker.html",
{}
@@ -444317,14 +444364,14 @@
]
],
"size.attributes.parse.onlyspace.html": [
- "cbd9c1e3e3fb91a1caad7201c291eb0d5a4253a8",
+ "55d05b88c3f88508f387299ac4e75c492f96f518",
[
null,
{}
]
],
"size.attributes.parse.onlyspace.worker.js": [
- "21c8cfc32baa462e2c543631cbcb26cbdc15a56d",
+ "b2e5d6c6726a599ff77ae7066127dfa6d5cfad9c",
[
"html/canvas/offscreen/the-offscreen-canvas/size.attributes.parse.onlyspace.worker.html",
{}
@@ -447538,6 +447585,13 @@
{}
]
],
+ "preventScroll-textarea.html": [
+ "446284b1863d73f03b845a121189f273b77decd1",
+ [
+ null,
+ {}
+ ]
+ ],
"preventScroll.html": [
"97d341b30ec849fefc13adb8b3376307fea58b69",
[
@@ -485858,6 +485912,15 @@
{}
]
],
+ "scroll-timeline-snapshotting.html": [
+ "f2ba23fd4dc9cb4da40b4008071a7a109e6edb37",
+ [
+ null,
+ {
+ "testdriver": true
+ }
+ ]
+ ],
"setting-current-time.html": [
"d46206d8257702d443e3b1e620bf9bad4f327ee3",
[
@@ -510054,7 +510117,7 @@
]
],
"RTCPeerConnection-setRemoteDescription-offer.html": [
- "21ecf17fef6aa8b242b22a55e78c3bb0280a28cb",
+ "b4702446613255daec7db5325f64089a917fdee9",
[
null,
{}
@@ -510075,7 +510138,7 @@
]
],
"RTCPeerConnection-setRemoteDescription-rollback.html": [
- "516cb57025b195552ade0e600c02f7c92c8f4aa8",
+ "a031a6015f4274d783fc3a5a1bce03a7e23dffe8",
[
null,
{}
@@ -516120,7 +516183,7 @@
},
"dom-overlay": {
"ar_dom_overlay.https.html": [
- "e6f7a9d455cf22d1fa070f269ee9715992e5e2c8",
+ "de0cb68744956558541b574fd88800d262d23e97",
[
null,
{}
@@ -516142,14 +516205,14 @@
]
],
"events_input_sources_change.https.html": [
- "107cc9b544e3a395c14655d0f4356485f05d7bf5",
+ "7c784c34479842148a3310b3f48d41990fcd4c34",
[
null,
{}
]
],
"events_referenceSpace_reset_immersive.https.html": [
- "2da3788a39a20db3396d542f7fb0dc5d486c2aa3",
+ "9643bf61c877ed50fa70e49015828e1b58ba7870",
[
null,
{}
@@ -516163,21 +516226,21 @@
]
],
"events_session_select.https.html": [
- "bc501b693497ddf58ccabd4491858263c4dfbdbc",
+ "f83d3c4f85421999d2480049dc4daa62acf07666",
[
null,
{}
]
],
"events_session_select_subframe.https.html": [
- "0e2c23424c0893b6a563c2aa2fbd999e50b1cfef",
+ "96fa11713dd480b947b0c64b624dc6022cb7e8d0",
[
null,
{}
]
],
"events_session_squeeze.https.html": [
- "59e4e3f72c5d63cff47b6a7e1dfbac6194203534",
+ "101f1dc7c886906a9f6bc9db8bba0e01fdcb4b73",
[
null,
{}
@@ -516210,14 +516273,14 @@
]
],
"xrInputSource_gamepad_disconnect.https.html": [
- "7b8ff4a59c8e503d4f31fe33f9fa1dee6af10003",
+ "f69f943b5b58451f75a4f21ac149676066d1f799",
[
null,
{}
]
],
"xrInputSource_gamepad_input_registered.https.html": [
- "038e28dcffbd507105da57fb1ced055ea83896c0",
+ "1ff9dcf3b40c9a9c9f41fcc756f6bab1d3add7b3",
[
null,
{}
@@ -516225,21 +516288,21 @@
]
},
"getInputPose_handedness.https.html": [
- "5a310c6dd77274631d0ef9e751c6f195def9c3d3",
+ "c5c13fd08f4ec43cb33155c9ea92ad2177b6035e",
[
null,
{}
]
],
"getInputPose_pointer.https.html": [
- "9c2bf5217f81fc6f345a15e79170ec7aa6b2f750",
+ "30dbe4c5304a33d2131548d8c168c85225cd4b82",
[
null,
{}
]
],
"getViewerPose_emulatedPosition.https.html": [
- "d3f83dad26ac8280888f85a451016cefa78aa04a",
+ "acba79136a2925ef8c37ffe0a992c5a8da967976",
[
null,
{}
@@ -516247,7 +516310,7 @@
],
"hit-test": {
"ar_hittest_subscription_inputSources.https.html": [
- "7b609d5e3a7b0990493af37f614086b552af7945",
+ "d419055ab264276ab6c2c2f064ab11785440bdfe",
[
null,
{}
@@ -516275,7 +516338,7 @@
]
],
"ar_hittest_subscription_transientInputSources.https.html": [
- "385bb667b318cb5d043bafc74aebb59be805b826",
+ "e38e9c601b312f1207cce29bd64d588381275e3c",
[
null,
{}
@@ -516383,7 +516446,7 @@
]
],
"xrBoundedReferenceSpace_updates.https.html": [
- "9043d59e3b2318fab182b85ab29d15ea4e2b41cb",
+ "3d5040436657d7b09b290562f1cfde086b924495",
[
null,
{}
@@ -516495,49 +516558,49 @@
]
],
"xrInputSource_add_remove.https.html": [
- "33264ddd68ab09e2ed6a596614116bd1225f2665",
+ "7764017910d2e5ada78febe954e9543aca89226b",
[
null,
{}
]
],
"xrInputSource_emulatedPosition.https.html": [
- "7b0fda4508748c81a0865d137847fd7f13a3ff97",
+ "2bc21ffe6c395de22a1aa840cb8a97e44a81eebe",
[
null,
{}
]
],
"xrInputSource_profiles.https.html": [
- "32073c631f8ecfc3b19c33ed03e6b9999553cfec",
+ "f55e682b67528c0e01406163490fa433a69d0592",
[
null,
{}
]
],
"xrInputSource_sameObject.https.html": [
- "78240de2f9019218061e45359cfad7cd28057d52",
+ "305e5f9e0fccc8ef7a7d96d9e65da130b5f54239",
[
null,
{}
]
],
"xrPose_transform_sameObject.https.html": [
- "79eed4cdec4663b3a0a401aff80126e4dad767f9",
+ "8e2239cff167cbb88b8702c4f3f413d447b5015e",
[
null,
{}
]
],
"xrReferenceSpace_originOffset.https.html": [
- "3d244b8ce29e2c74dd6f5c243dd2ab6679122c82",
+ "f6929f27af0ee73676c09be7de25afa2ed3d1fd4",
[
null,
{}
]
],
"xrReferenceSpace_originOffsetBounded.https.html": [
- "c50aff2515b85ab119c3c1c43487a98c5bf8dddb",
+ "7ce4acafd35ef7ccad553cdf15ebd43a0e24d6c7",
[
null,
{}
@@ -516614,7 +516677,7 @@
]
],
"xrSession_input_events_end.https.html": [
- "a932aad2fad78ceb2449928773da3ecfe237b8e7",
+ "636562dd6ec06c1d5d84d73b0b10ed38d7950ad5",
[
null,
{}
@@ -516670,7 +516733,7 @@
]
],
"xrSession_sameObject.https.html": [
- "837fa0a008d6cdfcbd9ee134e7ec78bce7c2b95b",
+ "66aeef81c50c36ff2fc50dcc7c45749f25605893",
[
null,
{}
@@ -516698,7 +516761,7 @@
]
],
"xrStationaryReferenceSpace_floorlevel_updates.https.html": [
- "3f33cf354b8d3fde3d0a2efd3d92b78037a9178a",
+ "967291609c0f05a9e457e3ffa2a77f601fa9d461",
[
null,
{}
diff --git a/tests/wpt/metadata/css/CSS2/floats/hit-test-floats-002.html.ini b/tests/wpt/metadata/css/CSS2/floats/hit-test-floats-002.html.ini
new file mode 100644
index 00000000000..f64b45fea6b
--- /dev/null
+++ b/tests/wpt/metadata/css/CSS2/floats/hit-test-floats-002.html.ini
@@ -0,0 +1,4 @@
+[hit-test-floats-002.html]
+ [Hit test float]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/css/CSS2/floats/hit-test-floats-003.html.ini b/tests/wpt/metadata/css/CSS2/floats/hit-test-floats-003.html.ini
new file mode 100644
index 00000000000..f29da48a2a0
--- /dev/null
+++ b/tests/wpt/metadata/css/CSS2/floats/hit-test-floats-003.html.ini
@@ -0,0 +1,4 @@
+[hit-test-floats-003.html]
+ [Miss float below something else]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/css/CSS2/floats/hit-test-floats-004.html.ini b/tests/wpt/metadata/css/CSS2/floats/hit-test-floats-004.html.ini
new file mode 100644
index 00000000000..4bfb0c2053a
--- /dev/null
+++ b/tests/wpt/metadata/css/CSS2/floats/hit-test-floats-004.html.ini
@@ -0,0 +1,4 @@
+[hit-test-floats-004.html]
+ [Miss float below something else]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/css/compositing/mix-blend-mode/mix-blend-mode-animation.html.ini b/tests/wpt/metadata/css/compositing/mix-blend-mode/mix-blend-mode-animation.html.ini
new file mode 100644
index 00000000000..5496474410b
--- /dev/null
+++ b/tests/wpt/metadata/css/compositing/mix-blend-mode/mix-blend-mode-animation.html.ini
@@ -0,0 +1,2 @@
+[mix-blend-mode-animation.html]
+ expected: FAIL
diff --git a/tests/wpt/metadata/css/css-transitions/properties-value-inherit-002.html.ini b/tests/wpt/metadata/css/css-transitions/properties-value-inherit-002.html.ini
index 42f61e8ed49..99dd4705d0e 100644
--- a/tests/wpt/metadata/css/css-transitions/properties-value-inherit-002.html.ini
+++ b/tests/wpt/metadata/css/css-transitions/properties-value-inherit-002.html.ini
@@ -509,3 +509,93 @@
[border-left-width length(pt) / values]
expected: FAIL
+ [bottom length(ex) / values]
+ expected: FAIL
+
+ [right length(pc) / values]
+ expected: FAIL
+
+ [top length(pt) / values]
+ expected: FAIL
+
+ [top length(pc) / values]
+ expected: FAIL
+
+ [right percentage(%) / values]
+ expected: FAIL
+
+ [bottom length(pt) / values]
+ expected: FAIL
+
+ [right length(px) / values]
+ expected: FAIL
+
+ [top length(px) / values]
+ expected: FAIL
+
+ [right length(em) / values]
+ expected: FAIL
+
+ [top percentage(%) / values]
+ expected: FAIL
+
+ [right length(ex) / values]
+ expected: FAIL
+
+ [right length(cm) / values]
+ expected: FAIL
+
+ [right length(in) / values]
+ expected: FAIL
+
+ [right length(mm) / values]
+ expected: FAIL
+
+ [top length(em) / values]
+ expected: FAIL
+
+ [bottom length(px) / values]
+ expected: FAIL
+
+ [left length(px) / values]
+ expected: FAIL
+
+ [bottom length(in) / values]
+ expected: FAIL
+
+ [top length(in) / values]
+ expected: FAIL
+
+ [bottom length(mm) / values]
+ expected: FAIL
+
+ [left length(pt) / values]
+ expected: FAIL
+
+ [bottom length(em) / values]
+ expected: FAIL
+
+ [top length(cm) / values]
+ expected: FAIL
+
+ [top length(mm) / values]
+ expected: FAIL
+
+ [left length(pc) / values]
+ expected: FAIL
+
+ [bottom length(pc) / values]
+ expected: FAIL
+
+ [top length(ex) / values]
+ expected: FAIL
+
+ [right length(pt) / values]
+ expected: FAIL
+
+ [bottom percentage(%) / values]
+ expected: FAIL
+
+ [bottom length(cm) / values]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/css/cssom-view/MediaQueryList-addListener-removeListener.html.ini b/tests/wpt/metadata/css/cssom-view/MediaQueryList-addListener-removeListener.html.ini
index c884dc82eab..628b1fab770 100644
--- a/tests/wpt/metadata/css/cssom-view/MediaQueryList-addListener-removeListener.html.ini
+++ b/tests/wpt/metadata/css/cssom-view/MediaQueryList-addListener-removeListener.html.ini
@@ -2,6 +2,3 @@
[listeners are called when <iframe> is resized]
expected: FAIL
- [listeners are called correct number of times]
- expected: FAIL
-
diff --git a/tests/wpt/metadata/css/cssom-view/elementFromPosition.html.ini b/tests/wpt/metadata/css/cssom-view/elementFromPosition.html.ini
index 5733d536fd3..85e94926cb3 100644
--- a/tests/wpt/metadata/css/cssom-view/elementFromPosition.html.ini
+++ b/tests/wpt/metadata/css/cssom-view/elementFromPosition.html.ini
@@ -21,6 +21,3 @@
[test the top of layer]
expected: FAIL
- [test some point of the element: top left corner]
- expected: FAIL
-
diff --git a/tests/wpt/metadata/css/cssom-view/elementsFromPoint-iframes.html.ini b/tests/wpt/metadata/css/cssom-view/elementsFromPoint-iframes.html.ini
index 6ef8bb1049f..171592fc08f 100644
--- a/tests/wpt/metadata/css/cssom-view/elementsFromPoint-iframes.html.ini
+++ b/tests/wpt/metadata/css/cssom-view/elementsFromPoint-iframes.html.ini
@@ -2,6 +2,3 @@
[elementsFromPoint on the root document for points in iframe elements]
expected: FAIL
- [elementsFromPoint on inner documents]
- expected: FAIL
-
diff --git a/tests/wpt/metadata/dom/events/EventListener-invoke-legacy.html.ini b/tests/wpt/metadata/dom/events/EventListener-invoke-legacy.html.ini
index c7ff398c924..3cf1f3e369b 100644
--- a/tests/wpt/metadata/dom/events/EventListener-invoke-legacy.html.ini
+++ b/tests/wpt/metadata/dom/events/EventListener-invoke-legacy.html.ini
@@ -5,7 +5,7 @@
expected: TIMEOUT
[Listener of animationend]
- expected: TIMEOUT
+ expected: FAIL
[Legacy listener of animationend]
expected: TIMEOUT
diff --git a/tests/wpt/metadata/fetch/content-type/response.window.js.ini b/tests/wpt/metadata/fetch/content-type/response.window.js.ini
index 0e5c70af39f..20903eeffeb 100644
--- a/tests/wpt/metadata/fetch/content-type/response.window.js.ini
+++ b/tests/wpt/metadata/fetch/content-type/response.window.js.ini
@@ -312,18 +312,27 @@
[fetch(): separate response Content-Type: text/plain ]
expected: NOTRUN
- [<iframe>: combined response Content-Type: text/html;" text/plain]
+ [<iframe>: separate response Content-Type: text/html;x=" text/plain]
expected: FAIL
- [<iframe>: separate response Content-Type: text/html;" text/plain]
+ [<iframe>: separate response Content-Type: text/html;" \\" text/plain]
expected: FAIL
- [<iframe>: separate response Content-Type: text/html;x=" text/plain]
+ [<iframe>: separate response Content-Type: text/plain */*;charset=gbk]
expected: FAIL
- [<iframe>: separate response Content-Type: text/html;" \\" text/plain]
+ [<iframe>: combined response Content-Type: text/html */*]
expected: FAIL
- [<iframe>: separate response Content-Type: text/plain */*;charset=gbk]
+ [<iframe>: separate response Content-Type: text/html */*;charset=gbk]
+ expected: FAIL
+
+ [<iframe>: separate response Content-Type: text/html */*]
+ expected: FAIL
+
+ [<iframe>: separate response Content-Type: text/plain */*]
+ expected: FAIL
+
+ [<iframe>: combined response Content-Type: text/html;" \\" text/plain]
expected: FAIL
diff --git a/tests/wpt/metadata/fetch/content-type/script.window.js.ini b/tests/wpt/metadata/fetch/content-type/script.window.js.ini
index 7d481211d8a..279734168dc 100644
--- a/tests/wpt/metadata/fetch/content-type/script.window.js.ini
+++ b/tests/wpt/metadata/fetch/content-type/script.window.js.ini
@@ -59,6 +59,3 @@
[separate text/javascript;charset=windows-1252 text/javascript]
expected: FAIL
- [separate text/javascript;charset=windows-1252 error text/javascript]
- expected: FAIL
-
diff --git a/tests/wpt/metadata/html/browsers/history/the-history-interface/traverse_the_history_1.html.ini b/tests/wpt/metadata/html/browsers/history/the-history-interface/traverse_the_history_1.html.ini
deleted file mode 100644
index 87b07c3e670..00000000000
--- a/tests/wpt/metadata/html/browsers/history/the-history-interface/traverse_the_history_1.html.ini
+++ /dev/null
@@ -1,4 +0,0 @@
-[traverse_the_history_1.html]
- [Multiple history traversals from the same task]
- expected: FAIL
-
diff --git a/tests/wpt/metadata/html/browsers/history/the-history-interface/traverse_the_history_2.html.ini b/tests/wpt/metadata/html/browsers/history/the-history-interface/traverse_the_history_2.html.ini
deleted file mode 100644
index 75d75b4cda2..00000000000
--- a/tests/wpt/metadata/html/browsers/history/the-history-interface/traverse_the_history_2.html.ini
+++ /dev/null
@@ -1,4 +0,0 @@
-[traverse_the_history_2.html]
- [Multiple history traversals, last would be aborted]
- expected: FAIL
-
diff --git a/tests/wpt/metadata/html/browsers/history/the-history-interface/traverse_the_history_5.html.ini b/tests/wpt/metadata/html/browsers/history/the-history-interface/traverse_the_history_5.html.ini
deleted file mode 100644
index dc2e45516de..00000000000
--- a/tests/wpt/metadata/html/browsers/history/the-history-interface/traverse_the_history_5.html.ini
+++ /dev/null
@@ -1,4 +0,0 @@
-[traverse_the_history_5.html]
- [Multiple history traversals, last would be aborted]
- expected: FAIL
-
diff --git a/tests/wpt/metadata/html/browsers/origin/cross-origin-objects/cross-origin-objects-on-new-window.html.ini b/tests/wpt/metadata/html/browsers/origin/cross-origin-objects/cross-origin-objects-on-new-window.html.ini
deleted file mode 100644
index 735a9a75a2a..00000000000
--- a/tests/wpt/metadata/html/browsers/origin/cross-origin-objects/cross-origin-objects-on-new-window.html.ini
+++ /dev/null
@@ -1,2 +0,0 @@
-[cross-origin-objects-on-new-window.html]
- expected: TIMEOUT
diff --git a/tests/wpt/metadata/html/canvas/offscreen/the-offscreen-canvas/size.attributes.parse.empty.html.ini b/tests/wpt/metadata/html/canvas/offscreen/the-offscreen-canvas/size.attributes.parse.empty.html.ini
deleted file mode 100644
index 660f719e46e..00000000000
--- a/tests/wpt/metadata/html/canvas/offscreen/the-offscreen-canvas/size.attributes.parse.empty.html.ini
+++ /dev/null
@@ -1,4 +0,0 @@
-[size.attributes.parse.empty.html]
- [Parsing of non-negative integers]
- expected: FAIL
-
diff --git a/tests/wpt/metadata/html/canvas/offscreen/the-offscreen-canvas/size.attributes.parse.empty.worker.js.ini b/tests/wpt/metadata/html/canvas/offscreen/the-offscreen-canvas/size.attributes.parse.empty.worker.js.ini
deleted file mode 100644
index 2643cec82f4..00000000000
--- a/tests/wpt/metadata/html/canvas/offscreen/the-offscreen-canvas/size.attributes.parse.empty.worker.js.ini
+++ /dev/null
@@ -1,4 +0,0 @@
-[size.attributes.parse.empty.worker.html]
- [Parsing of non-negative integers]
- expected: FAIL
-
diff --git a/tests/wpt/metadata/html/canvas/offscreen/the-offscreen-canvas/size.attributes.parse.onlyspace.html.ini b/tests/wpt/metadata/html/canvas/offscreen/the-offscreen-canvas/size.attributes.parse.onlyspace.html.ini
deleted file mode 100644
index dc9b22a06cd..00000000000
--- a/tests/wpt/metadata/html/canvas/offscreen/the-offscreen-canvas/size.attributes.parse.onlyspace.html.ini
+++ /dev/null
@@ -1,4 +0,0 @@
-[size.attributes.parse.onlyspace.html]
- [Parsing of non-negative integers]
- expected: FAIL
-
diff --git a/tests/wpt/metadata/html/canvas/offscreen/the-offscreen-canvas/size.attributes.parse.onlyspace.worker.js.ini b/tests/wpt/metadata/html/canvas/offscreen/the-offscreen-canvas/size.attributes.parse.onlyspace.worker.js.ini
deleted file mode 100644
index d2d1d46b3eb..00000000000
--- a/tests/wpt/metadata/html/canvas/offscreen/the-offscreen-canvas/size.attributes.parse.onlyspace.worker.js.ini
+++ /dev/null
@@ -1,4 +0,0 @@
-[size.attributes.parse.onlyspace.worker.html]
- [Parsing of non-negative integers]
- expected: FAIL
-
diff --git a/tests/wpt/metadata/html/interaction/focus/the-autofocus-attribute/supported-elements.html.ini b/tests/wpt/metadata/html/interaction/focus/the-autofocus-attribute/supported-elements.html.ini
index 8b743f36e1d..44dc9ffabc4 100644
--- a/tests/wpt/metadata/html/interaction/focus/the-autofocus-attribute/supported-elements.html.ini
+++ b/tests/wpt/metadata/html/interaction/focus/the-autofocus-attribute/supported-elements.html.ini
@@ -1,10 +1,10 @@
[supported-elements.html]
expected: TIMEOUT
[Contenteditable element should support autofocus]
- expected: FAIL
+ expected: TIMEOUT
[Element with tabindex should support autofocus]
- expected: TIMEOUT
+ expected: NOTRUN
[Host element with delegatesFocus including no focusable descendants should be skipped]
expected: NOTRUN
diff --git a/tests/wpt/metadata/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_popups_nonescaping-1.html.ini b/tests/wpt/metadata/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_popups_nonescaping-1.html.ini
index 963d4cd20ef..9df1ac56f2a 100644
--- a/tests/wpt/metadata/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_popups_nonescaping-1.html.ini
+++ b/tests/wpt/metadata/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_popups_nonescaping-1.html.ini
@@ -1,6 +1,6 @@
[iframe_sandbox_popups_nonescaping-1.html]
type: testharness
- expected: CRASH
+ expected: TIMEOUT
[Check that popups from a sandboxed iframe do not escape the sandbox]
expected: NOTRUN
diff --git a/tests/wpt/metadata/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_popups_nonescaping-3.html.ini b/tests/wpt/metadata/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_popups_nonescaping-3.html.ini
index e440b1e38c6..71edac2c5ed 100644
--- a/tests/wpt/metadata/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_popups_nonescaping-3.html.ini
+++ b/tests/wpt/metadata/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_popups_nonescaping-3.html.ini
@@ -1,6 +1,6 @@
[iframe_sandbox_popups_nonescaping-3.html]
type: testharness
- expected: TIMEOUT
+ expected: CRASH
[Check that popups from a sandboxed iframe do not escape the sandbox]
expected: NOTRUN
diff --git a/tests/wpt/metadata/html/webappapis/scripting/events/compile-event-handler-settings-objects.html.ini b/tests/wpt/metadata/html/webappapis/scripting/events/compile-event-handler-settings-objects.html.ini
index 0cef5158fae..01f7b72cbe7 100644
--- a/tests/wpt/metadata/html/webappapis/scripting/events/compile-event-handler-settings-objects.html.ini
+++ b/tests/wpt/metadata/html/webappapis/scripting/events/compile-event-handler-settings-objects.html.ini
@@ -4,3 +4,6 @@
[The incumbent settings object while executing the compiled callback via Web IDL's invoke must be that of the node document]
expected: TIMEOUT
+ [The entry settings object while executing the compiled callback via Web IDL's invoke must be that of the node document]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/webaudio/the-audio-api/the-audiobuffersourcenode-interface/audiobuffersource-multi-channels.html.ini b/tests/wpt/metadata/webaudio/the-audio-api/the-audiobuffersourcenode-interface/audiobuffersource-multi-channels.html.ini
index 37a773e5fec..2ac230ec4d6 100644
--- a/tests/wpt/metadata/webaudio/the-audio-api/the-audiobuffersourcenode-interface/audiobuffersource-multi-channels.html.ini
+++ b/tests/wpt/metadata/webaudio/the-audio-api/the-audiobuffersourcenode-interface/audiobuffersource-multi-channels.html.ini
@@ -191,3 +191,6 @@
[X Rendered audio for channel 5 does not equal [0,0.0626220703125,0.125030517578125,0.18695068359375,0.24810791015625,0.308319091796875,0.3673095703125,0.42486572265625,0.480743408203125,0.53472900390625,0.58660888671875,0.636199951171875,0.68328857421875,0.727691650390625,0.76922607421875,0.8077392578125...\] with an element-wise tolerance of {"absoluteThreshold":0.000030517578125,"relativeThreshold":0}.\n\tIndex\tActual\t\t\tExpected\t\tAbsError\t\tRelError\t\tTest threshold\n\t[1\]\t3.6732959747314453e-1\t6.2622070312500000e-2\t3.0470752716064453e-1\t4.8658168859649127e+0\t3.0517578125000000e-5\n\t[2\]\t6.8329977989196777e-1\t1.2503051757812500e-1\t5.5826926231384277e-1\t4.4650639949963384e+0\t3.0517578125000000e-5\n\t[3\]\t9.0373212099075317e-1\t1.8695068359375000e-1\t7.1678143739700317e-1\t3.8340669508039502e+0\t3.0517578125000000e-5\n\t[4\]\t9.9780619144439697e-1\t2.4810791015625000e-1\t7.4969828128814697e-1\t3.0216621502152523e+0\t3.0517578125000000e-5\n\t[5\]\t9.5236867666244507e-1\t3.0831909179687500e-1\t6.4404958486557007e-1\t2.0889059484187866e+0\t3.0517578125000000e-5\n\t...and 44054 more errors.\n\tMax AbsError of 1.9961981773376465e+0 at index of 31768.\n\t[31768\]\t-9.9879217147827148e-1\t9.9740600585937500e-1\t1.9961981773376465e+0\t2.0013897706758867e+0\t3.0517578125000000e-5\n\tMax RelError of Infinity at index of 10584.\n\t[10584\]\t-5.8778524398803711e-1\t0.0000000000000000e+0\t5.8778524398803711e-1\tInfinity\t3.0517578125000000e-5\n]
expected: FAIL
+ [X Rendered audio for channel 5 does not equal [0,0.0626220703125,0.125030517578125,0.18695068359375,0.24810791015625,0.308319091796875,0.3673095703125,0.42486572265625,0.480743408203125,0.53472900390625,0.58660888671875,0.636199951171875,0.68328857421875,0.727691650390625,0.76922607421875,0.8077392578125...\] with an element-wise tolerance of {"absoluteThreshold":0.000030517578125,"relativeThreshold":0}.\n\tIndex\tActual\t\t\tExpected\t\tAbsError\t\tRelError\t\tTest threshold\n\t[1\]\t3.6732959747314453e-1\t6.2622070312500000e-2\t3.0470752716064453e-1\t4.8658168859649127e+0\t3.0517578125000000e-5\n\t[2\]\t6.8329977989196777e-1\t1.2503051757812500e-1\t5.5826926231384277e-1\t4.4650639949963384e+0\t3.0517578125000000e-5\n\t[3\]\t9.0373212099075317e-1\t1.8695068359375000e-1\t7.1678143739700317e-1\t3.8340669508039502e+0\t3.0517578125000000e-5\n\t[4\]\t9.9780619144439697e-1\t2.4810791015625000e-1\t7.4969828128814697e-1\t3.0216621502152523e+0\t3.0517578125000000e-5\n\t[5\]\t9.5236867666244507e-1\t3.0831909179687500e-1\t6.4404958486557007e-1\t2.0889059484187866e+0\t3.0517578125000000e-5\n\t...and 42291 more errors.\n\tMax AbsError of 1.9986916780471802e+0 at index of 42250.\n\t[42250\]\t9.9994289875030518e-1\t-9.9874877929687500e-1\t1.9986916780471802e+0\t2.0011956154322119e+0\t3.0517578125000000e-5\n\tMax RelError of Infinity at index of 12348.\n\t[12348\]\t9.5105654001235962e-1\t0.0000000000000000e+0\t9.5105654001235962e-1\tInfinity\t3.0517578125000000e-5\n]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/webmessaging/without-ports/017.html.ini b/tests/wpt/metadata/webmessaging/without-ports/017.html.ini
deleted file mode 100644
index 064cf47545b..00000000000
--- a/tests/wpt/metadata/webmessaging/without-ports/017.html.ini
+++ /dev/null
@@ -1,5 +0,0 @@
-[017.html]
- expected: TIMEOUT
- [origin of the script that invoked the method, about:blank]
- expected: TIMEOUT
-
diff --git a/tests/wpt/metadata/webmessaging/without-ports/018.html.ini b/tests/wpt/metadata/webmessaging/without-ports/018.html.ini
deleted file mode 100644
index 663a1f8fa30..00000000000
--- a/tests/wpt/metadata/webmessaging/without-ports/018.html.ini
+++ /dev/null
@@ -1,5 +0,0 @@
-[018.html]
- expected: TIMEOUT
- [origin of the script that invoked the method, javascript:]
- expected: TIMEOUT
-
diff --git a/tests/wpt/metadata/webxr/gamepads-module/xrInputSource_gamepad_disconnect.https.html.ini b/tests/wpt/metadata/webxr/gamepads-module/xrInputSource_gamepad_disconnect.https.html.ini
index fd1e62fe01b..325a0bb6738 100644
--- a/tests/wpt/metadata/webxr/gamepads-module/xrInputSource_gamepad_disconnect.https.html.ini
+++ b/tests/wpt/metadata/webxr/gamepads-module/xrInputSource_gamepad_disconnect.https.html.ini
@@ -1,5 +1,4 @@
[xrInputSource_gamepad_disconnect.https.html]
- expected: ERROR
[WebXR InputSource's gamepad gets disconnected when the input source is removed]
expected: FAIL
diff --git a/tests/wpt/mozilla/meta/MANIFEST.json b/tests/wpt/mozilla/meta/MANIFEST.json
index 62ed74c3fda..76fedc21ad0 100644
--- a/tests/wpt/mozilla/meta/MANIFEST.json
+++ b/tests/wpt/mozilla/meta/MANIFEST.json
@@ -10868,7 +10868,7 @@
[]
]
},
- "lint.whitelist": [
+ "lint.ignore": [
"314a9e5b44443be1a4e28dd3c5047a5082a7ccab",
[]
],
diff --git a/tests/wpt/mozilla/tests/lint.whitelist b/tests/wpt/mozilla/tests/lint.ignore
index 314a9e5b444..314a9e5b444 100644
--- a/tests/wpt/mozilla/tests/lint.whitelist
+++ b/tests/wpt/mozilla/tests/lint.ignore
diff --git a/tests/wpt/web-platform-tests/contenteditable/synthetic-height-ref.html b/tests/wpt/web-platform-tests/contenteditable/synthetic-height-ref.html
new file mode 100644
index 00000000000..a64b545f03c
--- /dev/null
+++ b/tests/wpt/web-platform-tests/contenteditable/synthetic-height-ref.html
@@ -0,0 +1,9 @@
+<!doctype html>
+<title>CSS test reference</title>
+<style>
+ div { background: green; border: 1px solid; }
+</style>
+<div><br></div>
+<div><br></div>
+<div><br></div>
+<div><br></div>
diff --git a/tests/wpt/web-platform-tests/contenteditable/synthetic-height.tentative.html b/tests/wpt/web-platform-tests/contenteditable/synthetic-height.tentative.html
new file mode 100644
index 00000000000..4d466bff412
--- /dev/null
+++ b/tests/wpt/web-platform-tests/contenteditable/synthetic-height.tentative.html
@@ -0,0 +1,21 @@
+<!doctype html>
+<title>contenteditable causes blocks to have a synthesized height</title>
+<link rel="author" href="mailto:emilio@crisal.io" title="Emilio Cobos Álvarez">
+<link rel="author" href="https://mozilla.org" title="Mozilla">
+<link rel="help" href="https://bugzilla.mozilla.org/show_bug.cgi?id=1098151">
+<link rel="help" href="https://bugzilla.mozilla.org/show_bug.cgi?id=1634543">
+<link rel="help" href="https://github.com/w3c/editing/issues/70">
+<link rel="match" href="synthetic-height-ref.html">
+<style>
+ div { background: green; border: 1px solid; }
+ .pseudo::before {
+ content: "";
+ }
+ .abspos-pseudo::before {
+ position: absolute;
+ }
+</style>
+<div contenteditable></div>
+<div contenteditable><span style="position: absolute"></span></div>
+<div contenteditable class="pseudo"></div>
+<div contenteditable class="pseudo abspos-pseudo"></div>
diff --git a/tests/wpt/web-platform-tests/css/css-device-adapt/viewport-user-scalable-no-wide-content.tentative.html b/tests/wpt/web-platform-tests/css/css-device-adapt/viewport-user-scalable-no-wide-content.tentative.html
new file mode 100644
index 00000000000..6cf0bfa236a
--- /dev/null
+++ b/tests/wpt/web-platform-tests/css/css-device-adapt/viewport-user-scalable-no-wide-content.tentative.html
@@ -0,0 +1,28 @@
+<!doctype html>
+<meta charset=utf-8>
+<meta name="viewport" content="width=device-width, user-scalable=no">
+<link rel="help" href="https://drafts.csswg.org/css-device-adapt/">
+<link rel="help" href="https://github.com/w3c/csswg-drafts/issues/5016">
+<style>
+body {
+ margin: 0;
+}
+#content {
+ width: 10000px;
+ height: 10000px;
+ background: green;
+}
+</style>
+
+<div id="content">Content</div>
+
+<script src=/resources/testharness.js></script>
+<script src=/resources/testharnessreport.js></script>
+<script>
+'use strict';
+test(() => {
+ assert_equals(window.visualViewport.scale, 1.0,
+ 'visual viewport scale should be 1.0');
+}, 'Page with meta viewport "width=device-width, user-scalable=no" ' +
+ 'should scale document with very wide content to 1.0.');
+</script>
diff --git a/tests/wpt/web-platform-tests/css/cssom/CSSStyleSheet-constructable-replace-on-regular-sheet.html b/tests/wpt/web-platform-tests/css/cssom/CSSStyleSheet-constructable-replace-on-regular-sheet.html
index 5ce0cbee97a..76bee452a66 100644
--- a/tests/wpt/web-platform-tests/css/cssom/CSSStyleSheet-constructable-replace-on-regular-sheet.html
+++ b/tests/wpt/web-platform-tests/css/cssom/CSSStyleSheet-constructable-replace-on-regular-sheet.html
@@ -4,29 +4,39 @@
<link rel="help" href="https://wicg.github.io/construct-stylesheets/">
<script src = '/resources/testharness.js'></script>
<script src = '/resources/testharnessreport.js'></script>
-<style id="style">:root { background-color: lime }</style>
+<style id="style">
+ @import url("support/constructable-import.css");
+ :root { background-color: lime }
+</style>
<script>
-test(() => {
+promise_test(async () => {
+ await new Promise(resolve => window.addEventListener("load", resolve));
assert_equals(getComputedStyle(document.documentElement).backgroundColor, "rgb(0, 255, 0)", "precondition")
let sheet = document.styleSheets[0];
+ let childSheet = sheet.cssRules[0].styleSheet;
assert_throws_dom("NotAllowedError", () => sheet.replaceSync(":root { background-color: red }"), "replaceSync on non-constructed sheet should throw");
+ assert_throws_dom("NotAllowedError", () => childSheet.replaceSync(":root { background-color: red }"), "replaceSync on non-constructed sheet should throw");
assert_equals(getComputedStyle(document.documentElement).backgroundColor, "rgb(0, 255, 0)", "old sheet should still apply after replace");
}, "CSSStyleSheet.replaceSync throws NotAllowedError for non-constructed sheets")
promise_test(async function(t) {
assert_equals(getComputedStyle(document.documentElement).backgroundColor, "rgb(0, 255, 0)", "precondition")
let sheet = document.styleSheets[0];
+ let childSheet = sheet.cssRules[0].styleSheet;
await promise_rejects_dom(t, "NotAllowedError", sheet.replace(":root { background-color: red }"), "replace on non-constructed sheet should return a rejected promise");
+ await promise_rejects_dom(t, "NotAllowedError", childSheet.replace(":root { background-color: red }"), "replace on non-constructed sheet should return a rejected promise");
assert_equals(getComputedStyle(document.documentElement).backgroundColor, "rgb(0, 255, 0)", "old sheet should still apply after replace");
}, "CSSStyleSheet.replace returns a rejected promise for non-constructed sheets")
promise_test(async function(t) {
assert_equals(getComputedStyle(document.documentElement).backgroundColor, "rgb(0, 255, 0)", "precondition")
let sheet = document.styleSheets[0];
+ let childSheet = sheet.cssRules[0].styleSheet;
style.remove() // sheet's associated document becomes null.
await promise_rejects_dom(t, "NotAllowedError", sheet.replace(":root { background-color: red }"), "replace on non-constructed sheet should return a rejected promise");
- assert_equals(getComputedStyle(document.documentElement).backgroundColor, "rgb(0, 255, 0)", "old sheet should still apply after replace");
+ await promise_rejects_dom(t, "NotAllowedError", childSheet.replace(":root { background-color: red }"), "replace on non-constructed sheet should return a rejected promise");
+ assert_equals(getComputedStyle(document.documentElement).backgroundColor, "rgba(0, 0, 0, 0)", "old sheet was removed, so the default color should apply");
}, "CSSStyleSheet.replace returns a rejected promise for non-constructed sheets that have no associated document")
</script>
diff --git a/tests/wpt/web-platform-tests/feature-policy/feature-policy-frame-policy-allowed-for-some-override.https.sub.html b/tests/wpt/web-platform-tests/feature-policy/feature-policy-frame-policy-allowed-for-some-override.https.sub.html
new file mode 100644
index 00000000000..17c9cc6b8db
--- /dev/null
+++ b/tests/wpt/web-platform-tests/feature-policy/feature-policy-frame-policy-allowed-for-some-override.https.sub.html
@@ -0,0 +1,83 @@
+<!DOCTYPE html>
+<html>
+<head>
+ <meta name="timeout" content="long">
+ <script src=/resources/testharness.js></script>
+ <script src=/resources/testharnessreport.js></script>
+</head>
+<body>
+ <script src=/feature-policy/resources/featurepolicy.js></script>
+ <!-- Feature-Policy: fullscreen 'self' cross_origin https://www.example.com; -->
+ <script>
+ 'use strict';
+ var same_origin = 'https://{{domains[]}}:{{ports[https][0]}}';
+ var cross_origin = 'https://{{domains[www]}}:{{ports[https][0]}}';
+ var cross_origin1 = 'https://{{domains[www1]}}:{{ports[https][0]}}';
+ var same_origin_src = '/feature-policy/resources/feature-policy-allowedfeatures.html';
+ var cross_origin_src = cross_origin + same_origin_src;
+ var cross_origin_src1 = cross_origin1 + same_origin_src;
+ var data_src = 'data:text/html,<h1>data: URL</h1>';
+ // Test feature policy with same_origin_src and cross_origin_src.
+ var policies = [
+ {allow: "*", sameOriginTestExpect: true, crossOriginTestExpect: true, crossOrigin1TestExpect: true, dataOriginTestExpect: false},
+ {allow: "'self'", sameOriginTestExpect: true, crossOriginTestExpect: false, crossOrigin1TestExpect: false, dataOriginTestExpect: false},
+ {allow: "'none'", sameOriginTestExpect: false, crossOriginTestExpect: false, crossOrigin1TestExpect: false, dataOriginTestExpect: false},
+ {allow: "'self' " + cross_origin + " https://www.example.com", sameOriginTestExpect: true, crossOriginTestExpect: true, crossOrigin1TestExpect: false, dataOriginTestExpect: false}];
+
+ // Test that the allow attribute overrides allowfullscreen.
+ for (var i = 0; i < policies.length; i++) {
+ test(function() {
+ test_frame_policy(
+ 'fullscreen', same_origin_src, undefined,
+ policies[i].sameOriginTestExpect,
+ 'fullscreen ' + policies[i].allow + ';', /*allowfullscreen*/true);
+ }, 'Test frame policy on same origin iframe with allow = "' + policies[i].allow +
+ '" and allowfullscreen.');
+ test(function() {
+ test_frame_policy(
+ 'fullscreen', cross_origin_src, undefined,
+ policies[i].crossOriginTestExpect,
+ 'fullscreen ' + policies[i].allow + ';', /*allowfullscreen*/true);
+ }, 'Test frame policy on cross origin iframe with allow = "' + policies[i].allow +
+ '" and allowfullscreen.');
+ test(function() {
+ test_frame_policy(
+ 'fullscreen', cross_origin_src1, undefined,
+ policies[i].crossOrigin1TestExpect,
+ 'fullscreen ' + policies[i].allow + ';', /*allowfullscreen*/true);
+ }, 'Test frame policy on another cross origin iframe with allow = "' + policies[i].allow +
+ '" and allowfullscreen.');
+ test(function() {
+ test_frame_policy(
+ 'fullscreen', undefined, true, policies[i].sameOriginTestExpect,
+ 'fullscreen ' + policies[i].allow + ';', /*allowfullscreen*/true);
+ }, 'Test frame policy on srcdoc iframe with allow = "' + policies[i].allow +
+ '" and allowfullscreen.');
+ test(function() {
+ test_frame_policy(
+ 'fullscreen', same_origin_src, true, policies[i].sameOriginTestExpect,
+ 'fullscreen ' + policies[i].allow + ';', /*allowfullscreen*/true);
+ }, 'Test frame policy on srcdoc + same origin iframe with allow = "' + policies[i].allow +
+ '" and allowfullscreen.');
+ test(function() {
+ test_frame_policy(
+ 'fullscreen', cross_origin_src, true, policies[i].sameOriginTestExpect,
+ 'fullscreen ' + policies[i].allow + ';', /*allowfullscreen*/true);
+ }, 'Test frame policy on srcdoc + cross origin iframe with allow = "' + policies[i].allow +
+ '" and allowfullscreen.');
+ test(function() {
+ test_frame_policy(
+ 'fullscreen', cross_origin_src1, true, policies[i].sameOriginTestExpect,
+ 'fullscreen ' + policies[i].allow + ';', /*allowfullscreen*/true);
+ }, 'Test frame policy on srcdoc + another cross origin iframe with allow = "' + policies[i].allow +
+ '" and allowfullscreen.');
+ test(function() {
+ test_frame_policy(
+ 'fullscreen', data_src, undefined, policies[i].dataOriginTestExpect,
+ 'fullscreen ' + policies[i].allow + ';', /*allowfullscreen*/true);
+ }, 'Test frame policy on data: URL cross origin iframe with allow = "' + policies[i].allow +
+ '" and allowfullscreen.');
+ }
+ </script>
+</body>
+</html>
diff --git a/tests/wpt/web-platform-tests/feature-policy/feature-policy-frame-policy-allowed-for-some-override.https.sub.html.sub.headers b/tests/wpt/web-platform-tests/feature-policy/feature-policy-frame-policy-allowed-for-some-override.https.sub.html.sub.headers
new file mode 100644
index 00000000000..c2493a08903
--- /dev/null
+++ b/tests/wpt/web-platform-tests/feature-policy/feature-policy-frame-policy-allowed-for-some-override.https.sub.html.sub.headers
@@ -0,0 +1 @@
+Feature-Policy: fullscreen 'self' https://{{domains[www]}}:{{ports[https][0]}} https://www.example.com;
diff --git a/tests/wpt/web-platform-tests/feature-policy/feature-policy-frame-policy-allowed-for-some.https.sub.html b/tests/wpt/web-platform-tests/feature-policy/feature-policy-frame-policy-allowed-for-some.https.sub.html
index 9a020f9e6b5..d519743a438 100644
--- a/tests/wpt/web-platform-tests/feature-policy/feature-policy-frame-policy-allowed-for-some.https.sub.html
+++ b/tests/wpt/web-platform-tests/feature-policy/feature-policy-frame-policy-allowed-for-some.https.sub.html
@@ -131,61 +131,6 @@
'" and header policy = "Feature-Policy: fullscreen ' + header_policies[j] + ';".');
}
}
-
- // Test that the allow attribute overrides allowfullscreen.
- for (var i = 0; i < policies.length; i++) {
- test(function() {
- test_frame_policy(
- 'fullscreen', same_origin_src, undefined,
- policies[i].sameOriginTestExpect,
- 'fullscreen ' + policies[i].allow + ';', /*allowfullscreen*/true);
- }, 'Test frame policy on same origin iframe with allow = "' + policies[i].allow +
- '" and allowfullscreen.');
- test(function() {
- test_frame_policy(
- 'fullscreen', cross_origin_src, undefined,
- policies[i].crossOriginTestExpect,
- 'fullscreen ' + policies[i].allow + ';', /*allowfullscreen*/true);
- }, 'Test frame policy on cross origin iframe with allow = "' + policies[i].allow +
- '" and allowfullscreen.');
- test(function() {
- test_frame_policy(
- 'fullscreen', cross_origin_src1, undefined,
- policies[i].crossOrigin1TestExpect,
- 'fullscreen ' + policies[i].allow + ';', /*allowfullscreen*/true);
- }, 'Test frame policy on another cross origin iframe with allow = "' + policies[i].allow +
- '" and allowfullscreen.');
- test(function() {
- test_frame_policy(
- 'fullscreen', undefined, true, policies[i].sameOriginTestExpect,
- 'fullscreen ' + policies[i].allow + ';', /*allowfullscreen*/true);
- }, 'Test frame policy on srcdoc iframe with allow = "' + policies[i].allow +
- '" and allowfullscreen.');
- test(function() {
- test_frame_policy(
- 'fullscreen', same_origin_src, true, policies[i].sameOriginTestExpect,
- 'fullscreen ' + policies[i].allow + ';', /*allowfullscreen*/true);
- }, 'Test frame policy on srcdoc + same origin iframe with allow = "' + policies[i].allow +
- '" and allowfullscreen.');
- test(function() {
- test_frame_policy(
- 'fullscreen', cross_origin_src, true, policies[i].sameOriginTestExpect,
- 'fullscreen ' + policies[i].allow + ';', /*allowfullscreen*/true);
- }, 'Test frame policy on srcdoc + cross origin iframe with allow = "' + policies[i].allow +
- '" and allowfullscreen.');
- test(function() {
- test_frame_policy(
- 'fullscreen', cross_origin_src1, true, policies[i].sameOriginTestExpect,
- 'fullscreen ' + policies[i].allow + ';', /*allowfullscreen*/true);
- }, 'Test frame policy on srcdoc + another cross origin iframe with allow = "' + policies[i].allow +
- '" and allowfullscreen.');
- test(function() {
- test_frame_policy(
- 'fullscreen', data_src, undefined, policies[i].dataOriginTestExpect,
- 'fullscreen ' + policies[i].allow + ';', /*allowfullscreen*/true);
- }, 'Test frame policy on data: URL cross origin iframe with allow = "' + policies[i].allow +
- '" and allowfullscreen.');
- }
</script>
</body>
</html>
diff --git a/tests/wpt/web-platform-tests/html/canvas/offscreen/the-offscreen-canvas/size.attributes.parse.empty.html b/tests/wpt/web-platform-tests/html/canvas/offscreen/the-offscreen-canvas/size.attributes.parse.empty.html
index 69e834f510e..38291495410 100644
--- a/tests/wpt/web-platform-tests/html/canvas/offscreen/the-offscreen-canvas/size.attributes.parse.empty.html
+++ b/tests/wpt/web-platform-tests/html/canvas/offscreen/the-offscreen-canvas/size.attributes.parse.empty.html
@@ -22,8 +22,8 @@ var ctx = offscreenCanvas.getContext('2d');
offscreenCanvas.width = '';
offscreenCanvas.height = '';
-_assertSame(offscreenCanvas.width, 100, "offscreenCanvas.width", "100");
-_assertSame(offscreenCanvas.height, 50, "offscreenCanvas.height", "50");
+_assertSame(offscreenCanvas.width, 0, "offscreenCanvas.width", "0");
+_assertSame(offscreenCanvas.height, 0, "offscreenCanvas.height", "0");
t.done();
});
diff --git a/tests/wpt/web-platform-tests/html/canvas/offscreen/the-offscreen-canvas/size.attributes.parse.empty.worker.js b/tests/wpt/web-platform-tests/html/canvas/offscreen/the-offscreen-canvas/size.attributes.parse.empty.worker.js
index 1888d2ef132..0fb9808d36b 100644
--- a/tests/wpt/web-platform-tests/html/canvas/offscreen/the-offscreen-canvas/size.attributes.parse.empty.worker.js
+++ b/tests/wpt/web-platform-tests/html/canvas/offscreen/the-offscreen-canvas/size.attributes.parse.empty.worker.js
@@ -18,8 +18,8 @@ var ctx = offscreenCanvas.getContext('2d');
offscreenCanvas.width = '';
offscreenCanvas.height = '';
-_assertSame(offscreenCanvas.width, 100, "offscreenCanvas.width", "100");
-_assertSame(offscreenCanvas.height, 50, "offscreenCanvas.height", "50");
+_assertSame(offscreenCanvas.width, 0, "offscreenCanvas.width", "0");
+_assertSame(offscreenCanvas.height, 0, "offscreenCanvas.height", "0");
t.done();
});
diff --git a/tests/wpt/web-platform-tests/html/canvas/offscreen/the-offscreen-canvas/size.attributes.parse.onlyspace.html b/tests/wpt/web-platform-tests/html/canvas/offscreen/the-offscreen-canvas/size.attributes.parse.onlyspace.html
index cbd9c1e3e3f..55d05b88c3f 100644
--- a/tests/wpt/web-platform-tests/html/canvas/offscreen/the-offscreen-canvas/size.attributes.parse.onlyspace.html
+++ b/tests/wpt/web-platform-tests/html/canvas/offscreen/the-offscreen-canvas/size.attributes.parse.onlyspace.html
@@ -22,8 +22,8 @@ var ctx = offscreenCanvas.getContext('2d');
offscreenCanvas.width = ' ';
offscreenCanvas.height = ' ';
-_assertSame(offscreenCanvas.width, 100, "offscreenCanvas.width", "100");
-_assertSame(offscreenCanvas.height, 50, "offscreenCanvas.height", "50");
+_assertSame(offscreenCanvas.width, 0, "offscreenCanvas.width", "0");
+_assertSame(offscreenCanvas.height, 0, "offscreenCanvas.height", "0");
t.done();
});
diff --git a/tests/wpt/web-platform-tests/html/canvas/offscreen/the-offscreen-canvas/size.attributes.parse.onlyspace.worker.js b/tests/wpt/web-platform-tests/html/canvas/offscreen/the-offscreen-canvas/size.attributes.parse.onlyspace.worker.js
index 21c8cfc32ba..b2e5d6c6726 100644
--- a/tests/wpt/web-platform-tests/html/canvas/offscreen/the-offscreen-canvas/size.attributes.parse.onlyspace.worker.js
+++ b/tests/wpt/web-platform-tests/html/canvas/offscreen/the-offscreen-canvas/size.attributes.parse.onlyspace.worker.js
@@ -18,8 +18,8 @@ var ctx = offscreenCanvas.getContext('2d');
offscreenCanvas.width = ' ';
offscreenCanvas.height = ' ';
-_assertSame(offscreenCanvas.width, 100, "offscreenCanvas.width", "100");
-_assertSame(offscreenCanvas.height, 50, "offscreenCanvas.height", "50");
+_assertSame(offscreenCanvas.width, 0, "offscreenCanvas.width", "0");
+_assertSame(offscreenCanvas.height, 0, "offscreenCanvas.height", "0");
t.done();
});
diff --git a/tests/wpt/web-platform-tests/html/canvas/tools/tests2d-offscreen.yaml b/tests/wpt/web-platform-tests/html/canvas/tools/tests2d-offscreen.yaml
index f4a605c0eca..5fe168a66d5 100644
--- a/tests/wpt/web-platform-tests/html/canvas/tools/tests2d-offscreen.yaml
+++ b/tests/wpt/web-platform-tests/html/canvas/tools/tests2d-offscreen.yaml
@@ -9778,8 +9778,8 @@
- meta: |
cases = [
("zero", "0", 0),
- ("empty", "", None),
- ("onlyspace", " ", None),
+ ("empty", "", 0),
+ ("onlyspace", " ", 0),
("space", " 100", 100),
("whitespace", "\t\f100", 100),
("plus", "+100", 100),
diff --git a/tests/wpt/web-platform-tests/html/interaction/focus/processing-model/preventScroll-textarea.html b/tests/wpt/web-platform-tests/html/interaction/focus/processing-model/preventScroll-textarea.html
new file mode 100644
index 00000000000..446284b1863
--- /dev/null
+++ b/tests/wpt/web-platform-tests/html/interaction/focus/processing-model/preventScroll-textarea.html
@@ -0,0 +1,40 @@
+<!doctype html>
+<title>focus(options) - preventScroll on textarea element</title>
+<link rel="author" href="https://mozilla.org" title="Mozilla">
+<link rel="author" href="mailto:emilio@crisal.io" title="Emilio Cobos Álvarez">
+<link rel="help" href="https://bugzilla.mozilla.org/show_bug.cgi?id=1634153">
+<script src=/resources/testharness.js></script>
+<script src=/resources/testharnessreport.js></script>
+<div style="height: 200vh"></div>
+<textarea>ABCD</textarea>
+<input value="EFGH">
+<button></button>
+<div style="height: 200vh"></div>
+<script>
+promise_test(async function(t) {
+ await new Promise(resolve => window.addEventListener("load", resolve));
+ let elements = document.querySelectorAll("textarea, input, button");
+ assert_equals(elements.length, 3, `Precondition`);
+ for (let element of elements) {
+ let name = element.nodeName;
+ assert_equals(window.scrollY, 0, `${name}: Precondition`);
+ element.focus({ preventScroll: true });
+ assert_equals(window.scrollY, 0, `${name}: Should not have scrolled`);
+ assert_equals(document.activeElement, element, `${name}: Should have been focused`);
+
+ // Wait a couple event loop turns because the original bug was triggered off
+ // an async event.
+ await new Promise(resolve => t.step_timeout(resolve, 0));
+ await new Promise(resolve => t.step_timeout(resolve, 0));
+ assert_equals(window.scrollY, 0, `${name}: Should not have scrolled after a couple event loop ticks`);
+ assert_equals(document.activeElement, element, `${name}: Should remain focused`);
+
+ // Also wait for rendering, just out of paranoia.
+ await new Promise(resolve => requestAnimationFrame(resolve));
+ await new Promise(resolve => requestAnimationFrame(resolve));
+
+ assert_equals(window.scrollY, 0, `${name}: Should not have scrolled after rendering`);
+ assert_equals(document.activeElement, element, `${name}: Should remain focused after rendering`);
+ }
+}, "preventScroll: true on a textarea element");
+</script>
diff --git a/tests/wpt/web-platform-tests/infrastructure/metadata/infrastructure/server/http2-context.sub.h2.any.js.ini b/tests/wpt/web-platform-tests/infrastructure/metadata/infrastructure/server/http2-context.sub.h2.any.js.ini
index 6537b7eae07..665258c9d94 100644
--- a/tests/wpt/web-platform-tests/infrastructure/metadata/infrastructure/server/http2-context.sub.h2.any.js.ini
+++ b/tests/wpt/web-platform-tests/infrastructure/metadata/infrastructure/server/http2-context.sub.h2.any.js.ini
@@ -1,4 +1,17 @@
[http2-context.sub.h2.any.sharedworker.html]
bug: https://bugs.webkit.org/show_bug.cgi?id=149850
expected:
- if product == "safari" or product == "epiphany" or product == "webkit": ERROR
+ if product == "safari" or product == "epiphany" or product == "webkit" or python_version == 3: ERROR
+
+[http2-context.sub.h2.any.serviceworker.html]
+ expected:
+ if python_version == 3: ERROR
+
+[http2-context.sub.h2.any.html]
+ expected:
+ if python_version == 3: ERROR
+
+[http2-context.sub.h2.any.worker.html]
+ expected:
+ if python_version == 3: ERROR
+
diff --git a/tests/wpt/web-platform-tests/infrastructure/metadata/infrastructure/server/wpt-server-http.sub.html.ini b/tests/wpt/web-platform-tests/infrastructure/metadata/infrastructure/server/wpt-server-http.sub.html.ini
index e2f26c7e4b6..b1e18f8948a 100644
--- a/tests/wpt/web-platform-tests/infrastructure/metadata/infrastructure/server/wpt-server-http.sub.html.ini
+++ b/tests/wpt/web-platform-tests/infrastructure/metadata/infrastructure/server/wpt-server-http.sub.html.ini
@@ -18,3 +18,28 @@
[HTTPS protocol, punycode subdomain #2]
expected:
if product == "epiphany" or product == "webkit": FAIL
+
+ [H2 protocol, no subdomain]
+ expected:
+ if python_version == 3: FAIL
+
+ [H2 protocol, www subdomain #1]
+ expected:
+ if python_version == 3: FAIL
+
+ [H2 protocol, www subdomain #2]
+ expected:
+ if python_version == 3: FAIL
+
+ [H2 protocol, www subdomain #3]
+ expected:
+ if python_version == 3: FAIL
+
+ [H2 protocol, punycode subdomain #1]
+ expected:
+ if python_version == 3: FAIL
+
+ [H2 protocol, punycode subdomain #2]
+ expected:
+ if python_version == 3: FAIL
+
diff --git a/tests/wpt/web-platform-tests/interfaces/web-nfc.idl b/tests/wpt/web-platform-tests/interfaces/web-nfc.idl
index 155bf267a20..f2e31b73528 100644
--- a/tests/wpt/web-platform-tests/interfaces/web-nfc.idl
+++ b/tests/wpt/web-platform-tests/interfaces/web-nfc.idl
@@ -80,5 +80,8 @@ dictionary NDEFWriteOptions {
};
dictionary NDEFScanOptions {
+ USVString id;
+ USVString recordType;
+ USVString mediaType;
AbortSignal? signal;
};
diff --git a/tests/wpt/web-platform-tests/largest-contentful-paint/META.yml b/tests/wpt/web-platform-tests/largest-contentful-paint/META.yml
new file mode 100644
index 00000000000..b7e2497681e
--- /dev/null
+++ b/tests/wpt/web-platform-tests/largest-contentful-paint/META.yml
@@ -0,0 +1,4 @@
+spec: https://wicg.github.io/largest-contentful-paint/
+suggested_reviewers:
+ - npm1
+ - yoavweiss
diff --git a/tests/wpt/web-platform-tests/layout-instability/META.yml b/tests/wpt/web-platform-tests/layout-instability/META.yml
new file mode 100644
index 00000000000..10c6aa36cec
--- /dev/null
+++ b/tests/wpt/web-platform-tests/layout-instability/META.yml
@@ -0,0 +1,4 @@
+spec: https://wicg.github.io/layout-instability/
+suggested_reviewers:
+ - skobes
+ - npm1
diff --git a/tests/wpt/web-platform-tests/lint.whitelist b/tests/wpt/web-platform-tests/lint.ignore
index 5f793cb6f3e..5f793cb6f3e 100644
--- a/tests/wpt/web-platform-tests/lint.whitelist
+++ b/tests/wpt/web-platform-tests/lint.ignore
diff --git a/tests/wpt/web-platform-tests/scroll-animations/scroll-timeline-snapshotting.html b/tests/wpt/web-platform-tests/scroll-animations/scroll-timeline-snapshotting.html
new file mode 100644
index 00000000000..f2ba23fd4dc
--- /dev/null
+++ b/tests/wpt/web-platform-tests/scroll-animations/scroll-timeline-snapshotting.html
@@ -0,0 +1,41 @@
+<!DOCTYPE html>
+<meta charset="utf-8">
+<title>ScrollTimeline snapshotting</title>
+<link rel="help" href="https://wicg.github.io/scroll-animations/#avoiding-cycles">
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<script src="/resources/testdriver.js"></script>
+<script src="/resources/testdriver-vendor.js"></script>
+<script src="/resources/testdriver-actions.js"></script>
+<script src="/web-animations/testcommon.js"></script>
+
+<style>
+ body {
+ height: 800px;
+ width: 800px;
+ }
+</style>
+<div id="log"></div>
+
+<script>
+'use strict';
+
+promise_test(async t => {
+ const scroller = document.scrollingElement;
+ const maxScroll = scroller.scrollHeight - scroller.clientHeight;
+ const timeline = new ScrollTimeline(
+ {scrollSource: scroller, timeRange: maxScroll});
+ scroller.scrollTo(0, 0);
+ assert_equals(scroller.scrollTop, 0, "verify test pre-condition");
+
+ scroller.scrollBy({top:100, behavior:'smooth'})
+ // Wait for the scroll to change.
+ const startScroll = scroller.scrollTop;
+ do {
+ await waitForNextFrame();
+ } while(scroller.scrollTop == startScroll);
+ assert_times_equal(timeline.currentTime, scroller.scrollTop,
+ 'Scroll timeline current time corresponds to the scroll position.');
+}, 'ScrollTimeline current time is updated after programmatic animated scroll.');
+
+</script>
diff --git a/tests/wpt/web-platform-tests/tools/ci/ci_wptrunner_infrastructure.sh b/tests/wpt/web-platform-tests/tools/ci/ci_wptrunner_infrastructure.sh
index f98385dd95d..89267b50cb6 100755
--- a/tests/wpt/web-platform-tests/tools/ci/ci_wptrunner_infrastructure.sh
+++ b/tests/wpt/web-platform-tests/tools/ci/ci_wptrunner_infrastructure.sh
@@ -6,19 +6,24 @@ WPT_ROOT=$SCRIPT_DIR/../..
cd $WPT_ROOT
test_infrastructure() {
- TERM=dumb ./wpt run --log-mach - --yes --manifest ~/meta/MANIFEST.json --metadata infrastructure/metadata/ --install-fonts $1 $PRODUCT infrastructure/
+ PY3_FLAG="$2"
+ TERM=dumb ./wpt $PY3_FLAG run --log-mach - --yes --manifest ~/meta/MANIFEST.json --metadata infrastructure/metadata/ --install-fonts $1 $PRODUCT infrastructure/
}
main() {
- PRODUCTS=( "firefox" "chrome" )
+ if [[ $# -eq 1 && "$1" = "--py3" ]]; then
+ PRODUCTS=( "chrome" )
+ else
+ PRODUCTS=( "firefox" "chrome" )
+ fi
./wpt manifest --rebuild -p ~/meta/MANIFEST.json
for PRODUCT in "${PRODUCTS[@]}"; do
if [[ "$PRODUCT" == "chrome" ]]; then
- test_infrastructure "--binary=$(which google-chrome-unstable) --channel dev"
+ test_infrastructure "--binary=$(which google-chrome-unstable) --channel dev" "$1"
else
test_infrastructure "--binary=~/build/firefox/firefox"
fi
done
}
-main
+main $1
diff --git a/tests/wpt/web-platform-tests/tools/ci/tc/tasks/test.yml b/tests/wpt/web-platform-tests/tools/ci/tc/tasks/test.yml
index d2d76df13a7..3157fb6f273 100644
--- a/tests/wpt/web-platform-tests/tools/ci/tc/tasks/test.yml
+++ b/tests/wpt/web-platform-tests/tools/ci/tc/tasks/test.yml
@@ -454,3 +454,28 @@ tasks:
schedule-if:
run-job:
- wptrunner_infrastructure
+
+ - infrastructure/ tests (Python 3):
+ description: >-
+ Smoketests for wptrunner
+ vars:
+ channel: nightly
+ use:
+ - wpt-base
+ - trigger-pr
+ command: ./tools/ci/ci_wptrunner_infrastructure.sh --py3
+ install:
+ - python3-pip
+ - libnss3-tools
+ - libappindicator1
+ - fonts-liberation
+ options:
+ oom-killer: true
+ browser:
+ - chrome
+ channel: experimental
+ xvfb: true
+ hosts: false
+ schedule-if:
+ run-job:
+ - wptrunner_infrastructure
diff --git a/tests/wpt/web-platform-tests/tools/ci/tc/tests/test_valid.py b/tests/wpt/web-platform-tests/tools/ci/tc/tests/test_valid.py
index aa1ce20cd6d..85c015e521a 100644
--- a/tests/wpt/web-platform-tests/tools/ci/tc/tests/test_valid.py
+++ b/tests/wpt/web-platform-tests/tools/ci/tc/tests/test_valid.py
@@ -132,7 +132,8 @@ def test_verify_payload():
'tools/wpt/ tests (Python 3.6)',
'tools/wpt/ tests (Python 3.8)',
'resources/ tests',
- 'infrastructure/ tests'}),
+ 'infrastructure/ tests',
+ 'infrastructure/ tests (Python 3)'}),
# More tests are affected in the actual PR but it shouldn't affect the scheduled tasks
("pr_event_tests_affected.json", True, {"layout-instability/clip-negative-bottom-margin.html",
"layout-instability/composited-element-movement.html"},
diff --git a/tests/wpt/web-platform-tests/tools/lint/lint.py b/tests/wpt/web-platform-tests/tools/lint/lint.py
index fad93662a44..74b3c8cf930 100644
--- a/tests/wpt/web-platform-tests/tools/lint/lint.py
+++ b/tests/wpt/web-platform-tests/tools/lint/lint.py
@@ -41,7 +41,12 @@ if MYPY:
from typing import Type
from typing import Union
- Whitelist = Dict[Text, Dict[Text, Set[Optional[int]]]]
+ # The Ignorelist is a two level dictionary. The top level is indexed by
+ # error names (e.g. 'TRAILING WHITESPACE'). Each of those then has a map of
+ # file patterns (e.g. 'foo/*') to a set of specific line numbers for the
+ # exception. The line numbers are optional; if missing the entire file
+ # ignores the error.
+ Ignorelist = Dict[Text, Dict[Text, Set[Optional[int]]]]
logger = None # type: Optional[logging.Logger]
@@ -75,12 +80,12 @@ ERROR_MSG = """You must fix all errors; for details on how to fix them, see
https://web-platform-tests.org/writing-tests/lint-tool.html
However, instead of fixing a particular error, it's sometimes
-OK to add a line to the lint.whitelist file in the root of the
+OK to add a line to the lint.ignore file in the root of the
web-platform-tests directory to make the lint tool ignore it.
For example, to make the lint tool ignore all '%s'
errors in the %s file,
-you could add the following line to the lint.whitelist file.
+you could add the following line to the lint.ignore file.
%s: %s"""
@@ -318,14 +323,17 @@ def check_css_globally_unique(repo_root, paths):
return errors
-def parse_whitelist(f):
- # type: (IO[bytes]) -> Tuple[Whitelist, Set[Text]]
+def parse_ignorelist(f):
+ # type: (IO[bytes]) -> Tuple[Ignorelist, Set[Text]]
"""
- Parse the whitelist file given by `f`, and return the parsed structure.
+ Parse the ignorelist file given by `f`, and return the parsed structure.
+
+ :returns: a tuple of an Ignorelist and a set of files that are completely
+ skipped by the linter (i.e. have a '*' entry).
"""
- data = defaultdict(lambda:defaultdict(set)) # type: Whitelist
- ignored_files = set() # type: Set[Text]
+ data = defaultdict(lambda:defaultdict(set)) # type: Ignorelist
+ skipped_files = set() # type: Set[Text]
for line in f:
line = line.strip()
@@ -344,37 +352,37 @@ def parse_whitelist(f):
file_match = os.path.normcase(file_match)
if "*" in error_types:
- ignored_files.add(file_match)
+ skipped_files.add(file_match)
else:
for error_type in error_types:
data[error_type][file_match].add(line_number)
- return data, ignored_files
+ return data, skipped_files
-def filter_whitelist_errors(data, errors):
- # type: (Whitelist, Sequence[rules.Error]) -> List[rules.Error]
+def filter_ignorelist_errors(data, errors):
+ # type: (Ignorelist, Sequence[rules.Error]) -> List[rules.Error]
"""
- Filter out those errors that are whitelisted in `data`.
+ Filter out those errors that are ignored in `data`.
"""
if not errors:
return []
- whitelisted = [False for item in range(len(errors))]
+ skipped = [False for item in range(len(errors))]
for i, (error_type, msg, path, line) in enumerate(errors):
normpath = os.path.normcase(path)
- # Allow whitelisting all lint errors except the IGNORED PATH lint,
- # which explains how to fix it correctly and shouldn't be ignored.
+ # Allow skipping all lint errors except the IGNORED PATH lint,
+ # which explains how to fix it correctly and shouldn't be skipped.
if error_type in data and error_type != "IGNORED PATH":
wl_files = data[error_type]
for file_match, allowed_lines in iteritems(wl_files):
if None in allowed_lines or line in allowed_lines:
if fnmatch.fnmatchcase(normpath, file_match):
- whitelisted[i] = True
+ skipped[i] = True
- return [item for i, item in enumerate(errors) if not whitelisted[i]]
+ return [item for i, item in enumerate(errors) if not skipped[i]]
regexps = [item() for item in # type: ignore
@@ -805,7 +813,7 @@ def lint_paths(kwargs, wpt_root):
force_all = False
for path in changed_paths:
path = path.replace(os.path.sep, "/")
- if path == "lint.whitelist" or path.startswith("tools/lint/"):
+ if path == "lint.ignore" or path.startswith("tools/lint/"):
force_all = True
break
paths = (list(changed_paths) if not force_all # type: ignore
@@ -859,11 +867,11 @@ def lint(repo_root, paths, output_format, ignore_glob=str()):
error_count = defaultdict(int) # type: Dict[Text, int]
last = None
- with open(os.path.join(repo_root, "lint.whitelist")) as f:
- whitelist, ignored_files = parse_whitelist(f)
+ with open(os.path.join(repo_root, "lint.ignore")) as f:
+ ignorelist, skipped_files = parse_ignorelist(f)
if ignore_glob:
- ignored_files.add(ignore_glob)
+ skipped_files.add(ignore_glob)
output_errors = {"json": output_errors_json,
"markdown": output_errors_markdown,
@@ -879,7 +887,7 @@ def lint(repo_root, paths, output_format, ignore_glob=str()):
a tuple of the error type and the path otherwise
"""
- errors = filter_whitelist_errors(whitelist, errors)
+ errors = filter_ignorelist_errors(ignorelist, errors)
if not errors:
return None
@@ -896,7 +904,7 @@ def lint(repo_root, paths, output_format, ignore_glob=str()):
paths.remove(path)
continue
- if any(fnmatch.fnmatch(path, file_match) for file_match in ignored_files):
+ if any(fnmatch.fnmatch(path, file_match) for file_match in skipped_files):
paths.remove(path)
continue
diff --git a/tests/wpt/web-platform-tests/tools/lint/tests/dummy/lint.whitelist b/tests/wpt/web-platform-tests/tools/lint/tests/dummy/lint.ignore
index a763e4432e5..a763e4432e5 100644
--- a/tests/wpt/web-platform-tests/tools/lint/tests/dummy/lint.whitelist
+++ b/tests/wpt/web-platform-tests/tools/lint/tests/dummy/lint.ignore
diff --git a/tests/wpt/web-platform-tests/tools/lint/tests/test_lint.py b/tests/wpt/web-platform-tests/tools/lint/tests/test_lint.py
index af2b7d3d4aa..43da2f9ff21 100644
--- a/tests/wpt/web-platform-tests/tools/lint/tests/test_lint.py
+++ b/tests/wpt/web-platform-tests/tools/lint/tests/test_lint.py
@@ -8,7 +8,7 @@ import six
from ...localpaths import repo_root
from .. import lint as lint_mod
-from ..lint import filter_whitelist_errors, parse_whitelist, lint, create_parser
+from ..lint import filter_ignorelist_errors, parse_ignorelist, lint, create_parser
_dummy_repo = os.path.join(os.path.dirname(__file__), "dummy")
@@ -17,8 +17,8 @@ def _mock_lint(name, **kwargs):
return mock.patch(lint_mod.__name__ + "." + name, wraps=wrapped, **kwargs)
-def test_filter_whitelist_errors():
- whitelist = {
+def test_filter_ignorelist_errors():
+ ignorelist = {
'CONSOLE': {
'svg/*': {12}
},
@@ -26,34 +26,34 @@ def test_filter_whitelist_errors():
'svg/*': {None}
}
}
- # parse_whitelist normalises the case/path of the match string so need to do the same
- whitelist = {e: {os.path.normcase(k): v for k, v in p.items()}
- for e, p in whitelist.items()}
- # paths passed into filter_whitelist_errors are always Unix style
+ # parse_ignorelist normalises the case/path of the match string so need to do the same
+ ignorelist = {e: {os.path.normcase(k): v for k, v in p.items()}
+ for e, p in ignorelist.items()}
+ # paths passed into filter_ignorelist_errors are always Unix style
filteredfile = 'svg/test.html'
unfilteredfile = 'html/test.html'
# Tests for passing no errors
- filtered = filter_whitelist_errors(whitelist, [])
+ filtered = filter_ignorelist_errors(ignorelist, [])
assert filtered == []
- filtered = filter_whitelist_errors(whitelist, [])
+ filtered = filter_ignorelist_errors(ignorelist, [])
assert filtered == []
# Tests for filtering on file and line number
- filtered = filter_whitelist_errors(whitelist, [['CONSOLE', '', filteredfile, 12]])
+ filtered = filter_ignorelist_errors(ignorelist, [['CONSOLE', '', filteredfile, 12]])
assert filtered == []
- filtered = filter_whitelist_errors(whitelist, [['CONSOLE', '', unfilteredfile, 12]])
+ filtered = filter_ignorelist_errors(ignorelist, [['CONSOLE', '', unfilteredfile, 12]])
assert filtered == [['CONSOLE', '', unfilteredfile, 12]]
- filtered = filter_whitelist_errors(whitelist, [['CONSOLE', '', filteredfile, 11]])
+ filtered = filter_ignorelist_errors(ignorelist, [['CONSOLE', '', filteredfile, 11]])
assert filtered == [['CONSOLE', '', filteredfile, 11]]
# Tests for filtering on just file
- filtered = filter_whitelist_errors(whitelist, [['INDENT TABS', '', filteredfile, 12]])
+ filtered = filter_ignorelist_errors(ignorelist, [['INDENT TABS', '', filteredfile, 12]])
assert filtered == []
- filtered = filter_whitelist_errors(whitelist, [['INDENT TABS', '', filteredfile, 11]])
+ filtered = filter_ignorelist_errors(ignorelist, [['INDENT TABS', '', filteredfile, 11]])
assert filtered == []
- filtered = filter_whitelist_errors(whitelist, [['INDENT TABS', '', unfilteredfile, 11]])
+ filtered = filter_ignorelist_errors(ignorelist, [['INDENT TABS', '', unfilteredfile, 11]])
assert filtered == [['INDENT TABS', '', unfilteredfile, 11]]
-def test_parse_whitelist():
+def test_parse_ignorelist():
input_buffer = six.StringIO("""
# Comment
CR AT EOL: svg/import/*
@@ -100,10 +100,10 @@ CR AT EOL, INDENT TABS: html/test2.js: 42
}
expected_data = {e: {os.path.normcase(k): v for k, v in p.items()}
for e, p in expected_data.items()}
- expected_ignored = {os.path.normcase(x) for x in {"*.pdf", "resources/*", "*.png"}}
- data, ignored = parse_whitelist(input_buffer)
+ expected_skipped = {os.path.normcase(x) for x in {"*.pdf", "resources/*", "*.png"}}
+ data, skipped_files = parse_ignorelist(input_buffer)
assert data == expected_data
- assert ignored == expected_ignored
+ assert skipped_files == expected_skipped
def test_lint_no_files(caplog):
diff --git a/tests/wpt/web-platform-tests/tools/wptrunner/wptrunner/browsers/firefox.py b/tests/wpt/web-platform-tests/tools/wptrunner/wptrunner/browsers/firefox.py
index 9532bd03cb7..f60185eb25f 100644
--- a/tests/wpt/web-platform-tests/tools/wptrunner/wptrunner/browsers/firefox.py
+++ b/tests/wpt/web-platform-tests/tools/wptrunner/wptrunner/browsers/firefox.py
@@ -272,9 +272,6 @@ class FirefoxInstanceManager(object):
if self.enable_webrender:
env["MOZ_WEBRENDER"] = "1"
env["MOZ_ACCELERATED"] = "1"
- # Set MOZ_X_SYNC and GDK_SYNCHRONIZE for investigation; bug 1625250.
- env["MOZ_X_SYNC"] = "1"
- env["GDK_SYNCHRONIZE"] = "1"
else:
env["MOZ_WEBRENDER"] = "0"
@@ -428,8 +425,11 @@ class OutputHandler(object):
self.symbols_path = symbols_path
if stackfix_dir:
+ # We hide errors because they cause disconcerting `CRITICAL`
+ # warnings in web platform test output.
self.stack_fixer = get_stack_fixer_function(stackfix_dir,
- self.symbols_path)
+ self.symbols_path,
+ hideErrors=True)
else:
self.stack_fixer = None
self.asan = asan
diff --git a/tests/wpt/web-platform-tests/tools/wptrunner/wptrunner/wpttest.py b/tests/wpt/web-platform-tests/tools/wptrunner/wptrunner/wpttest.py
index 8f828ff43ab..838a3ece325 100644
--- a/tests/wpt/web-platform-tests/tools/wptrunner/wptrunner/wpttest.py
+++ b/tests/wpt/web-platform-tests/tools/wptrunner/wptrunner/wpttest.py
@@ -1,5 +1,6 @@
import os
import subprocess
+import sys
from six.moves.urllib.parse import urljoin
from collections import defaultdict
from six import iteritems, string_types
@@ -102,6 +103,7 @@ class RunInfo(dict):
if rev:
self["revision"] = rev
+ self["python_version"] = sys.version_info.major
self["product"] = product
if debug is not None:
self["debug"] = debug
diff --git a/tests/wpt/web-platform-tests/webrtc/RTCPeerConnection-setRemoteDescription-offer.html b/tests/wpt/web-platform-tests/webrtc/RTCPeerConnection-setRemoteDescription-offer.html
index 21ecf17fef6..b4702446613 100644
--- a/tests/wpt/web-platform-tests/webrtc/RTCPeerConnection-setRemoteDescription-offer.html
+++ b/tests/wpt/web-platform-tests/webrtc/RTCPeerConnection-setRemoteDescription-offer.html
@@ -307,4 +307,22 @@
assert_equals(pc1.pendingRemoteDescription, null);
await promise_rejects_dom(t, 'RTCError', p);
}, 'setRemoteDescription(invalidOffer) from have-local-offer does not undo rollback');
+
+ promise_test(async t => {
+ const pc1 = new RTCPeerConnection();
+ t.add_cleanup(() => pc1.close());
+ const pc2 = new RTCPeerConnection();
+ t.add_cleanup(() => pc2.close());
+ pc1.addTransceiver('video');
+ const offer = await pc1.createOffer();
+ await pc2.setRemoteDescription(offer);
+ assert_equals(pc2.getTransceivers().length, 1);
+ await pc2.setRemoteDescription(offer);
+ assert_equals(pc2.getTransceivers().length, 1);
+ await pc1.setLocalDescription(offer);
+ const answer = await pc2.createAnswer();
+ await pc2.setLocalDescription(answer);
+ await pc1.setRemoteDescription(answer);
+ }, 'repeated sRD(offer) works');
+
</script>
diff --git a/tests/wpt/web-platform-tests/webrtc/RTCPeerConnection-setRemoteDescription-rollback.html b/tests/wpt/web-platform-tests/webrtc/RTCPeerConnection-setRemoteDescription-rollback.html
index 516cb57025b..a031a6015f4 100644
--- a/tests/wpt/web-platform-tests/webrtc/RTCPeerConnection-setRemoteDescription-rollback.html
+++ b/tests/wpt/web-platform-tests/webrtc/RTCPeerConnection-setRemoteDescription-rollback.html
@@ -282,7 +282,7 @@
const offer = await pc.createOffer();
await pc.setLocalDescription(offer);
assert_not_equals(pc.getTransceivers()[0].sender.transport, null);
- await pc.setRemoteDescription({type: "rollback"});
+ await pc.setLocalDescription({type: "rollback"});
assert_equals(pc.getTransceivers().length, 1);
assert_equals(pc.getTransceivers()[0].mid, null)
assert_equals(pc.getTransceivers()[0].sender.transport, null);
@@ -306,26 +306,48 @@
};
const stream1 = await getNoiseStream({audio: true});
t.add_cleanup(() => stream1.getTracks().forEach(track => track.stop()));
+ pc1.addTransceiver(stream1.getTracks()[0], stream1);
+
+ const stream2 = await getNoiseStream({audio: true});
+ t.add_cleanup(() => stream2.getTracks().forEach(track => track.stop()));
+ pc2.addTransceiver(stream2.getTracks()[0], stream2);
+
+ await pc1.setLocalDescription(await pc1.createOffer());
+ pc1.onnegotiationneeded = t.step_func(() => assert_true(false, "There should be no negotiationneeded event right now"));
+ await pc1.setRemoteDescription(await pc2.createOffer());
+ await pc1.setLocalDescription(await pc1.createAnswer());
+ await signalingstatechangeResolver.promise;
+ assert_array_equals(states, ['have-local-offer', 'stable', 'have-remote-offer', 'stable']);
+ await new Promise(r => pc1.onnegotiationneeded = r);
+ }, "when using addTransceiver, implicit rollback of a local offer should visit stable state, but not fire negotiationneeded until we settle in stable");
+
+ promise_test(async t => {
+ const pc1 = new RTCPeerConnection();
+ t.add_cleanup(() => pc1.close());
+ const pc2 = new RTCPeerConnection();
+ t.add_cleanup(() => pc2.close());
+
+ const states = [];
+ const signalingstatechangeResolver = new Resolver();
+ pc1.onsignalingstatechange = () => {
+ states.push(pc1.signalingState);
+ signalingstatechangeResolver.resolve();
+ };
+ const stream1 = await getNoiseStream({audio: true});
+ t.add_cleanup(() => stream1.getTracks().forEach(track => track.stop()));
pc1.addTrack(stream1.getTracks()[0], stream1);
- const stream2 = await getNoiseStream({video: true});
+ const stream2 = await getNoiseStream({audio: true});
t.add_cleanup(() => stream2.getTracks().forEach(track => track.stop()));
pc2.addTrack(stream2.getTracks()[0], stream2);
await pc1.setLocalDescription(await pc1.createOffer());
- var onnegotiationneededCount = 0;
- const negotiationneededResolver = new Resolver();
- pc1.onnegotiationneeded = () => {
- onnegotiationneededCount += 1;
- negotiationneededResolver.resolve();
- };
+ pc1.onnegotiationneeded = t.step_func(() => assert_true(false, "There should be no negotiationneeded event in this test"));
await pc1.setRemoteDescription(await pc2.createOffer());
await pc1.setLocalDescription(await pc1.createAnswer());
- await negotiationneededResolver.promise;
- assert_equals(onnegotiationneededCount, 1);
- await signalingstatechangeResolver.promise;
assert_array_equals(states, ['have-local-offer', 'stable', 'have-remote-offer', 'stable']);
- }, "implicit rollback of a local offer should visit stable state and fire negotiationneeded");
+ await new Promise(r => t.step_timeout(r, 0));
+ }, "when using addTrack, implicit rollback of a local offer should visit stable state, but not fire negotiationneeded");
promise_test(async t => {
const pc1 = new RTCPeerConnection();
@@ -385,7 +407,7 @@
await pc2.setLocalDescription(await pc2.createOffer());
assert_equals(pc2.getTransceivers().length, 2);
assert_not_equals(pc2.getTransceivers()[1].sender.transport, null);
- await pc2.setRemoteDescription({type: "rollback"});
+ await pc2.setLocalDescription({type: "rollback"});
assert_equals(pc2.getTransceivers().length, 2);
// Rollback didn't touch audio transceiver and transport is intact.
assert_not_equals(pc2.getTransceivers()[0].sender.transport, null);
@@ -423,7 +445,7 @@
assert_equals(pc2.getTransceivers()[0].direction, "sendrecv");
await pc2.setLocalDescription(await pc2.createOffer());
assert_equals(pc2.getTransceivers()[0].direction, "sendrecv");
- await pc2.setRemoteDescription({type: "rollback"});
+ await pc2.setLocalDescription({type: "rollback"});
assert_equals(pc2.getTransceivers().length, 1);
// setLocalDescription didn't change direction. So direction remains "sendrecv"
assert_equals(pc2.getTransceivers()[0].direction, "sendrecv");
diff --git a/tests/wpt/web-platform-tests/webxr/dom-overlay/ar_dom_overlay.https.html b/tests/wpt/web-platform-tests/webxr/dom-overlay/ar_dom_overlay.https.html
index e6f7a9d455c..de0cb687449 100644
--- a/tests/wpt/web-platform-tests/webxr/dom-overlay/ar_dom_overlay.https.html
+++ b/tests/wpt/web-platform-tests/webxr/dom-overlay/ar_dom_overlay.https.html
@@ -137,7 +137,7 @@ let testInput = function(overlayElement, session, fakeDeviceController, t) {
session.requestReferenceSpace('viewer').then(function(viewerSpace) {
// Press the primary input button and then release it a short time later.
debug('got viewerSpace');
- session.requestAnimationFrame((time, xrFrame) => {
+ requestSkipAnimationFrame(session, (time, xrFrame) => {
debug('got rAF 1');
input_source.setOverlayPointerPosition(inner_a.offsetLeft + 1,
inner_a.offsetTop + 1);
@@ -202,7 +202,7 @@ let testCrossOriginContent = function(overlayElement, session, fakeDeviceControl
fakeDeviceController.simulateInputSourceConnection(SCREEN_CONTROLLER);
session.requestReferenceSpace('viewer').then(function(viewerSpace) {
// Press the primary input button and then release it a short time later.
- session.requestAnimationFrame((time, xrFrame) => {
+ requestSkipAnimationFrame(session, (time, xrFrame) => {
debug('got rAF 1');
input_source.setOverlayPointerPosition(iframe.offsetLeft + 1,
iframe.offsetTop + 1);
diff --git a/tests/wpt/web-platform-tests/webxr/events_input_sources_change.https.html b/tests/wpt/web-platform-tests/webxr/events_input_sources_change.https.html
index 107cc9b544e..7c784c34479 100644
--- a/tests/wpt/web-platform-tests/webxr/events_input_sources_change.https.html
+++ b/tests/wpt/web-platform-tests/webxr/events_input_sources_change.https.html
@@ -101,7 +101,7 @@ let testFunction = function(session, fakeDeviceController, t) {
// Make our input source disappear after one frame, and wait an additional
// frame for that disappearance to propogate.
- session.requestAnimationFrame((time, xrFrame) => {
+ requestSkipAnimationFrame(session, (time, xrFrame) => {
input_source.disconnect();
session.requestAnimationFrame((time, xrFrame) => {});
});
diff --git a/tests/wpt/web-platform-tests/webxr/events_referenceSpace_reset_immersive.https.html b/tests/wpt/web-platform-tests/webxr/events_referenceSpace_reset_immersive.https.html
index 2da3788a39a..9643bf61c87 100644
--- a/tests/wpt/web-platform-tests/webxr/events_referenceSpace_reset_immersive.https.html
+++ b/tests/wpt/web-platform-tests/webxr/events_referenceSpace_reset_immersive.https.html
@@ -40,7 +40,7 @@ let testFunction = function(session, fakeDeviceController, t) {
fakeDeviceController.simulateResetPose();
// The triggered resetPose event should arrive after the next Animation Frame
- session.requestAnimationFrame(() => {});
+ requestSkipAnimationFrame(session, () => {});
return resetPromise;
};
diff --git a/tests/wpt/web-platform-tests/webxr/events_session_select.https.html b/tests/wpt/web-platform-tests/webxr/events_session_select.https.html
index bc501b69349..f83d3c4f854 100644
--- a/tests/wpt/web-platform-tests/webxr/events_session_select.https.html
+++ b/tests/wpt/web-platform-tests/webxr/events_session_select.https.html
@@ -92,7 +92,7 @@ let testFunction = function(session, fakeDeviceController, t) {
currentReferenceSpace = referenceSpace;
// Press the primary input button and then release it a short time later.
- session.requestAnimationFrame((time, xrFrame) => {
+ requestSkipAnimationFrame(session, (time, xrFrame) => {
input_source.startSelection();
session.requestAnimationFrame((time, xrFrame) => {
diff --git a/tests/wpt/web-platform-tests/webxr/events_session_select_subframe.https.html b/tests/wpt/web-platform-tests/webxr/events_session_select_subframe.https.html
index 0e2c23424c0..96fa11713dd 100644
--- a/tests/wpt/web-platform-tests/webxr/events_session_select_subframe.https.html
+++ b/tests/wpt/web-platform-tests/webxr/events_session_select_subframe.https.html
@@ -51,7 +51,7 @@ let testFunction = function(session, fakeDeviceController, t) {
let input_source = fakeDeviceController.simulateInputSourceConnection(VALID_CONTROLLER);
// Press the primary input button and then release it a short time later.
- session.requestAnimationFrame((time, xrFrame) => {
+ requestSkipAnimationFrame(session, (time, xrFrame) => {
input_source.simulateSelect();
session.requestAnimationFrame((time, xrFrame) => {
diff --git a/tests/wpt/web-platform-tests/webxr/events_session_squeeze.https.html b/tests/wpt/web-platform-tests/webxr/events_session_squeeze.https.html
index 59e4e3f72c5..101f1dc7c88 100644
--- a/tests/wpt/web-platform-tests/webxr/events_session_squeeze.https.html
+++ b/tests/wpt/web-platform-tests/webxr/events_session_squeeze.https.html
@@ -114,7 +114,7 @@ let testFunction = function(session, fakeDeviceController, t) {
currentReferenceSpace = referenceSpace;
//Simulate a grip starting then release it a short time later.
- session.requestAnimationFrame((time, xrFrame) => {
+ requestSkipAnimationFrame(session, (time, xrFrame) => {
input_source.updateButtonState(pressed_grip_button);
session.requestAnimationFrame((time, xrFrame) => {
diff --git a/tests/wpt/web-platform-tests/webxr/gamepads-module/xrInputSource_gamepad_disconnect.https.html b/tests/wpt/web-platform-tests/webxr/gamepads-module/xrInputSource_gamepad_disconnect.https.html
index 7b8ff4a59c8..f69f943b5b5 100644
--- a/tests/wpt/web-platform-tests/webxr/gamepads-module/xrInputSource_gamepad_disconnect.https.html
+++ b/tests/wpt/web-platform-tests/webxr/gamepads-module/xrInputSource_gamepad_disconnect.https.html
@@ -132,7 +132,7 @@ let testFunction = function(session, fakeDeviceController, t) {
// 5. Waits for all of the input events to finish propagating, then ends the
// session, at which point the controller should be disconnected.
return new Promise((resolve) => {
- session.requestAnimationFrame(() => {
+ requestSkipAnimationFrame(session, () => {
input_source.setSupportedButtons([]);
session.requestAnimationFrame(() => {
input_source.setSupportedButtons(gamepadButtons);
diff --git a/tests/wpt/web-platform-tests/webxr/gamepads-module/xrInputSource_gamepad_input_registered.https.html b/tests/wpt/web-platform-tests/webxr/gamepads-module/xrInputSource_gamepad_input_registered.https.html
index 038e28dcffb..1ff9dcf3b40 100644
--- a/tests/wpt/web-platform-tests/webxr/gamepads-module/xrInputSource_gamepad_input_registered.https.html
+++ b/tests/wpt/web-platform-tests/webxr/gamepads-module/xrInputSource_gamepad_input_registered.https.html
@@ -69,7 +69,7 @@ let testFunction = function(session, fakeDeviceController, t) {
// updated values make their way to the WebXR gamepad and that it does not
// fire an inputsourceschange event).
return new Promise((resolve) => {
- session.requestAnimationFrame(() => {
+ requestSkipAnimationFrame(session, () => {
// Make sure the exposed gamepad has the number of buttons and axes we
// requested.
// 3 Buttons: trigger, grip, touchpad
diff --git a/tests/wpt/web-platform-tests/webxr/getInputPose_handedness.https.html b/tests/wpt/web-platform-tests/webxr/getInputPose_handedness.https.html
index 5a310c6dd77..c5c13fd08f4 100644
--- a/tests/wpt/web-platform-tests/webxr/getInputPose_handedness.https.html
+++ b/tests/wpt/web-platform-tests/webxr/getInputPose_handedness.https.html
@@ -75,7 +75,7 @@ let testFunction =
}
// Handedness only updates during an XR frame.
- session.requestAnimationFrame(CheckNone);
+ requestSkipAnimationFrame(session, CheckNone);
});
xr_session_promise_test(
diff --git a/tests/wpt/web-platform-tests/webxr/getInputPose_pointer.https.html b/tests/wpt/web-platform-tests/webxr/getInputPose_pointer.https.html
index 9c2bf5217f8..30dbe4c5304 100644
--- a/tests/wpt/web-platform-tests/webxr/getInputPose_pointer.https.html
+++ b/tests/wpt/web-platform-tests/webxr/getInputPose_pointer.https.html
@@ -87,7 +87,7 @@ let testFunction =
}
// Can only request input poses in an xr frame.
- session.requestAnimationFrame(CheckInvalidGrip);
+ requestSkipAnimationFrame(session, CheckInvalidGrip);
});
});
diff --git a/tests/wpt/web-platform-tests/webxr/getViewerPose_emulatedPosition.https.html b/tests/wpt/web-platform-tests/webxr/getViewerPose_emulatedPosition.https.html
index d3f83dad26a..acba79136a2 100644
--- a/tests/wpt/web-platform-tests/webxr/getViewerPose_emulatedPosition.https.html
+++ b/tests/wpt/web-platform-tests/webxr/getViewerPose_emulatedPosition.https.html
@@ -45,7 +45,7 @@
resolve();
}
- session.requestAnimationFrame(CheckPositionNotEmulated);
+ requestSkipAnimationFrame(session, CheckPositionNotEmulated);
}));
};
diff --git a/tests/wpt/web-platform-tests/webxr/hit-test/ar_hittest_subscription_inputSources.https.html b/tests/wpt/web-platform-tests/webxr/hit-test/ar_hittest_subscription_inputSources.https.html
index 7b609d5e3a7..d419055ab26 100644
--- a/tests/wpt/web-platform-tests/webxr/hit-test/ar_hittest_subscription_inputSources.https.html
+++ b/tests/wpt/web-platform-tests/webxr/hit-test/ar_hittest_subscription_inputSources.https.html
@@ -55,7 +55,7 @@ let testFunctionGenerator = function(ray, expectedPoses, inputFromPointer, nextF
const input_source_controller = fakeDeviceController.simulateInputSourceConnection(screen_controller_init);
- session.requestAnimationFrame((time, frame) => {
+ requestSkipAnimationFrame(session, (time, frame) => {
t.step(() => {
assert_equals(session.inputSources.length, 1);
});
diff --git a/tests/wpt/web-platform-tests/webxr/hit-test/ar_hittest_subscription_transientInputSources.https.html b/tests/wpt/web-platform-tests/webxr/hit-test/ar_hittest_subscription_transientInputSources.https.html
index 385bb667b31..e38e9c601b3 100644
--- a/tests/wpt/web-platform-tests/webxr/hit-test/ar_hittest_subscription_transientInputSources.https.html
+++ b/tests/wpt/web-platform-tests/webxr/hit-test/ar_hittest_subscription_transientInputSources.https.html
@@ -56,7 +56,7 @@ let testFunctionGenerator = function(ray, expectedPoses, inputFromPointer, nextF
const input_source_controller = fakeDeviceController.simulateInputSourceConnection(screen_controller_init);
- session.requestAnimationFrame((time, frame) => {
+ requestSkipAnimationFrame(session, (time, frame) => {
debug('rAF 1');
t.step(() => {
assert_equals(session.inputSources.length, 1);
diff --git a/tests/wpt/web-platform-tests/webxr/resources/webxr_util.js b/tests/wpt/web-platform-tests/webxr/resources/webxr_util.js
index fcee8930367..7c157518755 100644
--- a/tests/wpt/web-platform-tests/webxr/resources/webxr_util.js
+++ b/tests/wpt/web-platform-tests/webxr/resources/webxr_util.js
@@ -44,6 +44,18 @@ function xr_promise_test(name, func, properties) {
}, name, properties);
}
+// A utility function for waiting one animation frame before running the callback
+//
+// This is only needed after calling FakeXRDevice methods outside of an animation frame
+//
+// This is so that we can paper over the potential race allowed by the "next animation frame"
+// concept https://immersive-web.github.io/webxr-test-api/#xrsession-next-animation-frame
+function requestSkipAnimationFrame(session, callback) {
+ session.requestAnimationFrame(() => {
+ session.requestAnimationFrame(callback);
+ });
+}
+
// A test function which runs through the common steps of requesting a session.
// Calls the passed in test function with the session, the controller for the
// device, and the test object.
diff --git a/tests/wpt/web-platform-tests/webxr/xrBoundedReferenceSpace_updates.https.html b/tests/wpt/web-platform-tests/webxr/xrBoundedReferenceSpace_updates.https.html
index 9043d59e3b2..3d504043665 100644
--- a/tests/wpt/web-platform-tests/webxr/xrBoundedReferenceSpace_updates.https.html
+++ b/tests/wpt/web-platform-tests/webxr/xrBoundedReferenceSpace_updates.https.html
@@ -49,7 +49,7 @@ let testFunction = function(session, fakeDeviceController, t) {
// Now set the bounds explicitly and check again on the next frame.
fakeDeviceController.setBoundsGeometry(VALID_BOUNDS);
- session.requestAnimationFrame(onFrame);
+ requestSkipAnimationFrame(session, onFrame);
});
});
};
diff --git a/tests/wpt/web-platform-tests/webxr/xrInputSource_add_remove.https.html b/tests/wpt/web-platform-tests/webxr/xrInputSource_add_remove.https.html
index 33264ddd68a..7764017910d 100644
--- a/tests/wpt/web-platform-tests/webxr/xrInputSource_add_remove.https.html
+++ b/tests/wpt/web-platform-tests/webxr/xrInputSource_add_remove.https.html
@@ -21,7 +21,7 @@ let testFunction = (session, fakeDeviceController, t) => new Promise((resolve) =
let input_source_1 = fakeDeviceController.simulateInputSourceConnection(RIGHT_CONTROLLER);
- session.requestAnimationFrame((time, xrFrame) => {
+ requestSkipAnimationFrame(session, (time, xrFrame) => {
let input_sources = session.inputSources;
t.step( () => {
diff --git a/tests/wpt/web-platform-tests/webxr/xrInputSource_emulatedPosition.https.html b/tests/wpt/web-platform-tests/webxr/xrInputSource_emulatedPosition.https.html
index 7b0fda45087..2bc21ffe6c3 100644
--- a/tests/wpt/web-platform-tests/webxr/xrInputSource_emulatedPosition.https.html
+++ b/tests/wpt/web-platform-tests/webxr/xrInputSource_emulatedPosition.https.html
@@ -53,7 +53,7 @@ let testFunction =
}
// Can only request input poses in an xr frame.
- session.requestAnimationFrame(CheckPositionNotEmulated);
+ requestSkipAnimationFrame(session, CheckPositionNotEmulated);
});
});
diff --git a/tests/wpt/web-platform-tests/webxr/xrInputSource_profiles.https.html b/tests/wpt/web-platform-tests/webxr/xrInputSource_profiles.https.html
index 32073c631f8..f55e682b675 100644
--- a/tests/wpt/web-platform-tests/webxr/xrInputSource_profiles.https.html
+++ b/tests/wpt/web-platform-tests/webxr/xrInputSource_profiles.https.html
@@ -22,7 +22,7 @@ let testFunction = function(session, fakeDeviceController, t) {
// Input events and state changes need one frame to propagate, which is why we
// are requesting an animation frame before checking the profiles list.
return new Promise((resolve) => {
- session.requestAnimationFrame(() => {
+ requestSkipAnimationFrame(session, () => {
let profiles = session.inputSources[0].profiles;
t.step(() => {
assert_equals(profiles.length, 2);
diff --git a/tests/wpt/web-platform-tests/webxr/xrInputSource_sameObject.https.html b/tests/wpt/web-platform-tests/webxr/xrInputSource_sameObject.https.html
index 78240de2f90..305e5f9e0fc 100644
--- a/tests/wpt/web-platform-tests/webxr/xrInputSource_sameObject.https.html
+++ b/tests/wpt/web-platform-tests/webxr/xrInputSource_sameObject.https.html
@@ -18,7 +18,7 @@ let testFunction = function(session, fakeDeviceController, t) {
profiles: ["foo", "bar"]
});
- session.requestAnimationFrame((time, xrFrame) => {
+ requestSkipAnimationFrame(session, (time, xrFrame) => {
let source = session.inputSources[0];
let targetRaySpace = source.targetRaySpace;
let gripSpace = source.gripSpace;
diff --git a/tests/wpt/web-platform-tests/webxr/xrPose_transform_sameObject.https.html b/tests/wpt/web-platform-tests/webxr/xrPose_transform_sameObject.https.html
index 79eed4cdec4..8e2239cff16 100644
--- a/tests/wpt/web-platform-tests/webxr/xrPose_transform_sameObject.https.html
+++ b/tests/wpt/web-platform-tests/webxr/xrPose_transform_sameObject.https.html
@@ -19,7 +19,7 @@ let testFunction = function(session, fakeDeviceController, t) {
});
session.requestReferenceSpace('local').then((referenceSpace) => {
- session.requestAnimationFrame((time, xrFrame) => {
+ requestSkipAnimationFrame(session, (time, xrFrame) => {
let source = session.inputSources[0];
let input_pose = xrFrame.getPose(source.targetRaySpace, referenceSpace);
diff --git a/tests/wpt/web-platform-tests/webxr/xrReferenceSpace_originOffset.https.html b/tests/wpt/web-platform-tests/webxr/xrReferenceSpace_originOffset.https.html
index 3d244b8ce29..f6929f27af0 100644
--- a/tests/wpt/web-platform-tests/webxr/xrReferenceSpace_originOffset.https.html
+++ b/tests/wpt/web-platform-tests/webxr/xrReferenceSpace_originOffset.https.html
@@ -126,7 +126,7 @@ let testFunction =
}
// Can only request input poses in an xr frame.
- session.requestAnimationFrame(OnFrame);
+ requestSkipAnimationFrame(session, OnFrame);
});
});
diff --git a/tests/wpt/web-platform-tests/webxr/xrReferenceSpace_originOffsetBounded.https.html b/tests/wpt/web-platform-tests/webxr/xrReferenceSpace_originOffsetBounded.https.html
index c50aff2515b..7ce4acafd35 100644
--- a/tests/wpt/web-platform-tests/webxr/xrReferenceSpace_originOffsetBounded.https.html
+++ b/tests/wpt/web-platform-tests/webxr/xrReferenceSpace_originOffsetBounded.https.html
@@ -67,7 +67,7 @@ function testFunction(session, fakeDeviceController, t) {
});
return new Promise((resolve, reject) => {
- session.requestAnimationFrame((time, frame) => {
+ requestSkipAnimationFrame(session, (time, frame) => {
let input_source = session.inputSources[0];
session.requestReferenceSpace('bounded-floor').then((referenceSpace) => {
diff --git a/tests/wpt/web-platform-tests/webxr/xrSession_input_events_end.https.html b/tests/wpt/web-platform-tests/webxr/xrSession_input_events_end.https.html
index a932aad2fad..636562dd6ec 100644
--- a/tests/wpt/web-platform-tests/webxr/xrSession_input_events_end.https.html
+++ b/tests/wpt/web-platform-tests/webxr/xrSession_input_events_end.https.html
@@ -42,7 +42,7 @@ let testFunction = function(session, fakeDeviceController, t, sessionObjects) {
profiles: [],
selectionClicked: true
});
- session.requestAnimationFrame(() => {});
+ requestSkipAnimationFrame(session, () => {});
}
function sessionEndTest(endEvent, eventOrder) {
diff --git a/tests/wpt/web-platform-tests/webxr/xrSession_sameObject.https.html b/tests/wpt/web-platform-tests/webxr/xrSession_sameObject.https.html
index 837fa0a008d..66aeef81c50 100644
--- a/tests/wpt/web-platform-tests/webxr/xrSession_sameObject.https.html
+++ b/tests/wpt/web-platform-tests/webxr/xrSession_sameObject.https.html
@@ -18,7 +18,7 @@ let testFunction = function(session, fakeDeviceController, t) {
profiles: ["foo", "bar"]
});
- session.requestAnimationFrame((time, xrFrame) => {
+ requestSkipAnimationFrame(session, (time, xrFrame) => {
let renderState = session.renderState;
let sources = session.inputSources;
diff --git a/tests/wpt/web-platform-tests/webxr/xrStationaryReferenceSpace_floorlevel_updates.https.html b/tests/wpt/web-platform-tests/webxr/xrStationaryReferenceSpace_floorlevel_updates.https.html
index 3f33cf354b8..967291609c0 100644
--- a/tests/wpt/web-platform-tests/webxr/xrStationaryReferenceSpace_floorlevel_updates.https.html
+++ b/tests/wpt/web-platform-tests/webxr/xrStationaryReferenceSpace_floorlevel_updates.https.html
@@ -36,9 +36,7 @@ let testFunction = function(session, fakeDeviceController, t) {
// Need to request one animation frame for the new stage transform to
// propagate before we check that it's what we expect.
- session.requestAnimationFrame(() => {
- session.requestAnimationFrame(onFrame);
- });
+ requestSkipAnimationFrame(session, onFrame);
});
}
@@ -58,9 +56,7 @@ let testFunction = function(session, fakeDeviceController, t) {
// Need to wait one frame for the removal to propagate before we check that
// everything is at the expected emulated position.
- session.requestAnimationFrame(() => {
- session.requestAnimationFrame(onFirstFrame);
- });
+ requestSkipAnimationFrame(session, onFirstFrame);
}));
};
diff --git a/tests/wpt/web-platform-tests/xhr/resources/access-control-preflight-denied.py b/tests/wpt/web-platform-tests/xhr/resources/access-control-preflight-denied.py
index 889ee6b0eca..e8010cc0ef7 100644
--- a/tests/wpt/web-platform-tests/xhr/resources/access-control-preflight-denied.py
+++ b/tests/wpt/web-platform-tests/xhr/resources/access-control-preflight-denied.py
@@ -39,7 +39,7 @@ def main(request, response):
resetState(token)
response.content = "Request successfully blocked."
else:
- setState("Deny Ignored")
+ setState(token, "Deny Ignored")
fail("The request was not denied.")
elif state == "Deny Ignored":
resetState(token)
diff --git a/tests/wpt/webgl/meta/conformance2/rendering/draw-buffers.html.ini b/tests/wpt/webgl/meta/conformance2/rendering/draw-buffers.html.ini
index 9c4a3ba41db..ea0b2809894 100644
--- a/tests/wpt/webgl/meta/conformance2/rendering/draw-buffers.html.ini
+++ b/tests/wpt/webgl/meta/conformance2/rendering/draw-buffers.html.ini
@@ -98,3 +98,9 @@
[WebGL test #47: attachment 2 should be 0,255,0,255\nat (0, 0) expected: 0,255,0,255 was 0,0,0,0]
expected: FAIL
+ [WebGL test #49: attachment 4 should be 0,255,0,255\nat (0, 0) expected: 0,255,0,255 was 0,0,0,0]
+ expected: FAIL
+
+ [WebGL test #52: attachment 7 should be 0,255,0,255\nat (0, 0) expected: 0,255,0,255 was 255,255,0,0]
+ expected: FAIL
+