aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--tests/wpt/metadata-layout-2020/css/CSS2/floats/hit-test-floats-003.html.ini (renamed from tests/wpt/metadata-layout-2020/css/CSS2/floats/hit-test-floats-004.html.ini)2
-rw-r--r--tests/wpt/metadata-layout-2020/css/CSS2/floats/hit-test-floats-005.html.ini4
-rw-r--r--tests/wpt/metadata-layout-2020/css/css-backgrounds/background-position-subpixel-at-border.tentative.html.ini2
-rw-r--r--tests/wpt/metadata-layout-2020/css/css-transforms/transform-scale-hittest.html.ini3
-rw-r--r--tests/wpt/metadata-layout-2020/css/css-transitions/no-transition-from-ua-to-blocking-stylesheet.html.ini2
-rw-r--r--tests/wpt/metadata-layout-2020/fetch/content-type/response.window.js.ini20
-rw-r--r--tests/wpt/metadata-layout-2020/fetch/content-type/script.window.js.ini15
-rw-r--r--tests/wpt/metadata-layout-2020/fetch/nosniff/parsing-nosniff.window.js.ini3
-rw-r--r--tests/wpt/metadata-layout-2020/html/browsers/history/the-history-interface/traverse_the_history_1.html.ini4
-rw-r--r--tests/wpt/metadata-layout-2020/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_popups_nonescaping-1.html.ini4
-rw-r--r--tests/wpt/metadata-layout-2020/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_popups_nonescaping-3.html.ini4
-rw-r--r--tests/wpt/metadata-layout-2020/html/semantics/scripting-1/the-script-element/execution-timing/077.html.ini4
-rw-r--r--tests/wpt/metadata-layout-2020/mediasession/positionstate.html.ini4
-rw-r--r--tests/wpt/metadata-layout-2020/webaudio/the-audio-api/the-audiobuffersourcenode-interface/audiobuffersource-multi-channels.html.ini3
-rw-r--r--tests/wpt/metadata-layout-2020/webaudio/the-audio-api/the-audiobuffersourcenode-interface/sub-sample-buffer-stitching.html.ini6
-rw-r--r--tests/wpt/metadata-layout-2020/webmessaging/with-ports/018.html.ini5
-rw-r--r--tests/wpt/metadata-layout-2020/workers/semantics/multiple-workers/005.html.ini1
-rw-r--r--tests/wpt/metadata-layout-2020/workers/shared-worker-in-data-url-context.window.js.ini5
-rw-r--r--tests/wpt/metadata/MANIFEST.json229
-rw-r--r--tests/wpt/metadata/css/CSS2/floats/hit-test-floats-003.html.ini (renamed from tests/wpt/metadata/css/CSS2/floats/hit-test-floats-004.html.ini)2
-rw-r--r--tests/wpt/metadata/css/CSS2/floats/hit-test-floats-005.html.ini4
-rw-r--r--tests/wpt/metadata/css/css-transforms/transform-scale-hittest.html.ini3
-rw-r--r--tests/wpt/metadata/css/css-transitions/no-transition-from-ua-to-blocking-stylesheet.html.ini2
-rw-r--r--tests/wpt/metadata/css/cssom-view/elementFromPoint-001.html.ini4
-rw-r--r--tests/wpt/metadata/fetch/content-type/response.window.js.ini12
-rw-r--r--tests/wpt/metadata/fetch/content-type/script.window.js.ini7
-rw-r--r--tests/wpt/metadata/fetch/nosniff/parsing-nosniff.window.js.ini3
-rw-r--r--tests/wpt/metadata/html/browsers/history/the-history-interface/traverse_the_history_1.html.ini4
-rw-r--r--tests/wpt/metadata/html/browsers/history/the-history-interface/traverse_the_history_2.html.ini4
-rw-r--r--tests/wpt/metadata/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_popups_nonescaping-1.html.ini3
-rw-r--r--tests/wpt/metadata/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_popups_nonescaping-3.html.ini3
-rw-r--r--tests/wpt/metadata/html/semantics/scripting-1/the-script-element/execution-timing/077.html.ini4
-rw-r--r--tests/wpt/metadata/mediasession/positionstate.html.ini4
-rw-r--r--tests/wpt/metadata/webaudio/the-audio-api/the-audiobuffersourcenode-interface/audiobuffersource-multi-channels.html.ini3
-rw-r--r--tests/wpt/metadata/webaudio/the-audio-api/the-audiobuffersourcenode-interface/sub-sample-buffer-stitching.html.ini3
-rw-r--r--tests/wpt/metadata/webmessaging/with-ports/018.html.ini5
-rw-r--r--tests/wpt/metadata/workers/semantics/multiple-workers/005.html.ini1
-rw-r--r--tests/wpt/metadata/workers/shared-worker-in-data-url-context.window.js.ini5
-rw-r--r--tests/wpt/web-platform-tests/.azure-pipelines.yml4
-rw-r--r--tests/wpt/web-platform-tests/animation-worklet/idlharness.any.js1
-rw-r--r--tests/wpt/web-platform-tests/css/css-backgrounds/background-position-subpixel-at-border.tentative.html89
-rw-r--r--tests/wpt/web-platform-tests/css/css-backgrounds/reference/background-position-subpixel-at-border-ref.tentative.html87
-rw-r--r--tests/wpt/web-platform-tests/css/css-backgrounds/resources/green1x50.pngbin0 -> 151 bytes
-rw-r--r--tests/wpt/web-platform-tests/css/css-backgrounds/resources/green50x1.pngbin0 -> 148 bytes
-rw-r--r--tests/wpt/web-platform-tests/css/css-fonts/matching/README.md6
-rw-r--r--tests/wpt/web-platform-tests/css/css-fonts/matching/resources/variabletest_matching.ttfbin4552 -> 4544 bytes
-rw-r--r--tests/wpt/web-platform-tests/css/css-grid/alignment/grid-alignment-style-changes-008.html9
-rw-r--r--tests/wpt/web-platform-tests/css/css-grid/alignment/grid-block-axis-alignment-auto-margins-001.html7
-rw-r--r--tests/wpt/web-platform-tests/css/css-grid/alignment/grid-block-axis-alignment-auto-margins-002.html6
-rw-r--r--tests/wpt/web-platform-tests/css/css-grid/alignment/grid-block-axis-alignment-auto-margins-003.html6
-rw-r--r--tests/wpt/web-platform-tests/css/css-grid/alignment/grid-block-axis-alignment-auto-margins-004.html6
-rw-r--r--tests/wpt/web-platform-tests/css/css-grid/alignment/grid-block-axis-alignment-auto-margins-005.html6
-rw-r--r--tests/wpt/web-platform-tests/css/css-grid/alignment/grid-block-axis-alignment-auto-margins-006.html6
-rw-r--r--tests/wpt/web-platform-tests/css/css-grid/alignment/grid-block-axis-alignment-auto-margins-007.html6
-rw-r--r--tests/wpt/web-platform-tests/css/css-grid/alignment/grid-container-baseline-001.html26
-rw-r--r--tests/wpt/web-platform-tests/css/css-grid/alignment/grid-inline-axis-alignment-auto-margins-001.html8
-rw-r--r--tests/wpt/web-platform-tests/css/css-grid/alignment/grid-inline-axis-alignment-auto-margins-002.html6
-rw-r--r--tests/wpt/web-platform-tests/css/css-grid/alignment/grid-inline-axis-alignment-auto-margins-003.html6
-rw-r--r--tests/wpt/web-platform-tests/css/css-grid/alignment/grid-inline-axis-alignment-auto-margins-004.html6
-rw-r--r--tests/wpt/web-platform-tests/css/css-grid/alignment/grid-inline-axis-alignment-auto-margins-005.html4
-rw-r--r--tests/wpt/web-platform-tests/css/css-grid/alignment/grid-inline-axis-alignment-auto-margins-006.html4
-rw-r--r--tests/wpt/web-platform-tests/css/css-grid/alignment/grid-inline-axis-alignment-auto-margins-007.html6
-rw-r--r--tests/wpt/web-platform-tests/editing/run/caretnavigation.html69
-rw-r--r--tests/wpt/web-platform-tests/feature-policy/feature-policy-nested-header-policy-disallowed-for-all.https.sub.html1
-rw-r--r--tests/wpt/web-platform-tests/fetch/cors-rfc1918/idlharness.tentative.any.js1
-rw-r--r--tests/wpt/web-platform-tests/html/webappapis/structured-clone/structured-clone-battery-of-tests.js14
-rw-r--r--tests/wpt/web-platform-tests/mathml/tools/axisheight.py3
-rw-r--r--tests/wpt/web-platform-tests/mathml/tools/fractions.py30
-rw-r--r--tests/wpt/web-platform-tests/mathml/tools/largeop.py11
-rw-r--r--tests/wpt/web-platform-tests/mathml/tools/limits.py12
-rw-r--r--tests/wpt/web-platform-tests/mathml/tools/mathvariant-transforms.py2
-rw-r--r--tests/wpt/web-platform-tests/mathml/tools/operator-dictionary.py2
-rw-r--r--tests/wpt/web-platform-tests/mathml/tools/percentscaledown.py9
-rw-r--r--tests/wpt/web-platform-tests/mathml/tools/radicals.py21
-rw-r--r--tests/wpt/web-platform-tests/mathml/tools/scripts.py30
-rw-r--r--tests/wpt/web-platform-tests/mathml/tools/stacks.py18
-rw-r--r--tests/wpt/web-platform-tests/mathml/tools/stretchstacks.py12
-rw-r--r--tests/wpt/web-platform-tests/mathml/tools/underover.py12
-rw-r--r--tests/wpt/web-platform-tests/mathml/tools/use-typo-lineheight.py3
-rw-r--r--tests/wpt/web-platform-tests/mathml/tools/utils/mathfont.py5
-rw-r--r--tests/wpt/web-platform-tests/mathml/tools/utils/misc.py1
-rw-r--r--tests/wpt/web-platform-tests/mathml/tools/xHeight.py3
-rw-r--r--tests/wpt/web-platform-tests/mediasession/positionstate.html16
-rw-r--r--tests/wpt/web-platform-tests/origin-policy/bad-server/bad-headers.https.html51
-rw-r--r--tests/wpt/web-platform-tests/origin-policy/bad-server/resources/subframe-with-bad-header.py13
-rw-r--r--tests/wpt/web-platform-tests/pointerevents/pointerevent_touch-action-button-none-test_touch.html2
-rw-r--r--tests/wpt/web-platform-tests/resize-observer/devicepixel.html2
-rw-r--r--tests/wpt/web-platform-tests/resize-observer/observe.html164
-rw-r--r--tests/wpt/web-platform-tests/resize-observer/svg.html48
-rw-r--r--tests/wpt/web-platform-tests/resources/idlharness.js4
-rw-r--r--tests/wpt/web-platform-tests/resources/testharness.js2
-rw-r--r--tests/wpt/web-platform-tests/server-timing/idlharness.https.any.js1
-rw-r--r--tests/wpt/web-platform-tests/shadow-dom/declarative/declarative-shadow-dom.tentative.html117
-rw-r--r--tests/wpt/web-platform-tests/tools/requirements_flake8.txt2
-rw-r--r--tests/wpt/web-platform-tests/uievents/idlharness.window.js1
-rw-r--r--tests/wpt/web-platform-tests/vibration/silent-ignore.html13
96 files changed, 1039 insertions, 357 deletions
diff --git a/tests/wpt/metadata-layout-2020/css/CSS2/floats/hit-test-floats-004.html.ini b/tests/wpt/metadata-layout-2020/css/CSS2/floats/hit-test-floats-003.html.ini
index 4bfb0c2053a..f29da48a2a0 100644
--- a/tests/wpt/metadata-layout-2020/css/CSS2/floats/hit-test-floats-004.html.ini
+++ b/tests/wpt/metadata-layout-2020/css/CSS2/floats/hit-test-floats-003.html.ini
@@ -1,4 +1,4 @@
-[hit-test-floats-004.html]
+[hit-test-floats-003.html]
[Miss float below something else]
expected: FAIL
diff --git a/tests/wpt/metadata-layout-2020/css/CSS2/floats/hit-test-floats-005.html.ini b/tests/wpt/metadata-layout-2020/css/CSS2/floats/hit-test-floats-005.html.ini
new file mode 100644
index 00000000000..baa9f1a7541
--- /dev/null
+++ b/tests/wpt/metadata-layout-2020/css/CSS2/floats/hit-test-floats-005.html.ini
@@ -0,0 +1,4 @@
+[hit-test-floats-005.html]
+ [Miss clipped float]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata-layout-2020/css/css-backgrounds/background-position-subpixel-at-border.tentative.html.ini b/tests/wpt/metadata-layout-2020/css/css-backgrounds/background-position-subpixel-at-border.tentative.html.ini
new file mode 100644
index 00000000000..2afd3134552
--- /dev/null
+++ b/tests/wpt/metadata-layout-2020/css/css-backgrounds/background-position-subpixel-at-border.tentative.html.ini
@@ -0,0 +1,2 @@
+[background-position-subpixel-at-border.tentative.html]
+ expected: FAIL
diff --git a/tests/wpt/metadata-layout-2020/css/css-transforms/transform-scale-hittest.html.ini b/tests/wpt/metadata-layout-2020/css/css-transforms/transform-scale-hittest.html.ini
index 4667986e037..4a1e8110f6f 100644
--- a/tests/wpt/metadata-layout-2020/css/css-transforms/transform-scale-hittest.html.ini
+++ b/tests/wpt/metadata-layout-2020/css/css-transforms/transform-scale-hittest.html.ini
@@ -1,7 +1,4 @@
[transform-scale-hittest.html]
- [Hit test within unscaled box]
- expected: FAIL
-
[Hit test intersecting scaled box]
expected: FAIL
diff --git a/tests/wpt/metadata-layout-2020/css/css-transitions/no-transition-from-ua-to-blocking-stylesheet.html.ini b/tests/wpt/metadata-layout-2020/css/css-transitions/no-transition-from-ua-to-blocking-stylesheet.html.ini
index e35a452a186..70a00a101f6 100644
--- a/tests/wpt/metadata-layout-2020/css/css-transitions/no-transition-from-ua-to-blocking-stylesheet.html.ini
+++ b/tests/wpt/metadata-layout-2020/css/css-transitions/no-transition-from-ua-to-blocking-stylesheet.html.ini
@@ -1,2 +1,2 @@
[no-transition-from-ua-to-blocking-stylesheet.html]
- expected: TIMEOUT
+ expected: FAIL
diff --git a/tests/wpt/metadata-layout-2020/fetch/content-type/response.window.js.ini b/tests/wpt/metadata-layout-2020/fetch/content-type/response.window.js.ini
index 0d4e7c02632..e12eb971372 100644
--- a/tests/wpt/metadata-layout-2020/fetch/content-type/response.window.js.ini
+++ b/tests/wpt/metadata-layout-2020/fetch/content-type/response.window.js.ini
@@ -39,9 +39,6 @@
[fetch(): separate response Content-Type: text/plain;charset=gbk text/html]
expected: NOTRUN
- [<iframe>: combined response Content-Type: text/html;" text/plain]
- expected: FAIL
-
[Request: combined response Content-Type: text/html */*]
expected: NOTRUN
@@ -93,9 +90,6 @@
[fetch(): combined response Content-Type: text/plain;charset=gbk text/plain]
expected: NOTRUN
- [<iframe>: separate response Content-Type: text/html */*;charset=gbk]
- expected: FAIL
-
[Request: combined response Content-Type: text/html text/plain]
expected: NOTRUN
@@ -246,9 +240,6 @@
[Response: combined response Content-Type: text/html;charset=gbk text/plain text/html]
expected: NOTRUN
- [<iframe>: separate response Content-Type: text/html;" \\" text/plain]
- expected: FAIL
-
[Response: combined response Content-Type: text/html;charset=gbk text/html;x=",text/plain]
expected: NOTRUN
@@ -327,6 +318,15 @@
[Response: combined response Content-Type: text/html;" \\" text/plain ";charset=GBK]
expected: NOTRUN
- [<iframe>: separate response Content-Type: text/plain */*;charset=gbk]
+ [<iframe>: combined response Content-Type: */* text/html]
+ expected: FAIL
+
+ [<iframe>: combined response Content-Type: text/html;charset=gbk text/plain text/html]
+ expected: FAIL
+
+ [<iframe>: separate response Content-Type: text/html;x=" text/plain]
+ expected: FAIL
+
+ [<iframe>: combined response Content-Type: text/html;x=" text/plain]
expected: FAIL
diff --git a/tests/wpt/metadata-layout-2020/fetch/content-type/script.window.js.ini b/tests/wpt/metadata-layout-2020/fetch/content-type/script.window.js.ini
index c2400c3510e..6ab9cf21dc0 100644
--- a/tests/wpt/metadata-layout-2020/fetch/content-type/script.window.js.ini
+++ b/tests/wpt/metadata-layout-2020/fetch/content-type/script.window.js.ini
@@ -38,15 +38,9 @@
[separate x/x;charset=windows-1252 text/javascript]
expected: FAIL
- [separate text/javascript; charset=windows-1252 text/javascript]
- expected: FAIL
-
[combined text/javascript;charset=windows-1252 x/x text/javascript]
expected: FAIL
- [separate text/javascript;charset=windows-1252 text/javascript]
- expected: FAIL
-
[separate x/x;" x/y;\\" text/javascript;charset=windows-1252;" text/javascript]
expected: FAIL
@@ -62,3 +56,12 @@
[combined text/javascript ]
expected: FAIL
+ [separate text/javascript;charset=windows-1252 error text/javascript]
+ expected: FAIL
+
+ [separate text/javascript error]
+ expected: FAIL
+
+ [separate text/javascript ]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata-layout-2020/fetch/nosniff/parsing-nosniff.window.js.ini b/tests/wpt/metadata-layout-2020/fetch/nosniff/parsing-nosniff.window.js.ini
index f11fe97fb8b..87c807a49ff 100644
--- a/tests/wpt/metadata-layout-2020/fetch/nosniff/parsing-nosniff.window.js.ini
+++ b/tests/wpt/metadata-layout-2020/fetch/nosniff/parsing-nosniff.window.js.ini
@@ -2,9 +2,6 @@
[X-Content-Type-Options%3A%20nosniff%0B%2Cnosniff]
expected: FAIL
- [X-Content-Type-Options%3A%20%22nosniFF%22]
- expected: FAIL
-
[X-Content-Type-Options%3A%20nosniff%2C%2C%40%23%24%23%25%25%26%5E%26%5E*()()11!]
expected: FAIL
diff --git a/tests/wpt/metadata-layout-2020/html/browsers/history/the-history-interface/traverse_the_history_1.html.ini b/tests/wpt/metadata-layout-2020/html/browsers/history/the-history-interface/traverse_the_history_1.html.ini
new file mode 100644
index 00000000000..87b07c3e670
--- /dev/null
+++ b/tests/wpt/metadata-layout-2020/html/browsers/history/the-history-interface/traverse_the_history_1.html.ini
@@ -0,0 +1,4 @@
+[traverse_the_history_1.html]
+ [Multiple history traversals from the same task]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata-layout-2020/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_popups_nonescaping-1.html.ini b/tests/wpt/metadata-layout-2020/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_popups_nonescaping-1.html.ini
new file mode 100644
index 00000000000..1b74d6e073d
--- /dev/null
+++ b/tests/wpt/metadata-layout-2020/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_popups_nonescaping-1.html.ini
@@ -0,0 +1,4 @@
+[iframe_sandbox_popups_nonescaping-1.html]
+ [Check that popups from a sandboxed iframe do not escape the sandbox]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata-layout-2020/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_popups_nonescaping-3.html.ini b/tests/wpt/metadata-layout-2020/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_popups_nonescaping-3.html.ini
new file mode 100644
index 00000000000..7a36937927c
--- /dev/null
+++ b/tests/wpt/metadata-layout-2020/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_popups_nonescaping-3.html.ini
@@ -0,0 +1,4 @@
+[iframe_sandbox_popups_nonescaping-3.html]
+ [Check that popups from a sandboxed iframe do not escape the sandbox]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata-layout-2020/html/semantics/scripting-1/the-script-element/execution-timing/077.html.ini b/tests/wpt/metadata-layout-2020/html/semantics/scripting-1/the-script-element/execution-timing/077.html.ini
new file mode 100644
index 00000000000..bcd2fd0eab8
--- /dev/null
+++ b/tests/wpt/metadata-layout-2020/html/semantics/scripting-1/the-script-element/execution-timing/077.html.ini
@@ -0,0 +1,4 @@
+[077.html]
+ [ adding several types of scripts through the DOM and removing some of them confuses scheduler ]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata-layout-2020/mediasession/positionstate.html.ini b/tests/wpt/metadata-layout-2020/mediasession/positionstate.html.ini
new file mode 100644
index 00000000000..1dd96b4dd09
--- /dev/null
+++ b/tests/wpt/metadata-layout-2020/mediasession/positionstate.html.ini
@@ -0,0 +1,4 @@
+[positionstate.html]
+ [Test setPositionState with negative playback rate]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata-layout-2020/webaudio/the-audio-api/the-audiobuffersourcenode-interface/audiobuffersource-multi-channels.html.ini b/tests/wpt/metadata-layout-2020/webaudio/the-audio-api/the-audiobuffersourcenode-interface/audiobuffersource-multi-channels.html.ini
index 5c7994f5bae..e9b074e6b6b 100644
--- a/tests/wpt/metadata-layout-2020/webaudio/the-audio-api/the-audiobuffersourcenode-interface/audiobuffersource-multi-channels.html.ini
+++ b/tests/wpt/metadata-layout-2020/webaudio/the-audio-api/the-audiobuffersourcenode-interface/audiobuffersource-multi-channels.html.ini
@@ -8,3 +8,6 @@
[X Rendered audio for channel 5 does not equal [0,0.0626220703125,0.125030517578125,0.18695068359375,0.24810791015625,0.308319091796875,0.3673095703125,0.42486572265625,0.480743408203125,0.53472900390625,0.58660888671875,0.636199951171875,0.68328857421875,0.727691650390625,0.76922607421875,0.8077392578125...\] with an element-wise tolerance of {"absoluteThreshold":0.000030517578125,"relativeThreshold":0}.\n\tIndex\tActual\t\t\tExpected\t\tAbsError\t\tRelError\t\tTest threshold\n\t[1\]\t3.6732959747314453e-1\t6.2622070312500000e-2\t3.0470752716064453e-1\t4.8658168859649127e+0\t3.0517578125000000e-5\n\t[2\]\t6.8329977989196777e-1\t1.2503051757812500e-1\t5.5826926231384277e-1\t4.4650639949963384e+0\t3.0517578125000000e-5\n\t[3\]\t9.0373212099075317e-1\t1.8695068359375000e-1\t7.1678143739700317e-1\t3.8340669508039502e+0\t3.0517578125000000e-5\n\t[4\]\t9.9780619144439697e-1\t2.4810791015625000e-1\t7.4969828128814697e-1\t3.0216621502152523e+0\t3.0517578125000000e-5\n\t[5\]\t9.5236867666244507e-1\t3.0831909179687500e-1\t6.4404958486557007e-1\t2.0889059484187866e+0\t3.0517578125000000e-5\n\t...and 44057 more errors.\n\tMax AbsError of 1.9900983572006226e+0 at index of 12357.\n\t[12357\]\t-9.9751412868499756e-1\t9.9258422851562500e-1\t1.9900983572006226e+0\t2.0049667323212912e+0\t3.0517578125000000e-5\n\tMax RelError of Infinity at index of 10584.\n\t[10584\]\t-5.8778524398803711e-1\t0.0000000000000000e+0\t5.8778524398803711e-1\tInfinity\t3.0517578125000000e-5\n]
expected: FAIL
+ [X Rendered audio for channel 5 does not equal [0,0.0626220703125,0.125030517578125,0.18695068359375,0.24810791015625,0.308319091796875,0.3673095703125,0.42486572265625,0.480743408203125,0.53472900390625,0.58660888671875,0.636199951171875,0.68328857421875,0.727691650390625,0.76922607421875,0.8077392578125...\] with an element-wise tolerance of {"absoluteThreshold":0.000030517578125,"relativeThreshold":0}.\n\tIndex\tActual\t\t\tExpected\t\tAbsError\t\tRelError\t\tTest threshold\n\t[1\]\t3.6732959747314453e-1\t6.2622070312500000e-2\t3.0470752716064453e-1\t4.8658168859649127e+0\t3.0517578125000000e-5\n\t[2\]\t6.8329977989196777e-1\t1.2503051757812500e-1\t5.5826926231384277e-1\t4.4650639949963384e+0\t3.0517578125000000e-5\n\t[3\]\t9.0373212099075317e-1\t1.8695068359375000e-1\t7.1678143739700317e-1\t3.8340669508039502e+0\t3.0517578125000000e-5\n\t[4\]\t9.9780619144439697e-1\t2.4810791015625000e-1\t7.4969828128814697e-1\t3.0216621502152523e+0\t3.0517578125000000e-5\n\t[5\]\t9.5236867666244507e-1\t3.0831909179687500e-1\t6.4404958486557007e-1\t2.0889059484187866e+0\t3.0517578125000000e-5\n\t...and 44054 more errors.\n\tMax AbsError of 1.9985451102256775e+0 at index of 27408.\n\t[27408\]\t-9.9997943639755249e-1\t9.9856567382812500e-1\t1.9985451102256775e+0\t2.0014157932787811e+0\t3.0517578125000000e-5\n\tMax RelError of Infinity at index of 14112.\n\t[14112\]\t-9.5105654001235962e-1\t0.0000000000000000e+0\t9.5105654001235962e-1\tInfinity\t3.0517578125000000e-5\n]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata-layout-2020/webaudio/the-audio-api/the-audiobuffersourcenode-interface/sub-sample-buffer-stitching.html.ini b/tests/wpt/metadata-layout-2020/webaudio/the-audio-api/the-audiobuffersourcenode-interface/sub-sample-buffer-stitching.html.ini
index 1c434e642b3..33cd3a72a7f 100644
--- a/tests/wpt/metadata-layout-2020/webaudio/the-audio-api/the-audiobuffersourcenode-interface/sub-sample-buffer-stitching.html.ini
+++ b/tests/wpt/metadata-layout-2020/webaudio/the-audio-api/the-audiobuffersourcenode-interface/sub-sample-buffer-stitching.html.ini
@@ -11,3 +11,9 @@
[< [buffer-stitching-1\] 2 out of 3 assertions were failed.]
expected: FAIL
+ [X Stitched sine-wave buffers at sample rate 44100 does not equal [0,0.06264832615852356,0.12505052983760834,0.18696144223213196,0.24813786149024963,0.308339387178421,0.36732959747314453,0.4248766601085663,0.480754554271698,0.5347436666488647,0.5866320133209229,0.6362156271934509,0.6832997798919678,0.7276994585990906,0.7692402601242065,0.8077589869499207...\] with an element-wise tolerance of {"absoluteThreshold":0.000090957,"relativeThreshold":0}.\n\tIndex\tActual\t\t\tExpected\t\tAbsError\t\tRelError\t\tTest threshold\n\t[31080\]\t5.1020887923182881e-22\t5.6332010030746460e-1\t5.6332010030746460e-1\t1.0000000000000000e+0\t9.0957000000000003e-5\n\t[31081\]\t4.5714559801668507e-41\t6.1397600173950195e-1\t6.1397600173950195e-1\t1.0000000000000000e+0\t9.0957000000000003e-5\n\tMax AbsError of 6.1397600173950195e-1 at index of 31081.\n\tMax RelError of 1.0000000000000000e+0 at index of 31080.\n]
+ expected: FAIL
+
+ [X SNR (45.01863889546195 dB) is not greater than or equal to 85.58. Got 45.01863889546195.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata-layout-2020/webmessaging/with-ports/018.html.ini b/tests/wpt/metadata-layout-2020/webmessaging/with-ports/018.html.ini
new file mode 100644
index 00000000000..663a1f8fa30
--- /dev/null
+++ b/tests/wpt/metadata-layout-2020/webmessaging/with-ports/018.html.ini
@@ -0,0 +1,5 @@
+[018.html]
+ expected: TIMEOUT
+ [origin of the script that invoked the method, javascript:]
+ expected: TIMEOUT
+
diff --git a/tests/wpt/metadata-layout-2020/workers/semantics/multiple-workers/005.html.ini b/tests/wpt/metadata-layout-2020/workers/semantics/multiple-workers/005.html.ini
index f584fce5df1..268949ced5c 100644
--- a/tests/wpt/metadata-layout-2020/workers/semantics/multiple-workers/005.html.ini
+++ b/tests/wpt/metadata-layout-2020/workers/semantics/multiple-workers/005.html.ini
@@ -1,5 +1,4 @@
[005.html]
- expected: ERROR
[dedicated worker in shared worker in dedicated worker]
expected: FAIL
diff --git a/tests/wpt/metadata-layout-2020/workers/shared-worker-in-data-url-context.window.js.ini b/tests/wpt/metadata-layout-2020/workers/shared-worker-in-data-url-context.window.js.ini
index 6d92f8835c6..10dda3a6659 100644
--- a/tests/wpt/metadata-layout-2020/workers/shared-worker-in-data-url-context.window.js.ini
+++ b/tests/wpt/metadata-layout-2020/workers/shared-worker-in-data-url-context.window.js.ini
@@ -1,8 +1,7 @@
[shared-worker-in-data-url-context.window.html]
- expected: TIMEOUT
[Create a shared worker in a data url frame]
- expected: TIMEOUT
+ expected: FAIL
[Create a data url shared worker in a data url frame]
- expected: NOTRUN
+ expected: FAIL
diff --git a/tests/wpt/metadata/MANIFEST.json b/tests/wpt/metadata/MANIFEST.json
index 56a0abafb4c..716faba9a05 100644
--- a/tests/wpt/metadata/MANIFEST.json
+++ b/tests/wpt/metadata/MANIFEST.json
@@ -118298,6 +118298,19 @@
{}
]
],
+ "background-position-subpixel-at-border.tentative.html": [
+ "ad2fa4dc02183b48f76bb8a782e6894704d7b24b",
+ [
+ null,
+ [
+ [
+ "/css/css-backgrounds/reference/background-position-subpixel-at-border-ref.tentative.html",
+ "=="
+ ]
+ ],
+ {}
+ ]
+ ],
"background-repeat": {
"background-repeat-no-repeat.xht": [
"00d428f6ec768f34772964b74ad45415b6bb32a9",
@@ -230822,7 +230835,7 @@
},
"resize-observer": {
"devicepixel.html": [
- "6ecb8246d14dcfb4de9895f9920b4e30832214b6",
+ "7bada9363e2e832738d431570e9c1576da3b755a",
[
null,
[
@@ -236723,7 +236736,7 @@
},
"support": {
".azure-pipelines.yml": [
- "44771797606a3128ed60a59c429f68288723ebe5",
+ "fb78944998e33edde5ea614af1a0cf1adc4f02ca",
[]
],
".codecov.yml": [
@@ -281317,6 +281330,10 @@
"aa68e23fe09ba6e2c4a2391f9b2ae129037f1dde",
[]
],
+ "background-position-subpixel-at-border-ref.tentative.html": [
+ "2964ffa4ce4ed6f144c98f97e2a9d583427424df",
+ []
+ ],
"background-rounded-image-clip.html": [
"2436bedad5022b95f0913d07501e7ebf206f8a51",
[]
@@ -281519,6 +281536,14 @@
"e45bbbe5c5760d905db4bf015b5b7faa27467c7f",
[]
],
+ "green1x50.png": [
+ "4540a11478baaeaa40bf8797bfa0d0e382d13777",
+ []
+ ],
+ "green50x1.png": [
+ "1e90474cebb84d29b2ad22e922e2151eee1aa30b",
+ []
+ ],
"stripes-100.png": [
"cfb6980439ae80abb5a93e392421e8c6d4cfdae2",
[]
@@ -284770,7 +284795,7 @@
[]
],
"README.md": [
- "653f4d933cd0eef271076f02d515cb716ed4659f",
+ "7d333c5bca51454a53f7fd25edb93c5d997abb88",
[]
],
"fixed-stretch-style-over-weight-ref.html": [
@@ -284783,7 +284808,7 @@
],
"resources": {
"variabletest_matching.ttf": [
- "307af4926cbac28f923feebc69d653894e50f560",
+ "7a09643083b14d0573f88dafca1aaf6fadb9338f",
[]
]
},
@@ -324704,7 +324729,7 @@
[]
],
"structured-clone-battery-of-tests.js": [
- "ac5104c7fd77808a2ec9dd4486f711cb5e8e414b",
+ "751a0e1a9ea8b549543f2e78551b0d00b4fc6127",
[]
]
},
@@ -326989,19 +327014,19 @@
},
"tools": {
"axisheight.py": [
- "d588560b650af0d2cb995083f8fff366a542ca44",
+ "abcc492ddb63f98dc8c6e7dbeb54a0d49866931b",
[]
],
"fractions.py": [
- "42cfe468219ce658cfe3943cd78e38ce70a9cdc7",
+ "b5a1894224d8336e16f70333b5c2c894e41176ac",
[]
],
"largeop.py": [
- "58ce7aebcf415eed9f5b161dc869dedc0d3e3e61",
+ "f1f52c4304e595cc647d75a2da85e731a28a97ff",
[]
],
"limits.py": [
- "840a76ffb1a6ac199ff9c655e72262f8955012a2",
+ "029c7b320600210ff6b447e8516394f6e18ce4dd",
[]
],
"math-text.py": [
@@ -327009,11 +327034,11 @@
[]
],
"mathvariant-transforms.py": [
- "dd2994dd5a77554016eaaa027164a6fdaef3b544",
+ "d43d8c0f146348aa72f9399eaee9030b44423f41",
[]
],
"operator-dictionary.py": [
- "8af2bd677be0982afa4d5adbf48d6d11b91394ec",
+ "846ea81a979c275e670ea2e18a4e4b98b755c443",
[]
],
"operator-dictionary.xsl": [
@@ -327021,31 +327046,31 @@
[]
],
"percentscaledown.py": [
- "ea09c4405e48a085d04634638c9186f9dbd18e85",
+ "1571a7e3d85c4db3bb53767d6eb4c347f377baf7",
[]
],
"radicals.py": [
- "90fe1d9cc1e56448fc206f8cf5f2c4e2ba9d02ab",
+ "cf71cc50cafb03d6927504b8c113f711182f43c6",
[]
],
"scripts.py": [
- "add16373845fc09c1ea8431c1e23e8beef03537a",
+ "62c5115e902587b8ea18a01ec847178b9939af14",
[]
],
"stacks.py": [
- "9a4c291e6ea2412b3ac85b297c8ad1eac3d55109",
+ "bd0bf8a117f346629a007239e94255efd010d4ed",
[]
],
"stretchstacks.py": [
- "7b888f49e70c6fdd07caef792ee03d76897695f6",
+ "28f116622d33152270a320c45d51d0f2e8a106e6",
[]
],
"underover.py": [
- "df34e7999602be573a1b25bee8debd0663ab3750",
+ "71a31387b14dd84e6b3797fca3208633127209c8",
[]
],
"use-typo-lineheight.py": [
- "9768979f488e3828dffddc2111e5916546860c47",
+ "48cdd2d6e70410bb7e1b22e4bc1ee08b32018b16",
[]
],
"utils": {
@@ -327054,16 +327079,16 @@
[]
],
"mathfont.py": [
- "53633c915047413b2a4651ad215f559068bdeb91",
+ "03af20668e7274148c50d0fe182b2127e309dea2",
[]
],
"misc.py": [
- "d877a915e5294efcff292a730b142052f252fbb2",
+ "0d05346aa51457ac17cb9d167c8221a19436bf68",
[]
]
},
"xHeight.py": [
- "724352bf91679ea9a7e4d862ad43b5707f9cfb7b",
+ "2103a73a114d2e96f842298e6c5701c58976ea4a",
[]
]
}
@@ -328283,6 +328308,14 @@
]
},
"origin-policy": {
+ "bad-server": {
+ "resources": {
+ "subframe-with-bad-header.py": [
+ "c35daa0c2be170d60db19bc2ae8ea24b25e77ef9",
+ []
+ ]
+ }
+ },
"content-security": {
"resources": {
"allow-unsafe-eval-disallow-images.mjs": [
@@ -331168,7 +331201,7 @@
]
},
"idlharness.js": [
- "4f8ec0d1a663355e38a6425c79383c02342db4ea",
+ "d01da49c2d58959178bac9594d974eb729c0efa7",
[]
],
"idlharness.js.headers": [
@@ -331588,7 +331621,7 @@
[]
],
"testharness.js": [
- "8d3b3e9dd6bf2a9d50b4e464c82d569370e85496",
+ "63883e15504d78c60344338d8b4e97da2d0109a3",
[]
],
"testharness.js.headers": [
@@ -336250,7 +336283,7 @@
[]
],
"requirements_flake8.txt": [
- "0a45224016417cddbf59209196380cce0a089edf",
+ "1c4fb7262e5bcf3c3ca59bd013dcd14887abf327",
[]
],
"requirements_mypy.txt": [
@@ -365967,7 +366000,7 @@
]
],
"idlharness.any.js": [
- "efd2fdeb98dc5093babd24c785145ace9fdc8757",
+ "3517ffc896897c21815c7338035644038bb0e118",
[
"animation-worklet/idlharness.any.html",
{
@@ -365979,8 +366012,13 @@
[
"script",
"/resources/idlharness.js"
+ ],
+ [
+ "timeout",
+ "long"
]
- ]
+ ],
+ "timeout": "long"
}
],
[
@@ -365994,8 +366032,13 @@
[
"script",
"/resources/idlharness.js"
+ ],
+ [
+ "timeout",
+ "long"
]
- ]
+ ],
+ "timeout": "long"
}
]
],
@@ -382083,56 +382126,56 @@
]
],
"grid-alignment-style-changes-008.html": [
- "c7e65dcc2fb56db1acf0290d326a4db072594a4d",
+ "1b13b653c8fa403aa5503dfb9c5babc8ee51f2c9",
[
null,
{}
]
],
"grid-block-axis-alignment-auto-margins-001.html": [
- "a1cc22a41d3f89045eae41e80adb39387464be66",
+ "03beae8db72a4588001880b6e8b7ff3799e60d05",
[
null,
{}
]
],
"grid-block-axis-alignment-auto-margins-002.html": [
- "052836c9e9f8069012dbc1e8f0b75c5e4dbd3563",
+ "077c7a18ff06207f4002c566b71af14ef445c936",
[
null,
{}
]
],
"grid-block-axis-alignment-auto-margins-003.html": [
- "6ff7e3d423e6dfcc708083598753fc99ac8b6b8a",
+ "552070e808416afb8ccf3b9a0009ada0fe1c7f21",
[
null,
{}
]
],
"grid-block-axis-alignment-auto-margins-004.html": [
- "6d80fac7bdb2c265c9a643720b1df5dee3691e8c",
+ "20e9500e1d4f348c9ab651c4b1aa7f741e1e34ca",
[
null,
{}
]
],
"grid-block-axis-alignment-auto-margins-005.html": [
- "5f3d2fa8e23c862e45637b30582adad05c387d97",
+ "98f87f8fd9008cc1b0bd76eeab3991a0c902d32e",
[
null,
{}
]
],
"grid-block-axis-alignment-auto-margins-006.html": [
- "566a878d42b75bcf1701cdd78b8ab6679d6fd2ab",
+ "ee64491930e5d1d64f5dc5d0016f3b952c001e8c",
[
null,
{}
]
],
"grid-block-axis-alignment-auto-margins-007.html": [
- "d9b5632f12a49c378f0b0c00d0df2c77fca57edc",
+ "d9b9484bee75c4d8f54da4db093af73df0dce48d",
[
null,
{}
@@ -382300,7 +382343,7 @@
]
],
"grid-container-baseline-001.html": [
- "d352977f9318395d0fa0c882bc6e1b9754da29ac",
+ "73b3c76b599265d1fe20c0fcf1d55fa763a98fb2",
[
null,
{}
@@ -382335,49 +382378,49 @@
]
],
"grid-inline-axis-alignment-auto-margins-001.html": [
- "d1fb13aa491739a8ccf391d8c065c2c117a48ac9",
+ "932c7f95896ba884b3c85d4f509ac5a78b9fd641",
[
null,
{}
]
],
"grid-inline-axis-alignment-auto-margins-002.html": [
- "f17afa71e3ee859dc5fb33ac6886d9db6e4d1203",
+ "7ea7800cd26a426d2a0a82071e174bc1aaf566ec",
[
null,
{}
]
],
"grid-inline-axis-alignment-auto-margins-003.html": [
- "6500a2961f35d3b31062ba86ea3a395c97e24c7c",
+ "243b524001244e4960e80705614aab3ac29ee622",
[
null,
{}
]
],
"grid-inline-axis-alignment-auto-margins-004.html": [
- "af9c27e95a19f71f1410106da8ab60581f426b44",
+ "8cdaacca78dda656d05c7bc694f88c3980b2f49b",
[
null,
{}
]
],
"grid-inline-axis-alignment-auto-margins-005.html": [
- "fd9e696a55e17dc12079df698860b30b192d149d",
+ "dcf8bef1c9b25588080f7b30612115cc1aac5115",
[
null,
{}
]
],
"grid-inline-axis-alignment-auto-margins-006.html": [
- "4492f9b1ebbe7cbc6eadecd9cde2c1de1afd6192",
+ "7f064c9bb416727e25791cce5be933bb48872982",
[
null,
{}
]
],
"grid-inline-axis-alignment-auto-margins-007.html": [
- "7954e88f987f1ab5bcc4acd45b67ac04b811d558",
+ "2b5acdfe029ec3c2c8b423c0b367f758a22bb504",
[
null,
{}
@@ -403982,6 +404025,15 @@
}
]
],
+ "caretnavigation.html": [
+ "defe7fecfc2850355fe21da8a6d14ed6c5265885",
+ [
+ null,
+ {
+ "testdriver": true
+ }
+ ]
+ ],
"createlink.html": [
"b67357e684a4894abf8d050419d622db658d601b",
[
@@ -417208,10 +417260,12 @@
]
],
"feature-policy-nested-header-policy-disallowed-for-all.https.sub.html": [
- "f15b43576f2cac9b3245a9a52bc825c8d6b2f693",
+ "6194a33b1d763b3a0bfe98f09f78f9be2dae9c8c",
[
null,
- {}
+ {
+ "timeout": "long"
+ }
]
],
"idlharness.window.js": [
@@ -420374,7 +420428,7 @@
},
"cors-rfc1918": {
"idlharness.tentative.any.js": [
- "88468dc19a38a64e6ebdb19b4e92ddf23a3247fc",
+ "1dad943072589a40fd3d685c7cb4f5201a3073d5",
[
"fetch/cors-rfc1918/idlharness.tentative.any.html",
{
@@ -420390,8 +420444,13 @@
[
"script",
"/resources/idlharness.js"
+ ],
+ [
+ "timeout",
+ "long"
]
- ]
+ ],
+ "timeout": "long"
}
],
[
@@ -420409,8 +420468,13 @@
[
"script",
"/resources/idlharness.js"
+ ],
+ [
+ "timeout",
+ "long"
]
- ]
+ ],
+ "timeout": "long"
}
],
[
@@ -420428,8 +420492,13 @@
[
"script",
"/resources/idlharness.js"
+ ],
+ [
+ "timeout",
+ "long"
]
- ]
+ ],
+ "timeout": "long"
}
],
[
@@ -420447,8 +420516,13 @@
[
"script",
"/resources/idlharness.js"
+ ],
+ [
+ "timeout",
+ "long"
]
- ]
+ ],
+ "timeout": "long"
}
]
]
@@ -445735,7 +445809,7 @@
]
],
"positionstate.html": [
- "9033a7be5ce5909e0de9d73e8e6aa02c84387e4d",
+ "9141091a90655fb9009ef5ad131f0824376827b5",
[
null,
{}
@@ -460073,6 +460147,13 @@
},
"origin-policy": {
"bad-server": {
+ "bad-headers.https.html": [
+ "127aa41cef8761d8a331933302bebfa23670ae8d",
+ [
+ null,
+ {}
+ ]
+ ],
"manifest-404.https.html": [
"51436be6766423aeade1c1eb3133fc096bc6a103",
[
@@ -462564,7 +462645,7 @@
]
],
"pointerevent_touch-action-button-none-test_touch.html": [
- "ea4b4f961562576b622c57e750b4ee568314fb26",
+ "42bcb7b843294928ae90d4a563e7e69e12c4d79f",
[
null,
{
@@ -474104,14 +474185,14 @@
]
],
"observe.html": [
- "58f200463df1ff9def0eb8337dd067068f470a1e",
+ "35c517a79698d1f24d8e9e888a3188001b4bb8b2",
[
null,
{}
]
],
"svg.html": [
- "fe8d4282a905ce9451d58e7dfeee90d7bec4066d",
+ "b05a10c82e8054d2ade6b0b0e86317660086d283",
[
null,
{}
@@ -475507,7 +475588,7 @@
]
],
"idlharness.https.any.js": [
- "b55c741df39e4766afd438daa9037b216b7780ad",
+ "44bffcf59e6bf6e03389352e5da76ee0b48e34b8",
[
"server-timing/idlharness.https.any.html",
{
@@ -475519,8 +475600,13 @@
[
"script",
"/resources/idlharness.js"
+ ],
+ [
+ "timeout",
+ "long"
]
- ]
+ ],
+ "timeout": "long"
}
],
[
@@ -475534,8 +475620,13 @@
[
"script",
"/resources/idlharness.js"
+ ],
+ [
+ "timeout",
+ "long"
]
- ]
+ ],
+ "timeout": "long"
}
]
],
@@ -477626,6 +477717,15 @@
{}
]
],
+ "declarative": {
+ "declarative-shadow-dom.tentative.html": [
+ "792d4bf4b3ecd0b8a611cccdae5bc2e726486f25",
+ [
+ null,
+ {}
+ ]
+ ]
+ },
"event-composed-path-after-dom-mutation.html": [
"fd129e036af711b1fa4f9a42fabcc344200fc2d6",
[
@@ -488265,7 +488365,7 @@
]
},
"idlharness.window.js": [
- "928c8c90f0ff4ed99fdec8183cb129bbbea82f3e",
+ "f6a74b8a3a7ac579d1246938eb7419774d0ad821",
[
"uievents/idlharness.window.html",
{
@@ -488277,8 +488377,13 @@
[
"script",
"/resources/idlharness.js"
+ ],
+ [
+ "timeout",
+ "long"
]
- ]
+ ],
+ "timeout": "long"
}
]
],
@@ -491050,10 +491155,12 @@
]
],
"silent-ignore.html": [
- "88ef5092a146606026a7c40eccbc1410038b62bf",
+ "a04c648bd181c24af4e63e8d3cb5ad6ca706654a",
[
null,
- {}
+ {
+ "testdriver": true
+ }
]
]
},
diff --git a/tests/wpt/metadata/css/CSS2/floats/hit-test-floats-004.html.ini b/tests/wpt/metadata/css/CSS2/floats/hit-test-floats-003.html.ini
index 4bfb0c2053a..f29da48a2a0 100644
--- a/tests/wpt/metadata/css/CSS2/floats/hit-test-floats-004.html.ini
+++ b/tests/wpt/metadata/css/CSS2/floats/hit-test-floats-003.html.ini
@@ -1,4 +1,4 @@
-[hit-test-floats-004.html]
+[hit-test-floats-003.html]
[Miss float below something else]
expected: FAIL
diff --git a/tests/wpt/metadata/css/CSS2/floats/hit-test-floats-005.html.ini b/tests/wpt/metadata/css/CSS2/floats/hit-test-floats-005.html.ini
new file mode 100644
index 00000000000..baa9f1a7541
--- /dev/null
+++ b/tests/wpt/metadata/css/CSS2/floats/hit-test-floats-005.html.ini
@@ -0,0 +1,4 @@
+[hit-test-floats-005.html]
+ [Miss clipped float]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/css/css-transforms/transform-scale-hittest.html.ini b/tests/wpt/metadata/css/css-transforms/transform-scale-hittest.html.ini
index f8e7e539aae..4a1e8110f6f 100644
--- a/tests/wpt/metadata/css/css-transforms/transform-scale-hittest.html.ini
+++ b/tests/wpt/metadata/css/css-transforms/transform-scale-hittest.html.ini
@@ -2,6 +2,3 @@
[Hit test intersecting scaled box]
expected: FAIL
- [Hit test within unscaled box]
- expected: FAIL
-
diff --git a/tests/wpt/metadata/css/css-transitions/no-transition-from-ua-to-blocking-stylesheet.html.ini b/tests/wpt/metadata/css/css-transitions/no-transition-from-ua-to-blocking-stylesheet.html.ini
index e35a452a186..70a00a101f6 100644
--- a/tests/wpt/metadata/css/css-transitions/no-transition-from-ua-to-blocking-stylesheet.html.ini
+++ b/tests/wpt/metadata/css/css-transitions/no-transition-from-ua-to-blocking-stylesheet.html.ini
@@ -1,2 +1,2 @@
[no-transition-from-ua-to-blocking-stylesheet.html]
- expected: TIMEOUT
+ expected: FAIL
diff --git a/tests/wpt/metadata/css/cssom-view/elementFromPoint-001.html.ini b/tests/wpt/metadata/css/cssom-view/elementFromPoint-001.html.ini
new file mode 100644
index 00000000000..e38782d8c85
--- /dev/null
+++ b/tests/wpt/metadata/css/cssom-view/elementFromPoint-001.html.ini
@@ -0,0 +1,4 @@
+[elementFromPoint-001.html]
+ [CSSOM View - 5 - extensions to the Document interface]
+ expected: FAIL
+
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 6df74cbc68e..e4cd71d7bfd 100644
--- a/tests/wpt/metadata/fetch/content-type/response.window.js.ini
+++ b/tests/wpt/metadata/fetch/content-type/response.window.js.ini
@@ -312,21 +312,21 @@
[fetch(): separate response Content-Type: text/plain ]
expected: NOTRUN
- [<iframe>: combined response Content-Type: text/html;" text/plain]
- expected: FAIL
-
[<iframe>: combined response Content-Type: text/html */*]
expected: FAIL
[<iframe>: separate response Content-Type: text/html;" text/plain]
expected: FAIL
- [<iframe>: separate response Content-Type: text/html */*;charset=gbk]
+ [<iframe>: combined response Content-Type: */* text/html]
+ expected: FAIL
+
+ [<iframe>: combined response Content-Type: text/html;charset=gbk text/plain text/html]
expected: FAIL
- [<iframe>: separate response Content-Type: text/plain */*;charset=gbk]
+ [<iframe>: separate 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;x=" text/plain]
expected: FAIL
diff --git a/tests/wpt/metadata/fetch/content-type/script.window.js.ini b/tests/wpt/metadata/fetch/content-type/script.window.js.ini
index 8456d88e4f3..70333172a2c 100644
--- a/tests/wpt/metadata/fetch/content-type/script.window.js.ini
+++ b/tests/wpt/metadata/fetch/content-type/script.window.js.ini
@@ -56,9 +56,12 @@
[separate text/javascript x/x]
expected: FAIL
- [separate text/javascript; charset=windows-1252 text/javascript]
+ [separate text/javascript;charset=windows-1252 error text/javascript]
expected: FAIL
- [separate text/javascript;charset=windows-1252 text/javascript]
+ [separate text/javascript error]
+ expected: FAIL
+
+ [separate text/javascript ]
expected: FAIL
diff --git a/tests/wpt/metadata/fetch/nosniff/parsing-nosniff.window.js.ini b/tests/wpt/metadata/fetch/nosniff/parsing-nosniff.window.js.ini
index 58de838d890..30e1b851fd4 100644
--- a/tests/wpt/metadata/fetch/nosniff/parsing-nosniff.window.js.ini
+++ b/tests/wpt/metadata/fetch/nosniff/parsing-nosniff.window.js.ini
@@ -11,6 +11,3 @@
[X-Content-Type-Options%3A%20nosniff%2C%2C%40%23%24%23%25%25%26%5E%26%5E*()()11!]
expected: FAIL
- [X-Content-Type-Options%3A%20%22nosniFF%22]
- 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
new file mode 100644
index 00000000000..87b07c3e670
--- /dev/null
+++ b/tests/wpt/metadata/html/browsers/history/the-history-interface/traverse_the_history_1.html.ini
@@ -0,0 +1,4 @@
+[traverse_the_history_1.html]
+ [Multiple history traversals from the same task]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/html/browsers/history/the-history-interface/traverse_the_history_2.html.ini b/tests/wpt/metadata/html/browsers/history/the-history-interface/traverse_the_history_2.html.ini
deleted file mode 100644
index 75d75b4cda2..00000000000
--- a/tests/wpt/metadata/html/browsers/history/the-history-interface/traverse_the_history_2.html.ini
+++ /dev/null
@@ -1,4 +0,0 @@
-[traverse_the_history_2.html]
- [Multiple history traversals, last would be aborted]
- expected: FAIL
-
diff --git a/tests/wpt/metadata/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_popups_nonescaping-1.html.ini b/tests/wpt/metadata/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_popups_nonescaping-1.html.ini
index 9df1ac56f2a..3f7e3e9544f 100644
--- a/tests/wpt/metadata/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_popups_nonescaping-1.html.ini
+++ b/tests/wpt/metadata/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_popups_nonescaping-1.html.ini
@@ -1,6 +1,5 @@
[iframe_sandbox_popups_nonescaping-1.html]
type: testharness
- expected: TIMEOUT
[Check that popups from a sandboxed iframe do not escape the sandbox]
- expected: NOTRUN
+ expected: FAIL
diff --git a/tests/wpt/metadata/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_popups_nonescaping-3.html.ini b/tests/wpt/metadata/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_popups_nonescaping-3.html.ini
index e440b1e38c6..dc856a3d5a3 100644
--- a/tests/wpt/metadata/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_popups_nonescaping-3.html.ini
+++ b/tests/wpt/metadata/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_popups_nonescaping-3.html.ini
@@ -1,6 +1,5 @@
[iframe_sandbox_popups_nonescaping-3.html]
type: testharness
- expected: TIMEOUT
[Check that popups from a sandboxed iframe do not escape the sandbox]
- expected: NOTRUN
+ expected: FAIL
diff --git a/tests/wpt/metadata/html/semantics/scripting-1/the-script-element/execution-timing/077.html.ini b/tests/wpt/metadata/html/semantics/scripting-1/the-script-element/execution-timing/077.html.ini
new file mode 100644
index 00000000000..bcd2fd0eab8
--- /dev/null
+++ b/tests/wpt/metadata/html/semantics/scripting-1/the-script-element/execution-timing/077.html.ini
@@ -0,0 +1,4 @@
+[077.html]
+ [ adding several types of scripts through the DOM and removing some of them confuses scheduler ]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/mediasession/positionstate.html.ini b/tests/wpt/metadata/mediasession/positionstate.html.ini
new file mode 100644
index 00000000000..1dd96b4dd09
--- /dev/null
+++ b/tests/wpt/metadata/mediasession/positionstate.html.ini
@@ -0,0 +1,4 @@
+[positionstate.html]
+ [Test setPositionState with negative playback rate]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/webaudio/the-audio-api/the-audiobuffersourcenode-interface/audiobuffersource-multi-channels.html.ini b/tests/wpt/metadata/webaudio/the-audio-api/the-audiobuffersourcenode-interface/audiobuffersource-multi-channels.html.ini
index 1b62dd0331e..a82a6010411 100644
--- a/tests/wpt/metadata/webaudio/the-audio-api/the-audiobuffersourcenode-interface/audiobuffersource-multi-channels.html.ini
+++ b/tests/wpt/metadata/webaudio/the-audio-api/the-audiobuffersourcenode-interface/audiobuffersource-multi-channels.html.ini
@@ -77,3 +77,6 @@
[X Rendered audio for channel 5 does not equal [0,0.0626220703125,0.125030517578125,0.18695068359375,0.24810791015625,0.308319091796875,0.3673095703125,0.42486572265625,0.480743408203125,0.53472900390625,0.58660888671875,0.636199951171875,0.68328857421875,0.727691650390625,0.76922607421875,0.8077392578125...\] with an element-wise tolerance of {"absoluteThreshold":0.000030517578125,"relativeThreshold":0}.\n\tIndex\tActual\t\t\tExpected\t\tAbsError\t\tRelError\t\tTest threshold\n\t[1\]\t3.6732959747314453e-1\t6.2622070312500000e-2\t3.0470752716064453e-1\t4.8658168859649127e+0\t3.0517578125000000e-5\n\t[2\]\t6.8329977989196777e-1\t1.2503051757812500e-1\t5.5826926231384277e-1\t4.4650639949963384e+0\t3.0517578125000000e-5\n\t[3\]\t9.0373212099075317e-1\t1.8695068359375000e-1\t7.1678143739700317e-1\t3.8340669508039502e+0\t3.0517578125000000e-5\n\t[4\]\t9.9780619144439697e-1\t2.4810791015625000e-1\t7.4969828128814697e-1\t3.0216621502152523e+0\t3.0517578125000000e-5\n\t[5\]\t9.5236867666244507e-1\t3.0831909179687500e-1\t6.4404958486557007e-1\t2.0889059484187866e+0\t3.0517578125000000e-5\n\t...and 44057 more errors.\n\tMax AbsError of 1.9900983572006226e+0 at index of 12357.\n\t[12357\]\t-9.9751412868499756e-1\t9.9258422851562500e-1\t1.9900983572006226e+0\t2.0049667323212912e+0\t3.0517578125000000e-5\n\tMax RelError of Infinity at index of 10584.\n\t[10584\]\t-5.8778524398803711e-1\t0.0000000000000000e+0\t5.8778524398803711e-1\tInfinity\t3.0517578125000000e-5\n]
expected: FAIL
+ [X Rendered audio for channel 5 does not equal [0,0.0626220703125,0.125030517578125,0.18695068359375,0.24810791015625,0.308319091796875,0.3673095703125,0.42486572265625,0.480743408203125,0.53472900390625,0.58660888671875,0.636199951171875,0.68328857421875,0.727691650390625,0.76922607421875,0.8077392578125...\] with an element-wise tolerance of {"absoluteThreshold":0.000030517578125,"relativeThreshold":0}.\n\tIndex\tActual\t\t\tExpected\t\tAbsError\t\tRelError\t\tTest threshold\n\t[1\]\t3.6732959747314453e-1\t6.2622070312500000e-2\t3.0470752716064453e-1\t4.8658168859649127e+0\t3.0517578125000000e-5\n\t[2\]\t6.8329977989196777e-1\t1.2503051757812500e-1\t5.5826926231384277e-1\t4.4650639949963384e+0\t3.0517578125000000e-5\n\t[3\]\t9.0373212099075317e-1\t1.8695068359375000e-1\t7.1678143739700317e-1\t3.8340669508039502e+0\t3.0517578125000000e-5\n\t[4\]\t9.9780619144439697e-1\t2.4810791015625000e-1\t7.4969828128814697e-1\t3.0216621502152523e+0\t3.0517578125000000e-5\n\t[5\]\t9.5236867666244507e-1\t3.0831909179687500e-1\t6.4404958486557007e-1\t2.0889059484187866e+0\t3.0517578125000000e-5\n\t...and 44054 more errors.\n\tMax AbsError of 1.9985451102256775e+0 at index of 27408.\n\t[27408\]\t-9.9997943639755249e-1\t9.9856567382812500e-1\t1.9985451102256775e+0\t2.0014157932787811e+0\t3.0517578125000000e-5\n\tMax RelError of Infinity at index of 14112.\n\t[14112\]\t-9.5105654001235962e-1\t0.0000000000000000e+0\t9.5105654001235962e-1\tInfinity\t3.0517578125000000e-5\n]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/webaudio/the-audio-api/the-audiobuffersourcenode-interface/sub-sample-buffer-stitching.html.ini b/tests/wpt/metadata/webaudio/the-audio-api/the-audiobuffersourcenode-interface/sub-sample-buffer-stitching.html.ini
index 04c70861243..3ddb36f5bd0 100644
--- a/tests/wpt/metadata/webaudio/the-audio-api/the-audiobuffersourcenode-interface/sub-sample-buffer-stitching.html.ini
+++ b/tests/wpt/metadata/webaudio/the-audio-api/the-audiobuffersourcenode-interface/sub-sample-buffer-stitching.html.ini
@@ -245,3 +245,6 @@
[X Stitched sine-wave buffers at sample rate 44100 does not equal [0,0.06264832615852356,0.12505052983760834,0.18696144223213196,0.24813786149024963,0.308339387178421,0.36732959747314453,0.4248766601085663,0.480754554271698,0.5347436666488647,0.5866320133209229,0.6362156271934509,0.6832997798919678,0.7276994585990906,0.7692402601242065,0.8077589869499207...\] with an element-wise tolerance of {"absoluteThreshold":0.000090957,"relativeThreshold":0}.\n\tIndex\tActual\t\t\tExpected\t\tAbsError\t\tRelError\t\tTest threshold\n\t[31080\]\t1.0347855872000000e+10\t5.6332010030746460e-1\t1.0347855871436680e+10\t1.8369406427693130e+10\t9.0957000000000003e-5\n\t[31081\]\t4.5671119549274438e-41\t6.1397600173950195e-1\t6.1397600173950195e-1\t1.0000000000000000e+0\t9.0957000000000003e-5\n\tMax AbsError of 1.0347855871436680e+10 at index of 31080.\n\tMax RelError of 1.8369406427693130e+10 at index of 31080.\n]
expected: FAIL
+ [X Stitched sine-wave buffers at sample rate 44100 does not equal [0,0.06264832615852356,0.12505052983760834,0.18696144223213196,0.24813786149024963,0.308339387178421,0.36732959747314453,0.4248766601085663,0.480754554271698,0.5347436666488647,0.5866320133209229,0.6362156271934509,0.6832997798919678,0.7276994585990906,0.7692402601242065,0.8077589869499207...\] with an element-wise tolerance of {"absoluteThreshold":0.000090957,"relativeThreshold":0}.\n\tIndex\tActual\t\t\tExpected\t\tAbsError\t\tRelError\t\tTest threshold\n\t[31080\]\t5.1020887923182881e-22\t5.6332010030746460e-1\t5.6332010030746460e-1\t1.0000000000000000e+0\t9.0957000000000003e-5\n\t[31081\]\t4.5714559801668507e-41\t6.1397600173950195e-1\t6.1397600173950195e-1\t1.0000000000000000e+0\t9.0957000000000003e-5\n\tMax AbsError of 6.1397600173950195e-1 at index of 31081.\n\tMax RelError of 1.0000000000000000e+0 at index of 31080.\n]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/webmessaging/with-ports/018.html.ini b/tests/wpt/metadata/webmessaging/with-ports/018.html.ini
new file mode 100644
index 00000000000..663a1f8fa30
--- /dev/null
+++ b/tests/wpt/metadata/webmessaging/with-ports/018.html.ini
@@ -0,0 +1,5 @@
+[018.html]
+ expected: TIMEOUT
+ [origin of the script that invoked the method, javascript:]
+ expected: TIMEOUT
+
diff --git a/tests/wpt/metadata/workers/semantics/multiple-workers/005.html.ini b/tests/wpt/metadata/workers/semantics/multiple-workers/005.html.ini
index f584fce5df1..268949ced5c 100644
--- a/tests/wpt/metadata/workers/semantics/multiple-workers/005.html.ini
+++ b/tests/wpt/metadata/workers/semantics/multiple-workers/005.html.ini
@@ -1,5 +1,4 @@
[005.html]
- expected: ERROR
[dedicated worker in shared worker in dedicated worker]
expected: FAIL
diff --git a/tests/wpt/metadata/workers/shared-worker-in-data-url-context.window.js.ini b/tests/wpt/metadata/workers/shared-worker-in-data-url-context.window.js.ini
index 6d92f8835c6..10dda3a6659 100644
--- a/tests/wpt/metadata/workers/shared-worker-in-data-url-context.window.js.ini
+++ b/tests/wpt/metadata/workers/shared-worker-in-data-url-context.window.js.ini
@@ -1,8 +1,7 @@
[shared-worker-in-data-url-context.window.html]
- expected: TIMEOUT
[Create a shared worker in a data url frame]
- expected: TIMEOUT
+ expected: FAIL
[Create a data url shared worker in a data url frame]
- expected: NOTRUN
+ expected: FAIL
diff --git a/tests/wpt/web-platform-tests/.azure-pipelines.yml b/tests/wpt/web-platform-tests/.azure-pipelines.yml
index 44771797606..fb78944998e 100644
--- a/tests/wpt/web-platform-tests/.azure-pipelines.yml
+++ b/tests/wpt/web-platform-tests/.azure-pipelines.yml
@@ -629,8 +629,8 @@ jobs:
channel: stable
- template: tools/ci/azure/update_hosts.yml
- template: tools/ci/azure/update_manifest.yml
- # --exclude is a workaround for https://github.com/web-platform-tests/wpt/issues/18634
- - script: no_proxy='*' ./wpt run --no-manifest-update --no-restart-on-unexpected --no-fail-on-unexpected --this-chunk=$(System.JobPositionInPhase) --total-chunks=$(System.TotalJobsInPhase) --chunk-type hash --log-wptreport $(Build.ArtifactStagingDirectory)/wpt_report_$(System.JobPositionInPhase).json --log-wptscreenshot $(Build.ArtifactStagingDirectory)/wpt_screenshot_$(System.JobPositionInPhase).txt --log-mach - --log-mach-level info safari --exclude /inert/inert-retargeting.tentative.html --exclude /inert/inert-retargeting-iframe.tentative.html
+ # --exclude is a workaround for https://github.com/web-platform-tests/wpt/issues/18634 + https://github.com/web-platform-tests/wpt/issues/22175
+ - script: no_proxy='*' ./wpt run --no-manifest-update --no-restart-on-unexpected --no-fail-on-unexpected --this-chunk=$(System.JobPositionInPhase) --total-chunks=$(System.TotalJobsInPhase) --chunk-type hash --log-wptreport $(Build.ArtifactStagingDirectory)/wpt_report_$(System.JobPositionInPhase).json --log-wptscreenshot $(Build.ArtifactStagingDirectory)/wpt_screenshot_$(System.JobPositionInPhase).txt --log-mach - --log-mach-level info safari --exclude /inert/inert-retargeting.tentative.html --exclude /inert/inert-retargeting-iframe.tentative.html --exclude /pointerevents/pointerevent_pointercapture-not-lost-in-chorded-buttons.html
displayName: 'Run tests'
- task: PublishBuildArtifacts@1
displayName: 'Publish results'
diff --git a/tests/wpt/web-platform-tests/animation-worklet/idlharness.any.js b/tests/wpt/web-platform-tests/animation-worklet/idlharness.any.js
index efd2fdeb98d..3517ffc8968 100644
--- a/tests/wpt/web-platform-tests/animation-worklet/idlharness.any.js
+++ b/tests/wpt/web-platform-tests/animation-worklet/idlharness.any.js
@@ -1,5 +1,6 @@
// META: script=/resources/WebIDLParser.js
// META: script=/resources/idlharness.js
+// META: timeout=long
'use strict';
diff --git a/tests/wpt/web-platform-tests/css/css-backgrounds/background-position-subpixel-at-border.tentative.html b/tests/wpt/web-platform-tests/css/css-backgrounds/background-position-subpixel-at-border.tentative.html
new file mode 100644
index 00000000000..ad2fa4dc021
--- /dev/null
+++ b/tests/wpt/web-platform-tests/css/css-backgrounds/background-position-subpixel-at-border.tentative.html
@@ -0,0 +1,89 @@
+<!DOCTYPE html>
+<html>
+<head>
+ <title>CSS Backgrounds: Subpixel positions adjacent to the borders</title>
+ <link rel="author" title="Stephen Chenney" href="mailto:schenney@chromium.org">
+ <link rel="help" href="https://www.w3.org/TR/css-backgrounds-3/#background-position">
+ <link rel="match" href="reference/background-position-subpixel-at-border-ref.tentative.html">
+ <style>
+ #no-repeat-y-bottom {
+ position: absolute;
+ top: 200.5px;
+ left: 8px;
+ width: 150px;
+ height: 37.5px;
+ border-width: 0px 0px 1.25px;
+ border-style: solid;
+ border-color: rgba(0,0,0,0.5);
+ border-bottom-color: transparent;
+ box-sizing: border-box;
+ background-color: lightgrey;
+ background-image: url("resources/green50x1.png");
+ background-position: bottom -1.25px left 0px;
+ background-repeat: repeat-x;
+ padding: 2.5px 2.5px 1.25px 2.5px;
+ }
+ #no-repeat-y-top {
+ position: absolute;
+ top: 160.25px;
+ left: 8px;
+ width: 150px;
+ height: 37.5px;
+ border-width: 1.25px 0px 0px 0px;
+ border-style: solid;
+ border-color: rgba(0,0,0,0.5);
+ border-top-color: transparent;
+ box-sizing: border-box;
+ background-color: lightgrey;
+ background-image: url("resources/green50x1.png");
+ background-position: top -1.25px left 0px;
+ background-repeat: repeat-x;
+ padding: 1.25px 2.5px 2.5px 2.5px;
+ }
+ #no-repeat-x-right {
+ position: absolute;
+ top: 8px;
+ left: 200.5px;
+ width: 37.5px;
+ height: 150px;
+ border-width: 0px 1.25px 0px 0px;
+ border-style: solid;
+ border-color: rgba(0,0,0,0.5);
+ border-right-color: transparent;
+ box-sizing: border-box;
+ background-color: lightgrey;
+ background-image: url("resources/green1x50.png");
+ background-position: right -1.25px top 0px;
+ background-repeat: repeat-y;
+ padding: 2.5px 1.25px 2.5px 2.5px;
+ }
+ #no-repeat-x-left {
+ position: absolute;
+ top: 8px;
+ left: 160.25px;
+ width: 37.5px;
+ height: 150px;
+ border-width: 0px 0px 0px 1.25px;
+ border-style: solid;
+ border-color: rgba(0,0,0,0.5);
+ border-left-color: transparent;
+ box-sizing: border-box;
+ background-color: lightgrey;
+ background-image: url("resources/green1x50.png");
+ background-position: left -1.25px top 0px;
+ background-repeat: repeat-y;
+ padding: 2.5px 2.5px 2.5px 1.25px;
+ }
+ </style>
+</head>
+<body>
+ <div id="no-repeat-y-top">
+ </div>
+ <div id="no-repeat-y-bottom">
+ </div>
+ <div id="no-repeat-x-right">
+ </div>
+ <div id="no-repeat-x-left">
+ </div>
+</body>
+</html> \ No newline at end of file
diff --git a/tests/wpt/web-platform-tests/css/css-backgrounds/reference/background-position-subpixel-at-border-ref.tentative.html b/tests/wpt/web-platform-tests/css/css-backgrounds/reference/background-position-subpixel-at-border-ref.tentative.html
new file mode 100644
index 00000000000..2964ffa4ce4
--- /dev/null
+++ b/tests/wpt/web-platform-tests/css/css-backgrounds/reference/background-position-subpixel-at-border-ref.tentative.html
@@ -0,0 +1,87 @@
+<!DOCTYPE html>
+<html>
+<head>
+ <title>CSS Backgrounds: Subpixel positions adjacent to the borders reference</title>
+ <link rel="author" title="Stephen Chenney" href="mailto:schenney@chromium.org">
+ <style>
+ #no-repeat-y-bottom {
+ position: absolute;
+ top: 201px;
+ left: 8px;
+ width: 150px;
+ height: 37px;
+ border-width: 0px 0px 1px;
+ border-style: solid;
+ border-color: rgba(0,0,0,0.5);
+ border-bottom-color: transparent;
+ box-sizing: border-box;
+ background-color: lightgrey;
+ background-image: url("../resources/green50x1.png");
+ background-position: bottom -1px left 0px;
+ background-repeat: repeat-x;
+ padding: 3px 3px 1px 3px;
+ }
+ #no-repeat-y-top {
+ position: absolute;
+ top: 160px;
+ left: 8px;
+ width: 150px;
+ height: 38px;
+ border-width: 1px 0px 0px 0px;
+ border-style: solid;
+ border-color: rgba(0,0,0,0.5);
+ border-top-color: transparent;
+ box-sizing: border-box;
+ background-color: lightgrey;
+ background-image: url("../resources/green50x1.png");
+ background-position: top -1px left 0px;
+ background-repeat: repeat-x;
+ padding: 1px 3px 3px 3px;
+ }
+ #no-repeat-x-right {
+ position: absolute;
+ top: 8px;
+ left: 201px;
+ width: 37px;
+ height: 150px;
+ border-width: 0px 1px 0px 0px;
+ border-style: solid;
+ border-color: rgba(0,0,0,0.5);
+ border-right-color: transparent;
+ box-sizing: border-box;
+ background-color: lightgrey;
+ background-image: url("../resources/green1x50.png");
+ background-position: right -1px top 0px;
+ background-repeat: repeat-y;
+ padding: 3px 1px 3px 3px;
+ }
+ #no-repeat-x-left {
+ position: absolute;
+ top: 8px;
+ left: 160px;
+ width: 38px;
+ height: 150px;
+ border-width: 0px 0px 0px 1px;
+ border-style: solid;
+ border-color: rgba(0,0,0,0.5);
+ border-left-color: transparent;
+ box-sizing: border-box;
+ background-color: lightgrey;
+ background-image: url("../resources/green1x50.png");
+ background-position: left -1px top 0px;
+ background-repeat: repeat-y;
+ padding: 3px 3px 3px 1px;
+ }
+ </style>
+</head>
+<body>
+ <div id="no-repeat-y-top">
+ </div>
+ <div id="no-repeat-y-bottom">
+ </div>
+ <div id="no-repeat-x-right">
+ </div>
+ <div id="no-repeat-x-left">
+ </div>
+</body>
+</html> \ No newline at end of file
diff --git a/tests/wpt/web-platform-tests/css/css-backgrounds/resources/green1x50.png b/tests/wpt/web-platform-tests/css/css-backgrounds/resources/green1x50.png
new file mode 100644
index 00000000000..4540a11478b
--- /dev/null
+++ b/tests/wpt/web-platform-tests/css/css-backgrounds/resources/green1x50.png
Binary files differ
diff --git a/tests/wpt/web-platform-tests/css/css-backgrounds/resources/green50x1.png b/tests/wpt/web-platform-tests/css/css-backgrounds/resources/green50x1.png
new file mode 100644
index 00000000000..1e90474cebb
--- /dev/null
+++ b/tests/wpt/web-platform-tests/css/css-backgrounds/resources/green50x1.png
Binary files differ
diff --git a/tests/wpt/web-platform-tests/css/css-fonts/matching/README.md b/tests/wpt/web-platform-tests/css/css-fonts/matching/README.md
index 653f4d933cd..7d333c5bca5 100644
--- a/tests/wpt/web-platform-tests/css/css-fonts/matching/README.md
+++ b/tests/wpt/web-platform-tests/css/css-fonts/matching/README.md
@@ -35,12 +35,12 @@ Using the **Variable Test Axis Matching** font, [reference tests](https://web-pl
## Font Glyphs Reference
-The following table explains the relationship between the M, N, O, P variation axis controlled glyphs and the non-scaled glyphs used as references.
+The following table explains the relationship between the M, N, O, P variation axis controlled glyphs and the non-scaled glyphs used as references. The values are specified as OpenType axis parameter values. CSS values are mapped to to those values, for example from CSS font-weight values straight to `wght`, for width from percentages straight to `wdth`. For `slnt` the CSS values are positive clockwise, but the OpenType values are positive turning counterclockwise. Here the mapping is inverted, i.e. the CSS value is multiple by -1. Compare the note in [the CSS font style property](https://drafts.csswg.org/css-fonts/#font-style-prop).
| Bar Length in FUnits | 200 | 400 | 600 | 800 | 1000 | 1200 | 1400 | 1600 | 1800
| :---: | :---: |:---: |:---: |:---: |:---: |:---: |:---: |:---: |:---: |
-| Glyph **N**, Style, `slnt` | -90.00% | -67.50% | -45.00% | -20.00% | 0.00% | 20.00% | 45.00% | 67.50% | 90.00%
-| Glyph **M**, Stretch Axis `wdth` | 50% | 62.50% | 75% | 87.50% | 100% | 112.50% | 125% | 150% | 200%
+| Glyph **N**, Style, `slnt` | 90 | 67.5 | 45 | 20 | 0.00 | -20 | -45 | -67.5 | -90
+| Glyph **M**, Stretch Axis `wdth` | 50 | 62.5 | 75 | 87.5 | 100 | 112.5 | 125 | 150 | 200
| Glyph **O**, Style, `ital` | 0 | 0.125 | 0.25 | 0.375 | 0.5 | 0.625 | 0.75 | 0.875 | 1
| Glyph **P**, Weight, `wght` | 100 | 200 | 300 | 400 | 500 | 600 | 700 | 800 | 900
| **Ref Glyphs for:** | | | | | | | | |
diff --git a/tests/wpt/web-platform-tests/css/css-fonts/matching/resources/variabletest_matching.ttf b/tests/wpt/web-platform-tests/css/css-fonts/matching/resources/variabletest_matching.ttf
index 307af4926cb..7a09643083b 100644
--- a/tests/wpt/web-platform-tests/css/css-fonts/matching/resources/variabletest_matching.ttf
+++ b/tests/wpt/web-platform-tests/css/css-fonts/matching/resources/variabletest_matching.ttf
Binary files differ
diff --git a/tests/wpt/web-platform-tests/css/css-grid/alignment/grid-alignment-style-changes-008.html b/tests/wpt/web-platform-tests/css/css-grid/alignment/grid-alignment-style-changes-008.html
index c7e65dcc2fb..1b13b653c8f 100644
--- a/tests/wpt/web-platform-tests/css/css-grid/alignment/grid-alignment-style-changes-008.html
+++ b/tests/wpt/web-platform-tests/css/css-grid/alignment/grid-alignment-style-changes-008.html
@@ -16,6 +16,7 @@
background: grey;
justify-items: baseline;
font-family: Ahem;
+ text-orientation: sideways;
line-height: 1;
}
#container > div { writing-mode: vertical-lr; }
@@ -40,15 +41,15 @@
<script>
function runTest() {
let before = {
- item1: {"data-offset-x": 5 },
+ item1: {"data-offset-x": 2 },
item2: {"data-offset-x": 30 },
item3: {"data-offset-x": 0 }
};
let after = {
- item1: {"data-offset-x": 10 },
- item2: {"data-offset-x": 0 },
- item3: {"data-offset-x": 5 }
+ item1: {"data-offset-x": 4 },
+ item2: {"data-offset-x": 0 },
+ item3: {"data-offset-x": 2 }
};
evaluateStyleChangeMultiple("before", before);
diff --git a/tests/wpt/web-platform-tests/css/css-grid/alignment/grid-block-axis-alignment-auto-margins-001.html b/tests/wpt/web-platform-tests/css/css-grid/alignment/grid-block-axis-alignment-auto-margins-001.html
index a1cc22a41d3..03beae8db72 100644
--- a/tests/wpt/web-platform-tests/css/css-grid/alignment/grid-block-axis-alignment-auto-margins-001.html
+++ b/tests/wpt/web-platform-tests/css/css-grid/alignment/grid-block-axis-alignment-auto-margins-001.html
@@ -35,13 +35,16 @@
<div id="item2"></div>
</div>
<script>
+document.fonts.ready.then(() => {
item1.setAttribute("data-offset-y", "75");
item2.setAttribute("data-offset-y", "300");
- checkLayout('#grid');
+ checkLayout('#grid', false);
grid.style.height = "300px";
item1.setAttribute("data-offset-y", "35");
item2.setAttribute("data-offset-y", "160");
- checkLayout('#grid');
+
+ checkLayout('#grid', true);
+});
</script>
diff --git a/tests/wpt/web-platform-tests/css/css-grid/alignment/grid-block-axis-alignment-auto-margins-002.html b/tests/wpt/web-platform-tests/css/css-grid/alignment/grid-block-axis-alignment-auto-margins-002.html
index 052836c9e9f..077c7a18ff0 100644
--- a/tests/wpt/web-platform-tests/css/css-grid/alignment/grid-block-axis-alignment-auto-margins-002.html
+++ b/tests/wpt/web-platform-tests/css/css-grid/alignment/grid-block-axis-alignment-auto-margins-002.html
@@ -35,13 +35,15 @@
<div id="item2"></div>
</div>
<script>
+document.fonts.ready.then(() => {
item1.setAttribute("data-offset-y", "75");
item2.setAttribute("data-offset-y", "300");
- checkLayout('#grid');
+ checkLayout('#grid', false);
item1.style.height = "100px";
item1.setAttribute("data-offset-y", "50");
item2.setAttribute("data-offset-y", "300");
- checkLayout('#grid');
+ checkLayout('#grid', true);
+});
</script>
diff --git a/tests/wpt/web-platform-tests/css/css-grid/alignment/grid-block-axis-alignment-auto-margins-003.html b/tests/wpt/web-platform-tests/css/css-grid/alignment/grid-block-axis-alignment-auto-margins-003.html
index 6ff7e3d423e..552070e8084 100644
--- a/tests/wpt/web-platform-tests/css/css-grid/alignment/grid-block-axis-alignment-auto-margins-003.html
+++ b/tests/wpt/web-platform-tests/css/css-grid/alignment/grid-block-axis-alignment-auto-margins-003.html
@@ -36,13 +36,15 @@
<div id="item2"></div>
</div>
<script>
+document.fonts.ready.then(() => {
item1.setAttribute("data-offset-y", "75");
item2.setAttribute("data-offset-y", "300");
- checkLayout('#grid');
+ checkLayout('#grid', false);
item1.style.height = "100px";
item1.setAttribute("data-offset-y", "50");
item2.setAttribute("data-offset-y", "300");
- checkLayout('#grid');
+ checkLayout('#grid', true);
+});
</script>
diff --git a/tests/wpt/web-platform-tests/css/css-grid/alignment/grid-block-axis-alignment-auto-margins-004.html b/tests/wpt/web-platform-tests/css/css-grid/alignment/grid-block-axis-alignment-auto-margins-004.html
index 6d80fac7bdb..20e9500e1d4 100644
--- a/tests/wpt/web-platform-tests/css/css-grid/alignment/grid-block-axis-alignment-auto-margins-004.html
+++ b/tests/wpt/web-platform-tests/css/css-grid/alignment/grid-block-axis-alignment-auto-margins-004.html
@@ -36,13 +36,15 @@
<div id="item2"></div>
</div>
<script>
+document.fonts.ready.then(() => {
item1.setAttribute("data-offset-y", "75");
item2.setAttribute("data-offset-y", "300");
- checkLayout('#grid');
+ checkLayout('#grid', false);
grid.style.height = "300px";
item1.setAttribute("data-offset-y", "35");
item2.setAttribute("data-offset-y", "160");
- checkLayout('#grid');
+ checkLayout('#grid', true);
+});
</script>
diff --git a/tests/wpt/web-platform-tests/css/css-grid/alignment/grid-block-axis-alignment-auto-margins-005.html b/tests/wpt/web-platform-tests/css/css-grid/alignment/grid-block-axis-alignment-auto-margins-005.html
index 5f3d2fa8e23..98f87f8fd90 100644
--- a/tests/wpt/web-platform-tests/css/css-grid/alignment/grid-block-axis-alignment-auto-margins-005.html
+++ b/tests/wpt/web-platform-tests/css/css-grid/alignment/grid-block-axis-alignment-auto-margins-005.html
@@ -34,13 +34,15 @@
<div id="item2">XXXXX</div>
</div>
<script>
+document.fonts.ready.then(() => {
item1.setAttribute("data-offset-y", "90");
item2.setAttribute("data-offset-y", "345");
- checkLayout('#grid');
+ checkLayout('#grid', false);
item2.style.fontSize = "40px";
item1.setAttribute("data-offset-y", "90");
item2.setAttribute("data-offset-y", "330");
- checkLayout('#grid');
+ checkLayout('#grid', true);
+});
</script>
diff --git a/tests/wpt/web-platform-tests/css/css-grid/alignment/grid-block-axis-alignment-auto-margins-006.html b/tests/wpt/web-platform-tests/css/css-grid/alignment/grid-block-axis-alignment-auto-margins-006.html
index 566a878d42b..ee64491930e 100644
--- a/tests/wpt/web-platform-tests/css/css-grid/alignment/grid-block-axis-alignment-auto-margins-006.html
+++ b/tests/wpt/web-platform-tests/css/css-grid/alignment/grid-block-axis-alignment-auto-margins-006.html
@@ -34,13 +34,15 @@
<div id="item2">XXXXX</div>
</div>
<script>
+document.fonts.ready.then(() => {
item1.setAttribute("data-offset-y", "95");
item2.setAttribute("data-offset-y", "345");
- checkLayout('#grid');
+ checkLayout('#grid', false);
grid.style.fontSize = "40px";
item1.setAttribute("data-offset-y", "80");
item2.setAttribute("data-offset-y", "330");
- checkLayout('#grid');
+ checkLayout('#grid', true);
+});
</script>
diff --git a/tests/wpt/web-platform-tests/css/css-grid/alignment/grid-block-axis-alignment-auto-margins-007.html b/tests/wpt/web-platform-tests/css/css-grid/alignment/grid-block-axis-alignment-auto-margins-007.html
index d9b5632f12a..d9b9484bee7 100644
--- a/tests/wpt/web-platform-tests/css/css-grid/alignment/grid-block-axis-alignment-auto-margins-007.html
+++ b/tests/wpt/web-platform-tests/css/css-grid/alignment/grid-block-axis-alignment-auto-margins-007.html
@@ -35,13 +35,15 @@
<div id="item2"></div>
</div>
<script>
+document.fonts.ready.then(() => {
item1.setAttribute("data-offset-y", "75");
item2.setAttribute("data-offset-y", "300");
- checkLayout('#grid');
+ checkLayout('#grid', false);
grid.style.height = "300px";
item1.setAttribute("data-offset-y", "35");
item2.setAttribute("data-offset-y", "160");
- checkLayout('#grid');
+ checkLayout('#grid', true);
+});
</script>
diff --git a/tests/wpt/web-platform-tests/css/css-grid/alignment/grid-container-baseline-001.html b/tests/wpt/web-platform-tests/css/css-grid/alignment/grid-container-baseline-001.html
index d352977f931..73b3c76b599 100644
--- a/tests/wpt/web-platform-tests/css/css-grid/alignment/grid-container-baseline-001.html
+++ b/tests/wpt/web-platform-tests/css/css-grid/alignment/grid-container-baseline-001.html
@@ -70,24 +70,24 @@
<div style="display: inline-block; width: 20px; height: 10px; background: black" data-offset-y="40"></div>
</div>
-<div class="wrapper" style="writing-mode: vertical-lr;">
- <div style="display: inline-block; width: 20px; height: 10px; background: black" data-offset-x="65"></div>
+<div class="wrapper" style="writing-mode: vertical-lr; text-orientation: sideways;">
+ <div style="display: inline-block; width: 20px; height: 10px; background: black" data-offset-x="75"></div>
<div class="grid">
<div class="i1"></div>
<div class="i2" data-offset-x="0"></div>
<div class="i3"></div>
</div>
- <div style="display: inline-block; width: 20px; height: 10px; background: black" data-offset-x="65"></div>
+ <div style="display: inline-block; width: 20px; height: 10px; background: black" data-offset-x="75"></div>
</div>
-<div class="wrapper" style="writing-mode: vertical-lr;">
- <div style="display: inline-block; width: 20px; height: 10px; background: black" data-offset-x="65"></div>
+<div class="wrapper" style="writing-mode: vertical-lr; text-orientation: sideways;">
+ <div style="display: inline-block; width: 20px; height: 10px; background: black" data-offset-x="75"></div>
<div class="grid">
<div class="i1"></div>
<div class="i2" style="writing-mode: horizontal-tb;" data-offset-x="0"></div>
<div class="i3"></div>
</div>
- <div style="display: inline-block; width: 20px; height: 10px; background: black" data-offset-x="65"></div>
+ <div style="display: inline-block; width: 20px; height: 10px; background: black" data-offset-x="75"></div>
</div>
<div class="wrapper" style="writing-mode: vertical-lr; text-orientation: sideways;">
@@ -110,24 +110,24 @@
<div style="display: inline-block; width: 20px; height: 10px; background: black" data-offset-x="75"></div>
</div>
-<div class="wrapper" style="writing-mode: vertical-rl;">
- <div style="display: inline-block; width: 20px; height: 10px; background: black" data-offset-x="65"></div>
+<div class="wrapper" style="writing-mode: vertical-rl; text-orientation: sideways;">
+ <div style="display: inline-block; width: 20px; height: 10px; background: black" data-offset-x="75"></div>
<div class="grid">
<div class="i1"></div>
<div class="i2" data-offset-x="75"></div>
<div class="i3"></div>
</div>
- <div style="display: inline-block; width: 20px; height: 10px; background: black" data-offset-x="65"></div>
+ <div style="display: inline-block; width: 20px; height: 10px; background: black" data-offset-x="75"></div>
</div>
-<div class="wrapper" style="writing-mode: vertical-rl;">
- <div style="display: inline-block; width: 20px; height: 10px; background: black" data-offset-x="65"></div>
+<div class="wrapper" style="writing-mode: vertical-rl; text-orientation: sideways;">
+ <div style="display: inline-block; width: 20px; height: 10px; background: black" data-offset-x="75"></div>
<div class="grid">
<div class="i1"></div>
<div class="i2" style="writing-mode: horizontal-tb;" data-offset-x="75"></div>
<div class="i3"></div>
</div>
- <div style="display: inline-block; width: 20px; height: 10px; background: black" data-offset-x="65"></div>
+ <div style="display: inline-block; width: 20px; height: 10px; background: black" data-offset-x="75"></div>
</div>
<div class="wrapper" style="writing-mode: vertical-rl; text-orientation: sideways;">
@@ -140,7 +140,7 @@
<div style="display: inline-block; width: 20px; height: 10px; background: black" data-offset-x="75"></div>
</div>
-<div class="wrapper" style="writing-mode: vertical-rl; text-orientation: sideways;">
+<div class="wrapper" style="writing-mode: vertical-rl; text-orientation: sideways;">
<div style="display: inline-block; width: 20px; height: 10px; background: black" data-offset-x="75"></div>
<div class="grid">
<div class="i1"></div>
diff --git a/tests/wpt/web-platform-tests/css/css-grid/alignment/grid-inline-axis-alignment-auto-margins-001.html b/tests/wpt/web-platform-tests/css/css-grid/alignment/grid-inline-axis-alignment-auto-margins-001.html
index d1fb13aa491..932c7f95896 100644
--- a/tests/wpt/web-platform-tests/css/css-grid/alignment/grid-inline-axis-alignment-auto-margins-001.html
+++ b/tests/wpt/web-platform-tests/css/css-grid/alignment/grid-inline-axis-alignment-auto-margins-001.html
@@ -35,13 +35,17 @@
<div id="item2"></div>
</div>
<script>
+document.fonts.ready.then(() => {
item1.setAttribute("data-offset-x", "75");
item2.setAttribute("data-offset-x", "300");
- checkLayout('#grid');
+ checkLayout('#grid', false);
grid.style.width = "300px";
item1.setAttribute("data-offset-x", "35");
item2.setAttribute("data-offset-x", "160");
- checkLayout('#grid');
+ checkLayout('#grid', true);
+
+ done();
+});
</script>
diff --git a/tests/wpt/web-platform-tests/css/css-grid/alignment/grid-inline-axis-alignment-auto-margins-002.html b/tests/wpt/web-platform-tests/css/css-grid/alignment/grid-inline-axis-alignment-auto-margins-002.html
index f17afa71e3e..7ea7800cd26 100644
--- a/tests/wpt/web-platform-tests/css/css-grid/alignment/grid-inline-axis-alignment-auto-margins-002.html
+++ b/tests/wpt/web-platform-tests/css/css-grid/alignment/grid-inline-axis-alignment-auto-margins-002.html
@@ -35,13 +35,15 @@
<div id="item2"></div>
</div>
<script>
+document.fonts.ready.then(() => {
item1.setAttribute("data-offset-x", "75");
item2.setAttribute("data-offset-x", "300");
- checkLayout('#grid');
+ checkLayout('#grid', false);
item1.style.width = "100px";
item1.setAttribute("data-offset-x", "50");
item2.setAttribute("data-offset-x", "300");
- checkLayout('#grid');
+ checkLayout('#grid', true);
+});
</script>
diff --git a/tests/wpt/web-platform-tests/css/css-grid/alignment/grid-inline-axis-alignment-auto-margins-003.html b/tests/wpt/web-platform-tests/css/css-grid/alignment/grid-inline-axis-alignment-auto-margins-003.html
index 6500a2961f3..243b5240012 100644
--- a/tests/wpt/web-platform-tests/css/css-grid/alignment/grid-inline-axis-alignment-auto-margins-003.html
+++ b/tests/wpt/web-platform-tests/css/css-grid/alignment/grid-inline-axis-alignment-auto-margins-003.html
@@ -36,13 +36,15 @@
<div id="item2"></div>
</div>
<script>
+document.fonts.ready.then(() => {
item1.setAttribute("data-offset-x", "75");
item2.setAttribute("data-offset-x", "300");
- checkLayout('#grid');
+ checkLayout('#grid', false);
item1.style.width = "100px";
item1.setAttribute("data-offset-x", "50");
item2.setAttribute("data-offset-x", "300");
- checkLayout('#grid');
+ checkLayout('#grid', true);
+});
</script>
diff --git a/tests/wpt/web-platform-tests/css/css-grid/alignment/grid-inline-axis-alignment-auto-margins-004.html b/tests/wpt/web-platform-tests/css/css-grid/alignment/grid-inline-axis-alignment-auto-margins-004.html
index af9c27e95a1..8cdaacca78d 100644
--- a/tests/wpt/web-platform-tests/css/css-grid/alignment/grid-inline-axis-alignment-auto-margins-004.html
+++ b/tests/wpt/web-platform-tests/css/css-grid/alignment/grid-inline-axis-alignment-auto-margins-004.html
@@ -36,13 +36,15 @@
<div id="item2"></div>
</div>
<script>
+document.fonts.ready.then(() => {
item1.setAttribute("data-offset-x", "75");
item2.setAttribute("data-offset-x", "300");
- checkLayout('#grid');
+ checkLayout('#grid', false);
grid.style.width = "300px";
item1.setAttribute("data-offset-x", "35");
item2.setAttribute("data-offset-x", "160");
- checkLayout('#grid');
+ checkLayout('#grid', true);
+});
</script>
diff --git a/tests/wpt/web-platform-tests/css/css-grid/alignment/grid-inline-axis-alignment-auto-margins-005.html b/tests/wpt/web-platform-tests/css/css-grid/alignment/grid-inline-axis-alignment-auto-margins-005.html
index fd9e696a55e..dcf8bef1c9b 100644
--- a/tests/wpt/web-platform-tests/css/css-grid/alignment/grid-inline-axis-alignment-auto-margins-005.html
+++ b/tests/wpt/web-platform-tests/css/css-grid/alignment/grid-inline-axis-alignment-auto-margins-005.html
@@ -45,8 +45,6 @@ document.fonts.ready.then(() => {
item1.setAttribute("data-offset-x", "50");
item2.setAttribute("data-offset-x", "275");
- checkLayout('#grid', false);
-
- done();
+ checkLayout('#grid', true);
});
</script>
diff --git a/tests/wpt/web-platform-tests/css/css-grid/alignment/grid-inline-axis-alignment-auto-margins-006.html b/tests/wpt/web-platform-tests/css/css-grid/alignment/grid-inline-axis-alignment-auto-margins-006.html
index 4492f9b1ebb..7f064c9bb41 100644
--- a/tests/wpt/web-platform-tests/css/css-grid/alignment/grid-inline-axis-alignment-auto-margins-006.html
+++ b/tests/wpt/web-platform-tests/css/css-grid/alignment/grid-inline-axis-alignment-auto-margins-006.html
@@ -44,8 +44,6 @@ document.fonts.ready.then(() => {
item1.setAttribute("data-offset-x", "50");
item2.setAttribute("data-offset-x", "325");
- checkLayout('#grid', false);
-
- done();
+ checkLayout('#grid', true);
});
</script>
diff --git a/tests/wpt/web-platform-tests/css/css-grid/alignment/grid-inline-axis-alignment-auto-margins-007.html b/tests/wpt/web-platform-tests/css/css-grid/alignment/grid-inline-axis-alignment-auto-margins-007.html
index 7954e88f987..2b5acdfe029 100644
--- a/tests/wpt/web-platform-tests/css/css-grid/alignment/grid-inline-axis-alignment-auto-margins-007.html
+++ b/tests/wpt/web-platform-tests/css/css-grid/alignment/grid-inline-axis-alignment-auto-margins-007.html
@@ -35,13 +35,15 @@
<div id="item2"></div>
</div>
<script>
+document.fonts.ready.then(() => {
item1.setAttribute("data-offset-x", "75");
item2.setAttribute("data-offset-x", "300");
- checkLayout('#grid');
+ checkLayout('#grid', false);
grid.style.width = "300px";
item1.setAttribute("data-offset-x", "35");
item2.setAttribute("data-offset-x", "160");
- checkLayout('#grid');
+ checkLayout('#grid', true);
+});
</script>
diff --git a/tests/wpt/web-platform-tests/editing/run/caretnavigation.html b/tests/wpt/web-platform-tests/editing/run/caretnavigation.html
new file mode 100644
index 00000000000..defe7fecfc2
--- /dev/null
+++ b/tests/wpt/web-platform-tests/editing/run/caretnavigation.html
@@ -0,0 +1,69 @@
+<!DOCTYPE html>
+<meta charset="utf-8">
+<title>Caret navigation</title>
+
+<link rel="stylesheet" href="../support/reset.css">
+
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<script src="/resources/testdriver.js"></script>
+<script src="/resources/testdriver-vendor.js"></script>
+<script src="/resources/testdriver-actions.js"></script>
+
+<script>
+const KEY_CODE_MAP = {
+ 'ArrowLeft': '\uE012',
+ 'ArrowUp': '\uE013',
+ 'ArrowRight': '\uE014',
+ 'ArrowDown': '\uE015',
+};
+
+/**
+ * Send key event to the target element using test driver. Supports human
+ * friendly key names for common keyboard scroll operations e.g., arrow keys,
+ * page keys, etc.
+ * @param {Node} target
+ * @param {string} key
+ * @returns {Promise}
+ */
+function keyPress(target, key) {
+ const code = KEY_CODE_MAP[key];
+
+ let actions = new test_driver.Actions()
+ .keyDown(code)
+ .keyUp(code);
+
+ return actions.send();
+}
+</script>
+
+<div id="container">
+ <div contenteditable data-title="Move with ArrowLeft to BR following a div">
+ <div>line 1</div>
+ <br>
+ <div class="caret">line 2</div>
+ </div>
+ <div contenteditable data-title="Move with ArrowLeft to BR following an img">
+ <img style="display:block;width:100px;height:100px">
+ <br>
+ <div class="caret">line 2</div>
+ </div>
+</div>
+
+<script>
+const container = document.getElementById("container");
+
+for (const test of container.children) {
+ promise_test(async t => {
+ test.focus();
+ getSelection().collapse(test.querySelector(".caret"));
+ await keyPress(test, "ArrowLeft");
+
+ const range = getSelection().getRangeAt(0);
+
+ assert_equals(range.commonAncestorContainer.localName, "div");
+ assert_equals(range.startOffset, 3);
+ assert_equals(range.commonAncestorContainer.childNodes[range.startOffset].localName, "br");
+ }, test.dataset.title);
+}
+</script>
diff --git a/tests/wpt/web-platform-tests/feature-policy/feature-policy-nested-header-policy-disallowed-for-all.https.sub.html b/tests/wpt/web-platform-tests/feature-policy/feature-policy-nested-header-policy-disallowed-for-all.https.sub.html
index f15b43576f2..6194a33b1d7 100644
--- a/tests/wpt/web-platform-tests/feature-policy/feature-policy-nested-header-policy-disallowed-for-all.https.sub.html
+++ b/tests/wpt/web-platform-tests/feature-policy/feature-policy-nested-header-policy-disallowed-for-all.https.sub.html
@@ -1,4 +1,5 @@
<!DOCTYPE html>
+<meta name="timeout" content="long">
<body>
<script src=/resources/testharness.js></script>
<script src=/resources/testharnessreport.js></script>
diff --git a/tests/wpt/web-platform-tests/fetch/cors-rfc1918/idlharness.tentative.any.js b/tests/wpt/web-platform-tests/fetch/cors-rfc1918/idlharness.tentative.any.js
index 88468dc19a3..1dad9430725 100644
--- a/tests/wpt/web-platform-tests/fetch/cors-rfc1918/idlharness.tentative.any.js
+++ b/tests/wpt/web-platform-tests/fetch/cors-rfc1918/idlharness.tentative.any.js
@@ -1,6 +1,7 @@
// META: global=window,worker
// META: script=/resources/WebIDLParser.js
// META: script=/resources/idlharness.js
+// META: timeout=long
'use strict';
diff --git a/tests/wpt/web-platform-tests/html/webappapis/structured-clone/structured-clone-battery-of-tests.js b/tests/wpt/web-platform-tests/html/webappapis/structured-clone/structured-clone-battery-of-tests.js
index ac5104c7fd7..751a0e1a9ea 100644
--- a/tests/wpt/web-platform-tests/html/webappapis/structured-clone/structured-clone-battery-of-tests.js
+++ b/tests/wpt/web-platform-tests/html/webappapis/structured-clone/structured-clone-battery-of-tests.js
@@ -592,3 +592,17 @@ structuredCloneBatteryOfTests.push({
},
requiresDocument: true
});
+
+check('ObjectPrototype must lose its exotic-ness when cloned',
+ () => Object.prototype,
+ (copy, original) => {
+ assert_not_equals(copy, original);
+ assert_true(copy instanceof Object);
+
+ const newProto = { some: 'proto' };
+ // Must not throw:
+ Object.setPrototypeOf(copy, newProto);
+
+ assert_equals(Object.getPrototypeOf(copy), newProto);
+ }
+);
diff --git a/tests/wpt/web-platform-tests/mathml/tools/axisheight.py b/tests/wpt/web-platform-tests/mathml/tools/axisheight.py
index d588560b650..abcc492ddb6 100644
--- a/tests/wpt/web-platform-tests/mathml/tools/axisheight.py
+++ b/tests/wpt/web-platform-tests/mathml/tools/axisheight.py
@@ -6,7 +6,8 @@ import fontforge
verticalArrowCodePoint = 0x21A8
v1 = 5 * mathfont.em
v2 = 14 * mathfont.em
-f = mathfont.create("axisheight%d-verticalarrow%d" % (v1, v2))
+f = mathfont.create("axisheight%d-verticalarrow%d" % (v1, v2),
+ "Copyright (c) 2016 MathML Association")
f.math.AxisHeight = v1
f.math.MinConnectorOverlap = 0
mathfont.createSquareGlyph(f, verticalArrowCodePoint)
diff --git a/tests/wpt/web-platform-tests/mathml/tools/fractions.py b/tests/wpt/web-platform-tests/mathml/tools/fractions.py
index 42cfe468219..b5a1894224d 100644
--- a/tests/wpt/web-platform-tests/mathml/tools/fractions.py
+++ b/tests/wpt/web-platform-tests/mathml/tools/fractions.py
@@ -5,7 +5,8 @@ import fontforge
v1 = 7 * mathfont.em
v2 = 1 * mathfont.em
-f = mathfont.create("fraction-axisheight%d-rulethickness%d" % (v1, v2))
+f = mathfont.create("fraction-axisheight%d-rulethickness%d" % (v1, v2),
+ "Copyright (c) 2016 MathML Association")
f.math.AxisHeight = v1
f.math.FractionDenominatorDisplayStyleGapMin = 0
f.math.FractionDenominatorDisplayStyleShiftDown = 0
@@ -20,7 +21,8 @@ mathfont.save(f)
v1 = 5 * mathfont.em
v2 = 1 * mathfont.em
-f = mathfont.create("fraction-denominatordisplaystylegapmin%d-rulethickness%d" % (v1, v2))
+f = mathfont.create("fraction-denominatordisplaystylegapmin%d-rulethickness%d" % (v1, v2),
+ "Copyright (c) 2016 MathML Association")
f.math.AxisHeight = 0
f.math.FractionDenominatorDisplayStyleGapMin = v1
f.math.FractionDenominatorDisplayStyleShiftDown = 0
@@ -35,7 +37,8 @@ mathfont.save(f)
v1 = 6 * mathfont.em
v2 = 1 * mathfont.em
-f = mathfont.create("fraction-denominatordisplaystyleshiftdown%d-axisheight%d-rulethickness%d" % (v1, v2, v2))
+f = mathfont.create("fraction-denominatordisplaystyleshiftdown%d-axisheight%d-rulethickness%d" % (v1, v2, v2),
+ "Copyright (c) 2016 MathML Association")
f.math.AxisHeight = v2
f.math.FractionDenominatorDisplayStyleGapMin = 0
f.math.FractionDenominatorDisplayStyleShiftDown = v1
@@ -50,7 +53,8 @@ mathfont.save(f)
v1 = 4 * mathfont.em
v2 = 1 * mathfont.em
-f = mathfont.create("fraction-denominatorgapmin%d-rulethickness%d" % (v1, v2))
+f = mathfont.create("fraction-denominatorgapmin%d-rulethickness%d" % (v1, v2),
+ "Copyright (c) 2016 MathML Association")
f.math.AxisHeight = 0
f.math.FractionDenominatorDisplayStyleGapMin = 0
f.math.FractionDenominatorDisplayStyleShiftDown = 0
@@ -65,7 +69,8 @@ mathfont.save(f)
v1 = 3 * mathfont.em
v2 = 1 * mathfont.em
-f = mathfont.create("fraction-denominatorshiftdown%d-axisheight%d-rulethickness%d" % (v1, v2, v2))
+f = mathfont.create("fraction-denominatorshiftdown%d-axisheight%d-rulethickness%d" % (v1, v2, v2),
+ "Copyright (c) 2016 MathML Association")
f.math.AxisHeight = v2
f.math.FractionDenominatorDisplayStyleGapMin = 0
f.math.FractionDenominatorDisplayStyleShiftDown = 0
@@ -80,7 +85,8 @@ mathfont.save(f)
v1 = 8 * mathfont.em
v2 = 1 * mathfont.em
-f = mathfont.create("fraction-numeratordisplaystylegapmin%d-rulethickness%d" % (v1, v2))
+f = mathfont.create("fraction-numeratordisplaystylegapmin%d-rulethickness%d" % (v1, v2),
+ "Copyright (c) 2016 MathML Association")
f.math.AxisHeight = 0
f.math.FractionDenominatorDisplayStyleGapMin = 0
f.math.FractionDenominatorDisplayStyleShiftDown = 0
@@ -95,7 +101,8 @@ mathfont.save(f)
v1 = 2 * mathfont.em
v2 = 1 * mathfont.em
-f = mathfont.create("fraction-numeratordisplaystyleshiftup%d-axisheight%d-rulethickness%d" % (v1, v2, v2))
+f = mathfont.create("fraction-numeratordisplaystyleshiftup%d-axisheight%d-rulethickness%d" % (v1, v2, v2),
+ "Copyright (c) 2016 MathML Association")
f.math.AxisHeight = v2
f.math.FractionDenominatorDisplayStyleGapMin = 0
f.math.FractionDenominatorDisplayStyleShiftDown = 0
@@ -110,7 +117,8 @@ mathfont.save(f)
v1 = 9 * mathfont.em
v2 = 1 * mathfont.em
-f = mathfont.create("fraction-numeratorgapmin%d-rulethickness%d" % (v1, v2))
+f = mathfont.create("fraction-numeratorgapmin%d-rulethickness%d" % (v1, v2),
+ "Copyright (c) 2016 MathML Association")
f.math.AxisHeight = 0
f.math.FractionDenominatorDisplayStyleGapMin = 0
f.math.FractionDenominatorDisplayStyleShiftDown = 0
@@ -125,7 +133,8 @@ mathfont.save(f)
v1 = 11 * mathfont.em
v2 = 1 * mathfont.em
-f = mathfont.create("fraction-numeratorshiftup%d-axisheight%d-rulethickness%d" % (v1, v2, v2))
+f = mathfont.create("fraction-numeratorshiftup%d-axisheight%d-rulethickness%d" % (v1, v2, v2),
+ "Copyright (c) 2016 MathML Association")
f.math.AxisHeight = v2
f.math.FractionDenominatorDisplayStyleGapMin = 0
f.math.FractionDenominatorDisplayStyleShiftDown = 0
@@ -139,7 +148,8 @@ f.math.FractionRuleThickness = v2
mathfont.save(f)
v1 = 10 * mathfont.em
-f = mathfont.create("fraction-rulethickness%d" % v1)
+f = mathfont.create("fraction-rulethickness%d" % v1,
+ "Copyright (c) 2016 MathML Association")
f.math.AxisHeight = 0
f.math.FractionDenominatorDisplayStyleGapMin = 0
f.math.FractionDenominatorDisplayStyleShiftDown = 0
diff --git a/tests/wpt/web-platform-tests/mathml/tools/largeop.py b/tests/wpt/web-platform-tests/mathml/tools/largeop.py
index 58ce7aebcf4..f1f52c4304e 100644
--- a/tests/wpt/web-platform-tests/mathml/tools/largeop.py
+++ b/tests/wpt/web-platform-tests/mathml/tools/largeop.py
@@ -5,7 +5,8 @@ import fontforge
nAryWhiteVerticalBarCodePoint = 0x2AFF
v1 = 5 * mathfont.em
-f = mathfont.create("largeop-displayoperatorminheight%d" % v1)
+f = mathfont.create("largeop-displayoperatorminheight%d" % v1,
+ "Copyright (c) 2016 MathML Association")
f.math.DisplayOperatorMinHeight = v1
mathfont.createSquareGlyph(f, nAryWhiteVerticalBarCodePoint)
g = f.createChar(-1, "uni2AFF.display")
@@ -15,8 +16,8 @@ mathfont.save(f)
v1 = 2 * mathfont.em
v2 = 3 * mathfont.em
-f = mathfont.create("largeop-displayoperatorminheight%d-2AFF-italiccorrection%d" % (v1, v2))
-f.copyright = "Copyright (c) 2018 Igalia S.L."
+f = mathfont.create("largeop-displayoperatorminheight%d-2AFF-italiccorrection%d" % (v1, v2),
+ "Copyright (c) 2018 Igalia S.L.")
f.math.DisplayOperatorMinHeight = v1
mathfont.createSquareGlyph(f, nAryWhiteVerticalBarCodePoint)
g = f.createChar(-1, "uni2AFF.display")
@@ -33,8 +34,8 @@ mathfont.save(f)
v1 = 7 * mathfont.em
v2 = 5 * mathfont.em
-f = mathfont.create("largeop-displayoperatorminheight%d-2AFF-italiccorrection%d" % (v1, v2))
-f.copyright = "Copyright (c) 2020 Igalia S.L."
+f = mathfont.create("largeop-displayoperatorminheight%d-2AFF-italiccorrection%d" % (v1, v2),
+ "Copyright (c) 2020 Igalia S.L.")
f.math.DisplayOperatorMinHeight = v1
f.math.MinConnectorOverlap = 0
mathfont.createSquareGlyph(f, nAryWhiteVerticalBarCodePoint)
diff --git a/tests/wpt/web-platform-tests/mathml/tools/limits.py b/tests/wpt/web-platform-tests/mathml/tools/limits.py
index 840a76ffb1a..029c7b32060 100644
--- a/tests/wpt/web-platform-tests/mathml/tools/limits.py
+++ b/tests/wpt/web-platform-tests/mathml/tools/limits.py
@@ -6,7 +6,8 @@ import fontforge
nArySumCodePoint = 0x2211 # largeop operator
v = 3 * mathfont.em
-f = mathfont.create("limits-lowerlimitbaselinedropmin%d" % v)
+f = mathfont.create("limits-lowerlimitbaselinedropmin%d" % v,
+ "Copyright (c) 2016 MathML Association")
mathfont.createSquareGlyph(f, nArySumCodePoint)
f.math.LowerLimitBaselineDropMin = v
f.math.LowerLimitGapMin = 0
@@ -23,7 +24,8 @@ f.math.UpperLimitGapMin = 0
mathfont.save(f)
v = 11 * mathfont.em
-f = mathfont.create("limits-lowerlimitgapmin%d" % v)
+f = mathfont.create("limits-lowerlimitgapmin%d" % v,
+ "Copyright (c) 2016 MathML Association")
mathfont.createSquareGlyph(f, nArySumCodePoint)
f.math.LowerLimitBaselineDropMin = 0
f.math.LowerLimitGapMin = v
@@ -40,7 +42,8 @@ f.math.UpperLimitGapMin = 0
mathfont.save(f)
v = 5 * mathfont.em
-f = mathfont.create("limits-upperlimitbaselinerisemin%d" % v)
+f = mathfont.create("limits-upperlimitbaselinerisemin%d" % v,
+ "Copyright (c) 2016 MathML Association")
mathfont.createSquareGlyph(f, nArySumCodePoint)
f.math.LowerLimitBaselineDropMin = 0
f.math.LowerLimitGapMin = 0
@@ -57,7 +60,8 @@ f.math.UpperLimitGapMin = 0
mathfont.save(f)
v = 7 * mathfont.em
-f = mathfont.create("limits-upperlimitgapmin%d" % v)
+f = mathfont.create("limits-upperlimitgapmin%d" % v,
+ "Copyright (c) 2016 MathML Association")
mathfont.createSquareGlyph(f, nArySumCodePoint)
f.math.LowerLimitBaselineDropMin = 0
f.math.LowerLimitGapMin = 0
diff --git a/tests/wpt/web-platform-tests/mathml/tools/mathvariant-transforms.py b/tests/wpt/web-platform-tests/mathml/tools/mathvariant-transforms.py
index dd2994dd5a7..d43d8c0f146 100644
--- a/tests/wpt/web-platform-tests/mathml/tools/mathvariant-transforms.py
+++ b/tests/wpt/web-platform-tests/mathml/tools/mathvariant-transforms.py
@@ -64,7 +64,7 @@ mathvariantTransforms["auto"] = mathvariantTransforms["italic"]
for mathvariant in mathvariantTransforms:
if mathvariant == "auto":
continue
- font = mathfont.create("mathvariant-%s" % mathvariant)
+ font = mathfont.create("mathvariant-%s" % mathvariant, "Copyright (c) 2016 MathML Association")
for baseChar in mathvariantTransforms[mathvariant]:
if baseChar not in font:
mathfont.createGlyphFromValue(font, baseChar)
diff --git a/tests/wpt/web-platform-tests/mathml/tools/operator-dictionary.py b/tests/wpt/web-platform-tests/mathml/tools/operator-dictionary.py
index 8af2bd677be..846ea81a979 100644
--- a/tests/wpt/web-platform-tests/mathml/tools/operator-dictionary.py
+++ b/tests/wpt/web-platform-tests/mathml/tools/operator-dictionary.py
@@ -96,7 +96,7 @@ for form in ["infix", "prefix", "suffix"]:
operatorDictionary[key] = value
# Create a WOFF font with glyphs for all the operator strings.
-font = mathfont.create("operators")
+font = mathfont.create("operators", "Copyright (c) 2019 Igalia S.L.")
# Set parameters for largeop and stretchy tests.
font.math.DisplayOperatorMinHeight = 2 * mathfont.em
diff --git a/tests/wpt/web-platform-tests/mathml/tools/percentscaledown.py b/tests/wpt/web-platform-tests/mathml/tools/percentscaledown.py
index ea09c4405e4..1571a7e3d85 100644
--- a/tests/wpt/web-platform-tests/mathml/tools/percentscaledown.py
+++ b/tests/wpt/web-platform-tests/mathml/tools/percentscaledown.py
@@ -5,17 +5,20 @@ import fontforge
v1 = 80
v2 = 40
-f = mathfont.create("scriptpercentscaledown%d-scriptscriptpercentscaledown%d" % (v1, v2))
+f = mathfont.create("scriptpercentscaledown%d-scriptscriptpercentscaledown%d" % (v1, v2),
+ "Copyright (c) 2019 Igalia S.L.")
f.math.ScriptPercentScaleDown = v1
f.math.ScriptScriptPercentScaleDown = v2
mathfont.save(f)
-f = mathfont.create("scriptpercentscaledown0-scriptscriptpercentscaledown%d" % v2)
+f = mathfont.create("scriptpercentscaledown0-scriptscriptpercentscaledown%d" % v2,
+ "Copyright (c) 2019 Igalia S.L.")
f.math.ScriptPercentScaleDown = 0
f.math.ScriptScriptPercentScaleDown = v2
mathfont.save(f)
-f = mathfont.create("scriptpercentscaledown%d-scriptscriptpercentscaledown0" % v1)
+f = mathfont.create("scriptpercentscaledown%d-scriptscriptpercentscaledown0" % v1,
+ "Copyright (c) 2019 Igalia S.L.")
f.math.ScriptPercentScaleDown = v1
f.math.ScriptScriptPercentScaleDown = 0
mathfont.save(f)
diff --git a/tests/wpt/web-platform-tests/mathml/tools/radicals.py b/tests/wpt/web-platform-tests/mathml/tools/radicals.py
index 90fe1d9cc1e..cf71cc50caf 100644
--- a/tests/wpt/web-platform-tests/mathml/tools/radicals.py
+++ b/tests/wpt/web-platform-tests/mathml/tools/radicals.py
@@ -20,7 +20,8 @@ def createStretchyRadical(aFont):
v1 = 25
v2 = 1 * mathfont.em
-f = mathfont.create("radical-degreebottomraisepercent%d-rulethickness%d" % (v1, v2))
+f = mathfont.create("radical-degreebottomraisepercent%d-rulethickness%d" % (v1, v2),
+ "Copyright (c) 2016 MathML Association")
createStretchyRadical(f)
f.math.RadicalDegreeBottomRaisePercent = v1
f.math.RadicalDisplayStyleVerticalGap = 0
@@ -33,7 +34,8 @@ mathfont.save(f)
v1 = 7 * mathfont.em
v2 = 1 * mathfont.em
-f = mathfont.create("radical-displaystyleverticalgap%d-rulethickness%d" % (v1, v2))
+f = mathfont.create("radical-displaystyleverticalgap%d-rulethickness%d" % (v1, v2),
+ "Copyright (c) 2016 MathML Association")
createStretchyRadical(f)
f.math.RadicalDegreeBottomRaisePercent = 0
f.math.RadicalDisplayStyleVerticalGap = v1
@@ -46,7 +48,8 @@ mathfont.save(f)
v1 = 3 * mathfont.em
v2 = 1 * mathfont.em
-f = mathfont.create("radical-extraascender%d-rulethickness%d" % (v1, v2))
+f = mathfont.create("radical-extraascender%d-rulethickness%d" % (v1, v2),
+ "Copyright (c) 2016 MathML Association")
createStretchyRadical(f)
f.math.RadicalDegreeBottomRaisePercent = 0
f.math.RadicalDisplayStyleVerticalGap = 0
@@ -59,7 +62,8 @@ mathfont.save(f)
v1 = 5 * mathfont.em
v2 = 1 * mathfont.em
-f = mathfont.create("radical-kernafterdegreeminus%d-rulethickness%d" % (v1, v2))
+f = mathfont.create("radical-kernafterdegreeminus%d-rulethickness%d" % (v1, v2),
+ "Copyright (c) 2016 MathML Association")
createStretchyRadical(f)
f.math.RadicalDegreeBottomRaisePercent = 0
f.math.RadicalDisplayStyleVerticalGap = 0
@@ -72,7 +76,8 @@ mathfont.save(f)
v1 = 4 * mathfont.em
v2 = 1 * mathfont.em
-f = mathfont.create("radical-kernbeforedegree%d-rulethickness%d" % (v1, v2))
+f = mathfont.create("radical-kernbeforedegree%d-rulethickness%d" % (v1, v2),
+ "Copyright (c) 2016 MathML Association")
createStretchyRadical(f)
f.math.RadicalDegreeBottomRaisePercent = 0
f.math.RadicalDisplayStyleVerticalGap = 0
@@ -84,7 +89,8 @@ f.math.RadicalVerticalGap = 0
mathfont.save(f)
v = 8 * mathfont.em
-f = mathfont.create("radical-rulethickness%d" % v)
+f = mathfont.create("radical-rulethickness%d" % v,
+ "Copyright (c) 2016 MathML Association")
createStretchyRadical(f)
f.math.RadicalDegreeBottomRaisePercent = 0
f.math.RadicalDisplayStyleVerticalGap = 0
@@ -97,7 +103,8 @@ mathfont.save(f)
v1 = 6 * mathfont.em
v2 = 1 * mathfont.em
-f = mathfont.create("radical-verticalgap%d-rulethickness%d" % (v1, v2))
+f = mathfont.create("radical-verticalgap%d-rulethickness%d" % (v1, v2),
+ "Copyright (c) 2016 MathML Association")
createStretchyRadical(f)
f.math.RadicalDegreeBottomRaisePercent = 0
f.math.RadicalDisplayStyleVerticalGap = 0
diff --git a/tests/wpt/web-platform-tests/mathml/tools/scripts.py b/tests/wpt/web-platform-tests/mathml/tools/scripts.py
index add16373845..62c5115e902 100644
--- a/tests/wpt/web-platform-tests/mathml/tools/scripts.py
+++ b/tests/wpt/web-platform-tests/mathml/tools/scripts.py
@@ -4,7 +4,8 @@ from utils import mathfont
import fontforge
v = 3 * mathfont.em
-f = mathfont.create("scripts-spaceafterscript%d" % v)
+f = mathfont.create("scripts-spaceafterscript%d" % v,
+ "Copyright (c) 2016 MathML Association")
f.math.SpaceAfterScript = v
f.math.SubSuperscriptGapMin = 0
f.math.SubscriptBaselineDropMin = 0
@@ -18,7 +19,8 @@ f.math.SuperscriptShiftUpCramped = 0
mathfont.save(f)
v = 7 * mathfont.em
-f = mathfont.create("scripts-superscriptshiftup%d" % v)
+f = mathfont.create("scripts-superscriptshiftup%d" % v,
+ "Copyright (c) 2016 MathML Association")
f.math.SpaceAfterScript = 0
f.math.SubSuperscriptGapMin = 0
f.math.SubscriptBaselineDropMin = 0
@@ -32,7 +34,8 @@ f.math.SuperscriptShiftUpCramped = 0
mathfont.save(f)
v = 5 * mathfont.em
-f = mathfont.create("scripts-superscriptshiftupcramped%d" % v)
+f = mathfont.create("scripts-superscriptshiftupcramped%d" % v,
+ "Copyright (c) 2016 MathML Association")
f.math.SpaceAfterScript = 0
f.math.SubSuperscriptGapMin = 0
f.math.SubscriptBaselineDropMin = 0
@@ -46,7 +49,8 @@ f.math.SuperscriptShiftUpCramped = v
mathfont.save(f)
v = 6 * mathfont.em
-f = mathfont.create("scripts-subscriptshiftdown%d" % v)
+f = mathfont.create("scripts-subscriptshiftdown%d" % v,
+ "Copyright (c) 2016 MathML Association")
f.math.SpaceAfterScript = 0
f.math.SubSuperscriptGapMin = 0
f.math.SubscriptBaselineDropMin = 0
@@ -60,7 +64,8 @@ f.math.SuperscriptShiftUpCramped = 0
mathfont.save(f)
v = 11 * mathfont.em
-f = mathfont.create("scripts-subsuperscriptgapmin%d" % v)
+f = mathfont.create("scripts-subsuperscriptgapmin%d" % v,
+ "Copyright (c) 2016 MathML Association")
f.math.SpaceAfterScript = 0
f.math.SubSuperscriptGapMin = v
f.math.SubscriptBaselineDropMin = 0
@@ -75,7 +80,8 @@ mathfont.save(f)
v1 = 11 * mathfont.em
v2 = 3 * mathfont.em
-f = mathfont.create("scripts-subsuperscriptgapmin%d-superscriptbottommaxwithsubscript%d" % (v1, v2))
+f = mathfont.create("scripts-subsuperscriptgapmin%d-superscriptbottommaxwithsubscript%d" % (v1, v2),
+ "Copyright (c) 2016 MathML Association")
f.math.SpaceAfterScript = 0
f.math.SubSuperscriptGapMin = v1
f.math.SubscriptBaselineDropMin = 0
@@ -89,7 +95,8 @@ f.math.SuperscriptShiftUpCramped = 0
mathfont.save(f)
v = 4 * mathfont.em
-f = mathfont.create("scripts-subscripttopmax%d" % v)
+f = mathfont.create("scripts-subscripttopmax%d" % v,
+ "Copyright (c) 2016 MathML Association")
f.math.SpaceAfterScript = 0
f.math.SubSuperscriptGapMin = 0
f.math.SubscriptBaselineDropMin = 0
@@ -103,7 +110,8 @@ f.math.SuperscriptShiftUpCramped = 0
mathfont.save(f)
v = 8 * mathfont.em
-f = mathfont.create("scripts-superscriptbottommin%d" % v)
+f = mathfont.create("scripts-superscriptbottommin%d" % v,
+ "Copyright (c) 2016 MathML Association")
f.math.SpaceAfterScript = 0
f.math.SubSuperscriptGapMin = 0
f.math.SubscriptBaselineDropMin = 0
@@ -117,7 +125,8 @@ f.math.SuperscriptShiftUpCramped = 0
mathfont.save(f)
v = 9 * mathfont.em
-f = mathfont.create("scripts-subscriptbaselinedropmin%d" % v)
+f = mathfont.create("scripts-subscriptbaselinedropmin%d" % v,
+ "Copyright (c) 2016 MathML Association")
f.math.SpaceAfterScript = 0
f.math.SubSuperscriptGapMin = 0
f.math.SubscriptBaselineDropMin = v
@@ -131,7 +140,8 @@ f.math.SuperscriptShiftUpCramped = 0
mathfont.save(f)
v = 10 * mathfont.em
-f = mathfont.create("scripts-superscriptbaselinedropmax%d" % v)
+f = mathfont.create("scripts-superscriptbaselinedropmax%d" % v,
+ "Copyright (c) 2016 MathML Association")
f.math.SpaceAfterScript = 0
f.math.SubSuperscriptGapMin = 0
f.math.SubscriptBaselineDropMin = 0
diff --git a/tests/wpt/web-platform-tests/mathml/tools/stacks.py b/tests/wpt/web-platform-tests/mathml/tools/stacks.py
index 9a4c291e6ea..bd0bf8a117f 100644
--- a/tests/wpt/web-platform-tests/mathml/tools/stacks.py
+++ b/tests/wpt/web-platform-tests/mathml/tools/stacks.py
@@ -5,7 +5,8 @@ import fontforge
v1 = 5 * mathfont.em
v2 = 1 * mathfont.em
-f = mathfont.create("stack-bottomdisplaystyleshiftdown%d-axisheight%d" % (v1, v2))
+f = mathfont.create("stack-bottomdisplaystyleshiftdown%d-axisheight%d" % (v1, v2),
+ "Copyright (c) 2016 MathML Association")
f.math.AxisHeight = v2
f.math.StackBottomDisplayStyleShiftDown = v1
f.math.StackBottomShiftDown = 0
@@ -17,7 +18,8 @@ mathfont.save(f)
v1 = 6 * mathfont.em
v2 = 1 * mathfont.em
-f = mathfont.create("stack-bottomshiftdown%d-axisheight%d" % (v1, v2))
+f = mathfont.create("stack-bottomshiftdown%d-axisheight%d" % (v1, v2),
+ "Copyright (c) 2016 MathML Association")
f.math.AxisHeight = v2
f.math.StackBottomDisplayStyleShiftDown = 0
f.math.StackBottomShiftDown = v1
@@ -28,7 +30,8 @@ f.math.StackTopShiftUp = 0
mathfont.save(f)
v = 4 * mathfont.em
-f = mathfont.create("stack-displaystylegapmin%d" % v)
+f = mathfont.create("stack-displaystylegapmin%d" % v,
+ "Copyright (c) 2016 MathML Association")
f.math.AxisHeight = 0
f.math.StackBottomDisplayStyleShiftDown = 0
f.math.StackBottomShiftDown = 0
@@ -39,7 +42,8 @@ f.math.StackTopShiftUp = 0
mathfont.save(f)
v = 8 * mathfont.em
-f = mathfont.create("stack-gapmin%d" % v)
+f = mathfont.create("stack-gapmin%d" % v,
+ "Copyright (c) 2016 MathML Association")
f.math.AxisHeight = 0
f.math.StackBottomDisplayStyleShiftDown = 0
f.math.StackBottomShiftDown = 0
@@ -51,7 +55,8 @@ mathfont.save(f)
v1 = 3 * mathfont.em
v2 = 1 * mathfont.em
-f = mathfont.create("stack-topdisplaystyleshiftup%d-axisheight%d" % (v1, v2))
+f = mathfont.create("stack-topdisplaystyleshiftup%d-axisheight%d" % (v1, v2),
+ "Copyright (c) 2016 MathML Association")
f.math.AxisHeight = v2
f.math.StackBottomDisplayStyleShiftDown = 0
f.math.StackBottomShiftDown = 0
@@ -63,7 +68,8 @@ mathfont.save(f)
v1 = 9 * mathfont.em
v2 = 1 * mathfont.em
-f = mathfont.create("stack-topshiftup%d-axisheight%d" % (v1, v2))
+f = mathfont.create("stack-topshiftup%d-axisheight%d" % (v1, v2),
+ "Copyright (c) 2016 MathML Association")
f.math.AxisHeight = v2
f.math.StackBottomDisplayStyleShiftDown = 0
f.math.StackBottomShiftDown = 0
diff --git a/tests/wpt/web-platform-tests/mathml/tools/stretchstacks.py b/tests/wpt/web-platform-tests/mathml/tools/stretchstacks.py
index 7b888f49e70..28f116622d3 100644
--- a/tests/wpt/web-platform-tests/mathml/tools/stretchstacks.py
+++ b/tests/wpt/web-platform-tests/mathml/tools/stretchstacks.py
@@ -6,7 +6,8 @@ import fontforge
arrowCodePoint = 0x2192 # horizontal stretch operator
v = 3 * mathfont.em
-f = mathfont.create("stretchstack-bottomshiftdown%d" % v)
+f = mathfont.create("stretchstack-bottomshiftdown%d" % v,
+ "Copyright (c) 2016 MathML Association")
mathfont.createSquareGlyph(f, arrowCodePoint)
f.math.LowerLimitBaselineDropMin = 0
f.math.LowerLimitGapMin = 0
@@ -23,7 +24,8 @@ f.math.UpperLimitGapMin = 0
mathfont.save(f)
v = 11 * mathfont.em
-f = mathfont.create("stretchstack-gapbelowmin%d" % v)
+f = mathfont.create("stretchstack-gapbelowmin%d" % v,
+ "Copyright (c) 2016 MathML Association")
mathfont.createSquareGlyph(f, arrowCodePoint)
f.math.LowerLimitBaselineDropMin = 0
f.math.LowerLimitGapMin = 0
@@ -40,7 +42,8 @@ f.math.UpperLimitGapMin = 0
mathfont.save(f)
v = 5 * mathfont.em
-f = mathfont.create("stretchstack-topshiftup%d" % v)
+f = mathfont.create("stretchstack-topshiftup%d" % v,
+ "Copyright (c) 2016 MathML Association")
mathfont.createSquareGlyph(f, arrowCodePoint)
f.math.LowerLimitBaselineDropMin = 0
f.math.LowerLimitGapMin = 0
@@ -57,7 +60,8 @@ f.math.UpperLimitGapMin = 0
mathfont.save(f)
v = 7 * mathfont.em
-f = mathfont.create("stretchstack-gapabovemin%d" % v)
+f = mathfont.create("stretchstack-gapabovemin%d" % v,
+ "Copyright (c) 2016 MathML Association")
mathfont.createSquareGlyph(f, arrowCodePoint)
f.math.LowerLimitBaselineDropMin = 0
f.math.LowerLimitGapMin = 0
diff --git a/tests/wpt/web-platform-tests/mathml/tools/underover.py b/tests/wpt/web-platform-tests/mathml/tools/underover.py
index df34e799960..71a31387b14 100644
--- a/tests/wpt/web-platform-tests/mathml/tools/underover.py
+++ b/tests/wpt/web-platform-tests/mathml/tools/underover.py
@@ -8,7 +8,8 @@ degreeCodePoint = 0xB0 # nonaccent operator
accentBaseHeight = 4 * mathfont.em
v = 3 * mathfont.em
-f = mathfont.create("underover-accentbaseheight%d-overbarextraascender%d" % (accentBaseHeight, v))
+f = mathfont.create("underover-accentbaseheight%d-overbarextraascender%d" % (accentBaseHeight, v),
+ "Copyright (c) 2016 MathML Association")
mathfont.createSquareGlyph(f, breveCodePoint)
mathfont.createSquareGlyph(f, degreeCodePoint)
f.math.AccentBaseHeight = accentBaseHeight
@@ -27,7 +28,8 @@ f.math.UpperLimitGapMin = 0
mathfont.save(f)
v = 11 * mathfont.em
-f = mathfont.create("underover-accentbaseheight%d-overbarverticalgap%d" % (accentBaseHeight, v))
+f = mathfont.create("underover-accentbaseheight%d-overbarverticalgap%d" % (accentBaseHeight, v),
+ "Copyright (c) 2016 MathML Association")
mathfont.createSquareGlyph(f, breveCodePoint)
mathfont.createSquareGlyph(f, degreeCodePoint)
f.math.AccentBaseHeight = accentBaseHeight
@@ -46,7 +48,8 @@ f.math.UpperLimitGapMin = 0
mathfont.save(f)
v = 5 * mathfont.em
-f = mathfont.create("underover-accentbaseheight%d-underbarextradescender%d" % (accentBaseHeight, v))
+f = mathfont.create("underover-accentbaseheight%d-underbarextradescender%d" % (accentBaseHeight, v),
+ "Copyright (c) 2016 MathML Association")
mathfont.createSquareGlyph(f, breveCodePoint)
mathfont.createSquareGlyph(f, degreeCodePoint)
f.math.AccentBaseHeight = accentBaseHeight
@@ -65,7 +68,8 @@ f.math.UpperLimitGapMin = 0
mathfont.save(f)
v = 7 * mathfont.em
-f = mathfont.create("underover-accentbaseheight%d-underbarverticalgap%d" % (accentBaseHeight, v))
+f = mathfont.create("underover-accentbaseheight%d-underbarverticalgap%d" % (accentBaseHeight, v),
+ "Copyright (c) 2016 MathML Association")
mathfont.createSquareGlyph(f, breveCodePoint)
mathfont.createSquareGlyph(f, degreeCodePoint)
f.math.AccentBaseHeight = accentBaseHeight
diff --git a/tests/wpt/web-platform-tests/mathml/tools/use-typo-lineheight.py b/tests/wpt/web-platform-tests/mathml/tools/use-typo-lineheight.py
index 9768979f488..48cdd2d6e70 100644
--- a/tests/wpt/web-platform-tests/mathml/tools/use-typo-lineheight.py
+++ b/tests/wpt/web-platform-tests/mathml/tools/use-typo-lineheight.py
@@ -1,7 +1,6 @@
#!/usr/bin/python
from __future__ import print_function
-from utils.misc import MathMLAssociationCopyright
import fontforge
font = fontforge.font()
@@ -12,7 +11,7 @@ name = "font-lineheight%d-typolineheight%d" % (winHeight, typoLineHeight)
font.fontname = name
font.familyname = name
font.fullname = name
-font.copyright = MathMLAssociationCopyright
+font.copyright = "Copyright (c) 2016 MathML Association"
glyph = font.createChar(ord(" "), "space")
glyph.width = 1000
diff --git a/tests/wpt/web-platform-tests/mathml/tools/utils/mathfont.py b/tests/wpt/web-platform-tests/mathml/tools/utils/mathfont.py
index 53633c91504..03af20668e7 100644
--- a/tests/wpt/web-platform-tests/mathml/tools/utils/mathfont.py
+++ b/tests/wpt/web-platform-tests/mathml/tools/utils/mathfont.py
@@ -1,16 +1,15 @@
from __future__ import print_function
import fontforge
-from misc import MathMLAssociationCopyright
em = 1000
-def create(aName):
+def create(aName, aCopyRight):
print("Generating %s.woff..." % aName, end="")
mathFont = fontforge.font()
mathFont.fontname = aName
mathFont.familyname = aName
mathFont.fullname = aName
- mathFont.copyright = MathMLAssociationCopyright
+ mathFont.copyright = aCopyRight
mathFont.encoding = "UnicodeFull"
# Create a space character. Also force the creation of some MATH subtables
diff --git a/tests/wpt/web-platform-tests/mathml/tools/utils/misc.py b/tests/wpt/web-platform-tests/mathml/tools/utils/misc.py
index d877a915e52..0d05346aa51 100644
--- a/tests/wpt/web-platform-tests/mathml/tools/utils/misc.py
+++ b/tests/wpt/web-platform-tests/mathml/tools/utils/misc.py
@@ -8,7 +8,6 @@ except ImportError:
UnicodeXMLURL = "https://mathml-refresh.github.io/xml-entities/unicode.xml"
InlineAxisOperatorsURL = "https://mathml-refresh.github.io/mathml-core/tables/inline-axis-operators.txt"
-MathMLAssociationCopyright = "Copyright (c) 2016 MathML Association"
def downloadWithProgressBar(url, outputDirectory="./", forceDownload=False):
diff --git a/tests/wpt/web-platform-tests/mathml/tools/xHeight.py b/tests/wpt/web-platform-tests/mathml/tools/xHeight.py
index 724352bf916..2103a73a114 100644
--- a/tests/wpt/web-platform-tests/mathml/tools/xHeight.py
+++ b/tests/wpt/web-platform-tests/mathml/tools/xHeight.py
@@ -4,7 +4,8 @@ from utils import mathfont
import fontforge
v = mathfont.em / 2
-f = mathfont.create("xheight%d" % v)
+f = mathfont.create("xheight%d" % v,
+ "Copyright (c) 2016 MathML Association")
g = f.createChar(ord('x'))
mathfont.drawRectangleGlyph(g, mathfont.em, v, 0)
assert f.xHeight == v, "Bad x-height value!"
diff --git a/tests/wpt/web-platform-tests/mediasession/positionstate.html b/tests/wpt/web-platform-tests/mediasession/positionstate.html
index 9033a7be5ce..9141091a906 100644
--- a/tests/wpt/web-platform-tests/mediasession/positionstate.html
+++ b/tests/wpt/web-platform-tests/mediasession/positionstate.html
@@ -42,16 +42,12 @@ test(() => {
}, 'Test setPositionState with zero duration');
test(() => {
- assert_throws_js(
- TypeError,
- _ => {
- window.navigator.mediaSession.setPositionState({
- duration: 60.9,
- position: 10.1,
- playbackRate: -2.0
- });
- });
-}, 'Test setPositionState throws a TypeError if playback rate is negative');
+ window.navigator.mediaSession.setPositionState({
+ duration: 60.9,
+ position: 10.1,
+ playbackRate: -2.0
+ });
+}, 'Test setPositionState with negative playback rate');
test(() => {
assert_throws_js(
diff --git a/tests/wpt/web-platform-tests/origin-policy/bad-server/bad-headers.https.html b/tests/wpt/web-platform-tests/origin-policy/bad-server/bad-headers.https.html
new file mode 100644
index 00000000000..127aa41cef8
--- /dev/null
+++ b/tests/wpt/web-platform-tests/origin-policy/bad-server/bad-headers.https.html
@@ -0,0 +1,51 @@
+<!DOCTYPE HTML>
+<meta charset="utf-8">
+<title>Origin-Policy malformed headers must cause network errors</title>
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<script src="../resources/origin-policy-test-runner.js"></script>
+
+<div id="log"></div>
+
+<script>
+"use strict";
+
+[
+ ``,
+ `latest`,
+ `allowed, preferred`,
+ `"1"`,
+ `allowed="1"`,
+ `allowed=latest`,
+ `allowed=()`,
+ `allowed=("")`,
+ `allowed=("1" ?0)`,
+ `allowed=("1" 42)`,
+ `allowed=("1" 2.5)`,
+ `allowed=("1" :cHJldGVuZCB0aGlzIGlzIGJpbmFyeSBjb250ZW50Lg==:)`,
+ `preferred=("1")`,
+ `preferred=latest`,
+ `preferred=""`,
+ `preferred=?0, allowed=(latest)`,
+ `preferred=latest-from-network, allowed=("1" ?0)`,
+ `preferred="", allowed=(latest)`,
+ `preferred=latest-from-network, allowed=("1", "")`,
+].forEach(runTest);
+
+function runTest(header) {
+ async_test(t => {
+ const iframe = document.createElement("iframe");
+ iframe.src = "resources/subframe-with-bad-header.py?header=" + encodeURIComponent(header);
+
+ iframe.onload = t.step_func_done(() => {
+ // The loaded result must be cross-origin since it's a network error.
+ // Accessing the document property of a cross-origin Window throws a
+ // "SecurityError" DOMException.
+ assert_throws_dom("SecurityError", () => iframe.contentWindow.document);
+ });
+ iframe.onerror = t.unreached_func("Iframe loads must not error");
+
+ document.body.append(iframe);
+ }, header);
+}
+</script>
diff --git a/tests/wpt/web-platform-tests/origin-policy/bad-server/resources/subframe-with-bad-header.py b/tests/wpt/web-platform-tests/origin-policy/bad-server/resources/subframe-with-bad-header.py
new file mode 100644
index 00000000000..c35daa0c2be
--- /dev/null
+++ b/tests/wpt/web-platform-tests/origin-policy/bad-server/resources/subframe-with-bad-header.py
@@ -0,0 +1,13 @@
+def main(request, response):
+ """Send a response with the Origin-Policy header given in the query string.
+ """
+ header = request.GET.first("header")
+
+ response.headers.set("Origin-Policy", header)
+ response.headers.set("Content-Type", "text/html")
+
+ return """
+ <!DOCTYPE html>
+ <meta charset="utf-8">
+ <title>Origin policy bad header subframe</title>
+ """
diff --git a/tests/wpt/web-platform-tests/pointerevents/pointerevent_touch-action-button-none-test_touch.html b/tests/wpt/web-platform-tests/pointerevents/pointerevent_touch-action-button-none-test_touch.html
index ea4b4f96156..42bcb7b8432 100644
--- a/tests/wpt/web-platform-tests/pointerevents/pointerevent_touch-action-button-none-test_touch.html
+++ b/tests/wpt/web-platform-tests/pointerevents/pointerevent_touch-action-button-none-test_touch.html
@@ -13,7 +13,7 @@
<script src="pointerevent_support.js"></script>
<style>
#target0 {
- height: 150px;
+ height: 100px;
width: 200px;
overflow-y: auto;
background: black;
diff --git a/tests/wpt/web-platform-tests/resize-observer/devicepixel.html b/tests/wpt/web-platform-tests/resize-observer/devicepixel.html
index 6ecb8246d14..7bada9363e2 100644
--- a/tests/wpt/web-platform-tests/resize-observer/devicepixel.html
+++ b/tests/wpt/web-platform-tests/resize-observer/devicepixel.html
@@ -65,7 +65,7 @@
function observeSizes() {
let ro = new ResizeObserver( entries => {
for (entry of entries) {
- let size = entry.devicePixelContentBoxSize;
+ let size = entry.devicePixelContentBoxSize[0];
if (entry.target == canvas2D) {
let canvas2D = document.querySelector("#canvas2D");
let ctx = canvas2D.getContext("2d");
diff --git a/tests/wpt/web-platform-tests/resize-observer/observe.html b/tests/wpt/web-platform-tests/resize-observer/observe.html
index 58f200463df..35c517a7969 100644
--- a/tests/wpt/web-platform-tests/resize-observer/observe.html
+++ b/tests/wpt/web-platform-tests/resize-observer/observe.html
@@ -254,13 +254,13 @@ function test8() {
assert_equals(entries[0].contentRect.height, 100, "target height");
assert_equals(entries[0].contentRect.top, 0, "target top padding");
assert_equals(entries[0].contentRect.left, 0, "target left padding");
- assert_equals(entries[0].contentBoxSize.inlineSize, 100,
+ assert_equals(entries[0].contentBoxSize[0].inlineSize, 100,
"target content-box inline size");
- assert_equals(entries[0].contentBoxSize.blockSize, 100,
+ assert_equals(entries[0].contentBoxSize[0].blockSize, 100,
"target content-box block size");
- assert_equals(entries[0].borderBoxSize.inlineSize, 100,
+ assert_equals(entries[0].borderBoxSize[0].inlineSize, 100,
"target border-box inline size");
- assert_equals(entries[0].borderBoxSize.blockSize, 100,
+ assert_equals(entries[0].borderBoxSize[0].blockSize, 100,
"target border-box block size");
}
},
@@ -276,13 +276,13 @@ function test8() {
assert_equals(entries[0].contentRect.height, 90, "target height");
assert_equals(entries[0].contentRect.top, 0, "target top padding");
assert_equals(entries[0].contentRect.left, 0, "target left padding");
- assert_equals(entries[0].contentBoxSize.inlineSize, 90,
+ assert_equals(entries[0].contentBoxSize[0].inlineSize, 90,
"target content-box inline size");
- assert_equals(entries[0].contentBoxSize.blockSize, 90,
+ assert_equals(entries[0].contentBoxSize[0].blockSize, 90,
"target content-box block size");
- assert_equals(entries[0].borderBoxSize.inlineSize, 90,
+ assert_equals(entries[0].borderBoxSize[0].inlineSize, 90,
"target border-box inline size");
- assert_equals(entries[0].borderBoxSize.blockSize, 90,
+ assert_equals(entries[0].borderBoxSize[0].blockSize, 90,
"target border-box block size");
}
},
@@ -322,13 +322,13 @@ function test9() {
assert_equals(entries[0].contentRect.height, 100, "target height");
assert_equals(entries[0].contentRect.top, 0, "target top padding");
assert_equals(entries[0].contentRect.left, 0, "target left padding");
- assert_equals(entries[0].contentBoxSize.inlineSize, 100,
+ assert_equals(entries[0].contentBoxSize[0].inlineSize, 100,
"target content-box inline size");
- assert_equals(entries[0].contentBoxSize.blockSize, 100,
+ assert_equals(entries[0].contentBoxSize[0].blockSize, 100,
"target content-box block size");
- assert_equals(entries[0].borderBoxSize.inlineSize, 100,
+ assert_equals(entries[0].borderBoxSize[0].inlineSize, 100,
"target border-box inline size");
- assert_equals(entries[0].borderBoxSize.blockSize, 100,
+ assert_equals(entries[0].borderBoxSize[0].blockSize, 100,
"target border-box block size");
}
},
@@ -346,13 +346,13 @@ function test9() {
assert_equals(entries[0].contentRect.height, 92, "target height");
assert_equals(entries[0].contentRect.top, 4, "target top padding");
assert_equals(entries[0].contentRect.left, 4, "target left padding");
- assert_equals(entries[0].contentBoxSize.inlineSize, 92,
+ assert_equals(entries[0].contentBoxSize[0].inlineSize, 92,
"target content-box inline size");
- assert_equals(entries[0].contentBoxSize.blockSize, 92,
+ assert_equals(entries[0].contentBoxSize[0].blockSize, 92,
"target content-box block size");
- assert_equals(entries[0].borderBoxSize.inlineSize, 100,
+ assert_equals(entries[0].borderBoxSize[0].inlineSize, 100,
"target border-box inline size");
- assert_equals(entries[0].borderBoxSize.blockSize, 100,
+ assert_equals(entries[0].borderBoxSize[0].blockSize, 100,
"target border-box block size");
}
}
@@ -379,13 +379,13 @@ function test10() {
assert_equals(entries[0].contentRect.height, 100, "target height");
assert_equals(entries[0].contentRect.top, 0, "target top padding");
assert_equals(entries[0].contentRect.left, 0, "target left padding");
- assert_equals(entries[0].contentBoxSize.inlineSize, 100,
+ assert_equals(entries[0].contentBoxSize[0].inlineSize, 100,
"target content-box inline size");
- assert_equals(entries[0].contentBoxSize.blockSize, 100,
+ assert_equals(entries[0].contentBoxSize[0].blockSize, 100,
"target content-box block size");
- assert_equals(entries[0].borderBoxSize.inlineSize, 100,
+ assert_equals(entries[0].borderBoxSize[0].inlineSize, 100,
"target border-box inline size");
- assert_equals(entries[0].borderBoxSize.blockSize, 100,
+ assert_equals(entries[0].borderBoxSize[0].blockSize, 100,
"target border-box block size");
}
},
@@ -400,13 +400,13 @@ function test10() {
assert_equals(entries[0].contentRect.height, 100, "target height");
assert_equals(entries[0].contentRect.top, 4, "target top padding");
assert_equals(entries[0].contentRect.left, 4, "target left padding");
- assert_equals(entries[0].contentBoxSize.inlineSize, 100,
+ assert_equals(entries[0].contentBoxSize[0].inlineSize, 100,
"target content-box inline size");
- assert_equals(entries[0].contentBoxSize.blockSize, 100,
+ assert_equals(entries[0].contentBoxSize[0].blockSize, 100,
"target content-box block size");
- assert_equals(entries[0].borderBoxSize.inlineSize, 108,
+ assert_equals(entries[0].borderBoxSize[0].inlineSize, 108,
"target border-box inline size");
- assert_equals(entries[0].borderBoxSize.blockSize, 108,
+ assert_equals(entries[0].borderBoxSize[0].blockSize, 108,
"target border-box block size");
}
},
@@ -449,13 +449,13 @@ function test11() {
assert_equals(entries[0].target, t, "target is t");
assert_equals(entries[0].contentRect.width, 50, "target width");
assert_equals(entries[0].contentRect.height, 50, "target height");
- assert_equals(entries[0].contentBoxSize.inlineSize, 50,
+ assert_equals(entries[0].contentBoxSize[0].inlineSize, 50,
"target content-box inline size");
- assert_equals(entries[0].contentBoxSize.blockSize, 50,
+ assert_equals(entries[0].contentBoxSize[0].blockSize, 50,
"target content-box block size");
- assert_equals(entries[0].borderBoxSize.inlineSize, 50,
+ assert_equals(entries[0].borderBoxSize[0].inlineSize, 50,
"target border-box inline size");
- assert_equals(entries[0].borderBoxSize.blockSize, 50,
+ assert_equals(entries[0].borderBoxSize[0].blockSize, 50,
"target border-box block size");
}
},
@@ -468,13 +468,13 @@ function test11() {
assert_equals(entries[0].target, t, "target is t");
assert_equals(entries[0].contentRect.width, 75, "target width");
assert_equals(entries[0].contentRect.height, 50, "target height");
- assert_equals(entries[0].contentBoxSize.inlineSize, 50,
+ assert_equals(entries[0].contentBoxSize[0].inlineSize, 50,
"target content-box inline size");
- assert_equals(entries[0].contentBoxSize.blockSize, 75,
+ assert_equals(entries[0].contentBoxSize[0].blockSize, 75,
"target content-box block size");
- assert_equals(entries[0].borderBoxSize.inlineSize, 50,
+ assert_equals(entries[0].borderBoxSize[0].inlineSize, 50,
"target border-box inline size");
- assert_equals(entries[0].borderBoxSize.blockSize, 75,
+ assert_equals(entries[0].borderBoxSize[0].blockSize, 75,
"target border-box block size");
}
}
@@ -505,9 +505,9 @@ function test12() {
assert_equals(entries[0].target, t, "target is t");
assert_equals(entries[0].contentRect.width, 50, "target width");
assert_equals(entries[0].contentRect.height, 100, "target height");
- assert_equals(entries[0].contentBoxSize.inlineSize, 100,
+ assert_equals(entries[0].contentBoxSize[0].inlineSize, 100,
"target content-box inline size");
- assert_equals(entries[0].contentBoxSize.blockSize, 50,
+ assert_equals(entries[0].contentBoxSize[0].blockSize, 50,
"target content-box block size");
}
},
@@ -546,9 +546,9 @@ function test13() {
assert_equals(entries[0].target, t, "target is t");
assert_equals(entries[0].contentRect.width, 50, "target width");
assert_equals(entries[0].contentRect.height, 100, "target height");
- assert_equals(entries[0].contentBoxSize.inlineSize, 100,
+ assert_equals(entries[0].contentBoxSize[0].inlineSize, 100,
"target content-box inline size");
- assert_equals(entries[0].contentBoxSize.blockSize, 50,
+ assert_equals(entries[0].contentBoxSize[0].blockSize, 50,
"target content-box block size");
}
},
@@ -561,9 +561,9 @@ function test13() {
assert_equals(entries[0].target, t, "target is t");
assert_equals(entries[0].contentRect.width, 50, "target width");
assert_equals(entries[0].contentRect.height, 100, "target height");
- assert_equals(entries[0].contentBoxSize.inlineSize, 50,
+ assert_equals(entries[0].contentBoxSize[0].inlineSize, 50,
"target content-box inline size");
- assert_equals(entries[0].contentBoxSize.blockSize, 100,
+ assert_equals(entries[0].contentBoxSize[0].blockSize, 100,
"target content-box block size");
},
}
@@ -593,13 +593,13 @@ function test14() {
assert_equals(entries[0].contentRect.height, 100, "target height");
assert_equals(entries[0].contentRect.top, 0, "target top padding");
assert_equals(entries[0].contentRect.left, 0, "target left padding");
- assert_equals(entries[0].contentBoxSize.inlineSize, 100,
+ assert_equals(entries[0].contentBoxSize[0].inlineSize, 100,
"target content-box inline size");
- assert_equals(entries[0].contentBoxSize.blockSize, 100,
+ assert_equals(entries[0].contentBoxSize[0].blockSize, 100,
"target content-box block size");
- assert_equals(entries[0].borderBoxSize.inlineSize, 100,
+ assert_equals(entries[0].borderBoxSize[0].inlineSize, 100,
"target border-box inline size");
- assert_equals(entries[0].borderBoxSize.blockSize, 100,
+ assert_equals(entries[0].borderBoxSize[0].blockSize, 100,
"target border-box block size");
}
},
@@ -615,13 +615,13 @@ function test14() {
assert_equals(entries[0].contentRect.height, 100, "target height");
assert_equals(entries[0].contentRect.top, 4, "target top padding");
assert_equals(entries[0].contentRect.left, 4, "target left padding");
- assert_equals(entries[0].contentBoxSize.inlineSize, 100,
+ assert_equals(entries[0].contentBoxSize[0].inlineSize, 100,
"target content-box inline size");
- assert_equals(entries[0].contentBoxSize.blockSize, 100,
+ assert_equals(entries[0].contentBoxSize[0].blockSize, 100,
"target content-box block size");
- assert_equals(entries[0].borderBoxSize.inlineSize, 108,
+ assert_equals(entries[0].borderBoxSize[0].inlineSize, 108,
"target border-box inline size");
- assert_equals(entries[0].borderBoxSize.blockSize, 108,
+ assert_equals(entries[0].borderBoxSize[0].blockSize, 108,
"target border-box block size");
}
},
@@ -662,13 +662,13 @@ function test15() {
assert_equals(entries[0].target, t, "target is t");
assert_equals(entries[0].contentRect.width, 50, "target width");
assert_equals(entries[0].contentRect.height, 100, "target height");
- assert_equals(entries[0].contentBoxSize.inlineSize, 50,
+ assert_equals(entries[0].contentBoxSize[0].inlineSize, 50,
"target content-box inline size");
- assert_equals(entries[0].contentBoxSize.blockSize, 100,
+ assert_equals(entries[0].contentBoxSize[0].blockSize, 100,
"target content-box block size");
- assert_equals(entries[0].borderBoxSize.inlineSize, 50,
+ assert_equals(entries[0].borderBoxSize[0].inlineSize, 50,
"target content-box inline size");
- assert_equals(entries[0].borderBoxSize.blockSize, 100,
+ assert_equals(entries[0].borderBoxSize[0].blockSize, 100,
"target content-box block size");
}
},
@@ -679,13 +679,13 @@ function test15() {
notify: entries => {
assert_equals(entries[0].contentRect.width, 0, "target width");
assert_equals(entries[0].contentRect.height, 0, "target height");
- assert_equals(entries[0].contentBoxSize.inlineSize, 0,
+ assert_equals(entries[0].contentBoxSize[0].inlineSize, 0,
"target content-box inline size");
- assert_equals(entries[0].contentBoxSize.blockSize, 0,
+ assert_equals(entries[0].contentBoxSize[0].blockSize, 0,
"target content-box block size");
- assert_equals(entries[0].borderBoxSize.inlineSize, 0,
+ assert_equals(entries[0].borderBoxSize[0].inlineSize, 0,
"target border-box inline size");
- assert_equals(entries[0].borderBoxSize.blockSize, 0,
+ assert_equals(entries[0].borderBoxSize[0].blockSize, 0,
"target border-box block size");
}
}
@@ -750,13 +750,13 @@ function test17() {
assert_equals(entries[0].contentRect.height, 30, "target height");
assert_equals(entries[0].contentRect.top, 5, "target top padding");
assert_equals(entries[0].contentRect.left, 5, "target left padding");
- assert_equals(entries[0].contentBoxSize.inlineSize, 40,
+ assert_equals(entries[0].contentBoxSize[0].inlineSize, 40,
"target content-box inline size");
- assert_equals(entries[0].contentBoxSize.blockSize, 30,
+ assert_equals(entries[0].contentBoxSize[0].blockSize, 30,
"target content-box block size");
- assert_equals(entries[0].borderBoxSize.inlineSize, 60,
+ assert_equals(entries[0].borderBoxSize[0].inlineSize, 60,
"target border-box inline size");
- assert_equals(entries[0].borderBoxSize.blockSize, 50,
+ assert_equals(entries[0].borderBoxSize[0].blockSize, 50,
"target border-box block size");
}
},
@@ -774,13 +774,13 @@ function test17() {
assert_equals(entries[0].contentRect.height, 20, "target height");
assert_equals(entries[0].contentRect.top, 10, "target top padding");
assert_equals(entries[0].contentRect.left, 10, "target left padding");
- assert_equals(entries[0].contentBoxSize.inlineSize, 30,
+ assert_equals(entries[0].contentBoxSize[0].inlineSize, 30,
"target content-box inline size");
- assert_equals(entries[0].contentBoxSize.blockSize, 20,
+ assert_equals(entries[0].contentBoxSize[0].blockSize, 20,
"target content-box block size");
- assert_equals(entries[0].borderBoxSize.inlineSize, 60,
+ assert_equals(entries[0].borderBoxSize[0].inlineSize, 60,
"target border-box inline size");
- assert_equals(entries[0].borderBoxSize.blockSize, 50,
+ assert_equals(entries[0].borderBoxSize[0].blockSize, 50,
"target border-box block size");
}
},
@@ -797,13 +797,13 @@ function test17() {
assert_equals(entries[0].contentRect.height, 28, "target height");
assert_equals(entries[0].contentRect.top, 10, "target top padding");
assert_equals(entries[0].contentRect.left, 10, "target left padding");
- assert_equals(entries[0].contentBoxSize.inlineSize, 38,
+ assert_equals(entries[0].contentBoxSize[0].inlineSize, 38,
"target content-box inline size");
- assert_equals(entries[0].contentBoxSize.blockSize, 28,
+ assert_equals(entries[0].contentBoxSize[0].blockSize, 28,
"target content-box block size");
- assert_equals(entries[0].borderBoxSize.inlineSize, 60,
+ assert_equals(entries[0].borderBoxSize[0].inlineSize, 60,
"target border-box inline size");
- assert_equals(entries[0].borderBoxSize.blockSize, 50,
+ assert_equals(entries[0].borderBoxSize[0].blockSize, 50,
"target border-box block size");
}
},
@@ -818,13 +818,13 @@ function test17() {
assert_equals(entries[0].contentRect.height, 28, "target height");
assert_equals(entries[0].contentRect.top, 10, "target top padding");
assert_equals(entries[0].contentRect.left, 10, "target left padding");
- assert_equals(entries[0].contentBoxSize.inlineSize, 38,
+ assert_equals(entries[0].contentBoxSize[0].inlineSize, 38,
"target content-box inline size");
- assert_equals(entries[0].contentBoxSize.blockSize, 28,
+ assert_equals(entries[0].contentBoxSize[0].blockSize, 28,
"target content-box block size");
- assert_equals(entries[0].borderBoxSize.inlineSize, 60,
+ assert_equals(entries[0].borderBoxSize[0].inlineSize, 60,
"target border-box inline size");
- assert_equals(entries[0].borderBoxSize.blockSize, 50,
+ assert_equals(entries[0].borderBoxSize[0].blockSize, 50,
"target border-box block size");
}
},
@@ -864,17 +864,17 @@ function test18() {
assert_equals(entries[0].target, t, "target is t");
assert_equals(entries[0].contentRect.width, 50, "target width");
assert_equals(entries[0].contentRect.height, 100, "target height");
- assert_equals(entries[0].contentBoxSize.inlineSize, 50,
+ assert_equals(entries[0].contentBoxSize[0].inlineSize, 50,
"target content-box inline size");
- assert_equals(entries[0].contentBoxSize.blockSize, 100,
+ assert_equals(entries[0].contentBoxSize[0].blockSize, 100,
"target content-box block size");
- assert_equals(entries[0].borderBoxSize.inlineSize, 50,
+ assert_equals(entries[0].borderBoxSize[0].inlineSize, 50,
"target border-box inline size");
- assert_equals(entries[0].borderBoxSize.blockSize, 100,
+ assert_equals(entries[0].borderBoxSize[0].blockSize, 100,
"target border-box block size");
- assert_equals(entries[0].devicePixelContentBoxSize.inlineSize, 50,
+ assert_equals(entries[0].devicePixelContentBoxSize[0].inlineSize, 50,
"target device-pixel-content-box inline size");
- assert_equals(entries[0].devicePixelContentBoxSize.blockSize, 100,
+ assert_equals(entries[0].devicePixelContentBoxSize[0].blockSize, 100,
"target device-pixel-content-box block size");
}
},
@@ -887,17 +887,17 @@ function test18() {
assert_equals(entries[0].target, t, "target is t");
assert_equals(entries[0].contentRect.width, 50, "target width");
assert_equals(entries[0].contentRect.height, 100, "target height");
- assert_equals(entries[0].contentBoxSize.inlineSize, 50,
+ assert_equals(entries[0].contentBoxSize[0].inlineSize, 50,
"target content-box inline size");
- assert_equals(entries[0].contentBoxSize.blockSize, 100,
+ assert_equals(entries[0].contentBoxSize[0].blockSize, 100,
"target content-box block size");
- assert_equals(entries[0].borderBoxSize.inlineSize, 50,
+ assert_equals(entries[0].borderBoxSize[0].inlineSize, 50,
"target border-box inline size");
- assert_equals(entries[0].borderBoxSize.blockSize, 100,
+ assert_equals(entries[0].borderBoxSize[0].blockSize, 100,
"target border-box block size");
- assert_equals(entries[0].devicePixelContentBoxSize.inlineSize, 150,
+ assert_equals(entries[0].devicePixelContentBoxSize[0].inlineSize, 150,
"target device-pixel-content-box inline size");
- assert_equals(entries[0].devicePixelContentBoxSize.blockSize, 300,
+ assert_equals(entries[0].devicePixelContentBoxSize[0].blockSize, 300,
"target device-pixel-content-box block size");
}
}
diff --git a/tests/wpt/web-platform-tests/resize-observer/svg.html b/tests/wpt/web-platform-tests/resize-observer/svg.html
index fe8d4282a90..b05a10c82e8 100644
--- a/tests/wpt/web-platform-tests/resize-observer/svg.html
+++ b/tests/wpt/web-platform-tests/resize-observer/svg.html
@@ -387,8 +387,8 @@ function test12() {
assert_equals(entries.length, 1);
assert_equals(entries[0].contentRect.width, 45);
assert_equals(entries[0].contentRect.height, 10);
- assert_equals(entries[0].contentBoxSize.inlineSize, 45);
- assert_equals(entries[0].contentBoxSize.blockSize, 10);
+ assert_equals(entries[0].contentBoxSize[0].inlineSize, 45);
+ assert_equals(entries[0].contentBoxSize[0].blockSize, 10);
}
}
]);
@@ -417,10 +417,10 @@ function test13() {
assert_equals(entries.length, 1);
assert_equals(entries[0].contentRect.width, 20);
assert_equals(entries[0].contentRect.height, 20);
- assert_equals(entries[0].contentBoxSize.inlineSize, 20);
- assert_equals(entries[0].contentBoxSize.blockSize, 20);
- assert_equals(entries[0].borderBoxSize.inlineSize, 20);
- assert_equals(entries[0].borderBoxSize.blockSize, 20);
+ assert_equals(entries[0].contentBoxSize[0].inlineSize, 20);
+ assert_equals(entries[0].contentBoxSize[0].blockSize, 20);
+ assert_equals(entries[0].borderBoxSize[0].inlineSize, 20);
+ assert_equals(entries[0].borderBoxSize[0].blockSize, 20);
}
}
]);
@@ -440,10 +440,10 @@ function test14() {
assert_equals(entries.length, 1);
assert_equals(entries[0].contentRect.width, 50);
assert_equals(entries[0].contentRect.height, 20);
- assert_equals(entries[0].contentBoxSize.inlineSize, 50);
- assert_equals(entries[0].contentBoxSize.blockSize, 20);
- assert_equals(entries[0].borderBoxSize.inlineSize, 50);
- assert_equals(entries[0].borderBoxSize.blockSize, 20);
+ assert_equals(entries[0].contentBoxSize[0].inlineSize, 50);
+ assert_equals(entries[0].contentBoxSize[0].blockSize, 20);
+ assert_equals(entries[0].borderBoxSize[0].inlineSize, 50);
+ assert_equals(entries[0].borderBoxSize[0].blockSize, 20);
return true; // Delay next step
}
},
@@ -455,10 +455,10 @@ function test14() {
assert_equals(entries.length, 1);
assert_equals(entries[0].contentRect.width, 15);
assert_equals(entries[0].contentRect.height, 20);
- assert_equals(entries[0].contentBoxSize.inlineSize, 15);
- assert_equals(entries[0].contentBoxSize.blockSize, 20);
- assert_equals(entries[0].borderBoxSize.inlineSize, 15);
- assert_equals(entries[0].borderBoxSize.blockSize, 20);
+ assert_equals(entries[0].contentBoxSize[0].inlineSize, 15);
+ assert_equals(entries[0].contentBoxSize[0].blockSize, 20);
+ assert_equals(entries[0].borderBoxSize[0].inlineSize, 15);
+ assert_equals(entries[0].borderBoxSize[0].blockSize, 20);
}
}
]);
@@ -486,10 +486,10 @@ function test15() {
assert_equals(entries.length, 1);
assert_equals(entries[0].contentRect.width, 360);
assert_equals(entries[0].contentRect.height, 30);
- assert_equals(entries[0].contentBoxSize.inlineSize, 360);
- assert_equals(entries[0].contentBoxSize.blockSize, 30);
- assert_equals(entries[0].borderBoxSize.inlineSize, 360);
- assert_equals(entries[0].borderBoxSize.blockSize, 30);
+ assert_equals(entries[0].contentBoxSize[0].inlineSize, 360);
+ assert_equals(entries[0].contentBoxSize[0].blockSize, 30);
+ assert_equals(entries[0].borderBoxSize[0].inlineSize, 360);
+ assert_equals(entries[0].borderBoxSize[0].blockSize, 30);
}
}
]);
@@ -512,12 +512,12 @@ function test16() {
assert_equals(entries.length, 1);
assert_equals(entries[0].contentRect.width, 50);
assert_equals(entries[0].contentRect.height, 20);
- assert_equals(entries[0].contentBoxSize.inlineSize, 50);
- assert_equals(entries[0].contentBoxSize.blockSize, 20);
- assert_equals(entries[0].borderBoxSize.inlineSize, 50);
- assert_equals(entries[0].borderBoxSize.blockSize, 20);
- assert_equals(entries[0].devicePixelContentBoxSize.inlineSize, 50);
- assert_equals(entries[0].devicePixelContentBoxSize.blockSize, 20);
+ assert_equals(entries[0].contentBoxSize[0].inlineSize, 50);
+ assert_equals(entries[0].contentBoxSize[0].blockSize, 20);
+ assert_equals(entries[0].borderBoxSize[0].inlineSize, 50);
+ assert_equals(entries[0].borderBoxSize[0].blockSize, 20);
+ assert_equals(entries[0].devicePixelContentBoxSize[0].inlineSize, 50);
+ assert_equals(entries[0].devicePixelContentBoxSize[0].blockSize, 20);
return true; // Delay next step
}
},
diff --git a/tests/wpt/web-platform-tests/resources/idlharness.js b/tests/wpt/web-platform-tests/resources/idlharness.js
index 4f8ec0d1a66..d01da49c2d5 100644
--- a/tests/wpt/web-platform-tests/resources/idlharness.js
+++ b/tests/wpt/web-platform-tests/resources/idlharness.js
@@ -2749,7 +2749,7 @@ IdlInterface.prototype.test_object = function(desc)
var expected_typeof;
if (this.name == "HTMLAllCollection")
{
- // Willful violation of JS. :(
+ // Result of [[IsHTMLDDA]] slot
expected_typeof = "undefined";
} else if (this.members.some(function(member) { return member.legacycaller; }))
{
@@ -2922,7 +2922,7 @@ IdlInterface.prototype.test_interface_of = function(desc, obj, exception, expect
{
if (this.name == "Document" && member.name == "all")
{
- // Willful violation of JS :(
+ // Result of [[IsHTMLDDA]] slot
assert_equals(typeof property, "undefined");
}
else
diff --git a/tests/wpt/web-platform-tests/resources/testharness.js b/tests/wpt/web-platform-tests/resources/testharness.js
index 8d3b3e9dd6b..63883e15504 100644
--- a/tests/wpt/web-platform-tests/resources/testharness.js
+++ b/tests/wpt/web-platform-tests/resources/testharness.js
@@ -1484,7 +1484,7 @@ policies and contribution forms [3].
return function (object, property_name, description)
{
assert(typeof object === "object" || typeof object === "function" ||
- // Willful violation of JS. :(
+ // Or has [[IsHTMLDDA]] slot
String(object) === "[object HTMLAllCollection]",
name, description,
"provided value is not an object");
diff --git a/tests/wpt/web-platform-tests/server-timing/idlharness.https.any.js b/tests/wpt/web-platform-tests/server-timing/idlharness.https.any.js
index b55c741df39..44bffcf59e6 100644
--- a/tests/wpt/web-platform-tests/server-timing/idlharness.https.any.js
+++ b/tests/wpt/web-platform-tests/server-timing/idlharness.https.any.js
@@ -1,5 +1,6 @@
// META: script=/resources/WebIDLParser.js
// META: script=/resources/idlharness.js
+// META: timeout=long
'use strict';
diff --git a/tests/wpt/web-platform-tests/shadow-dom/declarative/declarative-shadow-dom.tentative.html b/tests/wpt/web-platform-tests/shadow-dom/declarative/declarative-shadow-dom.tentative.html
new file mode 100644
index 00000000000..792d4bf4b3e
--- /dev/null
+++ b/tests/wpt/web-platform-tests/shadow-dom/declarative/declarative-shadow-dom.tentative.html
@@ -0,0 +1,117 @@
+<!DOCTYPE html>
+<meta charset="utf-8">
+<title>Declarative Shadow DOM</title>
+<link rel="author" title="Mason Freed" href="mailto:masonfreed@chromium.org">
+<link rel="help" href="https://github.com/whatwg/dom/issues/831">
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+
+<div id="host">
+ <template shadowroot="open">
+ <slot id="s1" name="slot1"></slot>
+ </template>
+ <div id="c1" slot="slot1"></div>
+</div>
+
+<script>
+test(() => {
+ const host = document.querySelector('#host');
+ const c1 = host.querySelector('#c1');
+ assert_true(!!c1);
+ assert_equals(host.querySelector('#s1'), null, "Should be inside shadow root");
+ assert_equals(host.querySelector('template'), null, "No leftover template node");
+ assert_true(!!host.shadowRoot,"No shadow root found");
+ const s1 = host.shadowRoot.querySelector('#s1');
+ assert_equals(c1.assignedSlot, s1);
+ assert_array_equals(s1.assignedNodes(), [c1]);
+}, 'Declarative Shadow DOM: Basic test');
+
+test(() => {
+ const div = document.createElement('div');
+ div.innerHTML = `
+ <div id="host">
+ <template shadowroot="open">
+ <slot id="s1" name="slot1"></slot>
+ </template>
+ <div id="c1" slot="slot1"></div>
+ </div>
+ `;
+ const host = div.querySelector('#host');
+ const c1 = host.querySelector('#c1');
+ assert_true(!!c1);
+ assert_equals(host.querySelector('#s1'), null, "Should be inside shadow root");
+ assert_equals(host.querySelector('template'), null, "No leftover template node");
+ assert_true(!!host.shadowRoot,"No shadow root found");
+ const s1 = host.shadowRoot.querySelector('#s1');
+ assert_equals(c1.assignedSlot, s1);
+ assert_array_equals(s1.assignedNodes(), [c1]);
+}, 'Declarative Shadow DOM: Fragment parser basic test');
+
+test(() => {
+ const div = document.createElement('div');
+ div.innerHTML = `
+ <div id="host">
+ <template shadowroot="invalid">
+ </template>
+ </div>
+ `;
+ const host = div.querySelector('#host');
+ assert_equals(host.shadowRoot, null, "Shadow root was found");
+ const tmpl = host.querySelector('template');
+ assert_true(!!tmpl,"Template should still be present");
+ const shadowrootAttr = tmpl.getAttribute('shadowroot');
+ assert_equals(shadowrootAttr,"invalid","'shadowroot' attribute should still be present");
+}, 'Declarative Shadow DOM: Invalid shadow root attribute');
+
+test(() => {
+ const div = document.createElement('div');
+ div.innerHTML = `
+ <div id="host">
+ <template shadowroot="closed">
+ </template>
+ </div>
+ `;
+ const host = div.querySelector('#host');
+ assert_equals(host.shadowRoot, null, "Closed shadow root");
+ assert_equals(host.querySelector('template'), null, "No template - converted to shadow root");
+}, 'Declarative Shadow DOM: Closed shadow root attribute');
+
+test(() => {
+ const div = document.createElement('div');
+ div.innerHTML = `
+ <div id="host">
+ <template shadowroot="open">
+ <slot id="s1" name="slot1"></slot>
+ </div>
+ `;
+ const host = div.querySelector('#host');
+ assert_equals(host.querySelector('#s1'), null, "Should be inside shadow root");
+ assert_equals(host.querySelector('template'), null, "No leftover template node");
+ assert_true(!!host.shadowRoot,"No shadow root found");
+ const s1 = host.shadowRoot.querySelector('#s1');
+ assert_true(!!s1,"Slot should be inside the shadow root");
+}, 'Declarative Shadow DOM: Missing closing tag');
+
+test(() => {
+ const div = document.createElement('div');
+ div.innerHTML = `
+ <div id="host">
+ <template shadowroot="open" shadowrootdelegatesfocus>
+ </template>
+ </div>
+ `;
+ var host = div.querySelector('#host');
+ assert_true(!!host.shadowRoot,"No shadow root found");
+ assert_true(host.shadowRoot.delegatesFocus,"delegatesFocus should be true");
+ div.innerHTML = `
+ <div id="host">
+ <template shadowroot="open">
+ </template>
+ </div>
+ `;
+ host = div.querySelector('#host');
+ assert_true(!!host.shadowRoot,"No shadow root found");
+ assert_false(host.shadowRoot.delegatesFocus,"delegatesFocus should be false without the shadowrootdelegatesfocus attribute");
+}, 'Declarative Shadow DOM: delegates focus attribute');
+
+</script>
diff --git a/tests/wpt/web-platform-tests/tools/requirements_flake8.txt b/tests/wpt/web-platform-tests/tools/requirements_flake8.txt
index 0a452240164..1c4fb7262e5 100644
--- a/tests/wpt/web-platform-tests/tools/requirements_flake8.txt
+++ b/tests/wpt/web-platform-tests/tools/requirements_flake8.txt
@@ -1,4 +1,4 @@
flake8==3.7.9
pycodestyle==2.5.0
pyflakes==2.1.1
-pep8-naming==0.9.1
+pep8-naming==0.10.0
diff --git a/tests/wpt/web-platform-tests/uievents/idlharness.window.js b/tests/wpt/web-platform-tests/uievents/idlharness.window.js
index 928c8c90f0f..f6a74b8a3a7 100644
--- a/tests/wpt/web-platform-tests/uievents/idlharness.window.js
+++ b/tests/wpt/web-platform-tests/uievents/idlharness.window.js
@@ -1,5 +1,6 @@
// META: script=/resources/WebIDLParser.js
// META: script=/resources/idlharness.js
+// META: timeout=long
'use strict';
diff --git a/tests/wpt/web-platform-tests/vibration/silent-ignore.html b/tests/wpt/web-platform-tests/vibration/silent-ignore.html
index 88ef5092a14..a04c648bd18 100644
--- a/tests/wpt/web-platform-tests/vibration/silent-ignore.html
+++ b/tests/wpt/web-platform-tests/vibration/silent-ignore.html
@@ -4,7 +4,7 @@
<meta charset='utf-8'/>
<title>Vibration API: test that calls to vibrate() are silently ignored when the device cannot vibrate</title>
<link rel='author' title='Robin Berjon' href='mailto:robin@berjon.com'/>
- <link rel='help' href='http://www.w3.org/TR/vibration/#methods'/>
+ <link rel='help' href='https://w3c.github.io/vibration/#dfn-perform-vibration'/>
<meta name='flags' content='dom, no-vibrator'/>
<meta name='assert' content='If the device does not provide a vibration mechanism, or it is disabled, the user agent must silently ignore any invocations of the vibrate() method.'/>
</head>
@@ -16,13 +16,20 @@
supporting this API but running on a device that cannot vibrate must silently ignore the
call (we test that it doesn't throw).
</p>
+ <button type="button" id="button">Click here if the device doesn't support vibration</button>
<div id='log'></div>
<script src='/resources/testharness.js'></script>
<script src='/resources/testharnessreport.js'></script>
+ <script src='/resources/testdriver.js'></script>
+ <script src='/resources/testdriver-vendor.js'></script>
<script>
if (undefined !== navigator.vibrate) {
- test(function () {
- assert_true(navigator.vibrate(1000), "vibrate() returns true when vibration is not supported");
+ async_test(function (t) {
+ var target = document.getElementById('button');
+ target.addEventListener("click", t.step_func_done(function() {
+ assert_true(navigator.vibrate(1000), "vibrate() returns true when vibration is not supported");
+ }));
+ test_driver.click(target).catch(t.unreached_func("click failed"));
}, "Calling vibrate returns true");
}
</script>