aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--tests/wpt/metadata/FileAPI/url/url-with-fetch.any.js.ini6
-rw-r--r--tests/wpt/metadata/MANIFEST.json526
-rw-r--r--tests/wpt/metadata/css/CSS2/linebox/vertical-align-top-bottom-padding.html.ini2
-rw-r--r--tests/wpt/metadata/css/css-transitions/transitions-animatable-properties-01.html.ini3
-rw-r--r--tests/wpt/metadata/css/css-values/vh_not_refreshing_on_chrome.html.ini2
-rw-r--r--tests/wpt/metadata/css/cssom-view/matchMedia-display-none-iframe.html.ini2
-rw-r--r--tests/wpt/metadata/fetch/content-type/response.window.js.ini15
-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.ini (renamed from tests/wpt/metadata/html/browsers/history/the-history-interface/traverse_the_history_5.html.ini)2
-rw-r--r--tests/wpt/metadata/html/browsers/the-window-object/apis-for-creating-and-navigating-browsing-contexts-by-name/open-features-negative-innerwidth-innerheight.html.ini19
-rw-r--r--tests/wpt/metadata/html/browsers/the-window-object/apis-for-creating-and-navigating-browsing-contexts-by-name/open-features-negative-screenx-screeny.html.ini19
-rw-r--r--tests/wpt/metadata/html/browsers/the-window-object/apis-for-creating-and-navigating-browsing-contexts-by-name/open-features-negative-top-left.html.ini19
-rw-r--r--tests/wpt/metadata/html/browsers/the-window-object/apis-for-creating-and-navigating-browsing-contexts-by-name/open-features-negative-width-height.html.ini19
-rw-r--r--tests/wpt/metadata/html/browsers/the-window-object/apis-for-creating-and-navigating-browsing-contexts-by-name/open-features-non-integer-height.html.ini34
-rw-r--r--tests/wpt/metadata/html/browsers/the-window-object/apis-for-creating-and-navigating-browsing-contexts-by-name/open-features-non-integer-innerheight.html.ini28
-rw-r--r--tests/wpt/metadata/html/browsers/the-window-object/apis-for-creating-and-navigating-browsing-contexts-by-name/open-features-non-integer-innerwidth.html.ini28
-rw-r--r--tests/wpt/metadata/html/browsers/the-window-object/apis-for-creating-and-navigating-browsing-contexts-by-name/open-features-non-integer-left.html.ini28
-rw-r--r--tests/wpt/metadata/html/browsers/the-window-object/apis-for-creating-and-navigating-browsing-contexts-by-name/open-features-non-integer-screenx.html.ini28
-rw-r--r--tests/wpt/metadata/html/browsers/the-window-object/apis-for-creating-and-navigating-browsing-contexts-by-name/open-features-non-integer-screeny.html.ini28
-rw-r--r--tests/wpt/metadata/html/browsers/the-window-object/apis-for-creating-and-navigating-browsing-contexts-by-name/open-features-non-integer-top.html.ini28
-rw-r--r--tests/wpt/metadata/html/browsers/the-window-object/apis-for-creating-and-navigating-browsing-contexts-by-name/open-features-non-integer-width.html.ini34
-rw-r--r--tests/wpt/metadata/html/syntax/parsing/DOMContentLoaded-defer.html.ini4
-rw-r--r--tests/wpt/metadata/html/webappapis/scripting/processing-model-2/unhandled-promise-rejections/promise-rejection-events.html.ini4
-rw-r--r--tests/wpt/metadata/webaudio/the-audio-api/the-analysernode-interface/realtimeanalyser-fft-scaling.html.ini1
-rw-r--r--tests/wpt/metadata/workers/constructors/Worker/Worker-constructor.html.ini2
-rw-r--r--tests/wpt/web-platform-tests/css/CSS2/linebox/vertical-align-top-bottom-padding-ref.html38
-rw-r--r--tests/wpt/web-platform-tests/css/CSS2/linebox/vertical-align-top-bottom-padding.html49
-rw-r--r--tests/wpt/web-platform-tests/css/css-tables/dynamic-table-cell-height.html17
-rw-r--r--tests/wpt/web-platform-tests/css/css-will-change/will-change-transform-image-ref.html4
-rw-r--r--tests/wpt/web-platform-tests/css/css-will-change/will-change-transform-image.html4
-rw-r--r--tests/wpt/web-platform-tests/css/filter-effects/css-backdrop-filters-animation-blur-ref.html34
-rw-r--r--tests/wpt/web-platform-tests/css/filter-effects/css-backdrop-filters-animation-blur.html49
-rw-r--r--tests/wpt/web-platform-tests/css/filter-effects/css-backdrop-filters-animation-brightness-ref.html34
-rw-r--r--tests/wpt/web-platform-tests/css/filter-effects/css-backdrop-filters-animation-brightness.html48
-rw-r--r--tests/wpt/web-platform-tests/css/filter-effects/css-backdrop-filters-animation-combined-ref.html42
-rw-r--r--tests/wpt/web-platform-tests/css/filter-effects/css-backdrop-filters-animation-combined.html57
-rw-r--r--tests/wpt/web-platform-tests/css/filter-effects/css-backdrop-filters-animation-contrast-ref.html34
-rw-r--r--tests/wpt/web-platform-tests/css/filter-effects/css-backdrop-filters-animation-contrast.html48
-rw-r--r--tests/wpt/web-platform-tests/css/filter-effects/css-backdrop-filters-animation-drop-shadow-ref.html34
-rw-r--r--tests/wpt/web-platform-tests/css/filter-effects/css-backdrop-filters-animation-drop-shadow.html48
-rw-r--r--tests/wpt/web-platform-tests/css/filter-effects/css-backdrop-filters-animation-grayscale-ref.html34
-rw-r--r--tests/wpt/web-platform-tests/css/filter-effects/css-backdrop-filters-animation-grayscale.html48
-rw-r--r--tests/wpt/web-platform-tests/css/filter-effects/css-backdrop-filters-animation-hue-rotate-ref.html34
-rw-r--r--tests/wpt/web-platform-tests/css/filter-effects/css-backdrop-filters-animation-hue-rotate.html48
-rw-r--r--tests/wpt/web-platform-tests/css/filter-effects/css-backdrop-filters-animation-invert-ref.html34
-rw-r--r--tests/wpt/web-platform-tests/css/filter-effects/css-backdrop-filters-animation-invert.html48
-rw-r--r--tests/wpt/web-platform-tests/css/filter-effects/css-backdrop-filters-animation-opacity-ref.html34
-rw-r--r--tests/wpt/web-platform-tests/css/filter-effects/css-backdrop-filters-animation-opacity.html48
-rw-r--r--tests/wpt/web-platform-tests/css/filter-effects/css-backdrop-filters-animation-saturate-ref.html34
-rw-r--r--tests/wpt/web-platform-tests/css/filter-effects/css-backdrop-filters-animation-saturate.html48
-rw-r--r--tests/wpt/web-platform-tests/css/filter-effects/css-backdrop-filters-animation-sepia-ref.html34
-rw-r--r--tests/wpt/web-platform-tests/css/filter-effects/css-backdrop-filters-animation-sepia.html48
-rw-r--r--tests/wpt/web-platform-tests/css/selectors/floating-first-letter-05d0.html4
-rw-r--r--tests/wpt/web-platform-tests/css/selectors/floating-first-letter-feff.html4
-rw-r--r--tests/wpt/web-platform-tests/docs/writing-tests/testdriver-tutorial.md38
-rw-r--r--tests/wpt/web-platform-tests/html/input/the-placeholder-attribute/multiline-cr.html1
-rw-r--r--tests/wpt/web-platform-tests/html/semantics/forms/the-input-element/multiline-placeholder-cr.html1
-rw-r--r--tests/wpt/web-platform-tests/html/semantics/forms/the-input-element/multiline-placeholder-crlf.html (renamed from tests/wpt/web-platform-tests/html/input/the-placeholder-attribute/multiline-crlf.html)2
-rw-r--r--tests/wpt/web-platform-tests/html/semantics/forms/the-input-element/multiline-placeholder-ref.html (renamed from tests/wpt/web-platform-tests/html/input/the-placeholder-attribute/multiline-ref.html)0
-rw-r--r--tests/wpt/web-platform-tests/html/semantics/forms/the-input-element/multiline-placeholder.html (renamed from tests/wpt/web-platform-tests/html/input/the-placeholder-attribute/multiline.html)2
-rw-r--r--tests/wpt/web-platform-tests/html/semantics/forms/the-input-element/number-disabled.html (renamed from tests/wpt/web-platform-tests/html/input/the-disabled-attribute/number-disabled.html)0
-rw-r--r--tests/wpt/web-platform-tests/lint.whitelist4
-rw-r--r--tests/wpt/web-platform-tests/pointerevents/pointerevent_touch-action-inherit_child-auto-child-none_touch.html15
-rw-r--r--tests/wpt/web-platform-tests/pointerevents/pointerevent_touch-action-keyboard.html (renamed from tests/wpt/web-platform-tests/pointerevents/pointerevent_touch-action-keyboard-manual.html)21
-rw-r--r--tests/wpt/web-platform-tests/resize-observer/svg.html55
-rw-r--r--tests/wpt/web-platform-tests/service-workers/service-worker/Service-Worker-Allowed-header.https.html136
-rw-r--r--tests/wpt/web-platform-tests/tools/wptrunner/requirements.txt4
-rw-r--r--tests/wpt/web-platform-tests/tools/wptrunner/wptrunner/executors/executormarionette.py19
-rw-r--r--tests/wpt/web-platform-tests/webxr/resources/webxr_util.js15
-rw-r--r--tests/wpt/web-platform-tests/webxr/xrSession_transfer_outputContext.https.html59
70 files changed, 1923 insertions, 374 deletions
diff --git a/tests/wpt/metadata/FileAPI/url/url-with-fetch.any.js.ini b/tests/wpt/metadata/FileAPI/url/url-with-fetch.any.js.ini
index 6a3af4e2ece..3b874fc1748 100644
--- a/tests/wpt/metadata/FileAPI/url/url-with-fetch.any.js.ini
+++ b/tests/wpt/metadata/FileAPI/url/url-with-fetch.any.js.ini
@@ -14,9 +14,6 @@
[Revoke blob URL after creating Request, will fetch]
expected: FAIL
- [Revoke blob URL after calling fetch, fetch should succeed]
- expected: FAIL
-
[url-with-fetch.any.html]
[Untitled]
@@ -37,3 +34,6 @@
[Revoke blob URL after creating Request, will fetch]
expected: FAIL
+ [Revoke blob URL after calling fetch, fetch should succeed]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/MANIFEST.json b/tests/wpt/metadata/MANIFEST.json
index cfcaf0f5ec9..73620c155fe 100644
--- a/tests/wpt/metadata/MANIFEST.json
+++ b/tests/wpt/metadata/MANIFEST.json
@@ -14575,12 +14575,6 @@
{}
]
],
- "pointerevents/pointerevent_touch-action-keyboard-manual.html": [
- [
- "pointerevents/pointerevent_touch-action-keyboard-manual.html",
- {}
- ]
- ],
"pointerevents/pointerevent_touch-action-mouse-manual.html": [
[
"pointerevents/pointerevent_touch-action-mouse-manual.html",
@@ -56523,6 +56517,18 @@
{}
]
],
+ "css/CSS2/linebox/vertical-align-top-bottom-padding.html": [
+ [
+ "css/CSS2/linebox/vertical-align-top-bottom-padding.html",
+ [
+ [
+ "/css/CSS2/linebox/vertical-align-top-bottom-padding-ref.html",
+ "=="
+ ]
+ ],
+ {}
+ ]
+ ],
"css/CSS2/lists/counter-increment-005.xht": [
[
"css/CSS2/lists/counter-increment-005.xht",
@@ -140645,6 +140651,18 @@
{}
]
],
+ "css/css-tables/dynamic-table-cell-height.html": [
+ [
+ "css/css-tables/dynamic-table-cell-height.html",
+ [
+ [
+ "/css/reference/ref-filled-green-100px-square.xht",
+ "=="
+ ]
+ ],
+ {}
+ ]
+ ],
"css/css-tables/fixup-dynamic-anonymous-inline-table-001.html": [
[
"css/css-tables/fixup-dynamic-anonymous-inline-table-001.html",
@@ -164747,6 +164765,18 @@
{}
]
],
+ "css/css-will-change/will-change-transform-image.html": [
+ [
+ "css/css-will-change/will-change-transform-image.html",
+ [
+ [
+ "/css/css-will-change/will-change-transform-image-ref.html",
+ "=="
+ ]
+ ],
+ {}
+ ]
+ ],
"css/css-will-change/will-change-will-change-1.html": [
[
"css/css-will-change/will-change-will-change-1.html",
@@ -176755,6 +176785,138 @@
{}
]
],
+ "css/filter-effects/css-backdrop-filters-animation-blur.html": [
+ [
+ "css/filter-effects/css-backdrop-filters-animation-blur.html",
+ [
+ [
+ "/css/filter-effects/css-backdrop-filters-animation-blur-ref.html",
+ "=="
+ ]
+ ],
+ {}
+ ]
+ ],
+ "css/filter-effects/css-backdrop-filters-animation-brightness.html": [
+ [
+ "css/filter-effects/css-backdrop-filters-animation-brightness.html",
+ [
+ [
+ "/css/filter-effects/css-backdrop-filters-animation-brightness-ref.html",
+ "=="
+ ]
+ ],
+ {}
+ ]
+ ],
+ "css/filter-effects/css-backdrop-filters-animation-combined.html": [
+ [
+ "css/filter-effects/css-backdrop-filters-animation-combined.html",
+ [
+ [
+ "/css/filter-effects/css-backdrop-filters-animation-combined-ref.html",
+ "=="
+ ]
+ ],
+ {}
+ ]
+ ],
+ "css/filter-effects/css-backdrop-filters-animation-contrast.html": [
+ [
+ "css/filter-effects/css-backdrop-filters-animation-contrast.html",
+ [
+ [
+ "/css/filter-effects/css-backdrop-filters-animation-contrast-ref.html",
+ "=="
+ ]
+ ],
+ {}
+ ]
+ ],
+ "css/filter-effects/css-backdrop-filters-animation-drop-shadow.html": [
+ [
+ "css/filter-effects/css-backdrop-filters-animation-drop-shadow.html",
+ [
+ [
+ "/css/filter-effects/css-backdrop-filters-animation-drop-shadow-ref.html",
+ "=="
+ ]
+ ],
+ {}
+ ]
+ ],
+ "css/filter-effects/css-backdrop-filters-animation-grayscale.html": [
+ [
+ "css/filter-effects/css-backdrop-filters-animation-grayscale.html",
+ [
+ [
+ "/css/filter-effects/css-backdrop-filters-animation-grayscale-ref.html",
+ "=="
+ ]
+ ],
+ {}
+ ]
+ ],
+ "css/filter-effects/css-backdrop-filters-animation-hue-rotate.html": [
+ [
+ "css/filter-effects/css-backdrop-filters-animation-hue-rotate.html",
+ [
+ [
+ "/css/filter-effects/css-backdrop-filters-animation-hue-rotate-ref.html",
+ "=="
+ ]
+ ],
+ {}
+ ]
+ ],
+ "css/filter-effects/css-backdrop-filters-animation-invert.html": [
+ [
+ "css/filter-effects/css-backdrop-filters-animation-invert.html",
+ [
+ [
+ "/css/filter-effects/css-backdrop-filters-animation-invert-ref.html",
+ "=="
+ ]
+ ],
+ {}
+ ]
+ ],
+ "css/filter-effects/css-backdrop-filters-animation-opacity.html": [
+ [
+ "css/filter-effects/css-backdrop-filters-animation-opacity.html",
+ [
+ [
+ "/css/filter-effects/css-backdrop-filters-animation-opacity-ref.html",
+ "=="
+ ]
+ ],
+ {}
+ ]
+ ],
+ "css/filter-effects/css-backdrop-filters-animation-saturate.html": [
+ [
+ "css/filter-effects/css-backdrop-filters-animation-saturate.html",
+ [
+ [
+ "/css/filter-effects/css-backdrop-filters-animation-saturate-ref.html",
+ "=="
+ ]
+ ],
+ {}
+ ]
+ ],
+ "css/filter-effects/css-backdrop-filters-animation-sepia.html": [
+ [
+ "css/filter-effects/css-backdrop-filters-animation-sepia.html",
+ [
+ [
+ "/css/filter-effects/css-backdrop-filters-animation-sepia-ref.html",
+ "=="
+ ]
+ ],
+ {}
+ ]
+ ],
"css/filter-effects/css-filters-animation-blur.html": [
[
"css/filter-effects/css-filters-animation-blur.html",
@@ -197515,42 +197677,6 @@
{}
]
],
- "html/input/the-placeholder-attribute/multiline-cr.html": [
- [
- "html/input/the-placeholder-attribute/multiline-cr.html",
- [
- [
- "/html/input/the-placeholder-attribute/multiline-ref.html",
- "=="
- ]
- ],
- {}
- ]
- ],
- "html/input/the-placeholder-attribute/multiline-crlf.html": [
- [
- "html/input/the-placeholder-attribute/multiline-crlf.html",
- [
- [
- "/html/input/the-placeholder-attribute/multiline-ref.html",
- "=="
- ]
- ],
- {}
- ]
- ],
- "html/input/the-placeholder-attribute/multiline.html": [
- [
- "html/input/the-placeholder-attribute/multiline.html",
- [
- [
- "/html/input/the-placeholder-attribute/multiline-ref.html",
- "=="
- ]
- ],
- {}
- ]
- ],
"html/rendering/bindings/the-button-element/button-type-menu-historical.html": [
[
"html/rendering/bindings/the-button-element/button-type-menu-historical.html",
@@ -199423,6 +199549,42 @@
{}
]
],
+ "html/semantics/forms/the-input-element/multiline-placeholder-cr.html": [
+ [
+ "html/semantics/forms/the-input-element/multiline-placeholder-cr.html",
+ [
+ [
+ "/html/semantics/forms/the-input-element/multiline-placeholder-ref.html",
+ "=="
+ ]
+ ],
+ {}
+ ]
+ ],
+ "html/semantics/forms/the-input-element/multiline-placeholder-crlf.html": [
+ [
+ "html/semantics/forms/the-input-element/multiline-placeholder-crlf.html",
+ [
+ [
+ "/html/semantics/forms/the-input-element/multiline-placeholder-ref.html",
+ "=="
+ ]
+ ],
+ {}
+ ]
+ ],
+ "html/semantics/forms/the-input-element/multiline-placeholder.html": [
+ [
+ "html/semantics/forms/the-input-element/multiline-placeholder.html",
+ [
+ [
+ "/html/semantics/forms/the-input-element/multiline-placeholder-ref.html",
+ "=="
+ ]
+ ],
+ {}
+ ]
+ ],
"html/semantics/forms/the-input-element/range-intrinsic-size.html": [
[
"html/semantics/forms/the-input-element/range-intrinsic-size.html",
@@ -248182,6 +248344,11 @@
{}
]
],
+ "css/CSS2/linebox/vertical-align-top-bottom-padding-ref.html": [
+ [
+ {}
+ ]
+ ],
"css/CSS2/lists/counter-increment-014-ref.html": [
[
{}
@@ -285197,6 +285364,11 @@
{}
]
],
+ "css/css-will-change/will-change-transform-image-ref.html": [
+ [
+ {}
+ ]
+ ],
"css/css-writing-modes/META.yml": [
[
{}
@@ -288557,6 +288729,61 @@
{}
]
],
+ "css/filter-effects/css-backdrop-filters-animation-blur-ref.html": [
+ [
+ {}
+ ]
+ ],
+ "css/filter-effects/css-backdrop-filters-animation-brightness-ref.html": [
+ [
+ {}
+ ]
+ ],
+ "css/filter-effects/css-backdrop-filters-animation-combined-ref.html": [
+ [
+ {}
+ ]
+ ],
+ "css/filter-effects/css-backdrop-filters-animation-contrast-ref.html": [
+ [
+ {}
+ ]
+ ],
+ "css/filter-effects/css-backdrop-filters-animation-drop-shadow-ref.html": [
+ [
+ {}
+ ]
+ ],
+ "css/filter-effects/css-backdrop-filters-animation-grayscale-ref.html": [
+ [
+ {}
+ ]
+ ],
+ "css/filter-effects/css-backdrop-filters-animation-hue-rotate-ref.html": [
+ [
+ {}
+ ]
+ ],
+ "css/filter-effects/css-backdrop-filters-animation-invert-ref.html": [
+ [
+ {}
+ ]
+ ],
+ "css/filter-effects/css-backdrop-filters-animation-opacity-ref.html": [
+ [
+ {}
+ ]
+ ],
+ "css/filter-effects/css-backdrop-filters-animation-saturate-ref.html": [
+ [
+ {}
+ ]
+ ],
+ "css/filter-effects/css-backdrop-filters-animation-sepia-ref.html": [
+ [
+ {}
+ ]
+ ],
"css/filter-effects/css-filters-animation-blur-ref.html": [
[
{}
@@ -305967,11 +306194,6 @@
{}
]
],
- "html/input/the-placeholder-attribute/multiline-ref.html": [
- [
- {}
- ]
- ],
"html/interaction/focus/document-level-focus-apis/test.html": [
[
{}
@@ -307922,6 +308144,11 @@
{}
]
],
+ "html/semantics/forms/the-input-element/multiline-placeholder-ref.html": [
+ [
+ {}
+ ]
+ ],
"html/semantics/forms/the-input-element/range-intrinsic-size-ref.html": [
[
{}
@@ -394650,12 +394877,6 @@
{}
]
],
- "html/input/the-disabled-attribute/number-disabled.html": [
- [
- "html/input/the-disabled-attribute/number-disabled.html",
- {}
- ]
- ],
"html/interaction/focus/composed.window.js": [
[
"html/interaction/focus/composed.window.html",
@@ -399666,6 +399887,12 @@
{}
]
],
+ "html/semantics/forms/the-input-element/number-disabled.html": [
+ [
+ "html/semantics/forms/the-input-element/number-disabled.html",
+ {}
+ ]
+ ],
"html/semantics/forms/the-input-element/number.html": [
[
"html/semantics/forms/the-input-element/number.html",
@@ -423031,6 +423258,15 @@
}
]
],
+ "pointerevents/pointerevent_touch-action-keyboard.html": [
+ [
+ "pointerevents/pointerevent_touch-action-keyboard.html",
+ {
+ "testdriver": true,
+ "timeout": "long"
+ }
+ ]
+ ],
"pointerevents/pointerevent_touch-action-none-css_touch.html": [
[
"pointerevents/pointerevent_touch-action-none-css_touch.html",
@@ -456979,12 +457215,6 @@
{}
]
],
- "webxr/xrSession_transfer_outputContext.https.html": [
- [
- "webxr/xrSession_transfer_outputContext.https.html",
- {}
- ]
- ],
"webxr/xrSession_viewer_referenceSpace.https.html": [
[
"webxr/xrSession_viewer_referenceSpace.https.html",
@@ -542509,6 +542739,14 @@
"80100809b3490a336dbbb08d79275d011da46d92",
"reftest"
],
+ "css/CSS2/linebox/vertical-align-top-bottom-padding-ref.html": [
+ "f855bab6a2f4a8845aebd98fb33b7c9e0d4adc8c",
+ "support"
+ ],
+ "css/CSS2/linebox/vertical-align-top-bottom-padding.html": [
+ "21451a04fa5e9618276e0e518e82bbb7bb64b21d",
+ "reftest"
+ ],
"css/CSS2/lists/counter-increment-003.xht": [
"ec01daee98f0871caca224a76ff27905b2a25853",
"visual"
@@ -611561,6 +611799,10 @@
"8a2b60864228d2d79af3ad18e6b8366e340dbbe3",
"testharness"
],
+ "css/css-tables/dynamic-table-cell-height.html": [
+ "f6cd48e5ba5616a499809293714fcbb5b5742489",
+ "reftest"
+ ],
"css/css-tables/fixed-layout-1.html": [
"3e0d013af1c6970a1180cf19db37e8e7b82cc0c0",
"testharness"
@@ -629961,6 +630203,14 @@
"b01844aea5c66eb2f4d0e7698ab9032d8ddb1079",
"testharness"
],
+ "css/css-will-change/will-change-transform-image-ref.html": [
+ "d42d5b7fea22d3d2bc2abf782b1efc78f261f69e",
+ "support"
+ ],
+ "css/css-will-change/will-change-transform-image.html": [
+ "edce6c1f9bfa840004d8e82e6720be9c18bd23b6",
+ "reftest"
+ ],
"css/css-will-change/will-change-will-change-1.html": [
"812dc814a095841d8bd2c5dc23c8552922213e75",
"reftest"
@@ -638261,6 +638511,94 @@
"82b907334fd71791cd2f6530e2e85169e29afa41",
"support"
],
+ "css/filter-effects/css-backdrop-filters-animation-blur-ref.html": [
+ "e433070b686781c43ca186c9c1808c9f86dbf69a",
+ "support"
+ ],
+ "css/filter-effects/css-backdrop-filters-animation-blur.html": [
+ "3d883c2efd57c0654ef90007444e7cb9b80ed578",
+ "reftest"
+ ],
+ "css/filter-effects/css-backdrop-filters-animation-brightness-ref.html": [
+ "8ba5b45999ff53e392569fd4a5365a0254eab4d9",
+ "support"
+ ],
+ "css/filter-effects/css-backdrop-filters-animation-brightness.html": [
+ "d377e5e81fd2389e81c31fc2d6c8107894b02fe7",
+ "reftest"
+ ],
+ "css/filter-effects/css-backdrop-filters-animation-combined-ref.html": [
+ "b4c6bc90665f81772cde5e7ea929475528ae6cc2",
+ "support"
+ ],
+ "css/filter-effects/css-backdrop-filters-animation-combined.html": [
+ "920dc82393d10fec7fe94e6490f241a6a222c5da",
+ "reftest"
+ ],
+ "css/filter-effects/css-backdrop-filters-animation-contrast-ref.html": [
+ "e1bf06056e66c2c77f9261f641bf935ac81b8dff",
+ "support"
+ ],
+ "css/filter-effects/css-backdrop-filters-animation-contrast.html": [
+ "d9709f8614c438d30614a8d31a7c75bbc2e0c07e",
+ "reftest"
+ ],
+ "css/filter-effects/css-backdrop-filters-animation-drop-shadow-ref.html": [
+ "0b4a3f2d8dbd5372c6971db92a645f69eae8a850",
+ "support"
+ ],
+ "css/filter-effects/css-backdrop-filters-animation-drop-shadow.html": [
+ "c7e19a987d526486f6aeb1b07be72ab6394a99af",
+ "reftest"
+ ],
+ "css/filter-effects/css-backdrop-filters-animation-grayscale-ref.html": [
+ "75e457aa1f0d4fbaf9bf82fd7c603f7257a5e5eb",
+ "support"
+ ],
+ "css/filter-effects/css-backdrop-filters-animation-grayscale.html": [
+ "c04118c6a83cbc811df1c6d836e9fe37a532f0d0",
+ "reftest"
+ ],
+ "css/filter-effects/css-backdrop-filters-animation-hue-rotate-ref.html": [
+ "0651e89e41df36b8c47d93502faa2df37e0054b6",
+ "support"
+ ],
+ "css/filter-effects/css-backdrop-filters-animation-hue-rotate.html": [
+ "e3cdd1f8f1acc4037612757e2eb1feb981de3e9b",
+ "reftest"
+ ],
+ "css/filter-effects/css-backdrop-filters-animation-invert-ref.html": [
+ "509642001679daa39bd50d2d305811407b0a129c",
+ "support"
+ ],
+ "css/filter-effects/css-backdrop-filters-animation-invert.html": [
+ "963ab7ed571085d908a652172206b66d2a3bf530",
+ "reftest"
+ ],
+ "css/filter-effects/css-backdrop-filters-animation-opacity-ref.html": [
+ "fd92dba5e575dc298ebbd34c306ee506e6b40fcc",
+ "support"
+ ],
+ "css/filter-effects/css-backdrop-filters-animation-opacity.html": [
+ "d6c6d35efc670bc4b1f92696345052c71077553f",
+ "reftest"
+ ],
+ "css/filter-effects/css-backdrop-filters-animation-saturate-ref.html": [
+ "7f7b67f2adfec1a90717a7692833c37cc6dc27bf",
+ "support"
+ ],
+ "css/filter-effects/css-backdrop-filters-animation-saturate.html": [
+ "13e277393cd6545ff118768167c2a46aa5a89b42",
+ "reftest"
+ ],
+ "css/filter-effects/css-backdrop-filters-animation-sepia-ref.html": [
+ "b368abba24979f47d6394f674f14b3398914bb80",
+ "support"
+ ],
+ "css/filter-effects/css-backdrop-filters-animation-sepia.html": [
+ "8cd9290546a00b7bbd024c943cb055b9bdea9bc5",
+ "reftest"
+ ],
"css/filter-effects/css-filters-animation-blur-ref.html": [
"3bde6f1826f7620fc0754fff46ed5ef382de3d4d",
"support"
@@ -639650,11 +639988,11 @@
"testharness"
],
"css/selectors/floating-first-letter-05d0.html": [
- "6848070e6dfecae8083a8676bf5e063633e191fd",
+ "68bc77b40f325bf486b15176022578198867297c",
"reftest"
],
"css/selectors/floating-first-letter-feff.html": [
- "02d256ab7dce8b8754fc31668a3a894379eb6bd0",
+ "c5cec97fed8781f2b1ec171c6f009514616b29a8",
"reftest"
],
"css/selectors/floating-first-letter-ref.html": [
@@ -651746,7 +652084,7 @@
"support"
],
"docs/writing-tests/testdriver-tutorial.md": [
- "b82eb73ab33d6a2738640c6d1bb8dd0504b9dcf3",
+ "a8ef3e07a0da92f167d3dcf8ca7416748f1710dd",
"support"
],
"docs/writing-tests/testdriver.md": [
@@ -668657,26 +668995,6 @@
"49c428c5bea12c200c155cdf70135f209b87c004",
"testharness"
],
- "html/input/the-disabled-attribute/number-disabled.html": [
- "11cb82fdda60d69f8b1dd7709ea99210238123f8",
- "testharness"
- ],
- "html/input/the-placeholder-attribute/multiline-cr.html": [
- "4184ab2c5ce2a0b42ada8f97e1c32681fc37f052",
- "reftest"
- ],
- "html/input/the-placeholder-attribute/multiline-crlf.html": [
- "50c91fbe35e572e923b92f9d606fa13fcbfb0aae",
- "reftest"
- ],
- "html/input/the-placeholder-attribute/multiline-ref.html": [
- "2812f86e1e6c8e240f60ff313e856b6733e54b5e",
- "support"
- ],
- "html/input/the-placeholder-attribute/multiline.html": [
- "2d7102bd4acd6a29a650f6e11479d7226f4c4327",
- "reftest"
- ],
"html/interaction/focus/composed.window.js": [
"8951afc4e0ce643752754e67243532ae8e0fa9ae",
"testharness"
@@ -674385,6 +674703,26 @@
"99be9bca673dacaf4101b27807623426b9956e02",
"testharness"
],
+ "html/semantics/forms/the-input-element/multiline-placeholder-cr.html": [
+ "06f07cbbd84b79fcc7389b1cb39d131fc6e48bbe",
+ "reftest"
+ ],
+ "html/semantics/forms/the-input-element/multiline-placeholder-crlf.html": [
+ "b4336e24d29b2db71ca73abbf5b594e4e3c180c7",
+ "reftest"
+ ],
+ "html/semantics/forms/the-input-element/multiline-placeholder-ref.html": [
+ "2812f86e1e6c8e240f60ff313e856b6733e54b5e",
+ "support"
+ ],
+ "html/semantics/forms/the-input-element/multiline-placeholder.html": [
+ "4d2ec43c3f4582a7f94bf2c70edc2b1c4fb87ce7",
+ "reftest"
+ ],
+ "html/semantics/forms/the-input-element/number-disabled.html": [
+ "11cb82fdda60d69f8b1dd7709ea99210238123f8",
+ "testharness"
+ ],
"html/semantics/forms/the-input-element/number.html": [
"64868f02efca707cfe88a51e9bd91574dfbcaad9",
"testharness"
@@ -681790,7 +682128,7 @@
"testharness"
],
"lint.whitelist": [
- "06fcea129fe52a6631cffc839b9ba9e6139da32a",
+ "04738ee972705391dddef4031a8f7cb429a9e068",
"support"
],
"loading/preloader-css-import-no-quote.tentative.html": [
@@ -694398,7 +694736,7 @@
"testharness"
],
"pointerevents/pointerevent_touch-action-inherit_child-auto-child-none_touch.html": [
- "f05aadf39e8435dea374386a796c15fc747f15b0",
+ "257043f2249c63b5ac6e3245d17acb80caa83732",
"testharness"
],
"pointerevents/pointerevent_touch-action-inherit_child-none_touch.html": [
@@ -694421,9 +694759,9 @@
"d525fe6ccd16c9ff1de275b845441617d0b3a3fc",
"testharness"
],
- "pointerevents/pointerevent_touch-action-keyboard-manual.html": [
- "a41d7078f2ee87a8a5686379536aaf1e0de915df",
- "manual"
+ "pointerevents/pointerevent_touch-action-keyboard.html": [
+ "fdddd3313f498abb89a0958fd302b3949abab355",
+ "testharness"
],
"pointerevents/pointerevent_touch-action-mouse-manual.html": [
"fcc8584515c51d60bb01092ffe1f701273c7bb58",
@@ -704366,7 +704704,7 @@
"support"
],
"resize-observer/svg.html": [
- "e3a1ab660760965f2b108e8b617427e57070e63e",
+ "61ca97a111bc063fd3bc28d9dc1dac1bb4f96e59",
"testharness"
],
"resource-timing/META.yml": [
@@ -707634,7 +707972,7 @@
"testharness"
],
"service-workers/service-worker/Service-Worker-Allowed-header.https.html": [
- "316067cc06679570866cd1ccf67f273cce57a15b",
+ "9045c0f4e791192c432d99156666292f8df42ab3",
"testharness"
],
"service-workers/service-worker/ServiceWorkerGlobalScope/close.https.html": [
@@ -720742,7 +721080,7 @@
"support"
],
"tools/wptrunner/requirements.txt": [
- "50560fa82255dd8c56f0b58e7d15539b75ede005",
+ "14cf86e95ceb7c9e7a1b2c92b48e9fe56a79cb46",
"support"
],
"tools/wptrunner/requirements_chrome.txt": [
@@ -721026,7 +721364,7 @@
"support"
],
"tools/wptrunner/wptrunner/executors/executormarionette.py": [
- "8ceb99261e28d7142b16ab736ba453d849065f89",
+ "7ab701879ff1c0186a077c9e0dad313f6064ed6a",
"support"
],
"tools/wptrunner/wptrunner/executors/executoropera.py": [
@@ -732402,7 +732740,7 @@
"support"
],
"webxr/resources/webxr_util.js": [
- "505a9281f57ecd13443dfff380e0028d74708990",
+ "860d363f2c96bbf108e38659b5b6afc90957817e",
"support"
],
"webxr/resources/xr-test-asserts.js": [
@@ -732517,10 +732855,6 @@
"2fbf9b977ca153acf7028bd73844b7eb10c20b72",
"testharness"
],
- "webxr/xrSession_transfer_outputContext.https.html": [
- "759d97ba184067f0f4df431500f5eabddd788921",
- "testharness"
- ],
"webxr/xrSession_viewer_referenceSpace.https.html": [
"85e5e87f8266f2701c96dc643e8890942ef013bd",
"testharness"
diff --git a/tests/wpt/metadata/css/CSS2/linebox/vertical-align-top-bottom-padding.html.ini b/tests/wpt/metadata/css/CSS2/linebox/vertical-align-top-bottom-padding.html.ini
new file mode 100644
index 00000000000..da6a05516c3
--- /dev/null
+++ b/tests/wpt/metadata/css/CSS2/linebox/vertical-align-top-bottom-padding.html.ini
@@ -0,0 +1,2 @@
+[vertical-align-top-bottom-padding.html]
+ expected: FAIL
diff --git a/tests/wpt/metadata/css/css-transitions/transitions-animatable-properties-01.html.ini b/tests/wpt/metadata/css/css-transitions/transitions-animatable-properties-01.html.ini
index 8850ec200da..a100b281453 100644
--- a/tests/wpt/metadata/css/css-transitions/transitions-animatable-properties-01.html.ini
+++ b/tests/wpt/metadata/css/css-transitions/transitions-animatable-properties-01.html.ini
@@ -74,3 +74,6 @@
[opacity end]
expected: FAIL
+ [border-bottom-width end]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/css/css-values/vh_not_refreshing_on_chrome.html.ini b/tests/wpt/metadata/css/css-values/vh_not_refreshing_on_chrome.html.ini
index d708d05b3ca..6c46d48c239 100644
--- a/tests/wpt/metadata/css/css-values/vh_not_refreshing_on_chrome.html.ini
+++ b/tests/wpt/metadata/css/css-values/vh_not_refreshing_on_chrome.html.ini
@@ -1,3 +1,3 @@
[vh_not_refreshing_on_chrome.html]
bug: https://github.com/servo/servo/issues/8984
- expected: CRASH
+ expected: TIMEOUT
diff --git a/tests/wpt/metadata/css/cssom-view/matchMedia-display-none-iframe.html.ini b/tests/wpt/metadata/css/cssom-view/matchMedia-display-none-iframe.html.ini
deleted file mode 100644
index e6e1f29e274..00000000000
--- a/tests/wpt/metadata/css/cssom-view/matchMedia-display-none-iframe.html.ini
+++ /dev/null
@@ -1,2 +0,0 @@
-[matchMedia-display-none-iframe.html]
- expected: ERROR
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 426b3fb1610..7e6d8c570d1 100644
--- a/tests/wpt/metadata/fetch/content-type/response.window.js.ini
+++ b/tests/wpt/metadata/fetch/content-type/response.window.js.ini
@@ -312,24 +312,21 @@
[<iframe>: separate response Content-Type: text/plain */*;charset=gbk]
expected: FAIL
- [<iframe>: combined response Content-Type: */* text/html]
- expected: FAIL
-
- [<iframe>: separate response Content-Type: text/html;charset=gbk text/plain text/html]
+ [<iframe>: combined response Content-Type: text/html;" \\" text/plain]
expected: FAIL
- [<iframe>: combined response Content-Type: text/html */*]
+ [<iframe>: combined response Content-Type: text/html;x=" text/plain]
expected: FAIL
- [<iframe>: separate response Content-Type: text/html;" text/plain]
+ [<iframe>: combined response Content-Type: text/html;charset=gbk text/plain text/html]
expected: FAIL
- [<iframe>: separate response Content-Type: text/html */*;charset=gbk]
+ [<iframe>: separate response Content-Type: text/html */*]
expected: FAIL
- [<iframe>: combined response Content-Type: text/html;" \\" text/plain]
+ [<iframe>: separate response Content-Type: */* text/html]
expected: FAIL
- [<iframe>: combined response Content-Type: text/html;x=" text/plain]
+ [<iframe>: separate response Content-Type: text/html;x=" text/plain]
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_5.html.ini b/tests/wpt/metadata/html/browsers/history/the-history-interface/traverse_the_history_2.html.ini
index dc2e45516de..75d75b4cda2 100644
--- 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_2.html.ini
@@ -1,4 +1,4 @@
-[traverse_the_history_5.html]
+[traverse_the_history_2.html]
[Multiple history traversals, last would be aborted]
expected: FAIL
diff --git a/tests/wpt/metadata/html/browsers/the-window-object/apis-for-creating-and-navigating-browsing-contexts-by-name/open-features-negative-innerwidth-innerheight.html.ini b/tests/wpt/metadata/html/browsers/the-window-object/apis-for-creating-and-navigating-browsing-contexts-by-name/open-features-negative-innerwidth-innerheight.html.ini
index bf50d59df41..e02f179ec25 100644
--- a/tests/wpt/metadata/html/browsers/the-window-object/apis-for-creating-and-navigating-browsing-contexts-by-name/open-features-negative-innerwidth-innerheight.html.ini
+++ b/tests/wpt/metadata/html/browsers/the-window-object/apis-for-creating-and-navigating-browsing-contexts-by-name/open-features-negative-innerwidth-innerheight.html.ini
@@ -1,5 +1,24 @@
[open-features-negative-innerwidth-innerheight.html]
type: testharness
+ expected: TIMEOUT
[HTML: window.open `features`: negative values for legacy `innerwidth`, `innerheight`]
expected: FAIL
+ [features "innerheight=-404.5" should NOT set "height=404"]
+ expected: TIMEOUT
+
+ [features "innerwidth=-404.5" should NOT set "width=404"]
+ expected: TIMEOUT
+
+ [features "innerwidth=-404" should NOT set "width=404"]
+ expected: TIMEOUT
+
+ [features "innerheight=-404e1" should NOT set "height=404"]
+ expected: TIMEOUT
+
+ [features "innerheight=-404" should NOT set "height=404"]
+ expected: TIMEOUT
+
+ [features "innerwidth=-404e1" should NOT set "width=404"]
+ expected: TIMEOUT
+
diff --git a/tests/wpt/metadata/html/browsers/the-window-object/apis-for-creating-and-navigating-browsing-contexts-by-name/open-features-negative-screenx-screeny.html.ini b/tests/wpt/metadata/html/browsers/the-window-object/apis-for-creating-and-navigating-browsing-contexts-by-name/open-features-negative-screenx-screeny.html.ini
index e150c9d848f..23eefb8eaf9 100644
--- a/tests/wpt/metadata/html/browsers/the-window-object/apis-for-creating-and-navigating-browsing-contexts-by-name/open-features-negative-screenx-screeny.html.ini
+++ b/tests/wpt/metadata/html/browsers/the-window-object/apis-for-creating-and-navigating-browsing-contexts-by-name/open-features-negative-screenx-screeny.html.ini
@@ -1,5 +1,24 @@
[open-features-negative-screenx-screeny.html]
type: testharness
+ expected: TIMEOUT
[HTML: window.open `features`: negative values for legacy `screenx`, `screeny`]
expected: FAIL
+ [features "screenx=-204" should NOT set "left=204"]
+ expected: TIMEOUT
+
+ [features "screeny=-204" should NOT set "top=204"]
+ expected: TIMEOUT
+
+ [features "screeny=-204.5" should NOT set "top=204"]
+ expected: TIMEOUT
+
+ [features "screeny=-0" should NOT set "top=204"]
+ expected: TIMEOUT
+
+ [features "screenx=-0" should NOT set "left=204"]
+ expected: TIMEOUT
+
+ [features "screenx=-204.5" should NOT set "left=204"]
+ expected: TIMEOUT
+
diff --git a/tests/wpt/metadata/html/browsers/the-window-object/apis-for-creating-and-navigating-browsing-contexts-by-name/open-features-negative-top-left.html.ini b/tests/wpt/metadata/html/browsers/the-window-object/apis-for-creating-and-navigating-browsing-contexts-by-name/open-features-negative-top-left.html.ini
index ad8840fbb68..940516ddd33 100644
--- a/tests/wpt/metadata/html/browsers/the-window-object/apis-for-creating-and-navigating-browsing-contexts-by-name/open-features-negative-top-left.html.ini
+++ b/tests/wpt/metadata/html/browsers/the-window-object/apis-for-creating-and-navigating-browsing-contexts-by-name/open-features-negative-top-left.html.ini
@@ -1,5 +1,24 @@
[open-features-negative-top-left.html]
type: testharness
+ expected: TIMEOUT
[HTML: window.open `features`: negative values for `top`, `left`]
expected: FAIL
+ [features "top=-204" should NOT set "top=204"]
+ expected: TIMEOUT
+
+ [features "top=-204.5" should NOT set "top=204"]
+ expected: TIMEOUT
+
+ [features "left=-204" should NOT set "left=204"]
+ expected: TIMEOUT
+
+ [features "top=-0" should NOT set "top=204"]
+ expected: TIMEOUT
+
+ [features "left=-204.5" should NOT set "left=204"]
+ expected: TIMEOUT
+
+ [features "left=-0" should NOT set "left=204"]
+ expected: TIMEOUT
+
diff --git a/tests/wpt/metadata/html/browsers/the-window-object/apis-for-creating-and-navigating-browsing-contexts-by-name/open-features-negative-width-height.html.ini b/tests/wpt/metadata/html/browsers/the-window-object/apis-for-creating-and-navigating-browsing-contexts-by-name/open-features-negative-width-height.html.ini
index d1ed9088b2b..9027336b453 100644
--- a/tests/wpt/metadata/html/browsers/the-window-object/apis-for-creating-and-navigating-browsing-contexts-by-name/open-features-negative-width-height.html.ini
+++ b/tests/wpt/metadata/html/browsers/the-window-object/apis-for-creating-and-navigating-browsing-contexts-by-name/open-features-negative-width-height.html.ini
@@ -1,5 +1,24 @@
[open-features-negative-width-height.html]
type: testharness
+ expected: TIMEOUT
[HTML: window.open `features`: negative values for `width`, `height`]
expected: FAIL
+ [features "height=-404" should NOT set "height=404"]
+ expected: TIMEOUT
+
+ [features "height=-404e1" should NOT set "height=404"]
+ expected: TIMEOUT
+
+ [features "height=-404.5" should NOT set "height=404"]
+ expected: TIMEOUT
+
+ [features "width=-404" should NOT set "width=404"]
+ expected: TIMEOUT
+
+ [features "width=-404e1" should NOT set "width=404"]
+ expected: TIMEOUT
+
+ [features "width=-404.5" should NOT set "width=404"]
+ expected: TIMEOUT
+
diff --git a/tests/wpt/metadata/html/browsers/the-window-object/apis-for-creating-and-navigating-browsing-contexts-by-name/open-features-non-integer-height.html.ini b/tests/wpt/metadata/html/browsers/the-window-object/apis-for-creating-and-navigating-browsing-contexts-by-name/open-features-non-integer-height.html.ini
index a70e9dbad4d..4e44584b123 100644
--- a/tests/wpt/metadata/html/browsers/the-window-object/apis-for-creating-and-navigating-browsing-contexts-by-name/open-features-non-integer-height.html.ini
+++ b/tests/wpt/metadata/html/browsers/the-window-object/apis-for-creating-and-navigating-browsing-contexts-by-name/open-features-non-integer-height.html.ini
@@ -1,32 +1,48 @@
[open-features-non-integer-height.html]
type: testharness
+ expected: TIMEOUT
[HTML: window.open `features`: non-integer values for feature `height`]
expected: FAIL
[features "height=405*3" should set "height=405"]
- expected: FAIL
+ expected: TIMEOUT
[features "height=405.32" should set "height=405"]
- expected: FAIL
+ expected: TIMEOUT
[features "height=405e1" should set "height=405"]
- expected: FAIL
+ expected: TIMEOUT
[features "height=405/5" should set "height=405"]
- expected: FAIL
+ expected: TIMEOUT
[features "height=405^4" should set "height=405"]
- expected: FAIL
+ expected: TIMEOUT
[features "height=405.5" should set "height=405"]
- expected: FAIL
+ expected: TIMEOUT
[features "height=405e-1" should set "height=405"]
- expected: FAIL
+ expected: TIMEOUT
[features "height=405 " should set "height=405"]
- expected: FAIL
+ expected: TIMEOUT
[features "height=405LLl" should set "height=405"]
- expected: FAIL
+ expected: TIMEOUT
+
+ [features "height=/404" should NOT set "height=404"]
+ expected: TIMEOUT
+
+ [top=0,left=0,width=401,: absence of feature "height" should be treated same as "height=0"]
+ expected: TIMEOUT
+
+ [top=0,left=0: absence of feature "height" should be treated same as "height=0"]
+ expected: TIMEOUT
+
+ [features "height=_404" should NOT set "height=404"]
+ expected: TIMEOUT
+
+ [features "height=L404" should NOT set "height=404"]
+ expected: TIMEOUT
diff --git a/tests/wpt/metadata/html/browsers/the-window-object/apis-for-creating-and-navigating-browsing-contexts-by-name/open-features-non-integer-innerheight.html.ini b/tests/wpt/metadata/html/browsers/the-window-object/apis-for-creating-and-navigating-browsing-contexts-by-name/open-features-non-integer-innerheight.html.ini
index 779531b4a98..fcaeae5336d 100644
--- a/tests/wpt/metadata/html/browsers/the-window-object/apis-for-creating-and-navigating-browsing-contexts-by-name/open-features-non-integer-innerheight.html.ini
+++ b/tests/wpt/metadata/html/browsers/the-window-object/apis-for-creating-and-navigating-browsing-contexts-by-name/open-features-non-integer-innerheight.html.ini
@@ -1,32 +1,42 @@
[open-features-non-integer-innerheight.html]
type: testharness
+ expected: TIMEOUT
[HTML: window.open `features`: non-integer values for legacy feature `innerheight`]
expected: FAIL
[features "innerheight=405e-1" should set "height=405"]
- expected: FAIL
+ expected: TIMEOUT
[features "innerheight=405LLl" should set "height=405"]
- expected: FAIL
+ expected: TIMEOUT
[features "innerheight=405^4" should set "height=405"]
- expected: FAIL
+ expected: TIMEOUT
[features "innerheight=405e1" should set "height=405"]
- expected: FAIL
+ expected: TIMEOUT
[features "innerheight=405 " should set "height=405"]
- expected: FAIL
+ expected: TIMEOUT
[features "innerheight=405/5" should set "height=405"]
- expected: FAIL
+ expected: TIMEOUT
[features "innerheight=405.32" should set "height=405"]
- expected: FAIL
+ expected: TIMEOUT
[features "innerheight=405.5" should set "height=405"]
- expected: FAIL
+ expected: TIMEOUT
[features "innerheight=405*3" should set "height=405"]
- expected: FAIL
+ expected: TIMEOUT
+
+ [features "innerheight=_404" should NOT set "height=404"]
+ expected: TIMEOUT
+
+ [features "innerheight=L404" should NOT set "height=404"]
+ expected: TIMEOUT
+
+ [features "innerheight=/404" should NOT set "height=404"]
+ expected: TIMEOUT
diff --git a/tests/wpt/metadata/html/browsers/the-window-object/apis-for-creating-and-navigating-browsing-contexts-by-name/open-features-non-integer-innerwidth.html.ini b/tests/wpt/metadata/html/browsers/the-window-object/apis-for-creating-and-navigating-browsing-contexts-by-name/open-features-non-integer-innerwidth.html.ini
index 7a1b258d52e..42327fedd27 100644
--- a/tests/wpt/metadata/html/browsers/the-window-object/apis-for-creating-and-navigating-browsing-contexts-by-name/open-features-non-integer-innerwidth.html.ini
+++ b/tests/wpt/metadata/html/browsers/the-window-object/apis-for-creating-and-navigating-browsing-contexts-by-name/open-features-non-integer-innerwidth.html.ini
@@ -1,32 +1,42 @@
[open-features-non-integer-innerwidth.html]
type: testharness
+ expected: TIMEOUT
[HTML: window.open `features`: non-integer values for legacy feature `innerwidth`]
expected: FAIL
[features "innerwidth=405e-1" should set "width=405"]
- expected: FAIL
+ expected: TIMEOUT
[features "innerwidth=405*3" should set "width=405"]
- expected: FAIL
+ expected: TIMEOUT
[features "innerwidth=405.5" should set "width=405"]
- expected: FAIL
+ expected: TIMEOUT
[features "innerwidth=405e1" should set "width=405"]
- expected: FAIL
+ expected: TIMEOUT
[features "innerwidth=405.32" should set "width=405"]
- expected: FAIL
+ expected: TIMEOUT
[features "innerwidth=405 " should set "width=405"]
- expected: FAIL
+ expected: TIMEOUT
[features "innerwidth=405LLl" should set "width=405"]
- expected: FAIL
+ expected: TIMEOUT
[features "innerwidth=405/5" should set "width=405"]
- expected: FAIL
+ expected: TIMEOUT
[features "innerwidth=405^4" should set "width=405"]
- expected: FAIL
+ expected: TIMEOUT
+
+ [features "innerwidth=/404" should NOT set "width=404"]
+ expected: TIMEOUT
+
+ [features "innerwidth=_404" should NOT set "width=404"]
+ expected: TIMEOUT
+
+ [features "innerwidth=L404" should NOT set "width=404"]
+ expected: TIMEOUT
diff --git a/tests/wpt/metadata/html/browsers/the-window-object/apis-for-creating-and-navigating-browsing-contexts-by-name/open-features-non-integer-left.html.ini b/tests/wpt/metadata/html/browsers/the-window-object/apis-for-creating-and-navigating-browsing-contexts-by-name/open-features-non-integer-left.html.ini
index caba4124f0b..a8e4fe06618 100644
--- a/tests/wpt/metadata/html/browsers/the-window-object/apis-for-creating-and-navigating-browsing-contexts-by-name/open-features-non-integer-left.html.ini
+++ b/tests/wpt/metadata/html/browsers/the-window-object/apis-for-creating-and-navigating-browsing-contexts-by-name/open-features-non-integer-left.html.ini
@@ -1,32 +1,42 @@
[open-features-non-integer-left.html]
type: testharness
+ expected: TIMEOUT
[HTML: window.open `features`: non-integer values for feature `left`]
expected: FAIL
[features "left=105e1" should set "left=105"]
- expected: FAIL
+ expected: TIMEOUT
[features "left=105 " should set "left=105"]
- expected: FAIL
+ expected: TIMEOUT
[features "left=105/5" should set "left=105"]
- expected: FAIL
+ expected: TIMEOUT
[features "left=105e-1" should set "left=105"]
- expected: FAIL
+ expected: TIMEOUT
[features "left=105^4" should set "left=105"]
- expected: FAIL
+ expected: TIMEOUT
[features "left=105LLl" should set "left=105"]
- expected: FAIL
+ expected: TIMEOUT
[features "left=105.32" should set "left=105"]
- expected: FAIL
+ expected: TIMEOUT
[features "left=105*3" should set "left=105"]
- expected: FAIL
+ expected: TIMEOUT
[features "left=105.5" should set "left=105"]
- expected: FAIL
+ expected: TIMEOUT
+
+ [features "left=L104" should NOT set "left=104"]
+ expected: TIMEOUT
+
+ [features "left=/104" should NOT set "left=104"]
+ expected: TIMEOUT
+
+ [features "left=_104" should NOT set "left=104"]
+ expected: TIMEOUT
diff --git a/tests/wpt/metadata/html/browsers/the-window-object/apis-for-creating-and-navigating-browsing-contexts-by-name/open-features-non-integer-screenx.html.ini b/tests/wpt/metadata/html/browsers/the-window-object/apis-for-creating-and-navigating-browsing-contexts-by-name/open-features-non-integer-screenx.html.ini
index 9ace8a4cbdb..64a08faf0e6 100644
--- a/tests/wpt/metadata/html/browsers/the-window-object/apis-for-creating-and-navigating-browsing-contexts-by-name/open-features-non-integer-screenx.html.ini
+++ b/tests/wpt/metadata/html/browsers/the-window-object/apis-for-creating-and-navigating-browsing-contexts-by-name/open-features-non-integer-screenx.html.ini
@@ -1,32 +1,42 @@
[open-features-non-integer-screenx.html]
type: testharness
+ expected: TIMEOUT
[HTML: window.open `features`: non-integer values for legacy feature `screenx`]
expected: FAIL
[features "screenx=105.5" should set "left=105"]
- expected: FAIL
+ expected: TIMEOUT
[features "screenx=105e1" should set "left=105"]
- expected: FAIL
+ expected: TIMEOUT
[features "screenx=105 " should set "left=105"]
- expected: FAIL
+ expected: TIMEOUT
[features "screenx=105*3" should set "left=105"]
- expected: FAIL
+ expected: TIMEOUT
[features "screenx=105e-1" should set "left=105"]
- expected: FAIL
+ expected: TIMEOUT
[features "screenx=105^4" should set "left=105"]
- expected: FAIL
+ expected: TIMEOUT
[features "screenx=105LLl" should set "left=105"]
- expected: FAIL
+ expected: TIMEOUT
[features "screenx=105/5" should set "left=105"]
- expected: FAIL
+ expected: TIMEOUT
[features "screenx=105.32" should set "left=105"]
- expected: FAIL
+ expected: TIMEOUT
+
+ [features "screenx=_104" should NOT set "left=104"]
+ expected: TIMEOUT
+
+ [features "screenx=L104" should NOT set "left=104"]
+ expected: TIMEOUT
+
+ [features "screenx=/104" should NOT set "left=104"]
+ expected: TIMEOUT
diff --git a/tests/wpt/metadata/html/browsers/the-window-object/apis-for-creating-and-navigating-browsing-contexts-by-name/open-features-non-integer-screeny.html.ini b/tests/wpt/metadata/html/browsers/the-window-object/apis-for-creating-and-navigating-browsing-contexts-by-name/open-features-non-integer-screeny.html.ini
index a82bd0f981a..4f22ef4ef29 100644
--- a/tests/wpt/metadata/html/browsers/the-window-object/apis-for-creating-and-navigating-browsing-contexts-by-name/open-features-non-integer-screeny.html.ini
+++ b/tests/wpt/metadata/html/browsers/the-window-object/apis-for-creating-and-navigating-browsing-contexts-by-name/open-features-non-integer-screeny.html.ini
@@ -1,32 +1,42 @@
[open-features-non-integer-screeny.html]
type: testharness
+ expected: TIMEOUT
[HTML: window.open `features`: non-integer values for legacy feature `screeny`]
expected: FAIL
[features "screeny=405^4" should set "height=405"]
- expected: FAIL
+ expected: TIMEOUT
[features "screeny=405e-1" should set "height=405"]
- expected: FAIL
+ expected: TIMEOUT
[features "screeny=405LLl" should set "height=405"]
- expected: FAIL
+ expected: TIMEOUT
[features "screeny=405e1" should set "height=405"]
- expected: FAIL
+ expected: TIMEOUT
[features "screeny=405 " should set "height=405"]
- expected: FAIL
+ expected: TIMEOUT
[features "screeny=405/5" should set "height=405"]
- expected: FAIL
+ expected: TIMEOUT
[features "screeny=405*3" should set "height=405"]
- expected: FAIL
+ expected: TIMEOUT
[features "screeny=405.32" should set "height=405"]
- expected: FAIL
+ expected: TIMEOUT
[features "screeny=405.5" should set "height=405"]
- expected: FAIL
+ expected: TIMEOUT
+
+ [features "screeny=_404" should NOT set "height=404"]
+ expected: TIMEOUT
+
+ [features "screeny=L404" should NOT set "height=404"]
+ expected: TIMEOUT
+
+ [features "screeny=/404" should NOT set "height=404"]
+ expected: TIMEOUT
diff --git a/tests/wpt/metadata/html/browsers/the-window-object/apis-for-creating-and-navigating-browsing-contexts-by-name/open-features-non-integer-top.html.ini b/tests/wpt/metadata/html/browsers/the-window-object/apis-for-creating-and-navigating-browsing-contexts-by-name/open-features-non-integer-top.html.ini
index 10f617db69e..8540f53d8d6 100644
--- a/tests/wpt/metadata/html/browsers/the-window-object/apis-for-creating-and-navigating-browsing-contexts-by-name/open-features-non-integer-top.html.ini
+++ b/tests/wpt/metadata/html/browsers/the-window-object/apis-for-creating-and-navigating-browsing-contexts-by-name/open-features-non-integer-top.html.ini
@@ -1,32 +1,42 @@
[open-features-non-integer-top.html]
type: testharness
+ expected: TIMEOUT
[HTML: window.open `features`: non-integer values for feature `top`]
expected: FAIL
[features "top=105/5" should set "top=105"]
- expected: FAIL
+ expected: TIMEOUT
[features "top=105*3" should set "top=105"]
- expected: FAIL
+ expected: TIMEOUT
[features "top=105LLl" should set "top=105"]
- expected: FAIL
+ expected: TIMEOUT
[features "top=105e-1" should set "top=105"]
- expected: FAIL
+ expected: TIMEOUT
[features "top=105.32" should set "top=105"]
- expected: FAIL
+ expected: TIMEOUT
[features "top=105e1" should set "top=105"]
- expected: FAIL
+ expected: TIMEOUT
[features "top=105 " should set "top=105"]
- expected: FAIL
+ expected: TIMEOUT
[features "top=105^4" should set "top=105"]
- expected: FAIL
+ expected: TIMEOUT
[features "top=105.5" should set "top=105"]
- expected: FAIL
+ expected: TIMEOUT
+
+ [features "top=/104" should NOT set "top=104"]
+ expected: TIMEOUT
+
+ [features "top=_104" should NOT set "top=104"]
+ expected: TIMEOUT
+
+ [features "top=L104" should NOT set "top=104"]
+ expected: TIMEOUT
diff --git a/tests/wpt/metadata/html/browsers/the-window-object/apis-for-creating-and-navigating-browsing-contexts-by-name/open-features-non-integer-width.html.ini b/tests/wpt/metadata/html/browsers/the-window-object/apis-for-creating-and-navigating-browsing-contexts-by-name/open-features-non-integer-width.html.ini
index 28f93ee71b5..9d841e61bc0 100644
--- a/tests/wpt/metadata/html/browsers/the-window-object/apis-for-creating-and-navigating-browsing-contexts-by-name/open-features-non-integer-width.html.ini
+++ b/tests/wpt/metadata/html/browsers/the-window-object/apis-for-creating-and-navigating-browsing-contexts-by-name/open-features-non-integer-width.html.ini
@@ -1,32 +1,48 @@
[open-features-non-integer-width.html]
type: testharness
+ expected: TIMEOUT
[HTML: window.open `features`: non-integer values for feature `width`]
expected: FAIL
[features "width=405^4" should set "width=405"]
- expected: FAIL
+ expected: TIMEOUT
[features "width=405.5" should set "width=405"]
- expected: FAIL
+ expected: TIMEOUT
[features "width=405e1" should set "width=405"]
- expected: FAIL
+ expected: TIMEOUT
[features "width=405 " should set "width=405"]
- expected: FAIL
+ expected: TIMEOUT
[features "width=405.32" should set "width=405"]
- expected: FAIL
+ expected: TIMEOUT
[features "width=405LLl" should set "width=405"]
- expected: FAIL
+ expected: TIMEOUT
[features "width=405*3" should set "width=405"]
- expected: FAIL
+ expected: TIMEOUT
[features "width=405e-1" should set "width=405"]
- expected: FAIL
+ expected: TIMEOUT
[features "width=405/5" should set "width=405"]
- expected: FAIL
+ expected: TIMEOUT
+
+ [top=0,left=0: absence of feature "width" should be treated same as "width=0"]
+ expected: TIMEOUT
+
+ [features "width=_404" should NOT set "width=404"]
+ expected: TIMEOUT
+
+ [top=0,left=0,height=401,: absence of feature "width" should be treated same as "width=0"]
+ expected: TIMEOUT
+
+ [features "width=/404" should NOT set "width=404"]
+ expected: TIMEOUT
+
+ [features "width=L404" should NOT set "width=404"]
+ expected: TIMEOUT
diff --git a/tests/wpt/metadata/html/syntax/parsing/DOMContentLoaded-defer.html.ini b/tests/wpt/metadata/html/syntax/parsing/DOMContentLoaded-defer.html.ini
new file mode 100644
index 00000000000..a9677391662
--- /dev/null
+++ b/tests/wpt/metadata/html/syntax/parsing/DOMContentLoaded-defer.html.ini
@@ -0,0 +1,4 @@
+[DOMContentLoaded-defer.html]
+ [The end: DOMContentLoaded and defer scripts]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/html/webappapis/scripting/processing-model-2/unhandled-promise-rejections/promise-rejection-events.html.ini b/tests/wpt/metadata/html/webappapis/scripting/processing-model-2/unhandled-promise-rejections/promise-rejection-events.html.ini
index 496bad988c6..034d9baebfa 100644
--- a/tests/wpt/metadata/html/webappapis/scripting/processing-model-2/unhandled-promise-rejections/promise-rejection-events.html.ini
+++ b/tests/wpt/metadata/html/webappapis/scripting/processing-model-2/unhandled-promise-rejections/promise-rejection-events.html.ini
@@ -1,4 +1,5 @@
[promise-rejection-events.html]
+ expected: TIMEOUT
[delayed handling: delaying handling rejected promise created from createImageBitmap will cause both events to fire]
expected: FAIL
@@ -8,3 +9,6 @@
[no unhandledrejection/rejectionhandled: rejection handler attached synchronously to a promise created from createImageBitmap]
expected: FAIL
+ [rejectionhandled is dispatched from a queued task, and not immediately]
+ expected: TIMEOUT
+
diff --git a/tests/wpt/metadata/webaudio/the-audio-api/the-analysernode-interface/realtimeanalyser-fft-scaling.html.ini b/tests/wpt/metadata/webaudio/the-audio-api/the-analysernode-interface/realtimeanalyser-fft-scaling.html.ini
index 66bd350083b..a56bad443a2 100644
--- a/tests/wpt/metadata/webaudio/the-audio-api/the-analysernode-interface/realtimeanalyser-fft-scaling.html.ini
+++ b/tests/wpt/metadata/webaudio/the-audio-api/the-analysernode-interface/realtimeanalyser-fft-scaling.html.ini
@@ -1,4 +1,5 @@
[realtimeanalyser-fft-scaling.html]
+ expected: TIMEOUT
[X 2048-point FFT peak position is not equal to 64. Got 0.]
expected: FAIL
diff --git a/tests/wpt/metadata/workers/constructors/Worker/Worker-constructor.html.ini b/tests/wpt/metadata/workers/constructors/Worker/Worker-constructor.html.ini
new file mode 100644
index 00000000000..80f9a4f15b8
--- /dev/null
+++ b/tests/wpt/metadata/workers/constructors/Worker/Worker-constructor.html.ini
@@ -0,0 +1,2 @@
+[Worker-constructor.html]
+ expected: ERROR
diff --git a/tests/wpt/web-platform-tests/css/CSS2/linebox/vertical-align-top-bottom-padding-ref.html b/tests/wpt/web-platform-tests/css/CSS2/linebox/vertical-align-top-bottom-padding-ref.html
new file mode 100644
index 00000000000..f855bab6a2f
--- /dev/null
+++ b/tests/wpt/web-platform-tests/css/CSS2/linebox/vertical-align-top-bottom-padding-ref.html
@@ -0,0 +1,38 @@
+<!DOCTYPE html>
+<style>
+div {
+ margin-top: 50px;
+ font-size: 10px;
+ line-height: 1;
+}
+
+.inline-block {
+ display: inline-block;
+ height: 30px;
+ width: 30px;
+ background: blue;
+}
+
+.top .inline-block {
+ vertical-align: top;
+}
+
+.bottom .inline-block {
+ vertical-align: bottom;
+}
+
+</style>
+<body>
+ <div class="top">
+ <span>
+ Next
+ <span class="inline-block"></span>
+ </span>
+ </div>
+ <div class="bottom">
+ <span>
+ Next
+ <span class="inline-block"></span>
+ </span>
+ </div>
+</body>
diff --git a/tests/wpt/web-platform-tests/css/CSS2/linebox/vertical-align-top-bottom-padding.html b/tests/wpt/web-platform-tests/css/CSS2/linebox/vertical-align-top-bottom-padding.html
new file mode 100644
index 00000000000..21451a04fa5
--- /dev/null
+++ b/tests/wpt/web-platform-tests/css/CSS2/linebox/vertical-align-top-bottom-padding.html
@@ -0,0 +1,49 @@
+<!DOCTYPE html>
+<link rel="match" href="vertical-align-top-bottom-padding-ref.html">
+<link rel="help" href="https://drafts.csswg.org/css2/visudet.html#propdef-vertical-align" />
+<link rel="author" href="kojii@chromium.org">
+<style>
+div {
+ margin-top: 50px;
+ font-size: 10px;
+ line-height: 1;
+}
+
+.inline-block {
+ display: inline-block;
+ height: 30px;
+ width: 30px;
+ background: blue;
+}
+
+.top .padding {
+ padding-top: 20px;
+}
+
+.top .inline-block {
+ vertical-align: top;
+}
+
+.bottom .padding {
+ padding-bottom: 20px;
+}
+
+.bottom .inline-block {
+ vertical-align: bottom;
+}
+
+</style>
+<body>
+ <div class="top">
+ <span class="padding">
+ Next
+ <span class="inline-block"></span>
+ </span>
+ </div>
+ <div class="bottom">
+ <span class="padding">
+ Next
+ <span class="inline-block"></span>
+ </span>
+ </div>
+</body>
diff --git a/tests/wpt/web-platform-tests/css/css-tables/dynamic-table-cell-height.html b/tests/wpt/web-platform-tests/css/css-tables/dynamic-table-cell-height.html
new file mode 100644
index 00000000000..f6cd48e5ba5
--- /dev/null
+++ b/tests/wpt/web-platform-tests/css/css-tables/dynamic-table-cell-height.html
@@ -0,0 +1,17 @@
+<!DOCTYPE html>
+<html class="reftest-wait">
+<link rel="match" href="/css/reference/ref-filled-green-100px-square.xht">
+<link rel="help" href="https://crbug.com/968016">
+<script src="/common/reftest-wait.js"></script>
+<p>Test passes if there is a filled green square and <strong>no red</strong>.</p>
+<div style="display: table-cell; background: red; height: 50px;">
+ <div style="width: 100px; height: 100px; background: green; position: relative;">
+ <div id="target" style="position: absolute; width: 10px; height: 10px;"></div>
+ </div>
+</div>
+<script>
+document.body.offsetTop;
+document.getElementById('target').style.top = '10px';
+document.body.offsetTop;
+takeScreenshot();
+</script>
diff --git a/tests/wpt/web-platform-tests/css/css-will-change/will-change-transform-image-ref.html b/tests/wpt/web-platform-tests/css/css-will-change/will-change-transform-image-ref.html
new file mode 100644
index 00000000000..d42d5b7fea2
--- /dev/null
+++ b/tests/wpt/web-platform-tests/css/css-will-change/will-change-transform-image-ref.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<div style="padding: 100px">
+ <div style="width: 256px; height: 256px; background: lime"></div>
+</div>
diff --git a/tests/wpt/web-platform-tests/css/css-will-change/will-change-transform-image.html b/tests/wpt/web-platform-tests/css/css-will-change/will-change-transform-image.html
new file mode 100644
index 00000000000..edce6c1f9bf
--- /dev/null
+++ b/tests/wpt/web-platform-tests/css/css-will-change/will-change-transform-image.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<link rel="help" href="https://drafts.csswg.org/css-will-change/#will-change">
+<link rel="match" href="will-change-transform-image-ref.html">
+<img style="padding: 100px; will-change: transform" src="../../images/green-256x256.png">
diff --git a/tests/wpt/web-platform-tests/css/filter-effects/css-backdrop-filters-animation-blur-ref.html b/tests/wpt/web-platform-tests/css/filter-effects/css-backdrop-filters-animation-blur-ref.html
new file mode 100644
index 00000000000..e433070b686
--- /dev/null
+++ b/tests/wpt/web-platform-tests/css/filter-effects/css-backdrop-filters-animation-blur-ref.html
@@ -0,0 +1,34 @@
+<!DOCTYPE html>
+<title>CSS Backdrop Filters Animation: Blur Reference</title>
+<link rel="author" title="Mason Freed" href="mailto:masonfreed@chromium.org">
+<style>
+ .square {
+ position: absolute;
+ width: 100px;
+ height: 100px;
+ top: 100px;
+ left: 100px;
+ background: blue;
+ }
+ .filt {
+ position: absolute;
+ width: 200px;
+ height: 200px;
+ top: 50px;
+ left: 50px;
+ backdrop-filter: blur(10px);
+ }
+ .greenbox {
+ position: absolute;
+ width: 50px;
+ height: 50px;
+ top: 75px;
+ left: 75px;
+ background: green;
+ }
+</style>
+<p>You should see a blurred rectangle with a green box.</p>
+<div class="square"></div>
+<div class="filt">
+ <div class="greenbox"></div>
+</div>
diff --git a/tests/wpt/web-platform-tests/css/filter-effects/css-backdrop-filters-animation-blur.html b/tests/wpt/web-platform-tests/css/filter-effects/css-backdrop-filters-animation-blur.html
new file mode 100644
index 00000000000..3d883c2efd5
--- /dev/null
+++ b/tests/wpt/web-platform-tests/css/filter-effects/css-backdrop-filters-animation-blur.html
@@ -0,0 +1,49 @@
+<!DOCTYPE html>
+<title>CSS Backdrop Filters Animation: Blur</title>
+<link rel="author" title="Mason Freed" href="mailto:masonfreed@chromium.org">
+<link rel="help" href="https://drafts.fxtf.org/filter-effects-2/#BackdropFilterProperty">
+<link rel="match" href="css-backdrop-filters-animation-blur-ref.html">
+<style>
+ @keyframes animate {
+ 0% {
+ backdrop-filter: blur(20px);
+ }
+ 100% {
+ backdrop-filter: none;
+ }
+ }
+
+ .square {
+ position: absolute;
+ width: 100px;
+ height: 100px;
+ top: 100px;
+ left: 100px;
+ background: blue;
+ }
+ .filt {
+ position: absolute;
+ width: 200px;
+ height: 200px;
+ top: 50px;
+ left: 50px;
+ animation-name: animate;
+ animation-play-state: paused;
+ animation-delay: -2s;
+ animation-duration: 4s;
+ animation-timing-function: linear;
+ }
+ .greenbox {
+ position: absolute;
+ width: 50px;
+ height: 50px;
+ top: 75px;
+ left: 75px;
+ background: green;
+ }
+</style>
+<p>You should see a blurred rectangle with a green box.</p>
+<div class="square"></div>
+<div class="filt">
+ <div class="greenbox"></div>
+</div>
diff --git a/tests/wpt/web-platform-tests/css/filter-effects/css-backdrop-filters-animation-brightness-ref.html b/tests/wpt/web-platform-tests/css/filter-effects/css-backdrop-filters-animation-brightness-ref.html
new file mode 100644
index 00000000000..8ba5b45999f
--- /dev/null
+++ b/tests/wpt/web-platform-tests/css/filter-effects/css-backdrop-filters-animation-brightness-ref.html
@@ -0,0 +1,34 @@
+<!DOCTYPE html>
+<title>CSS Backdrop Filters Animation: Brightness Reference</title>
+<link rel="author" title="Mason Freed" href="mailto:masonfreed@chromium.org">
+<style>
+ .square {
+ position: absolute;
+ width: 100px;
+ height: 100px;
+ top: 100px;
+ left: 100px;
+ background: blue;
+ }
+ .filt {
+ position: absolute;
+ width: 200px;
+ height: 200px;
+ top: 50px;
+ left: 50px;
+ backdrop-filter: brightness(50%);
+ }
+ .greenbox {
+ position: absolute;
+ width: 50px;
+ height: 50px;
+ top: 75px;
+ left: 75px;
+ background: green;
+ }
+</style>
+<p>You should see a dark blue rectangle with a green box. Neither black nor blue.</p>
+<div class="square"></div>
+<div class="filt">
+ <div class="greenbox"></div>
+</div>
diff --git a/tests/wpt/web-platform-tests/css/filter-effects/css-backdrop-filters-animation-brightness.html b/tests/wpt/web-platform-tests/css/filter-effects/css-backdrop-filters-animation-brightness.html
new file mode 100644
index 00000000000..d377e5e81fd
--- /dev/null
+++ b/tests/wpt/web-platform-tests/css/filter-effects/css-backdrop-filters-animation-brightness.html
@@ -0,0 +1,48 @@
+<!DOCTYPE html>
+<title>CSS Backdrop Filters Animation: Brightness</title>
+<link rel="author" title="Mason Freed" href="mailto:masonfreed@chromium.org">
+<link rel="help" href="https://drafts.fxtf.org/filter-effects-2/#BackdropFilterProperty">
+<link rel="match" href="css-backdrop-filters-animation-brightness-ref.html">
+<style>
+ @keyframes animate {
+ 0% {
+ backdrop-filter: brightness(0%);
+ }
+ 100% {
+ backdrop-filter: none;
+ }
+ }
+ .square {
+ position: absolute;
+ width: 100px;
+ height: 100px;
+ top: 100px;
+ left: 100px;
+ background: blue;
+ }
+ .filt {
+ position: absolute;
+ width: 200px;
+ height: 200px;
+ top: 50px;
+ left: 50px;
+ animation-name: animate;
+ animation-play-state: paused;
+ animation-delay: -2s;
+ animation-duration: 4s;
+ animation-timing-function: linear;
+ }
+ .greenbox {
+ position: absolute;
+ width: 50px;
+ height: 50px;
+ top: 75px;
+ left: 75px;
+ background: green;
+ }
+</style>
+<p>You should see a dark blue rectangle with a green box. Neither black nor blue.</p>
+<div class="square"></div>
+<div class="filt">
+ <div class="greenbox"></div>
+</div>
diff --git a/tests/wpt/web-platform-tests/css/filter-effects/css-backdrop-filters-animation-combined-ref.html b/tests/wpt/web-platform-tests/css/filter-effects/css-backdrop-filters-animation-combined-ref.html
new file mode 100644
index 00000000000..b4c6bc90665
--- /dev/null
+++ b/tests/wpt/web-platform-tests/css/filter-effects/css-backdrop-filters-animation-combined-ref.html
@@ -0,0 +1,42 @@
+<!DOCTYPE html>
+<title>CSS Backdrop Filters Animation: Combined filters 001 Reference</title>
+<link rel="author" title="Mason Freed" href="mailto:masonfreed@chromium.org">
+<style>
+ .square {
+ position: absolute;
+ width: 100px;
+ height: 100px;
+ top: 100px;
+ left: 100px;
+ background: black;
+ }
+ .filt {
+ position: absolute;
+ width: 200px;
+ height: 200px;
+ top: 50px;
+ left: 50px;
+ backdrop-filter:
+ blur(10px)
+ brightness(50%)
+ sepia(50%)
+ grayscale(50%)
+ saturate(50%)
+ hue-rotate(45deg)
+ invert(50%)
+ opacity(50%)
+ }
+ .greenbox {
+ position: absolute;
+ width: 50px;
+ height: 50px;
+ top: 75px;
+ left: 75px;
+ background: green;
+ }
+</style>
+<p>You should see a gray blurred rectangle with a green box.</p>
+<div class="square"></div>
+<div class="filt">
+ <div class="greenbox"></div>
+</div>
diff --git a/tests/wpt/web-platform-tests/css/filter-effects/css-backdrop-filters-animation-combined.html b/tests/wpt/web-platform-tests/css/filter-effects/css-backdrop-filters-animation-combined.html
new file mode 100644
index 00000000000..920dc82393d
--- /dev/null
+++ b/tests/wpt/web-platform-tests/css/filter-effects/css-backdrop-filters-animation-combined.html
@@ -0,0 +1,57 @@
+<!DOCTYPE html>
+<title>CSS Backdrop Filters Animation: Combined filters 001</title>
+<link rel="author" title="Mason Freed" href="mailto:masonfreed@chromium.org">
+<link rel="help" href="https://drafts.fxtf.org/filter-effects-2/#BackdropFilterProperty">
+<link rel="match" href="css-backdrop-filters-animation-combined-ref.html">
+<style>
+ @keyframes animate {
+ 0% {
+ backdrop-filter:
+ blur(20px)
+ brightness(0%)
+ sepia(100%)
+ grayscale(100%)
+ saturate(0%)
+ hue-rotate(90deg)
+ invert(100%)
+ opacity(0%)
+ }
+ 100% {
+ backdrop-filter: none;
+ }
+ }
+ .square {
+ position: absolute;
+ width: 100px;
+ height: 100px;
+ top: 100px;
+ left: 100px;
+ background: black;
+ }
+ .filt {
+ position: absolute;
+ width: 200px;
+ height: 200px;
+ top: 50px;
+ left: 50px;
+ animation-name: animate;
+ animation-play-state: paused;
+ animation-delay: -2s;
+ animation-duration: 4s;
+ animation-timing-function: linear;
+ }
+ .greenbox {
+ position: absolute;
+ width: 50px;
+ height: 50px;
+ top: 75px;
+ left: 75px;
+ background: green;
+ }
+</style>
+<p>You should see a gray blurred rectangle with a green box.</p>
+
+<div class="square"></div>
+<div class="filt">
+ <div class="greenbox"></div>
+</div>
diff --git a/tests/wpt/web-platform-tests/css/filter-effects/css-backdrop-filters-animation-contrast-ref.html b/tests/wpt/web-platform-tests/css/filter-effects/css-backdrop-filters-animation-contrast-ref.html
new file mode 100644
index 00000000000..e1bf06056e6
--- /dev/null
+++ b/tests/wpt/web-platform-tests/css/filter-effects/css-backdrop-filters-animation-contrast-ref.html
@@ -0,0 +1,34 @@
+<!DOCTYPE html>
+<title>CSS Backdrop Filters Animation: Contrast Reference</title>
+<link rel="author" title="Mason Freed" href="mailto:masonfreed@chromium.org">
+<style>
+ .square {
+ position: absolute;
+ width: 100px;
+ height: 100px;
+ top: 100px;
+ left: 100px;
+ background: black;
+ }
+ .filt {
+ position: absolute;
+ width: 200px;
+ height: 200px;
+ top: 50px;
+ left: 50px;
+ backdrop-filter: contrast(50%);
+ }
+ .greenbox {
+ position: absolute;
+ width: 50px;
+ height: 50px;
+ top: 75px;
+ left: 75px;
+ background: green;
+ }
+</style>
+<p>You should see a gray rectangle with a green box. Neither black nor white.</p>
+<div class="square"></div>
+<div class="filt">
+ <div class="greenbox"></div>
+</div>
diff --git a/tests/wpt/web-platform-tests/css/filter-effects/css-backdrop-filters-animation-contrast.html b/tests/wpt/web-platform-tests/css/filter-effects/css-backdrop-filters-animation-contrast.html
new file mode 100644
index 00000000000..d9709f8614c
--- /dev/null
+++ b/tests/wpt/web-platform-tests/css/filter-effects/css-backdrop-filters-animation-contrast.html
@@ -0,0 +1,48 @@
+<!DOCTYPE html>
+<title>CSS Backdrop Filters Animation: Contrast</title>
+<link rel="author" title="Mason Freed" href="mailto:masonfreed@chromium.org">
+<link rel="help" href="https://drafts.fxtf.org/filter-effects-2/#BackdropFilterProperty">
+<link rel="match" href="css-backdrop-filters-animation-contrast-ref.html">
+<style>
+ @keyframes animate {
+ 0% {
+ backdrop-filter: contrast(0%);
+ }
+ 100% {
+ backdrop-filter: none;
+ }
+ }
+ .square {
+ position: absolute;
+ width: 100px;
+ height: 100px;
+ top: 100px;
+ left: 100px;
+ background: black;
+ }
+ .filt {
+ position: absolute;
+ width: 200px;
+ height: 200px;
+ top: 50px;
+ left: 50px;
+ animation-name: animate;
+ animation-play-state: paused;
+ animation-delay: -2s;
+ animation-duration: 4s;
+ animation-timing-function: linear;
+ }
+ .greenbox {
+ position: absolute;
+ width: 50px;
+ height: 50px;
+ top: 75px;
+ left: 75px;
+ background: green;
+ }
+</style>
+<p>You should see a gray rectangle with a green box. Neither black nor white.</p>
+<div class="square"></div>
+<div class="filt">
+ <div class="greenbox"></div>
+</div>
diff --git a/tests/wpt/web-platform-tests/css/filter-effects/css-backdrop-filters-animation-drop-shadow-ref.html b/tests/wpt/web-platform-tests/css/filter-effects/css-backdrop-filters-animation-drop-shadow-ref.html
new file mode 100644
index 00000000000..0b4a3f2d8db
--- /dev/null
+++ b/tests/wpt/web-platform-tests/css/filter-effects/css-backdrop-filters-animation-drop-shadow-ref.html
@@ -0,0 +1,34 @@
+<!DOCTYPE html>
+<title>CSS Backdrop Filters Animation: Drop Shadow Reference</title>
+<link rel="author" title="Mason Freed" href="mailto:masonfreed@chromium.org">
+<style>
+ .square {
+ position: absolute;
+ width: 100px;
+ height: 100px;
+ top: 100px;
+ left: 100px;
+ background: blue;
+ }
+ .filt {
+ position: absolute;
+ width: 200px;
+ height: 200px;
+ top: 50px;
+ left: 50px;
+ backdrop-filter: drop-shadow(15px 15px 0px rgba(0, 0, 0, 0.5));
+ }
+ .greenbox {
+ position: absolute;
+ width: 50px;
+ height: 50px;
+ top: 75px;
+ left: 75px;
+ background: green;
+ }
+</style>
+<p>You should see a blue rectangle in top of a gray one, with a green box on top.</p>
+<div class="square"></div>
+<div class="filt">
+ <div class="greenbox"></div>
+</div>
diff --git a/tests/wpt/web-platform-tests/css/filter-effects/css-backdrop-filters-animation-drop-shadow.html b/tests/wpt/web-platform-tests/css/filter-effects/css-backdrop-filters-animation-drop-shadow.html
new file mode 100644
index 00000000000..c7e19a987d5
--- /dev/null
+++ b/tests/wpt/web-platform-tests/css/filter-effects/css-backdrop-filters-animation-drop-shadow.html
@@ -0,0 +1,48 @@
+<!DOCTYPE html>
+<title>CSS Backdrop Filters Animation: Drop Shadow</title>
+<link rel="author" title="Mason Freed" href="mailto:masonfreed@chromium.org">
+<link rel="help" href="https://drafts.fxtf.org/filter-effects-2/#BackdropFilterProperty">
+<link rel="match" href="css-backdrop-filters-animation-drop-shadow-ref.html">
+<style>
+ @keyframes animate {
+ 0% {
+ backdrop-filter: drop-shadow(30px 30px 0px black);
+ }
+ 100% {
+ backdrop-filter: none;
+ }
+ }
+ .square {
+ position: absolute;
+ width: 100px;
+ height: 100px;
+ top: 100px;
+ left: 100px;
+ background: blue;
+ }
+ .filt {
+ position: absolute;
+ width: 200px;
+ height: 200px;
+ top: 50px;
+ left: 50px;
+ animation-name: animate;
+ animation-play-state: paused;
+ animation-delay: -2s;
+ animation-duration: 4s;
+ animation-timing-function: linear;
+ }
+ .greenbox {
+ position: absolute;
+ width: 50px;
+ height: 50px;
+ top: 75px;
+ left: 75px;
+ background: green;
+ }
+</style>
+<p>You should see a blue rectangle in top of a gray one, with a green box on top.</p>
+<div class="square"></div>
+<div class="filt">
+ <div class="greenbox"></div>
+</div>
diff --git a/tests/wpt/web-platform-tests/css/filter-effects/css-backdrop-filters-animation-grayscale-ref.html b/tests/wpt/web-platform-tests/css/filter-effects/css-backdrop-filters-animation-grayscale-ref.html
new file mode 100644
index 00000000000..75e457aa1f0
--- /dev/null
+++ b/tests/wpt/web-platform-tests/css/filter-effects/css-backdrop-filters-animation-grayscale-ref.html
@@ -0,0 +1,34 @@
+<!DOCTYPE html>
+<title>CSS Backdrop Filters Animation: Blur Reference</title>
+<link rel="author" title="Mason Freed" href="mailto:masonfreed@chromium.org">
+<style>
+ .square {
+ position: absolute;
+ width: 100px;
+ height: 100px;
+ top: 100px;
+ left: 100px;
+ background: blue;
+ }
+ .filt {
+ position: absolute;
+ width: 200px;
+ height: 200px;
+ top: 50px;
+ left: 50px;
+ backdrop-filter: grayscale(50%);
+ }
+ .greenbox {
+ position: absolute;
+ width: 50px;
+ height: 50px;
+ top: 75px;
+ left: 75px;
+ background: green;
+ }
+</style>
+<p>You should see a dark blue rectangle with a green box.</p>
+<div class="square"></div>
+<div class="filt">
+ <div class="greenbox"></div>
+</div>
diff --git a/tests/wpt/web-platform-tests/css/filter-effects/css-backdrop-filters-animation-grayscale.html b/tests/wpt/web-platform-tests/css/filter-effects/css-backdrop-filters-animation-grayscale.html
new file mode 100644
index 00000000000..c04118c6a83
--- /dev/null
+++ b/tests/wpt/web-platform-tests/css/filter-effects/css-backdrop-filters-animation-grayscale.html
@@ -0,0 +1,48 @@
+<!DOCTYPE html>
+<title>CSS Backdrop Filters Animation: Grayscale</title>
+<link rel="author" title="Mason Freed" href="mailto:masonfreed@chromium.org">
+<link rel="help" href="https://drafts.fxtf.org/filter-effects-2/#BackdropFilterProperty">
+<link rel="match" href="css-backdrop-filters-animation-grayscale-ref.html">
+<style>
+ @keyframes animate {
+ 0% {
+ backdrop-filter: grayscale(100%);
+ }
+ 100% {
+ backdrop-filter: none;
+ }
+ }
+ .square {
+ position: absolute;
+ width: 100px;
+ height: 100px;
+ top: 100px;
+ left: 100px;
+ background: blue;
+ }
+ .filt {
+ position: absolute;
+ width: 200px;
+ height: 200px;
+ top: 50px;
+ left: 50px;
+ animation-name: animate;
+ animation-play-state: paused;
+ animation-delay: -2s;
+ animation-duration: 4s;
+ animation-timing-function: linear;
+ }
+ .greenbox {
+ position: absolute;
+ width: 50px;
+ height: 50px;
+ top: 75px;
+ left: 75px;
+ background: green;
+ }
+</style>
+<p>You should see a dark blue rectangle with a green box.</p>
+<div class="square"></div>
+<div class="filt">
+ <div class="greenbox"></div>
+</div>
diff --git a/tests/wpt/web-platform-tests/css/filter-effects/css-backdrop-filters-animation-hue-rotate-ref.html b/tests/wpt/web-platform-tests/css/filter-effects/css-backdrop-filters-animation-hue-rotate-ref.html
new file mode 100644
index 00000000000..0651e89e41d
--- /dev/null
+++ b/tests/wpt/web-platform-tests/css/filter-effects/css-backdrop-filters-animation-hue-rotate-ref.html
@@ -0,0 +1,34 @@
+<!DOCTYPE html>
+<title>CSS Backdrop Filters Animation: Hue-rotate Reference</title>
+<link rel="author" title="Mason Freed" href="mailto:masonfreed@chromium.org">
+<style>
+ .square {
+ position: absolute;
+ width: 100px;
+ height: 100px;
+ top: 100px;
+ left: 100px;
+ background: blue;
+ }
+ .filt {
+ position: absolute;
+ width: 200px;
+ height: 200px;
+ top: 50px;
+ left: 50px;
+ backdrop-filter: hue-rotate(45deg);
+ }
+ .greenbox {
+ position: absolute;
+ width: 50px;
+ height: 50px;
+ top: 75px;
+ left: 75px;
+ background: green;
+ }
+</style>
+<p>You should see a violet rectangle with a green box. Neither red nor blue.</p>
+<div class="square"></div>
+<div class="filt">
+ <div class="greenbox"></div>
+</div>
diff --git a/tests/wpt/web-platform-tests/css/filter-effects/css-backdrop-filters-animation-hue-rotate.html b/tests/wpt/web-platform-tests/css/filter-effects/css-backdrop-filters-animation-hue-rotate.html
new file mode 100644
index 00000000000..e3cdd1f8f1a
--- /dev/null
+++ b/tests/wpt/web-platform-tests/css/filter-effects/css-backdrop-filters-animation-hue-rotate.html
@@ -0,0 +1,48 @@
+<!DOCTYPE html>
+<title>CSS Backdrop Filters Animation: Hue-rotate</title>
+<link rel="author" title="Mason Freed" href="mailto:masonfreed@chromium.org">
+<link rel="help" href="https://drafts.fxtf.org/filter-effects-2/#BackdropFilterProperty">
+<link rel="match" href="css-backdrop-filters-animation-hue-rotate-ref.html">
+<style>
+ @keyframes animate {
+ 0% {
+ backdrop-filter: hue-rotate(90deg);
+ }
+ 100% {
+ backdrop-filter: none;
+ }
+ }
+ .square {
+ position: absolute;
+ width: 100px;
+ height: 100px;
+ top: 100px;
+ left: 100px;
+ background: blue;
+ }
+ .filt {
+ position: absolute;
+ width: 200px;
+ height: 200px;
+ top: 50px;
+ left: 50px;
+ animation-name: animate;
+ animation-play-state: paused;
+ animation-delay: -2s;
+ animation-duration: 4s;
+ animation-timing-function: linear;
+ }
+ .greenbox {
+ position: absolute;
+ width: 50px;
+ height: 50px;
+ top: 75px;
+ left: 75px;
+ background: green;
+ }
+</style>
+<p>You should see a violet rectangle with a green box. Neither red nor blue.</p>
+<div class="square"></div>
+<div class="filt">
+ <div class="greenbox"></div>
+</div>
diff --git a/tests/wpt/web-platform-tests/css/filter-effects/css-backdrop-filters-animation-invert-ref.html b/tests/wpt/web-platform-tests/css/filter-effects/css-backdrop-filters-animation-invert-ref.html
new file mode 100644
index 00000000000..50964200167
--- /dev/null
+++ b/tests/wpt/web-platform-tests/css/filter-effects/css-backdrop-filters-animation-invert-ref.html
@@ -0,0 +1,34 @@
+<!DOCTYPE html>
+<title>CSS Backdrop Filters Animation: Invert Reference</title>
+<link rel="author" title="Mason Freed" href="mailto:masonfreed@chromium.org">
+<style>
+ .square {
+ position: absolute;
+ width: 100px;
+ height: 100px;
+ top: 100px;
+ left: 100px;
+ background: black;
+ }
+ .filt {
+ position: absolute;
+ width: 200px;
+ height: 200px;
+ top: 50px;
+ left: 50px;
+ backdrop-filter: invert(50%);
+ }
+ .greenbox {
+ position: absolute;
+ width: 50px;
+ height: 50px;
+ top: 75px;
+ left: 75px;
+ background: green;
+ }
+</style>
+<p>You should see a gray rectangle with a green box. Neither black nor white.</p>
+<div class="square"></div>
+<div class="filt">
+ <div class="greenbox"></div>
+</div>
diff --git a/tests/wpt/web-platform-tests/css/filter-effects/css-backdrop-filters-animation-invert.html b/tests/wpt/web-platform-tests/css/filter-effects/css-backdrop-filters-animation-invert.html
new file mode 100644
index 00000000000..963ab7ed571
--- /dev/null
+++ b/tests/wpt/web-platform-tests/css/filter-effects/css-backdrop-filters-animation-invert.html
@@ -0,0 +1,48 @@
+<!DOCTYPE html>
+<title>CSS Backdrop Filters Animation: Invert</title>
+<link rel="author" title="Mason Freed" href="mailto:masonfreed@chromium.org">
+<link rel="help" href="https://drafts.fxtf.org/filter-effects-2/#BackdropFilterProperty">
+<link rel="match" href="css-backdrop-filters-animation-invert-ref.html">
+<style>
+ @keyframes animate {
+ 0% {
+ backdrop-filter: invert(100%);
+ }
+ 100% {
+ backdrop-filter: none;
+ }
+ }
+ .square {
+ position: absolute;
+ width: 100px;
+ height: 100px;
+ top: 100px;
+ left: 100px;
+ background: black;
+ }
+ .filt {
+ position: absolute;
+ width: 200px;
+ height: 200px;
+ top: 50px;
+ left: 50px;
+ animation-name: animate;
+ animation-play-state: paused;
+ animation-delay: -2s;
+ animation-duration: 4s;
+ animation-timing-function: linear;
+ }
+ .greenbox {
+ position: absolute;
+ width: 50px;
+ height: 50px;
+ top: 75px;
+ left: 75px;
+ background: green;
+ }
+</style>
+<p>You should see a gray rectangle with a green box. Neither black nor white.</p>
+<div class="square"></div>
+<div class="filt">
+ <div class="greenbox"></div>
+</div>
diff --git a/tests/wpt/web-platform-tests/css/filter-effects/css-backdrop-filters-animation-opacity-ref.html b/tests/wpt/web-platform-tests/css/filter-effects/css-backdrop-filters-animation-opacity-ref.html
new file mode 100644
index 00000000000..fd92dba5e57
--- /dev/null
+++ b/tests/wpt/web-platform-tests/css/filter-effects/css-backdrop-filters-animation-opacity-ref.html
@@ -0,0 +1,34 @@
+<!DOCTYPE html>
+<title>CSS Backdrop Filters Animation: Opacity Reference</title>
+<link rel="author" title="Mason Freed" href="mailto:masonfreed@chromium.org">
+<style>
+ .square {
+ position: absolute;
+ width: 100px;
+ height: 100px;
+ top: 100px;
+ left: 100px;
+ background: black;
+ }
+ .filt {
+ position: absolute;
+ width: 200px;
+ height: 200px;
+ top: 50px;
+ left: 50px;
+ backdrop-filter: opacity(50%);
+ }
+ .greenbox {
+ position: absolute;
+ width: 50px;
+ height: 50px;
+ top: 75px;
+ left: 75px;
+ background: green;
+ }
+</style>
+<p>You should see a gray rectangle with a green box. Neither black nor white.</p>
+<div class="square"></div>
+<div class="filt">
+ <div class="greenbox"></div>
+</div>
diff --git a/tests/wpt/web-platform-tests/css/filter-effects/css-backdrop-filters-animation-opacity.html b/tests/wpt/web-platform-tests/css/filter-effects/css-backdrop-filters-animation-opacity.html
new file mode 100644
index 00000000000..d6c6d35efc6
--- /dev/null
+++ b/tests/wpt/web-platform-tests/css/filter-effects/css-backdrop-filters-animation-opacity.html
@@ -0,0 +1,48 @@
+<!DOCTYPE html>
+<title>CSS Backdrop Filters Animation: Opacity</title>
+<link rel="author" title="Mason Freed" href="mailto:masonfreed@chromium.org">
+<link rel="help" href="https://drafts.fxtf.org/filter-effects-2/#BackdropFilterProperty">
+<link rel="match" href="css-backdrop-filters-animation-opacity-ref.html">
+<style>
+ @keyframes animate {
+ 0% {
+ backdrop-filter: opacity(0%);
+ }
+ 100% {
+ backdrop-filter: none;
+ }
+ }
+ .square {
+ position: absolute;
+ width: 100px;
+ height: 100px;
+ top: 100px;
+ left: 100px;
+ background: black;
+ }
+ .filt {
+ position: absolute;
+ width: 200px;
+ height: 200px;
+ top: 50px;
+ left: 50px;
+ animation-name: animate;
+ animation-play-state: paused;
+ animation-delay: -2s;
+ animation-duration: 4s;
+ animation-timing-function: linear;
+ }
+ .greenbox {
+ position: absolute;
+ width: 50px;
+ height: 50px;
+ top: 75px;
+ left: 75px;
+ background: green;
+ }
+</style>
+<p>You should see a gray rectangle with a green box. Neither black nor white.</p>
+<div class="square"></div>
+<div class="filt">
+ <div class="greenbox"></div>
+</div>
diff --git a/tests/wpt/web-platform-tests/css/filter-effects/css-backdrop-filters-animation-saturate-ref.html b/tests/wpt/web-platform-tests/css/filter-effects/css-backdrop-filters-animation-saturate-ref.html
new file mode 100644
index 00000000000..7f7b67f2adf
--- /dev/null
+++ b/tests/wpt/web-platform-tests/css/filter-effects/css-backdrop-filters-animation-saturate-ref.html
@@ -0,0 +1,34 @@
+<!DOCTYPE html>
+<title>CSS Backdrop Filters Animation: Saturate Reference</title>
+<link rel="author" title="Mason Freed" href="mailto:masonfreed@chromium.org">
+<style>
+ .square {
+ position: absolute;
+ width: 100px;
+ height: 100px;
+ top: 100px;
+ left: 100px;
+ background: #f4fbff;
+ }
+ .filt {
+ position: absolute;
+ width: 200px;
+ height: 200px;
+ top: 50px;
+ left: 50px;
+ backdrop-filter: saturate(2500%);
+ }
+ .greenbox {
+ position: absolute;
+ width: 50px;
+ height: 50px;
+ top: 75px;
+ left: 75px;
+ background: green;
+ }
+</style>
+<p>You should see a light-blue rectangle with a green box. Neither cyan nor white.</p>
+<div class="square"></div>
+<div class="filt">
+ <div class="greenbox"></div>
+</div>
diff --git a/tests/wpt/web-platform-tests/css/filter-effects/css-backdrop-filters-animation-saturate.html b/tests/wpt/web-platform-tests/css/filter-effects/css-backdrop-filters-animation-saturate.html
new file mode 100644
index 00000000000..13e277393cd
--- /dev/null
+++ b/tests/wpt/web-platform-tests/css/filter-effects/css-backdrop-filters-animation-saturate.html
@@ -0,0 +1,48 @@
+<!DOCTYPE html>
+<title>CSS Backdrop Filters Animation: Saturate</title>
+<link rel="author" title="Mason Freed" href="mailto:masonfreed@chromium.org">
+<link rel="help" href="https://drafts.fxtf.org/filter-effects-2/#BackdropFilterProperty">
+<link rel="match" href="css-backdrop-filters-animation-saturate-ref.html">
+<style>
+ @keyframes animate {
+ 0% {
+ backdrop-filter: saturate(4900%);
+ }
+ 100% {
+ backdrop-filter: none;
+ }
+ }
+ .square {
+ position: absolute;
+ width: 100px;
+ height: 100px;
+ top: 100px;
+ left: 100px;
+ background: #f4fbff;
+ }
+ .filt {
+ position: absolute;
+ width: 200px;
+ height: 200px;
+ top: 50px;
+ left: 50px;
+ animation-name: animate;
+ animation-play-state: paused;
+ animation-delay: -2s;
+ animation-duration: 4s;
+ animation-timing-function: linear;
+ }
+ .greenbox {
+ position: absolute;
+ width: 50px;
+ height: 50px;
+ top: 75px;
+ left: 75px;
+ background: green;
+ }
+</style>
+<p>You should see a light-blue rectangle with a green box. Neither cyan nor white.</p>
+<div class="square"></div>
+<div class="filt">
+ <div class="greenbox"></div>
+</div>
diff --git a/tests/wpt/web-platform-tests/css/filter-effects/css-backdrop-filters-animation-sepia-ref.html b/tests/wpt/web-platform-tests/css/filter-effects/css-backdrop-filters-animation-sepia-ref.html
new file mode 100644
index 00000000000..b368abba249
--- /dev/null
+++ b/tests/wpt/web-platform-tests/css/filter-effects/css-backdrop-filters-animation-sepia-ref.html
@@ -0,0 +1,34 @@
+<!DOCTYPE html>
+<title>CSS Backdrop Filters Animation: Sepia Reference</title>
+<link rel="author" title="Mason Freed" href="mailto:masonfreed@chromium.org">
+<style>
+ .square {
+ position: absolute;
+ width: 100px;
+ height: 100px;
+ top: 100px;
+ left: 100px;
+ background: blue;
+ }
+ .filt {
+ position: absolute;
+ width: 200px;
+ height: 200px;
+ top: 50px;
+ left: 50px;
+ backdrop-filter: sepia(50%);
+ }
+ .greenbox {
+ position: absolute;
+ width: 50px;
+ height: 50px;
+ top: 75px;
+ left: 75px;
+ background: green;
+ }
+</style>
+<p>You should see a dark blue rectangle with a green box.</p>
+<div class="square"></div>
+<div class="filt">
+ <div class="greenbox"></div>
+</div>
diff --git a/tests/wpt/web-platform-tests/css/filter-effects/css-backdrop-filters-animation-sepia.html b/tests/wpt/web-platform-tests/css/filter-effects/css-backdrop-filters-animation-sepia.html
new file mode 100644
index 00000000000..8cd9290546a
--- /dev/null
+++ b/tests/wpt/web-platform-tests/css/filter-effects/css-backdrop-filters-animation-sepia.html
@@ -0,0 +1,48 @@
+<!DOCTYPE html>
+<title>CSS Backdrop Filters Animation: Sepia</title>
+<link rel="author" title="Mason Freed" href="mailto:masonfreed@chromium.org">
+<link rel="help" href="https://drafts.fxtf.org/filter-effects-2/#BackdropFilterProperty">
+<link rel="match" href="css-backdrop-filters-animation-sepia-ref.html">
+<style>
+ @keyframes animate {
+ 0% {
+ backdrop-filter: sepia(100%);
+ }
+ 100% {
+ backdrop-filter: none;
+ }
+ }
+ .square {
+ position: absolute;
+ width: 100px;
+ height: 100px;
+ top: 100px;
+ left: 100px;
+ background: blue;
+ }
+ .filt {
+ position: absolute;
+ width: 200px;
+ height: 200px;
+ top: 50px;
+ left: 50px;
+ animation-name: animate;
+ animation-play-state: paused;
+ animation-delay: -2s;
+ animation-duration: 4s;
+ animation-timing-function: linear;
+ }
+ .greenbox {
+ position: absolute;
+ width: 50px;
+ height: 50px;
+ top: 75px;
+ left: 75px;
+ background: green;
+ }
+</style>
+<p>You should see a dark blue rectangle with a green box.</p>
+<div class="square"></div>
+<div class="filt">
+ <div class="greenbox"></div>
+</div>
diff --git a/tests/wpt/web-platform-tests/css/selectors/floating-first-letter-05d0.html b/tests/wpt/web-platform-tests/css/selectors/floating-first-letter-05d0.html
index 6848070e6df..68bc77b40f3 100644
--- a/tests/wpt/web-platform-tests/css/selectors/floating-first-letter-05d0.html
+++ b/tests/wpt/web-platform-tests/css/selectors/floating-first-letter-05d0.html
@@ -3,7 +3,7 @@
<title>Drop cap with U+05D0 in the document</title>
<meta name="assert" content="The text placement within :first-line should not be affected by later presence of a right-to-left character.">
<link rel=help href=https://drafts.csswg.org/css-pseudo-4/#first-line-styling>
-<link rel=match href=/css/selectors/floating-first-letter-ref.html>
+<link rel=match href=floating-first-letter-ref.html>
<style>
p:first-line {
background: lightblue;
@@ -17,4 +17,4 @@
color: transparent;
}
</style>
-<p>Ab</p><div>&#x05D0;</div> \ No newline at end of file
+<p>Ab</p><div>&#x05D0;</div>
diff --git a/tests/wpt/web-platform-tests/css/selectors/floating-first-letter-feff.html b/tests/wpt/web-platform-tests/css/selectors/floating-first-letter-feff.html
index 02d256ab7dc..c5cec97fed8 100644
--- a/tests/wpt/web-platform-tests/css/selectors/floating-first-letter-feff.html
+++ b/tests/wpt/web-platform-tests/css/selectors/floating-first-letter-feff.html
@@ -3,7 +3,7 @@
<title>Drop cap with U+FEFF in the document</title>
<meta name="assert" content="The text placement within :first-line should not be affected by later presence of U+FEFF.">
<link rel=help href=https://drafts.csswg.org/css-pseudo-4/#first-line-styling>
-<link rel=match href=/css/selectors/floating-first-letter-ref.html>
+<link rel=match href=floating-first-letter-ref.html>
<style>
p:first-line {
background: lightblue;
@@ -14,4 +14,4 @@
font-size: 4rem;
}
</style>
-<p>Ab</p>&#xFEFF; \ No newline at end of file
+<p>Ab</p>&#xFEFF;
diff --git a/tests/wpt/web-platform-tests/docs/writing-tests/testdriver-tutorial.md b/tests/wpt/web-platform-tests/docs/writing-tests/testdriver-tutorial.md
index b82eb73ab33..a8ef3e07a0d 100644
--- a/tests/wpt/web-platform-tests/docs/writing-tests/testdriver-tutorial.md
+++ b/tests/wpt/web-platform-tests/docs/writing-tests/testdriver-tutorial.md
@@ -5,14 +5,14 @@ Adding new commands to testdriver.js
## Assumptions
We assume the following in this writeup:
- You know what web-platform-tests is and you have a working checkout and can run tests
- - You know what WebDriver or Selenium is
+ - You know what WebDriver is
- Familiarity with JavaScript and Python
## Introduction!
Let's implement window resizing. We can do this via the [Set Window Rect](https://w3c.github.io/webdriver/webdriver-spec.html#dfn-set-window-rect) command in WebDriver.
-First, we need to think of what the API will look like a little. We will be using Selenium and Marionette for this, so we can look and see that they take in x, y coordinates, width and height integers.
+First, we need to think of what the API will look like a little. We will be using WebDriver and Marionette for this, so we can look and see that they take in x, y coordinates, width and height integers.
The first part of this will be browser agnostic, but later we will need to implement a specific layer for each browser (here we will do Firefox and Chrome).
@@ -190,12 +190,12 @@ Now we write the browser specific implementations.
### Chrome
-We will use [executorselenium](https://github.com/web-platform-tests/wpt/blob/master/tools/wptrunner/wptrunner/executors/executorselenium.py) and use the Selenium API (in the future there are plans to use the WebDriver API directly).
+We will use [executorwebdriver](https://github.com/web-platform-tests/wpt/blob/master/tools/wptrunner/wptrunner/executors/executorwebdriver.py) and use the WebDriver API.
There isn't too much work to do here, we just need to define a subclass of the protocol part we defined earlier.
```python
-class SeleniumSetWindowRectProtocolPart(SetWindowRectProtocolPart):
+class WebDriverSetWindowRectProtocolPart(SetWindowRectProtocolPart):
def setup(self):
self.webdriver = self.parent.webdriver
@@ -217,20 +217,20 @@ from .protocol import (BaseProtocolPart,
TestDriverProtocolPart)
```
-Here we have the setup method which just redefines the webdriver object at this level. The important part is the `set_window_rect` function (and it's important it is named that since we called it that earlier). This will be call the Selenium API for [set window rect](http://selenium-python.readthedocs.io/api.html#selenium.webdriver.remote.webdriver.WebDriver.set_window_rect) (`self.webdriver` is a Selenium WebDriver instance here).
+Here we have the setup method which just redefines the webdriver object at this level. The important part is the `set_window_rect` function (and it's important it is named that since we called it that earlier). This will call the WebDriver API for [set window rect](https://w3c.github.io/webdriver/#set-window-rect).
-Finally, we just need to tell the SeleniumProtocol to implement this part.
+Finally, we just need to tell the WebDriverProtocol to implement this part.
```python
-class SeleniumProtocol(Protocol):
- implements = [SeleniumBaseProtocolPart,
- SeleniumTestharnessProtocolPart,
- SeleniumSelectorProtocolPart,
- SeleniumClickProtocolPart,
- SeleniumSendKeysProtocolPart,
+class WebDriverProtocol(Protocol):
+ implements = [WebDriverBaseProtocolPart,
+ WebDriverTestharnessProtocolPart,
+ WebDriverSelectorProtocolPart,
+ WebDriverClickProtocolPart,
+ WebDriverSendKeysProtocolPart,
{... other protocol parts}
- SeleniumSetWindowRectProtocolPart,
- SeleniumTestDriverProtocolPart]
+ WebDriverSetWindowRectProtocolPart, # add this!
+ WebDriverTestDriverProtocolPart]
```
@@ -264,9 +264,9 @@ from .protocol import (BaseProtocolPart,
TestDriverProtocolPart)
```
-Here we have the setup method which just redefines the webdriver object at this level. The important part is the `set_window_rect` function (and it's important it is named that since we called it that earlier). This will be call the Marionette API for [set window rect](http://marionette-client.readthedocs.io/en/master/reference.html#marionette_driver.marionette.Marionette.set_window_rect) (`self.marionette` is a marionette instance here).
+Here we have the setup method which just redefines the webdriver object at this level. The important part is the `set_window_rect` function (and it's important it is named that since we called it that earlier). This will call the Marionette API for [set window rect](https://firefox-source-docs.mozilla.org/python/marionette_driver.html#marionette_driver.marionette.Marionette.set_window_rect) (`self.marionette` is a marionette instance here).
-Finally, we just need to tell the SeleniumProtocol to implement this part.
+Finally, we just need to tell the MarionetteProtocol to implement this part.
```python
class MarionetteProtocol(Protocol):
@@ -278,13 +278,13 @@ class MarionetteProtocol(Protocol):
MarionetteClickProtocolPart,
MarionetteSendKeysProtocolPart,
{... other protocol parts}
- MarionetteSetWindowRectProtocolPart # add this
+ MarionetteSetWindowRectProtocolPart, # add this
MarionetteTestDriverProtocolPart]
```
### Other Browsers
-Other browsers may also use executorselenium (such as safari), or a completely new executor (such as servo). For these, you must change the executor in the same way as we did with chrome and firefox.
+Other browsers (such as safari) may use executorselenium, or a completely new executor (such as servo). For these, you must change the executor in the same way as we did with chrome and firefox.
### Write an infra test
@@ -311,7 +311,7 @@ promise_test(async t => {
### What about testdriver-vendor.js?
The file [testdriver-vendor.js](https://github.com/web-platform-tests/wpt/blob/master/resources/testdriver-vendor.js) is the equivalent to testdriver-extra.js above, except it is
-run instead of testdriver-extra.js in browser specific test environments. For example, in [Chromium LayoutTests](https://cs.chromium.org/chromium/src/third_party/WebKit/LayoutTests/?q=LayoutTests&sq=package:chromium&dr).
+run instead of testdriver-extra.js in browser-specific test environments. For example, in [Chromium web_tests](https://cs.chromium.org/chromium/src/third_party/blink/web_tests/).
### What if I need to return a value from my testdriver API?
diff --git a/tests/wpt/web-platform-tests/html/input/the-placeholder-attribute/multiline-cr.html b/tests/wpt/web-platform-tests/html/input/the-placeholder-attribute/multiline-cr.html
deleted file mode 100644
index 4184ab2c5ce..00000000000
--- a/tests/wpt/web-platform-tests/html/input/the-placeholder-attribute/multiline-cr.html
+++ /dev/null
@@ -1 +0,0 @@
-<!doctype html> <html class="reftest-wait"> <meta charset="utf-8"> <title>input multiline placeholder (CRLF)</title> <link rel="help" href="https://html.spec.whatwg.org/multipage/input.html#the-placeholder-attribute"> <meta name="assert" content="input element's placeholder strips newlines (CRLF)"> <link rel="match" href="/html/input/the-placeholder-attribute/multiline-ref.html"> <input placeholder="this is a multiline placeholder"> <input placeholder="this is&#xd;a multiline&#xd;&#xd;placeholder"> <input id="dynamic"> <script> document.querySelector("#dynamic") .setAttribute("placeholder", "this is\ra multiline\r\rplaceholder"); document.documentElement.classList.remove("reftest-wait"); </script> </html> \ No newline at end of file
diff --git a/tests/wpt/web-platform-tests/html/semantics/forms/the-input-element/multiline-placeholder-cr.html b/tests/wpt/web-platform-tests/html/semantics/forms/the-input-element/multiline-placeholder-cr.html
new file mode 100644
index 00000000000..06f07cbbd84
--- /dev/null
+++ b/tests/wpt/web-platform-tests/html/semantics/forms/the-input-element/multiline-placeholder-cr.html
@@ -0,0 +1 @@
+<!doctype html> <html class="reftest-wait"> <meta charset="utf-8"> <title>input multiline placeholder (CR)</title> <link rel="help" href="https://html.spec.whatwg.org/multipage/input.html#the-placeholder-attribute"> <meta name="assert" content="input element's placeholder strips newlines (CR)"> <link rel="match" href="multiline-placeholder-ref.html"> <input placeholder="this is a multiline placeholder"> <input placeholder="this is&#xd;a multiline&#xd;&#xd;placeholder"> <input id="dynamic"> <script> document.querySelector("#dynamic") .setAttribute("placeholder", "this is\ra multiline\r\rplaceholder"); document.documentElement.classList.remove("reftest-wait"); </script> </html> \ No newline at end of file
diff --git a/tests/wpt/web-platform-tests/html/input/the-placeholder-attribute/multiline-crlf.html b/tests/wpt/web-platform-tests/html/semantics/forms/the-input-element/multiline-placeholder-crlf.html
index 50c91fbe35e..b4336e24d29 100644
--- a/tests/wpt/web-platform-tests/html/input/the-placeholder-attribute/multiline-crlf.html
+++ b/tests/wpt/web-platform-tests/html/semantics/forms/the-input-element/multiline-placeholder-crlf.html
@@ -4,7 +4,7 @@
<title>input multiline placeholder (CRLF)</title>
<link rel="help" href="https://html.spec.whatwg.org/multipage/input.html#the-placeholder-attribute">
<meta name="assert" content="input element's placeholder strips newlines (CRLF)">
-<link rel="match" href="/html/input/the-placeholder-attribute/multiline-ref.html">
+<link rel="match" href="multiline-placeholder-ref.html">
<input placeholder="this is
a multiline
diff --git a/tests/wpt/web-platform-tests/html/input/the-placeholder-attribute/multiline-ref.html b/tests/wpt/web-platform-tests/html/semantics/forms/the-input-element/multiline-placeholder-ref.html
index 2812f86e1e6..2812f86e1e6 100644
--- a/tests/wpt/web-platform-tests/html/input/the-placeholder-attribute/multiline-ref.html
+++ b/tests/wpt/web-platform-tests/html/semantics/forms/the-input-element/multiline-placeholder-ref.html
diff --git a/tests/wpt/web-platform-tests/html/input/the-placeholder-attribute/multiline.html b/tests/wpt/web-platform-tests/html/semantics/forms/the-input-element/multiline-placeholder.html
index 2d7102bd4ac..4d2ec43c3f4 100644
--- a/tests/wpt/web-platform-tests/html/input/the-placeholder-attribute/multiline.html
+++ b/tests/wpt/web-platform-tests/html/semantics/forms/the-input-element/multiline-placeholder.html
@@ -4,7 +4,7 @@
<title>input multiline placeholder</title>
<link rel="help" href="https://html.spec.whatwg.org/multipage/input.html#the-placeholder-attribute">
<meta name="assert" content="input element's placeholder strips newlines">
-<link rel="match" href="/html/input/the-placeholder-attribute/multiline-ref.html">
+<link rel="match" href="multiline-placeholder-ref.html">
<input placeholder="this is
a multiline
diff --git a/tests/wpt/web-platform-tests/html/input/the-disabled-attribute/number-disabled.html b/tests/wpt/web-platform-tests/html/semantics/forms/the-input-element/number-disabled.html
index 11cb82fdda6..11cb82fdda6 100644
--- a/tests/wpt/web-platform-tests/html/input/the-disabled-attribute/number-disabled.html
+++ b/tests/wpt/web-platform-tests/html/semantics/forms/the-input-element/number-disabled.html
diff --git a/tests/wpt/web-platform-tests/lint.whitelist b/tests/wpt/web-platform-tests/lint.whitelist
index 06fcea129fe..04738ee9727 100644
--- a/tests/wpt/web-platform-tests/lint.whitelist
+++ b/tests/wpt/web-platform-tests/lint.whitelist
@@ -100,8 +100,8 @@ CR AT EOL: WebIDL/valid/idl/documentation-dos.widl
CR AT EOL: cors/resources/cors-headers.asis
CR AT EOL: html/semantics/forms/the-textarea-element/multiline-placeholder-cr.html
CR AT EOL: html/semantics/forms/the-textarea-element/multiline-placeholder-crlf.html
-CR AT EOL: html/input/the-placeholder-attribute/multiline-cr.html
-CR AT EOL: html/input/the-placeholder-attribute/multiline-crlf.html
+CR AT EOL: html/semantics/forms/the-input-element/multiline-placeholder-cr.html
+CR AT EOL: html/semantics/forms/the-input-element/multiline-placeholder-crlf.html
CR AT EOL: webvtt/parsing/file-parsing/tests/support/newlines.vtt
# Intentional use of tabs
diff --git a/tests/wpt/web-platform-tests/pointerevents/pointerevent_touch-action-inherit_child-auto-child-none_touch.html b/tests/wpt/web-platform-tests/pointerevents/pointerevent_touch-action-inherit_child-auto-child-none_touch.html
index f05aadf39e8..257043f2249 100644
--- a/tests/wpt/web-platform-tests/pointerevents/pointerevent_touch-action-inherit_child-auto-child-none_touch.html
+++ b/tests/wpt/web-platform-tests/pointerevents/pointerevent_touch-action-inherit_child-auto-child-none_touch.html
@@ -92,7 +92,7 @@
function run() {
var target0 = document.getElementById("target0");
var btnComplete = document.getElementById("btnComplete");
- var clickIsReceived = false;
+ var actions_promise;
// Check if touch-action attribute works properly for embedded divs
// Scrollable-Parent, Child: `auto`, Grand-Child: `none`
@@ -103,7 +103,11 @@
assert_equals(target0.scrollLeft, 0, "scroll x offset should be 0 in the end of the test");
assert_equals(target0.scrollTop, 0, "scroll y offset should be 0 in the end of the test");
});
- clickIsReceived = true;
+
+ // Make sure the test finishes after all the input actions are completed.
+ actions_promise.then( () => {
+ test_touchaction.done();
+ });
updateDescriptionComplete();
});
@@ -112,15 +116,10 @@
});
// Inject touch inputs.
- touchScrollInTarget(scrollTarget, 'down').then(function() {
+ actions_promise = touchScrollInTarget(scrollTarget, 'down').then(function() {
return touchScrollInTarget(scrollTarget, 'right');
}).then(function() {
return clickInTarget("touch", btnComplete);
- }).then(function() {
- test_touchaction.step(function () {
- assert_true(clickIsReceived, "click should be received before the test finishes");
- }, "click should be received before the test finishes");
- test_touchaction.done();
});
}
</script>
diff --git a/tests/wpt/web-platform-tests/pointerevents/pointerevent_touch-action-keyboard-manual.html b/tests/wpt/web-platform-tests/pointerevents/pointerevent_touch-action-keyboard.html
index a41d7078f2e..fdddd3313f4 100644
--- a/tests/wpt/web-platform-tests/pointerevents/pointerevent_touch-action-keyboard-manual.html
+++ b/tests/wpt/web-platform-tests/pointerevents/pointerevent_touch-action-keyboard.html
@@ -7,6 +7,9 @@
<link rel="stylesheet" type="text/css" href="pointerevent_styles.css">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
+ <script src="/resources/testdriver.js"></script>
+ <script src="/resources/testdriver-actions.js"></script>
+ <script src="/resources/testdriver-vendor.js"></script>
<script src="pointerevent_support.js"></script>
<style>
#target0 {
@@ -84,6 +87,7 @@
var target0 = document.getElementById("target0");
var test_touchaction = async_test("touch-action attribute test");
+ var actions_promise;
xScr0 = target0.scrollLeft;
yScr0 = target0.scrollTop;
@@ -107,10 +111,25 @@
}
if(xScrollIsReceived && yScrollIsReceived) {
- test_touchaction.done();
+ // Make sure the test finishes after all the input actions are completed.
+ actions_promise.then( () => {
+ test_touchaction.done();
+ });
updateDescriptionComplete();
}
});
+
+ // Inject keyboard scroll inputs.
+ actions_promise = new test_driver.Actions()
+ .pointerMove(0, 0, {origin: target0})
+ .pointerDown()
+ .pointerUp()
+ .addTick()
+ .keyDown("\uE015")
+ .keyUp("\uE015")
+ .keyDown("\uE014")
+ .keyUp("\uE014")
+ .send();
}
function updateDescriptionNextStepKeyboard() {
diff --git a/tests/wpt/web-platform-tests/resize-observer/svg.html b/tests/wpt/web-platform-tests/resize-observer/svg.html
index e3a1ab66076..61ca97a111b 100644
--- a/tests/wpt/web-platform-tests/resize-observer/svg.html
+++ b/tests/wpt/web-platform-tests/resize-observer/svg.html
@@ -188,7 +188,7 @@ function test5() {
function test6() {
let target = document.querySelector('polygon');
let helper = new ResizeTestHelper(
- "test6: observe svg:path",
+ "test6: observe svg:polygon",
[
{
setup: observer => {
@@ -311,6 +311,58 @@ function test10() {
return helper.start();
}
+function test11() {
+ // <svg>
+ // <view></view>
+ // <defs>
+ // <linearGradient>
+ // <stop></stop>
+ // </linearGradient>
+ // </defs>
+ // </svg>
+ const svgNS = "http://www.w3.org/2000/svg";
+ let svg = document.createElementNS(svgNS, 'svg');
+ document.body.appendChild(svg);
+
+ let view = document.createElementNS(svgNS, 'view');
+ svg.appendChild(view);
+
+ let defs = document.createElementNS(svgNS, 'defs');
+ let linearGradient = document.createElementNS(svgNS, 'linearGradient');
+ let stop = document.createElementNS(svgNS, 'stop');
+ linearGradient.appendChild(stop);
+ defs.appendChild(linearGradient);
+ svg.appendChild(defs);
+
+ let helper = new ResizeTestHelper(
+ "test11: observe svg non-displayable element",
+ [
+ {
+ setup: observer => {
+ observer.observe(view);
+ },
+ notify: (entries, observer) => {
+ assert_unreached("no entries should be observed on <view> Element");
+ },
+ timeout: () => {
+ // expected
+ }
+ },
+ {
+ setup: observer => {
+ observer.observe(stop);
+ },
+ notify: (entries, observer) => {
+ assert_unreached("no entries should be observed on <stop> Element");
+ },
+ timeout: () => {
+ // expected
+ }
+ },
+ ]);
+ return helper.start(() => svg.remove());
+}
+
let guard;
test(_ => {
assert_own_property(window, "ResizeObserver");
@@ -328,6 +380,7 @@ test0()
.then(() => { return test8(); })
.then(() => { return test9(); })
.then(() => { return test10(); })
+ .then(() => { return test11(); })
.then(() => { guard.done(); });
</script>
diff --git a/tests/wpt/web-platform-tests/service-workers/service-worker/Service-Worker-Allowed-header.https.html b/tests/wpt/web-platform-tests/service-workers/service-worker/Service-Worker-Allowed-header.https.html
index 316067cc066..9045c0f4e79 100644
--- a/tests/wpt/web-platform-tests/service-workers/service-worker/Service-Worker-Allowed-header.https.html
+++ b/tests/wpt/web-platform-tests/service-workers/service-worker/Service-Worker-Allowed-header.https.html
@@ -17,88 +17,72 @@ function build_script_url(allowed_path, origin) {
return `${url}?pipe=header(Service-Worker-Allowed,${allowed_path})`;
}
-promise_test(async t => {
- const script = build_script_url('/allowed-path');
- const scope = '/allowed-path';
- const registration = await service_worker_unregister_and_register(
- t, script, scope);
- assert_true(registration instanceof ServiceWorkerRegistration, 'registered');
- assert_equals(registration.scope, normalizeURL(scope));
- return registration.unregister();
-}, 'Registering within Service-Worker-Allowed path');
+// register_test is a promise_test that registers a service worker.
+function register_test(script, scope, description) {
+ promise_test(async t => {
+ t.add_cleanup(() => {
+ return service_worker_unregister(t, scope);
+ });
-promise_test(async t => {
- const script = build_script_url(new URL('/allowed-path', document.location));
- const scope = '/allowed-path';
- const registration = await service_worker_unregister_and_register(
- t, script, scope);
- assert_true(registration instanceof ServiceWorkerRegistration, 'registered');
- assert_equals(registration.scope, normalizeURL(scope));
- return registration.unregister();
-}, 'Registering within Service-Worker-Allowed path (absolute URL)');
+ const registration = await service_worker_unregister_and_register(
+ t, script, scope);
+ assert_true(registration instanceof ServiceWorkerRegistration, 'registered');
+ assert_equals(registration.scope, normalizeURL(scope));
+ }, description);
+}
+
+// register_fail_test is like register_test but expects a SecurityError.
+function register_fail_test(script, scope, description) {
+ promise_test(async t => {
+ t.add_cleanup(() => {
+ return service_worker_unregister(t, scope);
+ });
+
+ await service_worker_unregister(t, scope);
+ await promise_rejects(t,
+ 'SecurityError',
+ navigator.serviceWorker.register(script, {scope}));
+ }, description);
+}
+
+register_test(
+ build_script_url('/allowed-path'),
+ '/allowed-path',
+ 'Registering within Service-Worker-Allowed path');
-promise_test(async t => {
- const script = build_script_url('../allowed-path-with-parent');
- const scope = 'allowed-path-with-parent';
- const registration = await service_worker_unregister_and_register(
- t, script, scope);
- assert_true(registration instanceof ServiceWorkerRegistration, 'registered');
- assert_equals(registration.scope, normalizeURL(scope));
- return registration.unregister();
-}, 'Registering within Service-Worker-Allowed path with parent reference');
+register_test(
+ build_script_url(new URL('/allowed-path', document.location)),
+ '/allowed-path',
+ 'Registering within Service-Worker-Allowed path (absolute URL)');
-promise_test(async t => {
- const script = build_script_url('../allowed-path');
- const scope = '/disallowed-path';
- await service_worker_unregister(t, scope);
- return promise_rejects(t,
- 'SecurityError',
- navigator.serviceWorker.register(script, {scope: scope}),
- 'register should fail');
-}, 'Registering outside Service-Worker-Allowed path');
+register_test(
+ build_script_url('../allowed-path-with-parent'),
+ 'allowed-path-with-parent',
+ 'Registering within Service-Worker-Allowed path with parent reference');
-promise_test(async t => {
- const script = build_script_url('../allowed-path-with-parent');
- const scope = '/allowed-path-with-parent';
- await service_worker_unregister(t, scope);
- return promise_rejects(t,
- 'SecurityError',
- navigator.serviceWorker.register(script, {scope: scope}),
- 'register should fail');
-}, 'Registering outside Service-Worker-Allowed path with parent reference');
+register_fail_test(
+ build_script_url('../allowed-path'),
+ '/disallowed-path',
+ 'Registering outside Service-Worker-Allowed path'),
-promise_test(async t => {
- const script = build_script_url(
- host_info.HTTPS_REMOTE_ORIGIN + '/');
- const scope = 'resources/this-scope-is-normally-allowed'
- const registration = await service_worker_unregister_and_register(
- t, script, scope);
- assert_true(registration instanceof ServiceWorkerRegistration, 'registered');
- assert_equals(registration.scope, normalizeURL(scope));
- return registration.unregister();
-}, 'Service-Worker-Allowed is cross-origin to script, registering on a normally allowed scope');
+register_fail_test(
+ build_script_url('../allowed-path-with-parent'),
+ '/allowed-path-with-parent',
+ 'Registering outside Service-Worker-Allowed path with parent reference');
-promise_test(async t => {
- const script = build_script_url(
- host_info.HTTPS_REMOTE_ORIGIN + '/');
- const scope = '/this-scope-is-normally-disallowed'
- const registration = await service_worker_unregister_and_register(
- t, script, scope);
- assert_true(registration instanceof ServiceWorkerRegistration, 'registered');
- assert_equals(registration.scope, normalizeURL(scope));
- return registration.unregister();
-}, 'Service-Worker-Allowed is cross-origin to script, registering on a normally disallowed scope');
+register_fail_test(
+ build_script_url(host_info.HTTPS_REMOTE_ORIGIN + '/'),
+ 'resources/this-scope-is-normally-allowed',
+ 'Service-Worker-Allowed is cross-origin to script, registering on a normally allowed scope');
-promise_test(async t => {
- const script = build_script_url(
- host_info.HTTPS_REMOTE_ORIGIN + '/cross-origin/',
- host_info.HTTPS_REMOTE_ORIGIN);
- const scope = '/cross-origin/';
- await service_worker_unregister(t, scope);
- return promise_rejects(t,
- 'SecurityError',
- navigator.serviceWorker.register(script, {scope: scope}),
- 'register should fail');
-}, 'Service-Worker-Allowed is cross-origin to page, same-origin to script');
+register_fail_test(
+ build_script_url(host_info.HTTPS_REMOTE_ORIGIN + '/'),
+ '/this-scope-is-normally-disallowed',
+ 'Service-Worker-Allowed is cross-origin to script, registering on a normally disallowed scope');
+register_fail_test(
+ build_script_url(host_info.HTTPS_REMOTE_ORIGIN + '/cross-origin/',
+ host_info.HTTPS_REMOTE_ORIGIN),
+ '/cross-origin/',
+ 'Service-Worker-Allowed is cross-origin to page, same-origin to script');
</script>
diff --git a/tests/wpt/web-platform-tests/tools/wptrunner/requirements.txt b/tests/wpt/web-platform-tests/tools/wptrunner/requirements.txt
index 50560fa8225..14cf86e95ce 100644
--- a/tests/wpt/web-platform-tests/tools/wptrunner/requirements.txt
+++ b/tests/wpt/web-platform-tests/tools/wptrunner/requirements.txt
@@ -3,6 +3,6 @@ mozinfo==1.1.0
mozlog==4.1
mozdebug==0.1.1
pillow==6.0.0
-urllib3[secure]==1.25.2
+urllib3[secure]==1.25.3
requests==2.22.0
-six>=1.8
+six==1.12.0
diff --git a/tests/wpt/web-platform-tests/tools/wptrunner/wptrunner/executors/executormarionette.py b/tests/wpt/web-platform-tests/tools/wptrunner/wptrunner/executors/executormarionette.py
index 8ceb99261e2..7ab701879ff 100644
--- a/tests/wpt/web-platform-tests/tools/wptrunner/wptrunner/executors/executormarionette.py
+++ b/tests/wpt/web-platform-tests/tools/wptrunner/wptrunner/executors/executormarionette.py
@@ -257,6 +257,25 @@ class MarionettePrefsProtocolPart(PrefsProtocolPart):
case prefInterface.PREF_INT:
prefInterface.setIntPref(pref, value);
break;
+ case prefInterface.PREF_INVALID:
+ // Pref doesn't seem to be defined already; guess at the
+ // right way to set it based on the type of value we have.
+ switch (typeof value) {
+ case "boolean":
+ prefInterface.setBoolPref(pref, value);
+ break;
+ case "string":
+ prefInterface.setCharPref(pref, value);
+ break;
+ case "number":
+ prefInterface.setIntPref(pref, value);
+ break;
+ default:
+ throw new Error("Unknown pref value type: " + (typeof value));
+ }
+ break;
+ default:
+ throw new Error("Unknown pref type " + type);
}
""" % (name, value)
with self.marionette.using_context(self.marionette.CONTEXT_CHROME):
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 505a9281f57..860d363f2c9 100644
--- a/tests/wpt/web-platform-tests/webxr/resources/webxr_util.js
+++ b/tests/wpt/web-platform-tests/webxr/resources/webxr_util.js
@@ -52,11 +52,13 @@ function xr_session_promise_test(
.then((session) => {
testSession = session;
session.mode = sessionMode;
+ let glLayer = new XRWebGLLayer(session, gl, {
+ compositionDisabled: session.mode == 'inline'
+ });
// Session must have a baseLayer or frame requests
// will be ignored.
session.updateRenderState({
- baseLayer: new XRWebGLLayer(session, gl),
- outputContext: getOutputContext()
+ baseLayer: glLayer
});
resolve(func(session, testDeviceController, t));
})
@@ -78,15 +80,6 @@ function xr_session_promise_test(
properties);
}
-// A utility function to create an output context as required by non-immersive
-// sessions.
-// https://immersive-web.github.io/webxr/#xrsessioncreationoptions-interface
-function getOutputContext() {
- let outputCanvas = document.createElement('canvas');
- document.body.appendChild(outputCanvas);
- return outputCanvas.getContext('xrpresent');
-}
-
// This functions calls a callback with each API object as specified
// by https://immersive-web.github.io/webxr/spec/latest/, allowing
// checks to be made on all ojects.
diff --git a/tests/wpt/web-platform-tests/webxr/xrSession_transfer_outputContext.https.html b/tests/wpt/web-platform-tests/webxr/xrSession_transfer_outputContext.https.html
deleted file mode 100644
index 759d97ba184..00000000000
--- a/tests/wpt/web-platform-tests/webxr/xrSession_transfer_outputContext.https.html
+++ /dev/null
@@ -1,59 +0,0 @@
-<!DOCTYPE html>
-<body>
- <script src=/resources/testharness.js></script>
- <script src=/resources/testharnessreport.js></script>
- <script src="resources/webxr_util.js"></script>
- <canvas></canvas>
- <script>
- xr_promise_test(
- "Ensure that XRPresentationContexts are properly transfered between session",
- (t) => {
- return XRTest.simulateDeviceConnection({ supportsImmersive:false })
- .then( (controller) => {
- return Promise.all([
- navigator.xr.requestSession('inline'),
- navigator.xr.requestSession('inline')
- ]).then((sessions) => {
- t.step(() => {
- assert_not_equals(sessions[0], null);
- assert_not_equals(sessions[1], null);
- });
-
- const webglCanvas = document.getElementsByTagName('canvas')[0];
- let gl = webglCanvas.getContext('webgl', {xrCompatible: true});
- let outputContext = getOutputContext();
-
- sessions[0].updateRenderState({
- baseLayer: new XRWebGLLayer(sessions[0], gl),
- outputContext: outputContext
- });
-
- return new Promise((resolve, reject) => {
- sessions[0].requestAnimationFrame((time, xrFrame) => {
- sessions[1].updateRenderState({
- baseLayer: new XRWebGLLayer(sessions[1], gl),
- outputContext: outputContext
- });
-
- t.step(() => {
- // outputContext reassignment should not happen until the next frame is processed.
- assert_equals(sessions[0].renderState.outputContext, outputContext);
- assert_equals(sessions[1].renderState.outputContext, null);
- });
-
- sessions[1].requestAnimationFrame((time, xrFrame) => {
- t.step(() => {
- // Ensure the outputContext was properly reassigned from one context to the other.
- assert_equals(sessions[0].renderState.outputContext, null);
- assert_equals(sessions[1].renderState.outputContext, outputContext);
- });
-
- resolve();
- });
- });
- });
- });
- });
- });
- </script>
-</body>