diff --git a/tests/wpt/metadata-layout-2020/FileAPI/url/url-charset.window.js.ini b/tests/wpt/metadata-layout-2020/FileAPI/url/url-charset.window.js.ini index 08ab7bd35cd..33fc78f48d9 100644 --- a/tests/wpt/metadata-layout-2020/FileAPI/url/url-charset.window.js.ini +++ b/tests/wpt/metadata-layout-2020/FileAPI/url/url-charset.window.js.ini @@ -2,3 +2,6 @@ expected: TIMEOUT [Blob charset should override any auto-detected charset.] expected: TIMEOUT + + [Blob charset should override <meta charset>.] + expected: TIMEOUT diff --git a/tests/wpt/metadata-layout-2020/css/CSS2/borders/discrete-no-interpolation.html.ini b/tests/wpt/metadata-layout-2020/css/CSS2/borders/discrete-no-interpolation.html.ini new file mode 100644 index 00000000000..8d3bfdad1d6 --- /dev/null +++ b/tests/wpt/metadata-layout-2020/css/CSS2/borders/discrete-no-interpolation.html.ini @@ -0,0 +1,120 @@ +[discrete-no-interpolation.html] + [CSS Transitions with transition: all: property <border-left-style> from [initial\] to [dotted\] at (-0.3) should be [dotted\]] + expected: FAIL + + [CSS Transitions with transition: all: property <border-left-style> from [initial\] to [dotted\] at (0) should be [dotted\]] + expected: FAIL + + [CSS Transitions with transition: all: property <border-left-style> from [initial\] to [dotted\] at (0.3) should be [dotted\]] + expected: FAIL + + [Web Animations: property <border-left-style> from [initial\] to [dotted\] at (-0.3) should be [initial\]] + expected: FAIL + + [Web Animations: property <border-left-style> from [initial\] to [dotted\] at (0) should be [initial\]] + expected: FAIL + + [Web Animations: property <border-left-style> from [initial\] to [dotted\] at (0.3) should be [initial\]] + expected: FAIL + + [Web Animations: property <border-left-style> from [initial\] to [dotted\] at (0.5) should be [dotted\]] + expected: FAIL + + [Web Animations: property <border-left-style> from [initial\] to [dotted\] at (0.6) should be [dotted\]] + expected: FAIL + + [Web Animations: property <border-left-style> from [initial\] to [dotted\] at (1) should be [dotted\]] + expected: FAIL + + [Web Animations: property <border-left-style> from [initial\] to [dotted\] at (1.5) should be [dotted\]] + expected: FAIL + + [CSS Transitions with transition: all: property <border-right-style> from [initial\] to [dotted\] at (-0.3) should be [dotted\]] + expected: FAIL + + [CSS Transitions with transition: all: property <border-right-style> from [initial\] to [dotted\] at (0) should be [dotted\]] + expected: FAIL + + [CSS Transitions with transition: all: property <border-right-style> from [initial\] to [dotted\] at (0.3) should be [dotted\]] + expected: FAIL + + [Web Animations: property <border-right-style> from [initial\] to [dotted\] at (-0.3) should be [initial\]] + expected: FAIL + + [Web Animations: property <border-right-style> from [initial\] to [dotted\] at (0) should be [initial\]] + expected: FAIL + + [Web Animations: property <border-right-style> from [initial\] to [dotted\] at (0.3) should be [initial\]] + expected: FAIL + + [Web Animations: property <border-right-style> from [initial\] to [dotted\] at (0.5) should be [dotted\]] + expected: FAIL + + [Web Animations: property <border-right-style> from [initial\] to [dotted\] at (0.6) should be [dotted\]] + expected: FAIL + + [Web Animations: property <border-right-style> from [initial\] to [dotted\] at (1) should be [dotted\]] + expected: FAIL + + [Web Animations: property <border-right-style> from [initial\] to [dotted\] at (1.5) should be [dotted\]] + expected: FAIL + + [CSS Transitions with transition: all: property <border-top-style> from [initial\] to [dotted\] at (-0.3) should be [dotted\]] + expected: FAIL + + [CSS Transitions with transition: all: property <border-top-style> from [initial\] to [dotted\] at (0) should be [dotted\]] + expected: FAIL + + [CSS Transitions with transition: all: property <border-top-style> from [initial\] to [dotted\] at (0.3) should be [dotted\]] + expected: FAIL + + [Web Animations: property <border-top-style> from [initial\] to [dotted\] at (-0.3) should be [initial\]] + expected: FAIL + + [Web Animations: property <border-top-style> from [initial\] to [dotted\] at (0) should be [initial\]] + expected: FAIL + + [Web Animations: property <border-top-style> from [initial\] to [dotted\] at (0.3) should be [initial\]] + expected: FAIL + + [Web Animations: property <border-top-style> from [initial\] to [dotted\] at (0.5) should be [dotted\]] + expected: FAIL + + [Web Animations: property <border-top-style> from [initial\] to [dotted\] at (0.6) should be [dotted\]] + expected: FAIL + + [Web Animations: property <border-top-style> from [initial\] to [dotted\] at (1) should be [dotted\]] + expected: FAIL + + [Web Animations: property <border-top-style> from [initial\] to [dotted\] at (1.5) should be [dotted\]] + expected: FAIL + + [CSS Transitions with transition: all: property <border-bottom-style> from [initial\] to [dotted\] at (-0.3) should be [dotted\]] + expected: FAIL + + [CSS Transitions with transition: all: property <border-bottom-style> from [initial\] to [dotted\] at (0) should be [dotted\]] + expected: FAIL + + [CSS Transitions with transition: all: property <border-bottom-style> from [initial\] to [dotted\] at (0.3) should be [dotted\]] + expected: FAIL + + [Web Animations: property <border-bottom-style> from [initial\] to [dotted\] at (-0.3) should be [initial\]] + expected: FAIL + + [Web Animations: property <border-bottom-style> from [initial\] to [dotted\] at (0) should be [initial\]] + expected: FAIL + + [Web Animations: property <border-bottom-style> from [initial\] to [dotted\] at (0.3) should be [initial\]] + expected: FAIL + + [Web Animations: property <border-bottom-style> from [initial\] to [dotted\] at (0.5) should be [dotted\]] + expected: FAIL + + [Web Animations: property <border-bottom-style> from [initial\] to [dotted\] at (0.6) should be [dotted\]] + expected: FAIL + + [Web Animations: property <border-bottom-style> from [initial\] to [dotted\] at (1) should be [dotted\]] + expected: FAIL + + [Web Animations: property <border-bottom-style> from [initial\] to [dotted\] at (1.5) should be [dotted\]] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/CSS2/floats-clear/clear-no-interpolation.html.ini b/tests/wpt/metadata-layout-2020/css/CSS2/floats-clear/clear-no-interpolation.html.ini new file mode 100644 index 00000000000..63d771b53d7 --- /dev/null +++ b/tests/wpt/metadata-layout-2020/css/CSS2/floats-clear/clear-no-interpolation.html.ini @@ -0,0 +1,84 @@ +[clear-no-interpolation.html] + [CSS Transitions: property <clear> from [initial\] to [both\] at (-0.3) should be [initial\]] + expected: FAIL + + [CSS Transitions: property <clear> from [initial\] to [both\] at (0) should be [initial\]] + expected: FAIL + + [CSS Transitions: property <clear> from [initial\] to [both\] at (0.3) should be [initial\]] + expected: FAIL + + [CSS Transitions: property <clear> from [initial\] to [both\] at (0.5) should be [both\]] + expected: FAIL + + [CSS Transitions: property <clear> from [initial\] to [both\] at (0.6) should be [both\]] + expected: FAIL + + [CSS Transitions: property <clear> from [initial\] to [both\] at (1) should be [both\]] + expected: FAIL + + [CSS Transitions: property <clear> from [initial\] to [both\] at (1.5) should be [both\]] + expected: FAIL + + [CSS Transitions with transition: all: property <clear> from [initial\] to [both\] at (-0.3) should be [both\]] + expected: FAIL + + [CSS Transitions with transition: all: property <clear> from [initial\] to [both\] at (0) should be [both\]] + expected: FAIL + + [CSS Transitions with transition: all: property <clear> from [initial\] to [both\] at (0.3) should be [both\]] + expected: FAIL + + [CSS Transitions with transition: all: property <clear> from [initial\] to [both\] at (0.5) should be [both\]] + expected: FAIL + + [CSS Transitions with transition: all: property <clear> from [initial\] to [both\] at (0.6) should be [both\]] + expected: FAIL + + [CSS Transitions with transition: all: property <clear> from [initial\] to [both\] at (1) should be [both\]] + expected: FAIL + + [CSS Transitions with transition: all: property <clear> from [initial\] to [both\] at (1.5) should be [both\]] + expected: FAIL + + [CSS Animations: property <clear> from [initial\] to [both\] at (-0.3) should be [initial\]] + expected: FAIL + + [CSS Animations: property <clear> from [initial\] to [both\] at (0) should be [initial\]] + expected: FAIL + + [CSS Animations: property <clear> from [initial\] to [both\] at (0.3) should be [initial\]] + expected: FAIL + + [CSS Animations: property <clear> from [initial\] to [both\] at (0.5) should be [both\]] + expected: FAIL + + [CSS Animations: property <clear> from [initial\] to [both\] at (0.6) should be [both\]] + expected: FAIL + + [CSS Animations: property <clear> from [initial\] to [both\] at (1) should be [both\]] + expected: FAIL + + [CSS Animations: property <clear> from [initial\] to [both\] at (1.5) should be [both\]] + expected: FAIL + + [Web Animations: property <clear> from [initial\] to [both\] at (-0.3) should be [initial\]] + expected: FAIL + + [Web Animations: property <clear> from [initial\] to [both\] at (0) should be [initial\]] + expected: FAIL + + [Web Animations: property <clear> from [initial\] to [both\] at (0.3) should be [initial\]] + expected: FAIL + + [Web Animations: property <clear> from [initial\] to [both\] at (0.5) should be [both\]] + expected: FAIL + + [Web Animations: property <clear> from [initial\] to [both\] at (0.6) should be [both\]] + expected: FAIL + + [Web Animations: property <clear> from [initial\] to [both\] at (1) should be [both\]] + expected: FAIL + + [Web Animations: property <clear> from [initial\] to [both\] at (1.5) should be [both\]] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/CSS2/floats/computed-float-position-absolute.html.ini b/tests/wpt/metadata-layout-2020/css/CSS2/floats/computed-float-position-absolute.html.ini index 1d641a0d80c..89b04db1041 100644 --- a/tests/wpt/metadata-layout-2020/css/CSS2/floats/computed-float-position-absolute.html.ini +++ b/tests/wpt/metadata-layout-2020/css/CSS2/floats/computed-float-position-absolute.html.ini @@ -1,4 +1,3 @@ [computed-float-position-absolute.html] [The computed value of float with absolute positioning when there is no box should be "none"] expected: FAIL - diff --git a/tests/wpt/metadata-layout-2020/css/CSS2/floats/float-no-interpolation.html.ini b/tests/wpt/metadata-layout-2020/css/CSS2/floats/float-no-interpolation.html.ini new file mode 100644 index 00000000000..e22dbec9c1d --- /dev/null +++ b/tests/wpt/metadata-layout-2020/css/CSS2/floats/float-no-interpolation.html.ini @@ -0,0 +1,84 @@ +[float-no-interpolation.html] + [CSS Transitions: property <float> from [initial\] to [right\] at (-0.3) should be [initial\]] + expected: FAIL + + [CSS Transitions: property <float> from [initial\] to [right\] at (0) should be [initial\]] + expected: FAIL + + [CSS Transitions: property <float> from [initial\] to [right\] at (0.3) should be [initial\]] + expected: FAIL + + [CSS Transitions: property <float> from [initial\] to [right\] at (0.5) should be [right\]] + expected: FAIL + + [CSS Transitions: property <float> from [initial\] to [right\] at (0.6) should be [right\]] + expected: FAIL + + [CSS Transitions: property <float> from [initial\] to [right\] at (1) should be [right\]] + expected: FAIL + + [CSS Transitions: property <float> from [initial\] to [right\] at (1.5) should be [right\]] + expected: FAIL + + [CSS Transitions with transition: all: property <float> from [initial\] to [right\] at (-0.3) should be [right\]] + expected: FAIL + + [CSS Transitions with transition: all: property <float> from [initial\] to [right\] at (0) should be [right\]] + expected: FAIL + + [CSS Transitions with transition: all: property <float> from [initial\] to [right\] at (0.3) should be [right\]] + expected: FAIL + + [CSS Transitions with transition: all: property <float> from [initial\] to [right\] at (0.5) should be [right\]] + expected: FAIL + + [CSS Transitions with transition: all: property <float> from [initial\] to [right\] at (0.6) should be [right\]] + expected: FAIL + + [CSS Transitions with transition: all: property <float> from [initial\] to [right\] at (1) should be [right\]] + expected: FAIL + + [CSS Transitions with transition: all: property <float> from [initial\] to [right\] at (1.5) should be [right\]] + expected: FAIL + + [CSS Animations: property <float> from [initial\] to [right\] at (-0.3) should be [initial\]] + expected: FAIL + + [CSS Animations: property <float> from [initial\] to [right\] at (0) should be [initial\]] + expected: FAIL + + [CSS Animations: property <float> from [initial\] to [right\] at (0.3) should be [initial\]] + expected: FAIL + + [CSS Animations: property <float> from [initial\] to [right\] at (0.5) should be [right\]] + expected: FAIL + + [CSS Animations: property <float> from [initial\] to [right\] at (0.6) should be [right\]] + expected: FAIL + + [CSS Animations: property <float> from [initial\] to [right\] at (1) should be [right\]] + expected: FAIL + + [CSS Animations: property <float> from [initial\] to [right\] at (1.5) should be [right\]] + expected: FAIL + + [Web Animations: property <float> from [initial\] to [right\] at (-0.3) should be [initial\]] + expected: FAIL + + [Web Animations: property <float> from [initial\] to [right\] at (0) should be [initial\]] + expected: FAIL + + [Web Animations: property <float> from [initial\] to [right\] at (0.3) should be [initial\]] + expected: FAIL + + [Web Animations: property <float> from [initial\] to [right\] at (0.5) should be [right\]] + expected: FAIL + + [Web Animations: property <float> from [initial\] to [right\] at (0.6) should be [right\]] + expected: FAIL + + [Web Animations: property <float> from [initial\] to [right\] at (1) should be [right\]] + expected: FAIL + + [Web Animations: property <float> from [initial\] to [right\] at (1.5) should be [right\]] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/CSS2/floats/hit-test-floats-001.html.ini b/tests/wpt/metadata-layout-2020/css/CSS2/floats/hit-test-floats-001.html.ini new file mode 100644 index 00000000000..0842d0b5727 --- /dev/null +++ b/tests/wpt/metadata-layout-2020/css/CSS2/floats/hit-test-floats-001.html.ini @@ -0,0 +1,3 @@ +[hit-test-floats-001.html] + [hit-test-floats-001] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/CSS2/floats/hit-test-floats-004.html.ini b/tests/wpt/metadata-layout-2020/css/CSS2/floats/hit-test-floats-004.html.ini new file mode 100644 index 00000000000..13bd6abf376 --- /dev/null +++ b/tests/wpt/metadata-layout-2020/css/CSS2/floats/hit-test-floats-004.html.ini @@ -0,0 +1,3 @@ +[hit-test-floats-004.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..147f062e548 --- /dev/null +++ b/tests/wpt/metadata-layout-2020/css/CSS2/floats/hit-test-floats-005.html.ini @@ -0,0 +1,3 @@ +[hit-test-floats-005.html] + [Miss clipped float] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/CSS2/floats/zero-space-between-floats-001.html.ini b/tests/wpt/metadata-layout-2020/css/CSS2/floats/zero-space-between-floats-001.html.ini index 61edb2a3aae..0cf8aeeef3e 100644 --- a/tests/wpt/metadata-layout-2020/css/CSS2/floats/zero-space-between-floats-001.html.ini +++ b/tests/wpt/metadata-layout-2020/css/CSS2/floats/zero-space-between-floats-001.html.ini @@ -1,4 +1,3 @@ [zero-space-between-floats-001.html] [#container 1] expected: FAIL - diff --git a/tests/wpt/metadata-layout-2020/css/CSS2/floats/zero-space-between-floats-002.html.ini b/tests/wpt/metadata-layout-2020/css/CSS2/floats/zero-space-between-floats-002.html.ini index c8f71dcb774..74be952f9ae 100644 --- a/tests/wpt/metadata-layout-2020/css/CSS2/floats/zero-space-between-floats-002.html.ini +++ b/tests/wpt/metadata-layout-2020/css/CSS2/floats/zero-space-between-floats-002.html.ini @@ -1,4 +1,3 @@ [zero-space-between-floats-002.html] [#container 1] expected: FAIL - diff --git a/tests/wpt/metadata-layout-2020/css/CSS2/floats/zero-space-between-floats-003.html.ini b/tests/wpt/metadata-layout-2020/css/CSS2/floats/zero-space-between-floats-003.html.ini index c2b1cfb9968..a89593d4655 100644 --- a/tests/wpt/metadata-layout-2020/css/CSS2/floats/zero-space-between-floats-003.html.ini +++ b/tests/wpt/metadata-layout-2020/css/CSS2/floats/zero-space-between-floats-003.html.ini @@ -1,4 +1,3 @@ [zero-space-between-floats-003.html] [#container 1] expected: FAIL - diff --git a/tests/wpt/metadata-layout-2020/css/CSS2/floats/zero-space-between-floats-004.html.ini b/tests/wpt/metadata-layout-2020/css/CSS2/floats/zero-space-between-floats-004.html.ini index 5f0960d8f0a..94dca9dcbce 100644 --- a/tests/wpt/metadata-layout-2020/css/CSS2/floats/zero-space-between-floats-004.html.ini +++ b/tests/wpt/metadata-layout-2020/css/CSS2/floats/zero-space-between-floats-004.html.ini @@ -1,4 +1,3 @@ [zero-space-between-floats-004.html] [#container 1] expected: FAIL - diff --git a/tests/wpt/metadata-layout-2020/css/CSS2/normal-flow/block-in-inline-hittest-002.html.ini b/tests/wpt/metadata-layout-2020/css/CSS2/normal-flow/block-in-inline-hittest-002.html.ini index 51432362d66..ee34bc91078 100644 --- a/tests/wpt/metadata-layout-2020/css/CSS2/normal-flow/block-in-inline-hittest-002.html.ini +++ b/tests/wpt/metadata-layout-2020/css/CSS2/normal-flow/block-in-inline-hittest-002.html.ini @@ -1,3 +1,6 @@ [block-in-inline-hittest-002.html] [elementsFromPoint] expected: FAIL + + [elementFromPoint] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/CSS2/normal-flow/block-in-inline-hittest-float-002.html.ini b/tests/wpt/metadata-layout-2020/css/CSS2/normal-flow/block-in-inline-hittest-float-002.html.ini new file mode 100644 index 00000000000..5fda15700c0 --- /dev/null +++ b/tests/wpt/metadata-layout-2020/css/CSS2/normal-flow/block-in-inline-hittest-float-002.html.ini @@ -0,0 +1,15 @@ +[block-in-inline-hittest-float-002.html] + [block-in-inline-hittest-float-002] + expected: FAIL + + [with background] + expected: FAIL + + [with padding] + expected: FAIL + + [floats before block-in-inline] + expected: FAIL + + [floats before block-in-inline with background] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/CSS2/normal-flow/containing-block-percent-margin-bottom.html.ini b/tests/wpt/metadata-layout-2020/css/CSS2/normal-flow/containing-block-percent-margin-bottom.html.ini index 56e3de1d873..5e17bd43a71 100644 --- a/tests/wpt/metadata-layout-2020/css/CSS2/normal-flow/containing-block-percent-margin-bottom.html.ini +++ b/tests/wpt/metadata-layout-2020/css/CSS2/normal-flow/containing-block-percent-margin-bottom.html.ini @@ -1,4 +1,3 @@ [containing-block-percent-margin-bottom.html] [#container 1] expected: FAIL - diff --git a/tests/wpt/metadata-layout-2020/css/CSS2/normal-flow/containing-block-percent-margin-top.html.ini b/tests/wpt/metadata-layout-2020/css/CSS2/normal-flow/containing-block-percent-margin-top.html.ini index dff659b0d1b..87029bf8eda 100644 --- a/tests/wpt/metadata-layout-2020/css/CSS2/normal-flow/containing-block-percent-margin-top.html.ini +++ b/tests/wpt/metadata-layout-2020/css/CSS2/normal-flow/containing-block-percent-margin-top.html.ini @@ -1,4 +1,3 @@ [containing-block-percent-margin-top.html] [#container 1] expected: FAIL - diff --git a/tests/wpt/metadata-layout-2020/css/CSS2/positioning/line-break-after-leading-float.html.ini b/tests/wpt/metadata-layout-2020/css/CSS2/positioning/line-break-after-leading-float.html.ini index 379db792998..b4455bd8387 100644 --- a/tests/wpt/metadata-layout-2020/css/CSS2/positioning/line-break-after-leading-float.html.ini +++ b/tests/wpt/metadata-layout-2020/css/CSS2/positioning/line-break-after-leading-float.html.ini @@ -1,4 +1,3 @@ [line-break-after-leading-float.html] [Checks line wrapping after leading floating objects.] expected: FAIL - diff --git a/tests/wpt/metadata-layout-2020/css/CSS2/tables/border-collapse-empty-row.html.ini b/tests/wpt/metadata-layout-2020/css/CSS2/tables/border-collapse-empty-row.html.ini new file mode 100644 index 00000000000..ce596471423 --- /dev/null +++ b/tests/wpt/metadata-layout-2020/css/CSS2/tables/border-collapse-empty-row.html.ini @@ -0,0 +1,2 @@ +[border-collapse-empty-row.html] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/CSS2/tables/border-collapse-no-interpolation.html.ini b/tests/wpt/metadata-layout-2020/css/CSS2/tables/border-collapse-no-interpolation.html.ini new file mode 100644 index 00000000000..b410f05db47 --- /dev/null +++ b/tests/wpt/metadata-layout-2020/css/CSS2/tables/border-collapse-no-interpolation.html.ini @@ -0,0 +1,84 @@ +[border-collapse-no-interpolation.html] + [CSS Transitions: property <border-collapse> from [initial\] to [collapse\] at (-0.3) should be [initial\]] + expected: FAIL + + [CSS Transitions: property <border-collapse> from [initial\] to [collapse\] at (0) should be [initial\]] + expected: FAIL + + [CSS Transitions: property <border-collapse> from [initial\] to [collapse\] at (0.3) should be [initial\]] + expected: FAIL + + [CSS Transitions: property <border-collapse> from [initial\] to [collapse\] at (0.5) should be [collapse\]] + expected: FAIL + + [CSS Transitions: property <border-collapse> from [initial\] to [collapse\] at (0.6) should be [collapse\]] + expected: FAIL + + [CSS Transitions: property <border-collapse> from [initial\] to [collapse\] at (1) should be [collapse\]] + expected: FAIL + + [CSS Transitions: property <border-collapse> from [initial\] to [collapse\] at (1.5) should be [collapse\]] + expected: FAIL + + [CSS Transitions with transition: all: property <border-collapse> from [initial\] to [collapse\] at (-0.3) should be [collapse\]] + expected: FAIL + + [CSS Transitions with transition: all: property <border-collapse> from [initial\] to [collapse\] at (0) should be [collapse\]] + expected: FAIL + + [CSS Transitions with transition: all: property <border-collapse> from [initial\] to [collapse\] at (0.3) should be [collapse\]] + expected: FAIL + + [CSS Transitions with transition: all: property <border-collapse> from [initial\] to [collapse\] at (0.5) should be [collapse\]] + expected: FAIL + + [CSS Transitions with transition: all: property <border-collapse> from [initial\] to [collapse\] at (0.6) should be [collapse\]] + expected: FAIL + + [CSS Transitions with transition: all: property <border-collapse> from [initial\] to [collapse\] at (1) should be [collapse\]] + expected: FAIL + + [CSS Transitions with transition: all: property <border-collapse> from [initial\] to [collapse\] at (1.5) should be [collapse\]] + expected: FAIL + + [CSS Animations: property <border-collapse> from [initial\] to [collapse\] at (-0.3) should be [initial\]] + expected: FAIL + + [CSS Animations: property <border-collapse> from [initial\] to [collapse\] at (0) should be [initial\]] + expected: FAIL + + [CSS Animations: property <border-collapse> from [initial\] to [collapse\] at (0.3) should be [initial\]] + expected: FAIL + + [CSS Animations: property <border-collapse> from [initial\] to [collapse\] at (0.5) should be [collapse\]] + expected: FAIL + + [CSS Animations: property <border-collapse> from [initial\] to [collapse\] at (0.6) should be [collapse\]] + expected: FAIL + + [CSS Animations: property <border-collapse> from [initial\] to [collapse\] at (1) should be [collapse\]] + expected: FAIL + + [CSS Animations: property <border-collapse> from [initial\] to [collapse\] at (1.5) should be [collapse\]] + expected: FAIL + + [Web Animations: property <border-collapse> from [initial\] to [collapse\] at (-0.3) should be [initial\]] + expected: FAIL + + [Web Animations: property <border-collapse> from [initial\] to [collapse\] at (0) should be [initial\]] + expected: FAIL + + [Web Animations: property <border-collapse> from [initial\] to [collapse\] at (0.3) should be [initial\]] + expected: FAIL + + [Web Animations: property <border-collapse> from [initial\] to [collapse\] at (0.5) should be [collapse\]] + expected: FAIL + + [Web Animations: property <border-collapse> from [initial\] to [collapse\] at (0.6) should be [collapse\]] + expected: FAIL + + [Web Animations: property <border-collapse> from [initial\] to [collapse\] at (1) should be [collapse\]] + expected: FAIL + + [Web Animations: property <border-collapse> from [initial\] to [collapse\] at (1.5) should be [collapse\]] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/CSS2/tables/empty-cells-no-interpolation.html.ini b/tests/wpt/metadata-layout-2020/css/CSS2/tables/empty-cells-no-interpolation.html.ini new file mode 100644 index 00000000000..bb542e2c22a --- /dev/null +++ b/tests/wpt/metadata-layout-2020/css/CSS2/tables/empty-cells-no-interpolation.html.ini @@ -0,0 +1,84 @@ +[empty-cells-no-interpolation.html] + [CSS Transitions: property <empty-cells> from [initial\] to [hide\] at (-0.3) should be [initial\]] + expected: FAIL + + [CSS Transitions: property <empty-cells> from [initial\] to [hide\] at (0) should be [initial\]] + expected: FAIL + + [CSS Transitions: property <empty-cells> from [initial\] to [hide\] at (0.3) should be [initial\]] + expected: FAIL + + [CSS Transitions: property <empty-cells> from [initial\] to [hide\] at (0.5) should be [hide\]] + expected: FAIL + + [CSS Transitions: property <empty-cells> from [initial\] to [hide\] at (0.6) should be [hide\]] + expected: FAIL + + [CSS Transitions: property <empty-cells> from [initial\] to [hide\] at (1) should be [hide\]] + expected: FAIL + + [CSS Transitions: property <empty-cells> from [initial\] to [hide\] at (1.5) should be [hide\]] + expected: FAIL + + [CSS Transitions with transition: all: property <empty-cells> from [initial\] to [hide\] at (-0.3) should be [hide\]] + expected: FAIL + + [CSS Transitions with transition: all: property <empty-cells> from [initial\] to [hide\] at (0) should be [hide\]] + expected: FAIL + + [CSS Transitions with transition: all: property <empty-cells> from [initial\] to [hide\] at (0.3) should be [hide\]] + expected: FAIL + + [CSS Transitions with transition: all: property <empty-cells> from [initial\] to [hide\] at (0.5) should be [hide\]] + expected: FAIL + + [CSS Transitions with transition: all: property <empty-cells> from [initial\] to [hide\] at (0.6) should be [hide\]] + expected: FAIL + + [CSS Transitions with transition: all: property <empty-cells> from [initial\] to [hide\] at (1) should be [hide\]] + expected: FAIL + + [CSS Transitions with transition: all: property <empty-cells> from [initial\] to [hide\] at (1.5) should be [hide\]] + expected: FAIL + + [CSS Animations: property <empty-cells> from [initial\] to [hide\] at (-0.3) should be [initial\]] + expected: FAIL + + [CSS Animations: property <empty-cells> from [initial\] to [hide\] at (0) should be [initial\]] + expected: FAIL + + [CSS Animations: property <empty-cells> from [initial\] to [hide\] at (0.3) should be [initial\]] + expected: FAIL + + [CSS Animations: property <empty-cells> from [initial\] to [hide\] at (0.5) should be [hide\]] + expected: FAIL + + [CSS Animations: property <empty-cells> from [initial\] to [hide\] at (0.6) should be [hide\]] + expected: FAIL + + [CSS Animations: property <empty-cells> from [initial\] to [hide\] at (1) should be [hide\]] + expected: FAIL + + [CSS Animations: property <empty-cells> from [initial\] to [hide\] at (1.5) should be [hide\]] + expected: FAIL + + [Web Animations: property <empty-cells> from [initial\] to [hide\] at (-0.3) should be [initial\]] + expected: FAIL + + [Web Animations: property <empty-cells> from [initial\] to [hide\] at (0) should be [initial\]] + expected: FAIL + + [Web Animations: property <empty-cells> from [initial\] to [hide\] at (0.3) should be [initial\]] + expected: FAIL + + [Web Animations: property <empty-cells> from [initial\] to [hide\] at (0.5) should be [hide\]] + expected: FAIL + + [Web Animations: property <empty-cells> from [initial\] to [hide\] at (0.6) should be [hide\]] + expected: FAIL + + [Web Animations: property <empty-cells> from [initial\] to [hide\] at (1) should be [hide\]] + expected: FAIL + + [Web Animations: property <empty-cells> from [initial\] to [hide\] at (1.5) should be [hide\]] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/compositing/root-element-filter.html.ini b/tests/wpt/metadata-layout-2020/css/compositing/root-element-filter.html.ini new file mode 100644 index 00000000000..fd5ae36304b --- /dev/null +++ b/tests/wpt/metadata-layout-2020/css/compositing/root-element-filter.html.ini @@ -0,0 +1,2 @@ +[root-element-filter.html] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/compositing/root-element-opacity.html.ini b/tests/wpt/metadata-layout-2020/css/compositing/root-element-opacity.html.ini new file mode 100644 index 00000000000..b351c0f4ae8 --- /dev/null +++ b/tests/wpt/metadata-layout-2020/css/compositing/root-element-opacity.html.ini @@ -0,0 +1,2 @@ +[root-element-opacity.html] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-align/animation/align-no-interpolation.html.ini b/tests/wpt/metadata-layout-2020/css/css-align/animation/align-no-interpolation.html.ini index 12e2f56dbeb..246e6680a59 100644 --- a/tests/wpt/metadata-layout-2020/css/css-align/animation/align-no-interpolation.html.ini +++ b/tests/wpt/metadata-layout-2020/css/css-align/animation/align-no-interpolation.html.ini @@ -142,3 +142,111 @@ [Web Animations: property <align-self> from [initial\] to [baseline\] at (1.5) should be [baseline\]] expected: FAIL + + [CSS Transitions: property <align-items> from [initial\] to [baseline\] at (-0.3) should be [initial\]] + expected: FAIL + + [CSS Transitions: property <align-items> from [initial\] to [baseline\] at (0) should be [initial\]] + expected: FAIL + + [CSS Transitions: property <align-items> from [initial\] to [baseline\] at (0.3) should be [initial\]] + expected: FAIL + + [CSS Transitions: property <align-items> from [initial\] to [baseline\] at (0.5) should be [baseline\]] + expected: FAIL + + [CSS Transitions: property <align-items> from [initial\] to [baseline\] at (0.6) should be [baseline\]] + expected: FAIL + + [CSS Transitions: property <align-items> from [initial\] to [baseline\] at (1) should be [baseline\]] + expected: FAIL + + [CSS Transitions: property <align-items> from [initial\] to [baseline\] at (1.5) should be [baseline\]] + expected: FAIL + + [CSS Transitions with transition: all: property <align-items> from [initial\] to [baseline\] at (0.5) should be [baseline\]] + expected: FAIL + + [CSS Transitions with transition: all: property <align-items> from [initial\] to [baseline\] at (0.6) should be [baseline\]] + expected: FAIL + + [CSS Transitions with transition: all: property <align-items> from [initial\] to [baseline\] at (1) should be [baseline\]] + expected: FAIL + + [CSS Transitions with transition: all: property <align-items> from [initial\] to [baseline\] at (1.5) should be [baseline\]] + expected: FAIL + + [CSS Animations: property <align-items> from [initial\] to [baseline\] at (-0.3) should be [initial\]] + expected: FAIL + + [CSS Animations: property <align-items> from [initial\] to [baseline\] at (0) should be [initial\]] + expected: FAIL + + [CSS Animations: property <align-items> from [initial\] to [baseline\] at (0.3) should be [initial\]] + expected: FAIL + + [CSS Animations: property <align-items> from [initial\] to [baseline\] at (0.5) should be [baseline\]] + expected: FAIL + + [CSS Animations: property <align-items> from [initial\] to [baseline\] at (0.6) should be [baseline\]] + expected: FAIL + + [CSS Animations: property <align-items> from [initial\] to [baseline\] at (1) should be [baseline\]] + expected: FAIL + + [CSS Animations: property <align-items> from [initial\] to [baseline\] at (1.5) should be [baseline\]] + expected: FAIL + + [CSS Transitions: property <align-self> from [initial\] to [baseline\] at (-0.3) should be [initial\]] + expected: FAIL + + [CSS Transitions: property <align-self> from [initial\] to [baseline\] at (0) should be [initial\]] + expected: FAIL + + [CSS Transitions: property <align-self> from [initial\] to [baseline\] at (0.3) should be [initial\]] + expected: FAIL + + [CSS Transitions: property <align-self> from [initial\] to [baseline\] at (0.5) should be [baseline\]] + expected: FAIL + + [CSS Transitions: property <align-self> from [initial\] to [baseline\] at (0.6) should be [baseline\]] + expected: FAIL + + [CSS Transitions: property <align-self> from [initial\] to [baseline\] at (1) should be [baseline\]] + expected: FAIL + + [CSS Transitions: property <align-self> from [initial\] to [baseline\] at (1.5) should be [baseline\]] + expected: FAIL + + [CSS Transitions with transition: all: property <align-self> from [initial\] to [baseline\] at (0.5) should be [baseline\]] + expected: FAIL + + [CSS Transitions with transition: all: property <align-self> from [initial\] to [baseline\] at (0.6) should be [baseline\]] + expected: FAIL + + [CSS Transitions with transition: all: property <align-self> from [initial\] to [baseline\] at (1) should be [baseline\]] + expected: FAIL + + [CSS Transitions with transition: all: property <align-self> from [initial\] to [baseline\] at (1.5) should be [baseline\]] + expected: FAIL + + [CSS Animations: property <align-self> from [initial\] to [baseline\] at (-0.3) should be [initial\]] + expected: FAIL + + [CSS Animations: property <align-self> from [initial\] to [baseline\] at (0) should be [initial\]] + expected: FAIL + + [CSS Animations: property <align-self> from [initial\] to [baseline\] at (0.3) should be [initial\]] + expected: FAIL + + [CSS Animations: property <align-self> from [initial\] to [baseline\] at (0.5) should be [baseline\]] + expected: FAIL + + [CSS Animations: property <align-self> from [initial\] to [baseline\] at (0.6) should be [baseline\]] + expected: FAIL + + [CSS Animations: property <align-self> from [initial\] to [baseline\] at (1) should be [baseline\]] + expected: FAIL + + [CSS Animations: property <align-self> from [initial\] to [baseline\] at (1.5) should be [baseline\]] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-align/baseline-rules/synthesized-baseline-flexbox-001.html.ini b/tests/wpt/metadata-layout-2020/css/css-align/baseline-rules/synthesized-baseline-flexbox-001.html.ini new file mode 100644 index 00000000000..39b3aaa63c6 --- /dev/null +++ b/tests/wpt/metadata-layout-2020/css/css-align/baseline-rules/synthesized-baseline-flexbox-001.html.ini @@ -0,0 +1,18 @@ +[synthesized-baseline-flexbox-001.html] + [.wrapper 1] + expected: FAIL + + [.wrapper 2] + expected: FAIL + + [.wrapper 4] + expected: FAIL + + [.wrapper 5] + expected: FAIL + + [.wrapper 6] + expected: FAIL + + [.wrapper 7] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-align/baseline-rules/synthesized-baseline-inline-block-001.html.ini b/tests/wpt/metadata-layout-2020/css/css-align/baseline-rules/synthesized-baseline-inline-block-001.html.ini new file mode 100644 index 00000000000..f3167f21146 --- /dev/null +++ b/tests/wpt/metadata-layout-2020/css/css-align/baseline-rules/synthesized-baseline-inline-block-001.html.ini @@ -0,0 +1,6 @@ +[synthesized-baseline-inline-block-001.html] + [.wrapper 1] + expected: FAIL + + [.wrapper 2] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-align/baseline-rules/synthesized-baseline-table-cell-001.html.ini b/tests/wpt/metadata-layout-2020/css/css-align/baseline-rules/synthesized-baseline-table-cell-001.html.ini new file mode 100644 index 00000000000..0f89f0543fe --- /dev/null +++ b/tests/wpt/metadata-layout-2020/css/css-align/baseline-rules/synthesized-baseline-table-cell-001.html.ini @@ -0,0 +1,2 @@ +[synthesized-baseline-table-cell-001.html] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-align/content-distribution/parse-align-content-001.html.ini b/tests/wpt/metadata-layout-2020/css/css-align/content-distribution/parse-align-content-001.html.ini new file mode 100644 index 00000000000..630f4fbb5f5 --- /dev/null +++ b/tests/wpt/metadata-layout-2020/css/css-align/content-distribution/parse-align-content-001.html.ini @@ -0,0 +1,54 @@ +[parse-align-content-001.html] + [Checking align-content: normal] + expected: FAIL + + [Checking align-content: start] + expected: FAIL + + [Checking align-content: end] + expected: FAIL + + [Checking align-content: center] + expected: FAIL + + [Checking align-content: flex-start] + expected: FAIL + + [Checking align-content: flex-end] + expected: FAIL + + [Checking align-content: stretch] + expected: FAIL + + [Checking align-content: space-around] + expected: FAIL + + [Checking align-content: space-between] + expected: FAIL + + [Checking align-content: space-evenly] + expected: FAIL + + [Checking align-content: baseline] + expected: FAIL + + [Checking align-content: first baseline] + expected: FAIL + + [Checking align-content: last baseline] + expected: FAIL + + [Checking align-content: safe flex-end] + expected: FAIL + + [Checking align-content: unsafe end] + expected: FAIL + + [Checking align-content: safe end] + expected: FAIL + + [Checking align-content: unsafe flex-start] + expected: FAIL + + [Checking align-content: safe center] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-align/content-distribution/parse-align-content-003.html.ini b/tests/wpt/metadata-layout-2020/css/css-align/content-distribution/parse-align-content-003.html.ini new file mode 100644 index 00000000000..4ee5c5ffe98 --- /dev/null +++ b/tests/wpt/metadata-layout-2020/css/css-align/content-distribution/parse-align-content-003.html.ini @@ -0,0 +1,54 @@ +[parse-align-content-003.html] + [Checking align-content: normal] + expected: FAIL + + [Checking align-content: start] + expected: FAIL + + [Checking align-content: end] + expected: FAIL + + [Checking align-content: center] + expected: FAIL + + [Checking align-content: flex-start] + expected: FAIL + + [Checking align-content: flex-end] + expected: FAIL + + [Checking align-content: stretch] + expected: FAIL + + [Checking align-content: space-around] + expected: FAIL + + [Checking align-content: space-between] + expected: FAIL + + [Checking align-content: space-evenly] + expected: FAIL + + [Checking align-content: baseline] + expected: FAIL + + [Checking align-content: first baseline] + expected: FAIL + + [Checking align-content: last baseline] + expected: FAIL + + [Checking align-content: safe flex-end] + expected: FAIL + + [Checking align-content: unsafe end] + expected: FAIL + + [Checking align-content: safe end] + expected: FAIL + + [Checking align-content: unsafe flex-start] + expected: FAIL + + [Checking align-content: safe center] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-align/content-distribution/parse-align-content-004.html.ini b/tests/wpt/metadata-layout-2020/css/css-align/content-distribution/parse-align-content-004.html.ini new file mode 100644 index 00000000000..c137d8de206 --- /dev/null +++ b/tests/wpt/metadata-layout-2020/css/css-align/content-distribution/parse-align-content-004.html.ini @@ -0,0 +1,120 @@ +[parse-align-content-004.html] + [Checking invalid combination - align-content: auto] + expected: FAIL + + [Checking invalid combination - align-content: legacy] + expected: FAIL + + [Checking invalid combination - align-content: self-start] + expected: FAIL + + [Checking invalid combination - align-content: left] + expected: FAIL + + [Checking invalid combination - align-content: safe right] + expected: FAIL + + [Checking invalid combination - align-content: auto safe] + expected: FAIL + + [Checking invalid combination - align-content: auto left] + expected: FAIL + + [Checking invalid combination - align-content: normal unsafe] + expected: FAIL + + [Checking invalid combination - align-content: normal stretch] + expected: FAIL + + [Checking invalid combination - align-content: baseline normal] + expected: FAIL + + [Checking invalid combination - align-content: baseline center] + expected: FAIL + + [Checking invalid combination - align-content: first baseline center] + expected: FAIL + + [Checking invalid combination - align-content: last baseline center] + expected: FAIL + + [Checking invalid combination - align-content: baseline last] + expected: FAIL + + [Checking invalid combination - align-content: baseline first] + expected: FAIL + + [Checking invalid combination - align-content: stretch unsafe] + expected: FAIL + + [Checking invalid combination - align-content: stretch right] + expected: FAIL + + [Checking invalid combination - align-content: unsafe unsafe] + expected: FAIL + + [Checking invalid combination - align-content: unsafe safe] + expected: FAIL + + [Checking invalid combination - align-content: center start] + expected: FAIL + + [Checking invalid combination - align-content: unsafe stretch] + expected: FAIL + + [Checking invalid combination - align-content: safe stretch] + expected: FAIL + + [Checking invalid combination - align-content: baseline safe] + expected: FAIL + + [Checking invalid combination - align-content: unsafe baseline] + expected: FAIL + + [Checking invalid combination - align-content: unsafe safe left] + expected: FAIL + + [Checking invalid combination - align-content: unsafe left safe] + expected: FAIL + + [Checking invalid combination - align-content: left safe unsafe safe] + expected: FAIL + + [Checking invalid combination - align-content: start safe] + expected: FAIL + + [Checking invalid combination - align-content: safe] + expected: FAIL + + [Checking invalid combination - align-content: space-between left] + expected: FAIL + + [Checking invalid combination - align-content: space-around center] + expected: FAIL + + [Checking invalid combination - align-content: space-evenly right] + expected: FAIL + + [Checking invalid combination - align-content: stretch safe start] + expected: FAIL + + [Checking invalid combination - align-content: space-around unsafe] + expected: FAIL + + [Checking invalid combination - align-content: space-evenly safe flex-start] + expected: FAIL + + [Checking invalid combination - align-content: space-between safe] + expected: FAIL + + [Checking invalid combination - align-content: space-between stretch] + expected: FAIL + + [Checking invalid combination - align-content: stretch start] + expected: FAIL + + [Checking invalid combination - align-content: stretch baseline] + expected: FAIL + + [Checking invalid combination - align-content: first baseline space-around] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-align/content-distribution/parse-justify-content-001.html.ini b/tests/wpt/metadata-layout-2020/css/css-align/content-distribution/parse-justify-content-001.html.ini new file mode 100644 index 00000000000..9da39e3476d --- /dev/null +++ b/tests/wpt/metadata-layout-2020/css/css-align/content-distribution/parse-justify-content-001.html.ini @@ -0,0 +1,51 @@ +[parse-justify-content-001.html] + [Checking justify-content: normal] + expected: FAIL + + [Checking justify-content: left] + expected: FAIL + + [Checking justify-content: right] + expected: FAIL + + [Checking justify-content: start] + expected: FAIL + + [Checking justify-content: end] + expected: FAIL + + [Checking justify-content: center] + expected: FAIL + + [Checking justify-content: flex-start] + expected: FAIL + + [Checking justify-content: flex-end] + expected: FAIL + + [Checking justify-content: stretch] + expected: FAIL + + [Checking justify-content: space-around] + expected: FAIL + + [Checking justify-content: space-between] + expected: FAIL + + [Checking justify-content: space-evenly] + expected: FAIL + + [Checking justify-content: safe flex-end] + expected: FAIL + + [Checking justify-content: unsafe end] + expected: FAIL + + [Checking justify-content: safe end] + expected: FAIL + + [Checking justify-content: unsafe flex-start] + expected: FAIL + + [Checking justify-content: safe center] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-align/content-distribution/parse-justify-content-003.html.ini b/tests/wpt/metadata-layout-2020/css/css-align/content-distribution/parse-justify-content-003.html.ini new file mode 100644 index 00000000000..acfa0d145cc --- /dev/null +++ b/tests/wpt/metadata-layout-2020/css/css-align/content-distribution/parse-justify-content-003.html.ini @@ -0,0 +1,51 @@ +[parse-justify-content-003.html] + [Checking justify-content: normal] + expected: FAIL + + [Checking justify-content: left] + expected: FAIL + + [Checking justify-content: right] + expected: FAIL + + [Checking justify-content: start] + expected: FAIL + + [Checking justify-content: end] + expected: FAIL + + [Checking justify-content: center] + expected: FAIL + + [Checking justify-content: flex-start] + expected: FAIL + + [Checking justify-content: flex-end] + expected: FAIL + + [Checking justify-content: stretch] + expected: FAIL + + [Checking justify-content: space-around] + expected: FAIL + + [Checking justify-content: space-between] + expected: FAIL + + [Checking justify-content: space-evenly] + expected: FAIL + + [Checking justify-content: safe flex-end] + expected: FAIL + + [Checking justify-content: unsafe end] + expected: FAIL + + [Checking justify-content: safe end] + expected: FAIL + + [Checking justify-content: unsafe flex-start] + expected: FAIL + + [Checking justify-content: safe center] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-align/content-distribution/parse-justify-content-004.html.ini b/tests/wpt/metadata-layout-2020/css/css-align/content-distribution/parse-justify-content-004.html.ini new file mode 100644 index 00000000000..b8807eb2ec5 --- /dev/null +++ b/tests/wpt/metadata-layout-2020/css/css-align/content-distribution/parse-justify-content-004.html.ini @@ -0,0 +1,123 @@ +[parse-justify-content-004.html] + [Checking invalid combination - justify-content: auto] + expected: FAIL + + [Checking invalid combination - justify-content: legacy] + expected: FAIL + + [Checking invalid combination - justify-content: self-start] + expected: FAIL + + [Checking invalid combination - justify-content: baseline] + expected: FAIL + + [Checking invalid combination - justify-content: first baseline] + expected: FAIL + + [Checking invalid combination - justify-content: last baseline] + expected: FAIL + + [Checking invalid combination - justify-content: auto safe] + expected: FAIL + + [Checking invalid combination - justify-content: auto left] + expected: FAIL + + [Checking invalid combination - justify-content: normal unsafe] + expected: FAIL + + [Checking invalid combination - justify-content: normal stretch] + expected: FAIL + + [Checking invalid combination - justify-content: baseline normal] + expected: FAIL + + [Checking invalid combination - justify-content: baseline center] + expected: FAIL + + [Checking invalid combination - justify-content: first baseline center] + expected: FAIL + + [Checking invalid combination - justify-content: last baseline center] + expected: FAIL + + [Checking invalid combination - justify-content: baseline last] + expected: FAIL + + [Checking invalid combination - justify-content: baseline first] + expected: FAIL + + [Checking invalid combination - justify-content: stretch unsafe] + expected: FAIL + + [Checking invalid combination - justify-content: stretch right] + expected: FAIL + + [Checking invalid combination - justify-content: unsafe unsafe] + expected: FAIL + + [Checking invalid combination - justify-content: unsafe safe] + expected: FAIL + + [Checking invalid combination - justify-content: center start] + expected: FAIL + + [Checking invalid combination - justify-content: unsafe stretch] + expected: FAIL + + [Checking invalid combination - justify-content: safe stretch] + expected: FAIL + + [Checking invalid combination - justify-content: baseline safe] + expected: FAIL + + [Checking invalid combination - justify-content: unsafe baseline] + expected: FAIL + + [Checking invalid combination - justify-content: unsafe safe left] + expected: FAIL + + [Checking invalid combination - justify-content: unsafe left safe] + expected: FAIL + + [Checking invalid combination - justify-content: left safe unsafe safe] + expected: FAIL + + [Checking invalid combination - justify-content: start safe] + expected: FAIL + + [Checking invalid combination - justify-content: safe] + expected: FAIL + + [Checking invalid combination - justify-content: space-between left] + expected: FAIL + + [Checking invalid combination - justify-content: space-around center] + expected: FAIL + + [Checking invalid combination - justify-content: space-evenly right] + expected: FAIL + + [Checking invalid combination - justify-content: stretch safe start] + expected: FAIL + + [Checking invalid combination - justify-content: space-around unsafe] + expected: FAIL + + [Checking invalid combination - justify-content: space-evenly safe flex-start] + expected: FAIL + + [Checking invalid combination - justify-content: space-between safe] + expected: FAIL + + [Checking invalid combination - justify-content: space-between stretch] + expected: FAIL + + [Checking invalid combination - justify-content: stretch start] + expected: FAIL + + [Checking invalid combination - justify-content: stretch baseline] + expected: FAIL + + [Checking invalid combination - justify-content: first baseline space-around] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-align/default-alignment/parse-align-items-001.html.ini b/tests/wpt/metadata-layout-2020/css/css-align/default-alignment/parse-align-items-001.html.ini new file mode 100644 index 00000000000..294b8bc4dd3 --- /dev/null +++ b/tests/wpt/metadata-layout-2020/css/css-align/default-alignment/parse-align-items-001.html.ini @@ -0,0 +1,51 @@ +[parse-align-items-001.html] + [Checking align-items: normal] + expected: FAIL + + [Checking align-items: stretch] + expected: FAIL + + [Checking align-items: start] + expected: FAIL + + [Checking align-items: end] + expected: FAIL + + [Checking align-items: self-start] + expected: FAIL + + [Checking align-items: self-end] + expected: FAIL + + [Checking align-items: center] + expected: FAIL + + [Checking align-items: flex-start] + expected: FAIL + + [Checking align-items: flex-end] + expected: FAIL + + [Checking align-items: baseline] + expected: FAIL + + [Checking align-items: first baseline] + expected: FAIL + + [Checking align-items: last baseline] + expected: FAIL + + [Checking align-items: safe flex-end] + expected: FAIL + + [Checking align-items: unsafe end] + expected: FAIL + + [Checking align-items: safe end] + expected: FAIL + + [Checking align-items: unsafe flex-start] + expected: FAIL + + [Checking align-items: safe center] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-align/default-alignment/parse-align-items-003.html.ini b/tests/wpt/metadata-layout-2020/css/css-align/default-alignment/parse-align-items-003.html.ini new file mode 100644 index 00000000000..2e60dda2a31 --- /dev/null +++ b/tests/wpt/metadata-layout-2020/css/css-align/default-alignment/parse-align-items-003.html.ini @@ -0,0 +1,51 @@ +[parse-align-items-003.html] + [Checking align-items: normal] + expected: FAIL + + [Checking align-items: stretch] + expected: FAIL + + [Checking align-items: start] + expected: FAIL + + [Checking align-items: end] + expected: FAIL + + [Checking align-items: self-start] + expected: FAIL + + [Checking align-items: self-end] + expected: FAIL + + [Checking align-items: center] + expected: FAIL + + [Checking align-items: flex-start] + expected: FAIL + + [Checking align-items: flex-end] + expected: FAIL + + [Checking align-items: baseline] + expected: FAIL + + [Checking align-items: first baseline] + expected: FAIL + + [Checking align-items: last baseline] + expected: FAIL + + [Checking align-items: safe flex-end] + expected: FAIL + + [Checking align-items: unsafe end] + expected: FAIL + + [Checking align-items: safe end] + expected: FAIL + + [Checking align-items: unsafe flex-start] + expected: FAIL + + [Checking align-items: safe center] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-align/default-alignment/parse-align-items-004.html.ini b/tests/wpt/metadata-layout-2020/css/css-align/default-alignment/parse-align-items-004.html.ini new file mode 100644 index 00000000000..0d37798292f --- /dev/null +++ b/tests/wpt/metadata-layout-2020/css/css-align/default-alignment/parse-align-items-004.html.ini @@ -0,0 +1,87 @@ +[parse-align-items-004.html] + [Checking invalid combination - align-items: auto] + expected: FAIL + + [Checking invalid combination - align-items: legacy] + expected: FAIL + + [Checking invalid combination - align-items: space-around] + expected: FAIL + + [Checking invalid combination - align-items: left] + expected: FAIL + + [Checking invalid combination - align-items: safe right] + expected: FAIL + + [Checking invalid combination - align-items: auto safe] + expected: FAIL + + [Checking invalid combination - align-items: auto left] + expected: FAIL + + [Checking invalid combination - align-items: normal unsafe] + expected: FAIL + + [Checking invalid combination - align-items: normal stretch] + expected: FAIL + + [Checking invalid combination - align-items: baseline normal] + expected: FAIL + + [Checking invalid combination - align-items: baseline center] + expected: FAIL + + [Checking invalid combination - align-items: first baseline center] + expected: FAIL + + [Checking invalid combination - align-items: last baseline center] + expected: FAIL + + [Checking invalid combination - align-items: baseline last] + expected: FAIL + + [Checking invalid combination - align-items: baseline first] + expected: FAIL + + [Checking invalid combination - align-items: stretch unsafe] + expected: FAIL + + [Checking invalid combination - align-items: stretch right] + expected: FAIL + + [Checking invalid combination - align-items: unsafe unsafe] + expected: FAIL + + [Checking invalid combination - align-items: unsafe safe] + expected: FAIL + + [Checking invalid combination - align-items: center start] + expected: FAIL + + [Checking invalid combination - align-items: unsafe stretch] + expected: FAIL + + [Checking invalid combination - align-items: safe stretch] + expected: FAIL + + [Checking invalid combination - align-items: baseline safe] + expected: FAIL + + [Checking invalid combination - align-items: unsafe baseline] + expected: FAIL + + [Checking invalid combination - align-items: unsafe safe left] + expected: FAIL + + [Checking invalid combination - align-items: unsafe left safe] + expected: FAIL + + [Checking invalid combination - align-items: left safe unsafe safe] + expected: FAIL + + [Checking invalid combination - align-items: start safe] + expected: FAIL + + [Checking invalid combination - align-items: safe] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-align/gaps/gap-normal-used-002.html.ini b/tests/wpt/metadata-layout-2020/css/css-align/gaps/gap-normal-used-002.html.ini new file mode 100644 index 00000000000..ba07bd38cbd --- /dev/null +++ b/tests/wpt/metadata-layout-2020/css/css-align/gaps/gap-normal-used-002.html.ini @@ -0,0 +1,2 @@ +[gap-normal-used-002.html] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-align/parsing/align-content-computed.html.ini b/tests/wpt/metadata-layout-2020/css/css-align/parsing/align-content-computed.html.ini new file mode 100644 index 00000000000..ef8440df717 --- /dev/null +++ b/tests/wpt/metadata-layout-2020/css/css-align/parsing/align-content-computed.html.ini @@ -0,0 +1,42 @@ +[align-content-computed.html] + [Property align-content value 'normal'] + expected: FAIL + + [Property align-content value 'baseline'] + expected: FAIL + + [Property align-content value 'last baseline'] + expected: FAIL + + [Property align-content value 'space-between'] + expected: FAIL + + [Property align-content value 'space-around'] + expected: FAIL + + [Property align-content value 'space-evenly'] + expected: FAIL + + [Property align-content value 'stretch'] + expected: FAIL + + [Property align-content value 'center'] + expected: FAIL + + [Property align-content value 'start'] + expected: FAIL + + [Property align-content value 'end'] + expected: FAIL + + [Property align-content value 'flex-start'] + expected: FAIL + + [Property align-content value 'flex-end'] + expected: FAIL + + [Property align-content value 'unsafe end'] + expected: FAIL + + [Property align-content value 'safe flex-start'] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-align/parsing/align-content-valid.html.ini b/tests/wpt/metadata-layout-2020/css/css-align/parsing/align-content-valid.html.ini new file mode 100644 index 00000000000..cd4d408e3b9 --- /dev/null +++ b/tests/wpt/metadata-layout-2020/css/css-align/parsing/align-content-valid.html.ini @@ -0,0 +1,45 @@ +[align-content-valid.html] + [e.style['align-content'\] = "normal" should set the property value] + expected: FAIL + + [e.style['align-content'\] = "baseline" should set the property value] + expected: FAIL + + [e.style['align-content'\] = "first baseline" should set the property value] + expected: FAIL + + [e.style['align-content'\] = "last baseline" should set the property value] + expected: FAIL + + [e.style['align-content'\] = "space-between" should set the property value] + expected: FAIL + + [e.style['align-content'\] = "space-around" should set the property value] + expected: FAIL + + [e.style['align-content'\] = "space-evenly" should set the property value] + expected: FAIL + + [e.style['align-content'\] = "stretch" should set the property value] + expected: FAIL + + [e.style['align-content'\] = "center" should set the property value] + expected: FAIL + + [e.style['align-content'\] = "start" should set the property value] + expected: FAIL + + [e.style['align-content'\] = "end" should set the property value] + expected: FAIL + + [e.style['align-content'\] = "flex-start" should set the property value] + expected: FAIL + + [e.style['align-content'\] = "flex-end" should set the property value] + expected: FAIL + + [e.style['align-content'\] = "unsafe end" should set the property value] + expected: FAIL + + [e.style['align-content'\] = "safe flex-start" should set the property value] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-align/parsing/align-items-computed.html.ini b/tests/wpt/metadata-layout-2020/css/css-align/parsing/align-items-computed.html.ini new file mode 100644 index 00000000000..29eb0260d2a --- /dev/null +++ b/tests/wpt/metadata-layout-2020/css/css-align/parsing/align-items-computed.html.ini @@ -0,0 +1,39 @@ +[align-items-computed.html] + [Property align-items value 'normal'] + expected: FAIL + + [Property align-items value 'stretch'] + expected: FAIL + + [Property align-items value 'baseline'] + expected: FAIL + + [Property align-items value 'last baseline'] + expected: FAIL + + [Property align-items value 'center'] + expected: FAIL + + [Property align-items value 'start'] + expected: FAIL + + [Property align-items value 'end'] + expected: FAIL + + [Property align-items value 'self-start'] + expected: FAIL + + [Property align-items value 'self-end'] + expected: FAIL + + [Property align-items value 'flex-start'] + expected: FAIL + + [Property align-items value 'flex-end'] + expected: FAIL + + [Property align-items value 'unsafe center'] + expected: FAIL + + [Property align-items value 'safe self-end'] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-align/parsing/align-items-valid.html.ini b/tests/wpt/metadata-layout-2020/css/css-align/parsing/align-items-valid.html.ini new file mode 100644 index 00000000000..e68bf91564c --- /dev/null +++ b/tests/wpt/metadata-layout-2020/css/css-align/parsing/align-items-valid.html.ini @@ -0,0 +1,42 @@ +[align-items-valid.html] + [e.style['align-items'\] = "normal" should set the property value] + expected: FAIL + + [e.style['align-items'\] = "stretch" should set the property value] + expected: FAIL + + [e.style['align-items'\] = "baseline" should set the property value] + expected: FAIL + + [e.style['align-items'\] = "first baseline" should set the property value] + expected: FAIL + + [e.style['align-items'\] = "last baseline" should set the property value] + expected: FAIL + + [e.style['align-items'\] = "center" should set the property value] + expected: FAIL + + [e.style['align-items'\] = "start" should set the property value] + expected: FAIL + + [e.style['align-items'\] = "end" should set the property value] + expected: FAIL + + [e.style['align-items'\] = "self-start" should set the property value] + expected: FAIL + + [e.style['align-items'\] = "self-end" should set the property value] + expected: FAIL + + [e.style['align-items'\] = "flex-start" should set the property value] + expected: FAIL + + [e.style['align-items'\] = "flex-end" should set the property value] + expected: FAIL + + [e.style['align-items'\] = "unsafe center" should set the property value] + expected: FAIL + + [e.style['align-items'\] = "safe self-end" should set the property value] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-align/parsing/align-self-computed.html.ini b/tests/wpt/metadata-layout-2020/css/css-align/parsing/align-self-computed.html.ini new file mode 100644 index 00000000000..9007c255e81 --- /dev/null +++ b/tests/wpt/metadata-layout-2020/css/css-align/parsing/align-self-computed.html.ini @@ -0,0 +1,42 @@ +[align-self-computed.html] + [Property align-self value 'auto'] + expected: FAIL + + [Property align-self value 'normal'] + expected: FAIL + + [Property align-self value 'stretch'] + expected: FAIL + + [Property align-self value 'baseline'] + expected: FAIL + + [Property align-self value 'last baseline'] + expected: FAIL + + [Property align-self value 'center'] + expected: FAIL + + [Property align-self value 'start'] + expected: FAIL + + [Property align-self value 'end'] + expected: FAIL + + [Property align-self value 'self-start'] + expected: FAIL + + [Property align-self value 'self-end'] + expected: FAIL + + [Property align-self value 'flex-start'] + expected: FAIL + + [Property align-self value 'flex-end'] + expected: FAIL + + [Property align-self value 'unsafe center'] + expected: FAIL + + [Property align-self value 'safe self-end'] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-align/parsing/align-self-valid.html.ini b/tests/wpt/metadata-layout-2020/css/css-align/parsing/align-self-valid.html.ini new file mode 100644 index 00000000000..4cece537894 --- /dev/null +++ b/tests/wpt/metadata-layout-2020/css/css-align/parsing/align-self-valid.html.ini @@ -0,0 +1,45 @@ +[align-self-valid.html] + [e.style['align-self'\] = "auto" should set the property value] + expected: FAIL + + [e.style['align-self'\] = "normal" should set the property value] + expected: FAIL + + [e.style['align-self'\] = "stretch" should set the property value] + expected: FAIL + + [e.style['align-self'\] = "baseline" should set the property value] + expected: FAIL + + [e.style['align-self'\] = "first baseline" should set the property value] + expected: FAIL + + [e.style['align-self'\] = "last baseline" should set the property value] + expected: FAIL + + [e.style['align-self'\] = "center" should set the property value] + expected: FAIL + + [e.style['align-self'\] = "start" should set the property value] + expected: FAIL + + [e.style['align-self'\] = "end" should set the property value] + expected: FAIL + + [e.style['align-self'\] = "self-start" should set the property value] + expected: FAIL + + [e.style['align-self'\] = "self-end" should set the property value] + expected: FAIL + + [e.style['align-self'\] = "flex-start" should set the property value] + expected: FAIL + + [e.style['align-self'\] = "flex-end" should set the property value] + expected: FAIL + + [e.style['align-self'\] = "unsafe center" should set the property value] + expected: FAIL + + [e.style['align-self'\] = "safe self-end" should set the property value] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-align/parsing/justify-content-computed.html.ini b/tests/wpt/metadata-layout-2020/css/css-align/parsing/justify-content-computed.html.ini new file mode 100644 index 00000000000..3dae203d085 --- /dev/null +++ b/tests/wpt/metadata-layout-2020/css/css-align/parsing/justify-content-computed.html.ini @@ -0,0 +1,42 @@ +[justify-content-computed.html] + [Property justify-content value 'normal'] + expected: FAIL + + [Property justify-content value 'space-between'] + expected: FAIL + + [Property justify-content value 'space-around'] + expected: FAIL + + [Property justify-content value 'space-evenly'] + expected: FAIL + + [Property justify-content value 'stretch'] + expected: FAIL + + [Property justify-content value 'center'] + expected: FAIL + + [Property justify-content value 'start'] + expected: FAIL + + [Property justify-content value 'end'] + expected: FAIL + + [Property justify-content value 'flex-start'] + expected: FAIL + + [Property justify-content value 'flex-end'] + expected: FAIL + + [Property justify-content value 'unsafe end'] + expected: FAIL + + [Property justify-content value 'safe flex-start'] + expected: FAIL + + [Property justify-content value 'left'] + expected: FAIL + + [Property justify-content value 'unsafe right'] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-align/parsing/justify-content-valid.html.ini b/tests/wpt/metadata-layout-2020/css/css-align/parsing/justify-content-valid.html.ini new file mode 100644 index 00000000000..792a5d3a829 --- /dev/null +++ b/tests/wpt/metadata-layout-2020/css/css-align/parsing/justify-content-valid.html.ini @@ -0,0 +1,42 @@ +[justify-content-valid.html] + [e.style['justify-content'\] = "normal" should set the property value] + expected: FAIL + + [e.style['justify-content'\] = "space-between" should set the property value] + expected: FAIL + + [e.style['justify-content'\] = "space-around" should set the property value] + expected: FAIL + + [e.style['justify-content'\] = "space-evenly" should set the property value] + expected: FAIL + + [e.style['justify-content'\] = "stretch" should set the property value] + expected: FAIL + + [e.style['justify-content'\] = "center" should set the property value] + expected: FAIL + + [e.style['justify-content'\] = "start" should set the property value] + expected: FAIL + + [e.style['justify-content'\] = "end" should set the property value] + expected: FAIL + + [e.style['justify-content'\] = "flex-start" should set the property value] + expected: FAIL + + [e.style['justify-content'\] = "flex-end" should set the property value] + expected: FAIL + + [e.style['justify-content'\] = "unsafe end" should set the property value] + expected: FAIL + + [e.style['justify-content'\] = "safe flex-start" should set the property value] + expected: FAIL + + [e.style['justify-content'\] = "left" should set the property value] + expected: FAIL + + [e.style['justify-content'\] = "unsafe right" should set the property value] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-align/self-alignment/parse-align-self-001.html.ini b/tests/wpt/metadata-layout-2020/css/css-align/self-alignment/parse-align-self-001.html.ini new file mode 100644 index 00000000000..4778199c2ca --- /dev/null +++ b/tests/wpt/metadata-layout-2020/css/css-align/self-alignment/parse-align-self-001.html.ini @@ -0,0 +1,54 @@ +[parse-align-self-001.html] + [Checking align-self: auto] + expected: FAIL + + [Checking align-self: normal] + expected: FAIL + + [Checking align-self: stretch] + expected: FAIL + + [Checking align-self: start] + expected: FAIL + + [Checking align-self: end] + expected: FAIL + + [Checking align-self: self-start] + expected: FAIL + + [Checking align-self: self-end] + expected: FAIL + + [Checking align-self: center] + expected: FAIL + + [Checking align-self: flex-start] + expected: FAIL + + [Checking align-self: flex-end] + expected: FAIL + + [Checking align-self: baseline] + expected: FAIL + + [Checking align-self: first baseline] + expected: FAIL + + [Checking align-self: last baseline] + expected: FAIL + + [Checking align-self: safe flex-end] + expected: FAIL + + [Checking align-self: unsafe end] + expected: FAIL + + [Checking align-self: safe end] + expected: FAIL + + [Checking align-self: unsafe flex-start] + expected: FAIL + + [Checking align-self: safe center] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-align/self-alignment/parse-align-self-003.html.ini b/tests/wpt/metadata-layout-2020/css/css-align/self-alignment/parse-align-self-003.html.ini new file mode 100644 index 00000000000..fcf2d516058 --- /dev/null +++ b/tests/wpt/metadata-layout-2020/css/css-align/self-alignment/parse-align-self-003.html.ini @@ -0,0 +1,54 @@ +[parse-align-self-003.html] + [Checking align-self: auto] + expected: FAIL + + [Checking align-self: normal] + expected: FAIL + + [Checking align-self: stretch] + expected: FAIL + + [Checking align-self: start] + expected: FAIL + + [Checking align-self: end] + expected: FAIL + + [Checking align-self: self-start] + expected: FAIL + + [Checking align-self: self-end] + expected: FAIL + + [Checking align-self: center] + expected: FAIL + + [Checking align-self: flex-start] + expected: FAIL + + [Checking align-self: flex-end] + expected: FAIL + + [Checking align-self: baseline] + expected: FAIL + + [Checking align-self: first baseline] + expected: FAIL + + [Checking align-self: last baseline] + expected: FAIL + + [Checking align-self: safe flex-end] + expected: FAIL + + [Checking align-self: unsafe end] + expected: FAIL + + [Checking align-self: safe end] + expected: FAIL + + [Checking align-self: unsafe flex-start] + expected: FAIL + + [Checking align-self: safe center] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-align/self-alignment/parse-align-self-004.html.ini b/tests/wpt/metadata-layout-2020/css/css-align/self-alignment/parse-align-self-004.html.ini new file mode 100644 index 00000000000..07b89d6ab44 --- /dev/null +++ b/tests/wpt/metadata-layout-2020/css/css-align/self-alignment/parse-align-self-004.html.ini @@ -0,0 +1,84 @@ +[parse-align-self-004.html] + [Checking invalid combination - align-self: legacy] + expected: FAIL + + [Checking invalid combination - align-self: space-around] + expected: FAIL + + [Checking invalid combination - align-self: left] + expected: FAIL + + [Checking invalid combination - align-self: safe right] + expected: FAIL + + [Checking invalid combination - align-self: auto safe] + expected: FAIL + + [Checking invalid combination - align-self: auto left] + expected: FAIL + + [Checking invalid combination - align-self: normal unsafe] + expected: FAIL + + [Checking invalid combination - align-self: normal stretch] + expected: FAIL + + [Checking invalid combination - align-self: baseline normal] + expected: FAIL + + [Checking invalid combination - align-self: baseline center] + expected: FAIL + + [Checking invalid combination - align-self: first baseline center] + expected: FAIL + + [Checking invalid combination - align-self: last baseline center] + expected: FAIL + + [Checking invalid combination - align-self: baseline last] + expected: FAIL + + [Checking invalid combination - align-self: baseline first] + expected: FAIL + + [Checking invalid combination - align-self: stretch unsafe] + expected: FAIL + + [Checking invalid combination - align-self: stretch right] + expected: FAIL + + [Checking invalid combination - align-self: unsafe unsafe] + expected: FAIL + + [Checking invalid combination - align-self: unsafe safe] + expected: FAIL + + [Checking invalid combination - align-self: center start] + expected: FAIL + + [Checking invalid combination - align-self: unsafe stretch] + expected: FAIL + + [Checking invalid combination - align-self: safe stretch] + expected: FAIL + + [Checking invalid combination - align-self: baseline safe] + expected: FAIL + + [Checking invalid combination - align-self: unsafe baseline] + expected: FAIL + + [Checking invalid combination - align-self: unsafe safe left] + expected: FAIL + + [Checking invalid combination - align-self: unsafe left safe] + expected: FAIL + + [Checking invalid combination - align-self: left safe unsafe safe] + expected: FAIL + + [Checking invalid combination - align-self: start safe] + expected: FAIL + + [Checking invalid combination - align-self: safe] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-animations/parsing/animation-shorthand.html.ini b/tests/wpt/metadata-layout-2020/css/css-animations/parsing/animation-shorthand.html.ini index 8507b545441..24d9f069eee 100644 --- a/tests/wpt/metadata-layout-2020/css/css-animations/parsing/animation-shorthand.html.ini +++ b/tests/wpt/metadata-layout-2020/css/css-animations/parsing/animation-shorthand.html.ini @@ -8,3 +8,20 @@ [e.style['animation'\] = "anim paused both reverse 4 1s -3s cubic-bezier(0, -2, 1, 3)" should set animation-timeline] expected: FAIL + [e.style['animation'\] = "anim paused both reverse 4 1s -3s cubic-bezier(0, -2, 1, 3)" should set animation-range-end] + expected: FAIL + + [e.style['animation'\] = "anim paused both reverse 4 1s -3s cubic-bezier(0, -2, 1, 3)" should set animation-range-start] + expected: FAIL + + [e.style['animation'\] = "anim paused both reverse, 4 1s -3s cubic-bezier(0, -2, 1, 3)" should set animation-range-end] + expected: FAIL + + [e.style['animation'\] = "anim paused both reverse, 4 1s -3s cubic-bezier(0, -2, 1, 3)" should set animation-range-start] + expected: FAIL + + [e.style['animation'\] = "4 1s -3s cubic-bezier(0, -2, 1, 3), anim paused both reverse" should set animation-range-end] + expected: FAIL + + [e.style['animation'\] = "4 1s -3s cubic-bezier(0, -2, 1, 3), anim paused both reverse" should set animation-range-start] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-animations/parsing/animation-shorthand.tentative.html.ini b/tests/wpt/metadata-layout-2020/css/css-animations/parsing/animation-shorthand.tentative.html.ini index 8c3b64ad054..8462ff6a79a 100644 --- a/tests/wpt/metadata-layout-2020/css/css-animations/parsing/animation-shorthand.tentative.html.ini +++ b/tests/wpt/metadata-layout-2020/css/css-animations/parsing/animation-shorthand.tentative.html.ini @@ -10,3 +10,9 @@ [e.style['animation'\] = "anim paused both reverse 4 1s -3s cubic-bezier(0, -2, 1, 3)" should not set unrelated longhands] expected: FAIL + + [e.style['animation'\] = "anim paused both reverse 4 1s -3s cubic-bezier(0, -2, 1, 3)" should set animation-range-end] + expected: FAIL + + [e.style['animation'\] = "anim paused both reverse 4 1s -3s cubic-bezier(0, -2, 1, 3)" should set animation-range-start] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-backgrounds/animations/background-color-animation-with-table2.html.ini b/tests/wpt/metadata-layout-2020/css/css-backgrounds/animations/background-color-animation-with-table2.html.ini new file mode 100644 index 00000000000..99990bcea55 --- /dev/null +++ b/tests/wpt/metadata-layout-2020/css/css-backgrounds/animations/background-color-animation-with-table2.html.ini @@ -0,0 +1,2 @@ +[background-color-animation-with-table2.html] + expected: TIMEOUT diff --git a/tests/wpt/metadata-layout-2020/css/css-backgrounds/animations/box-shadow-interpolation.html.ini b/tests/wpt/metadata-layout-2020/css/css-backgrounds/animations/box-shadow-interpolation.html.ini index d99ebf03b3a..96db3029bfe 100644 --- a/tests/wpt/metadata-layout-2020/css/css-backgrounds/animations/box-shadow-interpolation.html.ini +++ b/tests/wpt/metadata-layout-2020/css/css-backgrounds/animations/box-shadow-interpolation.html.ini @@ -256,3 +256,693 @@ [Web Animations: property <box-shadow> from [inset 0 0 0 0 black\] to [inset 0 0 0 calc(max(10em, 20px) / 2) black\] at (1.5) should be [rgb(0, 0, 0) 0px 0px 0px 22.5px inset\]] expected: FAIL + + [CSS Transitions: property <box-shadow> from neutral to [20px 20px 20px 20px black\] at (-0.3) should be [rgb(0, 0, 0) 7px 33px 7px 33px\]] + expected: FAIL + + [CSS Transitions: property <box-shadow> from neutral to [20px 20px 20px 20px black\] at (0) should be [rgb(0, 0, 0) 10px 30px 10px 30px\]] + expected: FAIL + + [CSS Transitions: property <box-shadow> from neutral to [20px 20px 20px 20px black\] at (0.3) should be [rgb(0, 0, 0) 13px 27px 13px 27px\]] + expected: FAIL + + [CSS Transitions: property <box-shadow> from neutral to [20px 20px 20px 20px black\] at (0.6) should be [rgb(0, 0, 0) 16px 24px 16px 24px\]] + expected: FAIL + + [CSS Transitions: property <box-shadow> from neutral to [20px 20px 20px 20px black\] at (1) should be [rgb(0, 0, 0) 20px 20px 20px 20px\]] + expected: FAIL + + [CSS Transitions: property <box-shadow> from neutral to [20px 20px 20px 20px black\] at (1.5) should be [rgb(0, 0, 0) 25px 15px 25px 15px\]] + expected: FAIL + + [CSS Transitions with transition: all: property <box-shadow> from neutral to [20px 20px 20px 20px black\] at (-0.3) should be [rgb(0, 0, 0) 7px 33px 7px 33px\]] + expected: FAIL + + [CSS Transitions with transition: all: property <box-shadow> from neutral to [20px 20px 20px 20px black\] at (0) should be [rgb(0, 0, 0) 10px 30px 10px 30px\]] + expected: FAIL + + [CSS Transitions with transition: all: property <box-shadow> from neutral to [20px 20px 20px 20px black\] at (0.3) should be [rgb(0, 0, 0) 13px 27px 13px 27px\]] + expected: FAIL + + [CSS Transitions with transition: all: property <box-shadow> from neutral to [20px 20px 20px 20px black\] at (0.6) should be [rgb(0, 0, 0) 16px 24px 16px 24px\]] + expected: FAIL + + [CSS Transitions with transition: all: property <box-shadow> from neutral to [20px 20px 20px 20px black\] at (1) should be [rgb(0, 0, 0) 20px 20px 20px 20px\]] + expected: FAIL + + [CSS Transitions with transition: all: property <box-shadow> from neutral to [20px 20px 20px 20px black\] at (1.5) should be [rgb(0, 0, 0) 25px 15px 25px 15px\]] + expected: FAIL + + [CSS Animations: property <box-shadow> from neutral to [20px 20px 20px 20px black\] at (-0.3) should be [rgb(0, 0, 0) 7px 33px 7px 33px\]] + expected: FAIL + + [CSS Animations: property <box-shadow> from neutral to [20px 20px 20px 20px black\] at (0) should be [rgb(0, 0, 0) 10px 30px 10px 30px\]] + expected: FAIL + + [CSS Animations: property <box-shadow> from neutral to [20px 20px 20px 20px black\] at (0.3) should be [rgb(0, 0, 0) 13px 27px 13px 27px\]] + expected: FAIL + + [CSS Animations: property <box-shadow> from neutral to [20px 20px 20px 20px black\] at (0.6) should be [rgb(0, 0, 0) 16px 24px 16px 24px\]] + expected: FAIL + + [CSS Animations: property <box-shadow> from neutral to [20px 20px 20px 20px black\] at (1) should be [rgb(0, 0, 0) 20px 20px 20px 20px\]] + expected: FAIL + + [CSS Animations: property <box-shadow> from neutral to [20px 20px 20px 20px black\] at (1.5) should be [rgb(0, 0, 0) 25px 15px 25px 15px\]] + expected: FAIL + + [CSS Transitions: property <box-shadow> from [initial\] to [20px 20px 20px 20px black\] at (-0.3) should be [rgba(0, 0, 0, 0) -6px -6px 0px -6px\]] + expected: FAIL + + [CSS Transitions: property <box-shadow> from [initial\] to [20px 20px 20px 20px black\] at (0) should be [rgba(0, 0, 0, 0) 0px 0px 0px 0px\]] + expected: FAIL + + [CSS Transitions: property <box-shadow> from [initial\] to [20px 20px 20px 20px black\] at (0.3) should be [rgba(0, 0, 0, 0.3) 6px 6px 6px 6px\]] + expected: FAIL + + [CSS Transitions: property <box-shadow> from [initial\] to [20px 20px 20px 20px black\] at (0.6) should be [rgba(0, 0, 0, 0.6) 12px 12px 12px 12px\]] + expected: FAIL + + [CSS Transitions: property <box-shadow> from [initial\] to [20px 20px 20px 20px black\] at (1) should be [rgb(0, 0, 0) 20px 20px 20px 20px\]] + expected: FAIL + + [CSS Transitions: property <box-shadow> from [initial\] to [20px 20px 20px 20px black\] at (1.5) should be [rgb(0, 0, 0) 30px 30px 30px 30px\]] + expected: FAIL + + [CSS Transitions with transition: all: property <box-shadow> from [initial\] to [20px 20px 20px 20px black\] at (-0.3) should be [rgba(0, 0, 0, 0) -6px -6px 0px -6px\]] + expected: FAIL + + [CSS Transitions with transition: all: property <box-shadow> from [initial\] to [20px 20px 20px 20px black\] at (0) should be [rgba(0, 0, 0, 0) 0px 0px 0px 0px\]] + expected: FAIL + + [CSS Transitions with transition: all: property <box-shadow> from [initial\] to [20px 20px 20px 20px black\] at (0.3) should be [rgba(0, 0, 0, 0.3) 6px 6px 6px 6px\]] + expected: FAIL + + [CSS Transitions with transition: all: property <box-shadow> from [initial\] to [20px 20px 20px 20px black\] at (0.6) should be [rgba(0, 0, 0, 0.6) 12px 12px 12px 12px\]] + expected: FAIL + + [CSS Transitions with transition: all: property <box-shadow> from [initial\] to [20px 20px 20px 20px black\] at (1) should be [rgb(0, 0, 0) 20px 20px 20px 20px\]] + expected: FAIL + + [CSS Transitions with transition: all: property <box-shadow> from [initial\] to [20px 20px 20px 20px black\] at (1.5) should be [rgb(0, 0, 0) 30px 30px 30px 30px\]] + expected: FAIL + + [CSS Animations: property <box-shadow> from [initial\] to [20px 20px 20px 20px black\] at (-0.3) should be [rgba(0, 0, 0, 0) -6px -6px 0px -6px\]] + expected: FAIL + + [CSS Animations: property <box-shadow> from [initial\] to [20px 20px 20px 20px black\] at (0) should be [rgba(0, 0, 0, 0) 0px 0px 0px 0px\]] + expected: FAIL + + [CSS Animations: property <box-shadow> from [initial\] to [20px 20px 20px 20px black\] at (0.3) should be [rgba(0, 0, 0, 0.3) 6px 6px 6px 6px\]] + expected: FAIL + + [CSS Animations: property <box-shadow> from [initial\] to [20px 20px 20px 20px black\] at (0.6) should be [rgba(0, 0, 0, 0.6) 12px 12px 12px 12px\]] + expected: FAIL + + [CSS Animations: property <box-shadow> from [initial\] to [20px 20px 20px 20px black\] at (1) should be [rgb(0, 0, 0) 20px 20px 20px 20px\]] + expected: FAIL + + [CSS Animations: property <box-shadow> from [initial\] to [20px 20px 20px 20px black\] at (1.5) should be [rgb(0, 0, 0) 30px 30px 30px 30px\]] + expected: FAIL + + [CSS Transitions: property <box-shadow> from [inherit\] to [20px 20px 20px 20px black\] at (-0.3) should be [rgb(0, 0, 0) 33px 7px 33px 7px\]] + expected: FAIL + + [CSS Transitions: property <box-shadow> from [inherit\] to [20px 20px 20px 20px black\] at (0) should be [rgb(0, 0, 0) 30px 10px 30px 10px\]] + expected: FAIL + + [CSS Transitions: property <box-shadow> from [inherit\] to [20px 20px 20px 20px black\] at (0.3) should be [rgb(0, 0, 0) 27px 13px 27px 13px\]] + expected: FAIL + + [CSS Transitions: property <box-shadow> from [inherit\] to [20px 20px 20px 20px black\] at (0.6) should be [rgb(0, 0, 0) 24px 16px 24px 16px\]] + expected: FAIL + + [CSS Transitions: property <box-shadow> from [inherit\] to [20px 20px 20px 20px black\] at (1) should be [rgb(0, 0, 0) 20px 20px 20px 20px\]] + expected: FAIL + + [CSS Transitions: property <box-shadow> from [inherit\] to [20px 20px 20px 20px black\] at (1.5) should be [rgb(0, 0, 0) 15px 25px 15px 25px\]] + expected: FAIL + + [CSS Transitions with transition: all: property <box-shadow> from [inherit\] to [20px 20px 20px 20px black\] at (-0.3) should be [rgb(0, 0, 0) 33px 7px 33px 7px\]] + expected: FAIL + + [CSS Transitions with transition: all: property <box-shadow> from [inherit\] to [20px 20px 20px 20px black\] at (0) should be [rgb(0, 0, 0) 30px 10px 30px 10px\]] + expected: FAIL + + [CSS Transitions with transition: all: property <box-shadow> from [inherit\] to [20px 20px 20px 20px black\] at (0.3) should be [rgb(0, 0, 0) 27px 13px 27px 13px\]] + expected: FAIL + + [CSS Transitions with transition: all: property <box-shadow> from [inherit\] to [20px 20px 20px 20px black\] at (0.6) should be [rgb(0, 0, 0) 24px 16px 24px 16px\]] + expected: FAIL + + [CSS Transitions with transition: all: property <box-shadow> from [inherit\] to [20px 20px 20px 20px black\] at (1) should be [rgb(0, 0, 0) 20px 20px 20px 20px\]] + expected: FAIL + + [CSS Transitions with transition: all: property <box-shadow> from [inherit\] to [20px 20px 20px 20px black\] at (1.5) should be [rgb(0, 0, 0) 15px 25px 15px 25px\]] + expected: FAIL + + [CSS Animations: property <box-shadow> from [inherit\] to [20px 20px 20px 20px black\] at (-0.3) should be [rgb(0, 0, 0) 33px 7px 33px 7px\]] + expected: FAIL + + [CSS Animations: property <box-shadow> from [inherit\] to [20px 20px 20px 20px black\] at (0) should be [rgb(0, 0, 0) 30px 10px 30px 10px\]] + expected: FAIL + + [CSS Animations: property <box-shadow> from [inherit\] to [20px 20px 20px 20px black\] at (0.3) should be [rgb(0, 0, 0) 27px 13px 27px 13px\]] + expected: FAIL + + [CSS Animations: property <box-shadow> from [inherit\] to [20px 20px 20px 20px black\] at (0.6) should be [rgb(0, 0, 0) 24px 16px 24px 16px\]] + expected: FAIL + + [CSS Animations: property <box-shadow> from [inherit\] to [20px 20px 20px 20px black\] at (1) should be [rgb(0, 0, 0) 20px 20px 20px 20px\]] + expected: FAIL + + [CSS Animations: property <box-shadow> from [inherit\] to [20px 20px 20px 20px black\] at (1.5) should be [rgb(0, 0, 0) 15px 25px 15px 25px\]] + expected: FAIL + + [CSS Transitions: property <box-shadow> from [unset\] to [20px 20px 20px 20px black\] at (-0.3) should be [rgba(0, 0, 0, 0) -6px -6px 0px -6px\]] + expected: FAIL + + [CSS Transitions: property <box-shadow> from [unset\] to [20px 20px 20px 20px black\] at (0) should be [rgba(0, 0, 0, 0) 0px 0px 0px 0px\]] + expected: FAIL + + [CSS Transitions: property <box-shadow> from [unset\] to [20px 20px 20px 20px black\] at (0.3) should be [rgba(0, 0, 0, 0.3) 6px 6px 6px 6px\]] + expected: FAIL + + [CSS Transitions: property <box-shadow> from [unset\] to [20px 20px 20px 20px black\] at (0.6) should be [rgba(0, 0, 0, 0.6) 12px 12px 12px 12px\]] + expected: FAIL + + [CSS Transitions: property <box-shadow> from [unset\] to [20px 20px 20px 20px black\] at (1) should be [rgb(0, 0, 0) 20px 20px 20px 20px\]] + expected: FAIL + + [CSS Transitions: property <box-shadow> from [unset\] to [20px 20px 20px 20px black\] at (1.5) should be [rgb(0, 0, 0) 30px 30px 30px 30px\]] + expected: FAIL + + [CSS Transitions with transition: all: property <box-shadow> from [unset\] to [20px 20px 20px 20px black\] at (-0.3) should be [rgba(0, 0, 0, 0) -6px -6px 0px -6px\]] + expected: FAIL + + [CSS Transitions with transition: all: property <box-shadow> from [unset\] to [20px 20px 20px 20px black\] at (0) should be [rgba(0, 0, 0, 0) 0px 0px 0px 0px\]] + expected: FAIL + + [CSS Transitions with transition: all: property <box-shadow> from [unset\] to [20px 20px 20px 20px black\] at (0.3) should be [rgba(0, 0, 0, 0.3) 6px 6px 6px 6px\]] + expected: FAIL + + [CSS Transitions with transition: all: property <box-shadow> from [unset\] to [20px 20px 20px 20px black\] at (0.6) should be [rgba(0, 0, 0, 0.6) 12px 12px 12px 12px\]] + expected: FAIL + + [CSS Transitions with transition: all: property <box-shadow> from [unset\] to [20px 20px 20px 20px black\] at (1) should be [rgb(0, 0, 0) 20px 20px 20px 20px\]] + expected: FAIL + + [CSS Transitions with transition: all: property <box-shadow> from [unset\] to [20px 20px 20px 20px black\] at (1.5) should be [rgb(0, 0, 0) 30px 30px 30px 30px\]] + expected: FAIL + + [CSS Animations: property <box-shadow> from [unset\] to [20px 20px 20px 20px black\] at (-0.3) should be [rgba(0, 0, 0, 0) -6px -6px 0px -6px\]] + expected: FAIL + + [CSS Animations: property <box-shadow> from [unset\] to [20px 20px 20px 20px black\] at (0) should be [rgba(0, 0, 0, 0) 0px 0px 0px 0px\]] + expected: FAIL + + [CSS Animations: property <box-shadow> from [unset\] to [20px 20px 20px 20px black\] at (0.3) should be [rgba(0, 0, 0, 0.3) 6px 6px 6px 6px\]] + expected: FAIL + + [CSS Animations: property <box-shadow> from [unset\] to [20px 20px 20px 20px black\] at (0.6) should be [rgba(0, 0, 0, 0.6) 12px 12px 12px 12px\]] + expected: FAIL + + [CSS Animations: property <box-shadow> from [unset\] to [20px 20px 20px 20px black\] at (1) should be [rgb(0, 0, 0) 20px 20px 20px 20px\]] + expected: FAIL + + [CSS Animations: property <box-shadow> from [unset\] to [20px 20px 20px 20px black\] at (1.5) should be [rgb(0, 0, 0) 30px 30px 30px 30px\]] + expected: FAIL + + [CSS Transitions: property <box-shadow> from [15px 10px 5px 6px black\] to [-15px -10px 25px -4px orange\] at (-0.3) should be [rgb(0, 0, 0) 24px 16px 0px 9px\]] + expected: FAIL + + [CSS Transitions: property <box-shadow> from [15px 10px 5px 6px black\] to [-15px -10px 25px -4px orange\] at (0) should be [rgb(0, 0, 0) 15px 10px 5px 6px\]] + expected: FAIL + + [CSS Transitions: property <box-shadow> from [15px 10px 5px 6px black\] to [-15px -10px 25px -4px orange\] at (0.3) should be [rgb(77, 50, 0) 6px 4px 11px 3px\]] + expected: FAIL + + [CSS Transitions: property <box-shadow> from [15px 10px 5px 6px black\] to [-15px -10px 25px -4px orange\] at (0.6) should be [rgb(153, 99, 0) -3px -2px 17px 0px\]] + expected: FAIL + + [CSS Transitions: property <box-shadow> from [15px 10px 5px 6px black\] to [-15px -10px 25px -4px orange\] at (1) should be [rgb(255, 165, 0) -15px -10px 25px -4px\]] + expected: FAIL + + [CSS Transitions: property <box-shadow> from [15px 10px 5px 6px black\] to [-15px -10px 25px -4px orange\] at (1.5) should be [rgb(255, 248, 0) -30px -20px 35px -9px\]] + expected: FAIL + + [CSS Transitions with transition: all: property <box-shadow> from [15px 10px 5px 6px black\] to [-15px -10px 25px -4px orange\] at (-0.3) should be [rgb(0, 0, 0) 24px 16px 0px 9px\]] + expected: FAIL + + [CSS Transitions with transition: all: property <box-shadow> from [15px 10px 5px 6px black\] to [-15px -10px 25px -4px orange\] at (0) should be [rgb(0, 0, 0) 15px 10px 5px 6px\]] + expected: FAIL + + [CSS Transitions with transition: all: property <box-shadow> from [15px 10px 5px 6px black\] to [-15px -10px 25px -4px orange\] at (0.3) should be [rgb(77, 50, 0) 6px 4px 11px 3px\]] + expected: FAIL + + [CSS Transitions with transition: all: property <box-shadow> from [15px 10px 5px 6px black\] to [-15px -10px 25px -4px orange\] at (0.6) should be [rgb(153, 99, 0) -3px -2px 17px 0px\]] + expected: FAIL + + [CSS Transitions with transition: all: property <box-shadow> from [15px 10px 5px 6px black\] to [-15px -10px 25px -4px orange\] at (1) should be [rgb(255, 165, 0) -15px -10px 25px -4px\]] + expected: FAIL + + [CSS Transitions with transition: all: property <box-shadow> from [15px 10px 5px 6px black\] to [-15px -10px 25px -4px orange\] at (1.5) should be [rgb(255, 248, 0) -30px -20px 35px -9px\]] + expected: FAIL + + [CSS Animations: property <box-shadow> from [15px 10px 5px 6px black\] to [-15px -10px 25px -4px orange\] at (-0.3) should be [rgb(0, 0, 0) 24px 16px 0px 9px\]] + expected: FAIL + + [CSS Animations: property <box-shadow> from [15px 10px 5px 6px black\] to [-15px -10px 25px -4px orange\] at (0) should be [rgb(0, 0, 0) 15px 10px 5px 6px\]] + expected: FAIL + + [CSS Animations: property <box-shadow> from [15px 10px 5px 6px black\] to [-15px -10px 25px -4px orange\] at (0.3) should be [rgb(77, 50, 0) 6px 4px 11px 3px\]] + expected: FAIL + + [CSS Animations: property <box-shadow> from [15px 10px 5px 6px black\] to [-15px -10px 25px -4px orange\] at (0.6) should be [rgb(153, 99, 0) -3px -2px 17px 0px\]] + expected: FAIL + + [CSS Animations: property <box-shadow> from [15px 10px 5px 6px black\] to [-15px -10px 25px -4px orange\] at (1) should be [rgb(255, 165, 0) -15px -10px 25px -4px\]] + expected: FAIL + + [CSS Animations: property <box-shadow> from [15px 10px 5px 6px black\] to [-15px -10px 25px -4px orange\] at (1.5) should be [rgb(255, 248, 0) -30px -20px 35px -9px\]] + expected: FAIL + + [CSS Transitions: property <box-shadow> from [0px 0px 0px 0px black\] to [1px 1px 1px 1px black\] at (-0.3) should be [rgb(0, 0, 0) -0.3px -0.3px 0px -0.3px\]] + expected: FAIL + + [CSS Transitions: property <box-shadow> from [0px 0px 0px 0px black\] to [1px 1px 1px 1px black\] at (0) should be [rgb(0, 0, 0) 0px 0px 0px 0px\]] + expected: FAIL + + [CSS Transitions: property <box-shadow> from [0px 0px 0px 0px black\] to [1px 1px 1px 1px black\] at (0.3) should be [rgb(0, 0, 0) 0.3px 0.3px 0.3px 0.3px\]] + expected: FAIL + + [CSS Transitions: property <box-shadow> from [0px 0px 0px 0px black\] to [1px 1px 1px 1px black\] at (0.6) should be [rgb(0, 0, 0) 0.6px 0.6px 0.6px 0.6px\]] + expected: FAIL + + [CSS Transitions: property <box-shadow> from [0px 0px 0px 0px black\] to [1px 1px 1px 1px black\] at (1) should be [rgb(0, 0, 0) 1px 1px 1px 1px\]] + expected: FAIL + + [CSS Transitions: property <box-shadow> from [0px 0px 0px 0px black\] to [1px 1px 1px 1px black\] at (1.5) should be [rgb(0, 0, 0) 1.5px 1.5px 1.5px 1.5px\]] + expected: FAIL + + [CSS Transitions with transition: all: property <box-shadow> from [0px 0px 0px 0px black\] to [1px 1px 1px 1px black\] at (-0.3) should be [rgb(0, 0, 0) -0.3px -0.3px 0px -0.3px\]] + expected: FAIL + + [CSS Transitions with transition: all: property <box-shadow> from [0px 0px 0px 0px black\] to [1px 1px 1px 1px black\] at (0) should be [rgb(0, 0, 0) 0px 0px 0px 0px\]] + expected: FAIL + + [CSS Transitions with transition: all: property <box-shadow> from [0px 0px 0px 0px black\] to [1px 1px 1px 1px black\] at (0.3) should be [rgb(0, 0, 0) 0.3px 0.3px 0.3px 0.3px\]] + expected: FAIL + + [CSS Transitions with transition: all: property <box-shadow> from [0px 0px 0px 0px black\] to [1px 1px 1px 1px black\] at (0.6) should be [rgb(0, 0, 0) 0.6px 0.6px 0.6px 0.6px\]] + expected: FAIL + + [CSS Transitions with transition: all: property <box-shadow> from [0px 0px 0px 0px black\] to [1px 1px 1px 1px black\] at (1) should be [rgb(0, 0, 0) 1px 1px 1px 1px\]] + expected: FAIL + + [CSS Transitions with transition: all: property <box-shadow> from [0px 0px 0px 0px black\] to [1px 1px 1px 1px black\] at (1.5) should be [rgb(0, 0, 0) 1.5px 1.5px 1.5px 1.5px\]] + expected: FAIL + + [CSS Animations: property <box-shadow> from [0px 0px 0px 0px black\] to [1px 1px 1px 1px black\] at (-0.3) should be [rgb(0, 0, 0) -0.3px -0.3px 0px -0.3px\]] + expected: FAIL + + [CSS Animations: property <box-shadow> from [0px 0px 0px 0px black\] to [1px 1px 1px 1px black\] at (0) should be [rgb(0, 0, 0) 0px 0px 0px 0px\]] + expected: FAIL + + [CSS Animations: property <box-shadow> from [0px 0px 0px 0px black\] to [1px 1px 1px 1px black\] at (0.3) should be [rgb(0, 0, 0) 0.3px 0.3px 0.3px 0.3px\]] + expected: FAIL + + [CSS Animations: property <box-shadow> from [0px 0px 0px 0px black\] to [1px 1px 1px 1px black\] at (0.6) should be [rgb(0, 0, 0) 0.6px 0.6px 0.6px 0.6px\]] + expected: FAIL + + [CSS Animations: property <box-shadow> from [0px 0px 0px 0px black\] to [1px 1px 1px 1px black\] at (1) should be [rgb(0, 0, 0) 1px 1px 1px 1px\]] + expected: FAIL + + [CSS Animations: property <box-shadow> from [0px 0px 0px 0px black\] to [1px 1px 1px 1px black\] at (1.5) should be [rgb(0, 0, 0) 1.5px 1.5px 1.5px 1.5px\]] + expected: FAIL + + [CSS Transitions: property <box-shadow> from [black 15px 10px 5px 6px\] to [orange -15px -10px 25px -4px\] at (-0.3) should be [rgb(0, 0, 0) 24px 16px 0px 9px\]] + expected: FAIL + + [CSS Transitions: property <box-shadow> from [black 15px 10px 5px 6px\] to [orange -15px -10px 25px -4px\] at (0) should be [rgb(0, 0, 0) 15px 10px 5px 6px\]] + expected: FAIL + + [CSS Transitions: property <box-shadow> from [black 15px 10px 5px 6px\] to [orange -15px -10px 25px -4px\] at (0.3) should be [rgb(77, 50, 0) 6px 4px 11px 3px\]] + expected: FAIL + + [CSS Transitions: property <box-shadow> from [black 15px 10px 5px 6px\] to [orange -15px -10px 25px -4px\] at (0.6) should be [rgb(153, 99, 0) -3px -2px 17px 0px\]] + expected: FAIL + + [CSS Transitions: property <box-shadow> from [black 15px 10px 5px 6px\] to [orange -15px -10px 25px -4px\] at (1) should be [rgb(255, 165, 0) -15px -10px 25px -4px\]] + expected: FAIL + + [CSS Transitions: property <box-shadow> from [black 15px 10px 5px 6px\] to [orange -15px -10px 25px -4px\] at (1.5) should be [rgb(255, 248, 0) -30px -20px 35px -9px\]] + expected: FAIL + + [CSS Transitions with transition: all: property <box-shadow> from [black 15px 10px 5px 6px\] to [orange -15px -10px 25px -4px\] at (-0.3) should be [rgb(0, 0, 0) 24px 16px 0px 9px\]] + expected: FAIL + + [CSS Transitions with transition: all: property <box-shadow> from [black 15px 10px 5px 6px\] to [orange -15px -10px 25px -4px\] at (0) should be [rgb(0, 0, 0) 15px 10px 5px 6px\]] + expected: FAIL + + [CSS Transitions with transition: all: property <box-shadow> from [black 15px 10px 5px 6px\] to [orange -15px -10px 25px -4px\] at (0.3) should be [rgb(77, 50, 0) 6px 4px 11px 3px\]] + expected: FAIL + + [CSS Transitions with transition: all: property <box-shadow> from [black 15px 10px 5px 6px\] to [orange -15px -10px 25px -4px\] at (0.6) should be [rgb(153, 99, 0) -3px -2px 17px 0px\]] + expected: FAIL + + [CSS Transitions with transition: all: property <box-shadow> from [black 15px 10px 5px 6px\] to [orange -15px -10px 25px -4px\] at (1) should be [rgb(255, 165, 0) -15px -10px 25px -4px\]] + expected: FAIL + + [CSS Transitions with transition: all: property <box-shadow> from [black 15px 10px 5px 6px\] to [orange -15px -10px 25px -4px\] at (1.5) should be [rgb(255, 248, 0) -30px -20px 35px -9px\]] + expected: FAIL + + [CSS Animations: property <box-shadow> from [black 15px 10px 5px 6px\] to [orange -15px -10px 25px -4px\] at (-0.3) should be [rgb(0, 0, 0) 24px 16px 0px 9px\]] + expected: FAIL + + [CSS Animations: property <box-shadow> from [black 15px 10px 5px 6px\] to [orange -15px -10px 25px -4px\] at (0) should be [rgb(0, 0, 0) 15px 10px 5px 6px\]] + expected: FAIL + + [CSS Animations: property <box-shadow> from [black 15px 10px 5px 6px\] to [orange -15px -10px 25px -4px\] at (0.3) should be [rgb(77, 50, 0) 6px 4px 11px 3px\]] + expected: FAIL + + [CSS Animations: property <box-shadow> from [black 15px 10px 5px 6px\] to [orange -15px -10px 25px -4px\] at (0.6) should be [rgb(153, 99, 0) -3px -2px 17px 0px\]] + expected: FAIL + + [CSS Animations: property <box-shadow> from [black 15px 10px 5px 6px\] to [orange -15px -10px 25px -4px\] at (1) should be [rgb(255, 165, 0) -15px -10px 25px -4px\]] + expected: FAIL + + [CSS Animations: property <box-shadow> from [black 15px 10px 5px 6px\] to [orange -15px -10px 25px -4px\] at (1.5) should be [rgb(255, 248, 0) -30px -20px 35px -9px\]] + expected: FAIL + + [CSS Transitions: property <box-shadow> from [15px 10px 5px 6px black inset\] to [-15px -10px 25px -4px orange inset\] at (-0.3) should be [rgb(0, 0, 0) 24px 16px 0px 9px inset\]] + expected: FAIL + + [CSS Transitions: property <box-shadow> from [15px 10px 5px 6px black inset\] to [-15px -10px 25px -4px orange inset\] at (0) should be [rgb(0, 0, 0) 15px 10px 5px 6px inset\]] + expected: FAIL + + [CSS Transitions: property <box-shadow> from [15px 10px 5px 6px black inset\] to [-15px -10px 25px -4px orange inset\] at (0.3) should be [rgb(77, 50, 0) 6px 4px 11px 3px inset\]] + expected: FAIL + + [CSS Transitions: property <box-shadow> from [15px 10px 5px 6px black inset\] to [-15px -10px 25px -4px orange inset\] at (0.6) should be [rgb(153, 99, 0) -3px -2px 17px 0px inset\]] + expected: FAIL + + [CSS Transitions: property <box-shadow> from [15px 10px 5px 6px black inset\] to [-15px -10px 25px -4px orange inset\] at (1) should be [rgb(255, 165, 0) -15px -10px 25px -4px inset\]] + expected: FAIL + + [CSS Transitions: property <box-shadow> from [15px 10px 5px 6px black inset\] to [-15px -10px 25px -4px orange inset\] at (1.5) should be [rgb(255, 248, 0) -30px -20px 35px -9px inset\]] + expected: FAIL + + [CSS Transitions with transition: all: property <box-shadow> from [15px 10px 5px 6px black inset\] to [-15px -10px 25px -4px orange inset\] at (-0.3) should be [rgb(0, 0, 0) 24px 16px 0px 9px inset\]] + expected: FAIL + + [CSS Transitions with transition: all: property <box-shadow> from [15px 10px 5px 6px black inset\] to [-15px -10px 25px -4px orange inset\] at (0) should be [rgb(0, 0, 0) 15px 10px 5px 6px inset\]] + expected: FAIL + + [CSS Transitions with transition: all: property <box-shadow> from [15px 10px 5px 6px black inset\] to [-15px -10px 25px -4px orange inset\] at (0.3) should be [rgb(77, 50, 0) 6px 4px 11px 3px inset\]] + expected: FAIL + + [CSS Transitions with transition: all: property <box-shadow> from [15px 10px 5px 6px black inset\] to [-15px -10px 25px -4px orange inset\] at (0.6) should be [rgb(153, 99, 0) -3px -2px 17px 0px inset\]] + expected: FAIL + + [CSS Transitions with transition: all: property <box-shadow> from [15px 10px 5px 6px black inset\] to [-15px -10px 25px -4px orange inset\] at (1) should be [rgb(255, 165, 0) -15px -10px 25px -4px inset\]] + expected: FAIL + + [CSS Transitions with transition: all: property <box-shadow> from [15px 10px 5px 6px black inset\] to [-15px -10px 25px -4px orange inset\] at (1.5) should be [rgb(255, 248, 0) -30px -20px 35px -9px inset\]] + expected: FAIL + + [CSS Animations: property <box-shadow> from [15px 10px 5px 6px black inset\] to [-15px -10px 25px -4px orange inset\] at (-0.3) should be [rgb(0, 0, 0) 24px 16px 0px 9px inset\]] + expected: FAIL + + [CSS Animations: property <box-shadow> from [15px 10px 5px 6px black inset\] to [-15px -10px 25px -4px orange inset\] at (0) should be [rgb(0, 0, 0) 15px 10px 5px 6px inset\]] + expected: FAIL + + [CSS Animations: property <box-shadow> from [15px 10px 5px 6px black inset\] to [-15px -10px 25px -4px orange inset\] at (0.3) should be [rgb(77, 50, 0) 6px 4px 11px 3px inset\]] + expected: FAIL + + [CSS Animations: property <box-shadow> from [15px 10px 5px 6px black inset\] to [-15px -10px 25px -4px orange inset\] at (0.6) should be [rgb(153, 99, 0) -3px -2px 17px 0px inset\]] + expected: FAIL + + [CSS Animations: property <box-shadow> from [15px 10px 5px 6px black inset\] to [-15px -10px 25px -4px orange inset\] at (1) should be [rgb(255, 165, 0) -15px -10px 25px -4px inset\]] + expected: FAIL + + [CSS Animations: property <box-shadow> from [15px 10px 5px 6px black inset\] to [-15px -10px 25px -4px orange inset\] at (1.5) should be [rgb(255, 248, 0) -30px -20px 35px -9px inset\]] + expected: FAIL + + [CSS Transitions: property <box-shadow> from [15px 10px 5px 6px black\] to [-15px -10px 25px -4px\] at (-0.3) should be [rgb(0, 0, 0) 24px 16px 0px 9px\]] + expected: FAIL + + [CSS Transitions: property <box-shadow> from [15px 10px 5px 6px black\] to [-15px -10px 25px -4px\] at (0) should be [rgb(0, 0, 0) 15px 10px 5px 6px\]] + expected: FAIL + + [CSS Transitions: property <box-shadow> from [15px 10px 5px 6px black\] to [-15px -10px 25px -4px\] at (0.3) should be [rgb(0, 38, 0) 6px 4px 11px 3px\]] + expected: FAIL + + [CSS Transitions: property <box-shadow> from [15px 10px 5px 6px black\] to [-15px -10px 25px -4px\] at (0.6) should be [rgb(0, 77, 0) -3px -2px 17px 0px\]] + expected: FAIL + + [CSS Transitions: property <box-shadow> from [15px 10px 5px 6px black\] to [-15px -10px 25px -4px\] at (1) should be [rgb(0, 128, 0) -15px -10px 25px -4px\]] + expected: FAIL + + [CSS Transitions: property <box-shadow> from [15px 10px 5px 6px black\] to [-15px -10px 25px -4px\] at (1.5) should be [rgb(0, 192, 0) -30px -20px 35px -9px\]] + expected: FAIL + + [CSS Transitions with transition: all: property <box-shadow> from [15px 10px 5px 6px black\] to [-15px -10px 25px -4px\] at (-0.3) should be [rgb(0, 0, 0) 24px 16px 0px 9px\]] + expected: FAIL + + [CSS Transitions with transition: all: property <box-shadow> from [15px 10px 5px 6px black\] to [-15px -10px 25px -4px\] at (0) should be [rgb(0, 0, 0) 15px 10px 5px 6px\]] + expected: FAIL + + [CSS Transitions with transition: all: property <box-shadow> from [15px 10px 5px 6px black\] to [-15px -10px 25px -4px\] at (0.3) should be [rgb(0, 38, 0) 6px 4px 11px 3px\]] + expected: FAIL + + [CSS Transitions with transition: all: property <box-shadow> from [15px 10px 5px 6px black\] to [-15px -10px 25px -4px\] at (0.6) should be [rgb(0, 77, 0) -3px -2px 17px 0px\]] + expected: FAIL + + [CSS Transitions with transition: all: property <box-shadow> from [15px 10px 5px 6px black\] to [-15px -10px 25px -4px\] at (1) should be [rgb(0, 128, 0) -15px -10px 25px -4px\]] + expected: FAIL + + [CSS Transitions with transition: all: property <box-shadow> from [15px 10px 5px 6px black\] to [-15px -10px 25px -4px\] at (1.5) should be [rgb(0, 192, 0) -30px -20px 35px -9px\]] + expected: FAIL + + [CSS Animations: property <box-shadow> from [15px 10px 5px 6px black\] to [-15px -10px 25px -4px\] at (-0.3) should be [rgb(0, 0, 0) 24px 16px 0px 9px\]] + expected: FAIL + + [CSS Animations: property <box-shadow> from [15px 10px 5px 6px black\] to [-15px -10px 25px -4px\] at (0) should be [rgb(0, 0, 0) 15px 10px 5px 6px\]] + expected: FAIL + + [CSS Animations: property <box-shadow> from [15px 10px 5px 6px black\] to [-15px -10px 25px -4px\] at (0.3) should be [rgb(0, 38, 0) 6px 4px 11px 3px\]] + expected: FAIL + + [CSS Animations: property <box-shadow> from [15px 10px 5px 6px black\] to [-15px -10px 25px -4px\] at (0.6) should be [rgb(0, 77, 0) -3px -2px 17px 0px\]] + expected: FAIL + + [CSS Animations: property <box-shadow> from [15px 10px 5px 6px black\] to [-15px -10px 25px -4px\] at (1) should be [rgb(0, 128, 0) -15px -10px 25px -4px\]] + expected: FAIL + + [CSS Animations: property <box-shadow> from [15px 10px 5px 6px black\] to [-15px -10px 25px -4px\] at (1.5) should be [rgb(0, 192, 0) -30px -20px 35px -9px\]] + expected: FAIL + + [CSS Transitions: property <box-shadow> from [10px 10px 10px 10px black\] to [10px 10px 10px 10px currentColor\] at (-0.3) should be [rgb(0, 0, 0) 10px 10px 10px 10px\]] + expected: FAIL + + [CSS Transitions: property <box-shadow> from [10px 10px 10px 10px black\] to [10px 10px 10px 10px currentColor\] at (0) should be [rgb(0, 0, 0) 10px 10px 10px 10px\]] + expected: FAIL + + [CSS Transitions: property <box-shadow> from [10px 10px 10px 10px black\] to [10px 10px 10px 10px currentColor\] at (0.3) should be [rgb(0, 38, 0) 10px 10px 10px 10px\]] + expected: FAIL + + [CSS Transitions: property <box-shadow> from [10px 10px 10px 10px black\] to [10px 10px 10px 10px currentColor\] at (0.6) should be [rgb(0, 77, 0) 10px 10px 10px 10px\]] + expected: FAIL + + [CSS Transitions: property <box-shadow> from [10px 10px 10px 10px black\] to [10px 10px 10px 10px currentColor\] at (1) should be [rgb(0, 128, 0) 10px 10px 10px 10px\]] + expected: FAIL + + [CSS Transitions: property <box-shadow> from [10px 10px 10px 10px black\] to [10px 10px 10px 10px currentColor\] at (1.5) should be [rgb(0, 192, 0) 10px 10px 10px 10px\]] + expected: FAIL + + [CSS Transitions with transition: all: property <box-shadow> from [10px 10px 10px 10px black\] to [10px 10px 10px 10px currentColor\] at (-0.3) should be [rgb(0, 0, 0) 10px 10px 10px 10px\]] + expected: FAIL + + [CSS Transitions with transition: all: property <box-shadow> from [10px 10px 10px 10px black\] to [10px 10px 10px 10px currentColor\] at (0) should be [rgb(0, 0, 0) 10px 10px 10px 10px\]] + expected: FAIL + + [CSS Transitions with transition: all: property <box-shadow> from [10px 10px 10px 10px black\] to [10px 10px 10px 10px currentColor\] at (0.3) should be [rgb(0, 38, 0) 10px 10px 10px 10px\]] + expected: FAIL + + [CSS Transitions with transition: all: property <box-shadow> from [10px 10px 10px 10px black\] to [10px 10px 10px 10px currentColor\] at (0.6) should be [rgb(0, 77, 0) 10px 10px 10px 10px\]] + expected: FAIL + + [CSS Transitions with transition: all: property <box-shadow> from [10px 10px 10px 10px black\] to [10px 10px 10px 10px currentColor\] at (1) should be [rgb(0, 128, 0) 10px 10px 10px 10px\]] + expected: FAIL + + [CSS Transitions with transition: all: property <box-shadow> from [10px 10px 10px 10px black\] to [10px 10px 10px 10px currentColor\] at (1.5) should be [rgb(0, 192, 0) 10px 10px 10px 10px\]] + expected: FAIL + + [CSS Animations: property <box-shadow> from [10px 10px 10px 10px black\] to [10px 10px 10px 10px currentColor\] at (-0.3) should be [rgb(0, 0, 0) 10px 10px 10px 10px\]] + expected: FAIL + + [CSS Animations: property <box-shadow> from [10px 10px 10px 10px black\] to [10px 10px 10px 10px currentColor\] at (0) should be [rgb(0, 0, 0) 10px 10px 10px 10px\]] + expected: FAIL + + [CSS Animations: property <box-shadow> from [10px 10px 10px 10px black\] to [10px 10px 10px 10px currentColor\] at (0.3) should be [rgb(0, 38, 0) 10px 10px 10px 10px\]] + expected: FAIL + + [CSS Animations: property <box-shadow> from [10px 10px 10px 10px black\] to [10px 10px 10px 10px currentColor\] at (0.6) should be [rgb(0, 77, 0) 10px 10px 10px 10px\]] + expected: FAIL + + [CSS Animations: property <box-shadow> from [10px 10px 10px 10px black\] to [10px 10px 10px 10px currentColor\] at (1) should be [rgb(0, 128, 0) 10px 10px 10px 10px\]] + expected: FAIL + + [CSS Animations: property <box-shadow> from [10px 10px 10px 10px black\] to [10px 10px 10px 10px currentColor\] at (1.5) should be [rgb(0, 192, 0) 10px 10px 10px 10px\]] + expected: FAIL + + [CSS Transitions: property <box-shadow> from [10px 20px rgba(255, 255, 0, 0.5), inset 5px 10em #008000\] to [none\] at (-0.3) should be [rgba(255, 255, 0, 0.65) 13px 26px 0px 0px, rgb(0, 166, 0) 6.5px 39px 0px 0px inset\]] + expected: FAIL + + [CSS Transitions: property <box-shadow> from [10px 20px rgba(255, 255, 0, 0.5), inset 5px 10em #008000\] to [none\] at (0) should be [rgba(255, 255, 0, 0.5) 10px 20px 0px 0px, rgb(0, 128, 0) 5px 30px 0px 0px inset\]] + expected: FAIL + + [CSS Transitions: property <box-shadow> from [10px 20px rgba(255, 255, 0, 0.5), inset 5px 10em #008000\] to [none\] at (0.3) should be [rgba(255, 255, 0, 0.353) 7px 14px 0px 0px, rgba(0, 128, 0, 0.7) 3.5px 21px 0px 0px inset\]] + expected: FAIL + + [CSS Transitions: property <box-shadow> from [10px 20px rgba(255, 255, 0, 0.5), inset 5px 10em #008000\] to [none\] at (0.6) should be [rgba(255, 255, 0, 0.2) 4px 8px 0px 0px, rgba(0, 128, 0, 0.4) 2px 12px 0px 0px inset\]] + expected: FAIL + + [CSS Transitions: property <box-shadow> from [10px 20px rgba(255, 255, 0, 0.5), inset 5px 10em #008000\] to [none\] at (1) should be [rgba(0, 0, 0, 0) 0px 0px 0px 0px, rgba(0, 0, 0, 0) 0px 0px 0px 0px inset\]] + expected: FAIL + + [CSS Transitions: property <box-shadow> from [10px 20px rgba(255, 255, 0, 0.5), inset 5px 10em #008000\] to [none\] at (1.5) should be [rgba(0, 0, 0, 0) -5px -10px 0px 0px, rgba(0, 0, 0, 0) -2.5px -15px 0px 0px inset\]] + expected: FAIL + + [CSS Transitions with transition: all: property <box-shadow> from [10px 20px rgba(255, 255, 0, 0.5), inset 5px 10em #008000\] to [none\] at (-0.3) should be [rgba(255, 255, 0, 0.65) 13px 26px 0px 0px, rgb(0, 166, 0) 6.5px 39px 0px 0px inset\]] + expected: FAIL + + [CSS Transitions with transition: all: property <box-shadow> from [10px 20px rgba(255, 255, 0, 0.5), inset 5px 10em #008000\] to [none\] at (0) should be [rgba(255, 255, 0, 0.5) 10px 20px 0px 0px, rgb(0, 128, 0) 5px 30px 0px 0px inset\]] + expected: FAIL + + [CSS Transitions with transition: all: property <box-shadow> from [10px 20px rgba(255, 255, 0, 0.5), inset 5px 10em #008000\] to [none\] at (0.3) should be [rgba(255, 255, 0, 0.353) 7px 14px 0px 0px, rgba(0, 128, 0, 0.7) 3.5px 21px 0px 0px inset\]] + expected: FAIL + + [CSS Transitions with transition: all: property <box-shadow> from [10px 20px rgba(255, 255, 0, 0.5), inset 5px 10em #008000\] to [none\] at (0.6) should be [rgba(255, 255, 0, 0.2) 4px 8px 0px 0px, rgba(0, 128, 0, 0.4) 2px 12px 0px 0px inset\]] + expected: FAIL + + [CSS Transitions with transition: all: property <box-shadow> from [10px 20px rgba(255, 255, 0, 0.5), inset 5px 10em #008000\] to [none\] at (1) should be [rgba(0, 0, 0, 0) 0px 0px 0px 0px, rgba(0, 0, 0, 0) 0px 0px 0px 0px inset\]] + expected: FAIL + + [CSS Transitions with transition: all: property <box-shadow> from [10px 20px rgba(255, 255, 0, 0.5), inset 5px 10em #008000\] to [none\] at (1.5) should be [rgba(0, 0, 0, 0) -5px -10px 0px 0px, rgba(0, 0, 0, 0) -2.5px -15px 0px 0px inset\]] + expected: FAIL + + [CSS Animations: property <box-shadow> from [10px 20px rgba(255, 255, 0, 0.5), inset 5px 10em #008000\] to [none\] at (-0.3) should be [rgba(255, 255, 0, 0.65) 13px 26px 0px 0px, rgb(0, 166, 0) 6.5px 39px 0px 0px inset\]] + expected: FAIL + + [CSS Animations: property <box-shadow> from [10px 20px rgba(255, 255, 0, 0.5), inset 5px 10em #008000\] to [none\] at (0) should be [rgba(255, 255, 0, 0.5) 10px 20px 0px 0px, rgb(0, 128, 0) 5px 30px 0px 0px inset\]] + expected: FAIL + + [CSS Animations: property <box-shadow> from [10px 20px rgba(255, 255, 0, 0.5), inset 5px 10em #008000\] to [none\] at (0.3) should be [rgba(255, 255, 0, 0.353) 7px 14px 0px 0px, rgba(0, 128, 0, 0.7) 3.5px 21px 0px 0px inset\]] + expected: FAIL + + [CSS Animations: property <box-shadow> from [10px 20px rgba(255, 255, 0, 0.5), inset 5px 10em #008000\] to [none\] at (0.6) should be [rgba(255, 255, 0, 0.2) 4px 8px 0px 0px, rgba(0, 128, 0, 0.4) 2px 12px 0px 0px inset\]] + expected: FAIL + + [CSS Animations: property <box-shadow> from [10px 20px rgba(255, 255, 0, 0.5), inset 5px 10em #008000\] to [none\] at (1) should be [rgba(0, 0, 0, 0) 0px 0px 0px 0px, rgba(0, 0, 0, 0) 0px 0px 0px 0px inset\]] + expected: FAIL + + [CSS Animations: property <box-shadow> from [10px 20px rgba(255, 255, 0, 0.5), inset 5px 10em #008000\] to [none\] at (1.5) should be [rgba(0, 0, 0, 0) -5px -10px 0px 0px, rgba(0, 0, 0, 0) -2.5px -15px 0px 0px inset\]] + expected: FAIL + + [CSS Transitions: property <box-shadow> from [inset 0 0 0 0 black\] to [inset 0 0 0 calc(max(10em, 20px) / 2) black\] at (-0.3) should be [rgb(0, 0, 0) 0px 0px 0px -4.5px inset\]] + expected: FAIL + + [CSS Transitions: property <box-shadow> from [inset 0 0 0 0 black\] to [inset 0 0 0 calc(max(10em, 20px) / 2) black\] at (0) should be [rgb(0, 0, 0) 0px 0px 0px 0px inset\]] + expected: FAIL + + [CSS Transitions: property <box-shadow> from [inset 0 0 0 0 black\] to [inset 0 0 0 calc(max(10em, 20px) / 2) black\] at (0.3) should be [rgb(0, 0, 0) 0px 0px 0px 4.5px inset\]] + expected: FAIL + + [CSS Transitions: property <box-shadow> from [inset 0 0 0 0 black\] to [inset 0 0 0 calc(max(10em, 20px) / 2) black\] at (0.6) should be [rgb(0, 0, 0) 0px 0px 0px 9px inset\]] + expected: FAIL + + [CSS Transitions: property <box-shadow> from [inset 0 0 0 0 black\] to [inset 0 0 0 calc(max(10em, 20px) / 2) black\] at (1) should be [rgb(0, 0, 0) 0px 0px 0px 15px inset\]] + expected: FAIL + + [CSS Transitions: property <box-shadow> from [inset 0 0 0 0 black\] to [inset 0 0 0 calc(max(10em, 20px) / 2) black\] at (1.5) should be [rgb(0, 0, 0) 0px 0px 0px 22.5px inset\]] + expected: FAIL + + [CSS Transitions with transition: all: property <box-shadow> from [inset 0 0 0 0 black\] to [inset 0 0 0 calc(max(10em, 20px) / 2) black\] at (-0.3) should be [rgb(0, 0, 0) 0px 0px 0px -4.5px inset\]] + expected: FAIL + + [CSS Transitions with transition: all: property <box-shadow> from [inset 0 0 0 0 black\] to [inset 0 0 0 calc(max(10em, 20px) / 2) black\] at (0) should be [rgb(0, 0, 0) 0px 0px 0px 0px inset\]] + expected: FAIL + + [CSS Transitions with transition: all: property <box-shadow> from [inset 0 0 0 0 black\] to [inset 0 0 0 calc(max(10em, 20px) / 2) black\] at (0.3) should be [rgb(0, 0, 0) 0px 0px 0px 4.5px inset\]] + expected: FAIL + + [CSS Transitions with transition: all: property <box-shadow> from [inset 0 0 0 0 black\] to [inset 0 0 0 calc(max(10em, 20px) / 2) black\] at (0.6) should be [rgb(0, 0, 0) 0px 0px 0px 9px inset\]] + expected: FAIL + + [CSS Transitions with transition: all: property <box-shadow> from [inset 0 0 0 0 black\] to [inset 0 0 0 calc(max(10em, 20px) / 2) black\] at (1) should be [rgb(0, 0, 0) 0px 0px 0px 15px inset\]] + expected: FAIL + + [CSS Transitions with transition: all: property <box-shadow> from [inset 0 0 0 0 black\] to [inset 0 0 0 calc(max(10em, 20px) / 2) black\] at (1.5) should be [rgb(0, 0, 0) 0px 0px 0px 22.5px inset\]] + expected: FAIL + + [CSS Animations: property <box-shadow> from [inset 0 0 0 0 black\] to [inset 0 0 0 calc(max(10em, 20px) / 2) black\] at (-0.3) should be [rgb(0, 0, 0) 0px 0px 0px -4.5px inset\]] + expected: FAIL + + [CSS Animations: property <box-shadow> from [inset 0 0 0 0 black\] to [inset 0 0 0 calc(max(10em, 20px) / 2) black\] at (0) should be [rgb(0, 0, 0) 0px 0px 0px 0px inset\]] + expected: FAIL + + [CSS Animations: property <box-shadow> from [inset 0 0 0 0 black\] to [inset 0 0 0 calc(max(10em, 20px) / 2) black\] at (0.3) should be [rgb(0, 0, 0) 0px 0px 0px 4.5px inset\]] + expected: FAIL + + [CSS Animations: property <box-shadow> from [inset 0 0 0 0 black\] to [inset 0 0 0 calc(max(10em, 20px) / 2) black\] at (0.6) should be [rgb(0, 0, 0) 0px 0px 0px 9px inset\]] + expected: FAIL + + [CSS Animations: property <box-shadow> from [inset 0 0 0 0 black\] to [inset 0 0 0 calc(max(10em, 20px) / 2) black\] at (1) should be [rgb(0, 0, 0) 0px 0px 0px 15px inset\]] + expected: FAIL + + [CSS Animations: property <box-shadow> from [inset 0 0 0 0 black\] to [inset 0 0 0 calc(max(10em, 20px) / 2) black\] at (1.5) should be [rgb(0, 0, 0) 0px 0px 0px 22.5px inset\]] + expected: FAIL + + [CSS Transitions: property <box-shadow> from [10px 20px yellow, 5px 10px green\] to [inset 5px 10px green, 15px 20px blue\] at (-0.3) should be [10px 20px yellow, 5px 10px green\]] + expected: FAIL + + [CSS Transitions: property <box-shadow> from [10px 20px yellow, 5px 10px green\] to [inset 5px 10px green, 15px 20px blue\] at (0) should be [10px 20px yellow, 5px 10px green\]] + expected: FAIL + + [CSS Transitions: property <box-shadow> from [10px 20px yellow, 5px 10px green\] to [inset 5px 10px green, 15px 20px blue\] at (0.3) should be [10px 20px yellow, 5px 10px green\]] + expected: FAIL + + [CSS Transitions: property <box-shadow> from [10px 20px yellow, 5px 10px green\] to [inset 5px 10px green, 15px 20px blue\] at (0.5) should be [inset 5px 10px green, 15px 20px blue\]] + expected: FAIL + + [CSS Transitions: property <box-shadow> from [10px 20px yellow, 5px 10px green\] to [inset 5px 10px green, 15px 20px blue\] at (0.6) should be [inset 5px 10px green, 15px 20px blue\]] + expected: FAIL + + [CSS Transitions: property <box-shadow> from [10px 20px yellow, 5px 10px green\] to [inset 5px 10px green, 15px 20px blue\] at (1) should be [inset 5px 10px green, 15px 20px blue\]] + expected: FAIL + + [CSS Transitions: property <box-shadow> from [10px 20px yellow, 5px 10px green\] to [inset 5px 10px green, 15px 20px blue\] at (1.5) should be [inset 5px 10px green, 15px 20px blue\]] + expected: FAIL + + [CSS Transitions with transition: all: property <box-shadow> from [10px 20px yellow, 5px 10px green\] to [inset 5px 10px green, 15px 20px blue\] at (-0.3) should be [inset 5px 10px green, 15px 20px blue\]] + expected: FAIL + + [CSS Transitions with transition: all: property <box-shadow> from [10px 20px yellow, 5px 10px green\] to [inset 5px 10px green, 15px 20px blue\] at (0) should be [inset 5px 10px green, 15px 20px blue\]] + expected: FAIL + + [CSS Transitions with transition: all: property <box-shadow> from [10px 20px yellow, 5px 10px green\] to [inset 5px 10px green, 15px 20px blue\] at (0.3) should be [inset 5px 10px green, 15px 20px blue\]] + expected: FAIL + + [CSS Transitions with transition: all: property <box-shadow> from [10px 20px yellow, 5px 10px green\] to [inset 5px 10px green, 15px 20px blue\] at (0.5) should be [inset 5px 10px green, 15px 20px blue\]] + expected: FAIL + + [CSS Transitions with transition: all: property <box-shadow> from [10px 20px yellow, 5px 10px green\] to [inset 5px 10px green, 15px 20px blue\] at (0.6) should be [inset 5px 10px green, 15px 20px blue\]] + expected: FAIL + + [CSS Transitions with transition: all: property <box-shadow> from [10px 20px yellow, 5px 10px green\] to [inset 5px 10px green, 15px 20px blue\] at (1) should be [inset 5px 10px green, 15px 20px blue\]] + expected: FAIL + + [CSS Transitions with transition: all: property <box-shadow> from [10px 20px yellow, 5px 10px green\] to [inset 5px 10px green, 15px 20px blue\] at (1.5) should be [inset 5px 10px green, 15px 20px blue\]] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-backgrounds/animations/discrete-no-interpolation.html.ini b/tests/wpt/metadata-layout-2020/css/css-backgrounds/animations/discrete-no-interpolation.html.ini new file mode 100644 index 00000000000..efa7ef378ad --- /dev/null +++ b/tests/wpt/metadata-layout-2020/css/css-backgrounds/animations/discrete-no-interpolation.html.ini @@ -0,0 +1,288 @@ +[discrete-no-interpolation.html] + [CSS Transitions: property <background-attachment> from [initial\] to [fixed\] at (-0.3) should be [initial\]] + expected: FAIL + + [CSS Transitions: property <background-attachment> from [initial\] to [fixed\] at (0) should be [initial\]] + expected: FAIL + + [CSS Transitions: property <background-attachment> from [initial\] to [fixed\] at (0.3) should be [initial\]] + expected: FAIL + + [CSS Transitions: property <background-attachment> from [initial\] to [fixed\] at (0.5) should be [fixed\]] + expected: FAIL + + [CSS Transitions: property <background-attachment> from [initial\] to [fixed\] at (0.6) should be [fixed\]] + expected: FAIL + + [CSS Transitions: property <background-attachment> from [initial\] to [fixed\] at (1) should be [fixed\]] + expected: FAIL + + [CSS Transitions: property <background-attachment> from [initial\] to [fixed\] at (1.5) should be [fixed\]] + expected: FAIL + + [CSS Transitions with transition: all: property <background-attachment> from [initial\] to [fixed\] at (-0.3) should be [fixed\]] + expected: FAIL + + [CSS Transitions with transition: all: property <background-attachment> from [initial\] to [fixed\] at (0) should be [fixed\]] + expected: FAIL + + [CSS Transitions with transition: all: property <background-attachment> from [initial\] to [fixed\] at (0.3) should be [fixed\]] + expected: FAIL + + [CSS Transitions with transition: all: property <background-attachment> from [initial\] to [fixed\] at (0.5) should be [fixed\]] + expected: FAIL + + [CSS Transitions with transition: all: property <background-attachment> from [initial\] to [fixed\] at (0.6) should be [fixed\]] + expected: FAIL + + [CSS Transitions with transition: all: property <background-attachment> from [initial\] to [fixed\] at (1) should be [fixed\]] + expected: FAIL + + [CSS Transitions with transition: all: property <background-attachment> from [initial\] to [fixed\] at (1.5) should be [fixed\]] + expected: FAIL + + [CSS Animations: property <background-attachment> from [initial\] to [fixed\] at (-0.3) should be [initial\]] + expected: FAIL + + [CSS Animations: property <background-attachment> from [initial\] to [fixed\] at (0) should be [initial\]] + expected: FAIL + + [CSS Animations: property <background-attachment> from [initial\] to [fixed\] at (0.3) should be [initial\]] + expected: FAIL + + [CSS Animations: property <background-attachment> from [initial\] to [fixed\] at (0.5) should be [fixed\]] + expected: FAIL + + [CSS Animations: property <background-attachment> from [initial\] to [fixed\] at (0.6) should be [fixed\]] + expected: FAIL + + [CSS Animations: property <background-attachment> from [initial\] to [fixed\] at (1) should be [fixed\]] + expected: FAIL + + [CSS Animations: property <background-attachment> from [initial\] to [fixed\] at (1.5) should be [fixed\]] + expected: FAIL + + [Web Animations: property <background-attachment> from [initial\] to [fixed\] at (-0.3) should be [initial\]] + expected: FAIL + + [Web Animations: property <background-attachment> from [initial\] to [fixed\] at (0) should be [initial\]] + expected: FAIL + + [Web Animations: property <background-attachment> from [initial\] to [fixed\] at (0.3) should be [initial\]] + expected: FAIL + + [Web Animations: property <background-attachment> from [initial\] to [fixed\] at (0.5) should be [fixed\]] + expected: FAIL + + [Web Animations: property <background-attachment> from [initial\] to [fixed\] at (0.6) should be [fixed\]] + expected: FAIL + + [Web Animations: property <background-attachment> from [initial\] to [fixed\] at (1) should be [fixed\]] + expected: FAIL + + [Web Animations: property <background-attachment> from [initial\] to [fixed\] at (1.5) should be [fixed\]] + expected: FAIL + + [CSS Transitions: property <background-blend-mode> from [initial\] to [overlay\] at (-0.3) should be [initial\]] + expected: FAIL + + [CSS Transitions: property <background-blend-mode> from [initial\] to [overlay\] at (0) should be [initial\]] + expected: FAIL + + [CSS Transitions: property <background-blend-mode> from [initial\] to [overlay\] at (0.3) should be [initial\]] + expected: FAIL + + [CSS Transitions: property <background-blend-mode> from [initial\] to [overlay\] at (0.5) should be [overlay\]] + expected: FAIL + + [CSS Transitions: property <background-blend-mode> from [initial\] to [overlay\] at (0.6) should be [overlay\]] + expected: FAIL + + [CSS Transitions: property <background-blend-mode> from [initial\] to [overlay\] at (1) should be [overlay\]] + expected: FAIL + + [CSS Transitions: property <background-blend-mode> from [initial\] to [overlay\] at (1.5) should be [overlay\]] + expected: FAIL + + [CSS Transitions with transition: all: property <background-blend-mode> from [initial\] to [overlay\] at (-0.3) should be [overlay\]] + expected: FAIL + + [CSS Transitions with transition: all: property <background-blend-mode> from [initial\] to [overlay\] at (0) should be [overlay\]] + expected: FAIL + + [CSS Transitions with transition: all: property <background-blend-mode> from [initial\] to [overlay\] at (0.3) should be [overlay\]] + expected: FAIL + + [CSS Transitions with transition: all: property <background-blend-mode> from [initial\] to [overlay\] at (0.5) should be [overlay\]] + expected: FAIL + + [CSS Transitions with transition: all: property <background-blend-mode> from [initial\] to [overlay\] at (0.6) should be [overlay\]] + expected: FAIL + + [CSS Transitions with transition: all: property <background-blend-mode> from [initial\] to [overlay\] at (1) should be [overlay\]] + expected: FAIL + + [CSS Transitions with transition: all: property <background-blend-mode> from [initial\] to [overlay\] at (1.5) should be [overlay\]] + expected: FAIL + + [CSS Animations: property <background-blend-mode> from [initial\] to [overlay\] at (-0.3) should be [initial\]] + expected: FAIL + + [CSS Animations: property <background-blend-mode> from [initial\] to [overlay\] at (0) should be [initial\]] + expected: FAIL + + [CSS Animations: property <background-blend-mode> from [initial\] to [overlay\] at (0.3) should be [initial\]] + expected: FAIL + + [CSS Animations: property <background-blend-mode> from [initial\] to [overlay\] at (0.5) should be [overlay\]] + expected: FAIL + + [CSS Animations: property <background-blend-mode> from [initial\] to [overlay\] at (0.6) should be [overlay\]] + expected: FAIL + + [CSS Animations: property <background-blend-mode> from [initial\] to [overlay\] at (1) should be [overlay\]] + expected: FAIL + + [CSS Animations: property <background-blend-mode> from [initial\] to [overlay\] at (1.5) should be [overlay\]] + expected: FAIL + + [Web Animations: property <background-blend-mode> from [initial\] to [overlay\] at (-0.3) should be [initial\]] + expected: FAIL + + [Web Animations: property <background-blend-mode> from [initial\] to [overlay\] at (0) should be [initial\]] + expected: FAIL + + [Web Animations: property <background-blend-mode> from [initial\] to [overlay\] at (0.3) should be [initial\]] + expected: FAIL + + [Web Animations: property <background-blend-mode> from [initial\] to [overlay\] at (0.5) should be [overlay\]] + expected: FAIL + + [Web Animations: property <background-blend-mode> from [initial\] to [overlay\] at (0.6) should be [overlay\]] + expected: FAIL + + [Web Animations: property <background-blend-mode> from [initial\] to [overlay\] at (1) should be [overlay\]] + expected: FAIL + + [Web Animations: property <background-blend-mode> from [initial\] to [overlay\] at (1.5) should be [overlay\]] + expected: FAIL + + [CSS Transitions with transition: all: property <background-clip> from [initial\] to [content-box\] at (-0.3) should be [content-box\]] + expected: FAIL + + [CSS Transitions with transition: all: property <background-clip> from [initial\] to [content-box\] at (0) should be [content-box\]] + expected: FAIL + + [CSS Transitions with transition: all: property <background-clip> from [initial\] to [content-box\] at (0.3) should be [content-box\]] + expected: FAIL + + [Web Animations: property <background-clip> from [initial\] to [content-box\] at (-0.3) should be [initial\]] + expected: FAIL + + [Web Animations: property <background-clip> from [initial\] to [content-box\] at (0) should be [initial\]] + expected: FAIL + + [Web Animations: property <background-clip> from [initial\] to [content-box\] at (0.3) should be [initial\]] + expected: FAIL + + [Web Animations: property <background-clip> from [initial\] to [content-box\] at (0.5) should be [content-box\]] + expected: FAIL + + [Web Animations: property <background-clip> from [initial\] to [content-box\] at (0.6) should be [content-box\]] + expected: FAIL + + [Web Animations: property <background-clip> from [initial\] to [content-box\] at (1) should be [content-box\]] + expected: FAIL + + [Web Animations: property <background-clip> from [initial\] to [content-box\] at (1.5) should be [content-box\]] + expected: FAIL + + [CSS Transitions with transition: all: property <background-origin> from [initial\] to [border-box\] at (-0.3) should be [border-box\]] + expected: FAIL + + [CSS Transitions with transition: all: property <background-origin> from [initial\] to [border-box\] at (0) should be [border-box\]] + expected: FAIL + + [CSS Transitions with transition: all: property <background-origin> from [initial\] to [border-box\] at (0.3) should be [border-box\]] + expected: FAIL + + [Web Animations: property <background-origin> from [initial\] to [border-box\] at (-0.3) should be [initial\]] + expected: FAIL + + [Web Animations: property <background-origin> from [initial\] to [border-box\] at (0) should be [initial\]] + expected: FAIL + + [Web Animations: property <background-origin> from [initial\] to [border-box\] at (0.3) should be [initial\]] + expected: FAIL + + [Web Animations: property <background-origin> from [initial\] to [border-box\] at (0.5) should be [border-box\]] + expected: FAIL + + [Web Animations: property <background-origin> from [initial\] to [border-box\] at (0.6) should be [border-box\]] + expected: FAIL + + [Web Animations: property <background-origin> from [initial\] to [border-box\] at (1) should be [border-box\]] + expected: FAIL + + [Web Animations: property <background-origin> from [initial\] to [border-box\] at (1.5) should be [border-box\]] + expected: FAIL + + [CSS Transitions with transition: all: property <background-repeat> from [initial\] to [round\] at (-0.3) should be [round\]] + expected: FAIL + + [CSS Transitions with transition: all: property <background-repeat> from [initial\] to [round\] at (0) should be [round\]] + expected: FAIL + + [CSS Transitions with transition: all: property <background-repeat> from [initial\] to [round\] at (0.3) should be [round\]] + expected: FAIL + + [Web Animations: property <background-repeat> from [initial\] to [round\] at (-0.3) should be [initial\]] + expected: FAIL + + [Web Animations: property <background-repeat> from [initial\] to [round\] at (0) should be [initial\]] + expected: FAIL + + [Web Animations: property <background-repeat> from [initial\] to [round\] at (0.3) should be [initial\]] + expected: FAIL + + [Web Animations: property <background-repeat> from [initial\] to [round\] at (0.5) should be [round\]] + expected: FAIL + + [Web Animations: property <background-repeat> from [initial\] to [round\] at (0.6) should be [round\]] + expected: FAIL + + [Web Animations: property <background-repeat> from [initial\] to [round\] at (1) should be [round\]] + expected: FAIL + + [Web Animations: property <background-repeat> from [initial\] to [round\] at (1.5) should be [round\]] + expected: FAIL + + [CSS Transitions with transition: all: property <border-image-repeat> from [initial\] to [round\] at (-0.3) should be [round\]] + expected: FAIL + + [CSS Transitions with transition: all: property <border-image-repeat> from [initial\] to [round\] at (0) should be [round\]] + expected: FAIL + + [CSS Transitions with transition: all: property <border-image-repeat> from [initial\] to [round\] at (0.3) should be [round\]] + expected: FAIL + + [Web Animations: property <border-image-repeat> from [initial\] to [round\] at (-0.3) should be [initial\]] + expected: FAIL + + [Web Animations: property <border-image-repeat> from [initial\] to [round\] at (0) should be [initial\]] + expected: FAIL + + [Web Animations: property <border-image-repeat> from [initial\] to [round\] at (0.3) should be [initial\]] + expected: FAIL + + [Web Animations: property <border-image-repeat> from [initial\] to [round\] at (0.5) should be [round\]] + expected: FAIL + + [Web Animations: property <border-image-repeat> from [initial\] to [round\] at (0.6) should be [round\]] + expected: FAIL + + [Web Animations: property <border-image-repeat> from [initial\] to [round\] at (1) should be [round\]] + expected: FAIL + + [Web Animations: property <border-image-repeat> from [initial\] to [round\] at (1.5) should be [round\]] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-backgrounds/background-332.html.ini b/tests/wpt/metadata-layout-2020/css/css-backgrounds/background-332.html.ini index 96d6f191823..3a0a87372d9 100644 --- a/tests/wpt/metadata-layout-2020/css/css-backgrounds/background-332.html.ini +++ b/tests/wpt/metadata-layout-2020/css/css-backgrounds/background-332.html.ini @@ -1,3 +1,21 @@ [background-332.html] [background_specified_position] expected: FAIL + + [Computed value for background-image after setting background shorthand] + expected: FAIL + + [background_specified_size] + expected: FAIL + + [background_specified_repeat] + expected: FAIL + + [background_specified_attachment] + expected: FAIL + + [background_specified_origin] + expected: FAIL + + [background_specified_color] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-backgrounds/background-clip-content-box-002.html.ini b/tests/wpt/metadata-layout-2020/css/css-backgrounds/background-clip-content-box-002.html.ini new file mode 100644 index 00000000000..7420129ade6 --- /dev/null +++ b/tests/wpt/metadata-layout-2020/css/css-backgrounds/background-clip-content-box-002.html.ini @@ -0,0 +1,2 @@ +[background-clip-content-box-002.html] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-backgrounds/background-clip-padding-box-with-border-radius.html.ini b/tests/wpt/metadata-layout-2020/css/css-backgrounds/background-clip-padding-box-with-border-radius.html.ini new file mode 100644 index 00000000000..a0a99cae381 --- /dev/null +++ b/tests/wpt/metadata-layout-2020/css/css-backgrounds/background-clip-padding-box-with-border-radius.html.ini @@ -0,0 +1,2 @@ +[background-clip-padding-box-with-border-radius.html] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-backgrounds/border-image-repeat-repeat-001.html.ini b/tests/wpt/metadata-layout-2020/css/css-backgrounds/border-image-repeat-repeat-001.html.ini new file mode 100644 index 00000000000..bdc1d29468a --- /dev/null +++ b/tests/wpt/metadata-layout-2020/css/css-backgrounds/border-image-repeat-repeat-001.html.ini @@ -0,0 +1,2 @@ +[border-image-repeat-repeat-001.html] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-backgrounds/border-image-repeat-round-1.html.ini b/tests/wpt/metadata-layout-2020/css/css-backgrounds/border-image-repeat-round-1.html.ini new file mode 100644 index 00000000000..144db778e95 --- /dev/null +++ b/tests/wpt/metadata-layout-2020/css/css-backgrounds/border-image-repeat-round-1.html.ini @@ -0,0 +1,2 @@ +[border-image-repeat-round-1.html] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-backgrounds/border-image-repeat-round.html.ini b/tests/wpt/metadata-layout-2020/css/css-backgrounds/border-image-repeat-round.html.ini new file mode 100644 index 00000000000..aac90c7a8f1 --- /dev/null +++ b/tests/wpt/metadata-layout-2020/css/css-backgrounds/border-image-repeat-round.html.ini @@ -0,0 +1,2 @@ +[border-image-repeat-round.html] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-backgrounds/border-image-round-and-stretch.html.ini b/tests/wpt/metadata-layout-2020/css/css-backgrounds/border-image-round-and-stretch.html.ini new file mode 100644 index 00000000000..268234539bf --- /dev/null +++ b/tests/wpt/metadata-layout-2020/css/css-backgrounds/border-image-round-and-stretch.html.ini @@ -0,0 +1,2 @@ +[border-image-round-and-stretch.html] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-backgrounds/border-image-slice-fill-001.html.ini b/tests/wpt/metadata-layout-2020/css/css-backgrounds/border-image-slice-fill-001.html.ini new file mode 100644 index 00000000000..6fc15684d17 --- /dev/null +++ b/tests/wpt/metadata-layout-2020/css/css-backgrounds/border-image-slice-fill-001.html.ini @@ -0,0 +1,2 @@ +[border-image-slice-fill-001.html] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-backgrounds/border-image-slice-fill-002.html.ini b/tests/wpt/metadata-layout-2020/css/css-backgrounds/border-image-slice-fill-002.html.ini new file mode 100644 index 00000000000..3641d4be80e --- /dev/null +++ b/tests/wpt/metadata-layout-2020/css/css-backgrounds/border-image-slice-fill-002.html.ini @@ -0,0 +1,2 @@ +[border-image-slice-fill-002.html] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-backgrounds/border-image-slice-fill-003.html.ini b/tests/wpt/metadata-layout-2020/css/css-backgrounds/border-image-slice-fill-003.html.ini new file mode 100644 index 00000000000..2cad3348e02 --- /dev/null +++ b/tests/wpt/metadata-layout-2020/css/css-backgrounds/border-image-slice-fill-003.html.ini @@ -0,0 +1,2 @@ +[border-image-slice-fill-003.html] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-backgrounds/border-image-slice-percentage.html.ini b/tests/wpt/metadata-layout-2020/css/css-backgrounds/border-image-slice-percentage.html.ini new file mode 100644 index 00000000000..78336a6b171 --- /dev/null +++ b/tests/wpt/metadata-layout-2020/css/css-backgrounds/border-image-slice-percentage.html.ini @@ -0,0 +1,2 @@ +[border-image-slice-percentage.html] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-backgrounds/border-image-slice-shorthand-reset.html.ini b/tests/wpt/metadata-layout-2020/css/css-backgrounds/border-image-slice-shorthand-reset.html.ini index 4dcd19eb8a1..6ec3bccc2a6 100644 --- a/tests/wpt/metadata-layout-2020/css/css-backgrounds/border-image-slice-shorthand-reset.html.ini +++ b/tests/wpt/metadata-layout-2020/css/css-backgrounds/border-image-slice-shorthand-reset.html.ini @@ -1,4 +1,3 @@ [border-image-slice-shorthand-reset.html] [Check that the border-image shorthand resets border-image-slice to its initial value.] expected: FAIL - diff --git a/tests/wpt/metadata-layout-2020/css/css-backgrounds/border-image-width-009.html.ini b/tests/wpt/metadata-layout-2020/css/css-backgrounds/border-image-width-009.html.ini new file mode 100644 index 00000000000..7f9df96170b --- /dev/null +++ b/tests/wpt/metadata-layout-2020/css/css-backgrounds/border-image-width-009.html.ini @@ -0,0 +1,2 @@ +[border-image-width-009.html] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-backgrounds/border-image-width-should-extend-to-padding.html.ini b/tests/wpt/metadata-layout-2020/css/css-backgrounds/border-image-width-should-extend-to-padding.html.ini new file mode 100644 index 00000000000..20199e1d5bb --- /dev/null +++ b/tests/wpt/metadata-layout-2020/css/css-backgrounds/border-image-width-should-extend-to-padding.html.ini @@ -0,0 +1,2 @@ +[border-image-width-should-extend-to-padding.html] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-backgrounds/css-border-radius-001.html.ini b/tests/wpt/metadata-layout-2020/css/css-backgrounds/css-border-radius-001.html.ini deleted file mode 100644 index 109ddfb9a6b..00000000000 --- a/tests/wpt/metadata-layout-2020/css/css-backgrounds/css-border-radius-001.html.ini +++ /dev/null @@ -1,2 +0,0 @@ -[css-border-radius-001.html] - expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-backgrounds/inheritance.sub.html.ini b/tests/wpt/metadata-layout-2020/css/css-backgrounds/inheritance.sub.html.ini index 4295b583738..a9a99a512ec 100644 --- a/tests/wpt/metadata-layout-2020/css/css-backgrounds/inheritance.sub.html.ini +++ b/tests/wpt/metadata-layout-2020/css/css-backgrounds/inheritance.sub.html.ini @@ -1,2 +1,27 @@ [inheritance.sub.html] - expected: ERROR + [Property background-attachment does not inherit] + expected: FAIL + + [Property background-position has initial value 0% 0%] + expected: FAIL + + [Property background-position does not inherit] + expected: FAIL + + [Property border-bottom-width has initial value undefined] + expected: FAIL + + [Property border-left-width has initial value undefined] + expected: FAIL + + [Property border-right-width has initial value undefined] + expected: FAIL + + [Property border-top-width has initial value undefined] + expected: FAIL + + [Property box-shadow has initial value none] + expected: FAIL + + [Property box-shadow does not inherit] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-backgrounds/parsing/background-attachment-computed.html.ini b/tests/wpt/metadata-layout-2020/css/css-backgrounds/parsing/background-attachment-computed.html.ini index 6d4bac68d71..d0c6506cf35 100644 --- a/tests/wpt/metadata-layout-2020/css/css-backgrounds/parsing/background-attachment-computed.html.ini +++ b/tests/wpt/metadata-layout-2020/css/css-backgrounds/parsing/background-attachment-computed.html.ini @@ -4,4 +4,3 @@ [Property background-attachment value 'scroll, fixed, local'] expected: FAIL - diff --git a/tests/wpt/metadata-layout-2020/css/css-backgrounds/parsing/background-attachment-valid.html.ini b/tests/wpt/metadata-layout-2020/css/css-backgrounds/parsing/background-attachment-valid.html.ini index 4757319428e..2d320e3084c 100644 --- a/tests/wpt/metadata-layout-2020/css/css-backgrounds/parsing/background-attachment-valid.html.ini +++ b/tests/wpt/metadata-layout-2020/css/css-backgrounds/parsing/background-attachment-valid.html.ini @@ -4,4 +4,3 @@ [e.style['background-attachment'\] = "fixed" should set the property value] expected: FAIL - diff --git a/tests/wpt/metadata-layout-2020/css/css-backgrounds/parsing/border-image-shorthand.sub.html.ini b/tests/wpt/metadata-layout-2020/css/css-backgrounds/parsing/border-image-shorthand.sub.html.ini index e7af0185938..efdfc414745 100644 --- a/tests/wpt/metadata-layout-2020/css/css-backgrounds/parsing/border-image-shorthand.sub.html.ini +++ b/tests/wpt/metadata-layout-2020/css/css-backgrounds/parsing/border-image-shorthand.sub.html.ini @@ -88,4 +88,3 @@ [e.style['border-image'\] = "url(\\"http://web-platform.test/\\") 1 2 3 4 fill" should set border-image-slice] expected: FAIL - diff --git a/tests/wpt/metadata-layout-2020/css/css-backgrounds/parsing/border-image-valid.html.ini b/tests/wpt/metadata-layout-2020/css/css-backgrounds/parsing/border-image-valid.html.ini index 80361a5de02..82ccc5c7358 100644 --- a/tests/wpt/metadata-layout-2020/css/css-backgrounds/parsing/border-image-valid.html.ini +++ b/tests/wpt/metadata-layout-2020/css/css-backgrounds/parsing/border-image-valid.html.ini @@ -88,4 +88,3 @@ [e.style['border-image'\] = "stretch" should set the property value] expected: FAIL - diff --git a/tests/wpt/metadata-layout-2020/css/css-backgrounds/parsing/box-shadow-computed.html.ini b/tests/wpt/metadata-layout-2020/css/css-backgrounds/parsing/box-shadow-computed.html.ini index 7b09c0725b7..d250cdd7fb2 100644 --- a/tests/wpt/metadata-layout-2020/css/css-backgrounds/parsing/box-shadow-computed.html.ini +++ b/tests/wpt/metadata-layout-2020/css/css-backgrounds/parsing/box-shadow-computed.html.ini @@ -10,4 +10,3 @@ [Property box-shadow value 'rgb(0, 255, 0) 1px 2px 3px 4px inset'] expected: FAIL - diff --git a/tests/wpt/metadata-layout-2020/css/css-backgrounds/parsing/box-shadow-valid.html.ini b/tests/wpt/metadata-layout-2020/css/css-backgrounds/parsing/box-shadow-valid.html.ini index 71ca39b00f8..aebcdd0dfb6 100644 --- a/tests/wpt/metadata-layout-2020/css/css-backgrounds/parsing/box-shadow-valid.html.ini +++ b/tests/wpt/metadata-layout-2020/css/css-backgrounds/parsing/box-shadow-valid.html.ini @@ -112,4 +112,3 @@ [e.style['box-shadow'\] = "green 4px -4px 0 0 inset" should set the property value] expected: FAIL - diff --git a/tests/wpt/metadata-layout-2020/css/css-color/animation/opacity-animation-ending-correctly-001.html.ini b/tests/wpt/metadata-layout-2020/css/css-color/animation/opacity-animation-ending-correctly-001.html.ini deleted file mode 100644 index 304b1579ca4..00000000000 --- a/tests/wpt/metadata-layout-2020/css/css-color/animation/opacity-animation-ending-correctly-001.html.ini +++ /dev/null @@ -1,2 +0,0 @@ -[opacity-animation-ending-correctly-001.html] - expected: TIMEOUT diff --git a/tests/wpt/metadata-layout-2020/css/css-color/canvas-change-opacity.html.ini b/tests/wpt/metadata-layout-2020/css/css-color/canvas-change-opacity.html.ini deleted file mode 100644 index 1351702c8fe..00000000000 --- a/tests/wpt/metadata-layout-2020/css/css-color/canvas-change-opacity.html.ini +++ /dev/null @@ -1,2 +0,0 @@ -[canvas-change-opacity.html] - expected: TIMEOUT diff --git a/tests/wpt/metadata-layout-2020/css/css-color/t32-opacity-basic-0.6-a.xht.ini b/tests/wpt/metadata-layout-2020/css/css-color/t32-opacity-basic-0.6-a.xht.ini deleted file mode 100644 index 4c252ef57be..00000000000 --- a/tests/wpt/metadata-layout-2020/css/css-color/t32-opacity-basic-0.6-a.xht.ini +++ /dev/null @@ -1,2 +0,0 @@ -[t32-opacity-basic-0.6-a.xht] - expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-conditional/at-supports-namespace-001.html.ini b/tests/wpt/metadata-layout-2020/css/css-conditional/at-supports-namespace-001.html.ini deleted file mode 100644 index 72d1a736a6b..00000000000 --- a/tests/wpt/metadata-layout-2020/css/css-conditional/at-supports-namespace-001.html.ini +++ /dev/null @@ -1,2 +0,0 @@ -[at-supports-namespace-001.html] - expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-flexbox/abspos/flex-abspos-staticpos-align-self-001.html.ini b/tests/wpt/metadata-layout-2020/css/css-flexbox/abspos/flex-abspos-staticpos-align-self-001.html.ini index 3b9412aee4e..9f15e63c8d9 100644 --- a/tests/wpt/metadata-layout-2020/css/css-flexbox/abspos/flex-abspos-staticpos-align-self-001.html.ini +++ b/tests/wpt/metadata-layout-2020/css/css-flexbox/abspos/flex-abspos-staticpos-align-self-001.html.ini @@ -2,71 +2,35 @@ [.container > div 1] expected: FAIL - [.container > div 2] - expected: FAIL - - [.container > div 3] - expected: FAIL - - [.container > div 4] - expected: FAIL - [.container > div 5] expected: FAIL [.container > div 6] expected: FAIL - [.container > div 7] - expected: FAIL - [.container > div 8] expected: FAIL - [.container > div 9] - expected: FAIL - [.container > div 10] expected: FAIL - [.container > div 11] - expected: FAIL - [.container > div 12] expected: FAIL [.container > div 13] expected: FAIL - [.container > div 14] - expected: FAIL - - [.container > div 15] - expected: FAIL - - [.container > div 16] - expected: FAIL - [.container > div 17] expected: FAIL [.container > div 18] expected: FAIL - [.container > div 19] - expected: FAIL - [.container > div 20] expected: FAIL - [.container > div 21] - expected: FAIL - [.container > div 22] expected: FAIL - [.container > div 23] - expected: FAIL - [.container > div 24] expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-flexbox/abspos/flex-abspos-staticpos-align-self-002.html.ini b/tests/wpt/metadata-layout-2020/css/css-flexbox/abspos/flex-abspos-staticpos-align-self-002.html.ini index 6721e255c9e..6de34f368f1 100644 --- a/tests/wpt/metadata-layout-2020/css/css-flexbox/abspos/flex-abspos-staticpos-align-self-002.html.ini +++ b/tests/wpt/metadata-layout-2020/css/css-flexbox/abspos/flex-abspos-staticpos-align-self-002.html.ini @@ -8,33 +8,21 @@ [.container > div 3] expected: FAIL - [.container > div 4] - expected: FAIL - [.container > div 5] expected: FAIL [.container > div 6] expected: FAIL - [.container > div 7] - expected: FAIL - [.container > div 8] expected: FAIL - [.container > div 9] - expected: FAIL - [.container > div 10] expected: FAIL [.container > div 11] expected: FAIL - [.container > div 12] - expected: FAIL - [.container > div 13] expected: FAIL @@ -44,29 +32,17 @@ [.container > div 15] expected: FAIL - [.container > div 16] - expected: FAIL - [.container > div 17] expected: FAIL [.container > div 18] expected: FAIL - [.container > div 19] - expected: FAIL - [.container > div 20] expected: FAIL - [.container > div 21] - expected: FAIL - [.container > div 22] expected: FAIL [.container > div 23] expected: FAIL - - [.container > div 24] - expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-flexbox/abspos/flex-abspos-staticpos-align-self-005.html.ini b/tests/wpt/metadata-layout-2020/css/css-flexbox/abspos/flex-abspos-staticpos-align-self-005.html.ini index 3ad48f8a6e8..f23bdda21e3 100644 --- a/tests/wpt/metadata-layout-2020/css/css-flexbox/abspos/flex-abspos-staticpos-align-self-005.html.ini +++ b/tests/wpt/metadata-layout-2020/css/css-flexbox/abspos/flex-abspos-staticpos-align-self-005.html.ini @@ -2,71 +2,35 @@ [.container > div 1] expected: FAIL - [.container > div 2] - expected: FAIL - - [.container > div 3] - expected: FAIL - - [.container > div 4] - expected: FAIL - [.container > div 5] expected: FAIL [.container > div 6] expected: FAIL - [.container > div 7] - expected: FAIL - [.container > div 8] expected: FAIL - [.container > div 9] - expected: FAIL - [.container > div 10] expected: FAIL - [.container > div 11] - expected: FAIL - [.container > div 12] expected: FAIL [.container > div 13] expected: FAIL - [.container > div 14] - expected: FAIL - - [.container > div 15] - expected: FAIL - - [.container > div 16] - expected: FAIL - [.container > div 17] expected: FAIL [.container > div 18] expected: FAIL - [.container > div 19] - expected: FAIL - [.container > div 20] expected: FAIL - [.container > div 21] - expected: FAIL - [.container > div 22] expected: FAIL - [.container > div 23] - expected: FAIL - [.container > div 24] expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-flexbox/abspos/flex-abspos-staticpos-align-self-006.html.ini b/tests/wpt/metadata-layout-2020/css/css-flexbox/abspos/flex-abspos-staticpos-align-self-006.html.ini index 1a9e5126aa7..4f09d72fc23 100644 --- a/tests/wpt/metadata-layout-2020/css/css-flexbox/abspos/flex-abspos-staticpos-align-self-006.html.ini +++ b/tests/wpt/metadata-layout-2020/css/css-flexbox/abspos/flex-abspos-staticpos-align-self-006.html.ini @@ -8,33 +8,21 @@ [.container > div 3] expected: FAIL - [.container > div 4] - expected: FAIL - [.container > div 5] expected: FAIL [.container > div 6] expected: FAIL - [.container > div 7] - expected: FAIL - [.container > div 8] expected: FAIL - [.container > div 9] - expected: FAIL - [.container > div 10] expected: FAIL [.container > div 11] expected: FAIL - [.container > div 12] - expected: FAIL - [.container > div 13] expected: FAIL @@ -44,29 +32,17 @@ [.container > div 15] expected: FAIL - [.container > div 16] - expected: FAIL - [.container > div 17] expected: FAIL [.container > div 18] expected: FAIL - [.container > div 19] - expected: FAIL - [.container > div 20] expected: FAIL - [.container > div 21] - expected: FAIL - [.container > div 22] expected: FAIL [.container > div 23] expected: FAIL - - [.container > div 24] - expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-flexbox/abspos/flex-abspos-staticpos-align-self-rtl-003.html.ini b/tests/wpt/metadata-layout-2020/css/css-flexbox/abspos/flex-abspos-staticpos-align-self-rtl-003.html.ini index 2c8064a9fd5..0fcdd177ed0 100644 --- a/tests/wpt/metadata-layout-2020/css/css-flexbox/abspos/flex-abspos-staticpos-align-self-rtl-003.html.ini +++ b/tests/wpt/metadata-layout-2020/css/css-flexbox/abspos/flex-abspos-staticpos-align-self-rtl-003.html.ini @@ -11,30 +11,18 @@ [.container > div 4] expected: FAIL - [.container > div 5] - expected: FAIL - [.container > div 6] expected: FAIL [.container > div 7] expected: FAIL - [.container > div 8] - expected: FAIL - [.container > div 9] expected: FAIL - [.container > div 10] - expected: FAIL - [.container > div 11] expected: FAIL - [.container > div 12] - expected: FAIL - [.container > div 13] expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-flexbox/abspos/flex-abspos-staticpos-align-self-rtl-004.html.ini b/tests/wpt/metadata-layout-2020/css/css-flexbox/abspos/flex-abspos-staticpos-align-self-rtl-004.html.ini index ea1af7f42d5..1e0f35df40f 100644 --- a/tests/wpt/metadata-layout-2020/css/css-flexbox/abspos/flex-abspos-staticpos-align-self-rtl-004.html.ini +++ b/tests/wpt/metadata-layout-2020/css/css-flexbox/abspos/flex-abspos-staticpos-align-self-rtl-004.html.ini @@ -11,30 +11,18 @@ [.container > div 4] expected: FAIL - [.container > div 5] - expected: FAIL - [.container > div 6] expected: FAIL [.container > div 7] expected: FAIL - [.container > div 8] - expected: FAIL - - [.container > div 9] - expected: FAIL - [.container > div 10] expected: FAIL [.container > div 11] expected: FAIL - [.container > div 12] - expected: FAIL - [.container > div 13] expected: FAIL @@ -47,26 +35,14 @@ [.container > div 16] expected: FAIL - [.container > div 17] - expected: FAIL - [.container > div 18] expected: FAIL [.container > div 19] expected: FAIL - [.container > div 20] - expected: FAIL - - [.container > div 21] - expected: FAIL - [.container > div 22] expected: FAIL [.container > div 23] expected: FAIL - - [.container > div 24] - expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-flexbox/abspos/flex-abspos-staticpos-align-self-vertWM-001.html.ini b/tests/wpt/metadata-layout-2020/css/css-flexbox/abspos/flex-abspos-staticpos-align-self-vertWM-001.html.ini index 5501325e528..5e9407d901d 100644 --- a/tests/wpt/metadata-layout-2020/css/css-flexbox/abspos/flex-abspos-staticpos-align-self-vertWM-001.html.ini +++ b/tests/wpt/metadata-layout-2020/css/css-flexbox/abspos/flex-abspos-staticpos-align-self-vertWM-001.html.ini @@ -11,30 +11,18 @@ [.container > div 4] expected: FAIL - [.container > div 5] - expected: FAIL - [.container > div 6] expected: FAIL [.container > div 7] expected: FAIL - [.container > div 8] - expected: FAIL - [.container > div 9] expected: FAIL - [.container > div 10] - expected: FAIL - [.container > div 11] expected: FAIL - [.container > div 12] - expected: FAIL - [.container > div 13] expected: FAIL @@ -53,30 +41,18 @@ [.container > div 18] expected: FAIL - [.container > div 19] - expected: FAIL - [.container > div 20] expected: FAIL [.container > div 21] expected: FAIL - [.container > div 22] - expected: FAIL - [.container > div 23] expected: FAIL - [.container > div 24] - expected: FAIL - [.container > div 25] expected: FAIL - [.container > div 26] - expected: FAIL - [.container > div 27] expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-flexbox/abspos/flex-abspos-staticpos-align-self-vertWM-002.html.ini b/tests/wpt/metadata-layout-2020/css/css-flexbox/abspos/flex-abspos-staticpos-align-self-vertWM-002.html.ini index 10df19c224b..23d4519fbcc 100644 --- a/tests/wpt/metadata-layout-2020/css/css-flexbox/abspos/flex-abspos-staticpos-align-self-vertWM-002.html.ini +++ b/tests/wpt/metadata-layout-2020/css/css-flexbox/abspos/flex-abspos-staticpos-align-self-vertWM-002.html.ini @@ -11,30 +11,18 @@ [.container > div 4] expected: FAIL - [.container > div 5] - expected: FAIL - [.container > div 6] expected: FAIL [.container > div 7] expected: FAIL - [.container > div 8] - expected: FAIL - - [.container > div 9] - expected: FAIL - [.container > div 10] expected: FAIL [.container > div 11] expected: FAIL - [.container > div 12] - expected: FAIL - [.container > div 13] expected: FAIL @@ -53,30 +41,18 @@ [.container > div 18] expected: FAIL - [.container > div 19] - expected: FAIL - [.container > div 20] expected: FAIL [.container > div 21] expected: FAIL - [.container > div 22] - expected: FAIL - - [.container > div 23] - expected: FAIL - [.container > div 24] expected: FAIL [.container > div 25] expected: FAIL - [.container > div 26] - expected: FAIL - [.container > div 27] expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-flexbox/abspos/flex-abspos-staticpos-justify-content-001.html.ini b/tests/wpt/metadata-layout-2020/css/css-flexbox/abspos/flex-abspos-staticpos-justify-content-001.html.ini index 77b9284a268..a8b41b96e70 100644 --- a/tests/wpt/metadata-layout-2020/css/css-flexbox/abspos/flex-abspos-staticpos-justify-content-001.html.ini +++ b/tests/wpt/metadata-layout-2020/css/css-flexbox/abspos/flex-abspos-staticpos-justify-content-001.html.ini @@ -1,72 +1,36 @@ [flex-abspos-staticpos-justify-content-001.html] - [.container > div 1] - expected: FAIL - - [.container > div 2] - expected: FAIL - [.container > div 3] expected: FAIL [.container > div 4] expected: FAIL - [.container > div 5] - expected: FAIL - [.container > div 6] expected: FAIL - [.container > div 7] - expected: FAIL - [.container > div 8] expected: FAIL - [.container > div 9] - expected: FAIL - [.container > div 10] expected: FAIL - [.container > div 11] - expected: FAIL - [.container > div 12] expected: FAIL - [.container > div 13] - expected: FAIL - - [.container > div 14] - expected: FAIL - [.container > div 15] expected: FAIL [.container > div 16] expected: FAIL - [.container > div 17] - expected: FAIL - [.container > div 18] expected: FAIL - [.container > div 19] - expected: FAIL - [.container > div 20] expected: FAIL - [.container > div 21] - expected: FAIL - [.container > div 22] expected: FAIL - [.container > div 23] - expected: FAIL - [.container > div 24] expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-flexbox/abspos/flex-abspos-staticpos-justify-content-003.html.ini b/tests/wpt/metadata-layout-2020/css/css-flexbox/abspos/flex-abspos-staticpos-justify-content-003.html.ini index 3e6553f5bd3..04e162cafaf 100644 --- a/tests/wpt/metadata-layout-2020/css/css-flexbox/abspos/flex-abspos-staticpos-justify-content-003.html.ini +++ b/tests/wpt/metadata-layout-2020/css/css-flexbox/abspos/flex-abspos-staticpos-justify-content-003.html.ini @@ -17,21 +17,12 @@ [.container > div 6] expected: FAIL - [.container > div 7] - expected: FAIL - [.container > div 8] expected: FAIL [.container > div 9] expected: FAIL - [.container > div 10] - expected: FAIL - - [.container > div 11] - expected: FAIL - [.container > div 12] expected: FAIL @@ -53,20 +44,11 @@ [.container > div 18] expected: FAIL - [.container > div 19] - expected: FAIL - [.container > div 20] expected: FAIL [.container > div 21] expected: FAIL - [.container > div 22] - expected: FAIL - - [.container > div 23] - expected: FAIL - [.container > div 24] expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-flexbox/abspos/flex-abspos-staticpos-justify-content-005.html.ini b/tests/wpt/metadata-layout-2020/css/css-flexbox/abspos/flex-abspos-staticpos-justify-content-005.html.ini index 47a1e271f4f..46ba3268235 100644 --- a/tests/wpt/metadata-layout-2020/css/css-flexbox/abspos/flex-abspos-staticpos-justify-content-005.html.ini +++ b/tests/wpt/metadata-layout-2020/css/css-flexbox/abspos/flex-abspos-staticpos-justify-content-005.html.ini @@ -1,72 +1,30 @@ [flex-abspos-staticpos-justify-content-005.html] - [.container > div 1] - expected: FAIL - - [.container > div 2] - expected: FAIL - [.container > div 3] expected: FAIL [.container > div 4] expected: FAIL - [.container > div 5] - expected: FAIL - [.container > div 6] expected: FAIL - [.container > div 7] - expected: FAIL - [.container > div 8] expected: FAIL - [.container > div 9] - expected: FAIL - [.container > div 10] expected: FAIL - [.container > div 11] - expected: FAIL - - [.container > div 12] - expected: FAIL - - [.container > div 13] - expected: FAIL - - [.container > div 14] - expected: FAIL - [.container > div 15] expected: FAIL [.container > div 16] expected: FAIL - [.container > div 17] - expected: FAIL - [.container > div 18] expected: FAIL - [.container > div 19] - expected: FAIL - [.container > div 20] expected: FAIL - [.container > div 21] - expected: FAIL - [.container > div 22] expected: FAIL - - [.container > div 23] - expected: FAIL - - [.container > div 24] - expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-flexbox/abspos/flex-abspos-staticpos-justify-content-007.html.ini b/tests/wpt/metadata-layout-2020/css/css-flexbox/abspos/flex-abspos-staticpos-justify-content-007.html.ini index 216196d25cf..0c925cc8c38 100644 --- a/tests/wpt/metadata-layout-2020/css/css-flexbox/abspos/flex-abspos-staticpos-justify-content-007.html.ini +++ b/tests/wpt/metadata-layout-2020/css/css-flexbox/abspos/flex-abspos-staticpos-justify-content-007.html.ini @@ -17,24 +17,12 @@ [.container > div 6] expected: FAIL - [.container > div 7] - expected: FAIL - [.container > div 8] expected: FAIL [.container > div 9] expected: FAIL - [.container > div 10] - expected: FAIL - - [.container > div 11] - expected: FAIL - - [.container > div 12] - expected: FAIL - [.container > div 13] expected: FAIL @@ -53,20 +41,8 @@ [.container > div 18] expected: FAIL - [.container > div 19] - expected: FAIL - [.container > div 20] expected: FAIL [.container > div 21] expected: FAIL - - [.container > div 22] - expected: FAIL - - [.container > div 23] - expected: FAIL - - [.container > div 24] - expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-flexbox/abspos/flex-abspos-staticpos-justify-content-rtl-001.html.ini b/tests/wpt/metadata-layout-2020/css/css-flexbox/abspos/flex-abspos-staticpos-justify-content-rtl-001.html.ini index 7895378a29e..5e0efe959a6 100644 --- a/tests/wpt/metadata-layout-2020/css/css-flexbox/abspos/flex-abspos-staticpos-justify-content-rtl-001.html.ini +++ b/tests/wpt/metadata-layout-2020/css/css-flexbox/abspos/flex-abspos-staticpos-justify-content-rtl-001.html.ini @@ -20,18 +20,9 @@ [.container > div 7] expected: FAIL - [.container > div 8] - expected: FAIL - [.container > div 9] expected: FAIL - [.container > div 10] - expected: FAIL - - [.container > div 11] - expected: FAIL - [.container > div 12] expected: FAIL @@ -56,17 +47,8 @@ [.container > div 19] expected: FAIL - [.container > div 20] - expected: FAIL - [.container > div 21] expected: FAIL - [.container > div 22] - expected: FAIL - - [.container > div 23] - expected: FAIL - [.container > div 24] expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-flexbox/abspos/flex-abspos-staticpos-justify-content-vertWM-002.html.ini b/tests/wpt/metadata-layout-2020/css/css-flexbox/abspos/flex-abspos-staticpos-justify-content-vertWM-002.html.ini index 55939ce1b81..cf325fab510 100644 --- a/tests/wpt/metadata-layout-2020/css/css-flexbox/abspos/flex-abspos-staticpos-justify-content-vertWM-002.html.ini +++ b/tests/wpt/metadata-layout-2020/css/css-flexbox/abspos/flex-abspos-staticpos-justify-content-vertWM-002.html.ini @@ -20,18 +20,9 @@ [.container > div 7] expected: FAIL - [.container > div 8] - expected: FAIL - [.container > div 9] expected: FAIL - [.container > div 10] - expected: FAIL - - [.container > div 11] - expected: FAIL - [.container > div 12] expected: FAIL @@ -56,17 +47,8 @@ [.container > div 19] expected: FAIL - [.container > div 20] - expected: FAIL - [.container > div 21] expected: FAIL - [.container > div 22] - expected: FAIL - - [.container > div 23] - expected: FAIL - [.container > div 24] expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-flexbox/abspos/position-absolute-001.html.ini b/tests/wpt/metadata-layout-2020/css/css-flexbox/abspos/position-absolute-001.html.ini index 1c4ab46ade2..765783fa81c 100644 --- a/tests/wpt/metadata-layout-2020/css/css-flexbox/abspos/position-absolute-001.html.ini +++ b/tests/wpt/metadata-layout-2020/css/css-flexbox/abspos/position-absolute-001.html.ini @@ -295,4 +295,3 @@ [.flexbox 120] expected: FAIL - diff --git a/tests/wpt/metadata-layout-2020/css/css-flexbox/abspos/position-absolute-002.html.ini b/tests/wpt/metadata-layout-2020/css/css-flexbox/abspos/position-absolute-002.html.ini index 53be9e59fff..2a7e30f8cf2 100644 --- a/tests/wpt/metadata-layout-2020/css/css-flexbox/abspos/position-absolute-002.html.ini +++ b/tests/wpt/metadata-layout-2020/css/css-flexbox/abspos/position-absolute-002.html.ini @@ -16,4 +16,3 @@ [.flexbox 9] expected: FAIL - diff --git a/tests/wpt/metadata-layout-2020/css/css-flexbox/abspos/position-absolute-003.html.ini b/tests/wpt/metadata-layout-2020/css/css-flexbox/abspos/position-absolute-003.html.ini index 8b79c6dcfbd..1d51f307e09 100644 --- a/tests/wpt/metadata-layout-2020/css/css-flexbox/abspos/position-absolute-003.html.ini +++ b/tests/wpt/metadata-layout-2020/css/css-flexbox/abspos/position-absolute-003.html.ini @@ -22,4 +22,3 @@ [.rect 16] expected: FAIL - diff --git a/tests/wpt/metadata-layout-2020/css/css-flexbox/abspos/position-absolute-012.html.ini b/tests/wpt/metadata-layout-2020/css/css-flexbox/abspos/position-absolute-012.html.ini index 39c3959f78a..babfb27671f 100644 --- a/tests/wpt/metadata-layout-2020/css/css-flexbox/abspos/position-absolute-012.html.ini +++ b/tests/wpt/metadata-layout-2020/css/css-flexbox/abspos/position-absolute-012.html.ini @@ -214,4 +214,3 @@ [.flexbox 20] expected: FAIL - diff --git a/tests/wpt/metadata-layout-2020/css/css-flexbox/align-content-wrap-001.html.ini b/tests/wpt/metadata-layout-2020/css/css-flexbox/align-content-wrap-001.html.ini index 70545d78f1d..f1a6baadd38 100644 --- a/tests/wpt/metadata-layout-2020/css/css-flexbox/align-content-wrap-001.html.ini +++ b/tests/wpt/metadata-layout-2020/css/css-flexbox/align-content-wrap-001.html.ini @@ -19,4 +19,3 @@ [.default, .verticalWriting 2] expected: FAIL - diff --git a/tests/wpt/metadata-layout-2020/css/css-flexbox/align-content-wrap-002.html.ini b/tests/wpt/metadata-layout-2020/css/css-flexbox/align-content-wrap-002.html.ini index 92687182357..39c38cc02d4 100644 --- a/tests/wpt/metadata-layout-2020/css/css-flexbox/align-content-wrap-002.html.ini +++ b/tests/wpt/metadata-layout-2020/css/css-flexbox/align-content-wrap-002.html.ini @@ -7,4 +7,3 @@ [.flex-horizontal, .flex-vertical 6] expected: FAIL - diff --git a/tests/wpt/metadata-layout-2020/css/css-flexbox/align-content-wrap-003.html.ini b/tests/wpt/metadata-layout-2020/css/css-flexbox/align-content-wrap-003.html.ini index a2028ef2a81..93449dd271a 100644 --- a/tests/wpt/metadata-layout-2020/css/css-flexbox/align-content-wrap-003.html.ini +++ b/tests/wpt/metadata-layout-2020/css/css-flexbox/align-content-wrap-003.html.ini @@ -94,4 +94,3 @@ [.flexbox 42] expected: FAIL - diff --git a/tests/wpt/metadata-layout-2020/css/css-flexbox/align-content-wrap-005.html.ini b/tests/wpt/metadata-layout-2020/css/css-flexbox/align-content-wrap-005.html.ini index 1dd468872d4..6bccebab78f 100644 --- a/tests/wpt/metadata-layout-2020/css/css-flexbox/align-content-wrap-005.html.ini +++ b/tests/wpt/metadata-layout-2020/css/css-flexbox/align-content-wrap-005.html.ini @@ -5,9 +5,6 @@ [.flexitem 2] expected: FAIL - [.flexitem 4] - expected: FAIL - [.flexitem 5] expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-flexbox/alignment/flex-align-baseline-001.html.ini b/tests/wpt/metadata-layout-2020/css/css-flexbox/alignment/flex-align-baseline-001.html.ini index a9623e23540..d629409f0b2 100644 --- a/tests/wpt/metadata-layout-2020/css/css-flexbox/alignment/flex-align-baseline-001.html.ini +++ b/tests/wpt/metadata-layout-2020/css/css-flexbox/alignment/flex-align-baseline-001.html.ini @@ -13,3 +13,6 @@ [#target > div 6] expected: FAIL + + [#target > div 4] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-flexbox/alignment/flex-align-baseline-006.html.ini b/tests/wpt/metadata-layout-2020/css/css-flexbox/alignment/flex-align-baseline-006.html.ini index 29c075b0c05..228c9ea34fe 100644 --- a/tests/wpt/metadata-layout-2020/css/css-flexbox/alignment/flex-align-baseline-006.html.ini +++ b/tests/wpt/metadata-layout-2020/css/css-flexbox/alignment/flex-align-baseline-006.html.ini @@ -2,8 +2,5 @@ [#target > div 1] expected: FAIL - [#target > div 2] - expected: FAIL - [#target > div 3] expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-flexbox/alignment/flex-align-baseline-007.html.ini b/tests/wpt/metadata-layout-2020/css/css-flexbox/alignment/flex-align-baseline-007.html.ini index c65c407cad6..717725270b8 100644 --- a/tests/wpt/metadata-layout-2020/css/css-flexbox/alignment/flex-align-baseline-007.html.ini +++ b/tests/wpt/metadata-layout-2020/css/css-flexbox/alignment/flex-align-baseline-007.html.ini @@ -2,8 +2,5 @@ [#target > div 1] expected: FAIL - [#target > div 2] - expected: FAIL - [#target > div 3] expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-flexbox/alignment/flex-align-baseline-overflow-002.html.ini b/tests/wpt/metadata-layout-2020/css/css-flexbox/alignment/flex-align-baseline-overflow-002.html.ini index d1437e9f20b..114bff31d3c 100644 --- a/tests/wpt/metadata-layout-2020/css/css-flexbox/alignment/flex-align-baseline-overflow-002.html.ini +++ b/tests/wpt/metadata-layout-2020/css/css-flexbox/alignment/flex-align-baseline-overflow-002.html.ini @@ -25,3 +25,6 @@ [.target > * 12] expected: FAIL + + [.target > * 10] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-flexbox/alignment/flex-align-baseline-overflow-003.html.ini b/tests/wpt/metadata-layout-2020/css/css-flexbox/alignment/flex-align-baseline-overflow-003.html.ini index 4d2deae6b4d..34708b09397 100644 --- a/tests/wpt/metadata-layout-2020/css/css-flexbox/alignment/flex-align-baseline-overflow-003.html.ini +++ b/tests/wpt/metadata-layout-2020/css/css-flexbox/alignment/flex-align-baseline-overflow-003.html.ini @@ -25,3 +25,6 @@ [.target > * 12] expected: FAIL + + [.target > * 8] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-flexbox/alignment/flex-align-baseline-table-001.html.ini b/tests/wpt/metadata-layout-2020/css/css-flexbox/alignment/flex-align-baseline-table-001.html.ini index be36f8f3c06..9c90d9ef868 100644 --- a/tests/wpt/metadata-layout-2020/css/css-flexbox/alignment/flex-align-baseline-table-001.html.ini +++ b/tests/wpt/metadata-layout-2020/css/css-flexbox/alignment/flex-align-baseline-table-001.html.ini @@ -2,15 +2,9 @@ [.target > * 1] expected: FAIL - [.target > * 2] - expected: FAIL - [.target > * 3] expected: FAIL - [.target > * 4] - expected: FAIL - [.target > * 5] expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-flexbox/animation/discrete-no-interpolation.html.ini b/tests/wpt/metadata-layout-2020/css/css-flexbox/animation/discrete-no-interpolation.html.ini new file mode 100644 index 00000000000..a3287e10d8c --- /dev/null +++ b/tests/wpt/metadata-layout-2020/css/css-flexbox/animation/discrete-no-interpolation.html.ini @@ -0,0 +1,60 @@ +[discrete-no-interpolation.html] + [CSS Transitions with transition: all: property <flex-direction> from [initial\] to [column\] at (-0.3) should be [column\]] + expected: FAIL + + [CSS Transitions with transition: all: property <flex-direction> from [initial\] to [column\] at (0) should be [column\]] + expected: FAIL + + [CSS Transitions with transition: all: property <flex-direction> from [initial\] to [column\] at (0.3) should be [column\]] + expected: FAIL + + [Web Animations: property <flex-direction> from [initial\] to [column\] at (-0.3) should be [initial\]] + expected: FAIL + + [Web Animations: property <flex-direction> from [initial\] to [column\] at (0) should be [initial\]] + expected: FAIL + + [Web Animations: property <flex-direction> from [initial\] to [column\] at (0.3) should be [initial\]] + expected: FAIL + + [Web Animations: property <flex-direction> from [initial\] to [column\] at (0.5) should be [column\]] + expected: FAIL + + [Web Animations: property <flex-direction> from [initial\] to [column\] at (0.6) should be [column\]] + expected: FAIL + + [Web Animations: property <flex-direction> from [initial\] to [column\] at (1) should be [column\]] + expected: FAIL + + [Web Animations: property <flex-direction> from [initial\] to [column\] at (1.5) should be [column\]] + expected: FAIL + + [CSS Transitions with transition: all: property <flex-wrap> from [initial\] to [wrap\] at (-0.3) should be [wrap\]] + expected: FAIL + + [CSS Transitions with transition: all: property <flex-wrap> from [initial\] to [wrap\] at (0) should be [wrap\]] + expected: FAIL + + [CSS Transitions with transition: all: property <flex-wrap> from [initial\] to [wrap\] at (0.3) should be [wrap\]] + expected: FAIL + + [Web Animations: property <flex-wrap> from [initial\] to [wrap\] at (-0.3) should be [initial\]] + expected: FAIL + + [Web Animations: property <flex-wrap> from [initial\] to [wrap\] at (0) should be [initial\]] + expected: FAIL + + [Web Animations: property <flex-wrap> from [initial\] to [wrap\] at (0.3) should be [initial\]] + expected: FAIL + + [Web Animations: property <flex-wrap> from [initial\] to [wrap\] at (0.5) should be [wrap\]] + expected: FAIL + + [Web Animations: property <flex-wrap> from [initial\] to [wrap\] at (0.6) should be [wrap\]] + expected: FAIL + + [Web Animations: property <flex-wrap> from [initial\] to [wrap\] at (1) should be [wrap\]] + expected: FAIL + + [Web Animations: property <flex-wrap> from [initial\] to [wrap\] at (1.5) should be [wrap\]] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-flexbox/box-sizing-001.html.ini b/tests/wpt/metadata-layout-2020/css/css-flexbox/box-sizing-001.html.ini index ef0e4418a51..a1bedc69444 100644 --- a/tests/wpt/metadata-layout-2020/css/css-flexbox/box-sizing-001.html.ini +++ b/tests/wpt/metadata-layout-2020/css/css-flexbox/box-sizing-001.html.ini @@ -7,4 +7,3 @@ [.flexbox 9] expected: FAIL - diff --git a/tests/wpt/metadata-layout-2020/css/css-flexbox/change-column-flex-width.html.ini b/tests/wpt/metadata-layout-2020/css/css-flexbox/change-column-flex-width.html.ini index 15481aff4e5..df8814f72bc 100644 --- a/tests/wpt/metadata-layout-2020/css/css-flexbox/change-column-flex-width.html.ini +++ b/tests/wpt/metadata-layout-2020/css/css-flexbox/change-column-flex-width.html.ini @@ -1,4 +1,3 @@ [change-column-flex-width.html] [#container 1] expected: FAIL - diff --git a/tests/wpt/metadata-layout-2020/css/css-flexbox/dynamic-isize-change-001.html.ini b/tests/wpt/metadata-layout-2020/css/css-flexbox/dynamic-isize-change-001.html.ini new file mode 100644 index 00000000000..9ff8cd1ddb0 --- /dev/null +++ b/tests/wpt/metadata-layout-2020/css/css-flexbox/dynamic-isize-change-001.html.ini @@ -0,0 +1,2 @@ +[dynamic-isize-change-001.html] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-flexbox/dynamic-isize-change-003.html.ini b/tests/wpt/metadata-layout-2020/css/css-flexbox/dynamic-isize-change-003.html.ini deleted file mode 100644 index 266e096b27f..00000000000 --- a/tests/wpt/metadata-layout-2020/css/css-flexbox/dynamic-isize-change-003.html.ini +++ /dev/null @@ -1,2 +0,0 @@ -[dynamic-isize-change-003.html] - expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-flexbox/dynamic-isize-change-004.html.ini b/tests/wpt/metadata-layout-2020/css/css-flexbox/dynamic-isize-change-004.html.ini new file mode 100644 index 00000000000..ccd35efb1da --- /dev/null +++ b/tests/wpt/metadata-layout-2020/css/css-flexbox/dynamic-isize-change-004.html.ini @@ -0,0 +1,2 @@ +[dynamic-isize-change-004.html] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-flexbox/flex-aspect-ratio-img-column-011.html.ini b/tests/wpt/metadata-layout-2020/css/css-flexbox/flex-aspect-ratio-img-column-011.html.ini index 33556f29dc0..0e3735372d7 100644 --- a/tests/wpt/metadata-layout-2020/css/css-flexbox/flex-aspect-ratio-img-column-011.html.ini +++ b/tests/wpt/metadata-layout-2020/css/css-flexbox/flex-aspect-ratio-img-column-011.html.ini @@ -16,4 +16,3 @@ [.flexbox 3] expected: FAIL - diff --git a/tests/wpt/metadata-layout-2020/css/css-flexbox/flex-aspect-ratio-img-row-005.html.ini b/tests/wpt/metadata-layout-2020/css/css-flexbox/flex-aspect-ratio-img-row-005.html.ini index 4b194fd4128..a8801ec9fe3 100644 --- a/tests/wpt/metadata-layout-2020/css/css-flexbox/flex-aspect-ratio-img-row-005.html.ini +++ b/tests/wpt/metadata-layout-2020/css/css-flexbox/flex-aspect-ratio-img-row-005.html.ini @@ -1,9 +1,12 @@ [flex-aspect-ratio-img-row-005.html] [img 1] expected: FAIL + [img 2] expected: FAIL + [img 3] expected: FAIL + [img 4] expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-flexbox/flex-aspect-ratio-img-row-013.html.ini b/tests/wpt/metadata-layout-2020/css/css-flexbox/flex-aspect-ratio-img-row-013.html.ini index 5efa306bde8..ebb6c061745 100644 --- a/tests/wpt/metadata-layout-2020/css/css-flexbox/flex-aspect-ratio-img-row-013.html.ini +++ b/tests/wpt/metadata-layout-2020/css/css-flexbox/flex-aspect-ratio-img-row-013.html.ini @@ -1,4 +1,5 @@ [flex-aspect-ratio-img-row-013.html] + expected: TIMEOUT [img 1] expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-flexbox/flex-basis-011.html.ini b/tests/wpt/metadata-layout-2020/css/css-flexbox/flex-basis-011.html.ini new file mode 100644 index 00000000000..03b30d6b482 --- /dev/null +++ b/tests/wpt/metadata-layout-2020/css/css-flexbox/flex-basis-011.html.ini @@ -0,0 +1,2 @@ +[flex-basis-011.html] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-flexbox/flex-basis-intrinsics-001.html.ini b/tests/wpt/metadata-layout-2020/css/css-flexbox/flex-basis-intrinsics-001.html.ini index 51eafb8d818..c35db30bab8 100644 --- a/tests/wpt/metadata-layout-2020/css/css-flexbox/flex-basis-intrinsics-001.html.ini +++ b/tests/wpt/metadata-layout-2020/css/css-flexbox/flex-basis-intrinsics-001.html.ini @@ -1,7 +1,4 @@ [flex-basis-intrinsics-001.html] - [.flex-item 1] - expected: FAIL - [.flex-item 2] expected: FAIL @@ -14,5 +11,20 @@ [.flex-item 10] expected: FAIL - [.flex-item 12] + [.flex-item 4] + expected: FAIL + + [.flex-item 5] + expected: FAIL + + [.flex-item 6] + expected: FAIL + + [.flex-item 7] + expected: FAIL + + [.flex-item 9] + expected: FAIL + + [.flex-item 11] expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-flexbox/flex-factor-less-than-one.html.ini b/tests/wpt/metadata-layout-2020/css/css-flexbox/flex-factor-less-than-one.html.ini index defb8a8273c..b266f0483ce 100644 --- a/tests/wpt/metadata-layout-2020/css/css-flexbox/flex-factor-less-than-one.html.ini +++ b/tests/wpt/metadata-layout-2020/css/css-flexbox/flex-factor-less-than-one.html.ini @@ -34,4 +34,3 @@ [.flexbox 20] expected: FAIL - diff --git a/tests/wpt/metadata-layout-2020/css/css-flexbox/flex-flow-013.html.ini b/tests/wpt/metadata-layout-2020/css/css-flexbox/flex-flow-013.html.ini index 6d1984e7d82..fe74f4f7bd3 100644 --- a/tests/wpt/metadata-layout-2020/css/css-flexbox/flex-flow-013.html.ini +++ b/tests/wpt/metadata-layout-2020/css/css-flexbox/flex-flow-013.html.ini @@ -28,4 +28,3 @@ [.flexbox 3] expected: FAIL - diff --git a/tests/wpt/metadata-layout-2020/css/css-flexbox/flex-grow-008.html.ini b/tests/wpt/metadata-layout-2020/css/css-flexbox/flex-grow-008.html.ini new file mode 100644 index 00000000000..b0f1a4130ae --- /dev/null +++ b/tests/wpt/metadata-layout-2020/css/css-flexbox/flex-grow-008.html.ini @@ -0,0 +1,2 @@ +[flex-grow-008.html] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-flexbox/flex-item-compressible-002.html.ini b/tests/wpt/metadata-layout-2020/css/css-flexbox/flex-item-compressible-002.html.ini index f1fb03894de..2213ca52bac 100644 --- a/tests/wpt/metadata-layout-2020/css/css-flexbox/flex-item-compressible-002.html.ini +++ b/tests/wpt/metadata-layout-2020/css/css-flexbox/flex-item-compressible-002.html.ini @@ -44,4 +44,3 @@ [.flexbox 9] expected: FAIL - diff --git a/tests/wpt/metadata-layout-2020/css/css-flexbox/flex-item-contains-strict.html.ini b/tests/wpt/metadata-layout-2020/css/css-flexbox/flex-item-contains-strict.html.ini index 95a48442ec2..c35fe04b493 100644 --- a/tests/wpt/metadata-layout-2020/css/css-flexbox/flex-item-contains-strict.html.ini +++ b/tests/wpt/metadata-layout-2020/css/css-flexbox/flex-item-contains-strict.html.ini @@ -22,4 +22,3 @@ [.inline-flex 6] expected: FAIL - diff --git a/tests/wpt/metadata-layout-2020/css/css-flexbox/flex-minimum-height-flex-items-031.html.ini b/tests/wpt/metadata-layout-2020/css/css-flexbox/flex-minimum-height-flex-items-031.html.ini index b12194285ba..ffd9ad0c03f 100644 --- a/tests/wpt/metadata-layout-2020/css/css-flexbox/flex-minimum-height-flex-items-031.html.ini +++ b/tests/wpt/metadata-layout-2020/css/css-flexbox/flex-minimum-height-flex-items-031.html.ini @@ -1,4 +1,5 @@ [flex-minimum-height-flex-items-031.html] + expected: TIMEOUT [.flex 1] expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-flexbox/flex-minimum-size-001.html.ini b/tests/wpt/metadata-layout-2020/css/css-flexbox/flex-minimum-size-001.html.ini index e1788a14dcd..2be70bc3b73 100644 --- a/tests/wpt/metadata-layout-2020/css/css-flexbox/flex-minimum-size-001.html.ini +++ b/tests/wpt/metadata-layout-2020/css/css-flexbox/flex-minimum-size-001.html.ini @@ -13,4 +13,3 @@ [.flexbox, .inline-flexbox 2] expected: FAIL - diff --git a/tests/wpt/metadata-layout-2020/css/css-flexbox/flexbox-baseline-nested-001.html.ini b/tests/wpt/metadata-layout-2020/css/css-flexbox/flexbox-baseline-nested-001.html.ini new file mode 100644 index 00000000000..c9d467c386f --- /dev/null +++ b/tests/wpt/metadata-layout-2020/css/css-flexbox/flexbox-baseline-nested-001.html.ini @@ -0,0 +1,2 @@ +[flexbox-baseline-nested-001.html] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-flexbox/flexbox-lines-must-be-stretched-by-default.html.ini b/tests/wpt/metadata-layout-2020/css/css-flexbox/flexbox-lines-must-be-stretched-by-default.html.ini index 4ec1b2c24ee..c0d0eaba014 100644 --- a/tests/wpt/metadata-layout-2020/css/css-flexbox/flexbox-lines-must-be-stretched-by-default.html.ini +++ b/tests/wpt/metadata-layout-2020/css/css-flexbox/flexbox-lines-must-be-stretched-by-default.html.ini @@ -1,4 +1,3 @@ [flexbox-lines-must-be-stretched-by-default.html] [.flex-container 1] expected: FAIL - diff --git a/tests/wpt/metadata-layout-2020/css/css-flexbox/flexbox-overflow-padding-002.html.ini b/tests/wpt/metadata-layout-2020/css/css-flexbox/flexbox-overflow-padding-002.html.ini deleted file mode 100644 index 3c04ff77ee2..00000000000 --- a/tests/wpt/metadata-layout-2020/css/css-flexbox/flexbox-overflow-padding-002.html.ini +++ /dev/null @@ -1,2 +0,0 @@ -[flexbox-overflow-padding-002.html] - expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-flexbox/flexbox_justifycontent-center-overflow.html.ini b/tests/wpt/metadata-layout-2020/css/css-flexbox/flexbox_justifycontent-center-overflow.html.ini index 8af06056f2a..c53ac420b6c 100644 --- a/tests/wpt/metadata-layout-2020/css/css-flexbox/flexbox_justifycontent-center-overflow.html.ini +++ b/tests/wpt/metadata-layout-2020/css/css-flexbox/flexbox_justifycontent-center-overflow.html.ini @@ -1,7 +1,9 @@ [flexbox_justifycontent-center-overflow.html] [span 1] expected: FAIL + [span 2] expected: FAIL + [span 3] expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-flexbox/flexbox_justifycontent-end-rtl.html.ini b/tests/wpt/metadata-layout-2020/css/css-flexbox/flexbox_justifycontent-end-rtl.html.ini new file mode 100644 index 00000000000..97399e52e2c --- /dev/null +++ b/tests/wpt/metadata-layout-2020/css/css-flexbox/flexbox_justifycontent-end-rtl.html.ini @@ -0,0 +1,2 @@ +[flexbox_justifycontent-end-rtl.html] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-flexbox/flexbox_justifycontent-end.html.ini b/tests/wpt/metadata-layout-2020/css/css-flexbox/flexbox_justifycontent-end.html.ini new file mode 100644 index 00000000000..6282af2a57f --- /dev/null +++ b/tests/wpt/metadata-layout-2020/css/css-flexbox/flexbox_justifycontent-end.html.ini @@ -0,0 +1,2 @@ +[flexbox_justifycontent-end.html] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-flexbox/flexbox_justifycontent-rtl-001.html.ini b/tests/wpt/metadata-layout-2020/css/css-flexbox/flexbox_justifycontent-rtl-001.html.ini index 30b3d3893c3..880c66dbd09 100644 --- a/tests/wpt/metadata-layout-2020/css/css-flexbox/flexbox_justifycontent-rtl-001.html.ini +++ b/tests/wpt/metadata-layout-2020/css/css-flexbox/flexbox_justifycontent-rtl-001.html.ini @@ -20,17 +20,8 @@ [.container > div 7] expected: FAIL - [.container > div 8] - expected: FAIL - [.container > div 9] expected: FAIL - [.container > div 10] - expected: FAIL - - [.container > div 11] - expected: FAIL - [.container > div 12] expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-flexbox/flexible-order.html.ini b/tests/wpt/metadata-layout-2020/css/css-flexbox/flexible-order.html.ini new file mode 100644 index 00000000000..788f10d4854 --- /dev/null +++ b/tests/wpt/metadata-layout-2020/css/css-flexbox/flexible-order.html.ini @@ -0,0 +1,2 @@ +[flexible-order.html] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-flexbox/getcomputedstyle/flexbox_computedstyle_align-content-center.html.ini b/tests/wpt/metadata-layout-2020/css/css-flexbox/getcomputedstyle/flexbox_computedstyle_align-content-center.html.ini index 77b79053b75..43b27ae0436 100644 --- a/tests/wpt/metadata-layout-2020/css/css-flexbox/getcomputedstyle/flexbox_computedstyle_align-content-center.html.ini +++ b/tests/wpt/metadata-layout-2020/css/css-flexbox/getcomputedstyle/flexbox_computedstyle_align-content-center.html.ini @@ -1,4 +1,3 @@ [flexbox_computedstyle_align-content-center.html] [flexbox | computed style | align-content: center] expected: FAIL - diff --git a/tests/wpt/metadata-layout-2020/css/css-flexbox/getcomputedstyle/flexbox_computedstyle_align-content-flex-end.html.ini b/tests/wpt/metadata-layout-2020/css/css-flexbox/getcomputedstyle/flexbox_computedstyle_align-content-flex-end.html.ini index 9f2085e7d78..799f07abe63 100644 --- a/tests/wpt/metadata-layout-2020/css/css-flexbox/getcomputedstyle/flexbox_computedstyle_align-content-flex-end.html.ini +++ b/tests/wpt/metadata-layout-2020/css/css-flexbox/getcomputedstyle/flexbox_computedstyle_align-content-flex-end.html.ini @@ -1,4 +1,3 @@ [flexbox_computedstyle_align-content-flex-end.html] [flexbox | computed style | align-content: flex-end] expected: FAIL - diff --git a/tests/wpt/metadata-layout-2020/css/css-flexbox/getcomputedstyle/flexbox_computedstyle_align-content-flex-start.html.ini b/tests/wpt/metadata-layout-2020/css/css-flexbox/getcomputedstyle/flexbox_computedstyle_align-content-flex-start.html.ini index 0a81e05cc4a..f4e85204580 100644 --- a/tests/wpt/metadata-layout-2020/css/css-flexbox/getcomputedstyle/flexbox_computedstyle_align-content-flex-start.html.ini +++ b/tests/wpt/metadata-layout-2020/css/css-flexbox/getcomputedstyle/flexbox_computedstyle_align-content-flex-start.html.ini @@ -1,4 +1,3 @@ [flexbox_computedstyle_align-content-flex-start.html] [flexbox | computed style | align-content: flex-start] expected: FAIL - diff --git a/tests/wpt/metadata-layout-2020/css/css-flexbox/getcomputedstyle/flexbox_computedstyle_align-content-space-around.html.ini b/tests/wpt/metadata-layout-2020/css/css-flexbox/getcomputedstyle/flexbox_computedstyle_align-content-space-around.html.ini index c88e6cf5e58..2ad2853cd86 100644 --- a/tests/wpt/metadata-layout-2020/css/css-flexbox/getcomputedstyle/flexbox_computedstyle_align-content-space-around.html.ini +++ b/tests/wpt/metadata-layout-2020/css/css-flexbox/getcomputedstyle/flexbox_computedstyle_align-content-space-around.html.ini @@ -1,4 +1,3 @@ [flexbox_computedstyle_align-content-space-around.html] [flexbox | computed style | align-content: space-around] expected: FAIL - diff --git a/tests/wpt/metadata-layout-2020/css/css-flexbox/getcomputedstyle/flexbox_computedstyle_align-content-space-between.html.ini b/tests/wpt/metadata-layout-2020/css/css-flexbox/getcomputedstyle/flexbox_computedstyle_align-content-space-between.html.ini index 9a2200f5909..5ea0ab93325 100644 --- a/tests/wpt/metadata-layout-2020/css/css-flexbox/getcomputedstyle/flexbox_computedstyle_align-content-space-between.html.ini +++ b/tests/wpt/metadata-layout-2020/css/css-flexbox/getcomputedstyle/flexbox_computedstyle_align-content-space-between.html.ini @@ -1,4 +1,3 @@ [flexbox_computedstyle_align-content-space-between.html] [flexbox | computed style | align-content: space-between] expected: FAIL - diff --git a/tests/wpt/metadata-layout-2020/css/css-flexbox/getcomputedstyle/flexbox_computedstyle_justify-content-center.html.ini b/tests/wpt/metadata-layout-2020/css/css-flexbox/getcomputedstyle/flexbox_computedstyle_justify-content-center.html.ini index f1b4c694235..646456f9384 100644 --- a/tests/wpt/metadata-layout-2020/css/css-flexbox/getcomputedstyle/flexbox_computedstyle_justify-content-center.html.ini +++ b/tests/wpt/metadata-layout-2020/css/css-flexbox/getcomputedstyle/flexbox_computedstyle_justify-content-center.html.ini @@ -1,4 +1,3 @@ [flexbox_computedstyle_justify-content-center.html] [flexbox | computed style | justify-content: center] expected: FAIL - diff --git a/tests/wpt/metadata-layout-2020/css/css-flexbox/getcomputedstyle/flexbox_computedstyle_justify-content-flex-end.html.ini b/tests/wpt/metadata-layout-2020/css/css-flexbox/getcomputedstyle/flexbox_computedstyle_justify-content-flex-end.html.ini index d0aecdc5d1c..e81ac2bf3fe 100644 --- a/tests/wpt/metadata-layout-2020/css/css-flexbox/getcomputedstyle/flexbox_computedstyle_justify-content-flex-end.html.ini +++ b/tests/wpt/metadata-layout-2020/css/css-flexbox/getcomputedstyle/flexbox_computedstyle_justify-content-flex-end.html.ini @@ -1,4 +1,3 @@ [flexbox_computedstyle_justify-content-flex-end.html] [flexbox | computed style | justify-content: flex-end] expected: FAIL - diff --git a/tests/wpt/metadata-layout-2020/css/css-flexbox/getcomputedstyle/flexbox_computedstyle_justify-content-flex-start.html.ini b/tests/wpt/metadata-layout-2020/css/css-flexbox/getcomputedstyle/flexbox_computedstyle_justify-content-flex-start.html.ini index 330fcc486a4..bfc97e73ead 100644 --- a/tests/wpt/metadata-layout-2020/css/css-flexbox/getcomputedstyle/flexbox_computedstyle_justify-content-flex-start.html.ini +++ b/tests/wpt/metadata-layout-2020/css/css-flexbox/getcomputedstyle/flexbox_computedstyle_justify-content-flex-start.html.ini @@ -1,4 +1,3 @@ [flexbox_computedstyle_justify-content-flex-start.html] [flexbox | computed style | justify-content: flex-start] expected: FAIL - diff --git a/tests/wpt/metadata-layout-2020/css/css-flexbox/getcomputedstyle/flexbox_computedstyle_justify-content-space-around.html.ini b/tests/wpt/metadata-layout-2020/css/css-flexbox/getcomputedstyle/flexbox_computedstyle_justify-content-space-around.html.ini index cb9fee8c241..66168065c0d 100644 --- a/tests/wpt/metadata-layout-2020/css/css-flexbox/getcomputedstyle/flexbox_computedstyle_justify-content-space-around.html.ini +++ b/tests/wpt/metadata-layout-2020/css/css-flexbox/getcomputedstyle/flexbox_computedstyle_justify-content-space-around.html.ini @@ -1,4 +1,3 @@ [flexbox_computedstyle_justify-content-space-around.html] [flexbox | computed style | justify-content: space-around] expected: FAIL - diff --git a/tests/wpt/metadata-layout-2020/css/css-flexbox/getcomputedstyle/flexbox_computedstyle_justify-content-space-between.html.ini b/tests/wpt/metadata-layout-2020/css/css-flexbox/getcomputedstyle/flexbox_computedstyle_justify-content-space-between.html.ini index 30832c22bfb..dd1f06e4ff2 100644 --- a/tests/wpt/metadata-layout-2020/css/css-flexbox/getcomputedstyle/flexbox_computedstyle_justify-content-space-between.html.ini +++ b/tests/wpt/metadata-layout-2020/css/css-flexbox/getcomputedstyle/flexbox_computedstyle_justify-content-space-between.html.ini @@ -1,4 +1,3 @@ [flexbox_computedstyle_justify-content-space-between.html] [flexbox | computed style | justify-content: space-between] expected: FAIL - diff --git a/tests/wpt/metadata-layout-2020/css/css-flexbox/hittest-anonymous-box.html.ini b/tests/wpt/metadata-layout-2020/css/css-flexbox/hittest-anonymous-box.html.ini new file mode 100644 index 00000000000..b8f8d45a31f --- /dev/null +++ b/tests/wpt/metadata-layout-2020/css/css-flexbox/hittest-anonymous-box.html.ini @@ -0,0 +1,3 @@ +[hittest-anonymous-box.html] + [Hit-testing within an anonymous flex-item should return the flexbox as the hittest result.] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-flexbox/image-as-flexitem-size-001.html.ini b/tests/wpt/metadata-layout-2020/css/css-flexbox/image-as-flexitem-size-001.html.ini index 129cb7707e5..1083c69b49b 100644 --- a/tests/wpt/metadata-layout-2020/css/css-flexbox/image-as-flexitem-size-001.html.ini +++ b/tests/wpt/metadata-layout-2020/css/css-flexbox/image-as-flexitem-size-001.html.ini @@ -16,4 +16,3 @@ [.flexbox > img 11] expected: FAIL - diff --git a/tests/wpt/metadata-layout-2020/css/css-flexbox/image-as-flexitem-size-001v.html.ini b/tests/wpt/metadata-layout-2020/css/css-flexbox/image-as-flexitem-size-001v.html.ini index c8133704c22..1da82f05ecc 100644 --- a/tests/wpt/metadata-layout-2020/css/css-flexbox/image-as-flexitem-size-001v.html.ini +++ b/tests/wpt/metadata-layout-2020/css/css-flexbox/image-as-flexitem-size-001v.html.ini @@ -16,4 +16,3 @@ [.flexbox > img 3] expected: FAIL - diff --git a/tests/wpt/metadata-layout-2020/css/css-flexbox/image-as-flexitem-size-002.html.ini b/tests/wpt/metadata-layout-2020/css/css-flexbox/image-as-flexitem-size-002.html.ini index 18057c80008..ff6b87c71d2 100644 --- a/tests/wpt/metadata-layout-2020/css/css-flexbox/image-as-flexitem-size-002.html.ini +++ b/tests/wpt/metadata-layout-2020/css/css-flexbox/image-as-flexitem-size-002.html.ini @@ -16,4 +16,3 @@ [.flexbox > img 3] expected: FAIL - diff --git a/tests/wpt/metadata-layout-2020/css/css-flexbox/image-as-flexitem-size-002v.html.ini b/tests/wpt/metadata-layout-2020/css/css-flexbox/image-as-flexitem-size-002v.html.ini index 2d3d5f4800f..f110c6de4b0 100644 --- a/tests/wpt/metadata-layout-2020/css/css-flexbox/image-as-flexitem-size-002v.html.ini +++ b/tests/wpt/metadata-layout-2020/css/css-flexbox/image-as-flexitem-size-002v.html.ini @@ -16,4 +16,3 @@ [.flexbox > img 3] expected: FAIL - diff --git a/tests/wpt/metadata-layout-2020/css/css-flexbox/image-as-flexitem-size-003.html.ini b/tests/wpt/metadata-layout-2020/css/css-flexbox/image-as-flexitem-size-003.html.ini index b65663944d5..2dffe291548 100644 --- a/tests/wpt/metadata-layout-2020/css/css-flexbox/image-as-flexitem-size-003.html.ini +++ b/tests/wpt/metadata-layout-2020/css/css-flexbox/image-as-flexitem-size-003.html.ini @@ -22,4 +22,3 @@ [.flexbox > img 3] expected: FAIL - diff --git a/tests/wpt/metadata-layout-2020/css/css-flexbox/image-as-flexitem-size-003v.html.ini b/tests/wpt/metadata-layout-2020/css/css-flexbox/image-as-flexitem-size-003v.html.ini index 9c181a42b99..26cfd97d6d3 100644 --- a/tests/wpt/metadata-layout-2020/css/css-flexbox/image-as-flexitem-size-003v.html.ini +++ b/tests/wpt/metadata-layout-2020/css/css-flexbox/image-as-flexitem-size-003v.html.ini @@ -22,4 +22,3 @@ [.flexbox > img 3] expected: FAIL - diff --git a/tests/wpt/metadata-layout-2020/css/css-flexbox/image-as-flexitem-size-004.html.ini b/tests/wpt/metadata-layout-2020/css/css-flexbox/image-as-flexitem-size-004.html.ini index e996902e291..b454f4429ce 100644 --- a/tests/wpt/metadata-layout-2020/css/css-flexbox/image-as-flexitem-size-004.html.ini +++ b/tests/wpt/metadata-layout-2020/css/css-flexbox/image-as-flexitem-size-004.html.ini @@ -43,4 +43,3 @@ [.flexbox > img 2] expected: FAIL - diff --git a/tests/wpt/metadata-layout-2020/css/css-flexbox/image-as-flexitem-size-004v.html.ini b/tests/wpt/metadata-layout-2020/css/css-flexbox/image-as-flexitem-size-004v.html.ini index 33189abc79d..51c00c3efb0 100644 --- a/tests/wpt/metadata-layout-2020/css/css-flexbox/image-as-flexitem-size-004v.html.ini +++ b/tests/wpt/metadata-layout-2020/css/css-flexbox/image-as-flexitem-size-004v.html.ini @@ -43,4 +43,3 @@ [.flexbox > img 2] expected: FAIL - diff --git a/tests/wpt/metadata-layout-2020/css/css-flexbox/image-as-flexitem-size-005.html.ini b/tests/wpt/metadata-layout-2020/css/css-flexbox/image-as-flexitem-size-005.html.ini index 48bb487dc1e..1702a404fe5 100644 --- a/tests/wpt/metadata-layout-2020/css/css-flexbox/image-as-flexitem-size-005.html.ini +++ b/tests/wpt/metadata-layout-2020/css/css-flexbox/image-as-flexitem-size-005.html.ini @@ -37,4 +37,3 @@ [.flexbox > img 9] expected: FAIL - diff --git a/tests/wpt/metadata-layout-2020/css/css-flexbox/image-as-flexitem-size-005v.html.ini b/tests/wpt/metadata-layout-2020/css/css-flexbox/image-as-flexitem-size-005v.html.ini index c8c26ba110d..caa6f8d9c11 100644 --- a/tests/wpt/metadata-layout-2020/css/css-flexbox/image-as-flexitem-size-005v.html.ini +++ b/tests/wpt/metadata-layout-2020/css/css-flexbox/image-as-flexitem-size-005v.html.ini @@ -37,4 +37,3 @@ [.flexbox > img 2] expected: FAIL - diff --git a/tests/wpt/metadata-layout-2020/css/css-flexbox/image-as-flexitem-size-006.html.ini b/tests/wpt/metadata-layout-2020/css/css-flexbox/image-as-flexitem-size-006.html.ini index f66d036cbc8..076b1aaaec1 100644 --- a/tests/wpt/metadata-layout-2020/css/css-flexbox/image-as-flexitem-size-006.html.ini +++ b/tests/wpt/metadata-layout-2020/css/css-flexbox/image-as-flexitem-size-006.html.ini @@ -52,4 +52,3 @@ [.flexbox > img 13] expected: FAIL - diff --git a/tests/wpt/metadata-layout-2020/css/css-flexbox/image-as-flexitem-size-006v.html.ini b/tests/wpt/metadata-layout-2020/css/css-flexbox/image-as-flexitem-size-006v.html.ini index 280b709ec59..43cd6a991d8 100644 --- a/tests/wpt/metadata-layout-2020/css/css-flexbox/image-as-flexitem-size-006v.html.ini +++ b/tests/wpt/metadata-layout-2020/css/css-flexbox/image-as-flexitem-size-006v.html.ini @@ -55,4 +55,3 @@ [.flexbox > img 16] expected: FAIL - diff --git a/tests/wpt/metadata-layout-2020/css/css-flexbox/image-as-flexitem-size-007.html.ini b/tests/wpt/metadata-layout-2020/css/css-flexbox/image-as-flexitem-size-007.html.ini index 46f0cfb6cb8..09dfd4111e2 100644 --- a/tests/wpt/metadata-layout-2020/css/css-flexbox/image-as-flexitem-size-007.html.ini +++ b/tests/wpt/metadata-layout-2020/css/css-flexbox/image-as-flexitem-size-007.html.ini @@ -16,4 +16,3 @@ [.flexbox > img 11] expected: FAIL - diff --git a/tests/wpt/metadata-layout-2020/css/css-flexbox/image-as-flexitem-size-007v.html.ini b/tests/wpt/metadata-layout-2020/css/css-flexbox/image-as-flexitem-size-007v.html.ini index 4b205babbfc..16ab4110657 100644 --- a/tests/wpt/metadata-layout-2020/css/css-flexbox/image-as-flexitem-size-007v.html.ini +++ b/tests/wpt/metadata-layout-2020/css/css-flexbox/image-as-flexitem-size-007v.html.ini @@ -16,4 +16,3 @@ [.flexbox > img 3] expected: FAIL - diff --git a/tests/wpt/metadata-layout-2020/css/css-flexbox/inheritance.html.ini b/tests/wpt/metadata-layout-2020/css/css-flexbox/inheritance.html.ini index 934a21d347d..2d803f23ab3 100644 --- a/tests/wpt/metadata-layout-2020/css/css-flexbox/inheritance.html.ini +++ b/tests/wpt/metadata-layout-2020/css/css-flexbox/inheritance.html.ini @@ -19,4 +19,3 @@ [Property align-content does not inherit] expected: FAIL - diff --git a/tests/wpt/metadata-layout-2020/css/css-flexbox/inline-flexbox-wrap-vertically-width-calculation.html.ini b/tests/wpt/metadata-layout-2020/css/css-flexbox/inline-flexbox-wrap-vertically-width-calculation.html.ini index adf39bf4ad9..8b3906525b1 100644 --- a/tests/wpt/metadata-layout-2020/css/css-flexbox/inline-flexbox-wrap-vertically-width-calculation.html.ini +++ b/tests/wpt/metadata-layout-2020/css/css-flexbox/inline-flexbox-wrap-vertically-width-calculation.html.ini @@ -46,4 +46,3 @@ [.inline-flexbox 9] expected: FAIL - diff --git a/tests/wpt/metadata-layout-2020/css/css-flexbox/intrinsic-size/row-wrap-001.html.ini b/tests/wpt/metadata-layout-2020/css/css-flexbox/intrinsic-size/row-wrap-001.html.ini index f173ec22943..608733e5e5a 100644 --- a/tests/wpt/metadata-layout-2020/css/css-flexbox/intrinsic-size/row-wrap-001.html.ini +++ b/tests/wpt/metadata-layout-2020/css/css-flexbox/intrinsic-size/row-wrap-001.html.ini @@ -10,3 +10,6 @@ [.floating-flexbox 5] expected: FAIL + + [.floating-flexbox 1] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-flexbox/intrinsic-width-orthogonal-writing-mode.html.ini b/tests/wpt/metadata-layout-2020/css/css-flexbox/intrinsic-width-orthogonal-writing-mode.html.ini index 0eb3312218d..ba36ba91b00 100644 --- a/tests/wpt/metadata-layout-2020/css/css-flexbox/intrinsic-width-orthogonal-writing-mode.html.ini +++ b/tests/wpt/metadata-layout-2020/css/css-flexbox/intrinsic-width-orthogonal-writing-mode.html.ini @@ -7,4 +7,3 @@ [.inline-flexbox 1] expected: FAIL - diff --git a/tests/wpt/metadata-layout-2020/css/css-flexbox/max-width-violation.html.ini b/tests/wpt/metadata-layout-2020/css/css-flexbox/max-width-violation.html.ini index 527e2238cca..c0dd29ad494 100644 --- a/tests/wpt/metadata-layout-2020/css/css-flexbox/max-width-violation.html.ini +++ b/tests/wpt/metadata-layout-2020/css/css-flexbox/max-width-violation.html.ini @@ -1,4 +1,3 @@ [max-width-violation.html] [.columns 2] expected: FAIL - diff --git a/tests/wpt/metadata-layout-2020/css/css-flexbox/multiline-min-max.html.ini b/tests/wpt/metadata-layout-2020/css/css-flexbox/multiline-min-max.html.ini index e27f8f3bb54..6c1eb56ff46 100644 --- a/tests/wpt/metadata-layout-2020/css/css-flexbox/multiline-min-max.html.ini +++ b/tests/wpt/metadata-layout-2020/css/css-flexbox/multiline-min-max.html.ini @@ -7,4 +7,3 @@ [.flexbox 5] expected: FAIL - diff --git a/tests/wpt/metadata-layout-2020/css/css-flexbox/multiline-min-preferred-width.html.ini b/tests/wpt/metadata-layout-2020/css/css-flexbox/multiline-min-preferred-width.html.ini index a5d007c927c..2c29c773ac7 100644 --- a/tests/wpt/metadata-layout-2020/css/css-flexbox/multiline-min-preferred-width.html.ini +++ b/tests/wpt/metadata-layout-2020/css/css-flexbox/multiline-min-preferred-width.html.ini @@ -1,4 +1,3 @@ [multiline-min-preferred-width.html] [.container 1] expected: FAIL - diff --git a/tests/wpt/metadata-layout-2020/css/css-flexbox/negative-overflow.html.ini b/tests/wpt/metadata-layout-2020/css/css-flexbox/negative-overflow.html.ini index 94ce568000d..5212f4a3910 100644 --- a/tests/wpt/metadata-layout-2020/css/css-flexbox/negative-overflow.html.ini +++ b/tests/wpt/metadata-layout-2020/css/css-flexbox/negative-overflow.html.ini @@ -31,4 +31,3 @@ [.flexbox 4] expected: FAIL - diff --git a/tests/wpt/metadata-layout-2020/css/css-flexbox/order/order-abs-children-painting-order.html.ini b/tests/wpt/metadata-layout-2020/css/css-flexbox/order/order-abs-children-painting-order.html.ini deleted file mode 100644 index 5065278c599..00000000000 --- a/tests/wpt/metadata-layout-2020/css/css-flexbox/order/order-abs-children-painting-order.html.ini +++ /dev/null @@ -1,2 +0,0 @@ -[order-abs-children-painting-order.html] - expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-flexbox/overflow-area-003.html.ini b/tests/wpt/metadata-layout-2020/css/css-flexbox/overflow-area-003.html.ini deleted file mode 100644 index 300fdf711a4..00000000000 --- a/tests/wpt/metadata-layout-2020/css/css-flexbox/overflow-area-003.html.ini +++ /dev/null @@ -1,2 +0,0 @@ -[overflow-area-003.html] - expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-flexbox/overflow-auto-006.html.ini b/tests/wpt/metadata-layout-2020/css/css-flexbox/overflow-auto-006.html.ini index adb98201ac0..27254e7a706 100644 --- a/tests/wpt/metadata-layout-2020/css/css-flexbox/overflow-auto-006.html.ini +++ b/tests/wpt/metadata-layout-2020/css/css-flexbox/overflow-auto-006.html.ini @@ -10,4 +10,3 @@ [.flexbox, .inline-flexbox 8] expected: FAIL - diff --git a/tests/wpt/metadata-layout-2020/css/css-flexbox/overflow-auto-008.html.ini b/tests/wpt/metadata-layout-2020/css/css-flexbox/overflow-auto-008.html.ini index 6bdbcc048d0..0e380912ae8 100644 --- a/tests/wpt/metadata-layout-2020/css/css-flexbox/overflow-auto-008.html.ini +++ b/tests/wpt/metadata-layout-2020/css/css-flexbox/overflow-auto-008.html.ini @@ -1,4 +1,3 @@ [overflow-auto-008.html] [hbox dimensions] expected: FAIL - diff --git a/tests/wpt/metadata-layout-2020/css/css-flexbox/parsing/flex-flow-valid.html.ini b/tests/wpt/metadata-layout-2020/css/css-flexbox/parsing/flex-flow-valid.html.ini new file mode 100644 index 00000000000..645e5380333 --- /dev/null +++ b/tests/wpt/metadata-layout-2020/css/css-flexbox/parsing/flex-flow-valid.html.ini @@ -0,0 +1,6 @@ +[flex-flow-valid.html] + [e.style['flex-flow'\] = "column nowrap" should set the property value] + expected: FAIL + + [e.style['flex-flow'\] = "nowrap column" should set the property value] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-flexbox/percentage-heights-000.html.ini b/tests/wpt/metadata-layout-2020/css/css-flexbox/percentage-heights-000.html.ini index 7b8b58d54e5..04066312687 100644 --- a/tests/wpt/metadata-layout-2020/css/css-flexbox/percentage-heights-000.html.ini +++ b/tests/wpt/metadata-layout-2020/css/css-flexbox/percentage-heights-000.html.ini @@ -16,4 +16,3 @@ [.flexbox 3] expected: FAIL - diff --git a/tests/wpt/metadata-layout-2020/css/css-flexbox/percentage-heights-003.html.ini b/tests/wpt/metadata-layout-2020/css/css-flexbox/percentage-heights-003.html.ini index dee89160b90..a4e2fcc1efc 100644 --- a/tests/wpt/metadata-layout-2020/css/css-flexbox/percentage-heights-003.html.ini +++ b/tests/wpt/metadata-layout-2020/css/css-flexbox/percentage-heights-003.html.ini @@ -7,4 +7,3 @@ [.flexbox 2] expected: FAIL - diff --git a/tests/wpt/metadata-layout-2020/css/css-flexbox/percentage-heights-012.html.ini b/tests/wpt/metadata-layout-2020/css/css-flexbox/percentage-heights-012.html.ini index 5a06db5e377..515fe962775 100644 --- a/tests/wpt/metadata-layout-2020/css/css-flexbox/percentage-heights-012.html.ini +++ b/tests/wpt/metadata-layout-2020/css/css-flexbox/percentage-heights-012.html.ini @@ -4,4 +4,3 @@ [.flexbox 10] expected: FAIL - diff --git a/tests/wpt/metadata-layout-2020/css/css-flexbox/percentage-heights-013.html.ini b/tests/wpt/metadata-layout-2020/css/css-flexbox/percentage-heights-013.html.ini index ef77f0bfc37..1d1440de603 100644 --- a/tests/wpt/metadata-layout-2020/css/css-flexbox/percentage-heights-013.html.ini +++ b/tests/wpt/metadata-layout-2020/css/css-flexbox/percentage-heights-013.html.ini @@ -4,4 +4,3 @@ [.flexbox 3] expected: FAIL - diff --git a/tests/wpt/metadata-layout-2020/css/css-flexbox/percentage-max-width-cross-axis.html.ini b/tests/wpt/metadata-layout-2020/css/css-flexbox/percentage-max-width-cross-axis.html.ini index 239acf7b8c3..b5c6e7a37f8 100644 --- a/tests/wpt/metadata-layout-2020/css/css-flexbox/percentage-max-width-cross-axis.html.ini +++ b/tests/wpt/metadata-layout-2020/css/css-flexbox/percentage-max-width-cross-axis.html.ini @@ -1,4 +1,3 @@ [percentage-max-width-cross-axis.html] [.flexbox 2] expected: FAIL - diff --git a/tests/wpt/metadata-layout-2020/css/css-flexbox/percentage-padding-002.html.ini b/tests/wpt/metadata-layout-2020/css/css-flexbox/percentage-padding-002.html.ini new file mode 100644 index 00000000000..8fb2f0b0b7d --- /dev/null +++ b/tests/wpt/metadata-layout-2020/css/css-flexbox/percentage-padding-002.html.ini @@ -0,0 +1,2 @@ +[percentage-padding-002.html] + expected: TIMEOUT diff --git a/tests/wpt/metadata-layout-2020/css/css-flexbox/percentage-size-quirks-002.html.ini b/tests/wpt/metadata-layout-2020/css/css-flexbox/percentage-size-quirks-002.html.ini index bead7ca2de9..6a1c4d88cd7 100644 --- a/tests/wpt/metadata-layout-2020/css/css-flexbox/percentage-size-quirks-002.html.ini +++ b/tests/wpt/metadata-layout-2020/css/css-flexbox/percentage-size-quirks-002.html.ini @@ -1,4 +1,3 @@ [percentage-size-quirks-002.html] [.pct 2] expected: FAIL - diff --git a/tests/wpt/metadata-layout-2020/css/css-flexbox/percentage-size-quirks.html.ini b/tests/wpt/metadata-layout-2020/css/css-flexbox/percentage-size-quirks.html.ini index 018966fe83e..f8950451ec2 100644 --- a/tests/wpt/metadata-layout-2020/css/css-flexbox/percentage-size-quirks.html.ini +++ b/tests/wpt/metadata-layout-2020/css/css-flexbox/percentage-size-quirks.html.ini @@ -4,4 +4,3 @@ [.flexbox 3] expected: FAIL - diff --git a/tests/wpt/metadata-layout-2020/css/css-flexbox/percentage-size.html.ini b/tests/wpt/metadata-layout-2020/css/css-flexbox/percentage-size.html.ini index e863ea50b6a..7b73cea1696 100644 --- a/tests/wpt/metadata-layout-2020/css/css-flexbox/percentage-size.html.ini +++ b/tests/wpt/metadata-layout-2020/css/css-flexbox/percentage-size.html.ini @@ -4,4 +4,3 @@ [.flexbox 3] expected: FAIL - diff --git a/tests/wpt/metadata-layout-2020/css/css-flexbox/quirks-auto-block-size-with-percentage-item.html.ini b/tests/wpt/metadata-layout-2020/css/css-flexbox/quirks-auto-block-size-with-percentage-item.html.ini index 354df228b5f..2db27f1d053 100644 --- a/tests/wpt/metadata-layout-2020/css/css-flexbox/quirks-auto-block-size-with-percentage-item.html.ini +++ b/tests/wpt/metadata-layout-2020/css/css-flexbox/quirks-auto-block-size-with-percentage-item.html.ini @@ -1,4 +1,3 @@ [quirks-auto-block-size-with-percentage-item.html] [#container 1] expected: FAIL - diff --git a/tests/wpt/metadata-layout-2020/css/css-flexbox/relayout-image-load.html.ini b/tests/wpt/metadata-layout-2020/css/css-flexbox/relayout-image-load.html.ini index 9cbe732ddc0..c3836ef179a 100644 --- a/tests/wpt/metadata-layout-2020/css/css-flexbox/relayout-image-load.html.ini +++ b/tests/wpt/metadata-layout-2020/css/css-flexbox/relayout-image-load.html.ini @@ -1,4 +1,3 @@ [relayout-image-load.html] [#test 1] expected: FAIL - diff --git a/tests/wpt/metadata-layout-2020/css/css-flexbox/stretched-child-shrink-on-relayout.html.ini b/tests/wpt/metadata-layout-2020/css/css-flexbox/stretched-child-shrink-on-relayout.html.ini index 0deee728862..ceff1bfa619 100644 --- a/tests/wpt/metadata-layout-2020/css/css-flexbox/stretched-child-shrink-on-relayout.html.ini +++ b/tests/wpt/metadata-layout-2020/css/css-flexbox/stretched-child-shrink-on-relayout.html.ini @@ -7,4 +7,3 @@ [.flexbox 2] expected: FAIL - diff --git a/tests/wpt/metadata-layout-2020/css/css-flexbox/synthesize-vrl-baseline.html.ini b/tests/wpt/metadata-layout-2020/css/css-flexbox/synthesize-vrl-baseline.html.ini new file mode 100644 index 00000000000..117f75d15ba --- /dev/null +++ b/tests/wpt/metadata-layout-2020/css/css-flexbox/synthesize-vrl-baseline.html.ini @@ -0,0 +1,2 @@ +[synthesize-vrl-baseline.html] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-flexbox/table-as-item-cross-size.html.ini b/tests/wpt/metadata-layout-2020/css/css-flexbox/table-as-item-cross-size.html.ini index 58cd368e584..1c87c37e5f0 100644 --- a/tests/wpt/metadata-layout-2020/css/css-flexbox/table-as-item-cross-size.html.ini +++ b/tests/wpt/metadata-layout-2020/css/css-flexbox/table-as-item-cross-size.html.ini @@ -1,4 +1,3 @@ [table-as-item-cross-size.html] [.test 1] expected: FAIL - diff --git a/tests/wpt/metadata-layout-2020/css/css-flexbox/table-as-item-specified-width-vertical.html.ini b/tests/wpt/metadata-layout-2020/css/css-flexbox/table-as-item-specified-width-vertical.html.ini deleted file mode 100644 index 59aeed11f53..00000000000 --- a/tests/wpt/metadata-layout-2020/css/css-flexbox/table-as-item-specified-width-vertical.html.ini +++ /dev/null @@ -1,2 +0,0 @@ -[table-as-item-specified-width-vertical.html] - expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-flexbox/table-as-item-stretch-cross-size-4.html.ini b/tests/wpt/metadata-layout-2020/css/css-flexbox/table-as-item-stretch-cross-size-4.html.ini new file mode 100644 index 00000000000..31d7e2ddc74 --- /dev/null +++ b/tests/wpt/metadata-layout-2020/css/css-flexbox/table-as-item-stretch-cross-size-4.html.ini @@ -0,0 +1,2 @@ +[table-as-item-stretch-cross-size-4.html] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-fonts/animations/system-fonts.html.ini b/tests/wpt/metadata-layout-2020/css/css-fonts/animations/system-fonts.html.ini index 7e649c71297..e540264b569 100644 --- a/tests/wpt/metadata-layout-2020/css/css-fonts/animations/system-fonts.html.ini +++ b/tests/wpt/metadata-layout-2020/css/css-fonts/animations/system-fonts.html.ini @@ -1,4 +1,5 @@ [system-fonts.html] + expected: ERROR [CSS Animations: property <font> from [italic 100 small-caps ultra-expanded 100px / 100px Ahem\] to [caption\] at (-2) should be [italic\] for <font-style>] expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-fonts/font-size-adjust-009.html.ini b/tests/wpt/metadata-layout-2020/css/css-fonts/font-size-adjust-009.html.ini deleted file mode 100644 index 2396ffafe59..00000000000 --- a/tests/wpt/metadata-layout-2020/css/css-fonts/font-size-adjust-009.html.ini +++ /dev/null @@ -1,2 +0,0 @@ -[font-size-adjust-009.html] - expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-fonts/font-size-adjust-010.html.ini b/tests/wpt/metadata-layout-2020/css/css-fonts/font-size-adjust-010.html.ini deleted file mode 100644 index 0d99bb39aeb..00000000000 --- a/tests/wpt/metadata-layout-2020/css/css-fonts/font-size-adjust-010.html.ini +++ /dev/null @@ -1,2 +0,0 @@ -[font-size-adjust-010.html] - expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-fonts/font-size-adjust-011.html.ini b/tests/wpt/metadata-layout-2020/css/css-fonts/font-size-adjust-011.html.ini deleted file mode 100644 index 74ab82660d0..00000000000 --- a/tests/wpt/metadata-layout-2020/css/css-fonts/font-size-adjust-011.html.ini +++ /dev/null @@ -1,2 +0,0 @@ -[font-size-adjust-011.html] - expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-fonts/font-size-adjust-013.html.ini b/tests/wpt/metadata-layout-2020/css/css-fonts/font-size-adjust-013.html.ini new file mode 100644 index 00000000000..79d3f15005b --- /dev/null +++ b/tests/wpt/metadata-layout-2020/css/css-fonts/font-size-adjust-013.html.ini @@ -0,0 +1,2 @@ +[font-size-adjust-013.html] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-fonts/font-size-zero-2.html.ini b/tests/wpt/metadata-layout-2020/css/css-fonts/font-size-zero-2.html.ini new file mode 100644 index 00000000000..d05d4c3c2de --- /dev/null +++ b/tests/wpt/metadata-layout-2020/css/css-fonts/font-size-zero-2.html.ini @@ -0,0 +1,2 @@ +[font-size-zero-2.html] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-fonts/font-synthesis-07.html.ini b/tests/wpt/metadata-layout-2020/css/css-fonts/font-synthesis-07.html.ini deleted file mode 100644 index 0abf192fdb6..00000000000 --- a/tests/wpt/metadata-layout-2020/css/css-fonts/font-synthesis-07.html.ini +++ /dev/null @@ -1,2 +0,0 @@ -[font-synthesis-07.html] - expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-fonts/font-variant-ligatures-11.optional.html.ini b/tests/wpt/metadata-layout-2020/css/css-fonts/font-variant-ligatures-11.optional.html.ini deleted file mode 100644 index 558ca07056d..00000000000 --- a/tests/wpt/metadata-layout-2020/css/css-fonts/font-variant-ligatures-11.optional.html.ini +++ /dev/null @@ -1,2 +0,0 @@ -[font-variant-ligatures-11.optional.html] - expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-fonts/parsing/font-size-adjust-computed.html.ini b/tests/wpt/metadata-layout-2020/css/css-fonts/parsing/font-size-adjust-computed.html.ini index f90d894eab5..09a63de3d32 100644 --- a/tests/wpt/metadata-layout-2020/css/css-fonts/parsing/font-size-adjust-computed.html.ini +++ b/tests/wpt/metadata-layout-2020/css/css-fonts/parsing/font-size-adjust-computed.html.ini @@ -19,3 +19,21 @@ [Property font-size-adjust value 'ic-height 1.1'] expected: FAIL + + [Property font-size-adjust value 'from-font'] + expected: FAIL + + [Property font-size-adjust value 'ex-height from-font'] + expected: FAIL + + [Property font-size-adjust value 'cap-height from-font'] + expected: FAIL + + [Property font-size-adjust value 'ch-width from-font'] + expected: FAIL + + [Property font-size-adjust value 'ic-width from-font'] + expected: FAIL + + [Property font-size-adjust value 'ic-height from-font'] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-fonts/parsing/font-size-adjust-valid.html.ini b/tests/wpt/metadata-layout-2020/css/css-fonts/parsing/font-size-adjust-valid.html.ini index 670d2678629..f8e4c08b6f2 100644 --- a/tests/wpt/metadata-layout-2020/css/css-fonts/parsing/font-size-adjust-valid.html.ini +++ b/tests/wpt/metadata-layout-2020/css/css-fonts/parsing/font-size-adjust-valid.html.ini @@ -19,3 +19,21 @@ [e.style['font-size-adjust'\] = "ic-height 0.9" should set the property value] expected: FAIL + + [e.style['font-size-adjust'\] = "from-font" should set the property value] + expected: FAIL + + [e.style['font-size-adjust'\] = "ex-height from-font" should set the property value] + expected: FAIL + + [e.style['font-size-adjust'\] = "cap-height from-font" should set the property value] + expected: FAIL + + [e.style['font-size-adjust'\] = "ch-width from-font" should set the property value] + expected: FAIL + + [e.style['font-size-adjust'\] = "ic-width from-font" should set the property value] + expected: FAIL + + [e.style['font-size-adjust'\] = "ic-height from-font" should set the property value] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-fonts/parsing/font-variant-valid.html.ini b/tests/wpt/metadata-layout-2020/css/css-fonts/parsing/font-variant-valid.html.ini new file mode 100644 index 00000000000..36dd3f36330 --- /dev/null +++ b/tests/wpt/metadata-layout-2020/css/css-fonts/parsing/font-variant-valid.html.ini @@ -0,0 +1,138 @@ +[font-variant-valid.html] + [e.style['font-variant'\] = "normal" should set the property value] + expected: FAIL + + [e.style['font-variant'\] = "none" should set the property value] + expected: FAIL + + [e.style['font-variant'\] = "common-ligatures" should set the property value] + expected: FAIL + + [e.style['font-variant'\] = "no-common-ligatures" should set the property value] + expected: FAIL + + [e.style['font-variant'\] = "discretionary-ligatures" should set the property value] + expected: FAIL + + [e.style['font-variant'\] = "no-discretionary-ligatures" should set the property value] + expected: FAIL + + [e.style['font-variant'\] = "historical-ligatures" should set the property value] + expected: FAIL + + [e.style['font-variant'\] = "no-historical-ligatures" should set the property value] + expected: FAIL + + [e.style['font-variant'\] = "contextual" should set the property value] + expected: FAIL + + [e.style['font-variant'\] = "no-contextual" should set the property value] + expected: FAIL + + [e.style['font-variant'\] = "small-caps" should set the property value] + expected: FAIL + + [e.style['font-variant'\] = "all-small-caps" should set the property value] + expected: FAIL + + [e.style['font-variant'\] = "petite-caps" should set the property value] + expected: FAIL + + [e.style['font-variant'\] = "all-petite-caps" should set the property value] + expected: FAIL + + [e.style['font-variant'\] = "unicase" should set the property value] + expected: FAIL + + [e.style['font-variant'\] = "titling-caps" should set the property value] + expected: FAIL + + [e.style['font-variant'\] = "stylistic(flowing)" should set the property value] + expected: FAIL + + [e.style['font-variant'\] = "historical-forms" should set the property value] + expected: FAIL + + [e.style['font-variant'\] = "styleset(flowing)" should set the property value] + expected: FAIL + + [e.style['font-variant'\] = "character-variant(flowing)" should set the property value] + expected: FAIL + + [e.style['font-variant'\] = "swash(flowing)" should set the property value] + expected: FAIL + + [e.style['font-variant'\] = "ornaments(flowing)" should set the property value] + expected: FAIL + + [e.style['font-variant'\] = "annotation(flowing)" should set the property value] + expected: FAIL + + [e.style['font-variant'\] = "stylistic(flowing) historical-forms styleset(flowing) character-variant(flowing) swash(flowing) ornaments(flowing) annotation(flowing)" should set the property value] + expected: FAIL + + [e.style['font-variant'\] = "annotation(flowing) ornaments(flowing) swash(flowing) character-variant(flowing) styleset(flowing) historical-forms stylistic(flowing)" should set the property value] + expected: FAIL + + [e.style['font-variant'\] = "lining-nums" should set the property value] + expected: FAIL + + [e.style['font-variant'\] = "oldstyle-nums" should set the property value] + expected: FAIL + + [e.style['font-variant'\] = "proportional-nums" should set the property value] + expected: FAIL + + [e.style['font-variant'\] = "tabular-nums" should set the property value] + expected: FAIL + + [e.style['font-variant'\] = "diagonal-fractions" should set the property value] + expected: FAIL + + [e.style['font-variant'\] = "stacked-fractions" should set the property value] + expected: FAIL + + [e.style['font-variant'\] = "ordinal" should set the property value] + expected: FAIL + + [e.style['font-variant'\] = "slashed-zero" should set the property value] + expected: FAIL + + [e.style['font-variant'\] = "jis78" should set the property value] + expected: FAIL + + [e.style['font-variant'\] = "jis83" should set the property value] + expected: FAIL + + [e.style['font-variant'\] = "jis90" should set the property value] + expected: FAIL + + [e.style['font-variant'\] = "jis04" should set the property value] + expected: FAIL + + [e.style['font-variant'\] = "simplified" should set the property value] + expected: FAIL + + [e.style['font-variant'\] = "traditional" should set the property value] + expected: FAIL + + [e.style['font-variant'\] = "full-width" should set the property value] + expected: FAIL + + [e.style['font-variant'\] = "proportional-width" should set the property value] + expected: FAIL + + [e.style['font-variant'\] = "ruby" should set the property value] + expected: FAIL + + [e.style['font-variant'\] = "sub" should set the property value] + expected: FAIL + + [e.style['font-variant'\] = "super" should set the property value] + expected: FAIL + + [e.style['font-variant'\] = "common-ligatures discretionary-ligatures historical-ligatures contextual small-caps stylistic(flowing) lining-nums proportional-nums diagonal-fractions ordinal slashed-zero jis78 full-width ruby sub" should set the property value] + expected: FAIL + + [e.style['font-variant'\] = "super proportional-width jis83 stacked-fractions tabular-nums oldstyle-nums historical-forms all-small-caps no-contextual no-historical-ligatures no-discretionary-ligatures no-common-ligatures" should set the property value] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-fonts/variations/at-font-face-font-matching.html.ini b/tests/wpt/metadata-layout-2020/css/css-fonts/variations/at-font-face-font-matching.html.ini index 073e32fb102..cbb94dcb515 100644 --- a/tests/wpt/metadata-layout-2020/css/css-fonts/variations/at-font-face-font-matching.html.ini +++ b/tests/wpt/metadata-layout-2020/css/css-fonts/variations/at-font-face-font-matching.html.ini @@ -322,3 +322,6 @@ [Matching font-style: 'oblique -10deg' should prefer 'italic' over 'oblique 0deg 10deg'] expected: FAIL + + [Matching font-style: 'oblique 20deg' should prefer 'oblique 0deg' over 'oblique -50deg -20deg'] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-images/gradients-with-border.html.ini b/tests/wpt/metadata-layout-2020/css/css-images/gradients-with-border.html.ini new file mode 100644 index 00000000000..ec0e27da998 --- /dev/null +++ b/tests/wpt/metadata-layout-2020/css/css-images/gradients-with-border.html.ini @@ -0,0 +1,2 @@ +[gradients-with-border.html] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-images/image-orientation/image-orientation-border-image.html.ini b/tests/wpt/metadata-layout-2020/css/css-images/image-orientation/image-orientation-border-image.html.ini deleted file mode 100644 index 7398701d813..00000000000 --- a/tests/wpt/metadata-layout-2020/css/css-images/image-orientation/image-orientation-border-image.html.ini +++ /dev/null @@ -1,2 +0,0 @@ -[image-orientation-border-image.html] - expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-images/infinite-radial-gradient-refcrash.html.ini b/tests/wpt/metadata-layout-2020/css/css-images/infinite-radial-gradient-refcrash.html.ini new file mode 100644 index 00000000000..5287e0f468d --- /dev/null +++ b/tests/wpt/metadata-layout-2020/css/css-images/infinite-radial-gradient-refcrash.html.ini @@ -0,0 +1,2 @@ +[infinite-radial-gradient-refcrash.html] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-images/object-fit-contain-svg-001e.html.ini b/tests/wpt/metadata-layout-2020/css/css-images/object-fit-contain-svg-001e.html.ini new file mode 100644 index 00000000000..d0d6236156d --- /dev/null +++ b/tests/wpt/metadata-layout-2020/css/css-images/object-fit-contain-svg-001e.html.ini @@ -0,0 +1,2 @@ +[object-fit-contain-svg-001e.html] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-images/object-fit-contain-svg-001i.html.ini b/tests/wpt/metadata-layout-2020/css/css-images/object-fit-contain-svg-001i.html.ini new file mode 100644 index 00000000000..5862741e83a --- /dev/null +++ b/tests/wpt/metadata-layout-2020/css/css-images/object-fit-contain-svg-001i.html.ini @@ -0,0 +1,2 @@ +[object-fit-contain-svg-001i.html] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-images/object-fit-contain-svg-001o.html.ini b/tests/wpt/metadata-layout-2020/css/css-images/object-fit-contain-svg-001o.html.ini new file mode 100644 index 00000000000..a690e6cde64 --- /dev/null +++ b/tests/wpt/metadata-layout-2020/css/css-images/object-fit-contain-svg-001o.html.ini @@ -0,0 +1,2 @@ +[object-fit-contain-svg-001o.html] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-images/object-fit-contain-svg-001p.html.ini b/tests/wpt/metadata-layout-2020/css/css-images/object-fit-contain-svg-001p.html.ini new file mode 100644 index 00000000000..0ee51caf6af --- /dev/null +++ b/tests/wpt/metadata-layout-2020/css/css-images/object-fit-contain-svg-001p.html.ini @@ -0,0 +1,2 @@ +[object-fit-contain-svg-001p.html] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-images/object-fit-contain-svg-002e.html.ini b/tests/wpt/metadata-layout-2020/css/css-images/object-fit-contain-svg-002e.html.ini new file mode 100644 index 00000000000..4a7a645dbef --- /dev/null +++ b/tests/wpt/metadata-layout-2020/css/css-images/object-fit-contain-svg-002e.html.ini @@ -0,0 +1,2 @@ +[object-fit-contain-svg-002e.html] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-images/object-fit-contain-svg-002i.html.ini b/tests/wpt/metadata-layout-2020/css/css-images/object-fit-contain-svg-002i.html.ini new file mode 100644 index 00000000000..d998702f3f3 --- /dev/null +++ b/tests/wpt/metadata-layout-2020/css/css-images/object-fit-contain-svg-002i.html.ini @@ -0,0 +1,2 @@ +[object-fit-contain-svg-002i.html] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-images/object-fit-contain-svg-002o.html.ini b/tests/wpt/metadata-layout-2020/css/css-images/object-fit-contain-svg-002o.html.ini new file mode 100644 index 00000000000..eb3870f7491 --- /dev/null +++ b/tests/wpt/metadata-layout-2020/css/css-images/object-fit-contain-svg-002o.html.ini @@ -0,0 +1,2 @@ +[object-fit-contain-svg-002o.html] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-images/object-fit-contain-svg-002p.html.ini b/tests/wpt/metadata-layout-2020/css/css-images/object-fit-contain-svg-002p.html.ini new file mode 100644 index 00000000000..bc417b25a43 --- /dev/null +++ b/tests/wpt/metadata-layout-2020/css/css-images/object-fit-contain-svg-002p.html.ini @@ -0,0 +1,2 @@ +[object-fit-contain-svg-002p.html] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-images/object-fit-contain-svg-003e.html.ini b/tests/wpt/metadata-layout-2020/css/css-images/object-fit-contain-svg-003e.html.ini new file mode 100644 index 00000000000..ff83771b06b --- /dev/null +++ b/tests/wpt/metadata-layout-2020/css/css-images/object-fit-contain-svg-003e.html.ini @@ -0,0 +1,2 @@ +[object-fit-contain-svg-003e.html] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-images/object-fit-contain-svg-003i.html.ini b/tests/wpt/metadata-layout-2020/css/css-images/object-fit-contain-svg-003i.html.ini new file mode 100644 index 00000000000..03b9a23076a --- /dev/null +++ b/tests/wpt/metadata-layout-2020/css/css-images/object-fit-contain-svg-003i.html.ini @@ -0,0 +1,2 @@ +[object-fit-contain-svg-003i.html] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-images/object-fit-contain-svg-003o.html.ini b/tests/wpt/metadata-layout-2020/css/css-images/object-fit-contain-svg-003o.html.ini new file mode 100644 index 00000000000..c554b5d0c23 --- /dev/null +++ b/tests/wpt/metadata-layout-2020/css/css-images/object-fit-contain-svg-003o.html.ini @@ -0,0 +1,2 @@ +[object-fit-contain-svg-003o.html] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-images/object-fit-contain-svg-003p.html.ini b/tests/wpt/metadata-layout-2020/css/css-images/object-fit-contain-svg-003p.html.ini new file mode 100644 index 00000000000..5f0620f948c --- /dev/null +++ b/tests/wpt/metadata-layout-2020/css/css-images/object-fit-contain-svg-003p.html.ini @@ -0,0 +1,2 @@ +[object-fit-contain-svg-003p.html] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-images/object-fit-contain-svg-004e.html.ini b/tests/wpt/metadata-layout-2020/css/css-images/object-fit-contain-svg-004e.html.ini new file mode 100644 index 00000000000..87ece1a6df6 --- /dev/null +++ b/tests/wpt/metadata-layout-2020/css/css-images/object-fit-contain-svg-004e.html.ini @@ -0,0 +1,2 @@ +[object-fit-contain-svg-004e.html] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-images/object-fit-contain-svg-004i.html.ini b/tests/wpt/metadata-layout-2020/css/css-images/object-fit-contain-svg-004i.html.ini new file mode 100644 index 00000000000..0ff23f28a3f --- /dev/null +++ b/tests/wpt/metadata-layout-2020/css/css-images/object-fit-contain-svg-004i.html.ini @@ -0,0 +1,2 @@ +[object-fit-contain-svg-004i.html] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-images/object-fit-contain-svg-004o.html.ini b/tests/wpt/metadata-layout-2020/css/css-images/object-fit-contain-svg-004o.html.ini new file mode 100644 index 00000000000..a5d33620fcd --- /dev/null +++ b/tests/wpt/metadata-layout-2020/css/css-images/object-fit-contain-svg-004o.html.ini @@ -0,0 +1,2 @@ +[object-fit-contain-svg-004o.html] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-images/object-fit-contain-svg-004p.html.ini b/tests/wpt/metadata-layout-2020/css/css-images/object-fit-contain-svg-004p.html.ini new file mode 100644 index 00000000000..156c261ae45 --- /dev/null +++ b/tests/wpt/metadata-layout-2020/css/css-images/object-fit-contain-svg-004p.html.ini @@ -0,0 +1,2 @@ +[object-fit-contain-svg-004p.html] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-images/object-fit-contain-svg-005e.html.ini b/tests/wpt/metadata-layout-2020/css/css-images/object-fit-contain-svg-005e.html.ini new file mode 100644 index 00000000000..469762cd4bd --- /dev/null +++ b/tests/wpt/metadata-layout-2020/css/css-images/object-fit-contain-svg-005e.html.ini @@ -0,0 +1,2 @@ +[object-fit-contain-svg-005e.html] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-images/object-fit-contain-svg-005i.html.ini b/tests/wpt/metadata-layout-2020/css/css-images/object-fit-contain-svg-005i.html.ini new file mode 100644 index 00000000000..fc10141c3d6 --- /dev/null +++ b/tests/wpt/metadata-layout-2020/css/css-images/object-fit-contain-svg-005i.html.ini @@ -0,0 +1,2 @@ +[object-fit-contain-svg-005i.html] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-images/object-fit-contain-svg-005o.html.ini b/tests/wpt/metadata-layout-2020/css/css-images/object-fit-contain-svg-005o.html.ini new file mode 100644 index 00000000000..cf1eab30277 --- /dev/null +++ b/tests/wpt/metadata-layout-2020/css/css-images/object-fit-contain-svg-005o.html.ini @@ -0,0 +1,2 @@ +[object-fit-contain-svg-005o.html] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-images/object-fit-contain-svg-005p.html.ini b/tests/wpt/metadata-layout-2020/css/css-images/object-fit-contain-svg-005p.html.ini new file mode 100644 index 00000000000..b10da6e0b65 --- /dev/null +++ b/tests/wpt/metadata-layout-2020/css/css-images/object-fit-contain-svg-005p.html.ini @@ -0,0 +1,2 @@ +[object-fit-contain-svg-005p.html] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-images/object-fit-contain-svg-006e.html.ini b/tests/wpt/metadata-layout-2020/css/css-images/object-fit-contain-svg-006e.html.ini new file mode 100644 index 00000000000..1b90f1ca003 --- /dev/null +++ b/tests/wpt/metadata-layout-2020/css/css-images/object-fit-contain-svg-006e.html.ini @@ -0,0 +1,2 @@ +[object-fit-contain-svg-006e.html] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-images/object-fit-contain-svg-006i.html.ini b/tests/wpt/metadata-layout-2020/css/css-images/object-fit-contain-svg-006i.html.ini new file mode 100644 index 00000000000..a8d87508bcd --- /dev/null +++ b/tests/wpt/metadata-layout-2020/css/css-images/object-fit-contain-svg-006i.html.ini @@ -0,0 +1,2 @@ +[object-fit-contain-svg-006i.html] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-images/object-fit-contain-svg-006o.html.ini b/tests/wpt/metadata-layout-2020/css/css-images/object-fit-contain-svg-006o.html.ini new file mode 100644 index 00000000000..7cec53ee3d7 --- /dev/null +++ b/tests/wpt/metadata-layout-2020/css/css-images/object-fit-contain-svg-006o.html.ini @@ -0,0 +1,2 @@ +[object-fit-contain-svg-006o.html] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-images/object-fit-contain-svg-006p.html.ini b/tests/wpt/metadata-layout-2020/css/css-images/object-fit-contain-svg-006p.html.ini new file mode 100644 index 00000000000..c9757383138 --- /dev/null +++ b/tests/wpt/metadata-layout-2020/css/css-images/object-fit-contain-svg-006p.html.ini @@ -0,0 +1,2 @@ +[object-fit-contain-svg-006p.html] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-images/object-fit-cover-svg-001e.html.ini b/tests/wpt/metadata-layout-2020/css/css-images/object-fit-cover-svg-001e.html.ini new file mode 100644 index 00000000000..5caa79f7776 --- /dev/null +++ b/tests/wpt/metadata-layout-2020/css/css-images/object-fit-cover-svg-001e.html.ini @@ -0,0 +1,2 @@ +[object-fit-cover-svg-001e.html] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-images/object-fit-cover-svg-001i.html.ini b/tests/wpt/metadata-layout-2020/css/css-images/object-fit-cover-svg-001i.html.ini new file mode 100644 index 00000000000..1f8db97dfd6 --- /dev/null +++ b/tests/wpt/metadata-layout-2020/css/css-images/object-fit-cover-svg-001i.html.ini @@ -0,0 +1,2 @@ +[object-fit-cover-svg-001i.html] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-images/object-fit-cover-svg-001o.html.ini b/tests/wpt/metadata-layout-2020/css/css-images/object-fit-cover-svg-001o.html.ini new file mode 100644 index 00000000000..dc2cad0ff0f --- /dev/null +++ b/tests/wpt/metadata-layout-2020/css/css-images/object-fit-cover-svg-001o.html.ini @@ -0,0 +1,2 @@ +[object-fit-cover-svg-001o.html] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-images/object-fit-cover-svg-001p.html.ini b/tests/wpt/metadata-layout-2020/css/css-images/object-fit-cover-svg-001p.html.ini new file mode 100644 index 00000000000..d474bd9eb55 --- /dev/null +++ b/tests/wpt/metadata-layout-2020/css/css-images/object-fit-cover-svg-001p.html.ini @@ -0,0 +1,2 @@ +[object-fit-cover-svg-001p.html] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-images/object-fit-cover-svg-002e.html.ini b/tests/wpt/metadata-layout-2020/css/css-images/object-fit-cover-svg-002e.html.ini new file mode 100644 index 00000000000..92d2b6c8e91 --- /dev/null +++ b/tests/wpt/metadata-layout-2020/css/css-images/object-fit-cover-svg-002e.html.ini @@ -0,0 +1,2 @@ +[object-fit-cover-svg-002e.html] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-images/object-fit-cover-svg-002i.html.ini b/tests/wpt/metadata-layout-2020/css/css-images/object-fit-cover-svg-002i.html.ini new file mode 100644 index 00000000000..c3fcdb6a7e2 --- /dev/null +++ b/tests/wpt/metadata-layout-2020/css/css-images/object-fit-cover-svg-002i.html.ini @@ -0,0 +1,2 @@ +[object-fit-cover-svg-002i.html] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-images/object-fit-cover-svg-002o.html.ini b/tests/wpt/metadata-layout-2020/css/css-images/object-fit-cover-svg-002o.html.ini new file mode 100644 index 00000000000..f15655c8e4d --- /dev/null +++ b/tests/wpt/metadata-layout-2020/css/css-images/object-fit-cover-svg-002o.html.ini @@ -0,0 +1,2 @@ +[object-fit-cover-svg-002o.html] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-images/object-fit-cover-svg-002p.html.ini b/tests/wpt/metadata-layout-2020/css/css-images/object-fit-cover-svg-002p.html.ini new file mode 100644 index 00000000000..9bc5eded468 --- /dev/null +++ b/tests/wpt/metadata-layout-2020/css/css-images/object-fit-cover-svg-002p.html.ini @@ -0,0 +1,2 @@ +[object-fit-cover-svg-002p.html] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-images/object-fit-cover-svg-003e.html.ini b/tests/wpt/metadata-layout-2020/css/css-images/object-fit-cover-svg-003e.html.ini new file mode 100644 index 00000000000..ea55ec910dc --- /dev/null +++ b/tests/wpt/metadata-layout-2020/css/css-images/object-fit-cover-svg-003e.html.ini @@ -0,0 +1,2 @@ +[object-fit-cover-svg-003e.html] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-images/object-fit-cover-svg-003i.html.ini b/tests/wpt/metadata-layout-2020/css/css-images/object-fit-cover-svg-003i.html.ini new file mode 100644 index 00000000000..dab66be0853 --- /dev/null +++ b/tests/wpt/metadata-layout-2020/css/css-images/object-fit-cover-svg-003i.html.ini @@ -0,0 +1,2 @@ +[object-fit-cover-svg-003i.html] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-images/object-fit-cover-svg-003o.html.ini b/tests/wpt/metadata-layout-2020/css/css-images/object-fit-cover-svg-003o.html.ini new file mode 100644 index 00000000000..26517aeb47f --- /dev/null +++ b/tests/wpt/metadata-layout-2020/css/css-images/object-fit-cover-svg-003o.html.ini @@ -0,0 +1,2 @@ +[object-fit-cover-svg-003o.html] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-images/object-fit-cover-svg-003p.html.ini b/tests/wpt/metadata-layout-2020/css/css-images/object-fit-cover-svg-003p.html.ini new file mode 100644 index 00000000000..c7cd6e4e5f0 --- /dev/null +++ b/tests/wpt/metadata-layout-2020/css/css-images/object-fit-cover-svg-003p.html.ini @@ -0,0 +1,2 @@ +[object-fit-cover-svg-003p.html] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-images/object-fit-cover-svg-004e.html.ini b/tests/wpt/metadata-layout-2020/css/css-images/object-fit-cover-svg-004e.html.ini new file mode 100644 index 00000000000..be6e912994a --- /dev/null +++ b/tests/wpt/metadata-layout-2020/css/css-images/object-fit-cover-svg-004e.html.ini @@ -0,0 +1,2 @@ +[object-fit-cover-svg-004e.html] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-images/object-fit-cover-svg-004i.html.ini b/tests/wpt/metadata-layout-2020/css/css-images/object-fit-cover-svg-004i.html.ini new file mode 100644 index 00000000000..a646133aa3c --- /dev/null +++ b/tests/wpt/metadata-layout-2020/css/css-images/object-fit-cover-svg-004i.html.ini @@ -0,0 +1,2 @@ +[object-fit-cover-svg-004i.html] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-images/object-fit-cover-svg-004o.html.ini b/tests/wpt/metadata-layout-2020/css/css-images/object-fit-cover-svg-004o.html.ini new file mode 100644 index 00000000000..eab6240b4a9 --- /dev/null +++ b/tests/wpt/metadata-layout-2020/css/css-images/object-fit-cover-svg-004o.html.ini @@ -0,0 +1,2 @@ +[object-fit-cover-svg-004o.html] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-images/object-fit-cover-svg-004p.html.ini b/tests/wpt/metadata-layout-2020/css/css-images/object-fit-cover-svg-004p.html.ini new file mode 100644 index 00000000000..5c51c38c642 --- /dev/null +++ b/tests/wpt/metadata-layout-2020/css/css-images/object-fit-cover-svg-004p.html.ini @@ -0,0 +1,2 @@ +[object-fit-cover-svg-004p.html] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-images/object-fit-cover-svg-005e.html.ini b/tests/wpt/metadata-layout-2020/css/css-images/object-fit-cover-svg-005e.html.ini new file mode 100644 index 00000000000..38d9f0e7801 --- /dev/null +++ b/tests/wpt/metadata-layout-2020/css/css-images/object-fit-cover-svg-005e.html.ini @@ -0,0 +1,2 @@ +[object-fit-cover-svg-005e.html] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-images/object-fit-cover-svg-005i.html.ini b/tests/wpt/metadata-layout-2020/css/css-images/object-fit-cover-svg-005i.html.ini new file mode 100644 index 00000000000..e3a7e10e6d6 --- /dev/null +++ b/tests/wpt/metadata-layout-2020/css/css-images/object-fit-cover-svg-005i.html.ini @@ -0,0 +1,2 @@ +[object-fit-cover-svg-005i.html] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-images/object-fit-cover-svg-005o.html.ini b/tests/wpt/metadata-layout-2020/css/css-images/object-fit-cover-svg-005o.html.ini new file mode 100644 index 00000000000..5d7fc611956 --- /dev/null +++ b/tests/wpt/metadata-layout-2020/css/css-images/object-fit-cover-svg-005o.html.ini @@ -0,0 +1,2 @@ +[object-fit-cover-svg-005o.html] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-images/object-fit-cover-svg-005p.html.ini b/tests/wpt/metadata-layout-2020/css/css-images/object-fit-cover-svg-005p.html.ini new file mode 100644 index 00000000000..64b1c31a7f4 --- /dev/null +++ b/tests/wpt/metadata-layout-2020/css/css-images/object-fit-cover-svg-005p.html.ini @@ -0,0 +1,2 @@ +[object-fit-cover-svg-005p.html] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-images/object-fit-cover-svg-006e.html.ini b/tests/wpt/metadata-layout-2020/css/css-images/object-fit-cover-svg-006e.html.ini new file mode 100644 index 00000000000..6ef90150883 --- /dev/null +++ b/tests/wpt/metadata-layout-2020/css/css-images/object-fit-cover-svg-006e.html.ini @@ -0,0 +1,2 @@ +[object-fit-cover-svg-006e.html] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-images/object-fit-cover-svg-006i.html.ini b/tests/wpt/metadata-layout-2020/css/css-images/object-fit-cover-svg-006i.html.ini new file mode 100644 index 00000000000..fa964eba85c --- /dev/null +++ b/tests/wpt/metadata-layout-2020/css/css-images/object-fit-cover-svg-006i.html.ini @@ -0,0 +1,2 @@ +[object-fit-cover-svg-006i.html] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-images/object-fit-cover-svg-006o.html.ini b/tests/wpt/metadata-layout-2020/css/css-images/object-fit-cover-svg-006o.html.ini new file mode 100644 index 00000000000..e6181faca8f --- /dev/null +++ b/tests/wpt/metadata-layout-2020/css/css-images/object-fit-cover-svg-006o.html.ini @@ -0,0 +1,2 @@ +[object-fit-cover-svg-006o.html] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-images/object-fit-cover-svg-006p.html.ini b/tests/wpt/metadata-layout-2020/css/css-images/object-fit-cover-svg-006p.html.ini new file mode 100644 index 00000000000..5f671292cbe --- /dev/null +++ b/tests/wpt/metadata-layout-2020/css/css-images/object-fit-cover-svg-006p.html.ini @@ -0,0 +1,2 @@ +[object-fit-cover-svg-006p.html] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-images/object-fit-fill-svg-001e.html.ini b/tests/wpt/metadata-layout-2020/css/css-images/object-fit-fill-svg-001e.html.ini new file mode 100644 index 00000000000..053bd26534c --- /dev/null +++ b/tests/wpt/metadata-layout-2020/css/css-images/object-fit-fill-svg-001e.html.ini @@ -0,0 +1,2 @@ +[object-fit-fill-svg-001e.html] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-images/object-fit-fill-svg-001i.html.ini b/tests/wpt/metadata-layout-2020/css/css-images/object-fit-fill-svg-001i.html.ini new file mode 100644 index 00000000000..9eb35788714 --- /dev/null +++ b/tests/wpt/metadata-layout-2020/css/css-images/object-fit-fill-svg-001i.html.ini @@ -0,0 +1,2 @@ +[object-fit-fill-svg-001i.html] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-images/object-fit-fill-svg-001o.html.ini b/tests/wpt/metadata-layout-2020/css/css-images/object-fit-fill-svg-001o.html.ini new file mode 100644 index 00000000000..ab3cb1bf04e --- /dev/null +++ b/tests/wpt/metadata-layout-2020/css/css-images/object-fit-fill-svg-001o.html.ini @@ -0,0 +1,2 @@ +[object-fit-fill-svg-001o.html] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-images/object-fit-fill-svg-001p.html.ini b/tests/wpt/metadata-layout-2020/css/css-images/object-fit-fill-svg-001p.html.ini new file mode 100644 index 00000000000..9c273c31e33 --- /dev/null +++ b/tests/wpt/metadata-layout-2020/css/css-images/object-fit-fill-svg-001p.html.ini @@ -0,0 +1,2 @@ +[object-fit-fill-svg-001p.html] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-images/object-fit-fill-svg-002e.html.ini b/tests/wpt/metadata-layout-2020/css/css-images/object-fit-fill-svg-002e.html.ini new file mode 100644 index 00000000000..9188006ec46 --- /dev/null +++ b/tests/wpt/metadata-layout-2020/css/css-images/object-fit-fill-svg-002e.html.ini @@ -0,0 +1,2 @@ +[object-fit-fill-svg-002e.html] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-images/object-fit-fill-svg-002i.html.ini b/tests/wpt/metadata-layout-2020/css/css-images/object-fit-fill-svg-002i.html.ini new file mode 100644 index 00000000000..ada9f48d639 --- /dev/null +++ b/tests/wpt/metadata-layout-2020/css/css-images/object-fit-fill-svg-002i.html.ini @@ -0,0 +1,2 @@ +[object-fit-fill-svg-002i.html] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-images/object-fit-fill-svg-002o.html.ini b/tests/wpt/metadata-layout-2020/css/css-images/object-fit-fill-svg-002o.html.ini new file mode 100644 index 00000000000..96a2e9c58ae --- /dev/null +++ b/tests/wpt/metadata-layout-2020/css/css-images/object-fit-fill-svg-002o.html.ini @@ -0,0 +1,2 @@ +[object-fit-fill-svg-002o.html] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-images/object-fit-fill-svg-002p.html.ini b/tests/wpt/metadata-layout-2020/css/css-images/object-fit-fill-svg-002p.html.ini new file mode 100644 index 00000000000..a03eae517c0 --- /dev/null +++ b/tests/wpt/metadata-layout-2020/css/css-images/object-fit-fill-svg-002p.html.ini @@ -0,0 +1,2 @@ +[object-fit-fill-svg-002p.html] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-images/object-fit-fill-svg-003e.html.ini b/tests/wpt/metadata-layout-2020/css/css-images/object-fit-fill-svg-003e.html.ini new file mode 100644 index 00000000000..a60574dff0a --- /dev/null +++ b/tests/wpt/metadata-layout-2020/css/css-images/object-fit-fill-svg-003e.html.ini @@ -0,0 +1,2 @@ +[object-fit-fill-svg-003e.html] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-images/object-fit-fill-svg-003i.html.ini b/tests/wpt/metadata-layout-2020/css/css-images/object-fit-fill-svg-003i.html.ini new file mode 100644 index 00000000000..3adf51ad124 --- /dev/null +++ b/tests/wpt/metadata-layout-2020/css/css-images/object-fit-fill-svg-003i.html.ini @@ -0,0 +1,2 @@ +[object-fit-fill-svg-003i.html] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-images/object-fit-fill-svg-003o.html.ini b/tests/wpt/metadata-layout-2020/css/css-images/object-fit-fill-svg-003o.html.ini new file mode 100644 index 00000000000..3edf5883e39 --- /dev/null +++ b/tests/wpt/metadata-layout-2020/css/css-images/object-fit-fill-svg-003o.html.ini @@ -0,0 +1,2 @@ +[object-fit-fill-svg-003o.html] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-images/object-fit-fill-svg-003p.html.ini b/tests/wpt/metadata-layout-2020/css/css-images/object-fit-fill-svg-003p.html.ini new file mode 100644 index 00000000000..cb28238f343 --- /dev/null +++ b/tests/wpt/metadata-layout-2020/css/css-images/object-fit-fill-svg-003p.html.ini @@ -0,0 +1,2 @@ +[object-fit-fill-svg-003p.html] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-images/object-fit-fill-svg-004e.html.ini b/tests/wpt/metadata-layout-2020/css/css-images/object-fit-fill-svg-004e.html.ini new file mode 100644 index 00000000000..09e25a6cc67 --- /dev/null +++ b/tests/wpt/metadata-layout-2020/css/css-images/object-fit-fill-svg-004e.html.ini @@ -0,0 +1,2 @@ +[object-fit-fill-svg-004e.html] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-images/object-fit-fill-svg-004i.html.ini b/tests/wpt/metadata-layout-2020/css/css-images/object-fit-fill-svg-004i.html.ini new file mode 100644 index 00000000000..1024993dff2 --- /dev/null +++ b/tests/wpt/metadata-layout-2020/css/css-images/object-fit-fill-svg-004i.html.ini @@ -0,0 +1,2 @@ +[object-fit-fill-svg-004i.html] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-images/object-fit-fill-svg-004o.html.ini b/tests/wpt/metadata-layout-2020/css/css-images/object-fit-fill-svg-004o.html.ini new file mode 100644 index 00000000000..f14245fb326 --- /dev/null +++ b/tests/wpt/metadata-layout-2020/css/css-images/object-fit-fill-svg-004o.html.ini @@ -0,0 +1,2 @@ +[object-fit-fill-svg-004o.html] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-images/object-fit-fill-svg-004p.html.ini b/tests/wpt/metadata-layout-2020/css/css-images/object-fit-fill-svg-004p.html.ini new file mode 100644 index 00000000000..8282df076d4 --- /dev/null +++ b/tests/wpt/metadata-layout-2020/css/css-images/object-fit-fill-svg-004p.html.ini @@ -0,0 +1,2 @@ +[object-fit-fill-svg-004p.html] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-images/object-fit-fill-svg-005e.html.ini b/tests/wpt/metadata-layout-2020/css/css-images/object-fit-fill-svg-005e.html.ini new file mode 100644 index 00000000000..603d09202bd --- /dev/null +++ b/tests/wpt/metadata-layout-2020/css/css-images/object-fit-fill-svg-005e.html.ini @@ -0,0 +1,2 @@ +[object-fit-fill-svg-005e.html] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-images/object-fit-fill-svg-005i.html.ini b/tests/wpt/metadata-layout-2020/css/css-images/object-fit-fill-svg-005i.html.ini new file mode 100644 index 00000000000..042f318edf3 --- /dev/null +++ b/tests/wpt/metadata-layout-2020/css/css-images/object-fit-fill-svg-005i.html.ini @@ -0,0 +1,2 @@ +[object-fit-fill-svg-005i.html] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-images/object-fit-fill-svg-005o.html.ini b/tests/wpt/metadata-layout-2020/css/css-images/object-fit-fill-svg-005o.html.ini new file mode 100644 index 00000000000..37f7f67683c --- /dev/null +++ b/tests/wpt/metadata-layout-2020/css/css-images/object-fit-fill-svg-005o.html.ini @@ -0,0 +1,2 @@ +[object-fit-fill-svg-005o.html] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-images/object-fit-fill-svg-005p.html.ini b/tests/wpt/metadata-layout-2020/css/css-images/object-fit-fill-svg-005p.html.ini new file mode 100644 index 00000000000..e792f03ec28 --- /dev/null +++ b/tests/wpt/metadata-layout-2020/css/css-images/object-fit-fill-svg-005p.html.ini @@ -0,0 +1,2 @@ +[object-fit-fill-svg-005p.html] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-images/object-fit-fill-svg-006e.html.ini b/tests/wpt/metadata-layout-2020/css/css-images/object-fit-fill-svg-006e.html.ini new file mode 100644 index 00000000000..28a7ec9e4df --- /dev/null +++ b/tests/wpt/metadata-layout-2020/css/css-images/object-fit-fill-svg-006e.html.ini @@ -0,0 +1,2 @@ +[object-fit-fill-svg-006e.html] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-images/object-fit-fill-svg-006i.html.ini b/tests/wpt/metadata-layout-2020/css/css-images/object-fit-fill-svg-006i.html.ini new file mode 100644 index 00000000000..64156f5833d --- /dev/null +++ b/tests/wpt/metadata-layout-2020/css/css-images/object-fit-fill-svg-006i.html.ini @@ -0,0 +1,2 @@ +[object-fit-fill-svg-006i.html] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-images/object-fit-fill-svg-006o.html.ini b/tests/wpt/metadata-layout-2020/css/css-images/object-fit-fill-svg-006o.html.ini new file mode 100644 index 00000000000..4215550bdf7 --- /dev/null +++ b/tests/wpt/metadata-layout-2020/css/css-images/object-fit-fill-svg-006o.html.ini @@ -0,0 +1,2 @@ +[object-fit-fill-svg-006o.html] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-images/object-fit-fill-svg-006p.html.ini b/tests/wpt/metadata-layout-2020/css/css-images/object-fit-fill-svg-006p.html.ini new file mode 100644 index 00000000000..b18aebae7bb --- /dev/null +++ b/tests/wpt/metadata-layout-2020/css/css-images/object-fit-fill-svg-006p.html.ini @@ -0,0 +1,2 @@ +[object-fit-fill-svg-006p.html] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-images/object-fit-none-svg-001e.html.ini b/tests/wpt/metadata-layout-2020/css/css-images/object-fit-none-svg-001e.html.ini new file mode 100644 index 00000000000..b23292a0ec3 --- /dev/null +++ b/tests/wpt/metadata-layout-2020/css/css-images/object-fit-none-svg-001e.html.ini @@ -0,0 +1,2 @@ +[object-fit-none-svg-001e.html] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-images/object-fit-none-svg-001i.html.ini b/tests/wpt/metadata-layout-2020/css/css-images/object-fit-none-svg-001i.html.ini new file mode 100644 index 00000000000..f8457c8ae32 --- /dev/null +++ b/tests/wpt/metadata-layout-2020/css/css-images/object-fit-none-svg-001i.html.ini @@ -0,0 +1,2 @@ +[object-fit-none-svg-001i.html] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-images/object-fit-none-svg-001o.html.ini b/tests/wpt/metadata-layout-2020/css/css-images/object-fit-none-svg-001o.html.ini new file mode 100644 index 00000000000..efd7b395751 --- /dev/null +++ b/tests/wpt/metadata-layout-2020/css/css-images/object-fit-none-svg-001o.html.ini @@ -0,0 +1,2 @@ +[object-fit-none-svg-001o.html] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-images/object-fit-none-svg-001p.html.ini b/tests/wpt/metadata-layout-2020/css/css-images/object-fit-none-svg-001p.html.ini new file mode 100644 index 00000000000..ed2cdf77c3d --- /dev/null +++ b/tests/wpt/metadata-layout-2020/css/css-images/object-fit-none-svg-001p.html.ini @@ -0,0 +1,2 @@ +[object-fit-none-svg-001p.html] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-images/object-fit-none-svg-002e.html.ini b/tests/wpt/metadata-layout-2020/css/css-images/object-fit-none-svg-002e.html.ini new file mode 100644 index 00000000000..13473c89922 --- /dev/null +++ b/tests/wpt/metadata-layout-2020/css/css-images/object-fit-none-svg-002e.html.ini @@ -0,0 +1,2 @@ +[object-fit-none-svg-002e.html] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-images/object-fit-none-svg-002i.html.ini b/tests/wpt/metadata-layout-2020/css/css-images/object-fit-none-svg-002i.html.ini new file mode 100644 index 00000000000..a7d28435545 --- /dev/null +++ b/tests/wpt/metadata-layout-2020/css/css-images/object-fit-none-svg-002i.html.ini @@ -0,0 +1,2 @@ +[object-fit-none-svg-002i.html] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-images/object-fit-none-svg-002o.html.ini b/tests/wpt/metadata-layout-2020/css/css-images/object-fit-none-svg-002o.html.ini new file mode 100644 index 00000000000..a129e5b18ff --- /dev/null +++ b/tests/wpt/metadata-layout-2020/css/css-images/object-fit-none-svg-002o.html.ini @@ -0,0 +1,2 @@ +[object-fit-none-svg-002o.html] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-images/object-fit-none-svg-002p.html.ini b/tests/wpt/metadata-layout-2020/css/css-images/object-fit-none-svg-002p.html.ini new file mode 100644 index 00000000000..d8c32e0b51d --- /dev/null +++ b/tests/wpt/metadata-layout-2020/css/css-images/object-fit-none-svg-002p.html.ini @@ -0,0 +1,2 @@ +[object-fit-none-svg-002p.html] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-images/object-fit-none-svg-003e.html.ini b/tests/wpt/metadata-layout-2020/css/css-images/object-fit-none-svg-003e.html.ini new file mode 100644 index 00000000000..df687ff2651 --- /dev/null +++ b/tests/wpt/metadata-layout-2020/css/css-images/object-fit-none-svg-003e.html.ini @@ -0,0 +1,2 @@ +[object-fit-none-svg-003e.html] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-images/object-fit-none-svg-003i.html.ini b/tests/wpt/metadata-layout-2020/css/css-images/object-fit-none-svg-003i.html.ini new file mode 100644 index 00000000000..89ad71d359b --- /dev/null +++ b/tests/wpt/metadata-layout-2020/css/css-images/object-fit-none-svg-003i.html.ini @@ -0,0 +1,2 @@ +[object-fit-none-svg-003i.html] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-images/object-fit-none-svg-003o.html.ini b/tests/wpt/metadata-layout-2020/css/css-images/object-fit-none-svg-003o.html.ini new file mode 100644 index 00000000000..356f7eb2a69 --- /dev/null +++ b/tests/wpt/metadata-layout-2020/css/css-images/object-fit-none-svg-003o.html.ini @@ -0,0 +1,2 @@ +[object-fit-none-svg-003o.html] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-images/object-fit-none-svg-003p.html.ini b/tests/wpt/metadata-layout-2020/css/css-images/object-fit-none-svg-003p.html.ini new file mode 100644 index 00000000000..87ed291226a --- /dev/null +++ b/tests/wpt/metadata-layout-2020/css/css-images/object-fit-none-svg-003p.html.ini @@ -0,0 +1,2 @@ +[object-fit-none-svg-003p.html] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-images/object-fit-none-svg-004e.html.ini b/tests/wpt/metadata-layout-2020/css/css-images/object-fit-none-svg-004e.html.ini new file mode 100644 index 00000000000..60845d9af3d --- /dev/null +++ b/tests/wpt/metadata-layout-2020/css/css-images/object-fit-none-svg-004e.html.ini @@ -0,0 +1,2 @@ +[object-fit-none-svg-004e.html] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-images/object-fit-none-svg-004i.html.ini b/tests/wpt/metadata-layout-2020/css/css-images/object-fit-none-svg-004i.html.ini new file mode 100644 index 00000000000..94b6e5ddd9d --- /dev/null +++ b/tests/wpt/metadata-layout-2020/css/css-images/object-fit-none-svg-004i.html.ini @@ -0,0 +1,2 @@ +[object-fit-none-svg-004i.html] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-images/object-fit-none-svg-004o.html.ini b/tests/wpt/metadata-layout-2020/css/css-images/object-fit-none-svg-004o.html.ini new file mode 100644 index 00000000000..47ce25e48a8 --- /dev/null +++ b/tests/wpt/metadata-layout-2020/css/css-images/object-fit-none-svg-004o.html.ini @@ -0,0 +1,2 @@ +[object-fit-none-svg-004o.html] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-images/object-fit-none-svg-004p.html.ini b/tests/wpt/metadata-layout-2020/css/css-images/object-fit-none-svg-004p.html.ini new file mode 100644 index 00000000000..4dd87df57e8 --- /dev/null +++ b/tests/wpt/metadata-layout-2020/css/css-images/object-fit-none-svg-004p.html.ini @@ -0,0 +1,2 @@ +[object-fit-none-svg-004p.html] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-images/object-fit-none-svg-005e.html.ini b/tests/wpt/metadata-layout-2020/css/css-images/object-fit-none-svg-005e.html.ini new file mode 100644 index 00000000000..51f78ff704a --- /dev/null +++ b/tests/wpt/metadata-layout-2020/css/css-images/object-fit-none-svg-005e.html.ini @@ -0,0 +1,2 @@ +[object-fit-none-svg-005e.html] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-images/object-fit-none-svg-005i.html.ini b/tests/wpt/metadata-layout-2020/css/css-images/object-fit-none-svg-005i.html.ini new file mode 100644 index 00000000000..49d591ec258 --- /dev/null +++ b/tests/wpt/metadata-layout-2020/css/css-images/object-fit-none-svg-005i.html.ini @@ -0,0 +1,2 @@ +[object-fit-none-svg-005i.html] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-images/object-fit-none-svg-005o.html.ini b/tests/wpt/metadata-layout-2020/css/css-images/object-fit-none-svg-005o.html.ini new file mode 100644 index 00000000000..006bcc59cc7 --- /dev/null +++ b/tests/wpt/metadata-layout-2020/css/css-images/object-fit-none-svg-005o.html.ini @@ -0,0 +1,2 @@ +[object-fit-none-svg-005o.html] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-images/object-fit-none-svg-005p.html.ini b/tests/wpt/metadata-layout-2020/css/css-images/object-fit-none-svg-005p.html.ini new file mode 100644 index 00000000000..09e222cef5d --- /dev/null +++ b/tests/wpt/metadata-layout-2020/css/css-images/object-fit-none-svg-005p.html.ini @@ -0,0 +1,2 @@ +[object-fit-none-svg-005p.html] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-images/object-fit-none-svg-006e.html.ini b/tests/wpt/metadata-layout-2020/css/css-images/object-fit-none-svg-006e.html.ini new file mode 100644 index 00000000000..c0c12c24af1 --- /dev/null +++ b/tests/wpt/metadata-layout-2020/css/css-images/object-fit-none-svg-006e.html.ini @@ -0,0 +1,2 @@ +[object-fit-none-svg-006e.html] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-images/object-fit-none-svg-006i.html.ini b/tests/wpt/metadata-layout-2020/css/css-images/object-fit-none-svg-006i.html.ini new file mode 100644 index 00000000000..b9035832908 --- /dev/null +++ b/tests/wpt/metadata-layout-2020/css/css-images/object-fit-none-svg-006i.html.ini @@ -0,0 +1,2 @@ +[object-fit-none-svg-006i.html] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-images/object-fit-none-svg-006o.html.ini b/tests/wpt/metadata-layout-2020/css/css-images/object-fit-none-svg-006o.html.ini new file mode 100644 index 00000000000..67a0cd9cece --- /dev/null +++ b/tests/wpt/metadata-layout-2020/css/css-images/object-fit-none-svg-006o.html.ini @@ -0,0 +1,2 @@ +[object-fit-none-svg-006o.html] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-images/object-fit-none-svg-006p.html.ini b/tests/wpt/metadata-layout-2020/css/css-images/object-fit-none-svg-006p.html.ini new file mode 100644 index 00000000000..14740d50837 --- /dev/null +++ b/tests/wpt/metadata-layout-2020/css/css-images/object-fit-none-svg-006p.html.ini @@ -0,0 +1,2 @@ +[object-fit-none-svg-006p.html] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-images/object-fit-scale-down-svg-001e.html.ini b/tests/wpt/metadata-layout-2020/css/css-images/object-fit-scale-down-svg-001e.html.ini new file mode 100644 index 00000000000..2b024c447dd --- /dev/null +++ b/tests/wpt/metadata-layout-2020/css/css-images/object-fit-scale-down-svg-001e.html.ini @@ -0,0 +1,2 @@ +[object-fit-scale-down-svg-001e.html] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-images/object-fit-scale-down-svg-001i.html.ini b/tests/wpt/metadata-layout-2020/css/css-images/object-fit-scale-down-svg-001i.html.ini new file mode 100644 index 00000000000..9c410180533 --- /dev/null +++ b/tests/wpt/metadata-layout-2020/css/css-images/object-fit-scale-down-svg-001i.html.ini @@ -0,0 +1,2 @@ +[object-fit-scale-down-svg-001i.html] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-images/object-fit-scale-down-svg-001o.html.ini b/tests/wpt/metadata-layout-2020/css/css-images/object-fit-scale-down-svg-001o.html.ini new file mode 100644 index 00000000000..dd57ef4c5d1 --- /dev/null +++ b/tests/wpt/metadata-layout-2020/css/css-images/object-fit-scale-down-svg-001o.html.ini @@ -0,0 +1,2 @@ +[object-fit-scale-down-svg-001o.html] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-images/object-fit-scale-down-svg-001p.html.ini b/tests/wpt/metadata-layout-2020/css/css-images/object-fit-scale-down-svg-001p.html.ini new file mode 100644 index 00000000000..b010771ea44 --- /dev/null +++ b/tests/wpt/metadata-layout-2020/css/css-images/object-fit-scale-down-svg-001p.html.ini @@ -0,0 +1,2 @@ +[object-fit-scale-down-svg-001p.html] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-images/object-fit-scale-down-svg-002e.html.ini b/tests/wpt/metadata-layout-2020/css/css-images/object-fit-scale-down-svg-002e.html.ini new file mode 100644 index 00000000000..002a7839ac4 --- /dev/null +++ b/tests/wpt/metadata-layout-2020/css/css-images/object-fit-scale-down-svg-002e.html.ini @@ -0,0 +1,2 @@ +[object-fit-scale-down-svg-002e.html] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-images/object-fit-scale-down-svg-002i.html.ini b/tests/wpt/metadata-layout-2020/css/css-images/object-fit-scale-down-svg-002i.html.ini new file mode 100644 index 00000000000..97b6aaa6169 --- /dev/null +++ b/tests/wpt/metadata-layout-2020/css/css-images/object-fit-scale-down-svg-002i.html.ini @@ -0,0 +1,2 @@ +[object-fit-scale-down-svg-002i.html] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-images/object-fit-scale-down-svg-002o.html.ini b/tests/wpt/metadata-layout-2020/css/css-images/object-fit-scale-down-svg-002o.html.ini new file mode 100644 index 00000000000..8eef45d59e8 --- /dev/null +++ b/tests/wpt/metadata-layout-2020/css/css-images/object-fit-scale-down-svg-002o.html.ini @@ -0,0 +1,2 @@ +[object-fit-scale-down-svg-002o.html] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-images/object-fit-scale-down-svg-002p.html.ini b/tests/wpt/metadata-layout-2020/css/css-images/object-fit-scale-down-svg-002p.html.ini new file mode 100644 index 00000000000..4a9a46ba7c0 --- /dev/null +++ b/tests/wpt/metadata-layout-2020/css/css-images/object-fit-scale-down-svg-002p.html.ini @@ -0,0 +1,2 @@ +[object-fit-scale-down-svg-002p.html] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-images/object-fit-scale-down-svg-003e.html.ini b/tests/wpt/metadata-layout-2020/css/css-images/object-fit-scale-down-svg-003e.html.ini new file mode 100644 index 00000000000..75fad64f053 --- /dev/null +++ b/tests/wpt/metadata-layout-2020/css/css-images/object-fit-scale-down-svg-003e.html.ini @@ -0,0 +1,2 @@ +[object-fit-scale-down-svg-003e.html] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-images/object-fit-scale-down-svg-003i.html.ini b/tests/wpt/metadata-layout-2020/css/css-images/object-fit-scale-down-svg-003i.html.ini new file mode 100644 index 00000000000..78946aa6c98 --- /dev/null +++ b/tests/wpt/metadata-layout-2020/css/css-images/object-fit-scale-down-svg-003i.html.ini @@ -0,0 +1,2 @@ +[object-fit-scale-down-svg-003i.html] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-images/object-fit-scale-down-svg-003o.html.ini b/tests/wpt/metadata-layout-2020/css/css-images/object-fit-scale-down-svg-003o.html.ini new file mode 100644 index 00000000000..da83b18b54a --- /dev/null +++ b/tests/wpt/metadata-layout-2020/css/css-images/object-fit-scale-down-svg-003o.html.ini @@ -0,0 +1,2 @@ +[object-fit-scale-down-svg-003o.html] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-images/object-fit-scale-down-svg-003p.html.ini b/tests/wpt/metadata-layout-2020/css/css-images/object-fit-scale-down-svg-003p.html.ini new file mode 100644 index 00000000000..3558f371591 --- /dev/null +++ b/tests/wpt/metadata-layout-2020/css/css-images/object-fit-scale-down-svg-003p.html.ini @@ -0,0 +1,2 @@ +[object-fit-scale-down-svg-003p.html] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-images/object-fit-scale-down-svg-004e.html.ini b/tests/wpt/metadata-layout-2020/css/css-images/object-fit-scale-down-svg-004e.html.ini new file mode 100644 index 00000000000..aa2eb09fca9 --- /dev/null +++ b/tests/wpt/metadata-layout-2020/css/css-images/object-fit-scale-down-svg-004e.html.ini @@ -0,0 +1,2 @@ +[object-fit-scale-down-svg-004e.html] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-images/object-fit-scale-down-svg-004i.html.ini b/tests/wpt/metadata-layout-2020/css/css-images/object-fit-scale-down-svg-004i.html.ini new file mode 100644 index 00000000000..8b1a21b16ea --- /dev/null +++ b/tests/wpt/metadata-layout-2020/css/css-images/object-fit-scale-down-svg-004i.html.ini @@ -0,0 +1,2 @@ +[object-fit-scale-down-svg-004i.html] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-images/object-fit-scale-down-svg-004o.html.ini b/tests/wpt/metadata-layout-2020/css/css-images/object-fit-scale-down-svg-004o.html.ini new file mode 100644 index 00000000000..8be1fe66560 --- /dev/null +++ b/tests/wpt/metadata-layout-2020/css/css-images/object-fit-scale-down-svg-004o.html.ini @@ -0,0 +1,2 @@ +[object-fit-scale-down-svg-004o.html] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-images/object-fit-scale-down-svg-004p.html.ini b/tests/wpt/metadata-layout-2020/css/css-images/object-fit-scale-down-svg-004p.html.ini new file mode 100644 index 00000000000..efd8dbeb94b --- /dev/null +++ b/tests/wpt/metadata-layout-2020/css/css-images/object-fit-scale-down-svg-004p.html.ini @@ -0,0 +1,2 @@ +[object-fit-scale-down-svg-004p.html] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-images/object-fit-scale-down-svg-005e.html.ini b/tests/wpt/metadata-layout-2020/css/css-images/object-fit-scale-down-svg-005e.html.ini new file mode 100644 index 00000000000..03c1eeb32eb --- /dev/null +++ b/tests/wpt/metadata-layout-2020/css/css-images/object-fit-scale-down-svg-005e.html.ini @@ -0,0 +1,2 @@ +[object-fit-scale-down-svg-005e.html] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-images/object-fit-scale-down-svg-005i.html.ini b/tests/wpt/metadata-layout-2020/css/css-images/object-fit-scale-down-svg-005i.html.ini new file mode 100644 index 00000000000..0a6012c5e94 --- /dev/null +++ b/tests/wpt/metadata-layout-2020/css/css-images/object-fit-scale-down-svg-005i.html.ini @@ -0,0 +1,2 @@ +[object-fit-scale-down-svg-005i.html] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-images/object-fit-scale-down-svg-005o.html.ini b/tests/wpt/metadata-layout-2020/css/css-images/object-fit-scale-down-svg-005o.html.ini new file mode 100644 index 00000000000..81ca9c0a8c2 --- /dev/null +++ b/tests/wpt/metadata-layout-2020/css/css-images/object-fit-scale-down-svg-005o.html.ini @@ -0,0 +1,2 @@ +[object-fit-scale-down-svg-005o.html] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-images/object-fit-scale-down-svg-005p.html.ini b/tests/wpt/metadata-layout-2020/css/css-images/object-fit-scale-down-svg-005p.html.ini new file mode 100644 index 00000000000..baf102e65ab --- /dev/null +++ b/tests/wpt/metadata-layout-2020/css/css-images/object-fit-scale-down-svg-005p.html.ini @@ -0,0 +1,2 @@ +[object-fit-scale-down-svg-005p.html] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-images/object-fit-scale-down-svg-006e.html.ini b/tests/wpt/metadata-layout-2020/css/css-images/object-fit-scale-down-svg-006e.html.ini new file mode 100644 index 00000000000..515ce5ab41f --- /dev/null +++ b/tests/wpt/metadata-layout-2020/css/css-images/object-fit-scale-down-svg-006e.html.ini @@ -0,0 +1,2 @@ +[object-fit-scale-down-svg-006e.html] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-images/object-fit-scale-down-svg-006i.html.ini b/tests/wpt/metadata-layout-2020/css/css-images/object-fit-scale-down-svg-006i.html.ini new file mode 100644 index 00000000000..3af3c7766e4 --- /dev/null +++ b/tests/wpt/metadata-layout-2020/css/css-images/object-fit-scale-down-svg-006i.html.ini @@ -0,0 +1,2 @@ +[object-fit-scale-down-svg-006i.html] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-images/object-fit-scale-down-svg-006o.html.ini b/tests/wpt/metadata-layout-2020/css/css-images/object-fit-scale-down-svg-006o.html.ini new file mode 100644 index 00000000000..8e1c71567b0 --- /dev/null +++ b/tests/wpt/metadata-layout-2020/css/css-images/object-fit-scale-down-svg-006o.html.ini @@ -0,0 +1,2 @@ +[object-fit-scale-down-svg-006o.html] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-images/object-fit-scale-down-svg-006p.html.ini b/tests/wpt/metadata-layout-2020/css/css-images/object-fit-scale-down-svg-006p.html.ini new file mode 100644 index 00000000000..2cbacc82673 --- /dev/null +++ b/tests/wpt/metadata-layout-2020/css/css-images/object-fit-scale-down-svg-006p.html.ini @@ -0,0 +1,2 @@ +[object-fit-scale-down-svg-006p.html] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-images/object-position-svg-001e.html.ini b/tests/wpt/metadata-layout-2020/css/css-images/object-position-svg-001e.html.ini new file mode 100644 index 00000000000..69712626d0f --- /dev/null +++ b/tests/wpt/metadata-layout-2020/css/css-images/object-position-svg-001e.html.ini @@ -0,0 +1,2 @@ +[object-position-svg-001e.html] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-images/object-position-svg-001i.html.ini b/tests/wpt/metadata-layout-2020/css/css-images/object-position-svg-001i.html.ini new file mode 100644 index 00000000000..a5f2521a887 --- /dev/null +++ b/tests/wpt/metadata-layout-2020/css/css-images/object-position-svg-001i.html.ini @@ -0,0 +1,2 @@ +[object-position-svg-001i.html] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-images/object-position-svg-001o.html.ini b/tests/wpt/metadata-layout-2020/css/css-images/object-position-svg-001o.html.ini new file mode 100644 index 00000000000..135a02d147e --- /dev/null +++ b/tests/wpt/metadata-layout-2020/css/css-images/object-position-svg-001o.html.ini @@ -0,0 +1,2 @@ +[object-position-svg-001o.html] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-images/object-position-svg-001p.html.ini b/tests/wpt/metadata-layout-2020/css/css-images/object-position-svg-001p.html.ini new file mode 100644 index 00000000000..60fe5ffe456 --- /dev/null +++ b/tests/wpt/metadata-layout-2020/css/css-images/object-position-svg-001p.html.ini @@ -0,0 +1,2 @@ +[object-position-svg-001p.html] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-images/object-position-svg-002e.html.ini b/tests/wpt/metadata-layout-2020/css/css-images/object-position-svg-002e.html.ini new file mode 100644 index 00000000000..08bee8e967e --- /dev/null +++ b/tests/wpt/metadata-layout-2020/css/css-images/object-position-svg-002e.html.ini @@ -0,0 +1,2 @@ +[object-position-svg-002e.html] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-images/object-position-svg-002i.html.ini b/tests/wpt/metadata-layout-2020/css/css-images/object-position-svg-002i.html.ini new file mode 100644 index 00000000000..db121f5f37e --- /dev/null +++ b/tests/wpt/metadata-layout-2020/css/css-images/object-position-svg-002i.html.ini @@ -0,0 +1,2 @@ +[object-position-svg-002i.html] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-images/object-position-svg-002o.html.ini b/tests/wpt/metadata-layout-2020/css/css-images/object-position-svg-002o.html.ini new file mode 100644 index 00000000000..3b5db70a574 --- /dev/null +++ b/tests/wpt/metadata-layout-2020/css/css-images/object-position-svg-002o.html.ini @@ -0,0 +1,2 @@ +[object-position-svg-002o.html] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-images/object-position-svg-002p.html.ini b/tests/wpt/metadata-layout-2020/css/css-images/object-position-svg-002p.html.ini new file mode 100644 index 00000000000..99ff18c7bcb --- /dev/null +++ b/tests/wpt/metadata-layout-2020/css/css-images/object-position-svg-002p.html.ini @@ -0,0 +1,2 @@ +[object-position-svg-002p.html] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-paint-api/background-image-alpha.https.html.ini b/tests/wpt/metadata-layout-2020/css/css-paint-api/background-image-alpha.https.html.ini new file mode 100644 index 00000000000..5622880e982 --- /dev/null +++ b/tests/wpt/metadata-layout-2020/css/css-paint-api/background-image-alpha.https.html.ini @@ -0,0 +1,2 @@ +[background-image-alpha.https.html] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-paint-api/background-image-multiple.https.html.ini b/tests/wpt/metadata-layout-2020/css/css-paint-api/background-image-multiple.https.html.ini new file mode 100644 index 00000000000..80c0b001948 --- /dev/null +++ b/tests/wpt/metadata-layout-2020/css/css-paint-api/background-image-multiple.https.html.ini @@ -0,0 +1,2 @@ +[background-image-multiple.https.html] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-paint-api/background-repeat-x.https.html.ini b/tests/wpt/metadata-layout-2020/css/css-paint-api/background-repeat-x.https.html.ini new file mode 100644 index 00000000000..be54213e3ab --- /dev/null +++ b/tests/wpt/metadata-layout-2020/css/css-paint-api/background-repeat-x.https.html.ini @@ -0,0 +1,2 @@ +[background-repeat-x.https.html] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-paint-api/dynamic-import.https.html.ini b/tests/wpt/metadata-layout-2020/css/css-paint-api/dynamic-import.https.html.ini index d8cc2ac5152..d1d207a60f8 100644 --- a/tests/wpt/metadata-layout-2020/css/css-paint-api/dynamic-import.https.html.ini +++ b/tests/wpt/metadata-layout-2020/css/css-paint-api/dynamic-import.https.html.ini @@ -1,2 +1,2 @@ [dynamic-import.https.html] - expected: CRASH + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-paint-api/geometry-background-image-001.https.html.ini b/tests/wpt/metadata-layout-2020/css/css-paint-api/geometry-background-image-001.https.html.ini new file mode 100644 index 00000000000..85ec30a8b4a --- /dev/null +++ b/tests/wpt/metadata-layout-2020/css/css-paint-api/geometry-background-image-001.https.html.ini @@ -0,0 +1,2 @@ +[geometry-background-image-001.https.html] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-paint-api/geometry-background-image-002.https.html.ini b/tests/wpt/metadata-layout-2020/css/css-paint-api/geometry-background-image-002.https.html.ini new file mode 100644 index 00000000000..e91ce72e422 --- /dev/null +++ b/tests/wpt/metadata-layout-2020/css/css-paint-api/geometry-background-image-002.https.html.ini @@ -0,0 +1,2 @@ +[geometry-background-image-002.https.html] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-paint-api/geometry-background-image-tiled-001.https.html.ini b/tests/wpt/metadata-layout-2020/css/css-paint-api/geometry-background-image-tiled-001.https.html.ini new file mode 100644 index 00000000000..8313b6f0365 --- /dev/null +++ b/tests/wpt/metadata-layout-2020/css/css-paint-api/geometry-background-image-tiled-001.https.html.ini @@ -0,0 +1,2 @@ +[geometry-background-image-tiled-001.https.html] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-paint-api/geometry-background-image-tiled-002.https.html.ini b/tests/wpt/metadata-layout-2020/css/css-paint-api/geometry-background-image-tiled-002.https.html.ini new file mode 100644 index 00000000000..7ab091c56e7 --- /dev/null +++ b/tests/wpt/metadata-layout-2020/css/css-paint-api/geometry-background-image-tiled-002.https.html.ini @@ -0,0 +1,2 @@ +[geometry-background-image-tiled-002.https.html] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-paint-api/geometry-background-image-tiled-003.https.html.ini b/tests/wpt/metadata-layout-2020/css/css-paint-api/geometry-background-image-tiled-003.https.html.ini new file mode 100644 index 00000000000..055a7ac770f --- /dev/null +++ b/tests/wpt/metadata-layout-2020/css/css-paint-api/geometry-background-image-tiled-003.https.html.ini @@ -0,0 +1,2 @@ +[geometry-background-image-tiled-003.https.html] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-paint-api/geometry-border-image-001.https.html.ini b/tests/wpt/metadata-layout-2020/css/css-paint-api/geometry-border-image-001.https.html.ini new file mode 100644 index 00000000000..0d766fd36f5 --- /dev/null +++ b/tests/wpt/metadata-layout-2020/css/css-paint-api/geometry-border-image-001.https.html.ini @@ -0,0 +1,2 @@ +[geometry-border-image-001.https.html] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-paint-api/geometry-border-image-002.https.html.ini b/tests/wpt/metadata-layout-2020/css/css-paint-api/geometry-border-image-002.https.html.ini new file mode 100644 index 00000000000..3f89d30c761 --- /dev/null +++ b/tests/wpt/metadata-layout-2020/css/css-paint-api/geometry-border-image-002.https.html.ini @@ -0,0 +1,2 @@ +[geometry-border-image-002.https.html] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-paint-api/geometry-border-image-003.https.html.ini b/tests/wpt/metadata-layout-2020/css/css-paint-api/geometry-border-image-003.https.html.ini new file mode 100644 index 00000000000..7e8b73d0c1a --- /dev/null +++ b/tests/wpt/metadata-layout-2020/css/css-paint-api/geometry-border-image-003.https.html.ini @@ -0,0 +1,2 @@ +[geometry-border-image-003.https.html] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-paint-api/geometry-border-image-004.https.html.ini b/tests/wpt/metadata-layout-2020/css/css-paint-api/geometry-border-image-004.https.html.ini new file mode 100644 index 00000000000..b47eb1e27db --- /dev/null +++ b/tests/wpt/metadata-layout-2020/css/css-paint-api/geometry-border-image-004.https.html.ini @@ -0,0 +1,2 @@ +[geometry-border-image-004.https.html] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-paint-api/geometry-border-image-005.https.html.ini b/tests/wpt/metadata-layout-2020/css/css-paint-api/geometry-border-image-005.https.html.ini new file mode 100644 index 00000000000..34021694e74 --- /dev/null +++ b/tests/wpt/metadata-layout-2020/css/css-paint-api/geometry-border-image-005.https.html.ini @@ -0,0 +1,2 @@ +[geometry-border-image-005.https.html] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-paint-api/invalid-image-constructor-error.https.html.ini b/tests/wpt/metadata-layout-2020/css/css-paint-api/invalid-image-constructor-error.https.html.ini new file mode 100644 index 00000000000..315ddc722a3 --- /dev/null +++ b/tests/wpt/metadata-layout-2020/css/css-paint-api/invalid-image-constructor-error.https.html.ini @@ -0,0 +1,2 @@ +[invalid-image-constructor-error.https.html] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-paint-api/invalid-image-paint-error.https.html.ini b/tests/wpt/metadata-layout-2020/css/css-paint-api/invalid-image-paint-error.https.html.ini new file mode 100644 index 00000000000..6dd21ca0a99 --- /dev/null +++ b/tests/wpt/metadata-layout-2020/css/css-paint-api/invalid-image-paint-error.https.html.ini @@ -0,0 +1,2 @@ +[invalid-image-paint-error.https.html] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-paint-api/invalid-image-pending-script.https.html.ini b/tests/wpt/metadata-layout-2020/css/css-paint-api/invalid-image-pending-script.https.html.ini new file mode 100644 index 00000000000..fd5e4c96a27 --- /dev/null +++ b/tests/wpt/metadata-layout-2020/css/css-paint-api/invalid-image-pending-script.https.html.ini @@ -0,0 +1,2 @@ +[invalid-image-pending-script.https.html] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-paint-api/non-registered-property-value.https.html.ini b/tests/wpt/metadata-layout-2020/css/css-paint-api/non-registered-property-value.https.html.ini new file mode 100644 index 00000000000..c747b1e55f6 --- /dev/null +++ b/tests/wpt/metadata-layout-2020/css/css-paint-api/non-registered-property-value.https.html.ini @@ -0,0 +1,2 @@ +[non-registered-property-value.https.html] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-paint-api/overdraw.https.html.ini b/tests/wpt/metadata-layout-2020/css/css-paint-api/overdraw.https.html.ini new file mode 100644 index 00000000000..8fb58ab56ef --- /dev/null +++ b/tests/wpt/metadata-layout-2020/css/css-paint-api/overdraw.https.html.ini @@ -0,0 +1,2 @@ +[overdraw.https.html] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-paint-api/paint-arguments.https.html.ini b/tests/wpt/metadata-layout-2020/css/css-paint-api/paint-arguments.https.html.ini new file mode 100644 index 00000000000..fecda2cb5e5 --- /dev/null +++ b/tests/wpt/metadata-layout-2020/css/css-paint-api/paint-arguments.https.html.ini @@ -0,0 +1,2 @@ +[paint-arguments.https.html] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-paint-api/paint-function-arguments.https.html.ini b/tests/wpt/metadata-layout-2020/css/css-paint-api/paint-function-arguments.https.html.ini new file mode 100644 index 00000000000..d699b6225ad --- /dev/null +++ b/tests/wpt/metadata-layout-2020/css/css-paint-api/paint-function-arguments.https.html.ini @@ -0,0 +1,2 @@ +[paint-function-arguments.https.html] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-paint-api/paint-function-this-value.https.html.ini b/tests/wpt/metadata-layout-2020/css/css-paint-api/paint-function-this-value.https.html.ini new file mode 100644 index 00000000000..0bc3c6908d7 --- /dev/null +++ b/tests/wpt/metadata-layout-2020/css/css-paint-api/paint-function-this-value.https.html.ini @@ -0,0 +1,2 @@ +[paint-function-this-value.https.html] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-paint-api/paint2d-composite.https.html.ini b/tests/wpt/metadata-layout-2020/css/css-paint-api/paint2d-composite.https.html.ini new file mode 100644 index 00000000000..ac09a00e4fb --- /dev/null +++ b/tests/wpt/metadata-layout-2020/css/css-paint-api/paint2d-composite.https.html.ini @@ -0,0 +1,2 @@ +[paint2d-composite.https.html] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-paint-api/paint2d-filter.https.html.ini b/tests/wpt/metadata-layout-2020/css/css-paint-api/paint2d-filter.https.html.ini new file mode 100644 index 00000000000..b9213686e16 --- /dev/null +++ b/tests/wpt/metadata-layout-2020/css/css-paint-api/paint2d-filter.https.html.ini @@ -0,0 +1,2 @@ +[paint2d-filter.https.html] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-paint-api/paint2d-gradient.https.html.ini b/tests/wpt/metadata-layout-2020/css/css-paint-api/paint2d-gradient.https.html.ini new file mode 100644 index 00000000000..22571ceffbf --- /dev/null +++ b/tests/wpt/metadata-layout-2020/css/css-paint-api/paint2d-gradient.https.html.ini @@ -0,0 +1,2 @@ +[paint2d-gradient.https.html] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-paint-api/paint2d-image.https.html.ini b/tests/wpt/metadata-layout-2020/css/css-paint-api/paint2d-image.https.html.ini new file mode 100644 index 00000000000..4f6b9d2a5db --- /dev/null +++ b/tests/wpt/metadata-layout-2020/css/css-paint-api/paint2d-image.https.html.ini @@ -0,0 +1,2 @@ +[paint2d-image.https.html] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-paint-api/paint2d-rects.https.html.ini b/tests/wpt/metadata-layout-2020/css/css-paint-api/paint2d-rects.https.html.ini new file mode 100644 index 00000000000..e3a11a114d7 --- /dev/null +++ b/tests/wpt/metadata-layout-2020/css/css-paint-api/paint2d-rects.https.html.ini @@ -0,0 +1,2 @@ +[paint2d-rects.https.html] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-paint-api/paint2d-transform.https.html.ini b/tests/wpt/metadata-layout-2020/css/css-paint-api/paint2d-transform.https.html.ini new file mode 100644 index 00000000000..9f6efbac6e1 --- /dev/null +++ b/tests/wpt/metadata-layout-2020/css/css-paint-api/paint2d-transform.https.html.ini @@ -0,0 +1,2 @@ +[paint2d-transform.https.html] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-paint-api/parse-input-arguments-001.https.html.ini b/tests/wpt/metadata-layout-2020/css/css-paint-api/parse-input-arguments-001.https.html.ini new file mode 100644 index 00000000000..6657318b232 --- /dev/null +++ b/tests/wpt/metadata-layout-2020/css/css-paint-api/parse-input-arguments-001.https.html.ini @@ -0,0 +1,2 @@ +[parse-input-arguments-001.https.html] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-paint-api/parse-input-arguments-002.https.html.ini b/tests/wpt/metadata-layout-2020/css/css-paint-api/parse-input-arguments-002.https.html.ini new file mode 100644 index 00000000000..6b7e8534bdc --- /dev/null +++ b/tests/wpt/metadata-layout-2020/css/css-paint-api/parse-input-arguments-002.https.html.ini @@ -0,0 +1,2 @@ +[parse-input-arguments-002.https.html] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-paint-api/parse-input-arguments-003.https.html.ini b/tests/wpt/metadata-layout-2020/css/css-paint-api/parse-input-arguments-003.https.html.ini new file mode 100644 index 00000000000..6bc31f00251 --- /dev/null +++ b/tests/wpt/metadata-layout-2020/css/css-paint-api/parse-input-arguments-003.https.html.ini @@ -0,0 +1,2 @@ +[parse-input-arguments-003.https.html] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-paint-api/parse-input-arguments-004.https.html.ini b/tests/wpt/metadata-layout-2020/css/css-paint-api/parse-input-arguments-004.https.html.ini new file mode 100644 index 00000000000..b83519a7c7f --- /dev/null +++ b/tests/wpt/metadata-layout-2020/css/css-paint-api/parse-input-arguments-004.https.html.ini @@ -0,0 +1,2 @@ +[parse-input-arguments-004.https.html] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-paint-api/parse-input-arguments-005.https.html.ini b/tests/wpt/metadata-layout-2020/css/css-paint-api/parse-input-arguments-005.https.html.ini new file mode 100644 index 00000000000..84d0605519f --- /dev/null +++ b/tests/wpt/metadata-layout-2020/css/css-paint-api/parse-input-arguments-005.https.html.ini @@ -0,0 +1,2 @@ +[parse-input-arguments-005.https.html] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-paint-api/parse-input-arguments-006.https.html.ini b/tests/wpt/metadata-layout-2020/css/css-paint-api/parse-input-arguments-006.https.html.ini new file mode 100644 index 00000000000..a2411926387 --- /dev/null +++ b/tests/wpt/metadata-layout-2020/css/css-paint-api/parse-input-arguments-006.https.html.ini @@ -0,0 +1,2 @@ +[parse-input-arguments-006.https.html] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-paint-api/parse-input-arguments-007.https.html.ini b/tests/wpt/metadata-layout-2020/css/css-paint-api/parse-input-arguments-007.https.html.ini new file mode 100644 index 00000000000..ac0c01cee35 --- /dev/null +++ b/tests/wpt/metadata-layout-2020/css/css-paint-api/parse-input-arguments-007.https.html.ini @@ -0,0 +1,2 @@ +[parse-input-arguments-007.https.html] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-paint-api/parse-input-arguments-008.https.html.ini b/tests/wpt/metadata-layout-2020/css/css-paint-api/parse-input-arguments-008.https.html.ini new file mode 100644 index 00000000000..e7186bf7d41 --- /dev/null +++ b/tests/wpt/metadata-layout-2020/css/css-paint-api/parse-input-arguments-008.https.html.ini @@ -0,0 +1,2 @@ +[parse-input-arguments-008.https.html] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-paint-api/parse-input-arguments-009.https.html.ini b/tests/wpt/metadata-layout-2020/css/css-paint-api/parse-input-arguments-009.https.html.ini new file mode 100644 index 00000000000..28c5efaeddd --- /dev/null +++ b/tests/wpt/metadata-layout-2020/css/css-paint-api/parse-input-arguments-009.https.html.ini @@ -0,0 +1,2 @@ +[parse-input-arguments-009.https.html] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-paint-api/parse-input-arguments-010.https.html.ini b/tests/wpt/metadata-layout-2020/css/css-paint-api/parse-input-arguments-010.https.html.ini new file mode 100644 index 00000000000..4fa1eb15056 --- /dev/null +++ b/tests/wpt/metadata-layout-2020/css/css-paint-api/parse-input-arguments-010.https.html.ini @@ -0,0 +1,2 @@ +[parse-input-arguments-010.https.html] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-paint-api/parse-input-arguments-011.https.html.ini b/tests/wpt/metadata-layout-2020/css/css-paint-api/parse-input-arguments-011.https.html.ini new file mode 100644 index 00000000000..d24c6143a9e --- /dev/null +++ b/tests/wpt/metadata-layout-2020/css/css-paint-api/parse-input-arguments-011.https.html.ini @@ -0,0 +1,2 @@ +[parse-input-arguments-011.https.html] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-paint-api/parse-input-arguments-012.https.html.ini b/tests/wpt/metadata-layout-2020/css/css-paint-api/parse-input-arguments-012.https.html.ini new file mode 100644 index 00000000000..b0d8792c8e9 --- /dev/null +++ b/tests/wpt/metadata-layout-2020/css/css-paint-api/parse-input-arguments-012.https.html.ini @@ -0,0 +1,2 @@ +[parse-input-arguments-012.https.html] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-paint-api/parse-input-arguments-013.https.html.ini b/tests/wpt/metadata-layout-2020/css/css-paint-api/parse-input-arguments-013.https.html.ini new file mode 100644 index 00000000000..be5adf904c5 --- /dev/null +++ b/tests/wpt/metadata-layout-2020/css/css-paint-api/parse-input-arguments-013.https.html.ini @@ -0,0 +1,2 @@ +[parse-input-arguments-013.https.html] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-paint-api/parse-input-arguments-014.https.html.ini b/tests/wpt/metadata-layout-2020/css/css-paint-api/parse-input-arguments-014.https.html.ini new file mode 100644 index 00000000000..cd798ee894e --- /dev/null +++ b/tests/wpt/metadata-layout-2020/css/css-paint-api/parse-input-arguments-014.https.html.ini @@ -0,0 +1,2 @@ +[parse-input-arguments-014.https.html] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-paint-api/parse-input-arguments-015.https.html.ini b/tests/wpt/metadata-layout-2020/css/css-paint-api/parse-input-arguments-015.https.html.ini new file mode 100644 index 00000000000..e22e6b89809 --- /dev/null +++ b/tests/wpt/metadata-layout-2020/css/css-paint-api/parse-input-arguments-015.https.html.ini @@ -0,0 +1,2 @@ +[parse-input-arguments-015.https.html] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-paint-api/parse-input-arguments-016.https.html.ini b/tests/wpt/metadata-layout-2020/css/css-paint-api/parse-input-arguments-016.https.html.ini new file mode 100644 index 00000000000..ca97ffae1ac --- /dev/null +++ b/tests/wpt/metadata-layout-2020/css/css-paint-api/parse-input-arguments-016.https.html.ini @@ -0,0 +1,2 @@ +[parse-input-arguments-016.https.html] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-paint-api/parse-input-arguments-017.https.html.ini b/tests/wpt/metadata-layout-2020/css/css-paint-api/parse-input-arguments-017.https.html.ini new file mode 100644 index 00000000000..c6521504e72 --- /dev/null +++ b/tests/wpt/metadata-layout-2020/css/css-paint-api/parse-input-arguments-017.https.html.ini @@ -0,0 +1,2 @@ +[parse-input-arguments-017.https.html] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-paint-api/parse-input-arguments-019.https.html.ini b/tests/wpt/metadata-layout-2020/css/css-paint-api/parse-input-arguments-019.https.html.ini new file mode 100644 index 00000000000..55b4c2b20f3 --- /dev/null +++ b/tests/wpt/metadata-layout-2020/css/css-paint-api/parse-input-arguments-019.https.html.ini @@ -0,0 +1,2 @@ +[parse-input-arguments-019.https.html] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-paint-api/parse-input-arguments-020.https.html.ini b/tests/wpt/metadata-layout-2020/css/css-paint-api/parse-input-arguments-020.https.html.ini new file mode 100644 index 00000000000..423bd2f627c --- /dev/null +++ b/tests/wpt/metadata-layout-2020/css/css-paint-api/parse-input-arguments-020.https.html.ini @@ -0,0 +1,2 @@ +[parse-input-arguments-020.https.html] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-paint-api/parse-input-arguments-021.https.html.ini b/tests/wpt/metadata-layout-2020/css/css-paint-api/parse-input-arguments-021.https.html.ini new file mode 100644 index 00000000000..495e85ee346 --- /dev/null +++ b/tests/wpt/metadata-layout-2020/css/css-paint-api/parse-input-arguments-021.https.html.ini @@ -0,0 +1,2 @@ +[parse-input-arguments-021.https.html] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-paint-api/parse-input-arguments-022.https.html.ini b/tests/wpt/metadata-layout-2020/css/css-paint-api/parse-input-arguments-022.https.html.ini new file mode 100644 index 00000000000..dc652bdeada --- /dev/null +++ b/tests/wpt/metadata-layout-2020/css/css-paint-api/parse-input-arguments-022.https.html.ini @@ -0,0 +1,2 @@ +[parse-input-arguments-022.https.html] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-paint-api/parsing/paint-function-valid.https.html.ini b/tests/wpt/metadata-layout-2020/css/css-paint-api/parsing/paint-function-valid.https.html.ini new file mode 100644 index 00000000000..948365ee46a --- /dev/null +++ b/tests/wpt/metadata-layout-2020/css/css-paint-api/parsing/paint-function-valid.https.html.ini @@ -0,0 +1,24 @@ +[paint-function-valid.https.html] + [e.style['background-image'\] = "paint(mypaint)" should set the property value] + expected: FAIL + + [e.style['background-image'\] = "paint( mypaint )" should set the property value] + expected: FAIL + + [e.style['background-image'\] = "paint(mypaint " should set the property value] + expected: FAIL + + [e.style['background-image'\] = "paint( mypaint" should set the property value] + expected: FAIL + + [e.style['background-image'\] = "paint(mypaint, blue)" should set the property value] + expected: FAIL + + [e.style['background-image'\] = "paint(mypaint, {})" should set the property value] + expected: FAIL + + [e.style['background-image'\] = "paint(mypaint, [\])" should set the property value] + expected: FAIL + + [e.style['background-image'\] = "paint(mypaint, ())" should set the property value] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-paint-api/valid-image-after-load.https.html.ini b/tests/wpt/metadata-layout-2020/css/css-paint-api/valid-image-after-load.https.html.ini new file mode 100644 index 00000000000..dcd6093df84 --- /dev/null +++ b/tests/wpt/metadata-layout-2020/css/css-paint-api/valid-image-after-load.https.html.ini @@ -0,0 +1,2 @@ +[valid-image-after-load.https.html] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-paint-api/valid-image-before-load.https.html.ini b/tests/wpt/metadata-layout-2020/css/css-paint-api/valid-image-before-load.https.html.ini new file mode 100644 index 00000000000..1b5ca95a528 --- /dev/null +++ b/tests/wpt/metadata-layout-2020/css/css-paint-api/valid-image-before-load.https.html.ini @@ -0,0 +1,2 @@ +[valid-image-before-load.https.html] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-text-decor/animations/discrete-no-interpolation.html.ini b/tests/wpt/metadata-layout-2020/css/css-text-decor/animations/discrete-no-interpolation.html.ini index 72cf9136a14..53454a34729 100644 --- a/tests/wpt/metadata-layout-2020/css/css-text-decor/animations/discrete-no-interpolation.html.ini +++ b/tests/wpt/metadata-layout-2020/css/css-text-decor/animations/discrete-no-interpolation.html.ini @@ -29,27 +29,6 @@ [Web Animations: property <text-decoration-line> from [initial\] to [underline\] at (1.5) should be [underline\]] expected: FAIL - [CSS Transitions: property <text-decoration-style> from [initial\] to [dashed\] at (-0.3) should be [initial\]] - expected: FAIL - - [CSS Transitions: property <text-decoration-style> from [initial\] to [dashed\] at (0) should be [initial\]] - expected: FAIL - - [CSS Transitions: property <text-decoration-style> from [initial\] to [dashed\] at (0.3) should be [initial\]] - expected: FAIL - - [CSS Transitions: property <text-decoration-style> from [initial\] to [dashed\] at (0.5) should be [dashed\]] - expected: FAIL - - [CSS Transitions: property <text-decoration-style> from [initial\] to [dashed\] at (0.6) should be [dashed\]] - expected: FAIL - - [CSS Transitions: property <text-decoration-style> from [initial\] to [dashed\] at (1) should be [dashed\]] - expected: FAIL - - [CSS Transitions: property <text-decoration-style> from [initial\] to [dashed\] at (1.5) should be [dashed\]] - expected: FAIL - [CSS Transitions with transition: all: property <text-decoration-style> from [initial\] to [dashed\] at (-0.3) should be [dashed\]] expected: FAIL @@ -59,39 +38,6 @@ [CSS Transitions with transition: all: property <text-decoration-style> from [initial\] to [dashed\] at (0.3) should be [dashed\]] expected: FAIL - [CSS Transitions with transition: all: property <text-decoration-style> from [initial\] to [dashed\] at (0.5) should be [dashed\]] - expected: FAIL - - [CSS Transitions with transition: all: property <text-decoration-style> from [initial\] to [dashed\] at (0.6) should be [dashed\]] - expected: FAIL - - [CSS Transitions with transition: all: property <text-decoration-style> from [initial\] to [dashed\] at (1) should be [dashed\]] - expected: FAIL - - [CSS Transitions with transition: all: property <text-decoration-style> from [initial\] to [dashed\] at (1.5) should be [dashed\]] - expected: FAIL - - [CSS Animations: property <text-decoration-style> from [initial\] to [dashed\] at (-0.3) should be [initial\]] - expected: FAIL - - [CSS Animations: property <text-decoration-style> from [initial\] to [dashed\] at (0) should be [initial\]] - expected: FAIL - - [CSS Animations: property <text-decoration-style> from [initial\] to [dashed\] at (0.3) should be [initial\]] - expected: FAIL - - [CSS Animations: property <text-decoration-style> from [initial\] to [dashed\] at (0.5) should be [dashed\]] - expected: FAIL - - [CSS Animations: property <text-decoration-style> from [initial\] to [dashed\] at (0.6) should be [dashed\]] - expected: FAIL - - [CSS Animations: property <text-decoration-style> from [initial\] to [dashed\] at (1) should be [dashed\]] - expected: FAIL - - [CSS Animations: property <text-decoration-style> from [initial\] to [dashed\] at (1.5) should be [dashed\]] - expected: FAIL - [Web Animations: property <text-decoration-style> from [initial\] to [dashed\] at (-0.3) should be [initial\]] expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-text-decor/inheritance.html.ini b/tests/wpt/metadata-layout-2020/css/css-text-decor/inheritance.html.ini index e43bbb8b69c..e6c6606fd81 100644 --- a/tests/wpt/metadata-layout-2020/css/css-text-decor/inheritance.html.ini +++ b/tests/wpt/metadata-layout-2020/css/css-text-decor/inheritance.html.ini @@ -29,17 +29,11 @@ [Property text-emphasis-color inherits] expected: FAIL - [Property text-decoration-color has initial value rgba(2, 3, 4, 0.5)] - expected: FAIL - - [Property text-decoration-color does not inherit] - expected: FAIL - - [Property text-decoration-style has initial value solid] - expected: FAIL - - [Property text-decoration-style does not inherit] - expected: FAIL - [Property text-emphasis-position has initial value over] expected: FAIL + + [Property text-shadow has initial value none] + expected: FAIL + + [Property text-shadow inherits] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-text-decor/text-shadow/basic-negcoord.html.ini b/tests/wpt/metadata-layout-2020/css/css-text-decor/text-shadow/basic-negcoord.html.ini new file mode 100644 index 00000000000..1cfd412e465 --- /dev/null +++ b/tests/wpt/metadata-layout-2020/css/css-text-decor/text-shadow/basic-negcoord.html.ini @@ -0,0 +1,2 @@ +[basic-negcoord.html] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-text-decor/text-shadow/basic-opacity.html.ini b/tests/wpt/metadata-layout-2020/css/css-text-decor/text-shadow/basic-opacity.html.ini new file mode 100644 index 00000000000..09fc1fd85ac --- /dev/null +++ b/tests/wpt/metadata-layout-2020/css/css-text-decor/text-shadow/basic-opacity.html.ini @@ -0,0 +1,2 @@ +[basic-opacity.html] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-text-decor/text-shadow/basic.html.ini b/tests/wpt/metadata-layout-2020/css/css-text-decor/text-shadow/basic.html.ini new file mode 100644 index 00000000000..71c924c9b58 --- /dev/null +++ b/tests/wpt/metadata-layout-2020/css/css-text-decor/text-shadow/basic.html.ini @@ -0,0 +1,2 @@ +[basic.html] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-text-decor/text-shadow/blur.html.ini b/tests/wpt/metadata-layout-2020/css/css-text-decor/text-shadow/blur.html.ini new file mode 100644 index 00000000000..aa4ac9653bf --- /dev/null +++ b/tests/wpt/metadata-layout-2020/css/css-text-decor/text-shadow/blur.html.ini @@ -0,0 +1,2 @@ +[blur.html] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-text-decor/text-shadow/color-inherit.html.ini b/tests/wpt/metadata-layout-2020/css/css-text-decor/text-shadow/color-inherit.html.ini new file mode 100644 index 00000000000..6c13f083388 --- /dev/null +++ b/tests/wpt/metadata-layout-2020/css/css-text-decor/text-shadow/color-inherit.html.ini @@ -0,0 +1,2 @@ +[color-inherit.html] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-text-decor/text-shadow/multiple-noblur.html.ini b/tests/wpt/metadata-layout-2020/css/css-text-decor/text-shadow/multiple-noblur.html.ini new file mode 100644 index 00000000000..259c050eb2e --- /dev/null +++ b/tests/wpt/metadata-layout-2020/css/css-text-decor/text-shadow/multiple-noblur.html.ini @@ -0,0 +1,2 @@ +[multiple-noblur.html] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-text-decor/text-shadow/parsing/text-shadow-computed.html.ini b/tests/wpt/metadata-layout-2020/css/css-text-decor/text-shadow/parsing/text-shadow-computed.html.ini new file mode 100644 index 00000000000..b72522352aa --- /dev/null +++ b/tests/wpt/metadata-layout-2020/css/css-text-decor/text-shadow/parsing/text-shadow-computed.html.ini @@ -0,0 +1,21 @@ +[text-shadow-computed.html] + [Property text-shadow value 'none'] + expected: FAIL + + [Property text-shadow value '10px 20px'] + expected: FAIL + + [Property text-shadow value 'red 10px 20px 30px'] + expected: FAIL + + [Property text-shadow value 'calc(0.5em + 10px) calc(0.5em + 10px) calc(0.5em + 10px)'] + expected: FAIL + + [Property text-shadow value 'calc(-0.5em + 10px) calc(-0.5em + 10px) calc(-0.5em + 10px)'] + expected: FAIL + + [Property text-shadow value '10px 20px, 30px 40px'] + expected: FAIL + + [Property text-shadow value 'lime 10px 20px 30px, red 40px 50px'] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-text-decor/text-shadow/parsing/text-shadow-valid.html.ini b/tests/wpt/metadata-layout-2020/css/css-text-decor/text-shadow/parsing/text-shadow-valid.html.ini new file mode 100644 index 00000000000..556b7311e6a --- /dev/null +++ b/tests/wpt/metadata-layout-2020/css/css-text-decor/text-shadow/parsing/text-shadow-valid.html.ini @@ -0,0 +1,30 @@ +[text-shadow-valid.html] + [e.style['text-shadow'\] = "none" should set the property value] + expected: FAIL + + [e.style['text-shadow'\] = "10px 20px" should set the property value] + expected: FAIL + + [e.style['text-shadow'\] = "10px 20px 30px" should set the property value] + expected: FAIL + + [e.style['text-shadow'\] = "calc(1em + 2px) calc(3em + 4px) calc(5em + 6px)" should set the property value] + expected: FAIL + + [e.style['text-shadow'\] = "-10px 20px 30px" should set the property value] + expected: FAIL + + [e.style['text-shadow'\] = "10px -20px 30px" should set the property value] + expected: FAIL + + [e.style['text-shadow'\] = "rgb(255, 0, 0) 10px 20px" should set the property value] + expected: FAIL + + [e.style['text-shadow'\] = "10px 20px 30px lime" should set the property value] + expected: FAIL + + [e.style['text-shadow'\] = "10px 20px, 30px 40px" should set the property value] + expected: FAIL + + [e.style['text-shadow'\] = "lime 10px 20px 30px, blue 40px 50px" should set the property value] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-text-decor/text-shadow/quirks-decor-noblur.html.ini b/tests/wpt/metadata-layout-2020/css/css-text-decor/text-shadow/quirks-decor-noblur.html.ini new file mode 100644 index 00000000000..4ef82b240ee --- /dev/null +++ b/tests/wpt/metadata-layout-2020/css/css-text-decor/text-shadow/quirks-decor-noblur.html.ini @@ -0,0 +1,2 @@ +[quirks-decor-noblur.html] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-text-decor/text-shadow/standards-decor-noblur.html.ini b/tests/wpt/metadata-layout-2020/css/css-text-decor/text-shadow/standards-decor-noblur.html.ini new file mode 100644 index 00000000000..e72f8df6574 --- /dev/null +++ b/tests/wpt/metadata-layout-2020/css/css-text-decor/text-shadow/standards-decor-noblur.html.ini @@ -0,0 +1,2 @@ +[standards-decor-noblur.html] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-text-decor/text-shadow/textindent.html.ini b/tests/wpt/metadata-layout-2020/css/css-text-decor/text-shadow/textindent.html.ini new file mode 100644 index 00000000000..c33dd3eef10 --- /dev/null +++ b/tests/wpt/metadata-layout-2020/css/css-text-decor/text-shadow/textindent.html.ini @@ -0,0 +1,2 @@ +[textindent.html] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-text/animations/text-indent-interpolation.html.ini b/tests/wpt/metadata-layout-2020/css/css-text/animations/text-indent-interpolation.html.ini new file mode 100644 index 00000000000..67b2bc5f50c --- /dev/null +++ b/tests/wpt/metadata-layout-2020/css/css-text/animations/text-indent-interpolation.html.ini @@ -0,0 +1,672 @@ +[text-indent-interpolation.html] + [CSS Transitions: property <text-indent> from neutral to [40px\] at (-0.3) should be [1px\]] + expected: FAIL + + [CSS Transitions: property <text-indent> from neutral to [40px\] at (0) should be [10px\]] + expected: FAIL + + [CSS Transitions: property <text-indent> from neutral to [40px\] at (0.3) should be [19px\]] + expected: FAIL + + [CSS Transitions: property <text-indent> from neutral to [40px\] at (0.6) should be [28px\]] + expected: FAIL + + [CSS Transitions: property <text-indent> from neutral to [40px\] at (1) should be [40px\]] + expected: FAIL + + [CSS Transitions: property <text-indent> from neutral to [40px\] at (1.5) should be [55px\]] + expected: FAIL + + [CSS Transitions with transition: all: property <text-indent> from neutral to [40px\] at (-0.3) should be [1px\]] + expected: FAIL + + [CSS Transitions with transition: all: property <text-indent> from neutral to [40px\] at (0) should be [10px\]] + expected: FAIL + + [CSS Transitions with transition: all: property <text-indent> from neutral to [40px\] at (0.3) should be [19px\]] + expected: FAIL + + [CSS Transitions with transition: all: property <text-indent> from neutral to [40px\] at (0.6) should be [28px\]] + expected: FAIL + + [CSS Transitions with transition: all: property <text-indent> from neutral to [40px\] at (1) should be [40px\]] + expected: FAIL + + [CSS Transitions with transition: all: property <text-indent> from neutral to [40px\] at (1.5) should be [55px\]] + expected: FAIL + + [CSS Animations: property <text-indent> from neutral to [40px\] at (-0.3) should be [1px\]] + expected: FAIL + + [CSS Animations: property <text-indent> from neutral to [40px\] at (0) should be [10px\]] + expected: FAIL + + [CSS Animations: property <text-indent> from neutral to [40px\] at (0.3) should be [19px\]] + expected: FAIL + + [CSS Animations: property <text-indent> from neutral to [40px\] at (0.6) should be [28px\]] + expected: FAIL + + [CSS Animations: property <text-indent> from neutral to [40px\] at (1) should be [40px\]] + expected: FAIL + + [CSS Animations: property <text-indent> from neutral to [40px\] at (1.5) should be [55px\]] + expected: FAIL + + [Web Animations: property <text-indent> from neutral to [40px\] at (-0.3) should be [1px\]] + expected: FAIL + + [Web Animations: property <text-indent> from neutral to [40px\] at (0) should be [10px\]] + expected: FAIL + + [Web Animations: property <text-indent> from neutral to [40px\] at (0.3) should be [19px\]] + expected: FAIL + + [Web Animations: property <text-indent> from neutral to [40px\] at (0.6) should be [28px\]] + expected: FAIL + + [Web Animations: property <text-indent> from neutral to [40px\] at (1) should be [40px\]] + expected: FAIL + + [Web Animations: property <text-indent> from neutral to [40px\] at (1.5) should be [55px\]] + expected: FAIL + + [CSS Transitions: property <text-indent> from [initial\] to [20px\] at (-0.3) should be [-6px\]] + expected: FAIL + + [CSS Transitions: property <text-indent> from [initial\] to [20px\] at (0) should be [0px\]] + expected: FAIL + + [CSS Transitions: property <text-indent> from [initial\] to [20px\] at (0.3) should be [6px\]] + expected: FAIL + + [CSS Transitions: property <text-indent> from [initial\] to [20px\] at (0.6) should be [12px\]] + expected: FAIL + + [CSS Transitions: property <text-indent> from [initial\] to [20px\] at (1) should be [20px\]] + expected: FAIL + + [CSS Transitions: property <text-indent> from [initial\] to [20px\] at (1.5) should be [30px\]] + expected: FAIL + + [CSS Transitions with transition: all: property <text-indent> from [initial\] to [20px\] at (-0.3) should be [-6px\]] + expected: FAIL + + [CSS Transitions with transition: all: property <text-indent> from [initial\] to [20px\] at (0) should be [0px\]] + expected: FAIL + + [CSS Transitions with transition: all: property <text-indent> from [initial\] to [20px\] at (0.3) should be [6px\]] + expected: FAIL + + [CSS Transitions with transition: all: property <text-indent> from [initial\] to [20px\] at (0.6) should be [12px\]] + expected: FAIL + + [CSS Transitions with transition: all: property <text-indent> from [initial\] to [20px\] at (1) should be [20px\]] + expected: FAIL + + [CSS Transitions with transition: all: property <text-indent> from [initial\] to [20px\] at (1.5) should be [30px\]] + expected: FAIL + + [CSS Animations: property <text-indent> from [initial\] to [20px\] at (-0.3) should be [-6px\]] + expected: FAIL + + [CSS Animations: property <text-indent> from [initial\] to [20px\] at (0) should be [0px\]] + expected: FAIL + + [CSS Animations: property <text-indent> from [initial\] to [20px\] at (0.3) should be [6px\]] + expected: FAIL + + [CSS Animations: property <text-indent> from [initial\] to [20px\] at (0.6) should be [12px\]] + expected: FAIL + + [CSS Animations: property <text-indent> from [initial\] to [20px\] at (1) should be [20px\]] + expected: FAIL + + [CSS Animations: property <text-indent> from [initial\] to [20px\] at (1.5) should be [30px\]] + expected: FAIL + + [Web Animations: property <text-indent> from [initial\] to [20px\] at (-0.3) should be [-6px\]] + expected: FAIL + + [Web Animations: property <text-indent> from [initial\] to [20px\] at (0) should be [0px\]] + expected: FAIL + + [Web Animations: property <text-indent> from [initial\] to [20px\] at (0.3) should be [6px\]] + expected: FAIL + + [Web Animations: property <text-indent> from [initial\] to [20px\] at (0.6) should be [12px\]] + expected: FAIL + + [Web Animations: property <text-indent> from [initial\] to [20px\] at (1) should be [20px\]] + expected: FAIL + + [Web Animations: property <text-indent> from [initial\] to [20px\] at (1.5) should be [30px\]] + expected: FAIL + + [CSS Transitions: property <text-indent> from [inherit\] to [20px\] at (-0.3) should be [85px\]] + expected: FAIL + + [CSS Transitions: property <text-indent> from [inherit\] to [20px\] at (0) should be [70px\]] + expected: FAIL + + [CSS Transitions: property <text-indent> from [inherit\] to [20px\] at (0.3) should be [55px\]] + expected: FAIL + + [CSS Transitions: property <text-indent> from [inherit\] to [20px\] at (0.6) should be [40px\]] + expected: FAIL + + [CSS Transitions: property <text-indent> from [inherit\] to [20px\] at (1) should be [20px\]] + expected: FAIL + + [CSS Transitions: property <text-indent> from [inherit\] to [20px\] at (1.5) should be [-5px\]] + expected: FAIL + + [CSS Transitions with transition: all: property <text-indent> from [inherit\] to [20px\] at (-0.3) should be [85px\]] + expected: FAIL + + [CSS Transitions with transition: all: property <text-indent> from [inherit\] to [20px\] at (0) should be [70px\]] + expected: FAIL + + [CSS Transitions with transition: all: property <text-indent> from [inherit\] to [20px\] at (0.3) should be [55px\]] + expected: FAIL + + [CSS Transitions with transition: all: property <text-indent> from [inherit\] to [20px\] at (0.6) should be [40px\]] + expected: FAIL + + [CSS Transitions with transition: all: property <text-indent> from [inherit\] to [20px\] at (1) should be [20px\]] + expected: FAIL + + [CSS Transitions with transition: all: property <text-indent> from [inherit\] to [20px\] at (1.5) should be [-5px\]] + expected: FAIL + + [CSS Animations: property <text-indent> from [inherit\] to [20px\] at (-0.3) should be [85px\]] + expected: FAIL + + [CSS Animations: property <text-indent> from [inherit\] to [20px\] at (0) should be [70px\]] + expected: FAIL + + [CSS Animations: property <text-indent> from [inherit\] to [20px\] at (0.3) should be [55px\]] + expected: FAIL + + [CSS Animations: property <text-indent> from [inherit\] to [20px\] at (0.6) should be [40px\]] + expected: FAIL + + [CSS Animations: property <text-indent> from [inherit\] to [20px\] at (1) should be [20px\]] + expected: FAIL + + [CSS Animations: property <text-indent> from [inherit\] to [20px\] at (1.5) should be [-5px\]] + expected: FAIL + + [Web Animations: property <text-indent> from [inherit\] to [20px\] at (-0.3) should be [85px\]] + expected: FAIL + + [Web Animations: property <text-indent> from [inherit\] to [20px\] at (0) should be [70px\]] + expected: FAIL + + [Web Animations: property <text-indent> from [inherit\] to [20px\] at (0.3) should be [55px\]] + expected: FAIL + + [Web Animations: property <text-indent> from [inherit\] to [20px\] at (0.6) should be [40px\]] + expected: FAIL + + [Web Animations: property <text-indent> from [inherit\] to [20px\] at (1) should be [20px\]] + expected: FAIL + + [Web Animations: property <text-indent> from [inherit\] to [20px\] at (1.5) should be [-5px\]] + expected: FAIL + + [CSS Transitions: property <text-indent> from [unset\] to [20px\] at (-0.3) should be [85px\]] + expected: FAIL + + [CSS Transitions: property <text-indent> from [unset\] to [20px\] at (0) should be [70px\]] + expected: FAIL + + [CSS Transitions: property <text-indent> from [unset\] to [20px\] at (0.3) should be [55px\]] + expected: FAIL + + [CSS Transitions: property <text-indent> from [unset\] to [20px\] at (0.6) should be [40px\]] + expected: FAIL + + [CSS Transitions: property <text-indent> from [unset\] to [20px\] at (1) should be [20px\]] + expected: FAIL + + [CSS Transitions: property <text-indent> from [unset\] to [20px\] at (1.5) should be [-5px\]] + expected: FAIL + + [CSS Transitions with transition: all: property <text-indent> from [unset\] to [20px\] at (-0.3) should be [85px\]] + expected: FAIL + + [CSS Transitions with transition: all: property <text-indent> from [unset\] to [20px\] at (0) should be [70px\]] + expected: FAIL + + [CSS Transitions with transition: all: property <text-indent> from [unset\] to [20px\] at (0.3) should be [55px\]] + expected: FAIL + + [CSS Transitions with transition: all: property <text-indent> from [unset\] to [20px\] at (0.6) should be [40px\]] + expected: FAIL + + [CSS Transitions with transition: all: property <text-indent> from [unset\] to [20px\] at (1) should be [20px\]] + expected: FAIL + + [CSS Transitions with transition: all: property <text-indent> from [unset\] to [20px\] at (1.5) should be [-5px\]] + expected: FAIL + + [CSS Animations: property <text-indent> from [unset\] to [20px\] at (-0.3) should be [85px\]] + expected: FAIL + + [CSS Animations: property <text-indent> from [unset\] to [20px\] at (0) should be [70px\]] + expected: FAIL + + [CSS Animations: property <text-indent> from [unset\] to [20px\] at (0.3) should be [55px\]] + expected: FAIL + + [CSS Animations: property <text-indent> from [unset\] to [20px\] at (0.6) should be [40px\]] + expected: FAIL + + [CSS Animations: property <text-indent> from [unset\] to [20px\] at (1) should be [20px\]] + expected: FAIL + + [CSS Animations: property <text-indent> from [unset\] to [20px\] at (1.5) should be [-5px\]] + expected: FAIL + + [Web Animations: property <text-indent> from [unset\] to [20px\] at (-0.3) should be [85px\]] + expected: FAIL + + [Web Animations: property <text-indent> from [unset\] to [20px\] at (0) should be [70px\]] + expected: FAIL + + [Web Animations: property <text-indent> from [unset\] to [20px\] at (0.3) should be [55px\]] + expected: FAIL + + [Web Animations: property <text-indent> from [unset\] to [20px\] at (0.6) should be [40px\]] + expected: FAIL + + [Web Animations: property <text-indent> from [unset\] to [20px\] at (1) should be [20px\]] + expected: FAIL + + [Web Animations: property <text-indent> from [unset\] to [20px\] at (1.5) should be [-5px\]] + expected: FAIL + + [CSS Transitions: property <text-indent> from [0px\] to [50px\] at (-0.3) should be [-15px\]] + expected: FAIL + + [CSS Transitions: property <text-indent> from [0px\] to [50px\] at (0) should be [0\]] + expected: FAIL + + [CSS Transitions: property <text-indent> from [0px\] to [50px\] at (0.3) should be [15px\]] + expected: FAIL + + [CSS Transitions: property <text-indent> from [0px\] to [50px\] at (0.6) should be [30px\]] + expected: FAIL + + [CSS Transitions: property <text-indent> from [0px\] to [50px\] at (1) should be [50px\]] + expected: FAIL + + [CSS Transitions: property <text-indent> from [0px\] to [50px\] at (1.5) should be [75px\]] + expected: FAIL + + [CSS Transitions with transition: all: property <text-indent> from [0px\] to [50px\] at (-0.3) should be [-15px\]] + expected: FAIL + + [CSS Transitions with transition: all: property <text-indent> from [0px\] to [50px\] at (0) should be [0\]] + expected: FAIL + + [CSS Transitions with transition: all: property <text-indent> from [0px\] to [50px\] at (0.3) should be [15px\]] + expected: FAIL + + [CSS Transitions with transition: all: property <text-indent> from [0px\] to [50px\] at (0.6) should be [30px\]] + expected: FAIL + + [CSS Transitions with transition: all: property <text-indent> from [0px\] to [50px\] at (1) should be [50px\]] + expected: FAIL + + [CSS Transitions with transition: all: property <text-indent> from [0px\] to [50px\] at (1.5) should be [75px\]] + expected: FAIL + + [CSS Animations: property <text-indent> from [0px\] to [50px\] at (-0.3) should be [-15px\]] + expected: FAIL + + [CSS Animations: property <text-indent> from [0px\] to [50px\] at (0) should be [0\]] + expected: FAIL + + [CSS Animations: property <text-indent> from [0px\] to [50px\] at (0.3) should be [15px\]] + expected: FAIL + + [CSS Animations: property <text-indent> from [0px\] to [50px\] at (0.6) should be [30px\]] + expected: FAIL + + [CSS Animations: property <text-indent> from [0px\] to [50px\] at (1) should be [50px\]] + expected: FAIL + + [CSS Animations: property <text-indent> from [0px\] to [50px\] at (1.5) should be [75px\]] + expected: FAIL + + [Web Animations: property <text-indent> from [0px\] to [50px\] at (-0.3) should be [-15px\]] + expected: FAIL + + [Web Animations: property <text-indent> from [0px\] to [50px\] at (0) should be [0\]] + expected: FAIL + + [Web Animations: property <text-indent> from [0px\] to [50px\] at (0.3) should be [15px\]] + expected: FAIL + + [Web Animations: property <text-indent> from [0px\] to [50px\] at (0.6) should be [30px\]] + expected: FAIL + + [Web Animations: property <text-indent> from [0px\] to [50px\] at (1) should be [50px\]] + expected: FAIL + + [Web Animations: property <text-indent> from [0px\] to [50px\] at (1.5) should be [75px\]] + expected: FAIL + + [CSS Transitions: property <text-indent> from [0px hanging\] to [50px hanging\] at (-0.3) should be [-15px hanging\]] + expected: FAIL + + [CSS Transitions: property <text-indent> from [0px hanging\] to [50px hanging\] at (0) should be [0 hanging\]] + expected: FAIL + + [CSS Transitions: property <text-indent> from [0px hanging\] to [50px hanging\] at (0.3) should be [15px hanging\]] + expected: FAIL + + [CSS Transitions: property <text-indent> from [0px hanging\] to [50px hanging\] at (0.6) should be [30px hanging\]] + expected: FAIL + + [CSS Transitions: property <text-indent> from [0px hanging\] to [50px hanging\] at (1) should be [50px hanging\]] + expected: FAIL + + [CSS Transitions: property <text-indent> from [0px hanging\] to [50px hanging\] at (1.5) should be [75px hanging\]] + expected: FAIL + + [CSS Transitions with transition: all: property <text-indent> from [0px hanging\] to [50px hanging\] at (-0.3) should be [-15px hanging\]] + expected: FAIL + + [CSS Transitions with transition: all: property <text-indent> from [0px hanging\] to [50px hanging\] at (0) should be [0 hanging\]] + expected: FAIL + + [CSS Transitions with transition: all: property <text-indent> from [0px hanging\] to [50px hanging\] at (0.3) should be [15px hanging\]] + expected: FAIL + + [CSS Transitions with transition: all: property <text-indent> from [0px hanging\] to [50px hanging\] at (0.6) should be [30px hanging\]] + expected: FAIL + + [CSS Transitions with transition: all: property <text-indent> from [0px hanging\] to [50px hanging\] at (1) should be [50px hanging\]] + expected: FAIL + + [CSS Transitions with transition: all: property <text-indent> from [0px hanging\] to [50px hanging\] at (1.5) should be [75px hanging\]] + expected: FAIL + + [CSS Animations: property <text-indent> from [0px hanging\] to [50px hanging\] at (-0.3) should be [-15px hanging\]] + expected: FAIL + + [CSS Animations: property <text-indent> from [0px hanging\] to [50px hanging\] at (0) should be [0 hanging\]] + expected: FAIL + + [CSS Animations: property <text-indent> from [0px hanging\] to [50px hanging\] at (0.3) should be [15px hanging\]] + expected: FAIL + + [CSS Animations: property <text-indent> from [0px hanging\] to [50px hanging\] at (0.6) should be [30px hanging\]] + expected: FAIL + + [CSS Animations: property <text-indent> from [0px hanging\] to [50px hanging\] at (1) should be [50px hanging\]] + expected: FAIL + + [CSS Animations: property <text-indent> from [0px hanging\] to [50px hanging\] at (1.5) should be [75px hanging\]] + expected: FAIL + + [Web Animations: property <text-indent> from [0px hanging\] to [50px hanging\] at (-0.3) should be [-15px hanging\]] + expected: FAIL + + [Web Animations: property <text-indent> from [0px hanging\] to [50px hanging\] at (0) should be [0 hanging\]] + expected: FAIL + + [Web Animations: property <text-indent> from [0px hanging\] to [50px hanging\] at (0.3) should be [15px hanging\]] + expected: FAIL + + [Web Animations: property <text-indent> from [0px hanging\] to [50px hanging\] at (0.6) should be [30px hanging\]] + expected: FAIL + + [Web Animations: property <text-indent> from [0px hanging\] to [50px hanging\] at (1) should be [50px hanging\]] + expected: FAIL + + [Web Animations: property <text-indent> from [0px hanging\] to [50px hanging\] at (1.5) should be [75px hanging\]] + expected: FAIL + + [CSS Transitions: property <text-indent> from [0px hanging each-line\] to [50px each-line hanging\] at (-0.3) should be [-15px hanging each-line\]] + expected: FAIL + + [CSS Transitions: property <text-indent> from [0px hanging each-line\] to [50px each-line hanging\] at (0) should be [0 hanging each-line\]] + expected: FAIL + + [CSS Transitions: property <text-indent> from [0px hanging each-line\] to [50px each-line hanging\] at (0.3) should be [15px hanging each-line\]] + expected: FAIL + + [CSS Transitions: property <text-indent> from [0px hanging each-line\] to [50px each-line hanging\] at (0.6) should be [30px hanging each-line\]] + expected: FAIL + + [CSS Transitions: property <text-indent> from [0px hanging each-line\] to [50px each-line hanging\] at (1) should be [50px hanging each-line\]] + expected: FAIL + + [CSS Transitions: property <text-indent> from [0px hanging each-line\] to [50px each-line hanging\] at (1.5) should be [75px hanging each-line\]] + expected: FAIL + + [CSS Transitions with transition: all: property <text-indent> from [0px hanging each-line\] to [50px each-line hanging\] at (-0.3) should be [-15px hanging each-line\]] + expected: FAIL + + [CSS Transitions with transition: all: property <text-indent> from [0px hanging each-line\] to [50px each-line hanging\] at (0) should be [0 hanging each-line\]] + expected: FAIL + + [CSS Transitions with transition: all: property <text-indent> from [0px hanging each-line\] to [50px each-line hanging\] at (0.3) should be [15px hanging each-line\]] + expected: FAIL + + [CSS Transitions with transition: all: property <text-indent> from [0px hanging each-line\] to [50px each-line hanging\] at (0.6) should be [30px hanging each-line\]] + expected: FAIL + + [CSS Transitions with transition: all: property <text-indent> from [0px hanging each-line\] to [50px each-line hanging\] at (1) should be [50px hanging each-line\]] + expected: FAIL + + [CSS Transitions with transition: all: property <text-indent> from [0px hanging each-line\] to [50px each-line hanging\] at (1.5) should be [75px hanging each-line\]] + expected: FAIL + + [CSS Animations: property <text-indent> from [0px hanging each-line\] to [50px each-line hanging\] at (-0.3) should be [-15px hanging each-line\]] + expected: FAIL + + [CSS Animations: property <text-indent> from [0px hanging each-line\] to [50px each-line hanging\] at (0) should be [0 hanging each-line\]] + expected: FAIL + + [CSS Animations: property <text-indent> from [0px hanging each-line\] to [50px each-line hanging\] at (0.3) should be [15px hanging each-line\]] + expected: FAIL + + [CSS Animations: property <text-indent> from [0px hanging each-line\] to [50px each-line hanging\] at (0.6) should be [30px hanging each-line\]] + expected: FAIL + + [CSS Animations: property <text-indent> from [0px hanging each-line\] to [50px each-line hanging\] at (1) should be [50px hanging each-line\]] + expected: FAIL + + [CSS Animations: property <text-indent> from [0px hanging each-line\] to [50px each-line hanging\] at (1.5) should be [75px hanging each-line\]] + expected: FAIL + + [Web Animations: property <text-indent> from [0px hanging each-line\] to [50px each-line hanging\] at (-0.3) should be [-15px hanging each-line\]] + expected: FAIL + + [Web Animations: property <text-indent> from [0px hanging each-line\] to [50px each-line hanging\] at (0) should be [0 hanging each-line\]] + expected: FAIL + + [Web Animations: property <text-indent> from [0px hanging each-line\] to [50px each-line hanging\] at (0.3) should be [15px hanging each-line\]] + expected: FAIL + + [Web Animations: property <text-indent> from [0px hanging each-line\] to [50px each-line hanging\] at (0.6) should be [30px hanging each-line\]] + expected: FAIL + + [Web Animations: property <text-indent> from [0px hanging each-line\] to [50px each-line hanging\] at (1) should be [50px hanging each-line\]] + expected: FAIL + + [Web Animations: property <text-indent> from [0px hanging each-line\] to [50px each-line hanging\] at (1.5) should be [75px hanging each-line\]] + expected: FAIL + + [CSS Transitions: property <text-indent> from [0px each-line\] to [50px hanging\] at (-0.3) should be [0px each-line\]] + expected: FAIL + + [CSS Transitions: property <text-indent> from [0px each-line\] to [50px hanging\] at (0) should be [0px each-line\]] + expected: FAIL + + [CSS Transitions: property <text-indent> from [0px each-line\] to [50px hanging\] at (0.3) should be [0px each-line\]] + expected: FAIL + + [CSS Transitions: property <text-indent> from [0px each-line\] to [50px hanging\] at (0.5) should be [50px hanging\]] + expected: FAIL + + [CSS Transitions: property <text-indent> from [0px each-line\] to [50px hanging\] at (0.6) should be [50px hanging\]] + expected: FAIL + + [CSS Transitions: property <text-indent> from [0px each-line\] to [50px hanging\] at (1) should be [50px hanging\]] + expected: FAIL + + [CSS Transitions: property <text-indent> from [0px each-line\] to [50px hanging\] at (1.5) should be [50px hanging\]] + expected: FAIL + + [CSS Transitions with transition: all: property <text-indent> from [0px each-line\] to [50px hanging\] at (-0.3) should be [50px hanging\]] + expected: FAIL + + [CSS Transitions with transition: all: property <text-indent> from [0px each-line\] to [50px hanging\] at (0) should be [50px hanging\]] + expected: FAIL + + [CSS Transitions with transition: all: property <text-indent> from [0px each-line\] to [50px hanging\] at (0.3) should be [50px hanging\]] + expected: FAIL + + [CSS Transitions with transition: all: property <text-indent> from [0px each-line\] to [50px hanging\] at (0.5) should be [50px hanging\]] + expected: FAIL + + [CSS Transitions with transition: all: property <text-indent> from [0px each-line\] to [50px hanging\] at (0.6) should be [50px hanging\]] + expected: FAIL + + [CSS Transitions with transition: all: property <text-indent> from [0px each-line\] to [50px hanging\] at (1) should be [50px hanging\]] + expected: FAIL + + [CSS Transitions with transition: all: property <text-indent> from [0px each-line\] to [50px hanging\] at (1.5) should be [50px hanging\]] + expected: FAIL + + [CSS Animations: property <text-indent> from [0px each-line\] to [50px hanging\] at (-0.3) should be [0px each-line\]] + expected: FAIL + + [CSS Animations: property <text-indent> from [0px each-line\] to [50px hanging\] at (0) should be [0px each-line\]] + expected: FAIL + + [CSS Animations: property <text-indent> from [0px each-line\] to [50px hanging\] at (0.3) should be [0px each-line\]] + expected: FAIL + + [CSS Animations: property <text-indent> from [0px each-line\] to [50px hanging\] at (0.5) should be [50px hanging\]] + expected: FAIL + + [CSS Animations: property <text-indent> from [0px each-line\] to [50px hanging\] at (0.6) should be [50px hanging\]] + expected: FAIL + + [CSS Animations: property <text-indent> from [0px each-line\] to [50px hanging\] at (1) should be [50px hanging\]] + expected: FAIL + + [CSS Animations: property <text-indent> from [0px each-line\] to [50px hanging\] at (1.5) should be [50px hanging\]] + expected: FAIL + + [Web Animations: property <text-indent> from [0px each-line\] to [50px hanging\] at (-0.3) should be [0px each-line\]] + expected: FAIL + + [Web Animations: property <text-indent> from [0px each-line\] to [50px hanging\] at (0) should be [0px each-line\]] + expected: FAIL + + [Web Animations: property <text-indent> from [0px each-line\] to [50px hanging\] at (0.3) should be [0px each-line\]] + expected: FAIL + + [Web Animations: property <text-indent> from [0px each-line\] to [50px hanging\] at (0.5) should be [50px hanging\]] + expected: FAIL + + [Web Animations: property <text-indent> from [0px each-line\] to [50px hanging\] at (0.6) should be [50px hanging\]] + expected: FAIL + + [Web Animations: property <text-indent> from [0px each-line\] to [50px hanging\] at (1) should be [50px hanging\]] + expected: FAIL + + [Web Animations: property <text-indent> from [0px each-line\] to [50px hanging\] at (1.5) should be [50px hanging\]] + expected: FAIL + + [CSS Transitions: property <text-indent> from [0px\] to [50px each-line hanging\] at (-0.3) should be [0px\]] + expected: FAIL + + [CSS Transitions: property <text-indent> from [0px\] to [50px each-line hanging\] at (0) should be [0px\]] + expected: FAIL + + [CSS Transitions: property <text-indent> from [0px\] to [50px each-line hanging\] at (0.3) should be [0px\]] + expected: FAIL + + [CSS Transitions: property <text-indent> from [0px\] to [50px each-line hanging\] at (0.5) should be [50px each-line hanging\]] + expected: FAIL + + [CSS Transitions: property <text-indent> from [0px\] to [50px each-line hanging\] at (0.6) should be [50px each-line hanging\]] + expected: FAIL + + [CSS Transitions: property <text-indent> from [0px\] to [50px each-line hanging\] at (1) should be [50px each-line hanging\]] + expected: FAIL + + [CSS Transitions: property <text-indent> from [0px\] to [50px each-line hanging\] at (1.5) should be [50px each-line hanging\]] + expected: FAIL + + [CSS Transitions with transition: all: property <text-indent> from [0px\] to [50px each-line hanging\] at (-0.3) should be [50px each-line hanging\]] + expected: FAIL + + [CSS Transitions with transition: all: property <text-indent> from [0px\] to [50px each-line hanging\] at (0) should be [50px each-line hanging\]] + expected: FAIL + + [CSS Transitions with transition: all: property <text-indent> from [0px\] to [50px each-line hanging\] at (0.3) should be [50px each-line hanging\]] + expected: FAIL + + [CSS Transitions with transition: all: property <text-indent> from [0px\] to [50px each-line hanging\] at (0.5) should be [50px each-line hanging\]] + expected: FAIL + + [CSS Transitions with transition: all: property <text-indent> from [0px\] to [50px each-line hanging\] at (0.6) should be [50px each-line hanging\]] + expected: FAIL + + [CSS Transitions with transition: all: property <text-indent> from [0px\] to [50px each-line hanging\] at (1) should be [50px each-line hanging\]] + expected: FAIL + + [CSS Transitions with transition: all: property <text-indent> from [0px\] to [50px each-line hanging\] at (1.5) should be [50px each-line hanging\]] + expected: FAIL + + [CSS Animations: property <text-indent> from [0px\] to [50px each-line hanging\] at (-0.3) should be [0px\]] + expected: FAIL + + [CSS Animations: property <text-indent> from [0px\] to [50px each-line hanging\] at (0) should be [0px\]] + expected: FAIL + + [CSS Animations: property <text-indent> from [0px\] to [50px each-line hanging\] at (0.3) should be [0px\]] + expected: FAIL + + [CSS Animations: property <text-indent> from [0px\] to [50px each-line hanging\] at (0.5) should be [50px each-line hanging\]] + expected: FAIL + + [CSS Animations: property <text-indent> from [0px\] to [50px each-line hanging\] at (0.6) should be [50px each-line hanging\]] + expected: FAIL + + [CSS Animations: property <text-indent> from [0px\] to [50px each-line hanging\] at (1) should be [50px each-line hanging\]] + expected: FAIL + + [CSS Animations: property <text-indent> from [0px\] to [50px each-line hanging\] at (1.5) should be [50px each-line hanging\]] + expected: FAIL + + [Web Animations: property <text-indent> from [0px\] to [50px each-line hanging\] at (-0.3) should be [0px\]] + expected: FAIL + + [Web Animations: property <text-indent> from [0px\] to [50px each-line hanging\] at (0) should be [0px\]] + expected: FAIL + + [Web Animations: property <text-indent> from [0px\] to [50px each-line hanging\] at (0.3) should be [0px\]] + expected: FAIL + + [Web Animations: property <text-indent> from [0px\] to [50px each-line hanging\] at (0.5) should be [50px each-line hanging\]] + expected: FAIL + + [Web Animations: property <text-indent> from [0px\] to [50px each-line hanging\] at (0.6) should be [50px each-line hanging\]] + expected: FAIL + + [Web Animations: property <text-indent> from [0px\] to [50px each-line hanging\] at (1) should be [50px each-line hanging\]] + expected: FAIL + + [Web Animations: property <text-indent> from [0px\] to [50px each-line hanging\] at (1.5) should be [50px each-line hanging\]] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-text/boundary-shaping/boundary-shaping-001.html.ini b/tests/wpt/metadata-layout-2020/css/css-text/boundary-shaping/boundary-shaping-001.html.ini new file mode 100644 index 00000000000..61a07e04f5f --- /dev/null +++ b/tests/wpt/metadata-layout-2020/css/css-text/boundary-shaping/boundary-shaping-001.html.ini @@ -0,0 +1,2 @@ +[boundary-shaping-001.html] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-text/boundary-shaping/boundary-shaping-003.html.ini b/tests/wpt/metadata-layout-2020/css/css-text/boundary-shaping/boundary-shaping-003.html.ini new file mode 100644 index 00000000000..77eba1b7448 --- /dev/null +++ b/tests/wpt/metadata-layout-2020/css/css-text/boundary-shaping/boundary-shaping-003.html.ini @@ -0,0 +1,2 @@ +[boundary-shaping-003.html] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-text/boundary-shaping/boundary-shaping-004.html.ini b/tests/wpt/metadata-layout-2020/css/css-text/boundary-shaping/boundary-shaping-004.html.ini new file mode 100644 index 00000000000..a5dc42c67bf --- /dev/null +++ b/tests/wpt/metadata-layout-2020/css/css-text/boundary-shaping/boundary-shaping-004.html.ini @@ -0,0 +1,2 @@ +[boundary-shaping-004.html] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-text/boundary-shaping/boundary-shaping-005.html.ini b/tests/wpt/metadata-layout-2020/css/css-text/boundary-shaping/boundary-shaping-005.html.ini new file mode 100644 index 00000000000..a97792aefe5 --- /dev/null +++ b/tests/wpt/metadata-layout-2020/css/css-text/boundary-shaping/boundary-shaping-005.html.ini @@ -0,0 +1,2 @@ +[boundary-shaping-005.html] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-text/hyphens/hyphens-auto-last-word-001.html.ini b/tests/wpt/metadata-layout-2020/css/css-text/hyphens/hyphens-auto-last-word-001.html.ini deleted file mode 100644 index 93ffa116c99..00000000000 --- a/tests/wpt/metadata-layout-2020/css/css-text/hyphens/hyphens-auto-last-word-001.html.ini +++ /dev/null @@ -1,2 +0,0 @@ -[hyphens-auto-last-word-001.html] - expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-text/hyphens/hyphens-manual-inline-010.html.ini b/tests/wpt/metadata-layout-2020/css/css-text/hyphens/hyphens-manual-inline-010.html.ini new file mode 100644 index 00000000000..72e69a660c5 --- /dev/null +++ b/tests/wpt/metadata-layout-2020/css/css-text/hyphens/hyphens-manual-inline-010.html.ini @@ -0,0 +1,2 @@ +[hyphens-manual-inline-010.html] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-text/hyphens/hyphens-none-011.html.ini b/tests/wpt/metadata-layout-2020/css/css-text/hyphens/hyphens-none-011.html.ini deleted file mode 100644 index 93e96554135..00000000000 --- a/tests/wpt/metadata-layout-2020/css/css-text/hyphens/hyphens-none-011.html.ini +++ /dev/null @@ -1,2 +0,0 @@ -[hyphens-none-011.html] - expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-text/hyphens/hyphens-none-012.html.ini b/tests/wpt/metadata-layout-2020/css/css-text/hyphens/hyphens-none-012.html.ini new file mode 100644 index 00000000000..3e5eb84e7e0 --- /dev/null +++ b/tests/wpt/metadata-layout-2020/css/css-text/hyphens/hyphens-none-012.html.ini @@ -0,0 +1,2 @@ +[hyphens-none-012.html] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-text/hyphens/hyphens-none-013.html.ini b/tests/wpt/metadata-layout-2020/css/css-text/hyphens/hyphens-none-013.html.ini new file mode 100644 index 00000000000..c583e0f1919 --- /dev/null +++ b/tests/wpt/metadata-layout-2020/css/css-text/hyphens/hyphens-none-013.html.ini @@ -0,0 +1,2 @@ +[hyphens-none-013.html] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-text/hyphens/hyphens-none-014.html.ini b/tests/wpt/metadata-layout-2020/css/css-text/hyphens/hyphens-none-014.html.ini deleted file mode 100644 index eff59a639d5..00000000000 --- a/tests/wpt/metadata-layout-2020/css/css-text/hyphens/hyphens-none-014.html.ini +++ /dev/null @@ -1,2 +0,0 @@ -[hyphens-none-014.html] - expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-text/hyphens/hyphens-punctuation-001.html.ini b/tests/wpt/metadata-layout-2020/css/css-text/hyphens/hyphens-punctuation-001.html.ini deleted file mode 100644 index 756c4be5011..00000000000 --- a/tests/wpt/metadata-layout-2020/css/css-text/hyphens/hyphens-punctuation-001.html.ini +++ /dev/null @@ -1,2 +0,0 @@ -[hyphens-punctuation-001.html] - expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-text/inheritance.html.ini b/tests/wpt/metadata-layout-2020/css/css-text/inheritance.html.ini index 8d458bb8253..157898c94a4 100644 --- a/tests/wpt/metadata-layout-2020/css/css-text/inheritance.html.ini +++ b/tests/wpt/metadata-layout-2020/css/css-text/inheritance.html.ini @@ -43,3 +43,36 @@ [Property text-wrap inherits] expected: FAIL + + [Property overflow-wrap has initial value normal] + expected: FAIL + + [Property overflow-wrap inherits] + expected: FAIL + + [Property text-indent has initial value 0px] + expected: FAIL + + [Property text-indent inherits] + expected: FAIL + + [Property text-justify has initial value auto] + expected: FAIL + + [Property text-transform has initial value none] + expected: FAIL + + [Property text-transform inherits] + expected: FAIL + + [Property word-break has initial value normal] + expected: FAIL + + [Property word-break inherits] + expected: FAIL + + [Property word-wrap has initial value normal] + expected: FAIL + + [Property word-wrap inherits] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-text/letter-spacing/letter-spacing-211.html.ini b/tests/wpt/metadata-layout-2020/css/css-text/letter-spacing/letter-spacing-211.html.ini new file mode 100644 index 00000000000..a7ed416610d --- /dev/null +++ b/tests/wpt/metadata-layout-2020/css/css-text/letter-spacing/letter-spacing-211.html.ini @@ -0,0 +1,2 @@ +[letter-spacing-211.html] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-text/letter-spacing/letter-spacing-bidi-001.html.ini b/tests/wpt/metadata-layout-2020/css/css-text/letter-spacing/letter-spacing-bidi-001.html.ini new file mode 100644 index 00000000000..c6dab413d5d --- /dev/null +++ b/tests/wpt/metadata-layout-2020/css/css-text/letter-spacing/letter-spacing-bidi-001.html.ini @@ -0,0 +1,2 @@ +[letter-spacing-bidi-001.html] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-text/letter-spacing/letter-spacing-bidi-002.html.ini b/tests/wpt/metadata-layout-2020/css/css-text/letter-spacing/letter-spacing-bidi-002.html.ini new file mode 100644 index 00000000000..ced2d38a8d5 --- /dev/null +++ b/tests/wpt/metadata-layout-2020/css/css-text/letter-spacing/letter-spacing-bidi-002.html.ini @@ -0,0 +1,2 @@ +[letter-spacing-bidi-002.html] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-text/letter-spacing/letter-spacing-ligatures-002.html.ini b/tests/wpt/metadata-layout-2020/css/css-text/letter-spacing/letter-spacing-ligatures-002.html.ini deleted file mode 100644 index fa87a1d43f4..00000000000 --- a/tests/wpt/metadata-layout-2020/css/css-text/letter-spacing/letter-spacing-ligatures-002.html.ini +++ /dev/null @@ -1,2 +0,0 @@ -[letter-spacing-ligatures-002.html] - expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-text/letter-spacing/letter-spacing-ligatures-003.html.ini b/tests/wpt/metadata-layout-2020/css/css-text/letter-spacing/letter-spacing-ligatures-003.html.ini deleted file mode 100644 index 8b0f8b5aed2..00000000000 --- a/tests/wpt/metadata-layout-2020/css/css-text/letter-spacing/letter-spacing-ligatures-003.html.ini +++ /dev/null @@ -1,2 +0,0 @@ -[letter-spacing-ligatures-003.html] - expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-text/letter-spacing/letter-spacing-nesting-002.html.ini b/tests/wpt/metadata-layout-2020/css/css-text/letter-spacing/letter-spacing-nesting-002.html.ini new file mode 100644 index 00000000000..2be01f03904 --- /dev/null +++ b/tests/wpt/metadata-layout-2020/css/css-text/letter-spacing/letter-spacing-nesting-002.html.ini @@ -0,0 +1,2 @@ +[letter-spacing-nesting-002.html] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-text/line-break/line-break-anywhere-016.html.ini b/tests/wpt/metadata-layout-2020/css/css-text/line-break/line-break-anywhere-016.html.ini new file mode 100644 index 00000000000..1edd3385e3c --- /dev/null +++ b/tests/wpt/metadata-layout-2020/css/css-text/line-break/line-break-anywhere-016.html.ini @@ -0,0 +1,2 @@ +[line-break-anywhere-016.html] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-text/line-break/line-break-anywhere-and-white-space-001.html.ini b/tests/wpt/metadata-layout-2020/css/css-text/line-break/line-break-anywhere-and-white-space-001.html.ini new file mode 100644 index 00000000000..261a0798809 --- /dev/null +++ b/tests/wpt/metadata-layout-2020/css/css-text/line-break/line-break-anywhere-and-white-space-001.html.ini @@ -0,0 +1,2 @@ +[line-break-anywhere-and-white-space-001.html] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-text/line-break/line-break-anywhere-and-white-space-002.html.ini b/tests/wpt/metadata-layout-2020/css/css-text/line-break/line-break-anywhere-and-white-space-002.html.ini new file mode 100644 index 00000000000..0ee443dab5f --- /dev/null +++ b/tests/wpt/metadata-layout-2020/css/css-text/line-break/line-break-anywhere-and-white-space-002.html.ini @@ -0,0 +1,2 @@ +[line-break-anywhere-and-white-space-002.html] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-text/line-break/line-break-anywhere-and-white-space-003.html.ini b/tests/wpt/metadata-layout-2020/css/css-text/line-break/line-break-anywhere-and-white-space-003.html.ini new file mode 100644 index 00000000000..e3889ce1ae9 --- /dev/null +++ b/tests/wpt/metadata-layout-2020/css/css-text/line-break/line-break-anywhere-and-white-space-003.html.ini @@ -0,0 +1,2 @@ +[line-break-anywhere-and-white-space-003.html] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-text/line-break/line-break-anywhere-and-white-space-004.html.ini b/tests/wpt/metadata-layout-2020/css/css-text/line-break/line-break-anywhere-and-white-space-004.html.ini new file mode 100644 index 00000000000..50c39c4f1a5 --- /dev/null +++ b/tests/wpt/metadata-layout-2020/css/css-text/line-break/line-break-anywhere-and-white-space-004.html.ini @@ -0,0 +1,2 @@ +[line-break-anywhere-and-white-space-004.html] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-text/line-break/line-break-anywhere-and-white-space-006.html.ini b/tests/wpt/metadata-layout-2020/css/css-text/line-break/line-break-anywhere-and-white-space-006.html.ini new file mode 100644 index 00000000000..79944b55d9f --- /dev/null +++ b/tests/wpt/metadata-layout-2020/css/css-text/line-break/line-break-anywhere-and-white-space-006.html.ini @@ -0,0 +1,2 @@ +[line-break-anywhere-and-white-space-006.html] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-text/line-break/line-break-anywhere-and-white-space-007.html.ini b/tests/wpt/metadata-layout-2020/css/css-text/line-break/line-break-anywhere-and-white-space-007.html.ini new file mode 100644 index 00000000000..1a7f7b10fe6 --- /dev/null +++ b/tests/wpt/metadata-layout-2020/css/css-text/line-break/line-break-anywhere-and-white-space-007.html.ini @@ -0,0 +1,2 @@ +[line-break-anywhere-and-white-space-007.html] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-text/line-break/line-break-normal-014.xht.ini b/tests/wpt/metadata-layout-2020/css/css-text/line-break/line-break-normal-014.xht.ini new file mode 100644 index 00000000000..5be0313ea60 --- /dev/null +++ b/tests/wpt/metadata-layout-2020/css/css-text/line-break/line-break-normal-014.xht.ini @@ -0,0 +1,2 @@ +[line-break-normal-014.xht] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-text/line-break/line-break-normal-016a.xht.ini b/tests/wpt/metadata-layout-2020/css/css-text/line-break/line-break-normal-016a.xht.ini new file mode 100644 index 00000000000..e5dcec0a9ad --- /dev/null +++ b/tests/wpt/metadata-layout-2020/css/css-text/line-break/line-break-normal-016a.xht.ini @@ -0,0 +1,2 @@ +[line-break-normal-016a.xht] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-text/line-break/line-break-normal-016b.xht.ini b/tests/wpt/metadata-layout-2020/css/css-text/line-break/line-break-normal-016b.xht.ini new file mode 100644 index 00000000000..c2ba9b5581c --- /dev/null +++ b/tests/wpt/metadata-layout-2020/css/css-text/line-break/line-break-normal-016b.xht.ini @@ -0,0 +1,2 @@ +[line-break-normal-016b.xht] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-text/line-break/line-break-normal-017a.xht.ini b/tests/wpt/metadata-layout-2020/css/css-text/line-break/line-break-normal-017a.xht.ini new file mode 100644 index 00000000000..b6c645fde12 --- /dev/null +++ b/tests/wpt/metadata-layout-2020/css/css-text/line-break/line-break-normal-017a.xht.ini @@ -0,0 +1,2 @@ +[line-break-normal-017a.xht] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-text/line-break/line-break-normal-017b.xht.ini b/tests/wpt/metadata-layout-2020/css/css-text/line-break/line-break-normal-017b.xht.ini new file mode 100644 index 00000000000..69112add7eb --- /dev/null +++ b/tests/wpt/metadata-layout-2020/css/css-text/line-break/line-break-normal-017b.xht.ini @@ -0,0 +1,2 @@ +[line-break-normal-017b.xht] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-text/line-break/line-break-normal-018.xht.ini b/tests/wpt/metadata-layout-2020/css/css-text/line-break/line-break-normal-018.xht.ini new file mode 100644 index 00000000000..693999d7f9d --- /dev/null +++ b/tests/wpt/metadata-layout-2020/css/css-text/line-break/line-break-normal-018.xht.ini @@ -0,0 +1,2 @@ +[line-break-normal-018.xht] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-text/line-break/line-break-strict-011.xht.ini b/tests/wpt/metadata-layout-2020/css/css-text/line-break/line-break-strict-011.xht.ini new file mode 100644 index 00000000000..415fc4ea68f --- /dev/null +++ b/tests/wpt/metadata-layout-2020/css/css-text/line-break/line-break-strict-011.xht.ini @@ -0,0 +1,2 @@ +[line-break-strict-011.xht] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-text/line-break/line-break-strict-012.xht.ini b/tests/wpt/metadata-layout-2020/css/css-text/line-break/line-break-strict-012.xht.ini new file mode 100644 index 00000000000..5316a1cd650 --- /dev/null +++ b/tests/wpt/metadata-layout-2020/css/css-text/line-break/line-break-strict-012.xht.ini @@ -0,0 +1,2 @@ +[line-break-strict-012.xht] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-text/line-break/line-break-strict-013.xht.ini b/tests/wpt/metadata-layout-2020/css/css-text/line-break/line-break-strict-013.xht.ini new file mode 100644 index 00000000000..f8f0bd84d88 --- /dev/null +++ b/tests/wpt/metadata-layout-2020/css/css-text/line-break/line-break-strict-013.xht.ini @@ -0,0 +1,2 @@ +[line-break-strict-013.xht] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-text/line-break/line-break-strict-014.xht.ini b/tests/wpt/metadata-layout-2020/css/css-text/line-break/line-break-strict-014.xht.ini new file mode 100644 index 00000000000..fea600ceeab --- /dev/null +++ b/tests/wpt/metadata-layout-2020/css/css-text/line-break/line-break-strict-014.xht.ini @@ -0,0 +1,2 @@ +[line-break-strict-014.xht] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-text/line-break/line-break-strict-016a.xht.ini b/tests/wpt/metadata-layout-2020/css/css-text/line-break/line-break-strict-016a.xht.ini new file mode 100644 index 00000000000..eb24ef42c5b --- /dev/null +++ b/tests/wpt/metadata-layout-2020/css/css-text/line-break/line-break-strict-016a.xht.ini @@ -0,0 +1,2 @@ +[line-break-strict-016a.xht] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-text/line-break/line-break-strict-016b.xht.ini b/tests/wpt/metadata-layout-2020/css/css-text/line-break/line-break-strict-016b.xht.ini new file mode 100644 index 00000000000..d6d9e783da7 --- /dev/null +++ b/tests/wpt/metadata-layout-2020/css/css-text/line-break/line-break-strict-016b.xht.ini @@ -0,0 +1,2 @@ +[line-break-strict-016b.xht] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-text/line-break/line-break-strict-017a.xht.ini b/tests/wpt/metadata-layout-2020/css/css-text/line-break/line-break-strict-017a.xht.ini new file mode 100644 index 00000000000..5a07bba3993 --- /dev/null +++ b/tests/wpt/metadata-layout-2020/css/css-text/line-break/line-break-strict-017a.xht.ini @@ -0,0 +1,2 @@ +[line-break-strict-017a.xht] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-text/line-break/line-break-strict-017b.xht.ini b/tests/wpt/metadata-layout-2020/css/css-text/line-break/line-break-strict-017b.xht.ini new file mode 100644 index 00000000000..3386a06ea41 --- /dev/null +++ b/tests/wpt/metadata-layout-2020/css/css-text/line-break/line-break-strict-017b.xht.ini @@ -0,0 +1,2 @@ +[line-break-strict-017b.xht] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-text/line-break/line-break-strict-018.xht.ini b/tests/wpt/metadata-layout-2020/css/css-text/line-break/line-break-strict-018.xht.ini new file mode 100644 index 00000000000..bd79bd226f9 --- /dev/null +++ b/tests/wpt/metadata-layout-2020/css/css-text/line-break/line-break-strict-018.xht.ini @@ -0,0 +1,2 @@ +[line-break-strict-018.xht] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-text/line-breaking/line-breaking-001.html.ini b/tests/wpt/metadata-layout-2020/css/css-text/line-breaking/line-breaking-001.html.ini new file mode 100644 index 00000000000..07003f36f1a --- /dev/null +++ b/tests/wpt/metadata-layout-2020/css/css-text/line-breaking/line-breaking-001.html.ini @@ -0,0 +1,2 @@ +[line-breaking-001.html] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-text/line-breaking/line-breaking-002.html.ini b/tests/wpt/metadata-layout-2020/css/css-text/line-breaking/line-breaking-002.html.ini new file mode 100644 index 00000000000..522ae440966 --- /dev/null +++ b/tests/wpt/metadata-layout-2020/css/css-text/line-breaking/line-breaking-002.html.ini @@ -0,0 +1,2 @@ +[line-breaking-002.html] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-text/line-breaking/line-breaking-003.html.ini b/tests/wpt/metadata-layout-2020/css/css-text/line-breaking/line-breaking-003.html.ini new file mode 100644 index 00000000000..c779d922d35 --- /dev/null +++ b/tests/wpt/metadata-layout-2020/css/css-text/line-breaking/line-breaking-003.html.ini @@ -0,0 +1,2 @@ +[line-breaking-003.html] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-text/line-breaking/line-breaking-004.html.ini b/tests/wpt/metadata-layout-2020/css/css-text/line-breaking/line-breaking-004.html.ini new file mode 100644 index 00000000000..365427e289f --- /dev/null +++ b/tests/wpt/metadata-layout-2020/css/css-text/line-breaking/line-breaking-004.html.ini @@ -0,0 +1,2 @@ +[line-breaking-004.html] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-text/line-breaking/line-breaking-005.html.ini b/tests/wpt/metadata-layout-2020/css/css-text/line-breaking/line-breaking-005.html.ini new file mode 100644 index 00000000000..cd5c39d9e9f --- /dev/null +++ b/tests/wpt/metadata-layout-2020/css/css-text/line-breaking/line-breaking-005.html.ini @@ -0,0 +1,2 @@ +[line-breaking-005.html] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-text/line-breaking/line-breaking-006.html.ini b/tests/wpt/metadata-layout-2020/css/css-text/line-breaking/line-breaking-006.html.ini new file mode 100644 index 00000000000..0ed8bd03f62 --- /dev/null +++ b/tests/wpt/metadata-layout-2020/css/css-text/line-breaking/line-breaking-006.html.ini @@ -0,0 +1,2 @@ +[line-breaking-006.html] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-text/line-breaking/line-breaking-007.html.ini b/tests/wpt/metadata-layout-2020/css/css-text/line-breaking/line-breaking-007.html.ini new file mode 100644 index 00000000000..ca0ddea2bce --- /dev/null +++ b/tests/wpt/metadata-layout-2020/css/css-text/line-breaking/line-breaking-007.html.ini @@ -0,0 +1,2 @@ +[line-breaking-007.html] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-text/line-breaking/line-breaking-008.html.ini b/tests/wpt/metadata-layout-2020/css/css-text/line-breaking/line-breaking-008.html.ini new file mode 100644 index 00000000000..bef086aba18 --- /dev/null +++ b/tests/wpt/metadata-layout-2020/css/css-text/line-breaking/line-breaking-008.html.ini @@ -0,0 +1,2 @@ +[line-breaking-008.html] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-text/line-breaking/line-breaking-010.html.ini b/tests/wpt/metadata-layout-2020/css/css-text/line-breaking/line-breaking-010.html.ini new file mode 100644 index 00000000000..8869ad8f79b --- /dev/null +++ b/tests/wpt/metadata-layout-2020/css/css-text/line-breaking/line-breaking-010.html.ini @@ -0,0 +1,2 @@ +[line-breaking-010.html] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-text/line-breaking/line-breaking-atomic-001.html.ini b/tests/wpt/metadata-layout-2020/css/css-text/line-breaking/line-breaking-atomic-001.html.ini new file mode 100644 index 00000000000..5f242b78b05 --- /dev/null +++ b/tests/wpt/metadata-layout-2020/css/css-text/line-breaking/line-breaking-atomic-001.html.ini @@ -0,0 +1,2 @@ +[line-breaking-atomic-001.html] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-text/line-breaking/line-breaking-atomic-006.html.ini b/tests/wpt/metadata-layout-2020/css/css-text/line-breaking/line-breaking-atomic-006.html.ini new file mode 100644 index 00000000000..6045172ba6a --- /dev/null +++ b/tests/wpt/metadata-layout-2020/css/css-text/line-breaking/line-breaking-atomic-006.html.ini @@ -0,0 +1,2 @@ +[line-breaking-atomic-006.html] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-text/line-breaking/line-breaking-ic-001.html.ini b/tests/wpt/metadata-layout-2020/css/css-text/line-breaking/line-breaking-ic-001.html.ini new file mode 100644 index 00000000000..300d468050d --- /dev/null +++ b/tests/wpt/metadata-layout-2020/css/css-text/line-breaking/line-breaking-ic-001.html.ini @@ -0,0 +1,2 @@ +[line-breaking-ic-001.html] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-text/line-breaking/line-breaking-replaced-003.html.ini b/tests/wpt/metadata-layout-2020/css/css-text/line-breaking/line-breaking-replaced-003.html.ini new file mode 100644 index 00000000000..a414a0f9440 --- /dev/null +++ b/tests/wpt/metadata-layout-2020/css/css-text/line-breaking/line-breaking-replaced-003.html.ini @@ -0,0 +1,2 @@ +[line-breaking-replaced-003.html] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-text/line-breaking/line-breaking-replaced-005.html.ini b/tests/wpt/metadata-layout-2020/css/css-text/line-breaking/line-breaking-replaced-005.html.ini new file mode 100644 index 00000000000..ff07e6148c0 --- /dev/null +++ b/tests/wpt/metadata-layout-2020/css/css-text/line-breaking/line-breaking-replaced-005.html.ini @@ -0,0 +1,2 @@ +[line-breaking-replaced-005.html] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-text/line-breaking/segment-break-transformation-rules-029.html.ini b/tests/wpt/metadata-layout-2020/css/css-text/line-breaking/segment-break-transformation-rules-029.html.ini deleted file mode 100644 index cfc8c30086b..00000000000 --- a/tests/wpt/metadata-layout-2020/css/css-text/line-breaking/segment-break-transformation-rules-029.html.ini +++ /dev/null @@ -1,2 +0,0 @@ -[segment-break-transformation-rules-029.html] - expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-text/line-breaking/segment-break-transformation-rules-030.html.ini b/tests/wpt/metadata-layout-2020/css/css-text/line-breaking/segment-break-transformation-rules-030.html.ini deleted file mode 100644 index a139a17669c..00000000000 --- a/tests/wpt/metadata-layout-2020/css/css-text/line-breaking/segment-break-transformation-rules-030.html.ini +++ /dev/null @@ -1,2 +0,0 @@ -[segment-break-transformation-rules-030.html] - expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-text/line-breaking/segment-break-transformation-rules-031.html.ini b/tests/wpt/metadata-layout-2020/css/css-text/line-breaking/segment-break-transformation-rules-031.html.ini deleted file mode 100644 index 0ed80a2f6c5..00000000000 --- a/tests/wpt/metadata-layout-2020/css/css-text/line-breaking/segment-break-transformation-rules-031.html.ini +++ /dev/null @@ -1,2 +0,0 @@ -[segment-break-transformation-rules-031.html] - expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-text/line-breaking/segment-break-transformation-rules-032.html.ini b/tests/wpt/metadata-layout-2020/css/css-text/line-breaking/segment-break-transformation-rules-032.html.ini deleted file mode 100644 index 297ea039c10..00000000000 --- a/tests/wpt/metadata-layout-2020/css/css-text/line-breaking/segment-break-transformation-rules-032.html.ini +++ /dev/null @@ -1,2 +0,0 @@ -[segment-break-transformation-rules-032.html] - expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-text/line-breaking/segment-break-transformation-rules-033.html.ini b/tests/wpt/metadata-layout-2020/css/css-text/line-breaking/segment-break-transformation-rules-033.html.ini deleted file mode 100644 index f8fe6f1c67d..00000000000 --- a/tests/wpt/metadata-layout-2020/css/css-text/line-breaking/segment-break-transformation-rules-033.html.ini +++ /dev/null @@ -1,2 +0,0 @@ -[segment-break-transformation-rules-033.html] - expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-text/line-breaking/segment-break-transformation-rules-034.html.ini b/tests/wpt/metadata-layout-2020/css/css-text/line-breaking/segment-break-transformation-rules-034.html.ini deleted file mode 100644 index 7ff80706c53..00000000000 --- a/tests/wpt/metadata-layout-2020/css/css-text/line-breaking/segment-break-transformation-rules-034.html.ini +++ /dev/null @@ -1,2 +0,0 @@ -[segment-break-transformation-rules-034.html] - expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-text/line-breaking/segment-break-transformation-rules-035.html.ini b/tests/wpt/metadata-layout-2020/css/css-text/line-breaking/segment-break-transformation-rules-035.html.ini deleted file mode 100644 index 3668370b6eb..00000000000 --- a/tests/wpt/metadata-layout-2020/css/css-text/line-breaking/segment-break-transformation-rules-035.html.ini +++ /dev/null @@ -1,2 +0,0 @@ -[segment-break-transformation-rules-035.html] - expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-text/line-breaking/segment-break-transformation-rules-036.html.ini b/tests/wpt/metadata-layout-2020/css/css-text/line-breaking/segment-break-transformation-rules-036.html.ini deleted file mode 100644 index 153b5f652c2..00000000000 --- a/tests/wpt/metadata-layout-2020/css/css-text/line-breaking/segment-break-transformation-rules-036.html.ini +++ /dev/null @@ -1,2 +0,0 @@ -[segment-break-transformation-rules-036.html] - expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-text/line-breaking/segment-break-transformation-rules-037.html.ini b/tests/wpt/metadata-layout-2020/css/css-text/line-breaking/segment-break-transformation-rules-037.html.ini deleted file mode 100644 index e3568d85e66..00000000000 --- a/tests/wpt/metadata-layout-2020/css/css-text/line-breaking/segment-break-transformation-rules-037.html.ini +++ /dev/null @@ -1,2 +0,0 @@ -[segment-break-transformation-rules-037.html] - expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-text/line-breaking/segment-break-transformation-rules-038.html.ini b/tests/wpt/metadata-layout-2020/css/css-text/line-breaking/segment-break-transformation-rules-038.html.ini deleted file mode 100644 index 3c5d2d71b02..00000000000 --- a/tests/wpt/metadata-layout-2020/css/css-text/line-breaking/segment-break-transformation-rules-038.html.ini +++ /dev/null @@ -1,2 +0,0 @@ -[segment-break-transformation-rules-038.html] - expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-text/line-breaking/segment-break-transformation-rules-039.html.ini b/tests/wpt/metadata-layout-2020/css/css-text/line-breaking/segment-break-transformation-rules-039.html.ini deleted file mode 100644 index b2bd008f6b8..00000000000 --- a/tests/wpt/metadata-layout-2020/css/css-text/line-breaking/segment-break-transformation-rules-039.html.ini +++ /dev/null @@ -1,2 +0,0 @@ -[segment-break-transformation-rules-039.html] - expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-text/line-breaking/segment-break-transformation-rules-040.html.ini b/tests/wpt/metadata-layout-2020/css/css-text/line-breaking/segment-break-transformation-rules-040.html.ini deleted file mode 100644 index bff63557939..00000000000 --- a/tests/wpt/metadata-layout-2020/css/css-text/line-breaking/segment-break-transformation-rules-040.html.ini +++ /dev/null @@ -1,2 +0,0 @@ -[segment-break-transformation-rules-040.html] - expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-text/line-breaking/segment-break-transformation-rules-041.html.ini b/tests/wpt/metadata-layout-2020/css/css-text/line-breaking/segment-break-transformation-rules-041.html.ini deleted file mode 100644 index fc27528ca78..00000000000 --- a/tests/wpt/metadata-layout-2020/css/css-text/line-breaking/segment-break-transformation-rules-041.html.ini +++ /dev/null @@ -1,2 +0,0 @@ -[segment-break-transformation-rules-041.html] - expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-text/line-breaking/segment-break-transformation-rules-042.html.ini b/tests/wpt/metadata-layout-2020/css/css-text/line-breaking/segment-break-transformation-rules-042.html.ini deleted file mode 100644 index 57169b86227..00000000000 --- a/tests/wpt/metadata-layout-2020/css/css-text/line-breaking/segment-break-transformation-rules-042.html.ini +++ /dev/null @@ -1,2 +0,0 @@ -[segment-break-transformation-rules-042.html] - expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-text/overflow-wrap/overflow-wrap-001.html.ini b/tests/wpt/metadata-layout-2020/css/css-text/overflow-wrap/overflow-wrap-001.html.ini new file mode 100644 index 00000000000..86470bd771b --- /dev/null +++ b/tests/wpt/metadata-layout-2020/css/css-text/overflow-wrap/overflow-wrap-001.html.ini @@ -0,0 +1,2 @@ +[overflow-wrap-001.html] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-text/overflow-wrap/overflow-wrap-002.html.ini b/tests/wpt/metadata-layout-2020/css/css-text/overflow-wrap/overflow-wrap-002.html.ini new file mode 100644 index 00000000000..81d61a2080f --- /dev/null +++ b/tests/wpt/metadata-layout-2020/css/css-text/overflow-wrap/overflow-wrap-002.html.ini @@ -0,0 +1,2 @@ +[overflow-wrap-002.html] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-text/overflow-wrap/overflow-wrap-break-word-001.html.ini b/tests/wpt/metadata-layout-2020/css/css-text/overflow-wrap/overflow-wrap-break-word-001.html.ini new file mode 100644 index 00000000000..65b84d1e022 --- /dev/null +++ b/tests/wpt/metadata-layout-2020/css/css-text/overflow-wrap/overflow-wrap-break-word-001.html.ini @@ -0,0 +1,2 @@ +[overflow-wrap-break-word-001.html] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-text/overflow-wrap/overflow-wrap-break-word-keep-all-001.html.ini b/tests/wpt/metadata-layout-2020/css/css-text/overflow-wrap/overflow-wrap-break-word-keep-all-001.html.ini new file mode 100644 index 00000000000..b9700e12d99 --- /dev/null +++ b/tests/wpt/metadata-layout-2020/css/css-text/overflow-wrap/overflow-wrap-break-word-keep-all-001.html.ini @@ -0,0 +1,6 @@ +[overflow-wrap-break-word-keep-all-001.html] + [0000000000] + expected: FAIL + + [헬로우월드헬로우월드헬로우월드헬로우월드헬로우월드] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-text/overflow-wrap/word-wrap-001.html.ini b/tests/wpt/metadata-layout-2020/css/css-text/overflow-wrap/word-wrap-001.html.ini new file mode 100644 index 00000000000..bd5193fdee4 --- /dev/null +++ b/tests/wpt/metadata-layout-2020/css/css-text/overflow-wrap/word-wrap-001.html.ini @@ -0,0 +1,2 @@ +[word-wrap-001.html] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-text/overflow-wrap/word-wrap-002.html.ini b/tests/wpt/metadata-layout-2020/css/css-text/overflow-wrap/word-wrap-002.html.ini new file mode 100644 index 00000000000..01e825f88cb --- /dev/null +++ b/tests/wpt/metadata-layout-2020/css/css-text/overflow-wrap/word-wrap-002.html.ini @@ -0,0 +1,2 @@ +[word-wrap-002.html] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-text/overflow-wrap/word-wrap-alias.html.ini b/tests/wpt/metadata-layout-2020/css/css-text/overflow-wrap/word-wrap-alias.html.ini new file mode 100644 index 00000000000..95eca319c7c --- /dev/null +++ b/tests/wpt/metadata-layout-2020/css/css-text/overflow-wrap/word-wrap-alias.html.ini @@ -0,0 +1,3 @@ +[word-wrap-alias.html] + [word-wrap should be defined as an alias of overflow-wrap] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-text/parsing/overflow-wrap-computed.html.ini b/tests/wpt/metadata-layout-2020/css/css-text/parsing/overflow-wrap-computed.html.ini new file mode 100644 index 00000000000..8a33903e813 --- /dev/null +++ b/tests/wpt/metadata-layout-2020/css/css-text/parsing/overflow-wrap-computed.html.ini @@ -0,0 +1,9 @@ +[overflow-wrap-computed.html] + [Property overflow-wrap value 'normal'] + expected: FAIL + + [Property overflow-wrap value 'break-word'] + expected: FAIL + + [Property overflow-wrap value 'anywhere'] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-text/parsing/overflow-wrap-valid.html.ini b/tests/wpt/metadata-layout-2020/css/css-text/parsing/overflow-wrap-valid.html.ini new file mode 100644 index 00000000000..57e42cb62f8 --- /dev/null +++ b/tests/wpt/metadata-layout-2020/css/css-text/parsing/overflow-wrap-valid.html.ini @@ -0,0 +1,9 @@ +[overflow-wrap-valid.html] + [e.style['overflow-wrap'\] = "normal" should set the property value] + expected: FAIL + + [e.style['overflow-wrap'\] = "break-word" should set the property value] + expected: FAIL + + [e.style['overflow-wrap'\] = "anywhere" should set the property value] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-text/parsing/text-align-computed.html.ini b/tests/wpt/metadata-layout-2020/css/css-text/parsing/text-align-computed.html.ini new file mode 100644 index 00000000000..13e932008e2 --- /dev/null +++ b/tests/wpt/metadata-layout-2020/css/css-text/parsing/text-align-computed.html.ini @@ -0,0 +1,6 @@ +[text-align-computed.html] + [Property text-align value 'justify'] + expected: FAIL + + [Property text-align value 'match-parent'] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-text/parsing/text-align-valid.html.ini b/tests/wpt/metadata-layout-2020/css/css-text/parsing/text-align-valid.html.ini new file mode 100644 index 00000000000..973fcb42503 --- /dev/null +++ b/tests/wpt/metadata-layout-2020/css/css-text/parsing/text-align-valid.html.ini @@ -0,0 +1,9 @@ +[text-align-valid.html] + [e.style['text-align'\] = "justify" should set the property value] + expected: FAIL + + [e.style['text-align'\] = "match-parent" should set the property value] + expected: FAIL + + [e.style['text-align'\] = "justify-all" should set the property value] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-text/parsing/text-indent-computed.html.ini b/tests/wpt/metadata-layout-2020/css/css-text/parsing/text-indent-computed.html.ini new file mode 100644 index 00000000000..b1966953d82 --- /dev/null +++ b/tests/wpt/metadata-layout-2020/css/css-text/parsing/text-indent-computed.html.ini @@ -0,0 +1,30 @@ +[text-indent-computed.html] + [Property text-indent value '10px'] + expected: FAIL + + [Property text-indent value '20%'] + expected: FAIL + + [Property text-indent value 'calc(50% + 60px)'] + expected: FAIL + + [Property text-indent value '-30px'] + expected: FAIL + + [Property text-indent value '-40%'] + expected: FAIL + + [Property text-indent value 'calc(10px - 0.5em)'] + expected: FAIL + + [Property text-indent value '10px hanging'] + expected: FAIL + + [Property text-indent value '20% each-line'] + expected: FAIL + + [Property text-indent value 'calc(50% + 60px) hanging each-line'] + expected: FAIL + + [Property text-indent value 'each-line hanging calc(10px + 0.5em)'] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-text/parsing/text-indent-valid.html.ini b/tests/wpt/metadata-layout-2020/css/css-text/parsing/text-indent-valid.html.ini new file mode 100644 index 00000000000..298630f5d87 --- /dev/null +++ b/tests/wpt/metadata-layout-2020/css/css-text/parsing/text-indent-valid.html.ini @@ -0,0 +1,42 @@ +[text-indent-valid.html] + [e.style['text-indent'\] = "10px" should set the property value] + expected: FAIL + + [e.style['text-indent'\] = "20%" should set the property value] + expected: FAIL + + [e.style['text-indent'\] = "calc(2em + 3ex)" should set the property value] + expected: FAIL + + [e.style['text-indent'\] = "calc(50% + 60px)" should set the property value] + expected: FAIL + + [e.style['text-indent'\] = "-30px" should set the property value] + expected: FAIL + + [e.style['text-indent'\] = "-40%" should set the property value] + expected: FAIL + + [e.style['text-indent'\] = "10px hanging" should set the property value] + expected: FAIL + + [e.style['text-indent'\] = "20% each-line" should set the property value] + expected: FAIL + + [e.style['text-indent'\] = "calc(2em + 3ex) hanging each-line" should set the property value] + expected: FAIL + + [e.style['text-indent'\] = "hanging calc(50% + 60px)" should set the property value] + expected: FAIL + + [e.style['text-indent'\] = "each-line 10px" should set the property value] + expected: FAIL + + [e.style['text-indent'\] = "hanging 20% each-line" should set the property value] + expected: FAIL + + [e.style['text-indent'\] = "each-line hanging calc(2em + 3ex)" should set the property value] + expected: FAIL + + [e.style['text-indent'\] = "calc(50% + 60px) each-line hanging" should set the property value] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-text/parsing/text-justify-computed.html.ini b/tests/wpt/metadata-layout-2020/css/css-text/parsing/text-justify-computed.html.ini new file mode 100644 index 00000000000..c71fa322ff7 --- /dev/null +++ b/tests/wpt/metadata-layout-2020/css/css-text/parsing/text-justify-computed.html.ini @@ -0,0 +1,12 @@ +[text-justify-computed.html] + [Property text-justify value 'auto'] + expected: FAIL + + [Property text-justify value 'none'] + expected: FAIL + + [Property text-justify value 'inter-word'] + expected: FAIL + + [Property text-justify value 'inter-character'] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-text/parsing/text-justify-valid.html.ini b/tests/wpt/metadata-layout-2020/css/css-text/parsing/text-justify-valid.html.ini new file mode 100644 index 00000000000..21136318681 --- /dev/null +++ b/tests/wpt/metadata-layout-2020/css/css-text/parsing/text-justify-valid.html.ini @@ -0,0 +1,12 @@ +[text-justify-valid.html] + [e.style['text-justify'\] = "auto" should set the property value] + expected: FAIL + + [e.style['text-justify'\] = "none" should set the property value] + expected: FAIL + + [e.style['text-justify'\] = "inter-word" should set the property value] + expected: FAIL + + [e.style['text-justify'\] = "inter-character" should set the property value] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-text/parsing/text-transform-computed.html.ini b/tests/wpt/metadata-layout-2020/css/css-text/parsing/text-transform-computed.html.ini new file mode 100644 index 00000000000..0170010bd0b --- /dev/null +++ b/tests/wpt/metadata-layout-2020/css/css-text/parsing/text-transform-computed.html.ini @@ -0,0 +1,27 @@ +[text-transform-computed.html] + [Property text-transform value 'none'] + expected: FAIL + + [Property text-transform value 'capitalize'] + expected: FAIL + + [Property text-transform value 'uppercase'] + expected: FAIL + + [Property text-transform value 'lowercase'] + expected: FAIL + + [Property text-transform value 'full-width'] + expected: FAIL + + [Property text-transform value 'full-size-kana'] + expected: FAIL + + [Property text-transform value 'capitalize full-width'] + expected: FAIL + + [Property text-transform value 'full-width full-size-kana'] + expected: FAIL + + [Property text-transform value 'uppercase full-width full-size-kana'] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-text/parsing/text-transform-valid.html.ini b/tests/wpt/metadata-layout-2020/css/css-text/parsing/text-transform-valid.html.ini new file mode 100644 index 00000000000..95a544b2286 --- /dev/null +++ b/tests/wpt/metadata-layout-2020/css/css-text/parsing/text-transform-valid.html.ini @@ -0,0 +1,54 @@ +[text-transform-valid.html] + [e.style['text-transform'\] = "none" should set the property value] + expected: FAIL + + [e.style['text-transform'\] = "capitalize" should set the property value] + expected: FAIL + + [e.style['text-transform'\] = "uppercase" should set the property value] + expected: FAIL + + [e.style['text-transform'\] = "lowercase" should set the property value] + expected: FAIL + + [e.style['text-transform'\] = "full-width" should set the property value] + expected: FAIL + + [e.style['text-transform'\] = "full-size-kana" should set the property value] + expected: FAIL + + [e.style['text-transform'\] = "capitalize full-width" should set the property value] + expected: FAIL + + [e.style['text-transform'\] = "uppercase full-size-kana" should set the property value] + expected: FAIL + + [e.style['text-transform'\] = "full-width full-size-kana" should set the property value] + expected: FAIL + + [e.style['text-transform'\] = "full-width lowercase" should set the property value] + expected: FAIL + + [e.style['text-transform'\] = "full-size-kana capitalize" should set the property value] + expected: FAIL + + [e.style['text-transform'\] = "full-size-kana full-width" should set the property value] + expected: FAIL + + [e.style['text-transform'\] = "capitalize full-width full-size-kana" should set the property value] + expected: FAIL + + [e.style['text-transform'\] = "full-width full-size-kana uppercase" should set the property value] + expected: FAIL + + [e.style['text-transform'\] = "full-size-kana lowercase full-width" should set the property value] + expected: FAIL + + [e.style['text-transform'\] = "lowercase full-size-kana full-width" should set the property value] + expected: FAIL + + [e.style['text-transform'\] = "full-width uppercase full-size-kana" should set the property value] + expected: FAIL + + [e.style['text-transform'\] = "full-size-kana full-width capitalize" should set the property value] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-text/parsing/white-space-collapse-computed.html.ini b/tests/wpt/metadata-layout-2020/css/css-text/parsing/white-space-collapse-computed.html.ini new file mode 100644 index 00000000000..0a98b5c2715 --- /dev/null +++ b/tests/wpt/metadata-layout-2020/css/css-text/parsing/white-space-collapse-computed.html.ini @@ -0,0 +1,12 @@ +[white-space-collapse-computed.html] + [Property white-space-collapse value 'collapse'] + expected: FAIL + + [Property white-space-collapse value 'preserve'] + expected: FAIL + + [Property white-space-collapse value 'preserve-breaks'] + expected: FAIL + + [Property white-space-collapse value 'break-spaces'] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-text/parsing/white-space-collapse-valid.html.ini b/tests/wpt/metadata-layout-2020/css/css-text/parsing/white-space-collapse-valid.html.ini new file mode 100644 index 00000000000..9c9ea49d3e0 --- /dev/null +++ b/tests/wpt/metadata-layout-2020/css/css-text/parsing/white-space-collapse-valid.html.ini @@ -0,0 +1,27 @@ +[white-space-collapse-valid.html] + [e.style['white-space-collapse'\] = "collapse" should set the property value] + expected: FAIL + + [e.style['white-space-collapse'\] = "preserve" should set the property value] + expected: FAIL + + [e.style['white-space-collapse'\] = "preserve-breaks" should set the property value] + expected: FAIL + + [e.style['white-space-collapse'\] = "break-spaces" should set the property value] + expected: FAIL + + [e.style['white-space-collapse'\] = "initial" should set the property value] + expected: FAIL + + [e.style['white-space-collapse'\] = "inherit" should set the property value] + expected: FAIL + + [e.style['white-space-collapse'\] = "unset" should set the property value] + expected: FAIL + + [e.style['white-space-collapse'\] = "revert" should set the property value] + expected: FAIL + + [e.style['white-space-collapse'\] = "revert-layer" should set the property value] + expected: FAIL diff --git a/tests/wpt/metadata/css/css-text/white-space/text-wrap-white-space-001.html.ini b/tests/wpt/metadata-layout-2020/css/css-text/parsing/white-space-shorthand-text-wrap.html.ini similarity index 90% rename from tests/wpt/metadata/css/css-text/white-space/text-wrap-white-space-001.html.ini rename to tests/wpt/metadata-layout-2020/css/css-text/parsing/white-space-shorthand-text-wrap.html.ini index 928d6781569..5ea772a381f 100644 --- a/tests/wpt/metadata/css/css-text/white-space/text-wrap-white-space-001.html.ini +++ b/tests/wpt/metadata-layout-2020/css/css-text/parsing/white-space-shorthand-text-wrap.html.ini @@ -1,4 +1,4 @@ -[text-wrap-white-space-001.html] +[white-space-shorthand-text-wrap.html] [`text-wrap: balance` should be set] expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-text/parsing/white-space-shorthand.html.ini b/tests/wpt/metadata-layout-2020/css/css-text/parsing/white-space-shorthand.html.ini new file mode 100644 index 00000000000..944fbdb08bf --- /dev/null +++ b/tests/wpt/metadata-layout-2020/css/css-text/parsing/white-space-shorthand.html.ini @@ -0,0 +1,144 @@ +[white-space-shorthand.html] + [e.style['white-space'\] = "collapse" should set the property value] + expected: FAIL + + [Property white-space value 'collapse'] + expected: FAIL + + [e.style['white-space'\] = "wrap" should set the property value] + expected: FAIL + + [Property white-space value 'wrap'] + expected: FAIL + + [e.style['white-space'\] = "collapse wrap" should set the property value] + expected: FAIL + + [Property white-space value 'collapse wrap'] + expected: FAIL + + [e.style['white-space'\] = "wrap collapse" should set the property value] + expected: FAIL + + [Property white-space value 'wrap collapse'] + expected: FAIL + + [e.style['white-space'\] = "preserve nowrap" should set the property value] + expected: FAIL + + [Property white-space value 'preserve nowrap'] + expected: FAIL + + [e.style['white-space'\] = "nowrap preserve" should set the property value] + expected: FAIL + + [Property white-space value 'nowrap preserve'] + expected: FAIL + + [e.style['white-space'\] = "collapse nowrap" should set the property value] + expected: FAIL + + [Property white-space value 'collapse nowrap'] + expected: FAIL + + [e.style['white-space'\] = "nowrap collapse" should set the property value] + expected: FAIL + + [Property white-space value 'nowrap collapse'] + expected: FAIL + + [e.style['white-space'\] = "preserve" should set the property value] + expected: FAIL + + [Property white-space value 'preserve'] + expected: FAIL + + [e.style['white-space'\] = "preserve wrap" should set the property value] + expected: FAIL + + [Property white-space value 'preserve wrap'] + expected: FAIL + + [e.style['white-space'\] = "wrap preserve" should set the property value] + expected: FAIL + + [Property white-space value 'wrap preserve'] + expected: FAIL + + [e.style['white-space'\] = "break-spaces" should set the property value] + expected: FAIL + + [Property white-space value 'break-spaces'] + expected: FAIL + + [e.style['white-space'\] = "break-spaces wrap" should set the property value] + expected: FAIL + + [Property white-space value 'break-spaces wrap'] + expected: FAIL + + [e.style['white-space'\] = "wrap break-spaces" should set the property value] + expected: FAIL + + [Property white-space value 'wrap break-spaces'] + expected: FAIL + + [e.style['white-space'\] = "preserve-breaks" should set the property value] + expected: FAIL + + [Property white-space value 'preserve-breaks'] + expected: FAIL + + [e.style['white-space'\] = "preserve-breaks wrap" should set the property value] + expected: FAIL + + [Property white-space value 'preserve-breaks wrap'] + expected: FAIL + + [e.style['white-space'\] = "wrap preserve-breaks" should set the property value] + expected: FAIL + + [Property white-space value 'wrap preserve-breaks'] + expected: FAIL + + [e.style['white-space'\] = "preserve-breaks nowrap" should set the property value] + expected: FAIL + + [Property white-space value 'preserve-breaks nowrap'] + expected: FAIL + + [e.style['white-space'\] = "nowrap preserve-breaks" should set the property value] + expected: FAIL + + [Property white-space value 'nowrap preserve-breaks'] + expected: FAIL + + [e.style['white-space'\] = "balance" should set the property value] + expected: FAIL + + [Property white-space value 'balance'] + expected: FAIL + + [e.style['white-space'\] = "collapse balance" should set the property value] + expected: FAIL + + [Property white-space value 'collapse balance'] + expected: FAIL + + [e.style['white-space'\] = "balance collapse" should set the property value] + expected: FAIL + + [Property white-space value 'balance collapse'] + expected: FAIL + + [e.style['white-space'\] = "preserve balance" should set the property value] + expected: FAIL + + [Property white-space value 'preserve balance'] + expected: FAIL + + [e.style['white-space'\] = "balance preserve" should set the property value] + expected: FAIL + + [Property white-space value 'balance preserve'] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-text/parsing/word-break-computed.html.ini b/tests/wpt/metadata-layout-2020/css/css-text/parsing/word-break-computed.html.ini new file mode 100644 index 00000000000..a5543d60db3 --- /dev/null +++ b/tests/wpt/metadata-layout-2020/css/css-text/parsing/word-break-computed.html.ini @@ -0,0 +1,12 @@ +[word-break-computed.html] + [Property word-break value 'normal'] + expected: FAIL + + [Property word-break value 'keep-all'] + expected: FAIL + + [Property word-break value 'break-all'] + expected: FAIL + + [Property word-break value 'break-word'] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-text/parsing/word-break-valid.html.ini b/tests/wpt/metadata-layout-2020/css/css-text/parsing/word-break-valid.html.ini new file mode 100644 index 00000000000..0d522033e22 --- /dev/null +++ b/tests/wpt/metadata-layout-2020/css/css-text/parsing/word-break-valid.html.ini @@ -0,0 +1,12 @@ +[word-break-valid.html] + [e.style['word-break'\] = "normal" should set the property value] + expected: FAIL + + [e.style['word-break'\] = "keep-all" should set the property value] + expected: FAIL + + [e.style['word-break'\] = "break-all" should set the property value] + expected: FAIL + + [e.style['word-break'\] = "break-word" should set the property value] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-text/parsing/word-wrap-computed.html.ini b/tests/wpt/metadata-layout-2020/css/css-text/parsing/word-wrap-computed.html.ini new file mode 100644 index 00000000000..538d812120b --- /dev/null +++ b/tests/wpt/metadata-layout-2020/css/css-text/parsing/word-wrap-computed.html.ini @@ -0,0 +1,9 @@ +[word-wrap-computed.html] + [Property word-wrap value 'normal'] + expected: FAIL + + [Property word-wrap value 'break-word'] + expected: FAIL + + [Property word-wrap value 'anywhere'] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-text/parsing/word-wrap-valid.html.ini b/tests/wpt/metadata-layout-2020/css/css-text/parsing/word-wrap-valid.html.ini new file mode 100644 index 00000000000..8ba532e6998 --- /dev/null +++ b/tests/wpt/metadata-layout-2020/css/css-text/parsing/word-wrap-valid.html.ini @@ -0,0 +1,9 @@ +[word-wrap-valid.html] + [e.style['word-wrap'\] = "normal" should set the property value] + expected: FAIL + + [e.style['word-wrap'\] = "break-word" should set the property value] + expected: FAIL + + [e.style['word-wrap'\] = "anywhere" should set the property value] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-text/shaping/reference/shaping-000-ref.html.ini b/tests/wpt/metadata-layout-2020/css/css-text/shaping/reference/shaping-000-ref.html.ini new file mode 100644 index 00000000000..f7796c2277f --- /dev/null +++ b/tests/wpt/metadata-layout-2020/css/css-text/shaping/reference/shaping-000-ref.html.ini @@ -0,0 +1,2 @@ +[shaping-000-ref.html] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-text/shaping/reference/shaping-012-ref.html.ini b/tests/wpt/metadata-layout-2020/css/css-text/shaping/reference/shaping-012-ref.html.ini new file mode 100644 index 00000000000..9b2604e265d --- /dev/null +++ b/tests/wpt/metadata-layout-2020/css/css-text/shaping/reference/shaping-012-ref.html.ini @@ -0,0 +1,2 @@ +[shaping-012-ref.html] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-text/shaping/reference/shaping-014-ref.html.ini b/tests/wpt/metadata-layout-2020/css/css-text/shaping/reference/shaping-014-ref.html.ini new file mode 100644 index 00000000000..720907a8f2e --- /dev/null +++ b/tests/wpt/metadata-layout-2020/css/css-text/shaping/reference/shaping-014-ref.html.ini @@ -0,0 +1,2 @@ +[shaping-014-ref.html] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-text/shaping/reference/shaping-016-ref.html.ini b/tests/wpt/metadata-layout-2020/css/css-text/shaping/reference/shaping-016-ref.html.ini new file mode 100644 index 00000000000..1e260bb1a34 --- /dev/null +++ b/tests/wpt/metadata-layout-2020/css/css-text/shaping/reference/shaping-016-ref.html.ini @@ -0,0 +1,2 @@ +[shaping-016-ref.html] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-text/shaping/reference/shaping-022-ref.html.ini b/tests/wpt/metadata-layout-2020/css/css-text/shaping/reference/shaping-022-ref.html.ini new file mode 100644 index 00000000000..11850dc34a2 --- /dev/null +++ b/tests/wpt/metadata-layout-2020/css/css-text/shaping/reference/shaping-022-ref.html.ini @@ -0,0 +1,2 @@ +[shaping-022-ref.html] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-text/shaping/reference/shaping-024-ref.html.ini b/tests/wpt/metadata-layout-2020/css/css-text/shaping/reference/shaping-024-ref.html.ini new file mode 100644 index 00000000000..2e8413fc83c --- /dev/null +++ b/tests/wpt/metadata-layout-2020/css/css-text/shaping/reference/shaping-024-ref.html.ini @@ -0,0 +1,2 @@ +[shaping-024-ref.html] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-text/shaping/reference/shaping-025-ref.html.ini b/tests/wpt/metadata-layout-2020/css/css-text/shaping/reference/shaping-025-ref.html.ini new file mode 100644 index 00000000000..45f52a2c7a9 --- /dev/null +++ b/tests/wpt/metadata-layout-2020/css/css-text/shaping/reference/shaping-025-ref.html.ini @@ -0,0 +1,2 @@ +[shaping-025-ref.html] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-text/shaping/shaping-arabic-diacritics-002.html.ini b/tests/wpt/metadata-layout-2020/css/css-text/shaping/shaping-arabic-diacritics-002.html.ini deleted file mode 100644 index 5d60a9f9501..00000000000 --- a/tests/wpt/metadata-layout-2020/css/css-text/shaping/shaping-arabic-diacritics-002.html.ini +++ /dev/null @@ -1,2 +0,0 @@ -[shaping-arabic-diacritics-002.html] - expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-text/shaping/shaping_lig-001.html.ini b/tests/wpt/metadata-layout-2020/css/css-text/shaping/shaping_lig-001.html.ini new file mode 100644 index 00000000000..2ad9471aac8 --- /dev/null +++ b/tests/wpt/metadata-layout-2020/css/css-text/shaping/shaping_lig-001.html.ini @@ -0,0 +1,2 @@ +[shaping_lig-001.html] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-text/text-align/text-align-007.html.ini b/tests/wpt/metadata-layout-2020/css/css-text/text-align/text-align-007.html.ini new file mode 100644 index 00000000000..8dc1a7d5646 --- /dev/null +++ b/tests/wpt/metadata-layout-2020/css/css-text/text-align/text-align-007.html.ini @@ -0,0 +1,2 @@ +[text-align-007.html] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-text/text-align/text-align-end-001.html.ini b/tests/wpt/metadata-layout-2020/css/css-text/text-align/text-align-end-001.html.ini new file mode 100644 index 00000000000..3e5672900df --- /dev/null +++ b/tests/wpt/metadata-layout-2020/css/css-text/text-align/text-align-end-001.html.ini @@ -0,0 +1,2 @@ +[text-align-end-001.html] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-text/text-align/text-align-end-005.html.ini b/tests/wpt/metadata-layout-2020/css/css-text/text-align/text-align-end-005.html.ini new file mode 100644 index 00000000000..9f58e47d5ec --- /dev/null +++ b/tests/wpt/metadata-layout-2020/css/css-text/text-align/text-align-end-005.html.ini @@ -0,0 +1,2 @@ +[text-align-end-005.html] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-text/text-align/text-align-justify-001.html.ini b/tests/wpt/metadata-layout-2020/css/css-text/text-align/text-align-justify-001.html.ini new file mode 100644 index 00000000000..89f9592ecdf --- /dev/null +++ b/tests/wpt/metadata-layout-2020/css/css-text/text-align/text-align-justify-001.html.ini @@ -0,0 +1,2 @@ +[text-align-justify-001.html] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-text/text-align/text-align-justify-002.html.ini b/tests/wpt/metadata-layout-2020/css/css-text/text-align/text-align-justify-002.html.ini new file mode 100644 index 00000000000..73f59794398 --- /dev/null +++ b/tests/wpt/metadata-layout-2020/css/css-text/text-align/text-align-justify-002.html.ini @@ -0,0 +1,2 @@ +[text-align-justify-002.html] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-text/text-align/text-align-justify-004.html.ini b/tests/wpt/metadata-layout-2020/css/css-text/text-align/text-align-justify-004.html.ini new file mode 100644 index 00000000000..71011df0f58 --- /dev/null +++ b/tests/wpt/metadata-layout-2020/css/css-text/text-align/text-align-justify-004.html.ini @@ -0,0 +1,2 @@ +[text-align-justify-004.html] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-text/text-align/text-align-justify-006.html.ini b/tests/wpt/metadata-layout-2020/css/css-text/text-align/text-align-justify-006.html.ini new file mode 100644 index 00000000000..a5f6ec8ff14 --- /dev/null +++ b/tests/wpt/metadata-layout-2020/css/css-text/text-align/text-align-justify-006.html.ini @@ -0,0 +1,2 @@ +[text-align-justify-006.html] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-text/text-align/text-align-last-015.html.ini b/tests/wpt/metadata-layout-2020/css/css-text/text-align/text-align-last-015.html.ini new file mode 100644 index 00000000000..ce731f6a8cc --- /dev/null +++ b/tests/wpt/metadata-layout-2020/css/css-text/text-align/text-align-last-015.html.ini @@ -0,0 +1,2 @@ +[text-align-last-015.html] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-text/text-align/text-align-last-empty-inline.html.ini b/tests/wpt/metadata-layout-2020/css/css-text/text-align/text-align-last-empty-inline.html.ini new file mode 100644 index 00000000000..1d4d6a06f7b --- /dev/null +++ b/tests/wpt/metadata-layout-2020/css/css-text/text-align/text-align-last-empty-inline.html.ini @@ -0,0 +1,3 @@ +[text-align-last-empty-inline.html] + [content that cannot be justified should be centered when text-align-last is justify] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-text/text-align/text-align-match-parent-001.html.ini b/tests/wpt/metadata-layout-2020/css/css-text/text-align/text-align-match-parent-001.html.ini new file mode 100644 index 00000000000..a53fd3e509a --- /dev/null +++ b/tests/wpt/metadata-layout-2020/css/css-text/text-align/text-align-match-parent-001.html.ini @@ -0,0 +1,2 @@ +[text-align-match-parent-001.html] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-text/text-align/text-align-start-001.html.ini b/tests/wpt/metadata-layout-2020/css/css-text/text-align/text-align-start-001.html.ini new file mode 100644 index 00000000000..8dd3e79e8b3 --- /dev/null +++ b/tests/wpt/metadata-layout-2020/css/css-text/text-align/text-align-start-001.html.ini @@ -0,0 +1,2 @@ +[text-align-start-001.html] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-text/text-align/text-align-start-005.html.ini b/tests/wpt/metadata-layout-2020/css/css-text/text-align/text-align-start-005.html.ini new file mode 100644 index 00000000000..49b9ba589fe --- /dev/null +++ b/tests/wpt/metadata-layout-2020/css/css-text/text-align/text-align-start-005.html.ini @@ -0,0 +1,2 @@ +[text-align-start-005.html] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-text/text-indent/percentage-value-intrinsic-size.html.ini b/tests/wpt/metadata-layout-2020/css/css-text/text-indent/percentage-value-intrinsic-size.html.ini new file mode 100644 index 00000000000..9cd5abea877 --- /dev/null +++ b/tests/wpt/metadata-layout-2020/css/css-text/text-indent/percentage-value-intrinsic-size.html.ini @@ -0,0 +1,3 @@ +[percentage-value-intrinsic-size.html] + [#container 1] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-text/text-indent/text-indent-percentage-002.html.ini b/tests/wpt/metadata-layout-2020/css/css-text/text-indent/text-indent-percentage-002.html.ini new file mode 100644 index 00000000000..6969edd1978 --- /dev/null +++ b/tests/wpt/metadata-layout-2020/css/css-text/text-indent/text-indent-percentage-002.html.ini @@ -0,0 +1,2 @@ +[text-indent-percentage-002.html] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-text/text-indent/text-indent-percentage-003.html.ini b/tests/wpt/metadata-layout-2020/css/css-text/text-indent/text-indent-percentage-003.html.ini new file mode 100644 index 00000000000..7eaed789bf6 --- /dev/null +++ b/tests/wpt/metadata-layout-2020/css/css-text/text-indent/text-indent-percentage-003.html.ini @@ -0,0 +1,2 @@ +[text-indent-percentage-003.html] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-text/text-indent/text-indent-percentage-004.html.ini b/tests/wpt/metadata-layout-2020/css/css-text/text-indent/text-indent-percentage-004.html.ini new file mode 100644 index 00000000000..3bf7fa2a1f1 --- /dev/null +++ b/tests/wpt/metadata-layout-2020/css/css-text/text-indent/text-indent-percentage-004.html.ini @@ -0,0 +1,2 @@ +[text-indent-percentage-004.html] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-text/text-justify/text-justify-distribute-001.html.ini b/tests/wpt/metadata-layout-2020/css/css-text/text-justify/text-justify-distribute-001.html.ini deleted file mode 100644 index 5658e395339..00000000000 --- a/tests/wpt/metadata-layout-2020/css/css-text/text-justify/text-justify-distribute-001.html.ini +++ /dev/null @@ -1,2 +0,0 @@ -[text-justify-distribute-001.html] - expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-text/text-justify/text-justify-inter-character-001.html.ini b/tests/wpt/metadata-layout-2020/css/css-text/text-justify/text-justify-inter-character-001.html.ini deleted file mode 100644 index ae700c80de6..00000000000 --- a/tests/wpt/metadata-layout-2020/css/css-text/text-justify/text-justify-inter-character-001.html.ini +++ /dev/null @@ -1,2 +0,0 @@ -[text-justify-inter-character-001.html] - expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-text/text-justify/text-justify-interpolation.html.ini b/tests/wpt/metadata-layout-2020/css/css-text/text-justify/text-justify-interpolation.html.ini index 416d011d27a..b818d67c522 100644 --- a/tests/wpt/metadata-layout-2020/css/css-text/text-justify/text-justify-interpolation.html.ini +++ b/tests/wpt/metadata-layout-2020/css/css-text/text-justify/text-justify-interpolation.html.ini @@ -373,3 +373,93 @@ [Web Animations: property <text-justify> from [distribute\] to [none\] at (1.5) should be [none\]] expected: FAIL + + [CSS Transitions: property <text-justify> from [auto\] to [inter-word\] at (-0.3) should be [auto\]] + expected: FAIL + + [CSS Transitions: property <text-justify> from [auto\] to [inter-word\] at (0) should be [auto\]] + expected: FAIL + + [CSS Transitions: property <text-justify> from [auto\] to [inter-word\] at (0.3) should be [auto\]] + expected: FAIL + + [CSS Transitions: property <text-justify> from [auto\] to [inter-word\] at (0.5) should be [inter-word\]] + expected: FAIL + + [CSS Transitions: property <text-justify> from [auto\] to [inter-word\] at (0.6) should be [inter-word\]] + expected: FAIL + + [CSS Transitions: property <text-justify> from [auto\] to [inter-word\] at (1) should be [inter-word\]] + expected: FAIL + + [CSS Transitions: property <text-justify> from [auto\] to [inter-word\] at (1.5) should be [inter-word\]] + expected: FAIL + + [CSS Transitions with transition: all: property <text-justify> from [auto\] to [inter-word\] at (0.5) should be [inter-word\]] + expected: FAIL + + [CSS Transitions with transition: all: property <text-justify> from [auto\] to [inter-word\] at (0.6) should be [inter-word\]] + expected: FAIL + + [CSS Transitions with transition: all: property <text-justify> from [auto\] to [inter-word\] at (1) should be [inter-word\]] + expected: FAIL + + [CSS Transitions with transition: all: property <text-justify> from [auto\] to [inter-word\] at (1.5) should be [inter-word\]] + expected: FAIL + + [CSS Animations: property <text-justify> from [auto\] to [inter-word\] at (-0.3) should be [auto\]] + expected: FAIL + + [CSS Animations: property <text-justify> from [auto\] to [inter-word\] at (0) should be [auto\]] + expected: FAIL + + [CSS Animations: property <text-justify> from [auto\] to [inter-word\] at (0.3) should be [auto\]] + expected: FAIL + + [CSS Animations: property <text-justify> from [auto\] to [inter-word\] at (0.5) should be [inter-word\]] + expected: FAIL + + [CSS Animations: property <text-justify> from [auto\] to [inter-word\] at (0.6) should be [inter-word\]] + expected: FAIL + + [CSS Animations: property <text-justify> from [auto\] to [inter-word\] at (1) should be [inter-word\]] + expected: FAIL + + [CSS Animations: property <text-justify> from [auto\] to [inter-word\] at (1.5) should be [inter-word\]] + expected: FAIL + + [CSS Transitions: property <text-justify> from [auto\] to [inter-character\] at (-0.3) should be [auto\]] + expected: FAIL + + [CSS Transitions: property <text-justify> from [auto\] to [inter-character\] at (0) should be [auto\]] + expected: FAIL + + [CSS Transitions: property <text-justify> from [auto\] to [inter-character\] at (0.3) should be [auto\]] + expected: FAIL + + [CSS Transitions: property <text-justify> from [inter-character\] to [distribute\] at (-0.3) should be [inter-character\]] + expected: FAIL + + [CSS Transitions: property <text-justify> from [inter-character\] to [distribute\] at (0) should be [inter-character\]] + expected: FAIL + + [CSS Transitions: property <text-justify> from [inter-character\] to [distribute\] at (0.3) should be [inter-character\]] + expected: FAIL + + [CSS Transitions: property <text-justify> from [inter-word\] to [distribute\] at (-0.3) should be [inter-word\]] + expected: FAIL + + [CSS Transitions: property <text-justify> from [inter-word\] to [distribute\] at (0) should be [inter-word\]] + expected: FAIL + + [CSS Transitions: property <text-justify> from [inter-word\] to [distribute\] at (0.3) should be [inter-word\]] + expected: FAIL + + [CSS Transitions: property <text-justify> from [distribute\] to [none\] at (-0.3) should be [distribute\]] + expected: FAIL + + [CSS Transitions: property <text-justify> from [distribute\] to [none\] at (0) should be [distribute\]] + expected: FAIL + + [CSS Transitions: property <text-justify> from [distribute\] to [none\] at (0.3) should be [distribute\]] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-text/text-transform/text-transform-fullwidth-006.html.ini b/tests/wpt/metadata-layout-2020/css/css-text/text-transform/text-transform-fullwidth-006.html.ini new file mode 100644 index 00000000000..6dc1e5970da --- /dev/null +++ b/tests/wpt/metadata-layout-2020/css/css-text/text-transform/text-transform-fullwidth-006.html.ini @@ -0,0 +1,2 @@ +[text-transform-fullwidth-006.html] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-text/text-transform/text-transform-lowercase-101.xht.ini b/tests/wpt/metadata-layout-2020/css/css-text/text-transform/text-transform-lowercase-101.xht.ini new file mode 100644 index 00000000000..c558c853a3b --- /dev/null +++ b/tests/wpt/metadata-layout-2020/css/css-text/text-transform/text-transform-lowercase-101.xht.ini @@ -0,0 +1,2 @@ +[text-transform-lowercase-101.xht] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-text/text-transform/text-transform-lowercase-102.xht.ini b/tests/wpt/metadata-layout-2020/css/css-text/text-transform/text-transform-lowercase-102.xht.ini new file mode 100644 index 00000000000..57669de4b25 --- /dev/null +++ b/tests/wpt/metadata-layout-2020/css/css-text/text-transform/text-transform-lowercase-102.xht.ini @@ -0,0 +1,2 @@ +[text-transform-lowercase-102.xht] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-text/text-transform/text-transform-uppercase-101.xht.ini b/tests/wpt/metadata-layout-2020/css/css-text/text-transform/text-transform-uppercase-101.xht.ini new file mode 100644 index 00000000000..153d339e392 --- /dev/null +++ b/tests/wpt/metadata-layout-2020/css/css-text/text-transform/text-transform-uppercase-101.xht.ini @@ -0,0 +1,2 @@ +[text-transform-uppercase-101.xht] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-text/text-transform/text-transform-upperlower-105.html.ini b/tests/wpt/metadata-layout-2020/css/css-text/text-transform/text-transform-upperlower-105.html.ini new file mode 100644 index 00000000000..389830aa9b0 --- /dev/null +++ b/tests/wpt/metadata-layout-2020/css/css-text/text-transform/text-transform-upperlower-105.html.ini @@ -0,0 +1,2 @@ +[text-transform-upperlower-105.html] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-text/white-space/break-spaces-with-ideographic-space-004.html.ini b/tests/wpt/metadata-layout-2020/css/css-text/white-space/break-spaces-with-ideographic-space-004.html.ini new file mode 100644 index 00000000000..a47d71afa66 --- /dev/null +++ b/tests/wpt/metadata-layout-2020/css/css-text/white-space/break-spaces-with-ideographic-space-004.html.ini @@ -0,0 +1,2 @@ +[break-spaces-with-ideographic-space-004.html] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-text/white-space/break-spaces-with-ideographic-space-007.html.ini b/tests/wpt/metadata-layout-2020/css/css-text/white-space/break-spaces-with-ideographic-space-007.html.ini new file mode 100644 index 00000000000..d34fcbdddac --- /dev/null +++ b/tests/wpt/metadata-layout-2020/css/css-text/white-space/break-spaces-with-ideographic-space-007.html.ini @@ -0,0 +1,2 @@ +[break-spaces-with-ideographic-space-007.html] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-text/white-space/full-width-leading-spaces-002.html.ini b/tests/wpt/metadata-layout-2020/css/css-text/white-space/full-width-leading-spaces-002.html.ini new file mode 100644 index 00000000000..fcdfae95226 --- /dev/null +++ b/tests/wpt/metadata-layout-2020/css/css-text/white-space/full-width-leading-spaces-002.html.ini @@ -0,0 +1,2 @@ +[full-width-leading-spaces-002.html] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-text/white-space/full-width-leading-spaces-003.html.ini b/tests/wpt/metadata-layout-2020/css/css-text/white-space/full-width-leading-spaces-003.html.ini new file mode 100644 index 00000000000..09aab2016a1 --- /dev/null +++ b/tests/wpt/metadata-layout-2020/css/css-text/white-space/full-width-leading-spaces-003.html.ini @@ -0,0 +1,2 @@ +[full-width-leading-spaces-003.html] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-text/white-space/full-width-leading-spaces-005.html.ini b/tests/wpt/metadata-layout-2020/css/css-text/white-space/full-width-leading-spaces-005.html.ini new file mode 100644 index 00000000000..2fe494376b5 --- /dev/null +++ b/tests/wpt/metadata-layout-2020/css/css-text/white-space/full-width-leading-spaces-005.html.ini @@ -0,0 +1,2 @@ +[full-width-leading-spaces-005.html] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-text/white-space/lone-cr-001.tentative.html.ini b/tests/wpt/metadata-layout-2020/css/css-text/white-space/lone-cr-001.tentative.html.ini deleted file mode 100644 index 7c155129bdd..00000000000 --- a/tests/wpt/metadata-layout-2020/css/css-text/white-space/lone-cr-001.tentative.html.ini +++ /dev/null @@ -1,2 +0,0 @@ -[lone-cr-001.tentative.html] - expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-text/white-space/pre-wrap-align-center-001.html.ini b/tests/wpt/metadata-layout-2020/css/css-text/white-space/pre-wrap-align-center-001.html.ini new file mode 100644 index 00000000000..89f391867d3 --- /dev/null +++ b/tests/wpt/metadata-layout-2020/css/css-text/white-space/pre-wrap-align-center-001.html.ini @@ -0,0 +1,2 @@ +[pre-wrap-align-center-001.html] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-text/white-space/pre-wrap-align-center-002.html.ini b/tests/wpt/metadata-layout-2020/css/css-text/white-space/pre-wrap-align-center-002.html.ini new file mode 100644 index 00000000000..2e7b5445929 --- /dev/null +++ b/tests/wpt/metadata-layout-2020/css/css-text/white-space/pre-wrap-align-center-002.html.ini @@ -0,0 +1,2 @@ +[pre-wrap-align-center-002.html] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-text/white-space/pre-wrap-align-center-003.html.ini b/tests/wpt/metadata-layout-2020/css/css-text/white-space/pre-wrap-align-center-003.html.ini new file mode 100644 index 00000000000..8738c2fda85 --- /dev/null +++ b/tests/wpt/metadata-layout-2020/css/css-text/white-space/pre-wrap-align-center-003.html.ini @@ -0,0 +1,2 @@ +[pre-wrap-align-center-003.html] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-text/white-space/pre-wrap-align-end-001.html.ini b/tests/wpt/metadata-layout-2020/css/css-text/white-space/pre-wrap-align-end-001.html.ini new file mode 100644 index 00000000000..f2f518b0026 --- /dev/null +++ b/tests/wpt/metadata-layout-2020/css/css-text/white-space/pre-wrap-align-end-001.html.ini @@ -0,0 +1,2 @@ +[pre-wrap-align-end-001.html] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-text/white-space/pre-wrap-align-end-002.html.ini b/tests/wpt/metadata-layout-2020/css/css-text/white-space/pre-wrap-align-end-002.html.ini new file mode 100644 index 00000000000..c2d0f7a2003 --- /dev/null +++ b/tests/wpt/metadata-layout-2020/css/css-text/white-space/pre-wrap-align-end-002.html.ini @@ -0,0 +1,2 @@ +[pre-wrap-align-end-002.html] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-text/white-space/pre-wrap-align-end-003.html.ini b/tests/wpt/metadata-layout-2020/css/css-text/white-space/pre-wrap-align-end-003.html.ini new file mode 100644 index 00000000000..9a7946c9d3b --- /dev/null +++ b/tests/wpt/metadata-layout-2020/css/css-text/white-space/pre-wrap-align-end-003.html.ini @@ -0,0 +1,2 @@ +[pre-wrap-align-end-003.html] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-text/white-space/pre-wrap-align-left-001.html.ini b/tests/wpt/metadata-layout-2020/css/css-text/white-space/pre-wrap-align-left-001.html.ini new file mode 100644 index 00000000000..32c493a3e57 --- /dev/null +++ b/tests/wpt/metadata-layout-2020/css/css-text/white-space/pre-wrap-align-left-001.html.ini @@ -0,0 +1,2 @@ +[pre-wrap-align-left-001.html] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-text/white-space/pre-wrap-align-left-002.html.ini b/tests/wpt/metadata-layout-2020/css/css-text/white-space/pre-wrap-align-left-002.html.ini new file mode 100644 index 00000000000..7f8b0d39bc0 --- /dev/null +++ b/tests/wpt/metadata-layout-2020/css/css-text/white-space/pre-wrap-align-left-002.html.ini @@ -0,0 +1,2 @@ +[pre-wrap-align-left-002.html] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-text/white-space/pre-wrap-align-left-003.html.ini b/tests/wpt/metadata-layout-2020/css/css-text/white-space/pre-wrap-align-left-003.html.ini new file mode 100644 index 00000000000..21903bf654f --- /dev/null +++ b/tests/wpt/metadata-layout-2020/css/css-text/white-space/pre-wrap-align-left-003.html.ini @@ -0,0 +1,2 @@ +[pre-wrap-align-left-003.html] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-text/white-space/pre-wrap-align-right-001.html.ini b/tests/wpt/metadata-layout-2020/css/css-text/white-space/pre-wrap-align-right-001.html.ini new file mode 100644 index 00000000000..7c29a54b40c --- /dev/null +++ b/tests/wpt/metadata-layout-2020/css/css-text/white-space/pre-wrap-align-right-001.html.ini @@ -0,0 +1,2 @@ +[pre-wrap-align-right-001.html] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-text/white-space/pre-wrap-align-right-002.html.ini b/tests/wpt/metadata-layout-2020/css/css-text/white-space/pre-wrap-align-right-002.html.ini new file mode 100644 index 00000000000..d684e0a0c4e --- /dev/null +++ b/tests/wpt/metadata-layout-2020/css/css-text/white-space/pre-wrap-align-right-002.html.ini @@ -0,0 +1,2 @@ +[pre-wrap-align-right-002.html] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-text/white-space/pre-wrap-align-right-003.html.ini b/tests/wpt/metadata-layout-2020/css/css-text/white-space/pre-wrap-align-right-003.html.ini new file mode 100644 index 00000000000..897bd79ef14 --- /dev/null +++ b/tests/wpt/metadata-layout-2020/css/css-text/white-space/pre-wrap-align-right-003.html.ini @@ -0,0 +1,2 @@ +[pre-wrap-align-right-003.html] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-text/white-space/pre-wrap-align-start-001.html.ini b/tests/wpt/metadata-layout-2020/css/css-text/white-space/pre-wrap-align-start-001.html.ini new file mode 100644 index 00000000000..f91bba47f01 --- /dev/null +++ b/tests/wpt/metadata-layout-2020/css/css-text/white-space/pre-wrap-align-start-001.html.ini @@ -0,0 +1,2 @@ +[pre-wrap-align-start-001.html] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-text/white-space/pre-wrap-align-start-002.html.ini b/tests/wpt/metadata-layout-2020/css/css-text/white-space/pre-wrap-align-start-002.html.ini new file mode 100644 index 00000000000..a95f35994cc --- /dev/null +++ b/tests/wpt/metadata-layout-2020/css/css-text/white-space/pre-wrap-align-start-002.html.ini @@ -0,0 +1,2 @@ +[pre-wrap-align-start-002.html] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-text/white-space/pre-wrap-align-start-003.html.ini b/tests/wpt/metadata-layout-2020/css/css-text/white-space/pre-wrap-align-start-003.html.ini new file mode 100644 index 00000000000..f27ed2ffc47 --- /dev/null +++ b/tests/wpt/metadata-layout-2020/css/css-text/white-space/pre-wrap-align-start-003.html.ini @@ -0,0 +1,2 @@ +[pre-wrap-align-start-003.html] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-text/white-space/pre-wrap-tab-002.html.ini b/tests/wpt/metadata-layout-2020/css/css-text/white-space/pre-wrap-tab-002.html.ini new file mode 100644 index 00000000000..3acfd9651db --- /dev/null +++ b/tests/wpt/metadata-layout-2020/css/css-text/white-space/pre-wrap-tab-002.html.ini @@ -0,0 +1,2 @@ +[pre-wrap-tab-002.html] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-text/white-space/tab-bidi-001.html.ini b/tests/wpt/metadata-layout-2020/css/css-text/white-space/tab-bidi-001.html.ini deleted file mode 100644 index f7a9eeba88d..00000000000 --- a/tests/wpt/metadata-layout-2020/css/css-text/white-space/tab-bidi-001.html.ini +++ /dev/null @@ -1,2 +0,0 @@ -[tab-bidi-001.html] - expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-text/white-space/trailing-ideographic-space-003.html.ini b/tests/wpt/metadata-layout-2020/css/css-text/white-space/trailing-ideographic-space-003.html.ini new file mode 100644 index 00000000000..d980b17ea91 --- /dev/null +++ b/tests/wpt/metadata-layout-2020/css/css-text/white-space/trailing-ideographic-space-003.html.ini @@ -0,0 +1,2 @@ +[trailing-ideographic-space-003.html] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-text/white-space/trailing-ideographic-space-004.html.ini b/tests/wpt/metadata-layout-2020/css/css-text/white-space/trailing-ideographic-space-004.html.ini new file mode 100644 index 00000000000..240d1283c3a --- /dev/null +++ b/tests/wpt/metadata-layout-2020/css/css-text/white-space/trailing-ideographic-space-004.html.ini @@ -0,0 +1,2 @@ +[trailing-ideographic-space-004.html] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-text/white-space/trailing-ideographic-space-005.html.ini b/tests/wpt/metadata-layout-2020/css/css-text/white-space/trailing-ideographic-space-005.html.ini new file mode 100644 index 00000000000..87a744501dd --- /dev/null +++ b/tests/wpt/metadata-layout-2020/css/css-text/white-space/trailing-ideographic-space-005.html.ini @@ -0,0 +1,2 @@ +[trailing-ideographic-space-005.html] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-text/white-space/trailing-ideographic-space-006.html.ini b/tests/wpt/metadata-layout-2020/css/css-text/white-space/trailing-ideographic-space-006.html.ini new file mode 100644 index 00000000000..e4b5afd0046 --- /dev/null +++ b/tests/wpt/metadata-layout-2020/css/css-text/white-space/trailing-ideographic-space-006.html.ini @@ -0,0 +1,2 @@ +[trailing-ideographic-space-006.html] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-text/white-space/trailing-ideographic-space-008.html.ini b/tests/wpt/metadata-layout-2020/css/css-text/white-space/trailing-ideographic-space-008.html.ini new file mode 100644 index 00000000000..dcb797c4692 --- /dev/null +++ b/tests/wpt/metadata-layout-2020/css/css-text/white-space/trailing-ideographic-space-008.html.ini @@ -0,0 +1,2 @@ +[trailing-ideographic-space-008.html] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-text/white-space/trailing-ideographic-space-009.html.ini b/tests/wpt/metadata-layout-2020/css/css-text/white-space/trailing-ideographic-space-009.html.ini new file mode 100644 index 00000000000..c991922a4d4 --- /dev/null +++ b/tests/wpt/metadata-layout-2020/css/css-text/white-space/trailing-ideographic-space-009.html.ini @@ -0,0 +1,2 @@ +[trailing-ideographic-space-009.html] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-text/white-space/trailing-ideographic-space-010.html.ini b/tests/wpt/metadata-layout-2020/css/css-text/white-space/trailing-ideographic-space-010.html.ini new file mode 100644 index 00000000000..1acbd0a80f4 --- /dev/null +++ b/tests/wpt/metadata-layout-2020/css/css-text/white-space/trailing-ideographic-space-010.html.ini @@ -0,0 +1,2 @@ +[trailing-ideographic-space-010.html] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-text/white-space/trailing-ideographic-space-011.html.ini b/tests/wpt/metadata-layout-2020/css/css-text/white-space/trailing-ideographic-space-011.html.ini deleted file mode 100644 index ddde7788d61..00000000000 --- a/tests/wpt/metadata-layout-2020/css/css-text/white-space/trailing-ideographic-space-011.html.ini +++ /dev/null @@ -1,2 +0,0 @@ -[trailing-ideographic-space-011.html] - expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-text/white-space/trailing-ideographic-space-012.html.ini b/tests/wpt/metadata-layout-2020/css/css-text/white-space/trailing-ideographic-space-012.html.ini new file mode 100644 index 00000000000..bf5dcbeda7e --- /dev/null +++ b/tests/wpt/metadata-layout-2020/css/css-text/white-space/trailing-ideographic-space-012.html.ini @@ -0,0 +1,2 @@ +[trailing-ideographic-space-012.html] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-text/white-space/trailing-ideographic-space-014.html.ini b/tests/wpt/metadata-layout-2020/css/css-text/white-space/trailing-ideographic-space-014.html.ini new file mode 100644 index 00000000000..e2e13b4622c --- /dev/null +++ b/tests/wpt/metadata-layout-2020/css/css-text/white-space/trailing-ideographic-space-014.html.ini @@ -0,0 +1,2 @@ +[trailing-ideographic-space-014.html] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-text/white-space/trailing-ideographic-space-015.html.ini b/tests/wpt/metadata-layout-2020/css/css-text/white-space/trailing-ideographic-space-015.html.ini deleted file mode 100644 index fdca1f9bf5a..00000000000 --- a/tests/wpt/metadata-layout-2020/css/css-text/white-space/trailing-ideographic-space-015.html.ini +++ /dev/null @@ -1,2 +0,0 @@ -[trailing-ideographic-space-015.html] - expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-text/white-space/trailing-ideographic-space-016.html.ini b/tests/wpt/metadata-layout-2020/css/css-text/white-space/trailing-ideographic-space-016.html.ini deleted file mode 100644 index 9af0921a3c7..00000000000 --- a/tests/wpt/metadata-layout-2020/css/css-text/white-space/trailing-ideographic-space-016.html.ini +++ /dev/null @@ -1,2 +0,0 @@ -[trailing-ideographic-space-016.html] - expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-text/white-space/trailing-ideographic-space-017.html.ini b/tests/wpt/metadata-layout-2020/css/css-text/white-space/trailing-ideographic-space-017.html.ini new file mode 100644 index 00000000000..2c1bad15821 --- /dev/null +++ b/tests/wpt/metadata-layout-2020/css/css-text/white-space/trailing-ideographic-space-017.html.ini @@ -0,0 +1,2 @@ +[trailing-ideographic-space-017.html] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-text/white-space/trailing-ideographic-space-018.html.ini b/tests/wpt/metadata-layout-2020/css/css-text/white-space/trailing-ideographic-space-018.html.ini new file mode 100644 index 00000000000..ecf45a123c4 --- /dev/null +++ b/tests/wpt/metadata-layout-2020/css/css-text/white-space/trailing-ideographic-space-018.html.ini @@ -0,0 +1,2 @@ +[trailing-ideographic-space-018.html] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-text/white-space/trailing-ideographic-space-019.html.ini b/tests/wpt/metadata-layout-2020/css/css-text/white-space/trailing-ideographic-space-019.html.ini new file mode 100644 index 00000000000..dd154eefe1c --- /dev/null +++ b/tests/wpt/metadata-layout-2020/css/css-text/white-space/trailing-ideographic-space-019.html.ini @@ -0,0 +1,2 @@ +[trailing-ideographic-space-019.html] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-text/white-space/trailing-ideographic-space-020.html.ini b/tests/wpt/metadata-layout-2020/css/css-text/white-space/trailing-ideographic-space-020.html.ini new file mode 100644 index 00000000000..5fa4cc584b7 --- /dev/null +++ b/tests/wpt/metadata-layout-2020/css/css-text/white-space/trailing-ideographic-space-020.html.ini @@ -0,0 +1,2 @@ +[trailing-ideographic-space-020.html] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-text/white-space/trailing-ideographic-space-021.html.ini b/tests/wpt/metadata-layout-2020/css/css-text/white-space/trailing-ideographic-space-021.html.ini new file mode 100644 index 00000000000..118b5de8d33 --- /dev/null +++ b/tests/wpt/metadata-layout-2020/css/css-text/white-space/trailing-ideographic-space-021.html.ini @@ -0,0 +1,2 @@ +[trailing-ideographic-space-021.html] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-text/white-space/trailing-ideographic-space-022.html.ini b/tests/wpt/metadata-layout-2020/css/css-text/white-space/trailing-ideographic-space-022.html.ini new file mode 100644 index 00000000000..cd1cddefbd5 --- /dev/null +++ b/tests/wpt/metadata-layout-2020/css/css-text/white-space/trailing-ideographic-space-022.html.ini @@ -0,0 +1,2 @@ +[trailing-ideographic-space-022.html] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-text/white-space/trailing-ideographic-space-023.html.ini b/tests/wpt/metadata-layout-2020/css/css-text/white-space/trailing-ideographic-space-023.html.ini new file mode 100644 index 00000000000..3dc63b6bab6 --- /dev/null +++ b/tests/wpt/metadata-layout-2020/css/css-text/white-space/trailing-ideographic-space-023.html.ini @@ -0,0 +1,2 @@ +[trailing-ideographic-space-023.html] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-text/white-space/trailing-ideographic-space-024.html.ini b/tests/wpt/metadata-layout-2020/css/css-text/white-space/trailing-ideographic-space-024.html.ini new file mode 100644 index 00000000000..0deeb0a0b58 --- /dev/null +++ b/tests/wpt/metadata-layout-2020/css/css-text/white-space/trailing-ideographic-space-024.html.ini @@ -0,0 +1,2 @@ +[trailing-ideographic-space-024.html] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-text/white-space/trailing-ideographic-space-025.html.ini b/tests/wpt/metadata-layout-2020/css/css-text/white-space/trailing-ideographic-space-025.html.ini new file mode 100644 index 00000000000..82271027ed2 --- /dev/null +++ b/tests/wpt/metadata-layout-2020/css/css-text/white-space/trailing-ideographic-space-025.html.ini @@ -0,0 +1,2 @@ +[trailing-ideographic-space-025.html] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-text/white-space/trailing-other-space-separators-break-spaces-015.html.ini b/tests/wpt/metadata-layout-2020/css/css-text/white-space/trailing-other-space-separators-break-spaces-015.html.ini new file mode 100644 index 00000000000..2318c013698 --- /dev/null +++ b/tests/wpt/metadata-layout-2020/css/css-text/white-space/trailing-other-space-separators-break-spaces-015.html.ini @@ -0,0 +1,2 @@ +[trailing-other-space-separators-break-spaces-015.html] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-text/white-space/trailing-space-and-text-alignment-003.html.ini b/tests/wpt/metadata-layout-2020/css/css-text/white-space/trailing-space-and-text-alignment-003.html.ini deleted file mode 100644 index fa50727e424..00000000000 --- a/tests/wpt/metadata-layout-2020/css/css-text/white-space/trailing-space-and-text-alignment-003.html.ini +++ /dev/null @@ -1,2 +0,0 @@ -[trailing-space-and-text-alignment-003.html] - expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-text/white-space/trailing-space-and-text-alignment-004.html.ini b/tests/wpt/metadata-layout-2020/css/css-text/white-space/trailing-space-and-text-alignment-004.html.ini deleted file mode 100644 index 69a27d8a034..00000000000 --- a/tests/wpt/metadata-layout-2020/css/css-text/white-space/trailing-space-and-text-alignment-004.html.ini +++ /dev/null @@ -1,2 +0,0 @@ -[trailing-space-and-text-alignment-004.html] - expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-text/white-space/trailing-space-and-text-alignment-rtl-004.html.ini b/tests/wpt/metadata-layout-2020/css/css-text/white-space/trailing-space-and-text-alignment-rtl-004.html.ini new file mode 100644 index 00000000000..ad7a302c005 --- /dev/null +++ b/tests/wpt/metadata-layout-2020/css/css-text/white-space/trailing-space-and-text-alignment-rtl-004.html.ini @@ -0,0 +1,2 @@ +[trailing-space-and-text-alignment-rtl-004.html] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-text/white-space/trailing-space-before-br-001.html.ini b/tests/wpt/metadata-layout-2020/css/css-text/white-space/trailing-space-before-br-001.html.ini new file mode 100644 index 00000000000..039b4885639 --- /dev/null +++ b/tests/wpt/metadata-layout-2020/css/css-text/white-space/trailing-space-before-br-001.html.ini @@ -0,0 +1,18 @@ +[trailing-space-before-br-001.html] + [1111 ] + expected: FAIL + + [ 1111 ] + expected: FAIL + + [1111<br>] + expected: FAIL + + [1111<br> ] + expected: FAIL + + [1111 <br>] + expected: FAIL + + [1111 <br> ] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-text/white-space/trailing-space-in-inline-box.html.ini b/tests/wpt/metadata-layout-2020/css/css-text/white-space/trailing-space-in-inline-box.html.ini deleted file mode 100644 index 2d033278891..00000000000 --- a/tests/wpt/metadata-layout-2020/css/css-text/white-space/trailing-space-in-inline-box.html.ini +++ /dev/null @@ -1,10 +0,0 @@ -[trailing-space-in-inline-box.html] - [Preserved trailing spaces in inline boxes should hang] - expected: FAIL - - [Preserved trailing spaces in inline boxes should hang 2] - expected: FAIL - - [Preserved trailing spaces in inline boxes should hang 1] - expected: FAIL - diff --git a/tests/wpt/metadata-layout-2020/css/css-text/white-space/trailing-space-position-001.html.ini b/tests/wpt/metadata-layout-2020/css/css-text/white-space/trailing-space-position-001.html.ini deleted file mode 100644 index 2a6a9ba5a81..00000000000 --- a/tests/wpt/metadata-layout-2020/css/css-text/white-space/trailing-space-position-001.html.ini +++ /dev/null @@ -1,6 +0,0 @@ -[trailing-space-position-001.html] - [CSS Test: Positions of trailing collapsible spaces] - expected: FAIL - - [CSS Test: Positions of trailing collapsible spaces 2] - expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-text/white-space/white-space-collapse-002.html.ini b/tests/wpt/metadata-layout-2020/css/css-text/white-space/white-space-collapse-002.html.ini new file mode 100644 index 00000000000..923be960abd --- /dev/null +++ b/tests/wpt/metadata-layout-2020/css/css-text/white-space/white-space-collapse-002.html.ini @@ -0,0 +1,48 @@ +[white-space-collapse-002.html] + [RLO 2] + expected: FAIL + + [RLO 3] + expected: FAIL + + [RLO 4] + expected: FAIL + + [RLO 5] + expected: FAIL + + [RLE 2] + expected: FAIL + + [RLE 3] + expected: FAIL + + [RLE 4] + expected: FAIL + + [RLE 5] + expected: FAIL + + [RLI 2] + expected: FAIL + + [RLI 3] + expected: FAIL + + [RLI 4] + expected: FAIL + + [RLI 5] + expected: FAIL + + [RLM 2] + expected: FAIL + + [RLM 3] + expected: FAIL + + [RLM 4] + expected: FAIL + + [RLM 5] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-text/white-space/white-space-intrinsic-size-014.html.ini b/tests/wpt/metadata-layout-2020/css/css-text/white-space/white-space-intrinsic-size-014.html.ini new file mode 100644 index 00000000000..871f19e65f1 --- /dev/null +++ b/tests/wpt/metadata-layout-2020/css/css-text/white-space/white-space-intrinsic-size-014.html.ini @@ -0,0 +1,2 @@ +[white-space-intrinsic-size-014.html] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-text/white-space/white-space-intrinsic-size-015.html.ini b/tests/wpt/metadata-layout-2020/css/css-text/white-space/white-space-intrinsic-size-015.html.ini new file mode 100644 index 00000000000..89bdfca9200 --- /dev/null +++ b/tests/wpt/metadata-layout-2020/css/css-text/white-space/white-space-intrinsic-size-015.html.ini @@ -0,0 +1,2 @@ +[white-space-intrinsic-size-015.html] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-text/white-space/white-space-intrinsic-size-016.html.ini b/tests/wpt/metadata-layout-2020/css/css-text/white-space/white-space-intrinsic-size-016.html.ini new file mode 100644 index 00000000000..cd83045f9ac --- /dev/null +++ b/tests/wpt/metadata-layout-2020/css/css-text/white-space/white-space-intrinsic-size-016.html.ini @@ -0,0 +1,2 @@ +[white-space-intrinsic-size-016.html] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-text/white-space/white-space-intrinsic-size-017.html.ini b/tests/wpt/metadata-layout-2020/css/css-text/white-space/white-space-intrinsic-size-017.html.ini new file mode 100644 index 00000000000..1095373e38b --- /dev/null +++ b/tests/wpt/metadata-layout-2020/css/css-text/white-space/white-space-intrinsic-size-017.html.ini @@ -0,0 +1,2 @@ +[white-space-intrinsic-size-017.html] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-text/white-space/white-space-intrinsic-size-018.html.ini b/tests/wpt/metadata-layout-2020/css/css-text/white-space/white-space-intrinsic-size-018.html.ini new file mode 100644 index 00000000000..368a69e07d3 --- /dev/null +++ b/tests/wpt/metadata-layout-2020/css/css-text/white-space/white-space-intrinsic-size-018.html.ini @@ -0,0 +1,2 @@ +[white-space-intrinsic-size-018.html] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-text/white-space/white-space-intrinsic-size-019.html.ini b/tests/wpt/metadata-layout-2020/css/css-text/white-space/white-space-intrinsic-size-019.html.ini new file mode 100644 index 00000000000..442e5e3ed26 --- /dev/null +++ b/tests/wpt/metadata-layout-2020/css/css-text/white-space/white-space-intrinsic-size-019.html.ini @@ -0,0 +1,2 @@ +[white-space-intrinsic-size-019.html] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-text/white-space/white-space-intrinsic-size-020.html.ini b/tests/wpt/metadata-layout-2020/css/css-text/white-space/white-space-intrinsic-size-020.html.ini new file mode 100644 index 00000000000..e4d9505ebbc --- /dev/null +++ b/tests/wpt/metadata-layout-2020/css/css-text/white-space/white-space-intrinsic-size-020.html.ini @@ -0,0 +1,2 @@ +[white-space-intrinsic-size-020.html] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-text/white-space/white-space-normal-011.html.ini b/tests/wpt/metadata-layout-2020/css/css-text/white-space/white-space-normal-011.html.ini deleted file mode 100644 index c0ad8b521d7..00000000000 --- a/tests/wpt/metadata-layout-2020/css/css-text/white-space/white-space-normal-011.html.ini +++ /dev/null @@ -1,2 +0,0 @@ -[white-space-normal-011.html] - expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-text/white-space/white-space-nowrap-011.html.ini b/tests/wpt/metadata-layout-2020/css/css-text/white-space/white-space-nowrap-011.html.ini new file mode 100644 index 00000000000..af8cf59b08c --- /dev/null +++ b/tests/wpt/metadata-layout-2020/css/css-text/white-space/white-space-nowrap-011.html.ini @@ -0,0 +1,2 @@ +[white-space-nowrap-011.html] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-text/white-space/white-space-pre-wrap-trailing-spaces-004.html.ini b/tests/wpt/metadata-layout-2020/css/css-text/white-space/white-space-pre-wrap-trailing-spaces-004.html.ini new file mode 100644 index 00000000000..9c4a95efad0 --- /dev/null +++ b/tests/wpt/metadata-layout-2020/css/css-text/white-space/white-space-pre-wrap-trailing-spaces-004.html.ini @@ -0,0 +1,2 @@ +[white-space-pre-wrap-trailing-spaces-004.html] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-text/white-space/white-space-zero-fontsize-001.html.ini b/tests/wpt/metadata-layout-2020/css/css-text/white-space/white-space-zero-fontsize-001.html.ini new file mode 100644 index 00000000000..d218a6854ee --- /dev/null +++ b/tests/wpt/metadata-layout-2020/css/css-text/white-space/white-space-zero-fontsize-001.html.ini @@ -0,0 +1,2 @@ +[white-space-zero-fontsize-001.html] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-text/white-space/ws-break-spaces-applies-to-012.html.ini b/tests/wpt/metadata-layout-2020/css/css-text/white-space/ws-break-spaces-applies-to-012.html.ini new file mode 100644 index 00000000000..9704f3dd10f --- /dev/null +++ b/tests/wpt/metadata-layout-2020/css/css-text/white-space/ws-break-spaces-applies-to-012.html.ini @@ -0,0 +1,2 @@ +[ws-break-spaces-applies-to-012.html] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-text/white-space/ws-break-spaces-applies-to-013.html.ini b/tests/wpt/metadata-layout-2020/css/css-text/white-space/ws-break-spaces-applies-to-013.html.ini new file mode 100644 index 00000000000..5d6224d03b5 --- /dev/null +++ b/tests/wpt/metadata-layout-2020/css/css-text/white-space/ws-break-spaces-applies-to-013.html.ini @@ -0,0 +1,2 @@ +[ws-break-spaces-applies-to-013.html] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-text/word-break/break-boundary-2-chars-001.html.ini b/tests/wpt/metadata-layout-2020/css/css-text/word-break/break-boundary-2-chars-001.html.ini deleted file mode 100644 index 32c5e8e6275..00000000000 --- a/tests/wpt/metadata-layout-2020/css/css-text/word-break/break-boundary-2-chars-001.html.ini +++ /dev/null @@ -1,2 +0,0 @@ -[break-boundary-2-chars-001.html] - expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-text/word-break/word-break-break-all-000.html.ini b/tests/wpt/metadata-layout-2020/css/css-text/word-break/word-break-break-all-000.html.ini new file mode 100644 index 00000000000..43c6e201584 --- /dev/null +++ b/tests/wpt/metadata-layout-2020/css/css-text/word-break/word-break-break-all-000.html.ini @@ -0,0 +1,2 @@ +[word-break-break-all-000.html] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-text/word-break/word-break-break-all-001.html.ini b/tests/wpt/metadata-layout-2020/css/css-text/word-break/word-break-break-all-001.html.ini new file mode 100644 index 00000000000..8c0b8acc5af --- /dev/null +++ b/tests/wpt/metadata-layout-2020/css/css-text/word-break/word-break-break-all-001.html.ini @@ -0,0 +1,2 @@ +[word-break-break-all-001.html] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-text/word-break/word-break-break-all-002.html.ini b/tests/wpt/metadata-layout-2020/css/css-text/word-break/word-break-break-all-002.html.ini new file mode 100644 index 00000000000..3e409b0bce8 --- /dev/null +++ b/tests/wpt/metadata-layout-2020/css/css-text/word-break/word-break-break-all-002.html.ini @@ -0,0 +1,2 @@ +[word-break-break-all-002.html] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-text/word-break/word-break-break-all-003.html.ini b/tests/wpt/metadata-layout-2020/css/css-text/word-break/word-break-break-all-003.html.ini new file mode 100644 index 00000000000..0a5c0530f18 --- /dev/null +++ b/tests/wpt/metadata-layout-2020/css/css-text/word-break/word-break-break-all-003.html.ini @@ -0,0 +1,2 @@ +[word-break-break-all-003.html] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-text/word-break/word-break-break-all-005.html.ini b/tests/wpt/metadata-layout-2020/css/css-text/word-break/word-break-break-all-005.html.ini new file mode 100644 index 00000000000..0fbcfcbb552 --- /dev/null +++ b/tests/wpt/metadata-layout-2020/css/css-text/word-break/word-break-break-all-005.html.ini @@ -0,0 +1,2 @@ +[word-break-break-all-005.html] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-text/word-break/word-break-break-all-006.html.ini b/tests/wpt/metadata-layout-2020/css/css-text/word-break/word-break-break-all-006.html.ini new file mode 100644 index 00000000000..bc1a8af91fe --- /dev/null +++ b/tests/wpt/metadata-layout-2020/css/css-text/word-break/word-break-break-all-006.html.ini @@ -0,0 +1,2 @@ +[word-break-break-all-006.html] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-text/word-break/word-break-break-all-008.html.ini b/tests/wpt/metadata-layout-2020/css/css-text/word-break/word-break-break-all-008.html.ini new file mode 100644 index 00000000000..ef0bf49032d --- /dev/null +++ b/tests/wpt/metadata-layout-2020/css/css-text/word-break/word-break-break-all-008.html.ini @@ -0,0 +1,2 @@ +[word-break-break-all-008.html] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-text/word-break/word-break-break-all-011.html.ini b/tests/wpt/metadata-layout-2020/css/css-text/word-break/word-break-break-all-011.html.ini new file mode 100644 index 00000000000..6833da89a76 --- /dev/null +++ b/tests/wpt/metadata-layout-2020/css/css-text/word-break/word-break-break-all-011.html.ini @@ -0,0 +1,2 @@ +[word-break-break-all-011.html] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-text/word-break/word-break-break-all-014.html.ini b/tests/wpt/metadata-layout-2020/css/css-text/word-break/word-break-break-all-014.html.ini new file mode 100644 index 00000000000..78724dd30f2 --- /dev/null +++ b/tests/wpt/metadata-layout-2020/css/css-text/word-break/word-break-break-all-014.html.ini @@ -0,0 +1,2 @@ +[word-break-break-all-014.html] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-text/word-break/word-break-break-all-031.html.ini b/tests/wpt/metadata-layout-2020/css/css-text/word-break/word-break-break-all-031.html.ini new file mode 100644 index 00000000000..46433f5c351 --- /dev/null +++ b/tests/wpt/metadata-layout-2020/css/css-text/word-break/word-break-break-all-031.html.ini @@ -0,0 +1,2 @@ +[word-break-break-all-031.html] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-text/word-break/word-break-break-all-inline-004.tentative.html.ini b/tests/wpt/metadata-layout-2020/css/css-text/word-break/word-break-break-all-inline-004.tentative.html.ini deleted file mode 100644 index 4f8a76e98c7..00000000000 --- a/tests/wpt/metadata-layout-2020/css/css-text/word-break/word-break-break-all-inline-004.tentative.html.ini +++ /dev/null @@ -1,2 +0,0 @@ -[word-break-break-all-inline-004.tentative.html] - expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-text/word-break/word-break-break-all-inline-007.tentative.html.ini b/tests/wpt/metadata-layout-2020/css/css-text/word-break/word-break-break-all-inline-007.tentative.html.ini deleted file mode 100644 index 0aad3a150dd..00000000000 --- a/tests/wpt/metadata-layout-2020/css/css-text/word-break/word-break-break-all-inline-007.tentative.html.ini +++ /dev/null @@ -1,2 +0,0 @@ -[word-break-break-all-inline-007.tentative.html] - expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-text/word-break/word-break-min-content-003.html.ini b/tests/wpt/metadata-layout-2020/css/css-text/word-break/word-break-min-content-003.html.ini new file mode 100644 index 00000000000..37993de3a17 --- /dev/null +++ b/tests/wpt/metadata-layout-2020/css/css-text/word-break/word-break-min-content-003.html.ini @@ -0,0 +1,2 @@ +[word-break-min-content-003.html] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-text/word-break/word-break-normal-001.html.ini b/tests/wpt/metadata-layout-2020/css/css-text/word-break/word-break-normal-001.html.ini new file mode 100644 index 00000000000..4ba098044d6 --- /dev/null +++ b/tests/wpt/metadata-layout-2020/css/css-text/word-break/word-break-normal-001.html.ini @@ -0,0 +1,2 @@ +[word-break-normal-001.html] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-text/word-break/word-break-normal-ethiopic.html.ini b/tests/wpt/metadata-layout-2020/css/css-text/word-break/word-break-normal-ethiopic.html.ini new file mode 100644 index 00000000000..b91c2e6ee1f --- /dev/null +++ b/tests/wpt/metadata-layout-2020/css/css-text/word-break/word-break-normal-ethiopic.html.ini @@ -0,0 +1,2 @@ +[word-break-normal-ethiopic.html] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-text/word-break/word-break-normal-ja-000.html.ini b/tests/wpt/metadata-layout-2020/css/css-text/word-break/word-break-normal-ja-000.html.ini new file mode 100644 index 00000000000..3c329316942 --- /dev/null +++ b/tests/wpt/metadata-layout-2020/css/css-text/word-break/word-break-normal-ja-000.html.ini @@ -0,0 +1,2 @@ +[word-break-normal-ja-000.html] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-text/word-break/word-break-normal-ja-001.html.ini b/tests/wpt/metadata-layout-2020/css/css-text/word-break/word-break-normal-ja-001.html.ini new file mode 100644 index 00000000000..a046e471b17 --- /dev/null +++ b/tests/wpt/metadata-layout-2020/css/css-text/word-break/word-break-normal-ja-001.html.ini @@ -0,0 +1,2 @@ +[word-break-normal-ja-001.html] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-text/word-break/word-break-normal-ja-002.html.ini b/tests/wpt/metadata-layout-2020/css/css-text/word-break/word-break-normal-ja-002.html.ini new file mode 100644 index 00000000000..15244a12fa2 --- /dev/null +++ b/tests/wpt/metadata-layout-2020/css/css-text/word-break/word-break-normal-ja-002.html.ini @@ -0,0 +1,2 @@ +[word-break-normal-ja-002.html] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-text/word-break/word-break-normal-ja-004.html.ini b/tests/wpt/metadata-layout-2020/css/css-text/word-break/word-break-normal-ja-004.html.ini new file mode 100644 index 00000000000..8f6de798490 --- /dev/null +++ b/tests/wpt/metadata-layout-2020/css/css-text/word-break/word-break-normal-ja-004.html.ini @@ -0,0 +1,2 @@ +[word-break-normal-ja-004.html] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-text/word-break/word-break-normal-ko-000.html.ini b/tests/wpt/metadata-layout-2020/css/css-text/word-break/word-break-normal-ko-000.html.ini new file mode 100644 index 00000000000..e1297171e90 --- /dev/null +++ b/tests/wpt/metadata-layout-2020/css/css-text/word-break/word-break-normal-ko-000.html.ini @@ -0,0 +1,2 @@ +[word-break-normal-ko-000.html] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-text/word-break/word-break-normal-zh-000.html.ini b/tests/wpt/metadata-layout-2020/css/css-text/word-break/word-break-normal-zh-000.html.ini new file mode 100644 index 00000000000..f5f672c4271 --- /dev/null +++ b/tests/wpt/metadata-layout-2020/css/css-text/word-break/word-break-normal-zh-000.html.ini @@ -0,0 +1,2 @@ +[word-break-normal-zh-000.html] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-text/writing-system/writing-system-text-transform-001.html.ini b/tests/wpt/metadata-layout-2020/css/css-text/writing-system/writing-system-text-transform-001.html.ini new file mode 100644 index 00000000000..b41b57e5ff7 --- /dev/null +++ b/tests/wpt/metadata-layout-2020/css/css-text/writing-system/writing-system-text-transform-001.html.ini @@ -0,0 +1,2 @@ +[writing-system-text-transform-001.html] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-transforms/3d-rendering-context-and-abspos.html.ini b/tests/wpt/metadata-layout-2020/css/css-transforms/3d-rendering-context-and-abspos.html.ini deleted file mode 100644 index 3722b282196..00000000000 --- a/tests/wpt/metadata-layout-2020/css/css-transforms/3d-rendering-context-and-abspos.html.ini +++ /dev/null @@ -1,2 +0,0 @@ -[3d-rendering-context-and-abspos.html] - expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-transforms/animation/backface-visibility-no-interpolation.html.ini b/tests/wpt/metadata-layout-2020/css/css-transforms/animation/backface-visibility-no-interpolation.html.ini new file mode 100644 index 00000000000..7ae1813be57 --- /dev/null +++ b/tests/wpt/metadata-layout-2020/css/css-transforms/animation/backface-visibility-no-interpolation.html.ini @@ -0,0 +1,30 @@ +[backface-visibility-no-interpolation.html] + [CSS Transitions with transition: all: property <backface-visibility> from [initial\] to [hidden\] at (-0.3) should be [hidden\]] + expected: FAIL + + [CSS Transitions with transition: all: property <backface-visibility> from [initial\] to [hidden\] at (0) should be [hidden\]] + expected: FAIL + + [CSS Transitions with transition: all: property <backface-visibility> from [initial\] to [hidden\] at (0.3) should be [hidden\]] + expected: FAIL + + [Web Animations: property <backface-visibility> from [initial\] to [hidden\] at (-0.3) should be [initial\]] + expected: FAIL + + [Web Animations: property <backface-visibility> from [initial\] to [hidden\] at (0) should be [initial\]] + expected: FAIL + + [Web Animations: property <backface-visibility> from [initial\] to [hidden\] at (0.3) should be [initial\]] + expected: FAIL + + [Web Animations: property <backface-visibility> from [initial\] to [hidden\] at (0.5) should be [hidden\]] + expected: FAIL + + [Web Animations: property <backface-visibility> from [initial\] to [hidden\] at (0.6) should be [hidden\]] + expected: FAIL + + [Web Animations: property <backface-visibility> from [initial\] to [hidden\] at (1) should be [hidden\]] + expected: FAIL + + [Web Animations: property <backface-visibility> from [initial\] to [hidden\] at (1.5) should be [hidden\]] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-transforms/animation/rotate-animation-with-will-change-transform-001.html.ini b/tests/wpt/metadata-layout-2020/css/css-transforms/animation/rotate-animation-with-will-change-transform-001.html.ini index 70854f42421..8cbf5a49ffa 100644 --- a/tests/wpt/metadata-layout-2020/css/css-transforms/animation/rotate-animation-with-will-change-transform-001.html.ini +++ b/tests/wpt/metadata-layout-2020/css/css-transforms/animation/rotate-animation-with-will-change-transform-001.html.ini @@ -1,2 +1,2 @@ [rotate-animation-with-will-change-transform-001.html] - expected: TIMEOUT + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-transforms/animation/rotate-composition.html.ini b/tests/wpt/metadata-layout-2020/css/css-transforms/animation/rotate-composition.html.ini index 0fac14cafe0..d0ae48ccecc 100644 --- a/tests/wpt/metadata-layout-2020/css/css-transforms/animation/rotate-composition.html.ini +++ b/tests/wpt/metadata-layout-2020/css/css-transforms/animation/rotate-composition.html.ini @@ -322,3 +322,9 @@ [Compositing: property <rotate> underlying [1 2 3 90deg\] from add [2 4 6 270deg\] to replace [0 1 0 100deg\] at (0) should be [0deg\]] expected: FAIL + + [Compositing: property <rotate> underlying [1 2 3 90deg\] from add [none\] to replace [0 1 0 100deg\] at (0) should be [1 2 3 90deg\]] + expected: FAIL + + [Compositing: property <rotate> underlying [1 2 3 90deg\] from add [2 4 6 270deg\] to replace [none\] at (0.75) should be [0.27 0.53 0.8 90deg\]] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-transforms/animation/rotate-interpolation.html.ini b/tests/wpt/metadata-layout-2020/css/css-transforms/animation/rotate-interpolation.html.ini index f0ec47ffbe2..a6c3e553e21 100644 --- a/tests/wpt/metadata-layout-2020/css/css-transforms/animation/rotate-interpolation.html.ini +++ b/tests/wpt/metadata-layout-2020/css/css-transforms/animation/rotate-interpolation.html.ini @@ -289,3 +289,804 @@ [Web Animations: property <rotate> from [45deg\] to [-1 1 0 60deg\] at (0) should be [45deg\]] expected: FAIL + + [CSS Transitions: property <rotate> from [100deg\] to [180deg\] at (-1) should be [20deg\]] + expected: FAIL + + [CSS Transitions: property <rotate> from [100deg\] to [180deg\] at (0) should be [100deg\]] + expected: FAIL + + [CSS Transitions: property <rotate> from [100deg\] to [180deg\] at (0.125) should be [110deg\]] + expected: FAIL + + [CSS Transitions: property <rotate> from [100deg\] to [180deg\] at (0.875) should be [170deg\]] + expected: FAIL + + [CSS Transitions: property <rotate> from [100deg\] to [180deg\] at (1) should be [180deg\]] + expected: FAIL + + [CSS Transitions: property <rotate> from [100deg\] to [180deg\] at (2) should be [260deg\]] + expected: FAIL + + [CSS Transitions with transition: all: property <rotate> from [100deg\] to [180deg\] at (-1) should be [20deg\]] + expected: FAIL + + [CSS Transitions with transition: all: property <rotate> from [100deg\] to [180deg\] at (0) should be [100deg\]] + expected: FAIL + + [CSS Transitions with transition: all: property <rotate> from [100deg\] to [180deg\] at (0.125) should be [110deg\]] + expected: FAIL + + [CSS Transitions with transition: all: property <rotate> from [100deg\] to [180deg\] at (0.875) should be [170deg\]] + expected: FAIL + + [CSS Transitions with transition: all: property <rotate> from [100deg\] to [180deg\] at (1) should be [180deg\]] + expected: FAIL + + [CSS Transitions with transition: all: property <rotate> from [100deg\] to [180deg\] at (2) should be [260deg\]] + expected: FAIL + + [CSS Animations: property <rotate> from [100deg\] to [180deg\] at (-1) should be [20deg\]] + expected: FAIL + + [CSS Animations: property <rotate> from [100deg\] to [180deg\] at (0) should be [100deg\]] + expected: FAIL + + [CSS Animations: property <rotate> from [100deg\] to [180deg\] at (0.125) should be [110deg\]] + expected: FAIL + + [CSS Animations: property <rotate> from [100deg\] to [180deg\] at (0.875) should be [170deg\]] + expected: FAIL + + [CSS Animations: property <rotate> from [100deg\] to [180deg\] at (1) should be [180deg\]] + expected: FAIL + + [CSS Animations: property <rotate> from [100deg\] to [180deg\] at (2) should be [260deg\]] + expected: FAIL + + [CSS Transitions: property <rotate> from [45deg\] to [-1 1 0 60deg\] at (-1) should be [0.447214 -0.447214 0.774597 104.478deg\]] + expected: FAIL + + [CSS Transitions: property <rotate> from [45deg\] to [-1 1 0 60deg\] at (0.125) should be [-0.136456 0.136456 0.981203 40.6037deg\]] + expected: FAIL + + [CSS Transitions: property <rotate> from [45deg\] to [-1 1 0 60deg\] at (0.875) should be [-0.70246 0.70246 0.114452 53.1994deg\]] + expected: FAIL + + [CSS Transitions: property <rotate> from [45deg\] to [-1 1 0 60deg\] at (1) should be [-0.71 0.71 0 60deg\]] + expected: FAIL + + [CSS Transitions: property <rotate> from [45deg\] to [-1 1 0 60deg\] at (2) should be [-0.637897 0.637897 -0.431479 124.975deg\]] + expected: FAIL + + [CSS Transitions with transition: all: property <rotate> from [45deg\] to [-1 1 0 60deg\] at (-1) should be [0.447214 -0.447214 0.774597 104.478deg\]] + expected: FAIL + + [CSS Transitions with transition: all: property <rotate> from [45deg\] to [-1 1 0 60deg\] at (0.125) should be [-0.136456 0.136456 0.981203 40.6037deg\]] + expected: FAIL + + [CSS Transitions with transition: all: property <rotate> from [45deg\] to [-1 1 0 60deg\] at (0.875) should be [-0.70246 0.70246 0.114452 53.1994deg\]] + expected: FAIL + + [CSS Transitions with transition: all: property <rotate> from [45deg\] to [-1 1 0 60deg\] at (1) should be [-0.71 0.71 0 60deg\]] + expected: FAIL + + [CSS Transitions with transition: all: property <rotate> from [45deg\] to [-1 1 0 60deg\] at (2) should be [-0.637897 0.637897 -0.431479 124.975deg\]] + expected: FAIL + + [CSS Animations: property <rotate> from [45deg\] to [-1 1 0 60deg\] at (-1) should be [0.447214 -0.447214 0.774597 104.478deg\]] + expected: FAIL + + [CSS Animations: property <rotate> from [45deg\] to [-1 1 0 60deg\] at (0.125) should be [-0.136456 0.136456 0.981203 40.6037deg\]] + expected: FAIL + + [CSS Animations: property <rotate> from [45deg\] to [-1 1 0 60deg\] at (0.875) should be [-0.70246 0.70246 0.114452 53.1994deg\]] + expected: FAIL + + [CSS Animations: property <rotate> from [45deg\] to [-1 1 0 60deg\] at (1) should be [-0.71 0.71 0 60deg\]] + expected: FAIL + + [CSS Animations: property <rotate> from [45deg\] to [-1 1 0 60deg\] at (2) should be [-0.637897 0.637897 -0.431479 124.975deg\]] + expected: FAIL + + [CSS Transitions: property <rotate> from [none\] to [7 -8 9 400grad\] at (-1) should be [0.5 -0.57 0.65 -400grad\]] + expected: FAIL + + [CSS Transitions: property <rotate> from [none\] to [7 -8 9 400grad\] at (0) should be [0.5 -0.57 0.65 0deg\]] + expected: FAIL + + [CSS Transitions: property <rotate> from [none\] to [7 -8 9 400grad\] at (0.125) should be [0.5 -0.57 0.65 50grad\]] + expected: FAIL + + [CSS Transitions: property <rotate> from [none\] to [7 -8 9 400grad\] at (0.875) should be [0.5 -0.57 0.65 350grad\]] + expected: FAIL + + [CSS Transitions: property <rotate> from [none\] to [7 -8 9 400grad\] at (1) should be [0.5 -0.57 0.65 400grad\]] + expected: FAIL + + [CSS Transitions: property <rotate> from [none\] to [7 -8 9 400grad\] at (2) should be [0.5 -0.57 0.65 800grad\]] + expected: FAIL + + [CSS Transitions with transition: all: property <rotate> from [none\] to [7 -8 9 400grad\] at (-1) should be [0.5 -0.57 0.65 -400grad\]] + expected: FAIL + + [CSS Transitions with transition: all: property <rotate> from [none\] to [7 -8 9 400grad\] at (0) should be [0.5 -0.57 0.65 0deg\]] + expected: FAIL + + [CSS Transitions with transition: all: property <rotate> from [none\] to [7 -8 9 400grad\] at (0.125) should be [0.5 -0.57 0.65 50grad\]] + expected: FAIL + + [CSS Transitions with transition: all: property <rotate> from [none\] to [7 -8 9 400grad\] at (0.875) should be [0.5 -0.57 0.65 350grad\]] + expected: FAIL + + [CSS Transitions with transition: all: property <rotate> from [none\] to [7 -8 9 400grad\] at (1) should be [0.5 -0.57 0.65 400grad\]] + expected: FAIL + + [CSS Transitions with transition: all: property <rotate> from [none\] to [7 -8 9 400grad\] at (2) should be [0.5 -0.57 0.65 800grad\]] + expected: FAIL + + [CSS Animations: property <rotate> from [none\] to [7 -8 9 400grad\] at (-1) should be [0.5 -0.57 0.65 -400grad\]] + expected: FAIL + + [CSS Animations: property <rotate> from [none\] to [7 -8 9 400grad\] at (0) should be [0.5 -0.57 0.65 0deg\]] + expected: FAIL + + [CSS Animations: property <rotate> from [none\] to [7 -8 9 400grad\] at (0.125) should be [0.5 -0.57 0.65 50grad\]] + expected: FAIL + + [CSS Animations: property <rotate> from [none\] to [7 -8 9 400grad\] at (0.875) should be [0.5 -0.57 0.65 350grad\]] + expected: FAIL + + [CSS Animations: property <rotate> from [none\] to [7 -8 9 400grad\] at (1) should be [0.5 -0.57 0.65 400grad\]] + expected: FAIL + + [CSS Animations: property <rotate> from [none\] to [7 -8 9 400grad\] at (2) should be [0.5 -0.57 0.65 800grad\]] + expected: FAIL + + [CSS Transitions: property <rotate> from [none\] to [none\] at (-1) should be [none\]] + expected: FAIL + + [CSS Transitions: property <rotate> from [none\] to [none\] at (0) should be [none\]] + expected: FAIL + + [CSS Transitions: property <rotate> from [none\] to [none\] at (0.125) should be [none\]] + expected: FAIL + + [CSS Transitions: property <rotate> from [none\] to [none\] at (0.875) should be [none\]] + expected: FAIL + + [CSS Transitions: property <rotate> from [none\] to [none\] at (1) should be [none\]] + expected: FAIL + + [CSS Transitions: property <rotate> from [none\] to [none\] at (2) should be [none\]] + expected: FAIL + + [CSS Transitions with transition: all: property <rotate> from [none\] to [none\] at (-1) should be [none\]] + expected: FAIL + + [CSS Transitions with transition: all: property <rotate> from [none\] to [none\] at (0) should be [none\]] + expected: FAIL + + [CSS Transitions with transition: all: property <rotate> from [none\] to [none\] at (0.125) should be [none\]] + expected: FAIL + + [CSS Transitions with transition: all: property <rotate> from [none\] to [none\] at (0.875) should be [none\]] + expected: FAIL + + [CSS Transitions with transition: all: property <rotate> from [none\] to [none\] at (1) should be [none\]] + expected: FAIL + + [CSS Transitions with transition: all: property <rotate> from [none\] to [none\] at (2) should be [none\]] + expected: FAIL + + [CSS Animations: property <rotate> from [none\] to [none\] at (-1) should be [none\]] + expected: FAIL + + [CSS Animations: property <rotate> from [none\] to [none\] at (0) should be [none\]] + expected: FAIL + + [CSS Animations: property <rotate> from [none\] to [none\] at (0.125) should be [none\]] + expected: FAIL + + [CSS Animations: property <rotate> from [none\] to [none\] at (0.875) should be [none\]] + expected: FAIL + + [CSS Animations: property <rotate> from [none\] to [none\] at (1) should be [none\]] + expected: FAIL + + [CSS Animations: property <rotate> from [none\] to [none\] at (2) should be [none\]] + expected: FAIL + + [CSS Transitions: property <rotate> from [none\] to [30deg\] at (-1) should be [-30deg\]] + expected: FAIL + + [CSS Transitions: property <rotate> from [none\] to [30deg\] at (0) should be [0deg\]] + expected: FAIL + + [CSS Transitions: property <rotate> from [none\] to [30deg\] at (0.25) should be [7.5deg\]] + expected: FAIL + + [CSS Transitions: property <rotate> from [none\] to [30deg\] at (0.75) should be [22.5deg\]] + expected: FAIL + + [CSS Transitions: property <rotate> from [none\] to [30deg\] at (1) should be [30deg\]] + expected: FAIL + + [CSS Transitions: property <rotate> from [none\] to [30deg\] at (2) should be [60deg\]] + expected: FAIL + + [CSS Transitions with transition: all: property <rotate> from [none\] to [30deg\] at (-1) should be [-30deg\]] + expected: FAIL + + [CSS Transitions with transition: all: property <rotate> from [none\] to [30deg\] at (0) should be [0deg\]] + expected: FAIL + + [CSS Transitions with transition: all: property <rotate> from [none\] to [30deg\] at (0.25) should be [7.5deg\]] + expected: FAIL + + [CSS Transitions with transition: all: property <rotate> from [none\] to [30deg\] at (0.75) should be [22.5deg\]] + expected: FAIL + + [CSS Transitions with transition: all: property <rotate> from [none\] to [30deg\] at (1) should be [30deg\]] + expected: FAIL + + [CSS Transitions with transition: all: property <rotate> from [none\] to [30deg\] at (2) should be [60deg\]] + expected: FAIL + + [CSS Animations: property <rotate> from [none\] to [30deg\] at (-1) should be [-30deg\]] + expected: FAIL + + [CSS Animations: property <rotate> from [none\] to [30deg\] at (0) should be [0deg\]] + expected: FAIL + + [CSS Animations: property <rotate> from [none\] to [30deg\] at (0.25) should be [7.5deg\]] + expected: FAIL + + [CSS Animations: property <rotate> from [none\] to [30deg\] at (0.75) should be [22.5deg\]] + expected: FAIL + + [CSS Animations: property <rotate> from [none\] to [30deg\] at (1) should be [30deg\]] + expected: FAIL + + [CSS Animations: property <rotate> from [none\] to [30deg\] at (2) should be [60deg\]] + expected: FAIL + + [CSS Transitions: property <rotate> from neutral to [30deg\] at (-1) should be [-10deg\]] + expected: FAIL + + [CSS Transitions: property <rotate> from neutral to [30deg\] at (0) should be [10deg\]] + expected: FAIL + + [CSS Transitions: property <rotate> from neutral to [30deg\] at (0.25) should be [15deg\]] + expected: FAIL + + [CSS Transitions: property <rotate> from neutral to [30deg\] at (0.75) should be [25deg\]] + expected: FAIL + + [CSS Transitions: property <rotate> from neutral to [30deg\] at (1) should be [30deg\]] + expected: FAIL + + [CSS Transitions: property <rotate> from neutral to [30deg\] at (2) should be [50deg\]] + expected: FAIL + + [CSS Transitions with transition: all: property <rotate> from neutral to [30deg\] at (-1) should be [-10deg\]] + expected: FAIL + + [CSS Transitions with transition: all: property <rotate> from neutral to [30deg\] at (0) should be [10deg\]] + expected: FAIL + + [CSS Transitions with transition: all: property <rotate> from neutral to [30deg\] at (0.25) should be [15deg\]] + expected: FAIL + + [CSS Transitions with transition: all: property <rotate> from neutral to [30deg\] at (0.75) should be [25deg\]] + expected: FAIL + + [CSS Transitions with transition: all: property <rotate> from neutral to [30deg\] at (1) should be [30deg\]] + expected: FAIL + + [CSS Transitions with transition: all: property <rotate> from neutral to [30deg\] at (2) should be [50deg\]] + expected: FAIL + + [CSS Animations: property <rotate> from neutral to [30deg\] at (-1) should be [-10deg\]] + expected: FAIL + + [CSS Animations: property <rotate> from neutral to [30deg\] at (0) should be [10deg\]] + expected: FAIL + + [CSS Animations: property <rotate> from neutral to [30deg\] at (0.25) should be [15deg\]] + expected: FAIL + + [CSS Animations: property <rotate> from neutral to [30deg\] at (0.75) should be [25deg\]] + expected: FAIL + + [CSS Animations: property <rotate> from neutral to [30deg\] at (1) should be [30deg\]] + expected: FAIL + + [CSS Animations: property <rotate> from neutral to [30deg\] at (2) should be [50deg\]] + expected: FAIL + + [CSS Transitions: property <rotate> from [inherit\] to [270deg\] at (-1) should be [-90deg\]] + expected: FAIL + + [CSS Transitions: property <rotate> from [inherit\] to [270deg\] at (0) should be [90deg\]] + expected: FAIL + + [CSS Transitions: property <rotate> from [inherit\] to [270deg\] at (0.25) should be [135deg\]] + expected: FAIL + + [CSS Transitions: property <rotate> from [inherit\] to [270deg\] at (0.75) should be [225deg\]] + expected: FAIL + + [CSS Transitions: property <rotate> from [inherit\] to [270deg\] at (1) should be [270deg\]] + expected: FAIL + + [CSS Transitions: property <rotate> from [inherit\] to [270deg\] at (2) should be [450deg\]] + expected: FAIL + + [CSS Transitions with transition: all: property <rotate> from [inherit\] to [270deg\] at (-1) should be [-90deg\]] + expected: FAIL + + [CSS Transitions with transition: all: property <rotate> from [inherit\] to [270deg\] at (0) should be [90deg\]] + expected: FAIL + + [CSS Transitions with transition: all: property <rotate> from [inherit\] to [270deg\] at (0.25) should be [135deg\]] + expected: FAIL + + [CSS Transitions with transition: all: property <rotate> from [inherit\] to [270deg\] at (0.75) should be [225deg\]] + expected: FAIL + + [CSS Transitions with transition: all: property <rotate> from [inherit\] to [270deg\] at (1) should be [270deg\]] + expected: FAIL + + [CSS Transitions with transition: all: property <rotate> from [inherit\] to [270deg\] at (2) should be [450deg\]] + expected: FAIL + + [CSS Animations: property <rotate> from [inherit\] to [270deg\] at (-1) should be [-90deg\]] + expected: FAIL + + [CSS Animations: property <rotate> from [inherit\] to [270deg\] at (0) should be [90deg\]] + expected: FAIL + + [CSS Animations: property <rotate> from [inherit\] to [270deg\] at (0.25) should be [135deg\]] + expected: FAIL + + [CSS Animations: property <rotate> from [inherit\] to [270deg\] at (0.75) should be [225deg\]] + expected: FAIL + + [CSS Animations: property <rotate> from [inherit\] to [270deg\] at (1) should be [270deg\]] + expected: FAIL + + [CSS Animations: property <rotate> from [inherit\] to [270deg\] at (2) should be [450deg\]] + expected: FAIL + + [CSS Transitions: property <rotate> from [unset\] to [30deg\] at (-1) should be [-30deg\]] + expected: FAIL + + [CSS Transitions: property <rotate> from [unset\] to [30deg\] at (0) should be [0deg\]] + expected: FAIL + + [CSS Transitions: property <rotate> from [unset\] to [30deg\] at (0.25) should be [7.5deg\]] + expected: FAIL + + [CSS Transitions: property <rotate> from [unset\] to [30deg\] at (0.75) should be [22.5deg\]] + expected: FAIL + + [CSS Transitions: property <rotate> from [unset\] to [30deg\] at (1) should be [30deg\]] + expected: FAIL + + [CSS Transitions: property <rotate> from [unset\] to [30deg\] at (2) should be [60deg\]] + expected: FAIL + + [CSS Transitions with transition: all: property <rotate> from [unset\] to [30deg\] at (-1) should be [-30deg\]] + expected: FAIL + + [CSS Transitions with transition: all: property <rotate> from [unset\] to [30deg\] at (0) should be [0deg\]] + expected: FAIL + + [CSS Transitions with transition: all: property <rotate> from [unset\] to [30deg\] at (0.25) should be [7.5deg\]] + expected: FAIL + + [CSS Transitions with transition: all: property <rotate> from [unset\] to [30deg\] at (0.75) should be [22.5deg\]] + expected: FAIL + + [CSS Transitions with transition: all: property <rotate> from [unset\] to [30deg\] at (1) should be [30deg\]] + expected: FAIL + + [CSS Transitions with transition: all: property <rotate> from [unset\] to [30deg\] at (2) should be [60deg\]] + expected: FAIL + + [CSS Animations: property <rotate> from [unset\] to [30deg\] at (-1) should be [-30deg\]] + expected: FAIL + + [CSS Animations: property <rotate> from [unset\] to [30deg\] at (0) should be [0deg\]] + expected: FAIL + + [CSS Animations: property <rotate> from [unset\] to [30deg\] at (0.25) should be [7.5deg\]] + expected: FAIL + + [CSS Animations: property <rotate> from [unset\] to [30deg\] at (0.75) should be [22.5deg\]] + expected: FAIL + + [CSS Animations: property <rotate> from [unset\] to [30deg\] at (1) should be [30deg\]] + expected: FAIL + + [CSS Animations: property <rotate> from [unset\] to [30deg\] at (2) should be [60deg\]] + expected: FAIL + + [CSS Transitions: property <rotate> from [100deg\] to [-100deg\] at (-1) should be [300deg\]] + expected: FAIL + + [CSS Transitions: property <rotate> from [100deg\] to [-100deg\] at (0) should be [100deg\]] + expected: FAIL + + [CSS Transitions: property <rotate> from [100deg\] to [-100deg\] at (0.25) should be [50deg\]] + expected: FAIL + + [CSS Transitions: property <rotate> from [100deg\] to [-100deg\] at (0.75) should be [-50deg\]] + expected: FAIL + + [CSS Transitions: property <rotate> from [100deg\] to [-100deg\] at (1) should be [-100deg\]] + expected: FAIL + + [CSS Transitions: property <rotate> from [100deg\] to [-100deg\] at (2) should be [-300deg\]] + expected: FAIL + + [CSS Transitions with transition: all: property <rotate> from [100deg\] to [-100deg\] at (-1) should be [300deg\]] + expected: FAIL + + [CSS Transitions with transition: all: property <rotate> from [100deg\] to [-100deg\] at (0) should be [100deg\]] + expected: FAIL + + [CSS Transitions with transition: all: property <rotate> from [100deg\] to [-100deg\] at (0.25) should be [50deg\]] + expected: FAIL + + [CSS Transitions with transition: all: property <rotate> from [100deg\] to [-100deg\] at (0.75) should be [-50deg\]] + expected: FAIL + + [CSS Transitions with transition: all: property <rotate> from [100deg\] to [-100deg\] at (1) should be [-100deg\]] + expected: FAIL + + [CSS Transitions with transition: all: property <rotate> from [100deg\] to [-100deg\] at (2) should be [-300deg\]] + expected: FAIL + + [CSS Animations: property <rotate> from [100deg\] to [-100deg\] at (-1) should be [300deg\]] + expected: FAIL + + [CSS Animations: property <rotate> from [100deg\] to [-100deg\] at (0) should be [100deg\]] + expected: FAIL + + [CSS Animations: property <rotate> from [100deg\] to [-100deg\] at (0.25) should be [50deg\]] + expected: FAIL + + [CSS Animations: property <rotate> from [100deg\] to [-100deg\] at (0.75) should be [-50deg\]] + expected: FAIL + + [CSS Animations: property <rotate> from [100deg\] to [-100deg\] at (1) should be [-100deg\]] + expected: FAIL + + [CSS Animations: property <rotate> from [100deg\] to [-100deg\] at (2) should be [-300deg\]] + expected: FAIL + + [CSS Transitions: property <rotate> from [0 1 0 100deg\] to [0 1 0 -100deg\] at (-1) should be [0 1 0 300deg\]] + expected: FAIL + + [CSS Transitions: property <rotate> from [0 1 0 100deg\] to [0 1 0 -100deg\] at (0) should be [0 1 0 100deg\]] + expected: FAIL + + [CSS Transitions: property <rotate> from [0 1 0 100deg\] to [0 1 0 -100deg\] at (0.25) should be [0 1 0 50deg\]] + expected: FAIL + + [CSS Transitions: property <rotate> from [0 1 0 100deg\] to [0 1 0 -100deg\] at (0.75) should be [0 1 0 -50deg\]] + expected: FAIL + + [CSS Transitions: property <rotate> from [0 1 0 100deg\] to [0 1 0 -100deg\] at (1) should be [0 1 0 -100deg\]] + expected: FAIL + + [CSS Transitions: property <rotate> from [0 1 0 100deg\] to [0 1 0 -100deg\] at (2) should be [0 1 0 -300deg\]] + expected: FAIL + + [CSS Transitions with transition: all: property <rotate> from [0 1 0 100deg\] to [0 1 0 -100deg\] at (-1) should be [0 1 0 300deg\]] + expected: FAIL + + [CSS Transitions with transition: all: property <rotate> from [0 1 0 100deg\] to [0 1 0 -100deg\] at (0) should be [0 1 0 100deg\]] + expected: FAIL + + [CSS Transitions with transition: all: property <rotate> from [0 1 0 100deg\] to [0 1 0 -100deg\] at (0.25) should be [0 1 0 50deg\]] + expected: FAIL + + [CSS Transitions with transition: all: property <rotate> from [0 1 0 100deg\] to [0 1 0 -100deg\] at (0.75) should be [0 1 0 -50deg\]] + expected: FAIL + + [CSS Transitions with transition: all: property <rotate> from [0 1 0 100deg\] to [0 1 0 -100deg\] at (1) should be [0 1 0 -100deg\]] + expected: FAIL + + [CSS Transitions with transition: all: property <rotate> from [0 1 0 100deg\] to [0 1 0 -100deg\] at (2) should be [0 1 0 -300deg\]] + expected: FAIL + + [CSS Animations: property <rotate> from [0 1 0 100deg\] to [0 1 0 -100deg\] at (-1) should be [0 1 0 300deg\]] + expected: FAIL + + [CSS Animations: property <rotate> from [0 1 0 100deg\] to [0 1 0 -100deg\] at (0) should be [0 1 0 100deg\]] + expected: FAIL + + [CSS Animations: property <rotate> from [0 1 0 100deg\] to [0 1 0 -100deg\] at (0.25) should be [0 1 0 50deg\]] + expected: FAIL + + [CSS Animations: property <rotate> from [0 1 0 100deg\] to [0 1 0 -100deg\] at (0.75) should be [0 1 0 -50deg\]] + expected: FAIL + + [CSS Animations: property <rotate> from [0 1 0 100deg\] to [0 1 0 -100deg\] at (1) should be [0 1 0 -100deg\]] + expected: FAIL + + [CSS Animations: property <rotate> from [0 1 0 100deg\] to [0 1 0 -100deg\] at (2) should be [0 1 0 -300deg\]] + expected: FAIL + + [CSS Transitions: property <rotate> from [1 -2.5 3.64 100deg\] to [1 -2.5 3.64 -100deg\] at (-1) should be [0.22 -0.55 0.8 300deg\]] + expected: FAIL + + [CSS Transitions: property <rotate> from [1 -2.5 3.64 100deg\] to [1 -2.5 3.64 -100deg\] at (0) should be [0.22 -0.55 0.8 100deg\]] + expected: FAIL + + [CSS Transitions: property <rotate> from [1 -2.5 3.64 100deg\] to [1 -2.5 3.64 -100deg\] at (0.25) should be [0.22 -0.55 0.8 50deg\]] + expected: FAIL + + [CSS Transitions: property <rotate> from [1 -2.5 3.64 100deg\] to [1 -2.5 3.64 -100deg\] at (0.75) should be [0.22 -0.55 0.8 -50deg\]] + expected: FAIL + + [CSS Transitions: property <rotate> from [1 -2.5 3.64 100deg\] to [1 -2.5 3.64 -100deg\] at (1) should be [0.22 -0.55 0.8 -100deg\]] + expected: FAIL + + [CSS Transitions: property <rotate> from [1 -2.5 3.64 100deg\] to [1 -2.5 3.64 -100deg\] at (2) should be [0.22 -0.55 0.8 -300deg\]] + expected: FAIL + + [CSS Transitions with transition: all: property <rotate> from [1 -2.5 3.64 100deg\] to [1 -2.5 3.64 -100deg\] at (-1) should be [0.22 -0.55 0.8 300deg\]] + expected: FAIL + + [CSS Transitions with transition: all: property <rotate> from [1 -2.5 3.64 100deg\] to [1 -2.5 3.64 -100deg\] at (0) should be [0.22 -0.55 0.8 100deg\]] + expected: FAIL + + [CSS Transitions with transition: all: property <rotate> from [1 -2.5 3.64 100deg\] to [1 -2.5 3.64 -100deg\] at (0.25) should be [0.22 -0.55 0.8 50deg\]] + expected: FAIL + + [CSS Transitions with transition: all: property <rotate> from [1 -2.5 3.64 100deg\] to [1 -2.5 3.64 -100deg\] at (0.75) should be [0.22 -0.55 0.8 -50deg\]] + expected: FAIL + + [CSS Transitions with transition: all: property <rotate> from [1 -2.5 3.64 100deg\] to [1 -2.5 3.64 -100deg\] at (1) should be [0.22 -0.55 0.8 -100deg\]] + expected: FAIL + + [CSS Transitions with transition: all: property <rotate> from [1 -2.5 3.64 100deg\] to [1 -2.5 3.64 -100deg\] at (2) should be [0.22 -0.55 0.8 -300deg\]] + expected: FAIL + + [CSS Animations: property <rotate> from [1 -2.5 3.64 100deg\] to [1 -2.5 3.64 -100deg\] at (-1) should be [0.22 -0.55 0.8 300deg\]] + expected: FAIL + + [CSS Animations: property <rotate> from [1 -2.5 3.64 100deg\] to [1 -2.5 3.64 -100deg\] at (0) should be [0.22 -0.55 0.8 100deg\]] + expected: FAIL + + [CSS Animations: property <rotate> from [1 -2.5 3.64 100deg\] to [1 -2.5 3.64 -100deg\] at (0.25) should be [0.22 -0.55 0.8 50deg\]] + expected: FAIL + + [CSS Animations: property <rotate> from [1 -2.5 3.64 100deg\] to [1 -2.5 3.64 -100deg\] at (0.75) should be [0.22 -0.55 0.8 -50deg\]] + expected: FAIL + + [CSS Animations: property <rotate> from [1 -2.5 3.64 100deg\] to [1 -2.5 3.64 -100deg\] at (1) should be [0.22 -0.55 0.8 -100deg\]] + expected: FAIL + + [CSS Animations: property <rotate> from [1 -2.5 3.64 100deg\] to [1 -2.5 3.64 -100deg\] at (2) should be [0.22 -0.55 0.8 -300deg\]] + expected: FAIL + + [CSS Transitions: property <rotate> from [1 0 0 0deg\] to [0 1 0 10deg\] at (-1) should be [0 1 0 -10deg\]] + expected: FAIL + + [CSS Transitions: property <rotate> from [1 0 0 0deg\] to [0 1 0 10deg\] at (0) should be [0 1 0 0deg\]] + expected: FAIL + + [CSS Transitions: property <rotate> from [1 0 0 0deg\] to [0 1 0 10deg\] at (0.25) should be [0 1 0 2.5deg\]] + expected: FAIL + + [CSS Transitions: property <rotate> from [1 0 0 0deg\] to [0 1 0 10deg\] at (0.75) should be [0 1 0 7.5deg\]] + expected: FAIL + + [CSS Transitions: property <rotate> from [1 0 0 0deg\] to [0 1 0 10deg\] at (1) should be [0 1 0 10deg\]] + expected: FAIL + + [CSS Transitions: property <rotate> from [1 0 0 0deg\] to [0 1 0 10deg\] at (2) should be [0 1 0 20deg\]] + expected: FAIL + + [CSS Transitions with transition: all: property <rotate> from [1 0 0 0deg\] to [0 1 0 10deg\] at (-1) should be [0 1 0 -10deg\]] + expected: FAIL + + [CSS Transitions with transition: all: property <rotate> from [1 0 0 0deg\] to [0 1 0 10deg\] at (0) should be [0 1 0 0deg\]] + expected: FAIL + + [CSS Transitions with transition: all: property <rotate> from [1 0 0 0deg\] to [0 1 0 10deg\] at (0.25) should be [0 1 0 2.5deg\]] + expected: FAIL + + [CSS Transitions with transition: all: property <rotate> from [1 0 0 0deg\] to [0 1 0 10deg\] at (0.75) should be [0 1 0 7.5deg\]] + expected: FAIL + + [CSS Transitions with transition: all: property <rotate> from [1 0 0 0deg\] to [0 1 0 10deg\] at (1) should be [0 1 0 10deg\]] + expected: FAIL + + [CSS Transitions with transition: all: property <rotate> from [1 0 0 0deg\] to [0 1 0 10deg\] at (2) should be [0 1 0 20deg\]] + expected: FAIL + + [CSS Animations: property <rotate> from [1 0 0 0deg\] to [0 1 0 10deg\] at (-1) should be [0 1 0 -10deg\]] + expected: FAIL + + [CSS Animations: property <rotate> from [1 0 0 0deg\] to [0 1 0 10deg\] at (0) should be [0 1 0 0deg\]] + expected: FAIL + + [CSS Animations: property <rotate> from [1 0 0 0deg\] to [0 1 0 10deg\] at (0.25) should be [0 1 0 2.5deg\]] + expected: FAIL + + [CSS Animations: property <rotate> from [1 0 0 0deg\] to [0 1 0 10deg\] at (0.75) should be [0 1 0 7.5deg\]] + expected: FAIL + + [CSS Animations: property <rotate> from [1 0 0 0deg\] to [0 1 0 10deg\] at (1) should be [0 1 0 10deg\]] + expected: FAIL + + [CSS Animations: property <rotate> from [1 0 0 0deg\] to [0 1 0 10deg\] at (2) should be [0 1 0 20deg\]] + expected: FAIL + + [CSS Transitions: property <rotate> from [1 1 0 90deg\] to [0 1 1 135deg\] at (-1) should be [0.67 -0.06 -0.74 124.97deg\]] + expected: FAIL + + [CSS Transitions: property <rotate> from [1 1 0 90deg\] to [0 1 1 135deg\] at (0) should be [0.71 0.71 0 90deg\]] + expected: FAIL + + [CSS Transitions: property <rotate> from [1 1 0 90deg\] to [0 1 1 135deg\] at (0.25) should be [0.54 0.8 0.26 94.83deg\]] + expected: FAIL + + [CSS Transitions: property <rotate> from [1 1 0 90deg\] to [0 1 1 135deg\] at (0.75) should be [0.17 0.78 0.61 118.68deg\]] + expected: FAIL + + [CSS Transitions: property <rotate> from [1 1 0 90deg\] to [0 1 1 135deg\] at (1) should be [0 0.71 0.71 135deg\]] + expected: FAIL + + [CSS Transitions: property <rotate> from [1 1 0 90deg\] to [0 1 1 135deg\] at (2) should be [-0.52 0.29 0.81 208.96deg\]] + expected: FAIL + + [CSS Transitions with transition: all: property <rotate> from [1 1 0 90deg\] to [0 1 1 135deg\] at (-1) should be [0.67 -0.06 -0.74 124.97deg\]] + expected: FAIL + + [CSS Transitions with transition: all: property <rotate> from [1 1 0 90deg\] to [0 1 1 135deg\] at (0) should be [0.71 0.71 0 90deg\]] + expected: FAIL + + [CSS Transitions with transition: all: property <rotate> from [1 1 0 90deg\] to [0 1 1 135deg\] at (0.25) should be [0.54 0.8 0.26 94.83deg\]] + expected: FAIL + + [CSS Transitions with transition: all: property <rotate> from [1 1 0 90deg\] to [0 1 1 135deg\] at (0.75) should be [0.17 0.78 0.61 118.68deg\]] + expected: FAIL + + [CSS Transitions with transition: all: property <rotate> from [1 1 0 90deg\] to [0 1 1 135deg\] at (1) should be [0 0.71 0.71 135deg\]] + expected: FAIL + + [CSS Transitions with transition: all: property <rotate> from [1 1 0 90deg\] to [0 1 1 135deg\] at (2) should be [-0.52 0.29 0.81 208.96deg\]] + expected: FAIL + + [CSS Animations: property <rotate> from [1 1 0 90deg\] to [0 1 1 135deg\] at (-1) should be [0.67 -0.06 -0.74 124.97deg\]] + expected: FAIL + + [CSS Animations: property <rotate> from [1 1 0 90deg\] to [0 1 1 135deg\] at (0) should be [0.71 0.71 0 90deg\]] + expected: FAIL + + [CSS Animations: property <rotate> from [1 1 0 90deg\] to [0 1 1 135deg\] at (0.25) should be [0.54 0.8 0.26 94.83deg\]] + expected: FAIL + + [CSS Animations: property <rotate> from [1 1 0 90deg\] to [0 1 1 135deg\] at (0.75) should be [0.17 0.78 0.61 118.68deg\]] + expected: FAIL + + [CSS Animations: property <rotate> from [1 1 0 90deg\] to [0 1 1 135deg\] at (1) should be [0 0.71 0.71 135deg\]] + expected: FAIL + + [CSS Animations: property <rotate> from [1 1 0 90deg\] to [0 1 1 135deg\] at (2) should be [-0.52 0.29 0.81 208.96deg\]] + expected: FAIL + + [CSS Transitions: property <rotate> from [0 1 0 0deg\] to [1 0 0 450deg\] at (-1) should be [1 0 0 -450deg\]] + expected: FAIL + + [CSS Transitions: property <rotate> from [0 1 0 0deg\] to [1 0 0 450deg\] at (0) should be [1 0 0 0deg\]] + expected: FAIL + + [CSS Transitions: property <rotate> from [0 1 0 0deg\] to [1 0 0 450deg\] at (0.25) should be [1 0 0 112.5deg\]] + expected: FAIL + + [CSS Transitions: property <rotate> from [0 1 0 0deg\] to [1 0 0 450deg\] at (0.75) should be [1 0 0 337.5deg\]] + expected: FAIL + + [CSS Transitions: property <rotate> from [0 1 0 0deg\] to [1 0 0 450deg\] at (1) should be [1 0 0 450deg\]] + expected: FAIL + + [CSS Transitions: property <rotate> from [0 1 0 0deg\] to [1 0 0 450deg\] at (2) should be [1 0 0 900deg\]] + expected: FAIL + + [CSS Transitions with transition: all: property <rotate> from [0 1 0 0deg\] to [1 0 0 450deg\] at (-1) should be [1 0 0 -450deg\]] + expected: FAIL + + [CSS Transitions with transition: all: property <rotate> from [0 1 0 0deg\] to [1 0 0 450deg\] at (0) should be [1 0 0 0deg\]] + expected: FAIL + + [CSS Transitions with transition: all: property <rotate> from [0 1 0 0deg\] to [1 0 0 450deg\] at (0.25) should be [1 0 0 112.5deg\]] + expected: FAIL + + [CSS Transitions with transition: all: property <rotate> from [0 1 0 0deg\] to [1 0 0 450deg\] at (0.75) should be [1 0 0 337.5deg\]] + expected: FAIL + + [CSS Transitions with transition: all: property <rotate> from [0 1 0 0deg\] to [1 0 0 450deg\] at (1) should be [1 0 0 450deg\]] + expected: FAIL + + [CSS Transitions with transition: all: property <rotate> from [0 1 0 0deg\] to [1 0 0 450deg\] at (2) should be [1 0 0 900deg\]] + expected: FAIL + + [CSS Animations: property <rotate> from [0 1 0 0deg\] to [1 0 0 450deg\] at (-1) should be [1 0 0 -450deg\]] + expected: FAIL + + [CSS Animations: property <rotate> from [0 1 0 0deg\] to [1 0 0 450deg\] at (0) should be [1 0 0 0deg\]] + expected: FAIL + + [CSS Animations: property <rotate> from [0 1 0 0deg\] to [1 0 0 450deg\] at (0.25) should be [1 0 0 112.5deg\]] + expected: FAIL + + [CSS Animations: property <rotate> from [0 1 0 0deg\] to [1 0 0 450deg\] at (0.75) should be [1 0 0 337.5deg\]] + expected: FAIL + + [CSS Animations: property <rotate> from [0 1 0 0deg\] to [1 0 0 450deg\] at (1) should be [1 0 0 450deg\]] + expected: FAIL + + [CSS Animations: property <rotate> from [0 1 0 0deg\] to [1 0 0 450deg\] at (2) should be [1 0 0 900deg\]] + expected: FAIL + + [CSS Transitions: property <rotate> from [1 0 0 450deg\] to [0 1 0 0deg\] at (-1) should be [1 0 0 900deg\]] + expected: FAIL + + [CSS Transitions: property <rotate> from [1 0 0 450deg\] to [0 1 0 0deg\] at (0) should be [1 0 0 450deg\]] + expected: FAIL + + [CSS Transitions: property <rotate> from [1 0 0 450deg\] to [0 1 0 0deg\] at (0.25) should be [1 0 0 337.5deg\]] + expected: FAIL + + [CSS Transitions: property <rotate> from [1 0 0 450deg\] to [0 1 0 0deg\] at (0.75) should be [1 0 0 112.5deg\]] + expected: FAIL + + [CSS Transitions: property <rotate> from [1 0 0 450deg\] to [0 1 0 0deg\] at (1) should be [1 0 0 0deg\]] + expected: FAIL + + [CSS Transitions: property <rotate> from [1 0 0 450deg\] to [0 1 0 0deg\] at (2) should be [1 0 0 -450deg\]] + expected: FAIL + + [CSS Transitions with transition: all: property <rotate> from [1 0 0 450deg\] to [0 1 0 0deg\] at (-1) should be [1 0 0 900deg\]] + expected: FAIL + + [CSS Transitions with transition: all: property <rotate> from [1 0 0 450deg\] to [0 1 0 0deg\] at (0) should be [1 0 0 450deg\]] + expected: FAIL + + [CSS Transitions with transition: all: property <rotate> from [1 0 0 450deg\] to [0 1 0 0deg\] at (0.25) should be [1 0 0 337.5deg\]] + expected: FAIL + + [CSS Transitions with transition: all: property <rotate> from [1 0 0 450deg\] to [0 1 0 0deg\] at (0.75) should be [1 0 0 112.5deg\]] + expected: FAIL + + [CSS Transitions with transition: all: property <rotate> from [1 0 0 450deg\] to [0 1 0 0deg\] at (1) should be [1 0 0 0deg\]] + expected: FAIL + + [CSS Transitions with transition: all: property <rotate> from [1 0 0 450deg\] to [0 1 0 0deg\] at (2) should be [1 0 0 -450deg\]] + expected: FAIL + + [CSS Animations: property <rotate> from [1 0 0 450deg\] to [0 1 0 0deg\] at (-1) should be [1 0 0 900deg\]] + expected: FAIL + + [CSS Animations: property <rotate> from [1 0 0 450deg\] to [0 1 0 0deg\] at (0) should be [1 0 0 450deg\]] + expected: FAIL + + [CSS Animations: property <rotate> from [1 0 0 450deg\] to [0 1 0 0deg\] at (0.25) should be [1 0 0 337.5deg\]] + expected: FAIL + + [CSS Animations: property <rotate> from [1 0 0 450deg\] to [0 1 0 0deg\] at (0.75) should be [1 0 0 112.5deg\]] + expected: FAIL + + [CSS Animations: property <rotate> from [1 0 0 450deg\] to [0 1 0 0deg\] at (1) should be [1 0 0 0deg\]] + expected: FAIL + + [CSS Animations: property <rotate> from [1 0 0 450deg\] to [0 1 0 0deg\] at (2) should be [1 0 0 -450deg\]] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-transforms/animation/scale-composition.html.ini b/tests/wpt/metadata-layout-2020/css/css-transforms/animation/scale-composition.html.ini index 284b8ac4251..542a3db92d3 100644 --- a/tests/wpt/metadata-layout-2020/css/css-transforms/animation/scale-composition.html.ini +++ b/tests/wpt/metadata-layout-2020/css/css-transforms/animation/scale-composition.html.ini @@ -121,3 +121,6 @@ [Compositing: property <scale> underlying [1 2 3\] from add [4 5 6\] to replace [none\] at (1) should be [1\]] expected: FAIL + + [Compositing: property <scale> underlying [1 2 3\] from add [none\] to replace [7 8 9\] at (0) should be [1 2 3\]] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-transforms/animation/scale-interpolation.html.ini b/tests/wpt/metadata-layout-2020/css/css-transforms/animation/scale-interpolation.html.ini index 0a97c11f24e..b31b2c906e9 100644 --- a/tests/wpt/metadata-layout-2020/css/css-transforms/animation/scale-interpolation.html.ini +++ b/tests/wpt/metadata-layout-2020/css/css-transforms/animation/scale-interpolation.html.ini @@ -1078,4 +1078,3 @@ [CSS Transitions: property <scale> from [initial\] to [inherit\] at (0.75) should be [0.625 1 1.75\]] expected: FAIL - diff --git a/tests/wpt/metadata-layout-2020/css/css-transforms/animation/translate-composition.html.ini b/tests/wpt/metadata-layout-2020/css/css-transforms/animation/translate-composition.html.ini index d40ad2403f0..3526db5f685 100644 --- a/tests/wpt/metadata-layout-2020/css/css-transforms/animation/translate-composition.html.ini +++ b/tests/wpt/metadata-layout-2020/css/css-transforms/animation/translate-composition.html.ini @@ -178,3 +178,6 @@ [Compositing: property <translate> underlying [80px 20px\] from add [0px 40px 60px\] to replace [none\] at (1) should be [0px\]] expected: FAIL + + [Compositing: property <translate> underlying [80px 20px\] from add [none\] to replace [0px 40px 60px\] at (0) should be [80px 20px\]] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-transforms/animation/translate-interpolation.html.ini b/tests/wpt/metadata-layout-2020/css/css-transforms/animation/translate-interpolation.html.ini index c1709472f61..7583e8a23db 100644 --- a/tests/wpt/metadata-layout-2020/css/css-transforms/animation/translate-interpolation.html.ini +++ b/tests/wpt/metadata-layout-2020/css/css-transforms/animation/translate-interpolation.html.ini @@ -319,3 +319,921 @@ [Web Animations: property <translate> from [none\] to [8px 80% 800px\] at (0) should be [0px 0%\]] expected: FAIL + + [CSS Transitions: property <translate> from [-100px\] to [100px\] at (-1) should be [-300px\]] + expected: FAIL + + [CSS Transitions: property <translate> from [-100px\] to [100px\] at (0) should be [-100px\]] + expected: FAIL + + [CSS Transitions: property <translate> from [-100px\] to [100px\] at (0.25) should be [-50px\]] + expected: FAIL + + [CSS Transitions: property <translate> from [-100px\] to [100px\] at (0.75) should be [50px\]] + expected: FAIL + + [CSS Transitions: property <translate> from [-100px\] to [100px\] at (1) should be [100px\]] + expected: FAIL + + [CSS Transitions: property <translate> from [-100px\] to [100px\] at (2) should be [300px\]] + expected: FAIL + + [CSS Transitions with transition: all: property <translate> from [-100px\] to [100px\] at (-1) should be [-300px\]] + expected: FAIL + + [CSS Transitions with transition: all: property <translate> from [-100px\] to [100px\] at (0) should be [-100px\]] + expected: FAIL + + [CSS Transitions with transition: all: property <translate> from [-100px\] to [100px\] at (0.25) should be [-50px\]] + expected: FAIL + + [CSS Transitions with transition: all: property <translate> from [-100px\] to [100px\] at (0.75) should be [50px\]] + expected: FAIL + + [CSS Transitions with transition: all: property <translate> from [-100px\] to [100px\] at (1) should be [100px\]] + expected: FAIL + + [CSS Transitions with transition: all: property <translate> from [-100px\] to [100px\] at (2) should be [300px\]] + expected: FAIL + + [CSS Animations: property <translate> from [-100px\] to [100px\] at (-1) should be [-300px\]] + expected: FAIL + + [CSS Animations: property <translate> from [-100px\] to [100px\] at (0) should be [-100px\]] + expected: FAIL + + [CSS Animations: property <translate> from [-100px\] to [100px\] at (0.25) should be [-50px\]] + expected: FAIL + + [CSS Animations: property <translate> from [-100px\] to [100px\] at (0.75) should be [50px\]] + expected: FAIL + + [CSS Animations: property <translate> from [-100px\] to [100px\] at (1) should be [100px\]] + expected: FAIL + + [CSS Animations: property <translate> from [-100px\] to [100px\] at (2) should be [300px\]] + expected: FAIL + + [CSS Transitions: property <translate> from [-100%\] to [100%\] at (-1) should be [-300%\]] + expected: FAIL + + [CSS Transitions: property <translate> from [-100%\] to [100%\] at (0) should be [-100%\]] + expected: FAIL + + [CSS Transitions: property <translate> from [-100%\] to [100%\] at (0.25) should be [-50%\]] + expected: FAIL + + [CSS Transitions: property <translate> from [-100%\] to [100%\] at (0.75) should be [50%\]] + expected: FAIL + + [CSS Transitions: property <translate> from [-100%\] to [100%\] at (1) should be [100%\]] + expected: FAIL + + [CSS Transitions: property <translate> from [-100%\] to [100%\] at (2) should be [300%\]] + expected: FAIL + + [CSS Transitions with transition: all: property <translate> from [-100%\] to [100%\] at (-1) should be [-300%\]] + expected: FAIL + + [CSS Transitions with transition: all: property <translate> from [-100%\] to [100%\] at (0) should be [-100%\]] + expected: FAIL + + [CSS Transitions with transition: all: property <translate> from [-100%\] to [100%\] at (0.25) should be [-50%\]] + expected: FAIL + + [CSS Transitions with transition: all: property <translate> from [-100%\] to [100%\] at (0.75) should be [50%\]] + expected: FAIL + + [CSS Transitions with transition: all: property <translate> from [-100%\] to [100%\] at (1) should be [100%\]] + expected: FAIL + + [CSS Transitions with transition: all: property <translate> from [-100%\] to [100%\] at (2) should be [300%\]] + expected: FAIL + + [CSS Animations: property <translate> from [-100%\] to [100%\] at (-1) should be [-300%\]] + expected: FAIL + + [CSS Animations: property <translate> from [-100%\] to [100%\] at (0) should be [-100%\]] + expected: FAIL + + [CSS Animations: property <translate> from [-100%\] to [100%\] at (0.25) should be [-50%\]] + expected: FAIL + + [CSS Animations: property <translate> from [-100%\] to [100%\] at (0.75) should be [50%\]] + expected: FAIL + + [CSS Animations: property <translate> from [-100%\] to [100%\] at (1) should be [100%\]] + expected: FAIL + + [CSS Animations: property <translate> from [-100%\] to [100%\] at (2) should be [300%\]] + expected: FAIL + + [CSS Transitions: property <translate> from [-100px -50px\] to [100px 50px\] at (-1) should be [-300px -150px\]] + expected: FAIL + + [CSS Transitions: property <translate> from [-100px -50px\] to [100px 50px\] at (0) should be [-100px -50px\]] + expected: FAIL + + [CSS Transitions: property <translate> from [-100px -50px\] to [100px 50px\] at (0.25) should be [-50px -25px\]] + expected: FAIL + + [CSS Transitions: property <translate> from [-100px -50px\] to [100px 50px\] at (0.75) should be [50px 25px\]] + expected: FAIL + + [CSS Transitions: property <translate> from [-100px -50px\] to [100px 50px\] at (1) should be [100px 50px\]] + expected: FAIL + + [CSS Transitions: property <translate> from [-100px -50px\] to [100px 50px\] at (2) should be [300px 150px\]] + expected: FAIL + + [CSS Transitions with transition: all: property <translate> from [-100px -50px\] to [100px 50px\] at (-1) should be [-300px -150px\]] + expected: FAIL + + [CSS Transitions with transition: all: property <translate> from [-100px -50px\] to [100px 50px\] at (0) should be [-100px -50px\]] + expected: FAIL + + [CSS Transitions with transition: all: property <translate> from [-100px -50px\] to [100px 50px\] at (0.25) should be [-50px -25px\]] + expected: FAIL + + [CSS Transitions with transition: all: property <translate> from [-100px -50px\] to [100px 50px\] at (0.75) should be [50px 25px\]] + expected: FAIL + + [CSS Transitions with transition: all: property <translate> from [-100px -50px\] to [100px 50px\] at (1) should be [100px 50px\]] + expected: FAIL + + [CSS Transitions with transition: all: property <translate> from [-100px -50px\] to [100px 50px\] at (2) should be [300px 150px\]] + expected: FAIL + + [CSS Animations: property <translate> from [-100px -50px\] to [100px 50px\] at (-1) should be [-300px -150px\]] + expected: FAIL + + [CSS Animations: property <translate> from [-100px -50px\] to [100px 50px\] at (0) should be [-100px -50px\]] + expected: FAIL + + [CSS Animations: property <translate> from [-100px -50px\] to [100px 50px\] at (0.25) should be [-50px -25px\]] + expected: FAIL + + [CSS Animations: property <translate> from [-100px -50px\] to [100px 50px\] at (0.75) should be [50px 25px\]] + expected: FAIL + + [CSS Animations: property <translate> from [-100px -50px\] to [100px 50px\] at (1) should be [100px 50px\]] + expected: FAIL + + [CSS Animations: property <translate> from [-100px -50px\] to [100px 50px\] at (2) should be [300px 150px\]] + expected: FAIL + + [CSS Transitions: property <translate> from [220px 240px 260px\] to [300px 400px 500px\] at (-1) should be [140px 80px 20px\]] + expected: FAIL + + [CSS Transitions: property <translate> from [220px 240px 260px\] to [300px 400px 500px\] at (0) should be [220px 240px 260px\]] + expected: FAIL + + [CSS Transitions: property <translate> from [220px 240px 260px\] to [300px 400px 500px\] at (0.125) should be [230px 260px 290px\]] + expected: FAIL + + [CSS Transitions: property <translate> from [220px 240px 260px\] to [300px 400px 500px\] at (0.875) should be [290px 380px 470px\]] + expected: FAIL + + [CSS Transitions: property <translate> from [220px 240px 260px\] to [300px 400px 500px\] at (1) should be [300px 400px 500px\]] + expected: FAIL + + [CSS Transitions: property <translate> from [220px 240px 260px\] to [300px 400px 500px\] at (2) should be [380px 560px 740px\]] + expected: FAIL + + [CSS Transitions with transition: all: property <translate> from [220px 240px 260px\] to [300px 400px 500px\] at (-1) should be [140px 80px 20px\]] + expected: FAIL + + [CSS Transitions with transition: all: property <translate> from [220px 240px 260px\] to [300px 400px 500px\] at (0) should be [220px 240px 260px\]] + expected: FAIL + + [CSS Transitions with transition: all: property <translate> from [220px 240px 260px\] to [300px 400px 500px\] at (0.125) should be [230px 260px 290px\]] + expected: FAIL + + [CSS Transitions with transition: all: property <translate> from [220px 240px 260px\] to [300px 400px 500px\] at (0.875) should be [290px 380px 470px\]] + expected: FAIL + + [CSS Transitions with transition: all: property <translate> from [220px 240px 260px\] to [300px 400px 500px\] at (1) should be [300px 400px 500px\]] + expected: FAIL + + [CSS Transitions with transition: all: property <translate> from [220px 240px 260px\] to [300px 400px 500px\] at (2) should be [380px 560px 740px\]] + expected: FAIL + + [CSS Animations: property <translate> from [220px 240px 260px\] to [300px 400px 500px\] at (-1) should be [140px 80px 20px\]] + expected: FAIL + + [CSS Animations: property <translate> from [220px 240px 260px\] to [300px 400px 500px\] at (0) should be [220px 240px 260px\]] + expected: FAIL + + [CSS Animations: property <translate> from [220px 240px 260px\] to [300px 400px 500px\] at (0.125) should be [230px 260px 290px\]] + expected: FAIL + + [CSS Animations: property <translate> from [220px 240px 260px\] to [300px 400px 500px\] at (0.875) should be [290px 380px 470px\]] + expected: FAIL + + [CSS Animations: property <translate> from [220px 240px 260px\] to [300px 400px 500px\] at (1) should be [300px 400px 500px\]] + expected: FAIL + + [CSS Animations: property <translate> from [220px 240px 260px\] to [300px 400px 500px\] at (2) should be [380px 560px 740px\]] + expected: FAIL + + [CSS Transitions: property <translate> from [0px\] to [-100px -50px 100px\] at (-1) should be [100px 50px -100px\]] + expected: FAIL + + [CSS Transitions: property <translate> from [0px\] to [-100px -50px 100px\] at (0) should be [0px\]] + expected: FAIL + + [CSS Transitions: property <translate> from [0px\] to [-100px -50px 100px\] at (0.25) should be [-25px -12.5px 25px\]] + expected: FAIL + + [CSS Transitions: property <translate> from [0px\] to [-100px -50px 100px\] at (0.75) should be [-75px -37.5px 75px\]] + expected: FAIL + + [CSS Transitions: property <translate> from [0px\] to [-100px -50px 100px\] at (1) should be [-100px -50px 100px\]] + expected: FAIL + + [CSS Transitions: property <translate> from [0px\] to [-100px -50px 100px\] at (2) should be [-200px -100px 200px\]] + expected: FAIL + + [CSS Transitions with transition: all: property <translate> from [0px\] to [-100px -50px 100px\] at (-1) should be [100px 50px -100px\]] + expected: FAIL + + [CSS Transitions with transition: all: property <translate> from [0px\] to [-100px -50px 100px\] at (0) should be [0px\]] + expected: FAIL + + [CSS Transitions with transition: all: property <translate> from [0px\] to [-100px -50px 100px\] at (0.25) should be [-25px -12.5px 25px\]] + expected: FAIL + + [CSS Transitions with transition: all: property <translate> from [0px\] to [-100px -50px 100px\] at (0.75) should be [-75px -37.5px 75px\]] + expected: FAIL + + [CSS Transitions with transition: all: property <translate> from [0px\] to [-100px -50px 100px\] at (1) should be [-100px -50px 100px\]] + expected: FAIL + + [CSS Transitions with transition: all: property <translate> from [0px\] to [-100px -50px 100px\] at (2) should be [-200px -100px 200px\]] + expected: FAIL + + [CSS Animations: property <translate> from [0px\] to [-100px -50px 100px\] at (-1) should be [100px 50px -100px\]] + expected: FAIL + + [CSS Animations: property <translate> from [0px\] to [-100px -50px 100px\] at (0) should be [0px\]] + expected: FAIL + + [CSS Animations: property <translate> from [0px\] to [-100px -50px 100px\] at (0.25) should be [-25px -12.5px 25px\]] + expected: FAIL + + [CSS Animations: property <translate> from [0px\] to [-100px -50px 100px\] at (0.75) should be [-75px -37.5px 75px\]] + expected: FAIL + + [CSS Animations: property <translate> from [0px\] to [-100px -50px 100px\] at (1) should be [-100px -50px 100px\]] + expected: FAIL + + [CSS Animations: property <translate> from [0px\] to [-100px -50px 100px\] at (2) should be [-200px -100px 200px\]] + expected: FAIL + + [CSS Transitions: property <translate> from [-100px -50px 100px\] to [0px\] at (-1) should be [-200px -100px 200px\]] + expected: FAIL + + [CSS Transitions: property <translate> from [-100px -50px 100px\] to [0px\] at (0) should be [-100px -50px 100px\]] + expected: FAIL + + [CSS Transitions: property <translate> from [-100px -50px 100px\] to [0px\] at (0.25) should be [-75px -37.5px 75px\]] + expected: FAIL + + [CSS Transitions: property <translate> from [-100px -50px 100px\] to [0px\] at (0.75) should be [-25px -12.5px 25px\]] + expected: FAIL + + [CSS Transitions: property <translate> from [-100px -50px 100px\] to [0px\] at (1) should be [0px\]] + expected: FAIL + + [CSS Transitions: property <translate> from [-100px -50px 100px\] to [0px\] at (2) should be [100px 50px -100px\]] + expected: FAIL + + [CSS Transitions with transition: all: property <translate> from [-100px -50px 100px\] to [0px\] at (-1) should be [-200px -100px 200px\]] + expected: FAIL + + [CSS Transitions with transition: all: property <translate> from [-100px -50px 100px\] to [0px\] at (0) should be [-100px -50px 100px\]] + expected: FAIL + + [CSS Transitions with transition: all: property <translate> from [-100px -50px 100px\] to [0px\] at (0.25) should be [-75px -37.5px 75px\]] + expected: FAIL + + [CSS Transitions with transition: all: property <translate> from [-100px -50px 100px\] to [0px\] at (0.75) should be [-25px -12.5px 25px\]] + expected: FAIL + + [CSS Transitions with transition: all: property <translate> from [-100px -50px 100px\] to [0px\] at (1) should be [0px\]] + expected: FAIL + + [CSS Transitions with transition: all: property <translate> from [-100px -50px 100px\] to [0px\] at (2) should be [100px 50px -100px\]] + expected: FAIL + + [CSS Animations: property <translate> from [-100px -50px 100px\] to [0px\] at (-1) should be [-200px -100px 200px\]] + expected: FAIL + + [CSS Animations: property <translate> from [-100px -50px 100px\] to [0px\] at (0) should be [-100px -50px 100px\]] + expected: FAIL + + [CSS Animations: property <translate> from [-100px -50px 100px\] to [0px\] at (0.25) should be [-75px -37.5px 75px\]] + expected: FAIL + + [CSS Animations: property <translate> from [-100px -50px 100px\] to [0px\] at (0.75) should be [-25px -12.5px 25px\]] + expected: FAIL + + [CSS Animations: property <translate> from [-100px -50px 100px\] to [0px\] at (1) should be [0px\]] + expected: FAIL + + [CSS Animations: property <translate> from [-100px -50px 100px\] to [0px\] at (2) should be [100px 50px -100px\]] + expected: FAIL + + [CSS Transitions: property <translate> from [480px 400px 320px\] to [240% 160%\] at (-1) should be [calc(960px - 240%) calc(800px - 160%) 640px\]] + expected: FAIL + + [CSS Transitions: property <translate> from [480px 400px 320px\] to [240% 160%\] at (0) should be [calc(0% + 480px) calc(0% + 400px) 320px\]] + expected: FAIL + + [CSS Transitions: property <translate> from [480px 400px 320px\] to [240% 160%\] at (0.125) should be [calc(420px + 30%) calc(350px + 20%) 280px\]] + expected: FAIL + + [CSS Transitions: property <translate> from [480px 400px 320px\] to [240% 160%\] at (0.875) should be [calc(210% + 60px) calc(140% + 50px) 40px\]] + expected: FAIL + + [CSS Transitions: property <translate> from [480px 400px 320px\] to [240% 160%\] at (1) should be [240% 160%\]] + expected: FAIL + + [CSS Transitions: property <translate> from [480px 400px 320px\] to [240% 160%\] at (2) should be [calc(480% - 480px) calc(320% - 400px) -320px\]] + expected: FAIL + + [CSS Transitions with transition: all: property <translate> from [480px 400px 320px\] to [240% 160%\] at (-1) should be [calc(960px - 240%) calc(800px - 160%) 640px\]] + expected: FAIL + + [CSS Transitions with transition: all: property <translate> from [480px 400px 320px\] to [240% 160%\] at (0) should be [calc(0% + 480px) calc(0% + 400px) 320px\]] + expected: FAIL + + [CSS Transitions with transition: all: property <translate> from [480px 400px 320px\] to [240% 160%\] at (0.125) should be [calc(420px + 30%) calc(350px + 20%) 280px\]] + expected: FAIL + + [CSS Transitions with transition: all: property <translate> from [480px 400px 320px\] to [240% 160%\] at (0.875) should be [calc(210% + 60px) calc(140% + 50px) 40px\]] + expected: FAIL + + [CSS Transitions with transition: all: property <translate> from [480px 400px 320px\] to [240% 160%\] at (1) should be [240% 160%\]] + expected: FAIL + + [CSS Transitions with transition: all: property <translate> from [480px 400px 320px\] to [240% 160%\] at (2) should be [calc(480% - 480px) calc(320% - 400px) -320px\]] + expected: FAIL + + [CSS Animations: property <translate> from [480px 400px 320px\] to [240% 160%\] at (-1) should be [calc(960px - 240%) calc(800px - 160%) 640px\]] + expected: FAIL + + [CSS Animations: property <translate> from [480px 400px 320px\] to [240% 160%\] at (0) should be [calc(0% + 480px) calc(0% + 400px) 320px\]] + expected: FAIL + + [CSS Animations: property <translate> from [480px 400px 320px\] to [240% 160%\] at (0.125) should be [calc(420px + 30%) calc(350px + 20%) 280px\]] + expected: FAIL + + [CSS Animations: property <translate> from [480px 400px 320px\] to [240% 160%\] at (0.875) should be [calc(210% + 60px) calc(140% + 50px) 40px\]] + expected: FAIL + + [CSS Animations: property <translate> from [480px 400px 320px\] to [240% 160%\] at (1) should be [240% 160%\]] + expected: FAIL + + [CSS Animations: property <translate> from [480px 400px 320px\] to [240% 160%\] at (2) should be [calc(480% - 480px) calc(320% - 400px) -320px\]] + expected: FAIL + + [CSS Transitions: property <translate> from [none\] to [none\] at (-1) should be [none\]] + expected: FAIL + + [CSS Transitions: property <translate> from [none\] to [none\] at (0) should be [none\]] + expected: FAIL + + [CSS Transitions: property <translate> from [none\] to [none\] at (0.125) should be [none\]] + expected: FAIL + + [CSS Transitions: property <translate> from [none\] to [none\] at (0.875) should be [none\]] + expected: FAIL + + [CSS Transitions: property <translate> from [none\] to [none\] at (1) should be [none\]] + expected: FAIL + + [CSS Transitions: property <translate> from [none\] to [none\] at (2) should be [none\]] + expected: FAIL + + [CSS Transitions with transition: all: property <translate> from [none\] to [none\] at (-1) should be [none\]] + expected: FAIL + + [CSS Transitions with transition: all: property <translate> from [none\] to [none\] at (0) should be [none\]] + expected: FAIL + + [CSS Transitions with transition: all: property <translate> from [none\] to [none\] at (0.125) should be [none\]] + expected: FAIL + + [CSS Transitions with transition: all: property <translate> from [none\] to [none\] at (0.875) should be [none\]] + expected: FAIL + + [CSS Transitions with transition: all: property <translate> from [none\] to [none\] at (1) should be [none\]] + expected: FAIL + + [CSS Transitions with transition: all: property <translate> from [none\] to [none\] at (2) should be [none\]] + expected: FAIL + + [CSS Animations: property <translate> from [none\] to [none\] at (-1) should be [none\]] + expected: FAIL + + [CSS Animations: property <translate> from [none\] to [none\] at (0) should be [none\]] + expected: FAIL + + [CSS Animations: property <translate> from [none\] to [none\] at (0.125) should be [none\]] + expected: FAIL + + [CSS Animations: property <translate> from [none\] to [none\] at (0.875) should be [none\]] + expected: FAIL + + [CSS Animations: property <translate> from [none\] to [none\] at (1) should be [none\]] + expected: FAIL + + [CSS Animations: property <translate> from [none\] to [none\] at (2) should be [none\]] + expected: FAIL + + [CSS Transitions: property <translate> from [none\] to [8px 80% 800px\] at (-1) should be [-8px -80% -800px\]] + expected: FAIL + + [CSS Transitions: property <translate> from [none\] to [8px 80% 800px\] at (0) should be [0px 0%\]] + expected: FAIL + + [CSS Transitions: property <translate> from [none\] to [8px 80% 800px\] at (0.125) should be [1px 10% 100px\]] + expected: FAIL + + [CSS Transitions: property <translate> from [none\] to [8px 80% 800px\] at (0.875) should be [7px 70% 700px\]] + expected: FAIL + + [CSS Transitions: property <translate> from [none\] to [8px 80% 800px\] at (1) should be [8px 80% 800px\]] + expected: FAIL + + [CSS Transitions: property <translate> from [none\] to [8px 80% 800px\] at (2) should be [16px 160% 1600px\]] + expected: FAIL + + [CSS Transitions with transition: all: property <translate> from [none\] to [8px 80% 800px\] at (-1) should be [-8px -80% -800px\]] + expected: FAIL + + [CSS Transitions with transition: all: property <translate> from [none\] to [8px 80% 800px\] at (0) should be [0px 0%\]] + expected: FAIL + + [CSS Transitions with transition: all: property <translate> from [none\] to [8px 80% 800px\] at (0.125) should be [1px 10% 100px\]] + expected: FAIL + + [CSS Transitions with transition: all: property <translate> from [none\] to [8px 80% 800px\] at (0.875) should be [7px 70% 700px\]] + expected: FAIL + + [CSS Transitions with transition: all: property <translate> from [none\] to [8px 80% 800px\] at (1) should be [8px 80% 800px\]] + expected: FAIL + + [CSS Transitions with transition: all: property <translate> from [none\] to [8px 80% 800px\] at (2) should be [16px 160% 1600px\]] + expected: FAIL + + [CSS Animations: property <translate> from [none\] to [8px 80% 800px\] at (-1) should be [-8px -80% -800px\]] + expected: FAIL + + [CSS Animations: property <translate> from [none\] to [8px 80% 800px\] at (0) should be [0px 0%\]] + expected: FAIL + + [CSS Animations: property <translate> from [none\] to [8px 80% 800px\] at (0.125) should be [1px 10% 100px\]] + expected: FAIL + + [CSS Animations: property <translate> from [none\] to [8px 80% 800px\] at (0.875) should be [7px 70% 700px\]] + expected: FAIL + + [CSS Animations: property <translate> from [none\] to [8px 80% 800px\] at (1) should be [8px 80% 800px\]] + expected: FAIL + + [CSS Animations: property <translate> from [none\] to [8px 80% 800px\] at (2) should be [16px 160% 1600px\]] + expected: FAIL + + [CSS Transitions: property <translate> from neutral to [20px\] at (-1) should be [0px\]] + expected: FAIL + + [CSS Transitions: property <translate> from neutral to [20px\] at (0) should be [10px\]] + expected: FAIL + + [CSS Transitions: property <translate> from neutral to [20px\] at (0.25) should be [12.5px\]] + expected: FAIL + + [CSS Transitions: property <translate> from neutral to [20px\] at (0.75) should be [17.5px\]] + expected: FAIL + + [CSS Transitions: property <translate> from neutral to [20px\] at (1) should be [20px\]] + expected: FAIL + + [CSS Transitions: property <translate> from neutral to [20px\] at (2) should be [30px\]] + expected: FAIL + + [CSS Transitions with transition: all: property <translate> from neutral to [20px\] at (-1) should be [0px\]] + expected: FAIL + + [CSS Transitions with transition: all: property <translate> from neutral to [20px\] at (0) should be [10px\]] + expected: FAIL + + [CSS Transitions with transition: all: property <translate> from neutral to [20px\] at (0.25) should be [12.5px\]] + expected: FAIL + + [CSS Transitions with transition: all: property <translate> from neutral to [20px\] at (0.75) should be [17.5px\]] + expected: FAIL + + [CSS Transitions with transition: all: property <translate> from neutral to [20px\] at (1) should be [20px\]] + expected: FAIL + + [CSS Transitions with transition: all: property <translate> from neutral to [20px\] at (2) should be [30px\]] + expected: FAIL + + [CSS Animations: property <translate> from neutral to [20px\] at (-1) should be [0px\]] + expected: FAIL + + [CSS Animations: property <translate> from neutral to [20px\] at (0) should be [10px\]] + expected: FAIL + + [CSS Animations: property <translate> from neutral to [20px\] at (0.25) should be [12.5px\]] + expected: FAIL + + [CSS Animations: property <translate> from neutral to [20px\] at (0.75) should be [17.5px\]] + expected: FAIL + + [CSS Animations: property <translate> from neutral to [20px\] at (1) should be [20px\]] + expected: FAIL + + [CSS Animations: property <translate> from neutral to [20px\] at (2) should be [30px\]] + expected: FAIL + + [CSS Transitions: property <translate> from [initial\] to [200px 100px 200px\] at (-1) should be [-200px -100px -200px\]] + expected: FAIL + + [CSS Transitions: property <translate> from [initial\] to [200px 100px 200px\] at (0) should be [0px\]] + expected: FAIL + + [CSS Transitions: property <translate> from [initial\] to [200px 100px 200px\] at (0.25) should be [50px 25px 50px\]] + expected: FAIL + + [CSS Transitions: property <translate> from [initial\] to [200px 100px 200px\] at (0.75) should be [150px 75px 150px\]] + expected: FAIL + + [CSS Transitions: property <translate> from [initial\] to [200px 100px 200px\] at (1) should be [200px 100px 200px\]] + expected: FAIL + + [CSS Transitions: property <translate> from [initial\] to [200px 100px 200px\] at (2) should be [400px 200px 400px\]] + expected: FAIL + + [CSS Transitions with transition: all: property <translate> from [initial\] to [200px 100px 200px\] at (-1) should be [-200px -100px -200px\]] + expected: FAIL + + [CSS Transitions with transition: all: property <translate> from [initial\] to [200px 100px 200px\] at (0) should be [0px\]] + expected: FAIL + + [CSS Transitions with transition: all: property <translate> from [initial\] to [200px 100px 200px\] at (0.25) should be [50px 25px 50px\]] + expected: FAIL + + [CSS Transitions with transition: all: property <translate> from [initial\] to [200px 100px 200px\] at (0.75) should be [150px 75px 150px\]] + expected: FAIL + + [CSS Transitions with transition: all: property <translate> from [initial\] to [200px 100px 200px\] at (1) should be [200px 100px 200px\]] + expected: FAIL + + [CSS Transitions with transition: all: property <translate> from [initial\] to [200px 100px 200px\] at (2) should be [400px 200px 400px\]] + expected: FAIL + + [CSS Animations: property <translate> from [initial\] to [200px 100px 200px\] at (-1) should be [-200px -100px -200px\]] + expected: FAIL + + [CSS Animations: property <translate> from [initial\] to [200px 100px 200px\] at (0) should be [0px\]] + expected: FAIL + + [CSS Animations: property <translate> from [initial\] to [200px 100px 200px\] at (0.25) should be [50px 25px 50px\]] + expected: FAIL + + [CSS Animations: property <translate> from [initial\] to [200px 100px 200px\] at (0.75) should be [150px 75px 150px\]] + expected: FAIL + + [CSS Animations: property <translate> from [initial\] to [200px 100px 200px\] at (1) should be [200px 100px 200px\]] + expected: FAIL + + [CSS Animations: property <translate> from [initial\] to [200px 100px 200px\] at (2) should be [400px 200px 400px\]] + expected: FAIL + + [CSS Transitions: property <translate> from [200px 100px 400px\] to [initial\] at (-1) should be [400px 200px 800px\]] + expected: FAIL + + [CSS Transitions: property <translate> from [200px 100px 400px\] to [initial\] at (0) should be [200px 100px 400px\]] + expected: FAIL + + [CSS Transitions: property <translate> from [200px 100px 400px\] to [initial\] at (0.25) should be [150px 75px 300px\]] + expected: FAIL + + [CSS Transitions: property <translate> from [200px 100px 400px\] to [initial\] at (0.75) should be [50px 25px 100px\]] + expected: FAIL + + [CSS Transitions: property <translate> from [200px 100px 400px\] to [initial\] at (1) should be [0px\]] + expected: FAIL + + [CSS Transitions: property <translate> from [200px 100px 400px\] to [initial\] at (2) should be [-200px -100px -400px\]] + expected: FAIL + + [CSS Transitions with transition: all: property <translate> from [200px 100px 400px\] to [initial\] at (-1) should be [400px 200px 800px\]] + expected: FAIL + + [CSS Transitions with transition: all: property <translate> from [200px 100px 400px\] to [initial\] at (0) should be [200px 100px 400px\]] + expected: FAIL + + [CSS Transitions with transition: all: property <translate> from [200px 100px 400px\] to [initial\] at (0.25) should be [150px 75px 300px\]] + expected: FAIL + + [CSS Transitions with transition: all: property <translate> from [200px 100px 400px\] to [initial\] at (0.75) should be [50px 25px 100px\]] + expected: FAIL + + [CSS Transitions with transition: all: property <translate> from [200px 100px 400px\] to [initial\] at (1) should be [0px\]] + expected: FAIL + + [CSS Transitions with transition: all: property <translate> from [200px 100px 400px\] to [initial\] at (2) should be [-200px -100px -400px\]] + expected: FAIL + + [CSS Animations: property <translate> from [200px 100px 400px\] to [initial\] at (-1) should be [400px 200px 800px\]] + expected: FAIL + + [CSS Animations: property <translate> from [200px 100px 400px\] to [initial\] at (0) should be [200px 100px 400px\]] + expected: FAIL + + [CSS Animations: property <translate> from [200px 100px 400px\] to [initial\] at (0.25) should be [150px 75px 300px\]] + expected: FAIL + + [CSS Animations: property <translate> from [200px 100px 400px\] to [initial\] at (0.75) should be [50px 25px 100px\]] + expected: FAIL + + [CSS Animations: property <translate> from [200px 100px 400px\] to [initial\] at (1) should be [0px\]] + expected: FAIL + + [CSS Animations: property <translate> from [200px 100px 400px\] to [initial\] at (2) should be [-200px -100px -400px\]] + expected: FAIL + + [CSS Transitions: property <translate> from [unset\] to [20px\] at (-1) should be [-20px\]] + expected: FAIL + + [CSS Transitions: property <translate> from [unset\] to [20px\] at (0) should be [0px\]] + expected: FAIL + + [CSS Transitions: property <translate> from [unset\] to [20px\] at (0.25) should be [5px\]] + expected: FAIL + + [CSS Transitions: property <translate> from [unset\] to [20px\] at (0.75) should be [15px\]] + expected: FAIL + + [CSS Transitions: property <translate> from [unset\] to [20px\] at (1) should be [20px\]] + expected: FAIL + + [CSS Transitions: property <translate> from [unset\] to [20px\] at (2) should be [40px\]] + expected: FAIL + + [CSS Transitions with transition: all: property <translate> from [unset\] to [20px\] at (-1) should be [-20px\]] + expected: FAIL + + [CSS Transitions with transition: all: property <translate> from [unset\] to [20px\] at (0) should be [0px\]] + expected: FAIL + + [CSS Transitions with transition: all: property <translate> from [unset\] to [20px\] at (0.25) should be [5px\]] + expected: FAIL + + [CSS Transitions with transition: all: property <translate> from [unset\] to [20px\] at (0.75) should be [15px\]] + expected: FAIL + + [CSS Transitions with transition: all: property <translate> from [unset\] to [20px\] at (1) should be [20px\]] + expected: FAIL + + [CSS Transitions with transition: all: property <translate> from [unset\] to [20px\] at (2) should be [40px\]] + expected: FAIL + + [CSS Animations: property <translate> from [unset\] to [20px\] at (-1) should be [-20px\]] + expected: FAIL + + [CSS Animations: property <translate> from [unset\] to [20px\] at (0) should be [0px\]] + expected: FAIL + + [CSS Animations: property <translate> from [unset\] to [20px\] at (0.25) should be [5px\]] + expected: FAIL + + [CSS Animations: property <translate> from [unset\] to [20px\] at (0.75) should be [15px\]] + expected: FAIL + + [CSS Animations: property <translate> from [unset\] to [20px\] at (1) should be [20px\]] + expected: FAIL + + [CSS Animations: property <translate> from [unset\] to [20px\] at (2) should be [40px\]] + expected: FAIL + + [CSS Transitions: property <translate> from [inherit\] to [200px 100px 200px\] at (-1) should be [0px 300px 400px\]] + expected: FAIL + + [CSS Transitions: property <translate> from [inherit\] to [200px 100px 200px\] at (0) should be [100px 200px 300px\]] + expected: FAIL + + [CSS Transitions: property <translate> from [inherit\] to [200px 100px 200px\] at (0.25) should be [125px 175px 275px\]] + expected: FAIL + + [CSS Transitions: property <translate> from [inherit\] to [200px 100px 200px\] at (0.75) should be [175px 125px 225px\]] + expected: FAIL + + [CSS Transitions: property <translate> from [inherit\] to [200px 100px 200px\] at (1) should be [200px 100px 200px\]] + expected: FAIL + + [CSS Transitions: property <translate> from [inherit\] to [200px 100px 200px\] at (2) should be [300px 0px 100px\]] + expected: FAIL + + [CSS Transitions with transition: all: property <translate> from [inherit\] to [200px 100px 200px\] at (-1) should be [0px 300px 400px\]] + expected: FAIL + + [CSS Transitions with transition: all: property <translate> from [inherit\] to [200px 100px 200px\] at (0) should be [100px 200px 300px\]] + expected: FAIL + + [CSS Transitions with transition: all: property <translate> from [inherit\] to [200px 100px 200px\] at (0.25) should be [125px 175px 275px\]] + expected: FAIL + + [CSS Transitions with transition: all: property <translate> from [inherit\] to [200px 100px 200px\] at (0.75) should be [175px 125px 225px\]] + expected: FAIL + + [CSS Transitions with transition: all: property <translate> from [inherit\] to [200px 100px 200px\] at (1) should be [200px 100px 200px\]] + expected: FAIL + + [CSS Transitions with transition: all: property <translate> from [inherit\] to [200px 100px 200px\] at (2) should be [300px 0px 100px\]] + expected: FAIL + + [CSS Animations: property <translate> from [inherit\] to [200px 100px 200px\] at (-1) should be [0px 300px 400px\]] + expected: FAIL + + [CSS Animations: property <translate> from [inherit\] to [200px 100px 200px\] at (0) should be [100px 200px 300px\]] + expected: FAIL + + [CSS Animations: property <translate> from [inherit\] to [200px 100px 200px\] at (0.25) should be [125px 175px 275px\]] + expected: FAIL + + [CSS Animations: property <translate> from [inherit\] to [200px 100px 200px\] at (0.75) should be [175px 125px 225px\]] + expected: FAIL + + [CSS Animations: property <translate> from [inherit\] to [200px 100px 200px\] at (1) should be [200px 100px 200px\]] + expected: FAIL + + [CSS Animations: property <translate> from [inherit\] to [200px 100px 200px\] at (2) should be [300px 0px 100px\]] + expected: FAIL + + [CSS Transitions: property <translate> from [200px 100px 200px\] to [inherit\] at (-1) should be [300px 0px 100px\]] + expected: FAIL + + [CSS Transitions: property <translate> from [200px 100px 200px\] to [inherit\] at (0) should be [200px 100px 200px\]] + expected: FAIL + + [CSS Transitions: property <translate> from [200px 100px 200px\] to [inherit\] at (0.25) should be [175px 125px 225px\]] + expected: FAIL + + [CSS Transitions: property <translate> from [200px 100px 200px\] to [inherit\] at (0.75) should be [125px 175px 275px\]] + expected: FAIL + + [CSS Transitions: property <translate> from [200px 100px 200px\] to [inherit\] at (1) should be [100px 200px 300px\]] + expected: FAIL + + [CSS Transitions: property <translate> from [200px 100px 200px\] to [inherit\] at (2) should be [0px 300px 400px\]] + expected: FAIL + + [CSS Transitions with transition: all: property <translate> from [200px 100px 200px\] to [inherit\] at (-1) should be [300px 0px 100px\]] + expected: FAIL + + [CSS Transitions with transition: all: property <translate> from [200px 100px 200px\] to [inherit\] at (0) should be [200px 100px 200px\]] + expected: FAIL + + [CSS Transitions with transition: all: property <translate> from [200px 100px 200px\] to [inherit\] at (0.25) should be [175px 125px 225px\]] + expected: FAIL + + [CSS Transitions with transition: all: property <translate> from [200px 100px 200px\] to [inherit\] at (0.75) should be [125px 175px 275px\]] + expected: FAIL + + [CSS Transitions with transition: all: property <translate> from [200px 100px 200px\] to [inherit\] at (1) should be [100px 200px 300px\]] + expected: FAIL + + [CSS Transitions with transition: all: property <translate> from [200px 100px 200px\] to [inherit\] at (2) should be [0px 300px 400px\]] + expected: FAIL + + [CSS Animations: property <translate> from [200px 100px 200px\] to [inherit\] at (-1) should be [300px 0px 100px\]] + expected: FAIL + + [CSS Animations: property <translate> from [200px 100px 200px\] to [inherit\] at (0) should be [200px 100px 200px\]] + expected: FAIL + + [CSS Animations: property <translate> from [200px 100px 200px\] to [inherit\] at (0.25) should be [175px 125px 225px\]] + expected: FAIL + + [CSS Animations: property <translate> from [200px 100px 200px\] to [inherit\] at (0.75) should be [125px 175px 275px\]] + expected: FAIL + + [CSS Animations: property <translate> from [200px 100px 200px\] to [inherit\] at (1) should be [100px 200px 300px\]] + expected: FAIL + + [CSS Animations: property <translate> from [200px 100px 200px\] to [inherit\] at (2) should be [0px 300px 400px\]] + expected: FAIL + + [CSS Transitions: property <translate> from [initial\] to [inherit\] at (-1) should be [-100px -200px -300px\]] + expected: FAIL + + [CSS Transitions: property <translate> from [initial\] to [inherit\] at (0) should be [0px\]] + expected: FAIL + + [CSS Transitions: property <translate> from [initial\] to [inherit\] at (0.25) should be [25px 50px 75px\]] + expected: FAIL + + [CSS Transitions: property <translate> from [initial\] to [inherit\] at (0.75) should be [75px 150px 225px\]] + expected: FAIL + + [CSS Transitions: property <translate> from [initial\] to [inherit\] at (1) should be [100px 200px 300px\]] + expected: FAIL + + [CSS Transitions: property <translate> from [initial\] to [inherit\] at (2) should be [200px 400px 600px\]] + expected: FAIL + + [CSS Transitions with transition: all: property <translate> from [initial\] to [inherit\] at (-1) should be [-100px -200px -300px\]] + expected: FAIL + + [CSS Transitions with transition: all: property <translate> from [initial\] to [inherit\] at (0) should be [0px\]] + expected: FAIL + + [CSS Transitions with transition: all: property <translate> from [initial\] to [inherit\] at (0.25) should be [25px 50px 75px\]] + expected: FAIL + + [CSS Transitions with transition: all: property <translate> from [initial\] to [inherit\] at (0.75) should be [75px 150px 225px\]] + expected: FAIL + + [CSS Transitions with transition: all: property <translate> from [initial\] to [inherit\] at (1) should be [100px 200px 300px\]] + expected: FAIL + + [CSS Transitions with transition: all: property <translate> from [initial\] to [inherit\] at (2) should be [200px 400px 600px\]] + expected: FAIL + + [CSS Animations: property <translate> from [initial\] to [inherit\] at (-1) should be [-100px -200px -300px\]] + expected: FAIL + + [CSS Animations: property <translate> from [initial\] to [inherit\] at (0) should be [0px\]] + expected: FAIL + + [CSS Animations: property <translate> from [initial\] to [inherit\] at (0.25) should be [25px 50px 75px\]] + expected: FAIL + + [CSS Animations: property <translate> from [initial\] to [inherit\] at (0.75) should be [75px 150px 225px\]] + expected: FAIL + + [CSS Animations: property <translate> from [initial\] to [inherit\] at (1) should be [100px 200px 300px\]] + expected: FAIL + + [CSS Animations: property <translate> from [initial\] to [inherit\] at (2) should be [200px 400px 600px\]] + expected: FAIL + + [CSS Transitions: property <translate> from [inherit\] to [initial\] at (-1) should be [200px 400px 600px\]] + expected: FAIL + + [CSS Transitions: property <translate> from [inherit\] to [initial\] at (0) should be [100px 200px 300px\]] + expected: FAIL + + [CSS Transitions: property <translate> from [inherit\] to [initial\] at (0.25) should be [75px 150px 225px\]] + expected: FAIL + + [CSS Transitions: property <translate> from [inherit\] to [initial\] at (0.75) should be [25px 50px 75px\]] + expected: FAIL + + [CSS Transitions: property <translate> from [inherit\] to [initial\] at (1) should be [0px\]] + expected: FAIL + + [CSS Transitions: property <translate> from [inherit\] to [initial\] at (2) should be [-100px -200px -300px\]] + expected: FAIL + + [CSS Transitions with transition: all: property <translate> from [inherit\] to [initial\] at (-1) should be [200px 400px 600px\]] + expected: FAIL + + [CSS Transitions with transition: all: property <translate> from [inherit\] to [initial\] at (0) should be [100px 200px 300px\]] + expected: FAIL + + [CSS Transitions with transition: all: property <translate> from [inherit\] to [initial\] at (0.25) should be [75px 150px 225px\]] + expected: FAIL + + [CSS Transitions with transition: all: property <translate> from [inherit\] to [initial\] at (0.75) should be [25px 50px 75px\]] + expected: FAIL + + [CSS Transitions with transition: all: property <translate> from [inherit\] to [initial\] at (1) should be [0px\]] + expected: FAIL + + [CSS Transitions with transition: all: property <translate> from [inherit\] to [initial\] at (2) should be [-100px -200px -300px\]] + expected: FAIL + + [CSS Animations: property <translate> from [inherit\] to [initial\] at (-1) should be [200px 400px 600px\]] + expected: FAIL + + [CSS Animations: property <translate> from [inherit\] to [initial\] at (0) should be [100px 200px 300px\]] + expected: FAIL + + [CSS Animations: property <translate> from [inherit\] to [initial\] at (0.25) should be [75px 150px 225px\]] + expected: FAIL + + [CSS Animations: property <translate> from [inherit\] to [initial\] at (0.75) should be [25px 50px 75px\]] + expected: FAIL + + [CSS Animations: property <translate> from [inherit\] to [initial\] at (1) should be [0px\]] + expected: FAIL + + [CSS Animations: property <translate> from [inherit\] to [initial\] at (2) should be [-100px -200px -300px\]] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-transforms/backface-visibility-hidden-child-translate.html.ini b/tests/wpt/metadata-layout-2020/css/css-transforms/backface-visibility-hidden-child-translate.html.ini deleted file mode 100644 index f8a97fd9451..00000000000 --- a/tests/wpt/metadata-layout-2020/css/css-transforms/backface-visibility-hidden-child-translate.html.ini +++ /dev/null @@ -1,2 +0,0 @@ -[backface-visibility-hidden-child-translate.html] - expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-transforms/backface-visibility-hidden-child-will-change-transform.html.ini b/tests/wpt/metadata-layout-2020/css/css-transforms/backface-visibility-hidden-child-will-change-transform.html.ini deleted file mode 100644 index 179228c8b3d..00000000000 --- a/tests/wpt/metadata-layout-2020/css/css-transforms/backface-visibility-hidden-child-will-change-transform.html.ini +++ /dev/null @@ -1,2 +0,0 @@ -[backface-visibility-hidden-child-will-change-transform.html] - expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-transforms/backface-visibility-with-sibling-001.html.ini b/tests/wpt/metadata-layout-2020/css/css-transforms/backface-visibility-with-sibling-001.html.ini deleted file mode 100644 index 099b1daa5fa..00000000000 --- a/tests/wpt/metadata-layout-2020/css/css-transforms/backface-visibility-with-sibling-001.html.ini +++ /dev/null @@ -1,2 +0,0 @@ -[backface-visibility-with-sibling-001.html] - expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-transforms/inheritance.html.ini b/tests/wpt/metadata-layout-2020/css/css-transforms/inheritance.html.ini index 73bd343c921..eb375b64bfe 100644 --- a/tests/wpt/metadata-layout-2020/css/css-transforms/inheritance.html.ini +++ b/tests/wpt/metadata-layout-2020/css/css-transforms/inheritance.html.ini @@ -34,4 +34,3 @@ [Property rotate has initial value none] expected: FAIL - diff --git a/tests/wpt/metadata-layout-2020/css/css-transforms/parsing/rotate-parsing-valid.html.ini b/tests/wpt/metadata-layout-2020/css/css-transforms/parsing/rotate-parsing-valid.html.ini index eb4f10e3b2e..77f13adfccb 100644 --- a/tests/wpt/metadata-layout-2020/css/css-transforms/parsing/rotate-parsing-valid.html.ini +++ b/tests/wpt/metadata-layout-2020/css/css-transforms/parsing/rotate-parsing-valid.html.ini @@ -13,3 +13,42 @@ [e.style['rotate'\] = "0 0 0.5 400grad" should set the property value] expected: FAIL + + [e.style['rotate'\] = "none" should set the property value] + expected: FAIL + + [e.style['rotate'\] = "0deg" should set the property value] + expected: FAIL + + [e.style['rotate'\] = "100 200 300 400grad" should set the property value] + expected: FAIL + + [e.style['rotate'\] = "400grad 100 200 300" should set the property value] + expected: FAIL + + [e.style['rotate'\] = "x 400grad" should set the property value] + expected: FAIL + + [e.style['rotate'\] = "400grad x" should set the property value] + expected: FAIL + + [e.style['rotate'\] = "0.5 0 0 400grad" should set the property value] + expected: FAIL + + [e.style['rotate'\] = "1 0 0 400grad" should set the property value] + expected: FAIL + + [e.style['rotate'\] = "y 400grad" should set the property value] + expected: FAIL + + [e.style['rotate'\] = "400grad y" should set the property value] + expected: FAIL + + [e.style['rotate'\] = "0 0.5 0 400grad" should set the property value] + expected: FAIL + + [e.style['rotate'\] = "0 1 0 400grad" should set the property value] + expected: FAIL + + [e.style['rotate'\] = "400grad" should set the property value] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-transforms/parsing/scale-parsing-valid.html.ini b/tests/wpt/metadata-layout-2020/css/css-transforms/parsing/scale-parsing-valid.html.ini index f6d96991e03..e902576d68f 100644 --- a/tests/wpt/metadata-layout-2020/css/css-transforms/parsing/scale-parsing-valid.html.ini +++ b/tests/wpt/metadata-layout-2020/css/css-transforms/parsing/scale-parsing-valid.html.ini @@ -62,3 +62,5 @@ [e.style['scale'\] = "100% 200% 1" should set the property value] expected: FAIL + [e.style['scale'\] = "100% 200% 300%" should set the property value] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-transforms/parsing/translate-parsing-valid.html.ini b/tests/wpt/metadata-layout-2020/css/css-transforms/parsing/translate-parsing-valid.html.ini index c4f286d143d..838231132a4 100644 --- a/tests/wpt/metadata-layout-2020/css/css-transforms/parsing/translate-parsing-valid.html.ini +++ b/tests/wpt/metadata-layout-2020/css/css-transforms/parsing/translate-parsing-valid.html.ini @@ -1,3 +1,60 @@ [translate-parsing-valid.html] [e.style['translate'\] = "100px 0%" should set the property value] expected: FAIL + + [e.style['translate'\] = "none" should set the property value] + expected: FAIL + + [e.style['translate'\] = "0px" should set the property value] + expected: FAIL + + [e.style['translate'\] = "100%" should set the property value] + expected: FAIL + + [e.style['translate'\] = "100px 0px" should set the property value] + expected: FAIL + + [e.style['translate'\] = "100px 0.1px" should set the property value] + expected: FAIL + + [e.style['translate'\] = "100px calc(10px - 10%)" should set the property value] + expected: FAIL + + [e.style['translate'\] = "100px 200%" should set the property value] + expected: FAIL + + [e.style['translate'\] = "100% 200px" should set the property value] + expected: FAIL + + [e.style['translate'\] = "100px 200px 0px" should set the property value] + expected: FAIL + + [e.style['translate'\] = "100px 0px 300px" should set the property value] + expected: FAIL + + [e.style['translate'\] = "100px 0px 0px" should set the property value] + expected: FAIL + + [e.style['translate'\] = "100px 200px 300px" should set the property value] + expected: FAIL + + [e.style['translate'\] = "100% 200% 300px" should set the property value] + expected: FAIL + + [e.style['translate'\] = "100% 0% 200px" should set the property value] + expected: FAIL + + [e.style['translate'\] = "0% 0% 100px" should set the property value] + expected: FAIL + + [e.style['translate'\] = "0em 0em 100px" should set the property value] + expected: FAIL + + [e.style['translate'\] = "calc(10% + 10px) calc(20% + 20px) calc(30em + 30px)" should set the property value] + expected: FAIL + + [e.style['translate'\] = "0" should set the property value] + expected: FAIL + + [e.style['translate'\] = "1px 2px 0" should set the property value] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-transforms/preserve3d-and-flattening-002.html.ini b/tests/wpt/metadata-layout-2020/css/css-transforms/preserve3d-and-flattening-002.html.ini new file mode 100644 index 00000000000..e8387b63ec3 --- /dev/null +++ b/tests/wpt/metadata-layout-2020/css/css-transforms/preserve3d-and-flattening-002.html.ini @@ -0,0 +1,2 @@ +[preserve3d-and-flattening-002.html] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-transforms/preserve3d-and-flattening-003.html.ini b/tests/wpt/metadata-layout-2020/css/css-transforms/preserve3d-and-flattening-003.html.ini new file mode 100644 index 00000000000..156c02402f9 --- /dev/null +++ b/tests/wpt/metadata-layout-2020/css/css-transforms/preserve3d-and-flattening-003.html.ini @@ -0,0 +1,2 @@ +[preserve3d-and-flattening-003.html] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-transforms/preserve3d-and-flattening-z-order-005.html.ini b/tests/wpt/metadata-layout-2020/css/css-transforms/preserve3d-and-flattening-z-order-005.html.ini deleted file mode 100644 index 9fd0b288350..00000000000 --- a/tests/wpt/metadata-layout-2020/css/css-transforms/preserve3d-and-flattening-z-order-005.html.ini +++ /dev/null @@ -1,2 +0,0 @@ -[preserve3d-and-flattening-z-order-005.html] - expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-transforms/preserve3d-and-flattening-z-order-006.html.ini b/tests/wpt/metadata-layout-2020/css/css-transforms/preserve3d-and-flattening-z-order-006.html.ini new file mode 100644 index 00000000000..167d0e00bb0 --- /dev/null +++ b/tests/wpt/metadata-layout-2020/css/css-transforms/preserve3d-and-flattening-z-order-006.html.ini @@ -0,0 +1,2 @@ +[preserve3d-and-flattening-z-order-006.html] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-transforms/preserve3d-and-flattening-z-order-007.html.ini b/tests/wpt/metadata-layout-2020/css/css-transforms/preserve3d-and-flattening-z-order-007.html.ini new file mode 100644 index 00000000000..2ab040a4d13 --- /dev/null +++ b/tests/wpt/metadata-layout-2020/css/css-transforms/preserve3d-and-flattening-z-order-007.html.ini @@ -0,0 +1,2 @@ +[preserve3d-and-flattening-z-order-007.html] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-transforms/scrollable-hidden-3d-transform-z.html.ini b/tests/wpt/metadata-layout-2020/css/css-transforms/scrollable-hidden-3d-transform-z.html.ini new file mode 100644 index 00000000000..a479cd80071 --- /dev/null +++ b/tests/wpt/metadata-layout-2020/css/css-transforms/scrollable-hidden-3d-transform-z.html.ini @@ -0,0 +1,2 @@ +[scrollable-hidden-3d-transform-z.html] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-transforms/scrollable-scroll-3d-transform-z.html.ini b/tests/wpt/metadata-layout-2020/css/css-transforms/scrollable-scroll-3d-transform-z.html.ini new file mode 100644 index 00000000000..ca2b2962bc5 --- /dev/null +++ b/tests/wpt/metadata-layout-2020/css/css-transforms/scrollable-scroll-3d-transform-z.html.ini @@ -0,0 +1,2 @@ +[scrollable-scroll-3d-transform-z.html] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-transforms/transform-getBoundingClientRect-001.html.ini b/tests/wpt/metadata-layout-2020/css/css-transforms/transform-getBoundingClientRect-001.html.ini new file mode 100644 index 00000000000..bc93b7b9a2b --- /dev/null +++ b/tests/wpt/metadata-layout-2020/css/css-transforms/transform-getBoundingClientRect-001.html.ini @@ -0,0 +1,3 @@ +[transform-getBoundingClientRect-001.html] + [correct getBoundingClientRect() result within set of transforms] + 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 4a1232b3c22..3f9c5003739 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,6 +1,3 @@ [transform-scale-hittest.html] [Hit test intersecting scaled box] expected: FAIL - - [Hit test within unscaled box] - expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-transforms/transform3d-sorting-006.html.ini b/tests/wpt/metadata-layout-2020/css/css-transforms/transform3d-sorting-006.html.ini new file mode 100644 index 00000000000..c5f4bbe8765 --- /dev/null +++ b/tests/wpt/metadata-layout-2020/css/css-transforms/transform3d-sorting-006.html.ini @@ -0,0 +1,2 @@ +[transform3d-sorting-006.html] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-transforms/transforms-support-calc.html.ini b/tests/wpt/metadata-layout-2020/css/css-transforms/transforms-support-calc.html.ini index 816c4b9370a..ccf2595aebb 100644 --- a/tests/wpt/metadata-layout-2020/css/css-transforms/transforms-support-calc.html.ini +++ b/tests/wpt/metadata-layout-2020/css/css-transforms/transforms-support-calc.html.ini @@ -14,9 +14,5 @@ [rotate supports calc] expected: FAIL - [perspective supports calc] - expected: FAIL - [transform-origin supports calc] expected: FAIL - diff --git a/tests/wpt/metadata-layout-2020/css/css-transforms/translate-getComputedStyle.html.ini b/tests/wpt/metadata-layout-2020/css/css-transforms/translate-getComputedStyle.html.ini index 829073c6d45..aaf7022508e 100644 --- a/tests/wpt/metadata-layout-2020/css/css-transforms/translate-getComputedStyle.html.ini +++ b/tests/wpt/metadata-layout-2020/css/css-transforms/translate-getComputedStyle.html.ini @@ -1,4 +1,3 @@ [translate-getComputedStyle.html] [computed style for translate] expected: FAIL - diff --git a/tests/wpt/metadata-layout-2020/css/css-transforms/ttwf-css-3d-polygon-cycle.html.ini b/tests/wpt/metadata-layout-2020/css/css-transforms/ttwf-css-3d-polygon-cycle.html.ini new file mode 100644 index 00000000000..5852735e9c3 --- /dev/null +++ b/tests/wpt/metadata-layout-2020/css/css-transforms/ttwf-css-3d-polygon-cycle.html.ini @@ -0,0 +1,2 @@ +[ttwf-css-3d-polygon-cycle.html] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-transitions/animations/text-shadow-interpolation.html.ini b/tests/wpt/metadata-layout-2020/css/css-transitions/animations/text-shadow-interpolation.html.ini index b3b70474b5a..7b988ffeecf 100644 --- a/tests/wpt/metadata-layout-2020/css/css-transitions/animations/text-shadow-interpolation.html.ini +++ b/tests/wpt/metadata-layout-2020/css/css-transitions/animations/text-shadow-interpolation.html.ini @@ -124,3 +124,381 @@ [Web Animations: property <text-shadow> from [black 0px 0px 0px\] to [black 1px 1px 1px\] at (1.5) should be [rgb(0, 0, 0) 1.5px 1.5px 1.5px\]] expected: FAIL + + [CSS Transitions: property <text-shadow> from neutral to [green 20px 20px 20px\] at (-0.3) should be [rgb(255, 176, 0) 7px 33px 7px\]] + expected: FAIL + + [CSS Transitions: property <text-shadow> from neutral to [green 20px 20px 20px\] at (0) should be [rgb(255, 165, 0) 10px 30px 10px\]] + expected: FAIL + + [CSS Transitions: property <text-shadow> from neutral to [green 20px 20px 20px\] at (0.3) should be [rgb(179, 154, 0) 13px 27px 13px\]] + expected: FAIL + + [CSS Transitions: property <text-shadow> from neutral to [green 20px 20px 20px\] at (0.6) should be [rgb(102, 143, 0) 16px 24px 16px\]] + expected: FAIL + + [CSS Transitions: property <text-shadow> from neutral to [green 20px 20px 20px\] at (1) should be [rgb(0, 128, 0) 20px 20px 20px\]] + expected: FAIL + + [CSS Transitions: property <text-shadow> from neutral to [green 20px 20px 20px\] at (1.5) should be [rgb(0, 110, 0) 25px 15px 25px\]] + expected: FAIL + + [CSS Transitions with transition: all: property <text-shadow> from neutral to [green 20px 20px 20px\] at (-0.3) should be [rgb(255, 176, 0) 7px 33px 7px\]] + expected: FAIL + + [CSS Transitions with transition: all: property <text-shadow> from neutral to [green 20px 20px 20px\] at (0) should be [rgb(255, 165, 0) 10px 30px 10px\]] + expected: FAIL + + [CSS Transitions with transition: all: property <text-shadow> from neutral to [green 20px 20px 20px\] at (0.3) should be [rgb(179, 154, 0) 13px 27px 13px\]] + expected: FAIL + + [CSS Transitions with transition: all: property <text-shadow> from neutral to [green 20px 20px 20px\] at (0.6) should be [rgb(102, 143, 0) 16px 24px 16px\]] + expected: FAIL + + [CSS Transitions with transition: all: property <text-shadow> from neutral to [green 20px 20px 20px\] at (1) should be [rgb(0, 128, 0) 20px 20px 20px\]] + expected: FAIL + + [CSS Transitions with transition: all: property <text-shadow> from neutral to [green 20px 20px 20px\] at (1.5) should be [rgb(0, 110, 0) 25px 15px 25px\]] + expected: FAIL + + [CSS Animations: property <text-shadow> from neutral to [green 20px 20px 20px\] at (-0.3) should be [rgb(255, 176, 0) 7px 33px 7px\]] + expected: FAIL + + [CSS Animations: property <text-shadow> from neutral to [green 20px 20px 20px\] at (0) should be [rgb(255, 165, 0) 10px 30px 10px\]] + expected: FAIL + + [CSS Animations: property <text-shadow> from neutral to [green 20px 20px 20px\] at (0.3) should be [rgb(179, 154, 0) 13px 27px 13px\]] + expected: FAIL + + [CSS Animations: property <text-shadow> from neutral to [green 20px 20px 20px\] at (0.6) should be [rgb(102, 143, 0) 16px 24px 16px\]] + expected: FAIL + + [CSS Animations: property <text-shadow> from neutral to [green 20px 20px 20px\] at (1) should be [rgb(0, 128, 0) 20px 20px 20px\]] + expected: FAIL + + [CSS Animations: property <text-shadow> from neutral to [green 20px 20px 20px\] at (1.5) should be [rgb(0, 110, 0) 25px 15px 25px\]] + expected: FAIL + + [CSS Transitions: property <text-shadow> from [initial\] to [green 20px 20px 20px\] at (-0.3) should be [rgba(0, 0, 0, 0) -6px -6px 0px\]] + expected: FAIL + + [CSS Transitions: property <text-shadow> from [initial\] to [green 20px 20px 20px\] at (0) should be [rgba(0, 0, 0, 0) 0px 0px 0px\]] + expected: FAIL + + [CSS Transitions: property <text-shadow> from [initial\] to [green 20px 20px 20px\] at (0.3) should be [rgba(0, 128, 0, 0.3) 6px 6px 6px\]] + expected: FAIL + + [CSS Transitions: property <text-shadow> from [initial\] to [green 20px 20px 20px\] at (0.6) should be [rgba(0, 128, 0, 0.6) 12px 12px 12px\]] + expected: FAIL + + [CSS Transitions: property <text-shadow> from [initial\] to [green 20px 20px 20px\] at (1) should be [rgb(0, 128, 0) 20px 20px 20px\]] + expected: FAIL + + [CSS Transitions: property <text-shadow> from [initial\] to [green 20px 20px 20px\] at (1.5) should be [rgb(0, 192, 0) 30px 30px 30px\]] + expected: FAIL + + [CSS Transitions with transition: all: property <text-shadow> from [initial\] to [green 20px 20px 20px\] at (-0.3) should be [rgba(0, 0, 0, 0) -6px -6px 0px\]] + expected: FAIL + + [CSS Transitions with transition: all: property <text-shadow> from [initial\] to [green 20px 20px 20px\] at (0) should be [rgba(0, 0, 0, 0) 0px 0px 0px\]] + expected: FAIL + + [CSS Transitions with transition: all: property <text-shadow> from [initial\] to [green 20px 20px 20px\] at (0.3) should be [rgba(0, 128, 0, 0.3) 6px 6px 6px\]] + expected: FAIL + + [CSS Transitions with transition: all: property <text-shadow> from [initial\] to [green 20px 20px 20px\] at (0.6) should be [rgba(0, 128, 0, 0.6) 12px 12px 12px\]] + expected: FAIL + + [CSS Transitions with transition: all: property <text-shadow> from [initial\] to [green 20px 20px 20px\] at (1) should be [rgb(0, 128, 0) 20px 20px 20px\]] + expected: FAIL + + [CSS Transitions with transition: all: property <text-shadow> from [initial\] to [green 20px 20px 20px\] at (1.5) should be [rgb(0, 192, 0) 30px 30px 30px\]] + expected: FAIL + + [CSS Animations: property <text-shadow> from [initial\] to [green 20px 20px 20px\] at (-0.3) should be [rgba(0, 0, 0, 0) -6px -6px 0px\]] + expected: FAIL + + [CSS Animations: property <text-shadow> from [initial\] to [green 20px 20px 20px\] at (0) should be [rgba(0, 0, 0, 0) 0px 0px 0px\]] + expected: FAIL + + [CSS Animations: property <text-shadow> from [initial\] to [green 20px 20px 20px\] at (0.3) should be [rgba(0, 128, 0, 0.3) 6px 6px 6px\]] + expected: FAIL + + [CSS Animations: property <text-shadow> from [initial\] to [green 20px 20px 20px\] at (0.6) should be [rgba(0, 128, 0, 0.6) 12px 12px 12px\]] + expected: FAIL + + [CSS Animations: property <text-shadow> from [initial\] to [green 20px 20px 20px\] at (1) should be [rgb(0, 128, 0) 20px 20px 20px\]] + expected: FAIL + + [CSS Animations: property <text-shadow> from [initial\] to [green 20px 20px 20px\] at (1.5) should be [rgb(0, 192, 0) 30px 30px 30px\]] + expected: FAIL + + [CSS Transitions: property <text-shadow> from [inherit\] to [green 20px 20px 20px\] at (-0.3) should be [rgb(255, 176, 0) 33px 7px 33px\]] + expected: FAIL + + [CSS Transitions: property <text-shadow> from [inherit\] to [green 20px 20px 20px\] at (0) should be [rgb(255, 165, 0) 30px 10px 30px\]] + expected: FAIL + + [CSS Transitions: property <text-shadow> from [inherit\] to [green 20px 20px 20px\] at (0.3) should be [rgb(179, 154, 0) 27px 13px 27px\]] + expected: FAIL + + [CSS Transitions: property <text-shadow> from [inherit\] to [green 20px 20px 20px\] at (0.6) should be [rgb(102, 143, 0) 24px 16px 24px\]] + expected: FAIL + + [CSS Transitions: property <text-shadow> from [inherit\] to [green 20px 20px 20px\] at (1) should be [rgb(0, 128, 0) 20px 20px 20px\]] + expected: FAIL + + [CSS Transitions: property <text-shadow> from [inherit\] to [green 20px 20px 20px\] at (1.5) should be [rgb(0, 110, 0) 15px 25px 15px\]] + expected: FAIL + + [CSS Transitions with transition: all: property <text-shadow> from [inherit\] to [green 20px 20px 20px\] at (-0.3) should be [rgb(255, 176, 0) 33px 7px 33px\]] + expected: FAIL + + [CSS Transitions with transition: all: property <text-shadow> from [inherit\] to [green 20px 20px 20px\] at (0) should be [rgb(255, 165, 0) 30px 10px 30px\]] + expected: FAIL + + [CSS Transitions with transition: all: property <text-shadow> from [inherit\] to [green 20px 20px 20px\] at (0.3) should be [rgb(179, 154, 0) 27px 13px 27px\]] + expected: FAIL + + [CSS Transitions with transition: all: property <text-shadow> from [inherit\] to [green 20px 20px 20px\] at (0.6) should be [rgb(102, 143, 0) 24px 16px 24px\]] + expected: FAIL + + [CSS Transitions with transition: all: property <text-shadow> from [inherit\] to [green 20px 20px 20px\] at (1) should be [rgb(0, 128, 0) 20px 20px 20px\]] + expected: FAIL + + [CSS Transitions with transition: all: property <text-shadow> from [inherit\] to [green 20px 20px 20px\] at (1.5) should be [rgb(0, 110, 0) 15px 25px 15px\]] + expected: FAIL + + [CSS Animations: property <text-shadow> from [inherit\] to [green 20px 20px 20px\] at (-0.3) should be [rgb(255, 176, 0) 33px 7px 33px\]] + expected: FAIL + + [CSS Animations: property <text-shadow> from [inherit\] to [green 20px 20px 20px\] at (0) should be [rgb(255, 165, 0) 30px 10px 30px\]] + expected: FAIL + + [CSS Animations: property <text-shadow> from [inherit\] to [green 20px 20px 20px\] at (0.3) should be [rgb(179, 154, 0) 27px 13px 27px\]] + expected: FAIL + + [CSS Animations: property <text-shadow> from [inherit\] to [green 20px 20px 20px\] at (0.6) should be [rgb(102, 143, 0) 24px 16px 24px\]] + expected: FAIL + + [CSS Animations: property <text-shadow> from [inherit\] to [green 20px 20px 20px\] at (1) should be [rgb(0, 128, 0) 20px 20px 20px\]] + expected: FAIL + + [CSS Animations: property <text-shadow> from [inherit\] to [green 20px 20px 20px\] at (1.5) should be [rgb(0, 110, 0) 15px 25px 15px\]] + expected: FAIL + + [CSS Transitions: property <text-shadow> from [unset\] to [green 20px 20px 20px\] at (-0.3) should be [rgb(255, 176, 0) 33px 7px 33px\]] + expected: FAIL + + [CSS Transitions: property <text-shadow> from [unset\] to [green 20px 20px 20px\] at (0) should be [rgb(255, 165, 0) 30px 10px 30px\]] + expected: FAIL + + [CSS Transitions: property <text-shadow> from [unset\] to [green 20px 20px 20px\] at (0.3) should be [rgb(179, 154, 0) 27px 13px 27px\]] + expected: FAIL + + [CSS Transitions: property <text-shadow> from [unset\] to [green 20px 20px 20px\] at (0.6) should be [rgb(102, 143, 0) 24px 16px 24px\]] + expected: FAIL + + [CSS Transitions: property <text-shadow> from [unset\] to [green 20px 20px 20px\] at (1) should be [rgb(0, 128, 0) 20px 20px 20px\]] + expected: FAIL + + [CSS Transitions: property <text-shadow> from [unset\] to [green 20px 20px 20px\] at (1.5) should be [rgb(0, 110, 0) 15px 25px 15px\]] + expected: FAIL + + [CSS Transitions with transition: all: property <text-shadow> from [unset\] to [green 20px 20px 20px\] at (-0.3) should be [rgb(255, 176, 0) 33px 7px 33px\]] + expected: FAIL + + [CSS Transitions with transition: all: property <text-shadow> from [unset\] to [green 20px 20px 20px\] at (0) should be [rgb(255, 165, 0) 30px 10px 30px\]] + expected: FAIL + + [CSS Transitions with transition: all: property <text-shadow> from [unset\] to [green 20px 20px 20px\] at (0.3) should be [rgb(179, 154, 0) 27px 13px 27px\]] + expected: FAIL + + [CSS Transitions with transition: all: property <text-shadow> from [unset\] to [green 20px 20px 20px\] at (0.6) should be [rgb(102, 143, 0) 24px 16px 24px\]] + expected: FAIL + + [CSS Transitions with transition: all: property <text-shadow> from [unset\] to [green 20px 20px 20px\] at (1) should be [rgb(0, 128, 0) 20px 20px 20px\]] + expected: FAIL + + [CSS Transitions with transition: all: property <text-shadow> from [unset\] to [green 20px 20px 20px\] at (1.5) should be [rgb(0, 110, 0) 15px 25px 15px\]] + expected: FAIL + + [CSS Animations: property <text-shadow> from [unset\] to [green 20px 20px 20px\] at (-0.3) should be [rgb(255, 176, 0) 33px 7px 33px\]] + expected: FAIL + + [CSS Animations: property <text-shadow> from [unset\] to [green 20px 20px 20px\] at (0) should be [rgb(255, 165, 0) 30px 10px 30px\]] + expected: FAIL + + [CSS Animations: property <text-shadow> from [unset\] to [green 20px 20px 20px\] at (0.3) should be [rgb(179, 154, 0) 27px 13px 27px\]] + expected: FAIL + + [CSS Animations: property <text-shadow> from [unset\] to [green 20px 20px 20px\] at (0.6) should be [rgb(102, 143, 0) 24px 16px 24px\]] + expected: FAIL + + [CSS Animations: property <text-shadow> from [unset\] to [green 20px 20px 20px\] at (1) should be [rgb(0, 128, 0) 20px 20px 20px\]] + expected: FAIL + + [CSS Animations: property <text-shadow> from [unset\] to [green 20px 20px 20px\] at (1.5) should be [rgb(0, 110, 0) 15px 25px 15px\]] + expected: FAIL + + [CSS Transitions: property <text-shadow> from [black 15px 10px 5px\] to [orange -15px -10px 25px\] at (-0.3) should be [rgb(0, 0, 0) 24px 16px 0px\]] + expected: FAIL + + [CSS Transitions: property <text-shadow> from [black 15px 10px 5px\] to [orange -15px -10px 25px\] at (0) should be [rgb(0, 0, 0) 15px 10px 5px\]] + expected: FAIL + + [CSS Transitions: property <text-shadow> from [black 15px 10px 5px\] to [orange -15px -10px 25px\] at (0.3) should be [rgb(77, 50, 0) 6px 4px 11px\]] + expected: FAIL + + [CSS Transitions: property <text-shadow> from [black 15px 10px 5px\] to [orange -15px -10px 25px\] at (0.6) should be [rgb(153, 99, 0) -3px -2px 17px\]] + expected: FAIL + + [CSS Transitions: property <text-shadow> from [black 15px 10px 5px\] to [orange -15px -10px 25px\] at (1) should be [rgb(255, 165, 0) -15px -10px 25px\]] + expected: FAIL + + [CSS Transitions: property <text-shadow> from [black 15px 10px 5px\] to [orange -15px -10px 25px\] at (1.5) should be [rgb(255, 248, 0) -30px -20px 35px\]] + expected: FAIL + + [CSS Transitions with transition: all: property <text-shadow> from [black 15px 10px 5px\] to [orange -15px -10px 25px\] at (-0.3) should be [rgb(0, 0, 0) 24px 16px 0px\]] + expected: FAIL + + [CSS Transitions with transition: all: property <text-shadow> from [black 15px 10px 5px\] to [orange -15px -10px 25px\] at (0) should be [rgb(0, 0, 0) 15px 10px 5px\]] + expected: FAIL + + [CSS Transitions with transition: all: property <text-shadow> from [black 15px 10px 5px\] to [orange -15px -10px 25px\] at (0.3) should be [rgb(77, 50, 0) 6px 4px 11px\]] + expected: FAIL + + [CSS Transitions with transition: all: property <text-shadow> from [black 15px 10px 5px\] to [orange -15px -10px 25px\] at (0.6) should be [rgb(153, 99, 0) -3px -2px 17px\]] + expected: FAIL + + [CSS Transitions with transition: all: property <text-shadow> from [black 15px 10px 5px\] to [orange -15px -10px 25px\] at (1) should be [rgb(255, 165, 0) -15px -10px 25px\]] + expected: FAIL + + [CSS Transitions with transition: all: property <text-shadow> from [black 15px 10px 5px\] to [orange -15px -10px 25px\] at (1.5) should be [rgb(255, 248, 0) -30px -20px 35px\]] + expected: FAIL + + [CSS Animations: property <text-shadow> from [black 15px 10px 5px\] to [orange -15px -10px 25px\] at (-0.3) should be [rgb(0, 0, 0) 24px 16px 0px\]] + expected: FAIL + + [CSS Animations: property <text-shadow> from [black 15px 10px 5px\] to [orange -15px -10px 25px\] at (0) should be [rgb(0, 0, 0) 15px 10px 5px\]] + expected: FAIL + + [CSS Animations: property <text-shadow> from [black 15px 10px 5px\] to [orange -15px -10px 25px\] at (0.3) should be [rgb(77, 50, 0) 6px 4px 11px\]] + expected: FAIL + + [CSS Animations: property <text-shadow> from [black 15px 10px 5px\] to [orange -15px -10px 25px\] at (0.6) should be [rgb(153, 99, 0) -3px -2px 17px\]] + expected: FAIL + + [CSS Animations: property <text-shadow> from [black 15px 10px 5px\] to [orange -15px -10px 25px\] at (1) should be [rgb(255, 165, 0) -15px -10px 25px\]] + expected: FAIL + + [CSS Animations: property <text-shadow> from [black 15px 10px 5px\] to [orange -15px -10px 25px\] at (1.5) should be [rgb(255, 248, 0) -30px -20px 35px\]] + expected: FAIL + + [CSS Transitions: property <text-shadow> from [black 10px 10px 10px\] to [currentColor 10px 10px 10px\] at (-0.3) should be [rgb(0, 0, 0) 10px 10px 10px\]] + expected: FAIL + + [CSS Transitions: property <text-shadow> from [black 10px 10px 10px\] to [currentColor 10px 10px 10px\] at (0) should be [rgb(0, 0, 0) 10px 10px 10px\]] + expected: FAIL + + [CSS Transitions: property <text-shadow> from [black 10px 10px 10px\] to [currentColor 10px 10px 10px\] at (0.3) should be [rgb(0, 38, 0) 10px 10px 10px\]] + expected: FAIL + + [CSS Transitions: property <text-shadow> from [black 10px 10px 10px\] to [currentColor 10px 10px 10px\] at (0.6) should be [rgb(0, 77, 0) 10px 10px 10px\]] + expected: FAIL + + [CSS Transitions: property <text-shadow> from [black 10px 10px 10px\] to [currentColor 10px 10px 10px\] at (1) should be [rgb(0, 128, 0) 10px 10px 10px\]] + expected: FAIL + + [CSS Transitions: property <text-shadow> from [black 10px 10px 10px\] to [currentColor 10px 10px 10px\] at (1.5) should be [rgb(0, 192, 0) 10px 10px 10px\]] + expected: FAIL + + [CSS Transitions with transition: all: property <text-shadow> from [black 10px 10px 10px\] to [currentColor 10px 10px 10px\] at (-0.3) should be [rgb(0, 0, 0) 10px 10px 10px\]] + expected: FAIL + + [CSS Transitions with transition: all: property <text-shadow> from [black 10px 10px 10px\] to [currentColor 10px 10px 10px\] at (0) should be [rgb(0, 0, 0) 10px 10px 10px\]] + expected: FAIL + + [CSS Transitions with transition: all: property <text-shadow> from [black 10px 10px 10px\] to [currentColor 10px 10px 10px\] at (0.3) should be [rgb(0, 38, 0) 10px 10px 10px\]] + expected: FAIL + + [CSS Transitions with transition: all: property <text-shadow> from [black 10px 10px 10px\] to [currentColor 10px 10px 10px\] at (0.6) should be [rgb(0, 77, 0) 10px 10px 10px\]] + expected: FAIL + + [CSS Transitions with transition: all: property <text-shadow> from [black 10px 10px 10px\] to [currentColor 10px 10px 10px\] at (1) should be [rgb(0, 128, 0) 10px 10px 10px\]] + expected: FAIL + + [CSS Transitions with transition: all: property <text-shadow> from [black 10px 10px 10px\] to [currentColor 10px 10px 10px\] at (1.5) should be [rgb(0, 192, 0) 10px 10px 10px\]] + expected: FAIL + + [CSS Animations: property <text-shadow> from [black 10px 10px 10px\] to [currentColor 10px 10px 10px\] at (-0.3) should be [rgb(0, 0, 0) 10px 10px 10px\]] + expected: FAIL + + [CSS Animations: property <text-shadow> from [black 10px 10px 10px\] to [currentColor 10px 10px 10px\] at (0) should be [rgb(0, 0, 0) 10px 10px 10px\]] + expected: FAIL + + [CSS Animations: property <text-shadow> from [black 10px 10px 10px\] to [currentColor 10px 10px 10px\] at (0.3) should be [rgb(0, 38, 0) 10px 10px 10px\]] + expected: FAIL + + [CSS Animations: property <text-shadow> from [black 10px 10px 10px\] to [currentColor 10px 10px 10px\] at (0.6) should be [rgb(0, 77, 0) 10px 10px 10px\]] + expected: FAIL + + [CSS Animations: property <text-shadow> from [black 10px 10px 10px\] to [currentColor 10px 10px 10px\] at (1) should be [rgb(0, 128, 0) 10px 10px 10px\]] + expected: FAIL + + [CSS Animations: property <text-shadow> from [black 10px 10px 10px\] to [currentColor 10px 10px 10px\] at (1.5) should be [rgb(0, 192, 0) 10px 10px 10px\]] + expected: FAIL + + [CSS Transitions: property <text-shadow> from [black 0px 0px 0px\] to [black 1px 1px 1px\] at (-0.3) should be [rgb(0, 0, 0) -0.3px -0.3px 0px\]] + expected: FAIL + + [CSS Transitions: property <text-shadow> from [black 0px 0px 0px\] to [black 1px 1px 1px\] at (0) should be [rgb(0, 0, 0) 0px 0px 0px\]] + expected: FAIL + + [CSS Transitions: property <text-shadow> from [black 0px 0px 0px\] to [black 1px 1px 1px\] at (0.3) should be [rgb(0, 0, 0) 0.3px 0.3px 0.3px\]] + expected: FAIL + + [CSS Transitions: property <text-shadow> from [black 0px 0px 0px\] to [black 1px 1px 1px\] at (0.6) should be [rgb(0, 0, 0) 0.6px 0.6px 0.6px\]] + expected: FAIL + + [CSS Transitions: property <text-shadow> from [black 0px 0px 0px\] to [black 1px 1px 1px\] at (1) should be [rgb(0, 0, 0) 1px 1px 1px\]] + expected: FAIL + + [CSS Transitions: property <text-shadow> from [black 0px 0px 0px\] to [black 1px 1px 1px\] at (1.5) should be [rgb(0, 0, 0) 1.5px 1.5px 1.5px\]] + expected: FAIL + + [CSS Transitions with transition: all: property <text-shadow> from [black 0px 0px 0px\] to [black 1px 1px 1px\] at (-0.3) should be [rgb(0, 0, 0) -0.3px -0.3px 0px\]] + expected: FAIL + + [CSS Transitions with transition: all: property <text-shadow> from [black 0px 0px 0px\] to [black 1px 1px 1px\] at (0) should be [rgb(0, 0, 0) 0px 0px 0px\]] + expected: FAIL + + [CSS Transitions with transition: all: property <text-shadow> from [black 0px 0px 0px\] to [black 1px 1px 1px\] at (0.3) should be [rgb(0, 0, 0) 0.3px 0.3px 0.3px\]] + expected: FAIL + + [CSS Transitions with transition: all: property <text-shadow> from [black 0px 0px 0px\] to [black 1px 1px 1px\] at (0.6) should be [rgb(0, 0, 0) 0.6px 0.6px 0.6px\]] + expected: FAIL + + [CSS Transitions with transition: all: property <text-shadow> from [black 0px 0px 0px\] to [black 1px 1px 1px\] at (1) should be [rgb(0, 0, 0) 1px 1px 1px\]] + expected: FAIL + + [CSS Transitions with transition: all: property <text-shadow> from [black 0px 0px 0px\] to [black 1px 1px 1px\] at (1.5) should be [rgb(0, 0, 0) 1.5px 1.5px 1.5px\]] + expected: FAIL + + [CSS Animations: property <text-shadow> from [black 0px 0px 0px\] to [black 1px 1px 1px\] at (-0.3) should be [rgb(0, 0, 0) -0.3px -0.3px 0px\]] + expected: FAIL + + [CSS Animations: property <text-shadow> from [black 0px 0px 0px\] to [black 1px 1px 1px\] at (0) should be [rgb(0, 0, 0) 0px 0px 0px\]] + expected: FAIL + + [CSS Animations: property <text-shadow> from [black 0px 0px 0px\] to [black 1px 1px 1px\] at (0.3) should be [rgb(0, 0, 0) 0.3px 0.3px 0.3px\]] + expected: FAIL + + [CSS Animations: property <text-shadow> from [black 0px 0px 0px\] to [black 1px 1px 1px\] at (0.6) should be [rgb(0, 0, 0) 0.6px 0.6px 0.6px\]] + expected: FAIL + + [CSS Animations: property <text-shadow> from [black 0px 0px 0px\] to [black 1px 1px 1px\] at (1) should be [rgb(0, 0, 0) 1px 1px 1px\]] + expected: FAIL + + [CSS Animations: property <text-shadow> from [black 0px 0px 0px\] to [black 1px 1px 1px\] at (1.5) should be [rgb(0, 0, 0) 1.5px 1.5px 1.5px\]] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-transitions/animations/vertical-align-interpolation.html.ini b/tests/wpt/metadata-layout-2020/css/css-transitions/animations/vertical-align-interpolation.html.ini index 74d9fa3b946..2df487823fe 100644 --- a/tests/wpt/metadata-layout-2020/css/css-transitions/animations/vertical-align-interpolation.html.ini +++ b/tests/wpt/metadata-layout-2020/css/css-transitions/animations/vertical-align-interpolation.html.ini @@ -205,3 +205,336 @@ [Web Animations: property <vertical-align> from [40px\] to [40%\] at (1) should be [40%\]] expected: FAIL + + [CSS Transitions: property <vertical-align> from neutral to [40px\] at (-0.5) should be [-5px\]] + expected: FAIL + + [CSS Transitions: property <vertical-align> from neutral to [40px\] at (0) should be [10px\]] + expected: FAIL + + [CSS Transitions: property <vertical-align> from neutral to [40px\] at (0.3) should be [19px\]] + expected: FAIL + + [CSS Transitions: property <vertical-align> from neutral to [40px\] at (0.6) should be [28px\]] + expected: FAIL + + [CSS Transitions: property <vertical-align> from neutral to [40px\] at (1) should be [40px\]] + expected: FAIL + + [CSS Transitions: property <vertical-align> from neutral to [40px\] at (1.5) should be [55px\]] + expected: FAIL + + [CSS Transitions with transition: all: property <vertical-align> from neutral to [40px\] at (-0.5) should be [-5px\]] + expected: FAIL + + [CSS Transitions with transition: all: property <vertical-align> from neutral to [40px\] at (0) should be [10px\]] + expected: FAIL + + [CSS Transitions with transition: all: property <vertical-align> from neutral to [40px\] at (0.3) should be [19px\]] + expected: FAIL + + [CSS Transitions with transition: all: property <vertical-align> from neutral to [40px\] at (0.6) should be [28px\]] + expected: FAIL + + [CSS Transitions with transition: all: property <vertical-align> from neutral to [40px\] at (1) should be [40px\]] + expected: FAIL + + [CSS Transitions with transition: all: property <vertical-align> from neutral to [40px\] at (1.5) should be [55px\]] + expected: FAIL + + [CSS Animations: property <vertical-align> from neutral to [40px\] at (-0.5) should be [-5px\]] + expected: FAIL + + [CSS Animations: property <vertical-align> from neutral to [40px\] at (0) should be [10px\]] + expected: FAIL + + [CSS Animations: property <vertical-align> from neutral to [40px\] at (0.3) should be [19px\]] + expected: FAIL + + [CSS Animations: property <vertical-align> from neutral to [40px\] at (0.6) should be [28px\]] + expected: FAIL + + [CSS Animations: property <vertical-align> from neutral to [40px\] at (1) should be [40px\]] + expected: FAIL + + [CSS Animations: property <vertical-align> from neutral to [40px\] at (1.5) should be [55px\]] + expected: FAIL + + [CSS Transitions: property <vertical-align> from [initial\] to [40px\] at (-0.3) should be [initial\]] + expected: FAIL + + [CSS Transitions: property <vertical-align> from [initial\] to [40px\] at (0) should be [initial\]] + expected: FAIL + + [CSS Transitions: property <vertical-align> from [initial\] to [40px\] at (0.3) should be [initial\]] + expected: FAIL + + [CSS Transitions: property <vertical-align> from [initial\] to [40px\] at (0.5) should be [40px\]] + expected: FAIL + + [CSS Transitions: property <vertical-align> from [initial\] to [40px\] at (0.6) should be [40px\]] + expected: FAIL + + [CSS Transitions: property <vertical-align> from [initial\] to [40px\] at (1) should be [40px\]] + expected: FAIL + + [CSS Transitions: property <vertical-align> from [initial\] to [40px\] at (1.5) should be [40px\]] + expected: FAIL + + [CSS Transitions with transition: all: property <vertical-align> from [initial\] to [40px\] at (-0.3) should be [40px\]] + expected: FAIL + + [CSS Transitions with transition: all: property <vertical-align> from [initial\] to [40px\] at (0) should be [40px\]] + expected: FAIL + + [CSS Transitions with transition: all: property <vertical-align> from [initial\] to [40px\] at (0.3) should be [40px\]] + expected: FAIL + + [CSS Transitions with transition: all: property <vertical-align> from [initial\] to [40px\] at (0.5) should be [40px\]] + expected: FAIL + + [CSS Transitions with transition: all: property <vertical-align> from [initial\] to [40px\] at (0.6) should be [40px\]] + expected: FAIL + + [CSS Transitions with transition: all: property <vertical-align> from [initial\] to [40px\] at (1) should be [40px\]] + expected: FAIL + + [CSS Transitions with transition: all: property <vertical-align> from [initial\] to [40px\] at (1.5) should be [40px\]] + expected: FAIL + + [CSS Transitions: property <vertical-align> from [inherit\] to [40px\] at (-0.5) should be [130px\]] + expected: FAIL + + [CSS Transitions: property <vertical-align> from [inherit\] to [40px\] at (0) should be [100px\]] + expected: FAIL + + [CSS Transitions: property <vertical-align> from [inherit\] to [40px\] at (0.3) should be [82px\]] + expected: FAIL + + [CSS Transitions: property <vertical-align> from [inherit\] to [40px\] at (0.6) should be [64px\]] + expected: FAIL + + [CSS Transitions: property <vertical-align> from [inherit\] to [40px\] at (1) should be [40px\]] + expected: FAIL + + [CSS Transitions: property <vertical-align> from [inherit\] to [40px\] at (1.5) should be [10px\]] + expected: FAIL + + [CSS Transitions with transition: all: property <vertical-align> from [inherit\] to [40px\] at (-0.5) should be [130px\]] + expected: FAIL + + [CSS Transitions with transition: all: property <vertical-align> from [inherit\] to [40px\] at (0) should be [100px\]] + expected: FAIL + + [CSS Transitions with transition: all: property <vertical-align> from [inherit\] to [40px\] at (0.3) should be [82px\]] + expected: FAIL + + [CSS Transitions with transition: all: property <vertical-align> from [inherit\] to [40px\] at (0.6) should be [64px\]] + expected: FAIL + + [CSS Transitions with transition: all: property <vertical-align> from [inherit\] to [40px\] at (1) should be [40px\]] + expected: FAIL + + [CSS Transitions with transition: all: property <vertical-align> from [inherit\] to [40px\] at (1.5) should be [10px\]] + expected: FAIL + + [CSS Animations: property <vertical-align> from [inherit\] to [40px\] at (-0.5) should be [130px\]] + expected: FAIL + + [CSS Animations: property <vertical-align> from [inherit\] to [40px\] at (0) should be [100px\]] + expected: FAIL + + [CSS Animations: property <vertical-align> from [inherit\] to [40px\] at (0.3) should be [82px\]] + expected: FAIL + + [CSS Animations: property <vertical-align> from [inherit\] to [40px\] at (0.6) should be [64px\]] + expected: FAIL + + [CSS Animations: property <vertical-align> from [inherit\] to [40px\] at (1) should be [40px\]] + expected: FAIL + + [CSS Animations: property <vertical-align> from [inherit\] to [40px\] at (1.5) should be [10px\]] + expected: FAIL + + [CSS Transitions: property <vertical-align> from [unset\] to [40px\] at (-0.3) should be [unset\]] + expected: FAIL + + [CSS Transitions: property <vertical-align> from [unset\] to [40px\] at (0) should be [unset\]] + expected: FAIL + + [CSS Transitions: property <vertical-align> from [unset\] to [40px\] at (0.3) should be [unset\]] + expected: FAIL + + [CSS Transitions: property <vertical-align> from [unset\] to [40px\] at (0.5) should be [40px\]] + expected: FAIL + + [CSS Transitions: property <vertical-align> from [unset\] to [40px\] at (0.6) should be [40px\]] + expected: FAIL + + [CSS Transitions: property <vertical-align> from [unset\] to [40px\] at (1) should be [40px\]] + expected: FAIL + + [CSS Transitions: property <vertical-align> from [unset\] to [40px\] at (1.5) should be [40px\]] + expected: FAIL + + [CSS Transitions with transition: all: property <vertical-align> from [unset\] to [40px\] at (-0.3) should be [40px\]] + expected: FAIL + + [CSS Transitions with transition: all: property <vertical-align> from [unset\] to [40px\] at (0) should be [40px\]] + expected: FAIL + + [CSS Transitions with transition: all: property <vertical-align> from [unset\] to [40px\] at (0.3) should be [40px\]] + expected: FAIL + + [CSS Transitions with transition: all: property <vertical-align> from [unset\] to [40px\] at (0.5) should be [40px\]] + expected: FAIL + + [CSS Transitions with transition: all: property <vertical-align> from [unset\] to [40px\] at (0.6) should be [40px\]] + expected: FAIL + + [CSS Transitions with transition: all: property <vertical-align> from [unset\] to [40px\] at (1) should be [40px\]] + expected: FAIL + + [CSS Transitions with transition: all: property <vertical-align> from [unset\] to [40px\] at (1.5) should be [40px\]] + expected: FAIL + + [CSS Transitions: property <vertical-align> from [0px\] to [100px\] at (-0.5) should be [-50px\]] + expected: FAIL + + [CSS Transitions: property <vertical-align> from [0px\] to [100px\] at (0) should be [0px\]] + expected: FAIL + + [CSS Transitions: property <vertical-align> from [0px\] to [100px\] at (0.3) should be [30px\]] + expected: FAIL + + [CSS Transitions: property <vertical-align> from [0px\] to [100px\] at (0.6) should be [60px\]] + expected: FAIL + + [CSS Transitions: property <vertical-align> from [0px\] to [100px\] at (1) should be [100px\]] + expected: FAIL + + [CSS Transitions: property <vertical-align> from [0px\] to [100px\] at (1.5) should be [150px\]] + expected: FAIL + + [CSS Transitions with transition: all: property <vertical-align> from [0px\] to [100px\] at (-0.5) should be [-50px\]] + expected: FAIL + + [CSS Transitions with transition: all: property <vertical-align> from [0px\] to [100px\] at (0) should be [0px\]] + expected: FAIL + + [CSS Transitions with transition: all: property <vertical-align> from [0px\] to [100px\] at (0.3) should be [30px\]] + expected: FAIL + + [CSS Transitions with transition: all: property <vertical-align> from [0px\] to [100px\] at (0.6) should be [60px\]] + expected: FAIL + + [CSS Transitions with transition: all: property <vertical-align> from [0px\] to [100px\] at (1) should be [100px\]] + expected: FAIL + + [CSS Transitions with transition: all: property <vertical-align> from [0px\] to [100px\] at (1.5) should be [150px\]] + expected: FAIL + + [CSS Animations: property <vertical-align> from [0px\] to [100px\] at (-0.5) should be [-50px\]] + expected: FAIL + + [CSS Animations: property <vertical-align> from [0px\] to [100px\] at (0) should be [0px\]] + expected: FAIL + + [CSS Animations: property <vertical-align> from [0px\] to [100px\] at (0.3) should be [30px\]] + expected: FAIL + + [CSS Animations: property <vertical-align> from [0px\] to [100px\] at (0.6) should be [60px\]] + expected: FAIL + + [CSS Animations: property <vertical-align> from [0px\] to [100px\] at (1) should be [100px\]] + expected: FAIL + + [CSS Animations: property <vertical-align> from [0px\] to [100px\] at (1.5) should be [150px\]] + expected: FAIL + + [CSS Transitions: property <vertical-align> from [40px\] to [40%\] at (-0.5) should be [calc(60px - 20%)\]] + expected: FAIL + + [CSS Transitions: property <vertical-align> from [40px\] to [40%\] at (0) should be [calc(40px + 0%)\]] + expected: FAIL + + [CSS Transitions: property <vertical-align> from [40px\] to [40%\] at (0.3) should be [calc(28px + 12%)\]] + expected: FAIL + + [CSS Transitions: property <vertical-align> from [40px\] to [40%\] at (1) should be [40%\]] + expected: FAIL + + [CSS Transitions: property <vertical-align> from [40px\] to [40%\] at (1.5) should be [calc(-20px + 60%)\]] + expected: FAIL + + [CSS Transitions with transition: all: property <vertical-align> from [40px\] to [40%\] at (-0.5) should be [calc(60px - 20%)\]] + expected: FAIL + + [CSS Transitions with transition: all: property <vertical-align> from [40px\] to [40%\] at (0) should be [calc(40px + 0%)\]] + expected: FAIL + + [CSS Transitions with transition: all: property <vertical-align> from [40px\] to [40%\] at (0.3) should be [calc(28px + 12%)\]] + expected: FAIL + + [CSS Transitions with transition: all: property <vertical-align> from [40px\] to [40%\] at (1) should be [40%\]] + expected: FAIL + + [CSS Transitions with transition: all: property <vertical-align> from [40px\] to [40%\] at (1.5) should be [calc(-20px + 60%)\]] + expected: FAIL + + [CSS Animations: property <vertical-align> from [40px\] to [40%\] at (-0.5) should be [calc(60px - 20%)\]] + expected: FAIL + + [CSS Animations: property <vertical-align> from [40px\] to [40%\] at (0) should be [calc(40px + 0%)\]] + expected: FAIL + + [CSS Animations: property <vertical-align> from [40px\] to [40%\] at (0.3) should be [calc(28px + 12%)\]] + expected: FAIL + + [CSS Animations: property <vertical-align> from [40px\] to [40%\] at (1) should be [40%\]] + expected: FAIL + + [CSS Animations: property <vertical-align> from [40px\] to [40%\] at (1.5) should be [calc(-20px + 60%)\]] + expected: FAIL + + [CSS Transitions: property <vertical-align> from [super\] to [40%\] at (-0.3) should be [super\]] + expected: FAIL + + [CSS Transitions: property <vertical-align> from [super\] to [40%\] at (0) should be [super\]] + expected: FAIL + + [CSS Transitions: property <vertical-align> from [super\] to [40%\] at (0.3) should be [super\]] + expected: FAIL + + [CSS Transitions: property <vertical-align> from [super\] to [40%\] at (0.5) should be [40%\]] + expected: FAIL + + [CSS Transitions: property <vertical-align> from [super\] to [40%\] at (0.6) should be [40%\]] + expected: FAIL + + [CSS Transitions: property <vertical-align> from [super\] to [40%\] at (1) should be [40%\]] + expected: FAIL + + [CSS Transitions: property <vertical-align> from [super\] to [40%\] at (1.5) should be [40%\]] + expected: FAIL + + [CSS Transitions with transition: all: property <vertical-align> from [super\] to [40%\] at (-0.3) should be [40%\]] + expected: FAIL + + [CSS Transitions with transition: all: property <vertical-align> from [super\] to [40%\] at (0) should be [40%\]] + expected: FAIL + + [CSS Transitions with transition: all: property <vertical-align> from [super\] to [40%\] at (0.3) should be [40%\]] + expected: FAIL + + [CSS Transitions with transition: all: property <vertical-align> from [super\] to [40%\] at (0.5) should be [40%\]] + expected: FAIL + + [CSS Transitions with transition: all: property <vertical-align> from [super\] to [40%\] at (0.6) should be [40%\]] + expected: FAIL + + [CSS Transitions with transition: all: property <vertical-align> from [super\] to [40%\] at (1) should be [40%\]] + expected: FAIL + + [CSS Transitions with transition: all: property <vertical-align> from [super\] to [40%\] at (1.5) should be [40%\]] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-transitions/properties-value-001.html.ini b/tests/wpt/metadata-layout-2020/css/css-transitions/properties-value-001.html.ini index 2b9002f0e0c..4392f7d1878 100644 --- a/tests/wpt/metadata-layout-2020/css/css-transitions/properties-value-001.html.ini +++ b/tests/wpt/metadata-layout-2020/css/css-transitions/properties-value-001.html.ini @@ -53,399 +53,6 @@ [background-position length(px) / events] expected: FAIL - [background-color color(rgba) / values] - expected: FAIL - - [border-top-width length(pt) / values] - expected: FAIL - - [border-top-width length(pc) / values] - expected: FAIL - - [border-top-width length(px) / values] - expected: FAIL - - [border-top-width length(em) / values] - expected: FAIL - - [border-top-width length(ex) / values] - expected: FAIL - - [border-top-width length(mm) / values] - expected: FAIL - - [border-top-width length(cm) / values] - expected: FAIL - - [border-top-width length(in) / values] - expected: FAIL - - [border-right-width length(pt) / values] - expected: FAIL - - [border-right-width length(pc) / values] - expected: FAIL - - [border-right-width length(px) / values] - expected: FAIL - - [border-right-width length(em) / values] - expected: FAIL - - [border-right-width length(ex) / values] - expected: FAIL - - [border-right-width length(mm) / values] - expected: FAIL - - [border-right-width length(cm) / values] - expected: FAIL - - [border-right-width length(in) / values] - expected: FAIL - - [border-bottom-width length(pt) / values] - expected: FAIL - - [border-bottom-width length(pc) / values] - expected: FAIL - - [border-bottom-width length(px) / values] - expected: FAIL - - [border-bottom-width length(em) / values] - expected: FAIL - - [border-bottom-width length(ex) / values] - expected: FAIL - - [border-bottom-width length(mm) / values] - expected: FAIL - - [border-bottom-width length(cm) / values] - expected: FAIL - - [border-bottom-width length(in) / values] - expected: FAIL - - [border-left-width length(pt) / values] - expected: FAIL - - [border-left-width length(pc) / values] - expected: FAIL - - [border-left-width length(px) / values] - expected: FAIL - - [border-left-width length(em) / values] - expected: FAIL - - [border-left-width length(ex) / values] - expected: FAIL - - [border-left-width length(mm) / values] - expected: FAIL - - [border-left-width length(cm) / values] - expected: FAIL - - [border-left-width length(in) / values] - expected: FAIL - - [border-top-color color(rgba) / values] - expected: FAIL - - [border-right-color color(rgba) / values] - expected: FAIL - - [border-bottom-color color(rgba) / values] - expected: FAIL - - [border-left-color color(rgba) / values] - expected: FAIL - - [padding-bottom length(pt) / values] - expected: FAIL - - [padding-bottom length(pc) / values] - expected: FAIL - - [padding-bottom length(px) / values] - expected: FAIL - - [padding-bottom length(em) / values] - expected: FAIL - - [padding-bottom length(ex) / values] - expected: FAIL - - [padding-bottom length(mm) / values] - expected: FAIL - - [padding-bottom length(cm) / values] - expected: FAIL - - [padding-bottom length(in) / values] - expected: FAIL - - [padding-left length(pt) / values] - expected: FAIL - - [padding-left length(pc) / values] - expected: FAIL - - [padding-left length(px) / values] - expected: FAIL - - [padding-left length(em) / values] - expected: FAIL - - [padding-left length(ex) / values] - expected: FAIL - - [padding-left length(mm) / values] - expected: FAIL - - [padding-left length(cm) / values] - expected: FAIL - - [padding-left length(in) / values] - expected: FAIL - - [padding-right length(pt) / values] - expected: FAIL - - [padding-right length(pc) / values] - expected: FAIL - - [padding-right length(px) / values] - expected: FAIL - - [padding-right length(em) / values] - expected: FAIL - - [padding-right length(ex) / values] - expected: FAIL - - [padding-right length(mm) / values] - expected: FAIL - - [padding-right length(cm) / values] - expected: FAIL - - [padding-right length(in) / values] - expected: FAIL - - [padding-top length(pt) / values] - expected: FAIL - - [padding-top length(pc) / values] - expected: FAIL - - [padding-top length(px) / values] - expected: FAIL - - [padding-top length(em) / values] - expected: FAIL - - [padding-top length(ex) / values] - expected: FAIL - - [padding-top length(mm) / values] - expected: FAIL - - [padding-top length(cm) / values] - expected: FAIL - - [padding-top length(in) / values] - expected: FAIL - - [margin-bottom length(pt) / values] - expected: FAIL - - [margin-bottom length(pc) / values] - expected: FAIL - - [margin-bottom length(px) / values] - expected: FAIL - - [margin-bottom length(em) / values] - expected: FAIL - - [margin-bottom length(ex) / values] - expected: FAIL - - [margin-bottom length(mm) / values] - expected: FAIL - - [margin-bottom length(cm) / values] - expected: FAIL - - [margin-bottom length(in) / values] - expected: FAIL - - [margin-left length(pt) / values] - expected: FAIL - - [margin-left length(pc) / values] - expected: FAIL - - [margin-left length(px) / values] - expected: FAIL - - [margin-left length(em) / values] - expected: FAIL - - [margin-left length(ex) / values] - expected: FAIL - - [margin-left length(mm) / values] - expected: FAIL - - [margin-left length(cm) / values] - expected: FAIL - - [margin-left length(in) / values] - expected: FAIL - - [margin-right length(pt) / values] - expected: FAIL - - [margin-right length(pc) / values] - expected: FAIL - - [margin-right length(px) / values] - expected: FAIL - - [margin-right length(em) / values] - expected: FAIL - - [margin-right length(ex) / values] - expected: FAIL - - [margin-right length(mm) / values] - expected: FAIL - - [color color(rgba) / values] - expected: FAIL - - [font-size length(pt) / values] - expected: FAIL - - [font-size length(pc) / values] - expected: FAIL - - [font-size length(px) / values] - expected: FAIL - - [font-size length(em) / values] - expected: FAIL - - [font-size length(ex) / values] - expected: FAIL - - [font-size length(mm) / values] - expected: FAIL - - [font-size length(cm) / values] - expected: FAIL - - [font-size length(in) / values] - expected: FAIL - - [font-size percentage(%) / values] - expected: FAIL - - [font-weight font-weight(keyword) / values] - expected: FAIL - - [font-weight font-weight(numeric) / values] - expected: FAIL - - [line-height number(integer) / values] - expected: FAIL - - [line-height number(decimal) / values] - expected: FAIL - - [line-height length(pt) / values] - expected: FAIL - - [line-height length(pc) / values] - expected: FAIL - - [line-height length(px) / values] - expected: FAIL - - [line-height length(em) / values] - expected: FAIL - - [line-height length(ex) / values] - expected: FAIL - - [line-height length(mm) / values] - expected: FAIL - - [line-height length(cm) / values] - expected: FAIL - - [line-height length(in) / values] - expected: FAIL - - [line-height percentage(%) / values] - expected: FAIL - - [letter-spacing length(pt) / values] - expected: FAIL - - [letter-spacing length(pc) / values] - expected: FAIL - - [letter-spacing length(px) / values] - expected: FAIL - - [letter-spacing length(em) / values] - expected: FAIL - - [letter-spacing length(ex) / values] - expected: FAIL - - [letter-spacing length(mm) / values] - expected: FAIL - - [letter-spacing length(cm) / values] - expected: FAIL - - [letter-spacing length(in) / values] - expected: FAIL - - [word-spacing length(pt) / values] - expected: FAIL - - [word-spacing length(pc) / values] - expected: FAIL - - [word-spacing length(px) / values] - expected: FAIL - - [word-spacing length(em) / values] - expected: FAIL - - [word-spacing length(ex) / values] - expected: FAIL - - [word-spacing length(mm) / values] - expected: FAIL - - [word-spacing length(cm) / values] - expected: FAIL - - [word-spacing length(in) / values] - expected: FAIL - - [word-spacing percentage(%) / values] - expected: FAIL - [text-indent length(pt) / values] expected: FAIL @@ -475,3 +82,189 @@ [text-shadow shadow(shadow) / values] expected: FAIL + + [text-indent length(pt) / events] + expected: FAIL + + [text-indent length(pc) / events] + expected: FAIL + + [text-indent length(px) / events] + expected: FAIL + + [text-indent length(em) / events] + expected: FAIL + + [text-indent length(ex) / events] + expected: FAIL + + [text-indent length(mm) / events] + expected: FAIL + + [text-indent length(cm) / events] + expected: FAIL + + [text-indent length(in) / events] + expected: FAIL + + [text-indent percentage(%) / events] + expected: FAIL + + [text-shadow shadow(shadow) / events] + expected: FAIL + + [outline-color color(rgba) / values] + expected: FAIL + + [outline-color color(rgba) / events] + expected: FAIL + + [outline-offset length(pt) / values] + expected: FAIL + + [outline-offset length(pt) / events] + expected: FAIL + + [outline-offset length(pc) / values] + expected: FAIL + + [outline-offset length(pc) / events] + expected: FAIL + + [outline-offset length(px) / values] + expected: FAIL + + [outline-offset length(px) / events] + expected: FAIL + + [outline-offset length(em) / values] + expected: FAIL + + [outline-offset length(em) / events] + expected: FAIL + + [outline-offset length(ex) / values] + expected: FAIL + + [outline-offset length(ex) / events] + expected: FAIL + + [outline-offset length(mm) / values] + expected: FAIL + + [outline-offset length(mm) / events] + expected: FAIL + + [outline-offset length(cm) / values] + expected: FAIL + + [outline-offset length(cm) / events] + expected: FAIL + + [outline-offset length(in) / values] + expected: FAIL + + [outline-offset length(in) / events] + expected: FAIL + + [outline-width length(pt) / values] + expected: FAIL + + [outline-width length(pt) / events] + expected: FAIL + + [outline-width length(pc) / values] + expected: FAIL + + [outline-width length(pc) / events] + expected: FAIL + + [outline-width length(px) / values] + expected: FAIL + + [outline-width length(px) / events] + expected: FAIL + + [outline-width length(em) / values] + expected: FAIL + + [outline-width length(em) / events] + expected: FAIL + + [outline-width length(ex) / values] + expected: FAIL + + [outline-width length(ex) / events] + expected: FAIL + + [outline-width length(mm) / values] + expected: FAIL + + [outline-width length(mm) / events] + expected: FAIL + + [outline-width length(cm) / values] + expected: FAIL + + [outline-width length(cm) / events] + expected: FAIL + + [outline-width length(in) / values] + expected: FAIL + + [outline-width length(in) / events] + expected: FAIL + + [vertical-align length(pt) / values] + expected: FAIL + + [vertical-align length(pt) / events] + expected: FAIL + + [vertical-align length(pc) / values] + expected: FAIL + + [vertical-align length(pc) / events] + expected: FAIL + + [vertical-align length(px) / values] + expected: FAIL + + [vertical-align length(px) / events] + expected: FAIL + + [vertical-align length(em) / values] + expected: FAIL + + [vertical-align length(em) / events] + expected: FAIL + + [vertical-align length(ex) / values] + expected: FAIL + + [vertical-align length(ex) / events] + expected: FAIL + + [vertical-align length(mm) / values] + expected: FAIL + + [vertical-align length(mm) / events] + expected: FAIL + + [vertical-align length(cm) / values] + expected: FAIL + + [vertical-align length(cm) / events] + expected: FAIL + + [vertical-align length(in) / values] + expected: FAIL + + [vertical-align length(in) / events] + expected: FAIL + + [vertical-align percentage(%) / values] + expected: FAIL + + [vertical-align percentage(%) / events] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-transitions/properties-value-002.html.ini b/tests/wpt/metadata-layout-2020/css/css-transitions/properties-value-002.html.ini index d34dc5456ba..56b0fa56d4b 100644 --- a/tests/wpt/metadata-layout-2020/css/css-transitions/properties-value-002.html.ini +++ b/tests/wpt/metadata-layout-2020/css/css-transitions/properties-value-002.html.ini @@ -1,3 +1,6 @@ [properties-value-002.html] [vertical-align vertical(keyword) / values] expected: FAIL + + [vertical-align vertical(keyword) / events] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-transitions/properties-value-003.html.ini b/tests/wpt/metadata-layout-2020/css/css-transitions/properties-value-003.html.ini index 008e464677a..516eb47abcd 100644 --- a/tests/wpt/metadata-layout-2020/css/css-transitions/properties-value-003.html.ini +++ b/tests/wpt/metadata-layout-2020/css/css-transitions/properties-value-003.html.ini @@ -461,18 +461,6 @@ [column-width length(em) / values] expected: FAIL - [text-decoration-color color(rgba) / values] - expected: FAIL - - [text-decoration-color color(rgba) / events] - expected: FAIL - - [position position(static to absolute) / events] - expected: FAIL - - [position position(relative to absolute) / events] - expected: FAIL - [object-view-box object-view-box(inset) / values] expected: FAIL @@ -490,3 +478,9 @@ [object-view-box object-view-box(xywh) / events] expected: FAIL + + [box-shadow box-shadow(shadow) / values] + expected: FAIL + + [box-shadow box-shadow(shadow) / events] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-transitions/properties-value-implicit-001.html.ini b/tests/wpt/metadata-layout-2020/css/css-transitions/properties-value-implicit-001.html.ini index 6fbb05ea694..8388ba9b1b0 100644 --- a/tests/wpt/metadata-layout-2020/css/css-transitions/properties-value-implicit-001.html.ini +++ b/tests/wpt/metadata-layout-2020/css/css-transitions/properties-value-implicit-001.html.ini @@ -4,3 +4,27 @@ [background-position length-em(em) / values] expected: FAIL + + [text-indent length-em(em) / values] + expected: FAIL + + [text-indent length-em(em) / events] + expected: FAIL + + [outline-offset length-em(em) / values] + expected: FAIL + + [outline-offset length-em(em) / events] + expected: FAIL + + [outline-width length-em(em) / values] + expected: FAIL + + [outline-width length-em(em) / events] + expected: FAIL + + [vertical-align length-em(em) / values] + expected: FAIL + + [vertical-align length-em(em) / events] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-transitions/properties-value-inherit-001.html.ini b/tests/wpt/metadata-layout-2020/css/css-transitions/properties-value-inherit-001.html.ini index 8cb6770c72e..fb4d6fbc449 100644 --- a/tests/wpt/metadata-layout-2020/css/css-transitions/properties-value-inherit-001.html.ini +++ b/tests/wpt/metadata-layout-2020/css/css-transitions/properties-value-inherit-001.html.ini @@ -56,306 +56,6 @@ [background-position length(px) / events] expected: FAIL - [padding-bottom length(ex) / events] - expected: FAIL - - [padding-bottom length(mm) / events] - expected: FAIL - - [padding-bottom length(cm) / events] - expected: FAIL - - [padding-bottom length(in) / events] - expected: FAIL - - [padding-left length(pt) / events] - expected: FAIL - - [padding-left length(pc) / events] - expected: FAIL - - [padding-left length(px) / events] - expected: FAIL - - [padding-left length(em) / events] - expected: FAIL - - [padding-left length(ex) / events] - expected: FAIL - - [padding-left length(mm) / events] - expected: FAIL - - [padding-left length(cm) / events] - expected: FAIL - - [padding-left length(in) / events] - expected: FAIL - - [padding-right length(pt) / events] - expected: FAIL - - [padding-right length(pc) / events] - expected: FAIL - - [padding-right length(px) / events] - expected: FAIL - - [padding-right length(em) / events] - expected: FAIL - - [padding-right length(ex) / events] - expected: FAIL - - [padding-right length(mm) / events] - expected: FAIL - - [padding-right length(cm) / events] - expected: FAIL - - [padding-right length(in) / events] - expected: FAIL - - [padding-top length(pt) / events] - expected: FAIL - - [padding-top length(pc) / events] - expected: FAIL - - [padding-top length(px) / events] - expected: FAIL - - [padding-top length(em) / events] - expected: FAIL - - [padding-top length(ex) / events] - expected: FAIL - - [padding-top length(mm) / events] - expected: FAIL - - [padding-top length(cm) / events] - expected: FAIL - - [padding-top length(in) / events] - expected: FAIL - - [margin-bottom length(pt) / events] - expected: FAIL - - [margin-bottom length(pc) / events] - expected: FAIL - - [margin-bottom length(px) / events] - expected: FAIL - - [margin-bottom length(em) / events] - expected: FAIL - - [margin-bottom length(ex) / events] - expected: FAIL - - [margin-bottom length(mm) / events] - expected: FAIL - - [margin-bottom length(cm) / events] - expected: FAIL - - [margin-bottom length(in) / events] - expected: FAIL - - [margin-left length(pt) / events] - expected: FAIL - - [margin-left length(pc) / events] - expected: FAIL - - [margin-left length(px) / events] - expected: FAIL - - [margin-left length(em) / events] - expected: FAIL - - [margin-left length(ex) / events] - expected: FAIL - - [margin-left length(mm) / events] - expected: FAIL - - [margin-left length(cm) / events] - expected: FAIL - - [margin-left length(in) / events] - expected: FAIL - - [margin-right length(pt) / events] - expected: FAIL - - [margin-right length(pc) / events] - expected: FAIL - - [margin-right length(px) / events] - expected: FAIL - - [margin-right length(em) / events] - expected: FAIL - - [margin-right length(ex) / events] - expected: FAIL - - [margin-right length(mm) / events] - expected: FAIL - - [margin-right length(cm) / events] - expected: FAIL - - [margin-right length(in) / events] - expected: FAIL - - [margin-top length(pt) / events] - expected: FAIL - - [margin-top length(pc) / events] - expected: FAIL - - [margin-top length(px) / events] - expected: FAIL - - [margin-top length(em) / events] - expected: FAIL - - [margin-top length(ex) / events] - expected: FAIL - - [margin-top length(mm) / events] - expected: FAIL - - [margin-top length(cm) / events] - expected: FAIL - - [margin-top length(in) / events] - expected: FAIL - - [height length(pt) / events] - expected: FAIL - - [height length(pc) / events] - expected: FAIL - - [height length(px) / events] - expected: FAIL - - [height length(em) / events] - expected: FAIL - - [height length(ex) / events] - expected: FAIL - - [height length(mm) / events] - expected: FAIL - - [height length(cm) / events] - expected: FAIL - - [height length(in) / events] - expected: FAIL - - [height percentage(%) / events] - expected: FAIL - - [width length(pt) / events] - expected: FAIL - - [width length(pc) / events] - expected: FAIL - - [width length(px) / events] - expected: FAIL - - [width length(em) / events] - expected: FAIL - - [width length(ex) / events] - expected: FAIL - - [width length(mm) / events] - expected: FAIL - - [width length(cm) / events] - expected: FAIL - - [width length(in) / events] - expected: FAIL - - [width percentage(%) / events] - expected: FAIL - - [min-height length(pt) / events] - expected: FAIL - - [min-height length(pc) / events] - expected: FAIL - - [min-height length(px) / events] - expected: FAIL - - [min-height length(em) / events] - expected: FAIL - - [min-height length(ex) / events] - expected: FAIL - - [min-height length(mm) / events] - expected: FAIL - - [min-height length(cm) / events] - expected: FAIL - - [min-height length(in) / events] - expected: FAIL - - [min-height percentage(%) / events] - expected: FAIL - - [min-width length(pt) / events] - expected: FAIL - - [min-width length(pc) / events] - expected: FAIL - - [min-width length(px) / events] - expected: FAIL - - [min-width length(em) / events] - expected: FAIL - - [min-width length(ex) / events] - expected: FAIL - - [min-width length(mm) / events] - expected: FAIL - - [min-width length(cm) / events] - expected: FAIL - - [min-width length(in) / events] - expected: FAIL - - [min-width percentage(%) / events] - expected: FAIL - - [max-height length(pt) / events] - expected: FAIL - - [max-height length(pc) / events] - expected: FAIL - - [max-height length(px) / events] - expected: FAIL - - [max-height length(em) / events] - expected: FAIL - [color color(rgba) / events] expected: FAIL @@ -506,156 +206,6 @@ [text-shadow shadow(shadow) / events] expected: FAIL - [max-height length(ex) / events] - expected: FAIL - - [max-height length(mm) / events] - expected: FAIL - - [max-height length(cm) / events] - expected: FAIL - - [max-height length(in) / events] - expected: FAIL - - [max-height percentage(%) / events] - expected: FAIL - - [max-width length(pt) / events] - expected: FAIL - - [max-width length(pc) / events] - expected: FAIL - - [max-width length(px) / events] - expected: FAIL - - [max-width length(em) / events] - expected: FAIL - - [max-width length(ex) / events] - expected: FAIL - - [max-width length(mm) / events] - expected: FAIL - - [max-width length(cm) / events] - expected: FAIL - - [max-width length(in) / events] - expected: FAIL - - [max-width percentage(%) / events] - expected: FAIL - - [top length(pt) / events] - expected: FAIL - - [top length(pc) / events] - expected: FAIL - - [top length(px) / events] - expected: FAIL - - [top length(em) / events] - expected: FAIL - - [top length(ex) / events] - expected: FAIL - - [top length(mm) / events] - expected: FAIL - - [top length(cm) / events] - expected: FAIL - - [top length(in) / events] - expected: FAIL - - [top percentage(%) / events] - expected: FAIL - - [right length(pt) / events] - expected: FAIL - - [right length(pc) / events] - expected: FAIL - - [right length(px) / events] - expected: FAIL - - [right length(em) / events] - expected: FAIL - - [right length(ex) / events] - expected: FAIL - - [right length(mm) / events] - expected: FAIL - - [right length(cm) / events] - expected: FAIL - - [right length(in) / events] - expected: FAIL - - [right percentage(%) / events] - expected: FAIL - - [bottom length(pt) / events] - expected: FAIL - - [bottom length(pc) / events] - expected: FAIL - - [bottom length(px) / events] - expected: FAIL - - [bottom length(em) / events] - expected: FAIL - - [bottom length(ex) / events] - expected: FAIL - - [bottom length(mm) / events] - expected: FAIL - - [bottom length(cm) / events] - expected: FAIL - - [bottom length(in) / events] - expected: FAIL - - [bottom percentage(%) / events] - expected: FAIL - - [left length(pt) / events] - expected: FAIL - - [left length(pc) / events] - expected: FAIL - - [left length(px) / events] - expected: FAIL - - [left length(em) / events] - expected: FAIL - - [left length(ex) / events] - expected: FAIL - - [left length(mm) / events] - expected: FAIL - - [left length(cm) / events] - expected: FAIL - - [left length(in) / events] - expected: FAIL - - [left percentage(%) / events] - expected: FAIL - [background-color color(rgba) / events] expected: FAIL @@ -778,3 +328,189 @@ [padding-bottom length(em) / events] expected: FAIL + + [text-indent length(pt) / values] + expected: FAIL + + [text-indent length(pc) / values] + expected: FAIL + + [text-indent length(px) / values] + expected: FAIL + + [text-indent length(em) / values] + expected: FAIL + + [text-indent length(ex) / values] + expected: FAIL + + [text-indent length(mm) / values] + expected: FAIL + + [text-indent length(cm) / values] + expected: FAIL + + [text-indent length(in) / values] + expected: FAIL + + [text-indent percentage(%) / values] + expected: FAIL + + [text-shadow shadow(shadow) / values] + expected: FAIL + + [outline-color color(rgba) / values] + expected: FAIL + + [outline-color color(rgba) / events] + expected: FAIL + + [outline-offset length(pt) / values] + expected: FAIL + + [outline-offset length(pt) / events] + expected: FAIL + + [outline-offset length(pc) / values] + expected: FAIL + + [outline-offset length(pc) / events] + expected: FAIL + + [outline-offset length(px) / values] + expected: FAIL + + [outline-offset length(px) / events] + expected: FAIL + + [outline-offset length(em) / values] + expected: FAIL + + [outline-offset length(em) / events] + expected: FAIL + + [outline-offset length(ex) / values] + expected: FAIL + + [outline-offset length(ex) / events] + expected: FAIL + + [outline-offset length(mm) / values] + expected: FAIL + + [outline-offset length(mm) / events] + expected: FAIL + + [outline-offset length(cm) / values] + expected: FAIL + + [outline-offset length(cm) / events] + expected: FAIL + + [outline-offset length(in) / values] + expected: FAIL + + [outline-offset length(in) / events] + expected: FAIL + + [outline-width length(pt) / values] + expected: FAIL + + [outline-width length(pt) / events] + expected: FAIL + + [outline-width length(pc) / values] + expected: FAIL + + [outline-width length(pc) / events] + expected: FAIL + + [outline-width length(px) / values] + expected: FAIL + + [outline-width length(px) / events] + expected: FAIL + + [outline-width length(em) / values] + expected: FAIL + + [outline-width length(em) / events] + expected: FAIL + + [outline-width length(ex) / values] + expected: FAIL + + [outline-width length(ex) / events] + expected: FAIL + + [outline-width length(mm) / values] + expected: FAIL + + [outline-width length(mm) / events] + expected: FAIL + + [outline-width length(cm) / values] + expected: FAIL + + [outline-width length(cm) / events] + expected: FAIL + + [outline-width length(in) / values] + expected: FAIL + + [outline-width length(in) / events] + expected: FAIL + + [vertical-align length(pt) / values] + expected: FAIL + + [vertical-align length(pt) / events] + expected: FAIL + + [vertical-align length(pc) / values] + expected: FAIL + + [vertical-align length(pc) / events] + expected: FAIL + + [vertical-align length(px) / values] + expected: FAIL + + [vertical-align length(px) / events] + expected: FAIL + + [vertical-align length(em) / values] + expected: FAIL + + [vertical-align length(em) / events] + expected: FAIL + + [vertical-align length(ex) / values] + expected: FAIL + + [vertical-align length(ex) / events] + expected: FAIL + + [vertical-align length(mm) / values] + expected: FAIL + + [vertical-align length(mm) / events] + expected: FAIL + + [vertical-align length(cm) / values] + expected: FAIL + + [vertical-align length(cm) / events] + expected: FAIL + + [vertical-align length(in) / values] + expected: FAIL + + [vertical-align length(in) / events] + expected: FAIL + + [vertical-align percentage(%) / values] + expected: FAIL + + [vertical-align percentage(%) / events] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-transitions/properties-value-inherit-002.html.ini b/tests/wpt/metadata-layout-2020/css/css-transitions/properties-value-inherit-002.html.ini index 526e81e6310..86e0ec5506e 100644 --- a/tests/wpt/metadata-layout-2020/css/css-transitions/properties-value-inherit-002.html.ini +++ b/tests/wpt/metadata-layout-2020/css/css-transitions/properties-value-inherit-002.html.ini @@ -53,126 +53,6 @@ [background-position length(px) / events] expected: FAIL - [color color(rgba) / values] - expected: FAIL - - [font-size length(pt) / values] - expected: FAIL - - [font-size length(pc) / values] - expected: FAIL - - [font-size length(px) / values] - expected: FAIL - - [font-size length(em) / values] - expected: FAIL - - [font-size length(ex) / values] - expected: FAIL - - [font-size length(mm) / values] - expected: FAIL - - [font-size length(cm) / values] - expected: FAIL - - [font-size length(in) / values] - expected: FAIL - - [font-size percentage(%) / values] - expected: FAIL - - [font-weight font-weight(keyword) / values] - expected: FAIL - - [font-weight font-weight(numeric) / values] - expected: FAIL - - [line-height number(integer) / values] - expected: FAIL - - [line-height number(decimal) / values] - expected: FAIL - - [line-height length(pt) / values] - expected: FAIL - - [line-height length(pc) / values] - expected: FAIL - - [line-height length(px) / values] - expected: FAIL - - [line-height length(em) / values] - expected: FAIL - - [line-height length(ex) / values] - expected: FAIL - - [line-height length(mm) / values] - expected: FAIL - - [line-height length(cm) / values] - expected: FAIL - - [line-height length(in) / values] - expected: FAIL - - [line-height percentage(%) / values] - expected: FAIL - - [letter-spacing length(pt) / values] - expected: FAIL - - [letter-spacing length(pc) / values] - expected: FAIL - - [letter-spacing length(px) / values] - expected: FAIL - - [letter-spacing length(em) / values] - expected: FAIL - - [letter-spacing length(ex) / values] - expected: FAIL - - [letter-spacing length(mm) / values] - expected: FAIL - - [letter-spacing length(cm) / values] - expected: FAIL - - [letter-spacing length(in) / values] - expected: FAIL - - [word-spacing length(pt) / values] - expected: FAIL - - [word-spacing length(pc) / values] - expected: FAIL - - [word-spacing length(px) / values] - expected: FAIL - - [word-spacing length(em) / values] - expected: FAIL - - [word-spacing length(ex) / values] - expected: FAIL - - [word-spacing length(mm) / values] - expected: FAIL - - [word-spacing length(cm) / values] - expected: FAIL - - [word-spacing length(in) / values] - expected: FAIL - - [word-spacing percentage(%) / values] - expected: FAIL - [text-indent length(pt) / values] expected: FAIL @@ -202,3 +82,189 @@ [text-shadow shadow(shadow) / values] expected: FAIL + + [text-indent length(pt) / events] + expected: FAIL + + [text-indent length(pc) / events] + expected: FAIL + + [text-indent length(px) / events] + expected: FAIL + + [text-indent length(em) / events] + expected: FAIL + + [text-indent length(ex) / events] + expected: FAIL + + [text-indent length(mm) / events] + expected: FAIL + + [text-indent length(cm) / events] + expected: FAIL + + [text-indent length(in) / events] + expected: FAIL + + [text-indent percentage(%) / events] + expected: FAIL + + [text-shadow shadow(shadow) / events] + expected: FAIL + + [outline-color color(rgba) / values] + expected: FAIL + + [outline-color color(rgba) / events] + expected: FAIL + + [outline-offset length(pt) / values] + expected: FAIL + + [outline-offset length(pt) / events] + expected: FAIL + + [outline-offset length(pc) / values] + expected: FAIL + + [outline-offset length(pc) / events] + expected: FAIL + + [outline-offset length(px) / values] + expected: FAIL + + [outline-offset length(px) / events] + expected: FAIL + + [outline-offset length(em) / values] + expected: FAIL + + [outline-offset length(em) / events] + expected: FAIL + + [outline-offset length(ex) / values] + expected: FAIL + + [outline-offset length(ex) / events] + expected: FAIL + + [outline-offset length(mm) / values] + expected: FAIL + + [outline-offset length(mm) / events] + expected: FAIL + + [outline-offset length(cm) / values] + expected: FAIL + + [outline-offset length(cm) / events] + expected: FAIL + + [outline-offset length(in) / values] + expected: FAIL + + [outline-offset length(in) / events] + expected: FAIL + + [outline-width length(pt) / values] + expected: FAIL + + [outline-width length(pt) / events] + expected: FAIL + + [outline-width length(pc) / values] + expected: FAIL + + [outline-width length(pc) / events] + expected: FAIL + + [outline-width length(px) / values] + expected: FAIL + + [outline-width length(px) / events] + expected: FAIL + + [outline-width length(em) / values] + expected: FAIL + + [outline-width length(em) / events] + expected: FAIL + + [outline-width length(ex) / values] + expected: FAIL + + [outline-width length(ex) / events] + expected: FAIL + + [outline-width length(mm) / values] + expected: FAIL + + [outline-width length(mm) / events] + expected: FAIL + + [outline-width length(cm) / values] + expected: FAIL + + [outline-width length(cm) / events] + expected: FAIL + + [outline-width length(in) / values] + expected: FAIL + + [outline-width length(in) / events] + expected: FAIL + + [vertical-align length(pt) / values] + expected: FAIL + + [vertical-align length(pt) / events] + expected: FAIL + + [vertical-align length(pc) / values] + expected: FAIL + + [vertical-align length(pc) / events] + expected: FAIL + + [vertical-align length(px) / values] + expected: FAIL + + [vertical-align length(px) / events] + expected: FAIL + + [vertical-align length(em) / values] + expected: FAIL + + [vertical-align length(em) / events] + expected: FAIL + + [vertical-align length(ex) / values] + expected: FAIL + + [vertical-align length(ex) / events] + expected: FAIL + + [vertical-align length(mm) / values] + expected: FAIL + + [vertical-align length(mm) / events] + expected: FAIL + + [vertical-align length(cm) / values] + expected: FAIL + + [vertical-align length(cm) / events] + expected: FAIL + + [vertical-align length(in) / values] + expected: FAIL + + [vertical-align length(in) / events] + expected: FAIL + + [vertical-align percentage(%) / values] + expected: FAIL + + [vertical-align percentage(%) / events] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-transitions/properties-value-inherit-003.html.ini b/tests/wpt/metadata-layout-2020/css/css-transitions/properties-value-inherit-003.html.ini index 0734ab0db2c..9627921e283 100644 --- a/tests/wpt/metadata-layout-2020/css/css-transitions/properties-value-inherit-003.html.ini +++ b/tests/wpt/metadata-layout-2020/css/css-transitions/properties-value-inherit-003.html.ini @@ -4,3 +4,27 @@ [background-position length-em(em) / values] expected: FAIL + + [text-indent length-em(em) / values] + expected: FAIL + + [text-indent length-em(em) / events] + expected: FAIL + + [outline-offset length-em(em) / values] + expected: FAIL + + [outline-offset length-em(em) / events] + expected: FAIL + + [outline-width length-em(em) / values] + expected: FAIL + + [outline-width length-em(em) / events] + expected: FAIL + + [vertical-align length-em(em) / values] + expected: FAIL + + [vertical-align length-em(em) / events] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-transitions/pseudo-elements-001.html.ini b/tests/wpt/metadata-layout-2020/css/css-transitions/pseudo-elements-001.html.ini deleted file mode 100644 index 27fb29a8075..00000000000 --- a/tests/wpt/metadata-layout-2020/css/css-transitions/pseudo-elements-001.html.ini +++ /dev/null @@ -1,6 +0,0 @@ -[pseudo-elements-001.html] - [transition padding-left on :before / values] - expected: FAIL - - [transition padding-left on :after / values] - expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-transitions/transition-after-animation-001.html.ini b/tests/wpt/metadata-layout-2020/css/css-transitions/transition-after-animation-001.html.ini deleted file mode 100644 index 273adc4fb7a..00000000000 --- a/tests/wpt/metadata-layout-2020/css/css-transitions/transition-after-animation-001.html.ini +++ /dev/null @@ -1,3 +0,0 @@ -[transition-after-animation-001.html] - [Starting transition after animation has ended] - expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-transitions/transition-events-with-document-change.html.ini b/tests/wpt/metadata-layout-2020/css/css-transitions/transition-events-with-document-change.html.ini new file mode 100644 index 00000000000..c79ad35ab0f --- /dev/null +++ b/tests/wpt/metadata-layout-2020/css/css-transitions/transition-events-with-document-change.html.ini @@ -0,0 +1,3 @@ +[transition-events-with-document-change.html] + [transition events for an element changing document] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-ui/accent-color-invalidation-currentcolor.html.ini b/tests/wpt/metadata-layout-2020/css/css-ui/accent-color-invalidation-currentcolor.html.ini new file mode 100644 index 00000000000..19a0be52219 --- /dev/null +++ b/tests/wpt/metadata-layout-2020/css/css-ui/accent-color-invalidation-currentcolor.html.ini @@ -0,0 +1,2 @@ +[accent-color-invalidation-currentcolor.html] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-ui/animation/appearance-no-interpolation.html.ini b/tests/wpt/metadata-layout-2020/css/css-ui/animation/appearance-no-interpolation.html.ini new file mode 100644 index 00000000000..33fb5c36e7c --- /dev/null +++ b/tests/wpt/metadata-layout-2020/css/css-ui/animation/appearance-no-interpolation.html.ini @@ -0,0 +1,84 @@ +[appearance-no-interpolation.html] + [CSS Transitions: property <appearance> from [initial\] to [none\] at (-0.3) should be [initial\]] + expected: FAIL + + [CSS Transitions: property <appearance> from [initial\] to [none\] at (0) should be [initial\]] + expected: FAIL + + [CSS Transitions: property <appearance> from [initial\] to [none\] at (0.3) should be [initial\]] + expected: FAIL + + [CSS Transitions: property <appearance> from [initial\] to [none\] at (0.5) should be [none\]] + expected: FAIL + + [CSS Transitions: property <appearance> from [initial\] to [none\] at (0.6) should be [none\]] + expected: FAIL + + [CSS Transitions: property <appearance> from [initial\] to [none\] at (1) should be [none\]] + expected: FAIL + + [CSS Transitions: property <appearance> from [initial\] to [none\] at (1.5) should be [none\]] + expected: FAIL + + [CSS Transitions with transition: all: property <appearance> from [initial\] to [none\] at (-0.3) should be [none\]] + expected: FAIL + + [CSS Transitions with transition: all: property <appearance> from [initial\] to [none\] at (0) should be [none\]] + expected: FAIL + + [CSS Transitions with transition: all: property <appearance> from [initial\] to [none\] at (0.3) should be [none\]] + expected: FAIL + + [CSS Transitions with transition: all: property <appearance> from [initial\] to [none\] at (0.5) should be [none\]] + expected: FAIL + + [CSS Transitions with transition: all: property <appearance> from [initial\] to [none\] at (0.6) should be [none\]] + expected: FAIL + + [CSS Transitions with transition: all: property <appearance> from [initial\] to [none\] at (1) should be [none\]] + expected: FAIL + + [CSS Transitions with transition: all: property <appearance> from [initial\] to [none\] at (1.5) should be [none\]] + expected: FAIL + + [CSS Animations: property <appearance> from [initial\] to [none\] at (-0.3) should be [initial\]] + expected: FAIL + + [CSS Animations: property <appearance> from [initial\] to [none\] at (0) should be [initial\]] + expected: FAIL + + [CSS Animations: property <appearance> from [initial\] to [none\] at (0.3) should be [initial\]] + expected: FAIL + + [CSS Animations: property <appearance> from [initial\] to [none\] at (0.5) should be [none\]] + expected: FAIL + + [CSS Animations: property <appearance> from [initial\] to [none\] at (0.6) should be [none\]] + expected: FAIL + + [CSS Animations: property <appearance> from [initial\] to [none\] at (1) should be [none\]] + expected: FAIL + + [CSS Animations: property <appearance> from [initial\] to [none\] at (1.5) should be [none\]] + expected: FAIL + + [Web Animations: property <appearance> from [initial\] to [none\] at (-0.3) should be [initial\]] + expected: FAIL + + [Web Animations: property <appearance> from [initial\] to [none\] at (0) should be [initial\]] + expected: FAIL + + [Web Animations: property <appearance> from [initial\] to [none\] at (0.3) should be [initial\]] + expected: FAIL + + [Web Animations: property <appearance> from [initial\] to [none\] at (0.5) should be [none\]] + expected: FAIL + + [Web Animations: property <appearance> from [initial\] to [none\] at (0.6) should be [none\]] + expected: FAIL + + [Web Animations: property <appearance> from [initial\] to [none\] at (1) should be [none\]] + expected: FAIL + + [Web Animations: property <appearance> from [initial\] to [none\] at (1.5) should be [none\]] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-ui/animation/cursor-no-interpolation.html.ini b/tests/wpt/metadata-layout-2020/css/css-ui/animation/cursor-no-interpolation.html.ini new file mode 100644 index 00000000000..71f00de23c7 --- /dev/null +++ b/tests/wpt/metadata-layout-2020/css/css-ui/animation/cursor-no-interpolation.html.ini @@ -0,0 +1,30 @@ +[cursor-no-interpolation.html] + [CSS Transitions with transition: all: property <cursor> from [initial\] to [none\] at (-0.3) should be [none\]] + expected: FAIL + + [CSS Transitions with transition: all: property <cursor> from [initial\] to [none\] at (0) should be [none\]] + expected: FAIL + + [CSS Transitions with transition: all: property <cursor> from [initial\] to [none\] at (0.3) should be [none\]] + expected: FAIL + + [Web Animations: property <cursor> from [initial\] to [none\] at (-0.3) should be [initial\]] + expected: FAIL + + [Web Animations: property <cursor> from [initial\] to [none\] at (0) should be [initial\]] + expected: FAIL + + [Web Animations: property <cursor> from [initial\] to [none\] at (0.3) should be [initial\]] + expected: FAIL + + [Web Animations: property <cursor> from [initial\] to [none\] at (0.5) should be [none\]] + expected: FAIL + + [Web Animations: property <cursor> from [initial\] to [none\] at (0.6) should be [none\]] + expected: FAIL + + [Web Animations: property <cursor> from [initial\] to [none\] at (1) should be [none\]] + expected: FAIL + + [Web Animations: property <cursor> from [initial\] to [none\] at (1.5) should be [none\]] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-ui/animation/outline-color-interpolation.html.ini b/tests/wpt/metadata-layout-2020/css/css-ui/animation/outline-color-interpolation.html.ini index 93240c4bb94..6da587fead4 100644 --- a/tests/wpt/metadata-layout-2020/css/css-ui/animation/outline-color-interpolation.html.ini +++ b/tests/wpt/metadata-layout-2020/css/css-ui/animation/outline-color-interpolation.html.ini @@ -358,4 +358,3 @@ [CSS Transitions: property <outline-color> from [white\] to [orange\] at (0.6) should be [rgb(255, 201, 102)\]] expected: FAIL - diff --git a/tests/wpt/metadata-layout-2020/css/css-ui/animation/outline-offset-interpolation.html.ini b/tests/wpt/metadata-layout-2020/css/css-ui/animation/outline-offset-interpolation.html.ini index 56c6460fdc6..58ecba843a1 100644 --- a/tests/wpt/metadata-layout-2020/css/css-ui/animation/outline-offset-interpolation.html.ini +++ b/tests/wpt/metadata-layout-2020/css/css-ui/animation/outline-offset-interpolation.html.ini @@ -358,4 +358,3 @@ [Web Animations: property <outline-offset> from [unset\] to [20px\] at (0) should be [0px\]] expected: FAIL - diff --git a/tests/wpt/metadata-layout-2020/css/css-ui/animation/outline-width-interpolation.html.ini b/tests/wpt/metadata-layout-2020/css/css-ui/animation/outline-width-interpolation.html.ini index e962d5fe693..219dcdfb151 100644 --- a/tests/wpt/metadata-layout-2020/css/css-ui/animation/outline-width-interpolation.html.ini +++ b/tests/wpt/metadata-layout-2020/css/css-ui/animation/outline-width-interpolation.html.ini @@ -586,4 +586,3 @@ [CSS Transitions with transition: all: property <outline-width> from [unset\] to [23px\] at (0) should be [3px\]] expected: FAIL - diff --git a/tests/wpt/metadata-layout-2020/css/css-ui/appearance-cssom-001.html.ini b/tests/wpt/metadata-layout-2020/css/css-ui/appearance-cssom-001.html.ini index feca770c995..dededd34688 100644 --- a/tests/wpt/metadata-layout-2020/css/css-ui/appearance-cssom-001.html.ini +++ b/tests/wpt/metadata-layout-2020/css/css-ui/appearance-cssom-001.html.ini @@ -1152,3 +1152,887 @@ [appearance: square-button (compat)] expected: FAIL + + +[appearance-cssom-001.html?include=Invalid] + [-webkit-appearance: bogus-button (invalid)] + expected: FAIL + + [-webkit-appearance: attachment (invalid)] + expected: FAIL + + [-webkit-appearance: button-bevel (invalid)] + expected: FAIL + + [-webkit-appearance: borderless-attachment (invalid)] + expected: FAIL + + [-webkit-appearance: button-arrow-down (invalid)] + expected: FAIL + + [-webkit-appearance: button-arrow-next (invalid)] + expected: FAIL + + [-webkit-appearance: button-arrow-previous (invalid)] + expected: FAIL + + [-webkit-appearance: button-arrow-up (invalid)] + expected: FAIL + + [-webkit-appearance: button-focus (invalid)] + expected: FAIL + + [-webkit-appearance: caps-lock-indicator (invalid)] + expected: FAIL + + [-webkit-appearance: caret (invalid)] + expected: FAIL + + [-webkit-appearance: checkbox-container (invalid)] + expected: FAIL + + [-webkit-appearance: checkbox-label (invalid)] + expected: FAIL + + [-webkit-appearance: checkmenuitem (invalid)] + expected: FAIL + + [-webkit-appearance: color-well (invalid)] + expected: FAIL + + [-webkit-appearance: continuous-capacity-level-indicator (invalid)] + expected: FAIL + + [-webkit-appearance: default-button (invalid)] + expected: FAIL + + [-webkit-appearance: discrete-capacity-level-indicator (invalid)] + expected: FAIL + + [-webkit-appearance: dualbutton (invalid)] + expected: FAIL + + [-webkit-appearance: groupbox (invalid)] + expected: FAIL + + [-webkit-appearance: image-controls-button (invalid)] + expected: FAIL + + [-webkit-appearance: inner-spin-button (invalid)] + expected: FAIL + + [-webkit-appearance: list-button (invalid)] + expected: FAIL + + [-webkit-appearance: listitem (invalid)] + expected: FAIL + + [-webkit-appearance: media-controls-background (invalid)] + expected: FAIL + + [-webkit-appearance: media-controls-dark-bar-background (invalid)] + expected: FAIL + + [-webkit-appearance: media-controls-fullscreen-background (invalid)] + expected: FAIL + + [-webkit-appearance: media-controls-light-bar-background (invalid)] + expected: FAIL + + [-webkit-appearance: media-current-time-display (invalid)] + expected: FAIL + + [-webkit-appearance: media-enter-fullscreen-button (invalid)] + expected: FAIL + + [-webkit-appearance: media-exit-fullscreen-button (invalid)] + expected: FAIL + + [-webkit-appearance: media-fullscreen-volume-slider (invalid)] + expected: FAIL + + [-webkit-appearance: media-fullscreen-volume-slider-thumb (invalid)] + expected: FAIL + + [-webkit-appearance: media-mute-button (invalid)] + expected: FAIL + + [-webkit-appearance: media-overlay-play-button (invalid)] + expected: FAIL + + [-webkit-appearance: media-play-button (invalid)] + expected: FAIL + + [-webkit-appearance: media-return-to-realtime-button (invalid)] + expected: FAIL + + [-webkit-appearance: media-rewind-button (invalid)] + expected: FAIL + + [-webkit-appearance: media-seek-back-button (invalid)] + expected: FAIL + + [-webkit-appearance: media-seek-forward-button (invalid)] + expected: FAIL + + [-webkit-appearance: media-slider (invalid)] + expected: FAIL + + [-webkit-appearance: media-sliderthumb (invalid)] + expected: FAIL + + [-webkit-appearance: media-time-remaining-display (invalid)] + expected: FAIL + + [-webkit-appearance: media-toggle-closed-captions-button (invalid)] + expected: FAIL + + [-webkit-appearance: media-volume-slider (invalid)] + expected: FAIL + + [-webkit-appearance: media-volume-slider-container (invalid)] + expected: FAIL + + [-webkit-appearance: media-volume-slider-mute-button (invalid)] + expected: FAIL + + [-webkit-appearance: media-volume-sliderthumb (invalid)] + expected: FAIL + + [-webkit-appearance: menuarrow (invalid)] + expected: FAIL + + [-webkit-appearance: menubar (invalid)] + expected: FAIL + + [-webkit-appearance: menucheckbox (invalid)] + expected: FAIL + + [-webkit-appearance: menuimage (invalid)] + expected: FAIL + + [-webkit-appearance: menuitem (invalid)] + expected: FAIL + + [-webkit-appearance: menuitemtext (invalid)] + expected: FAIL + + [-webkit-appearance: menulist-text (invalid)] + expected: FAIL + + [-webkit-appearance: menulist-textfield (invalid)] + expected: FAIL + + [-webkit-appearance: menupopup (invalid)] + expected: FAIL + + [-webkit-appearance: menuradio (invalid)] + expected: FAIL + + [-webkit-appearance: menuseparator (invalid)] + expected: FAIL + + [-webkit-appearance: meterbar (invalid)] + expected: FAIL + + [-webkit-appearance: meterchunk (invalid)] + expected: FAIL + + [-webkit-appearance: number-input (invalid)] + expected: FAIL + + [-webkit-appearance: progress-bar-value (invalid)] + expected: FAIL + + [-webkit-appearance: progressbar (invalid)] + expected: FAIL + + [-webkit-appearance: progressbar-vertical (invalid)] + expected: FAIL + + [-webkit-appearance: progresschunk (invalid)] + expected: FAIL + + [-webkit-appearance: progresschunk-vertical (invalid)] + expected: FAIL + + [-webkit-appearance: radio-container (invalid)] + expected: FAIL + + [-webkit-appearance: radio-label (invalid)] + expected: FAIL + + [-webkit-appearance: radiomenuitem (invalid)] + expected: FAIL + + [-webkit-appearance: range (invalid)] + expected: FAIL + + [-webkit-appearance: range-thumb (invalid)] + expected: FAIL + + [-webkit-appearance: rating-level-indicator (invalid)] + expected: FAIL + + [-webkit-appearance: relevancy-level-indicator (invalid)] + expected: FAIL + + [-webkit-appearance: resizer (invalid)] + expected: FAIL + + [-webkit-appearance: resizerpanel (invalid)] + expected: FAIL + + [-webkit-appearance: scale-horizontal (invalid)] + expected: FAIL + + [-webkit-appearance: scale-vertical (invalid)] + expected: FAIL + + [-webkit-appearance: scalethumb-horizontal (invalid)] + expected: FAIL + + [-webkit-appearance: scalethumb-vertical (invalid)] + expected: FAIL + + [-webkit-appearance: scalethumbend (invalid)] + expected: FAIL + + [-webkit-appearance: scalethumbstart (invalid)] + expected: FAIL + + [-webkit-appearance: scalethumbtick (invalid)] + expected: FAIL + + [-webkit-appearance: scrollbarbutton-down (invalid)] + expected: FAIL + + [-webkit-appearance: scrollbarbutton-left (invalid)] + expected: FAIL + + [-webkit-appearance: scrollbarbutton-right (invalid)] + expected: FAIL + + [-webkit-appearance: scrollbarbutton-up (invalid)] + expected: FAIL + + [-webkit-appearance: scrollbarthumb-horizontal (invalid)] + expected: FAIL + + [-webkit-appearance: scrollbarthumb-vertical (invalid)] + expected: FAIL + + [-webkit-appearance: scrollbartrack-horizontal (invalid)] + expected: FAIL + + [-webkit-appearance: scrollbartrack-vertical (invalid)] + expected: FAIL + + [-webkit-appearance: searchfield-cancel-button (invalid)] + expected: FAIL + + [-webkit-appearance: searchfield-decoration (invalid)] + expected: FAIL + + [-webkit-appearance: searchfield-results-button (invalid)] + expected: FAIL + + [-webkit-appearance: searchfield-results-decoration (invalid)] + expected: FAIL + + [-webkit-appearance: separator (invalid)] + expected: FAIL + + [-webkit-appearance: sheet (invalid)] + expected: FAIL + + [-webkit-appearance: slider-vertical (invalid)] + expected: FAIL + + [-webkit-appearance: sliderthumb-horizontal (invalid)] + expected: FAIL + + [-webkit-appearance: sliderthumb-vertical (invalid)] + expected: FAIL + + [-webkit-appearance: snapshotted-plugin-overlay (invalid)] + expected: FAIL + + [-webkit-appearance: spinner (invalid)] + expected: FAIL + + [-webkit-appearance: spinner-downbutton (invalid)] + expected: FAIL + + [-webkit-appearance: spinner-textfield (invalid)] + expected: FAIL + + [-webkit-appearance: spinner-upbutton (invalid)] + expected: FAIL + + [-webkit-appearance: splitter (invalid)] + expected: FAIL + + [-webkit-appearance: statusbar (invalid)] + expected: FAIL + + [-webkit-appearance: statusbarpanel (invalid)] + expected: FAIL + + [-webkit-appearance: tab (invalid)] + expected: FAIL + + [-webkit-appearance: tab-scroll-arrow-back (invalid)] + expected: FAIL + + [-webkit-appearance: tab-scroll-arrow-forward (invalid)] + expected: FAIL + + [-webkit-appearance: tabpanel (invalid)] + expected: FAIL + + [-webkit-appearance: tabpanels (invalid)] + expected: FAIL + + [-webkit-appearance: textfield-multiline (invalid)] + expected: FAIL + + [-webkit-appearance: toolbar (invalid)] + expected: FAIL + + [-webkit-appearance: toolbarbutton (invalid)] + expected: FAIL + + [-webkit-appearance: toolbarbutton-dropdown (invalid)] + expected: FAIL + + [-webkit-appearance: toolbargripper (invalid)] + expected: FAIL + + [-webkit-appearance: toolbox (invalid)] + expected: FAIL + + [-webkit-appearance: tooltip (invalid)] + expected: FAIL + + [-webkit-appearance: treeheader (invalid)] + expected: FAIL + + [-webkit-appearance: treeheadercell (invalid)] + expected: FAIL + + [-webkit-appearance: treeheadersortarrow (invalid)] + expected: FAIL + + [-webkit-appearance: treeitem (invalid)] + expected: FAIL + + [-webkit-appearance: treeline (invalid)] + expected: FAIL + + [-webkit-appearance: treetwisty (invalid)] + expected: FAIL + + [-webkit-appearance: treetwistyopen (invalid)] + expected: FAIL + + [-webkit-appearance: treeview (invalid)] + expected: FAIL + + [-webkit-appearance: -apple-pay-button (invalid)] + expected: FAIL + + [-webkit-appearance: -moz-win-borderless-glass (invalid)] + expected: FAIL + + [-webkit-appearance: -moz-win-browsertabbar-toolbox (invalid)] + expected: FAIL + + [-webkit-appearance: -moz-win-communications-toolbox (invalid)] + expected: FAIL + + [-webkit-appearance: -moz-win-communicationstext (invalid)] + expected: FAIL + + [-webkit-appearance: -moz-win-exclude-glass (invalid)] + expected: FAIL + + [-webkit-appearance: -moz-win-glass (invalid)] + expected: FAIL + + [-webkit-appearance: -moz-win-media-toolbox (invalid)] + expected: FAIL + + [-webkit-appearance: -moz-window-button-box (invalid)] + expected: FAIL + + [-webkit-appearance: -moz-window-button-box-maximized (invalid)] + expected: FAIL + + [-webkit-appearance: -moz-window-button-close (invalid)] + expected: FAIL + + [-webkit-appearance: -moz-window-button-maximize (invalid)] + expected: FAIL + + [-webkit-appearance: -moz-window-button-minimize (invalid)] + expected: FAIL + + [-webkit-appearance: -moz-window-button-restore (invalid)] + expected: FAIL + + [-webkit-appearance: -moz-window-frame-bottom (invalid)] + expected: FAIL + + [-webkit-appearance: -moz-window-frame-left (invalid)] + expected: FAIL + + [-webkit-appearance: -moz-window-frame-right (invalid)] + expected: FAIL + + [-webkit-appearance: -moz-window-titlebar (invalid)] + expected: FAIL + + [-webkit-appearance: -moz-window-titlebar-maximized (invalid)] + expected: FAIL + + [appearance: bogus-button (invalid)] + expected: FAIL + + [appearance: attachment (invalid)] + expected: FAIL + + [appearance: button-bevel (invalid)] + expected: FAIL + + [appearance: borderless-attachment (invalid)] + expected: FAIL + + [appearance: button-arrow-down (invalid)] + expected: FAIL + + [appearance: button-arrow-next (invalid)] + expected: FAIL + + [appearance: button-arrow-previous (invalid)] + expected: FAIL + + [appearance: button-arrow-up (invalid)] + expected: FAIL + + [appearance: button-focus (invalid)] + expected: FAIL + + [appearance: caps-lock-indicator (invalid)] + expected: FAIL + + [appearance: caret (invalid)] + expected: FAIL + + [appearance: checkbox-container (invalid)] + expected: FAIL + + [appearance: checkbox-label (invalid)] + expected: FAIL + + [appearance: checkmenuitem (invalid)] + expected: FAIL + + [appearance: color-well (invalid)] + expected: FAIL + + [appearance: continuous-capacity-level-indicator (invalid)] + expected: FAIL + + [appearance: default-button (invalid)] + expected: FAIL + + [appearance: discrete-capacity-level-indicator (invalid)] + expected: FAIL + + [appearance: dualbutton (invalid)] + expected: FAIL + + [appearance: groupbox (invalid)] + expected: FAIL + + [appearance: image-controls-button (invalid)] + expected: FAIL + + [appearance: inner-spin-button (invalid)] + expected: FAIL + + [appearance: list-button (invalid)] + expected: FAIL + + [appearance: listitem (invalid)] + expected: FAIL + + [appearance: media-controls-background (invalid)] + expected: FAIL + + [appearance: media-controls-dark-bar-background (invalid)] + expected: FAIL + + [appearance: media-controls-fullscreen-background (invalid)] + expected: FAIL + + [appearance: media-controls-light-bar-background (invalid)] + expected: FAIL + + [appearance: media-current-time-display (invalid)] + expected: FAIL + + [appearance: media-enter-fullscreen-button (invalid)] + expected: FAIL + + [appearance: media-exit-fullscreen-button (invalid)] + expected: FAIL + + [appearance: media-fullscreen-volume-slider (invalid)] + expected: FAIL + + [appearance: media-fullscreen-volume-slider-thumb (invalid)] + expected: FAIL + + [appearance: media-mute-button (invalid)] + expected: FAIL + + [appearance: media-overlay-play-button (invalid)] + expected: FAIL + + [appearance: media-play-button (invalid)] + expected: FAIL + + [appearance: media-return-to-realtime-button (invalid)] + expected: FAIL + + [appearance: media-rewind-button (invalid)] + expected: FAIL + + [appearance: media-seek-back-button (invalid)] + expected: FAIL + + [appearance: media-seek-forward-button (invalid)] + expected: FAIL + + [appearance: media-slider (invalid)] + expected: FAIL + + [appearance: media-sliderthumb (invalid)] + expected: FAIL + + [appearance: media-time-remaining-display (invalid)] + expected: FAIL + + [appearance: media-toggle-closed-captions-button (invalid)] + expected: FAIL + + [appearance: media-volume-slider (invalid)] + expected: FAIL + + [appearance: media-volume-slider-container (invalid)] + expected: FAIL + + [appearance: media-volume-slider-mute-button (invalid)] + expected: FAIL + + [appearance: media-volume-sliderthumb (invalid)] + expected: FAIL + + [appearance: menuarrow (invalid)] + expected: FAIL + + [appearance: menubar (invalid)] + expected: FAIL + + [appearance: menucheckbox (invalid)] + expected: FAIL + + [appearance: menuimage (invalid)] + expected: FAIL + + [appearance: menuitem (invalid)] + expected: FAIL + + [appearance: menuitemtext (invalid)] + expected: FAIL + + [appearance: menulist-text (invalid)] + expected: FAIL + + [appearance: menulist-textfield (invalid)] + expected: FAIL + + [appearance: menupopup (invalid)] + expected: FAIL + + [appearance: menuradio (invalid)] + expected: FAIL + + [appearance: menuseparator (invalid)] + expected: FAIL + + [appearance: meterbar (invalid)] + expected: FAIL + + [appearance: meterchunk (invalid)] + expected: FAIL + + [appearance: number-input (invalid)] + expected: FAIL + + [appearance: progress-bar-value (invalid)] + expected: FAIL + + [appearance: progressbar (invalid)] + expected: FAIL + + [appearance: progressbar-vertical (invalid)] + expected: FAIL + + [appearance: progresschunk (invalid)] + expected: FAIL + + [appearance: progresschunk-vertical (invalid)] + expected: FAIL + + [appearance: radio-container (invalid)] + expected: FAIL + + [appearance: radio-label (invalid)] + expected: FAIL + + [appearance: radiomenuitem (invalid)] + expected: FAIL + + [appearance: range (invalid)] + expected: FAIL + + [appearance: range-thumb (invalid)] + expected: FAIL + + [appearance: rating-level-indicator (invalid)] + expected: FAIL + + [appearance: relevancy-level-indicator (invalid)] + expected: FAIL + + [appearance: resizer (invalid)] + expected: FAIL + + [appearance: resizerpanel (invalid)] + expected: FAIL + + [appearance: scale-horizontal (invalid)] + expected: FAIL + + [appearance: scale-vertical (invalid)] + expected: FAIL + + [appearance: scalethumb-horizontal (invalid)] + expected: FAIL + + [appearance: scalethumb-vertical (invalid)] + expected: FAIL + + [appearance: scalethumbend (invalid)] + expected: FAIL + + [appearance: scalethumbstart (invalid)] + expected: FAIL + + [appearance: scalethumbtick (invalid)] + expected: FAIL + + [appearance: scrollbarbutton-down (invalid)] + expected: FAIL + + [appearance: scrollbarbutton-left (invalid)] + expected: FAIL + + [appearance: scrollbarbutton-right (invalid)] + expected: FAIL + + [appearance: scrollbarbutton-up (invalid)] + expected: FAIL + + [appearance: scrollbarthumb-horizontal (invalid)] + expected: FAIL + + [appearance: scrollbarthumb-vertical (invalid)] + expected: FAIL + + [appearance: scrollbartrack-horizontal (invalid)] + expected: FAIL + + [appearance: scrollbartrack-vertical (invalid)] + expected: FAIL + + [appearance: searchfield-cancel-button (invalid)] + expected: FAIL + + [appearance: searchfield-decoration (invalid)] + expected: FAIL + + [appearance: searchfield-results-button (invalid)] + expected: FAIL + + [appearance: searchfield-results-decoration (invalid)] + expected: FAIL + + [appearance: separator (invalid)] + expected: FAIL + + [appearance: sheet (invalid)] + expected: FAIL + + [appearance: slider-vertical (invalid)] + expected: FAIL + + [appearance: sliderthumb-horizontal (invalid)] + expected: FAIL + + [appearance: sliderthumb-vertical (invalid)] + expected: FAIL + + [appearance: snapshotted-plugin-overlay (invalid)] + expected: FAIL + + [appearance: spinner (invalid)] + expected: FAIL + + [appearance: spinner-downbutton (invalid)] + expected: FAIL + + [appearance: spinner-textfield (invalid)] + expected: FAIL + + [appearance: spinner-upbutton (invalid)] + expected: FAIL + + [appearance: splitter (invalid)] + expected: FAIL + + [appearance: statusbar (invalid)] + expected: FAIL + + [appearance: statusbarpanel (invalid)] + expected: FAIL + + [appearance: tab (invalid)] + expected: FAIL + + [appearance: tab-scroll-arrow-back (invalid)] + expected: FAIL + + [appearance: tab-scroll-arrow-forward (invalid)] + expected: FAIL + + [appearance: tabpanel (invalid)] + expected: FAIL + + [appearance: tabpanels (invalid)] + expected: FAIL + + [appearance: textfield-multiline (invalid)] + expected: FAIL + + [appearance: toolbar (invalid)] + expected: FAIL + + [appearance: toolbarbutton (invalid)] + expected: FAIL + + [appearance: toolbarbutton-dropdown (invalid)] + expected: FAIL + + [appearance: toolbargripper (invalid)] + expected: FAIL + + [appearance: toolbox (invalid)] + expected: FAIL + + [appearance: tooltip (invalid)] + expected: FAIL + + [appearance: treeheader (invalid)] + expected: FAIL + + [appearance: treeheadercell (invalid)] + expected: FAIL + + [appearance: treeheadersortarrow (invalid)] + expected: FAIL + + [appearance: treeitem (invalid)] + expected: FAIL + + [appearance: treeline (invalid)] + expected: FAIL + + [appearance: treetwisty (invalid)] + expected: FAIL + + [appearance: treetwistyopen (invalid)] + expected: FAIL + + [appearance: treeview (invalid)] + expected: FAIL + + [appearance: -apple-pay-button (invalid)] + expected: FAIL + + [appearance: -moz-win-borderless-glass (invalid)] + expected: FAIL + + [appearance: -moz-win-browsertabbar-toolbox (invalid)] + expected: FAIL + + [appearance: -moz-win-communications-toolbox (invalid)] + expected: FAIL + + [appearance: -moz-win-communicationstext (invalid)] + expected: FAIL + + [appearance: -moz-win-exclude-glass (invalid)] + expected: FAIL + + [appearance: -moz-win-glass (invalid)] + expected: FAIL + + [appearance: -moz-win-media-toolbox (invalid)] + expected: FAIL + + [appearance: -moz-window-button-box (invalid)] + expected: FAIL + + [appearance: -moz-window-button-box-maximized (invalid)] + expected: FAIL + + [appearance: -moz-window-button-close (invalid)] + expected: FAIL + + [appearance: -moz-window-button-maximize (invalid)] + expected: FAIL + + [appearance: -moz-window-button-minimize (invalid)] + expected: FAIL + + [appearance: -moz-window-button-restore (invalid)] + expected: FAIL + + [appearance: -moz-window-frame-bottom (invalid)] + expected: FAIL + + [appearance: -moz-window-frame-left (invalid)] + expected: FAIL + + [appearance: -moz-window-frame-right (invalid)] + expected: FAIL + + [appearance: -moz-window-titlebar (invalid)] + expected: FAIL + + [appearance: -moz-window-titlebar-maximized (invalid)] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-ui/inheritance.html.ini b/tests/wpt/metadata-layout-2020/css/css-ui/inheritance.html.ini index 44592a7fc50..84bbe94da5c 100644 --- a/tests/wpt/metadata-layout-2020/css/css-ui/inheritance.html.ini +++ b/tests/wpt/metadata-layout-2020/css/css-ui/inheritance.html.ini @@ -1,2 +1,78 @@ [inheritance.html] - expected: ERROR + [Property appearance has initial value none] + expected: FAIL + + [Property appearance does not inherit] + expected: FAIL + + [Property caret-color has initial value rgb(0, 255, 0)] + expected: FAIL + + [Property caret-color inherits] + expected: FAIL + + [Property caret-shape has initial value auto] + expected: FAIL + + [Property caret-shape inherits] + expected: FAIL + + [Property nav-down has initial value auto] + expected: FAIL + + [Property nav-down does not inherit] + expected: FAIL + + [Property nav-left has initial value auto] + expected: FAIL + + [Property nav-left does not inherit] + expected: FAIL + + [Property nav-right has initial value auto] + expected: FAIL + + [Property nav-right does not inherit] + expected: FAIL + + [Property nav-up has initial value auto] + expected: FAIL + + [Property nav-up does not inherit] + expected: FAIL + + [Property outline-color has initial value rgb(0, 255, 0)] + expected: FAIL + + [Property outline-color does not inherit] + expected: FAIL + + [Property outline-offset has initial value 0px] + expected: FAIL + + [Property outline-offset does not inherit] + expected: FAIL + + [Property outline-style has initial value none] + expected: FAIL + + [Property outline-style does not inherit] + expected: FAIL + + [Property outline-width has initial value 3px] + expected: FAIL + + [Property outline-width does not inherit] + expected: FAIL + + [Property resize has initial value none] + expected: FAIL + + [Property resize does not inherit] + expected: FAIL + + [Property user-select has initial value auto] + expected: FAIL + + [Property user-select does not inherit] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-ui/input-security-none-sensitive-text-input.html.ini b/tests/wpt/metadata-layout-2020/css/css-ui/input-security-none-sensitive-text-input.html.ini deleted file mode 100644 index c0189334cc9..00000000000 --- a/tests/wpt/metadata-layout-2020/css/css-ui/input-security-none-sensitive-text-input.html.ini +++ /dev/null @@ -1,2 +0,0 @@ -[input-security-none-sensitive-text-input.html] - expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-ui/outline-006.html.ini b/tests/wpt/metadata-layout-2020/css/css-ui/outline-006.html.ini new file mode 100644 index 00000000000..8966d814474 --- /dev/null +++ b/tests/wpt/metadata-layout-2020/css/css-ui/outline-006.html.ini @@ -0,0 +1,2 @@ +[outline-006.html] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-ui/outline-017.html.ini b/tests/wpt/metadata-layout-2020/css/css-ui/outline-017.html.ini index 372feefd4f3..fdccfa5bc79 100644 --- a/tests/wpt/metadata-layout-2020/css/css-ui/outline-017.html.ini +++ b/tests/wpt/metadata-layout-2020/css/css-ui/outline-017.html.ini @@ -7,4 +7,3 @@ [outline-width is animated as a length] expected: FAIL - diff --git a/tests/wpt/metadata-layout-2020/css/css-ui/outline-018.html.ini b/tests/wpt/metadata-layout-2020/css/css-ui/outline-018.html.ini index a2fea6c00e1..9395b98afb2 100644 --- a/tests/wpt/metadata-layout-2020/css/css-ui/outline-018.html.ini +++ b/tests/wpt/metadata-layout-2020/css/css-ui/outline-018.html.ini @@ -1,4 +1,3 @@ [outline-018.html] [outline-style is animated as a discrete type] expected: FAIL - diff --git a/tests/wpt/metadata-layout-2020/css/css-ui/parsing/outline-color-computed.html.ini b/tests/wpt/metadata-layout-2020/css/css-ui/parsing/outline-color-computed.html.ini index bbb4a8282c2..41f821aac7a 100644 --- a/tests/wpt/metadata-layout-2020/css/css-ui/parsing/outline-color-computed.html.ini +++ b/tests/wpt/metadata-layout-2020/css/css-ui/parsing/outline-color-computed.html.ini @@ -7,4 +7,3 @@ [Property outline-color value 'red'] expected: FAIL - diff --git a/tests/wpt/metadata-layout-2020/css/css-ui/parsing/outline-color-valid-mandatory.html.ini b/tests/wpt/metadata-layout-2020/css/css-ui/parsing/outline-color-valid-mandatory.html.ini index f0b3894b686..aa74fb79ae0 100644 --- a/tests/wpt/metadata-layout-2020/css/css-ui/parsing/outline-color-valid-mandatory.html.ini +++ b/tests/wpt/metadata-layout-2020/css/css-ui/parsing/outline-color-valid-mandatory.html.ini @@ -1,4 +1,3 @@ [outline-color-valid-mandatory.html] [e.style['outline-color'\] = "rgba(10, 20, 30, 0.4)" should set the property value] expected: FAIL - diff --git a/tests/wpt/metadata-layout-2020/css/css-ui/parsing/outline-offset-computed.html.ini b/tests/wpt/metadata-layout-2020/css/css-ui/parsing/outline-offset-computed.html.ini index d4b87e29f2c..ec4c9aa418f 100644 --- a/tests/wpt/metadata-layout-2020/css/css-ui/parsing/outline-offset-computed.html.ini +++ b/tests/wpt/metadata-layout-2020/css/css-ui/parsing/outline-offset-computed.html.ini @@ -13,4 +13,3 @@ [Property outline-offset value '10px'] expected: FAIL - diff --git a/tests/wpt/metadata-layout-2020/css/css-ui/parsing/outline-offset-valid.html.ini b/tests/wpt/metadata-layout-2020/css/css-ui/parsing/outline-offset-valid.html.ini index b9933b060e1..5c7f6209875 100644 --- a/tests/wpt/metadata-layout-2020/css/css-ui/parsing/outline-offset-valid.html.ini +++ b/tests/wpt/metadata-layout-2020/css/css-ui/parsing/outline-offset-valid.html.ini @@ -10,4 +10,3 @@ [e.style['outline-offset'\] = "2em" should set the property value] expected: FAIL - diff --git a/tests/wpt/metadata-layout-2020/css/css-ui/parsing/outline-shorthand.html.ini b/tests/wpt/metadata-layout-2020/css/css-ui/parsing/outline-shorthand.html.ini index b6d84e259b3..190b89983a9 100644 --- a/tests/wpt/metadata-layout-2020/css/css-ui/parsing/outline-shorthand.html.ini +++ b/tests/wpt/metadata-layout-2020/css/css-ui/parsing/outline-shorthand.html.ini @@ -10,4 +10,3 @@ [e.style['outline'\] = "3px ridge blue" should set outline-style] expected: FAIL - diff --git a/tests/wpt/metadata-layout-2020/css/css-ui/parsing/outline-style-computed.html.ini b/tests/wpt/metadata-layout-2020/css/css-ui/parsing/outline-style-computed.html.ini index f1e0bf765ae..3c2b45143fc 100644 --- a/tests/wpt/metadata-layout-2020/css/css-ui/parsing/outline-style-computed.html.ini +++ b/tests/wpt/metadata-layout-2020/css/css-ui/parsing/outline-style-computed.html.ini @@ -28,4 +28,3 @@ [Property outline-style value 'ridge'] expected: FAIL - diff --git a/tests/wpt/metadata-layout-2020/css/css-ui/parsing/outline-style-valid.html.ini b/tests/wpt/metadata-layout-2020/css/css-ui/parsing/outline-style-valid.html.ini index 1bf1a440e72..b58095ef50c 100644 --- a/tests/wpt/metadata-layout-2020/css/css-ui/parsing/outline-style-valid.html.ini +++ b/tests/wpt/metadata-layout-2020/css/css-ui/parsing/outline-style-valid.html.ini @@ -28,4 +28,3 @@ [e.style['outline-style'\] = "ridge" should set the property value] expected: FAIL - diff --git a/tests/wpt/metadata-layout-2020/css/css-ui/parsing/outline-valid-mandatory.html.ini b/tests/wpt/metadata-layout-2020/css/css-ui/parsing/outline-valid-mandatory.html.ini index 1a42df11fb0..a90056d6d7f 100644 --- a/tests/wpt/metadata-layout-2020/css/css-ui/parsing/outline-valid-mandatory.html.ini +++ b/tests/wpt/metadata-layout-2020/css/css-ui/parsing/outline-valid-mandatory.html.ini @@ -58,4 +58,3 @@ [e.style['outline'\] = "thin" should set the property value] expected: FAIL - diff --git a/tests/wpt/metadata-layout-2020/css/css-ui/parsing/outline-width-computed.html.ini b/tests/wpt/metadata-layout-2020/css/css-ui/parsing/outline-width-computed.html.ini index 83c3b7afbe3..65025cdb595 100644 --- a/tests/wpt/metadata-layout-2020/css/css-ui/parsing/outline-width-computed.html.ini +++ b/tests/wpt/metadata-layout-2020/css/css-ui/parsing/outline-width-computed.html.ini @@ -1,4 +1,27 @@ [outline-width-computed.html] - expected: ERROR [Property outline-width value '2.5px'] expected: FAIL + + [Property outline-width value '10px'] + expected: FAIL + + [Property outline-width value '0.5em'] + expected: FAIL + + [Property outline-width value 'calc(10px + 0.5em)'] + expected: FAIL + + [Property outline-width value 'calc(10px - 0.5em)'] + expected: FAIL + + [Property outline-width value 'thin'] + expected: FAIL + + [Property outline-width value 'medium'] + expected: FAIL + + [Property outline-width value 'thick'] + expected: FAIL + + [outline-width is 0 when outline-style is none] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-ui/parsing/outline-width-valid.html.ini b/tests/wpt/metadata-layout-2020/css/css-ui/parsing/outline-width-valid.html.ini index f547c763eaf..fbead2164f1 100644 --- a/tests/wpt/metadata-layout-2020/css/css-ui/parsing/outline-width-valid.html.ini +++ b/tests/wpt/metadata-layout-2020/css/css-ui/parsing/outline-width-valid.html.ini @@ -19,4 +19,3 @@ [e.style['outline-width'\] = "1px" should set the property value] expected: FAIL - diff --git a/tests/wpt/metadata-layout-2020/css/css-ui/parsing/text-overflow-computed.html.ini b/tests/wpt/metadata-layout-2020/css/css-ui/parsing/text-overflow-computed.html.ini index a7f0f6ee38b..32b4131e4bb 100644 --- a/tests/wpt/metadata-layout-2020/css/css-ui/parsing/text-overflow-computed.html.ini +++ b/tests/wpt/metadata-layout-2020/css/css-ui/parsing/text-overflow-computed.html.ini @@ -4,4 +4,3 @@ [Property text-overflow value 'clip'] expected: FAIL - diff --git a/tests/wpt/metadata-layout-2020/css/css-ui/parsing/text-overflow-valid.html.ini b/tests/wpt/metadata-layout-2020/css/css-ui/parsing/text-overflow-valid.html.ini index 4894f67872d..f37fb1ec766 100644 --- a/tests/wpt/metadata-layout-2020/css/css-ui/parsing/text-overflow-valid.html.ini +++ b/tests/wpt/metadata-layout-2020/css/css-ui/parsing/text-overflow-valid.html.ini @@ -4,4 +4,3 @@ [e.style['text-overflow'\] = "clip" should set the property value] expected: FAIL - diff --git a/tests/wpt/metadata-layout-2020/css/css-ui/text-overflow-ellipsis-width-001.html.ini b/tests/wpt/metadata-layout-2020/css/css-ui/text-overflow-ellipsis-width-001.html.ini index 64f9cfb890d..66bc4507e15 100644 --- a/tests/wpt/metadata-layout-2020/css/css-ui/text-overflow-ellipsis-width-001.html.ini +++ b/tests/wpt/metadata-layout-2020/css/css-ui/text-overflow-ellipsis-width-001.html.ini @@ -1,4 +1,3 @@ [text-overflow-ellipsis-width-001.html] [Ellipsizing should not affect `offsetWidth` of inline boxes.] expected: FAIL - diff --git a/tests/wpt/metadata-layout-2020/css/css-values/animations/calc-interpolation.html.ini b/tests/wpt/metadata-layout-2020/css/css-values/animations/calc-interpolation.html.ini index 72376ce87e7..5a897c8f6d4 100644 --- a/tests/wpt/metadata-layout-2020/css/css-values/animations/calc-interpolation.html.ini +++ b/tests/wpt/metadata-layout-2020/css/css-values/animations/calc-interpolation.html.ini @@ -307,3 +307,192 @@ [Web Animations: property <left> from [0px\] to [calc(infinity * 1px)\] at (1.25) should be [NaNpx\]] expected: FAIL + + [CSS Transitions: property <text-indent> from [calc(50% - 25px)\] to [calc(100% - 10px)\] at (-0.25) should be [calc(((50% - 25px) * 1.25) + ((100% - 10px) * -0.25))\]] + expected: FAIL + + [CSS Transitions: property <text-indent> from [calc(50% - 25px)\] to [calc(100% - 10px)\] at (0) should be [calc(50% - 25px)\]] + expected: FAIL + + [CSS Transitions: property <text-indent> from [calc(50% - 25px)\] to [calc(100% - 10px)\] at (0.25) should be [calc(((50% - 25px) * 0.75) + ((100% - 10px) * 0.25))\]] + expected: FAIL + + [CSS Transitions: property <text-indent> from [calc(50% - 25px)\] to [calc(100% - 10px)\] at (0.5) should be [calc(((50% - 25px) * 0.5) + ((100% - 10px) * 0.5))\]] + expected: FAIL + + [CSS Transitions: property <text-indent> from [calc(50% - 25px)\] to [calc(100% - 10px)\] at (0.75) should be [calc(((50% - 25px) * 0.25) + ((100% - 10px) * 0.75))\]] + expected: FAIL + + [CSS Transitions: property <text-indent> from [calc(50% - 25px)\] to [calc(100% - 10px)\] at (1) should be [calc(100% - 10px)\]] + expected: FAIL + + [CSS Transitions: property <text-indent> from [calc(50% - 25px)\] to [calc(100% - 10px)\] at (1.25) should be [calc(((50% - 25px) * -0.25) + ((100% - 10px) * 1.25))\]] + expected: FAIL + + [CSS Transitions with transition: all: property <text-indent> from [calc(50% - 25px)\] to [calc(100% - 10px)\] at (-0.25) should be [calc(((50% - 25px) * 1.25) + ((100% - 10px) * -0.25))\]] + expected: FAIL + + [CSS Transitions with transition: all: property <text-indent> from [calc(50% - 25px)\] to [calc(100% - 10px)\] at (0) should be [calc(50% - 25px)\]] + expected: FAIL + + [CSS Transitions with transition: all: property <text-indent> from [calc(50% - 25px)\] to [calc(100% - 10px)\] at (0.25) should be [calc(((50% - 25px) * 0.75) + ((100% - 10px) * 0.25))\]] + expected: FAIL + + [CSS Transitions with transition: all: property <text-indent> from [calc(50% - 25px)\] to [calc(100% - 10px)\] at (0.5) should be [calc(((50% - 25px) * 0.5) + ((100% - 10px) * 0.5))\]] + expected: FAIL + + [CSS Transitions with transition: all: property <text-indent> from [calc(50% - 25px)\] to [calc(100% - 10px)\] at (0.75) should be [calc(((50% - 25px) * 0.25) + ((100% - 10px) * 0.75))\]] + expected: FAIL + + [CSS Transitions with transition: all: property <text-indent> from [calc(50% - 25px)\] to [calc(100% - 10px)\] at (1) should be [calc(100% - 10px)\]] + expected: FAIL + + [CSS Transitions with transition: all: property <text-indent> from [calc(50% - 25px)\] to [calc(100% - 10px)\] at (1.25) should be [calc(((50% - 25px) * -0.25) + ((100% - 10px) * 1.25))\]] + expected: FAIL + + [CSS Animations: property <text-indent> from [calc(50% - 25px)\] to [calc(100% - 10px)\] at (-0.25) should be [calc(((50% - 25px) * 1.25) + ((100% - 10px) * -0.25))\]] + expected: FAIL + + [CSS Animations: property <text-indent> from [calc(50% - 25px)\] to [calc(100% - 10px)\] at (0) should be [calc(50% - 25px)\]] + expected: FAIL + + [CSS Animations: property <text-indent> from [calc(50% - 25px)\] to [calc(100% - 10px)\] at (0.25) should be [calc(((50% - 25px) * 0.75) + ((100% - 10px) * 0.25))\]] + expected: FAIL + + [CSS Animations: property <text-indent> from [calc(50% - 25px)\] to [calc(100% - 10px)\] at (0.5) should be [calc(((50% - 25px) * 0.5) + ((100% - 10px) * 0.5))\]] + expected: FAIL + + [CSS Animations: property <text-indent> from [calc(50% - 25px)\] to [calc(100% - 10px)\] at (0.75) should be [calc(((50% - 25px) * 0.25) + ((100% - 10px) * 0.75))\]] + expected: FAIL + + [CSS Animations: property <text-indent> from [calc(50% - 25px)\] to [calc(100% - 10px)\] at (1) should be [calc(100% - 10px)\]] + expected: FAIL + + [CSS Animations: property <text-indent> from [calc(50% - 25px)\] to [calc(100% - 10px)\] at (1.25) should be [calc(((50% - 25px) * -0.25) + ((100% - 10px) * 1.25))\]] + expected: FAIL + + [CSS Transitions: property <text-indent> from [0em\] to [100px\] at (-0.25) should be [-25px\]] + expected: FAIL + + [CSS Transitions: property <text-indent> from [0em\] to [100px\] at (0) should be [0em\]] + expected: FAIL + + [CSS Transitions: property <text-indent> from [0em\] to [100px\] at (0.25) should be [25px\]] + expected: FAIL + + [CSS Transitions: property <text-indent> from [0em\] to [100px\] at (0.5) should be [50px\]] + expected: FAIL + + [CSS Transitions: property <text-indent> from [0em\] to [100px\] at (0.75) should be [75px\]] + expected: FAIL + + [CSS Transitions: property <text-indent> from [0em\] to [100px\] at (1) should be [100px\]] + expected: FAIL + + [CSS Transitions: property <text-indent> from [0em\] to [100px\] at (1.25) should be [125px\]] + expected: FAIL + + [CSS Transitions with transition: all: property <text-indent> from [0em\] to [100px\] at (-0.25) should be [-25px\]] + expected: FAIL + + [CSS Transitions with transition: all: property <text-indent> from [0em\] to [100px\] at (0) should be [0em\]] + expected: FAIL + + [CSS Transitions with transition: all: property <text-indent> from [0em\] to [100px\] at (0.25) should be [25px\]] + expected: FAIL + + [CSS Transitions with transition: all: property <text-indent> from [0em\] to [100px\] at (0.5) should be [50px\]] + expected: FAIL + + [CSS Transitions with transition: all: property <text-indent> from [0em\] to [100px\] at (0.75) should be [75px\]] + expected: FAIL + + [CSS Transitions with transition: all: property <text-indent> from [0em\] to [100px\] at (1) should be [100px\]] + expected: FAIL + + [CSS Transitions with transition: all: property <text-indent> from [0em\] to [100px\] at (1.25) should be [125px\]] + expected: FAIL + + [CSS Animations: property <text-indent> from [0em\] to [100px\] at (-0.25) should be [-25px\]] + expected: FAIL + + [CSS Animations: property <text-indent> from [0em\] to [100px\] at (0) should be [0em\]] + expected: FAIL + + [CSS Animations: property <text-indent> from [0em\] to [100px\] at (0.25) should be [25px\]] + expected: FAIL + + [CSS Animations: property <text-indent> from [0em\] to [100px\] at (0.5) should be [50px\]] + expected: FAIL + + [CSS Animations: property <text-indent> from [0em\] to [100px\] at (0.75) should be [75px\]] + expected: FAIL + + [CSS Animations: property <text-indent> from [0em\] to [100px\] at (1) should be [100px\]] + expected: FAIL + + [CSS Animations: property <text-indent> from [0em\] to [100px\] at (1.25) should be [125px\]] + expected: FAIL + + [CSS Transitions: property <text-indent> from [0%\] to [100px\] at (-0.25) should be [calc(0% + -25px)\]] + expected: FAIL + + [CSS Transitions: property <text-indent> from [0%\] to [100px\] at (0) should be [0%\]] + expected: FAIL + + [CSS Transitions: property <text-indent> from [0%\] to [100px\] at (0.25) should be [calc(0% + 25px)\]] + expected: FAIL + + [CSS Transitions: property <text-indent> from [0%\] to [100px\] at (0.5) should be [calc(0% + 50px)\]] + expected: FAIL + + [CSS Transitions: property <text-indent> from [0%\] to [100px\] at (0.75) should be [calc(0% + 75px)\]] + expected: FAIL + + [CSS Transitions: property <text-indent> from [0%\] to [100px\] at (1) should be [calc(0% + 100px)\]] + expected: FAIL + + [CSS Transitions: property <text-indent> from [0%\] to [100px\] at (1.25) should be [calc(0% + 125px)\]] + expected: FAIL + + [CSS Transitions with transition: all: property <text-indent> from [0%\] to [100px\] at (-0.25) should be [calc(0% + -25px)\]] + expected: FAIL + + [CSS Transitions with transition: all: property <text-indent> from [0%\] to [100px\] at (0) should be [0%\]] + expected: FAIL + + [CSS Transitions with transition: all: property <text-indent> from [0%\] to [100px\] at (0.25) should be [calc(0% + 25px)\]] + expected: FAIL + + [CSS Transitions with transition: all: property <text-indent> from [0%\] to [100px\] at (0.5) should be [calc(0% + 50px)\]] + expected: FAIL + + [CSS Transitions with transition: all: property <text-indent> from [0%\] to [100px\] at (0.75) should be [calc(0% + 75px)\]] + expected: FAIL + + [CSS Transitions with transition: all: property <text-indent> from [0%\] to [100px\] at (1) should be [calc(0% + 100px)\]] + expected: FAIL + + [CSS Transitions with transition: all: property <text-indent> from [0%\] to [100px\] at (1.25) should be [calc(0% + 125px)\]] + expected: FAIL + + [CSS Animations: property <text-indent> from [0%\] to [100px\] at (-0.25) should be [calc(0% + -25px)\]] + expected: FAIL + + [CSS Animations: property <text-indent> from [0%\] to [100px\] at (0) should be [0%\]] + expected: FAIL + + [CSS Animations: property <text-indent> from [0%\] to [100px\] at (0.25) should be [calc(0% + 25px)\]] + expected: FAIL + + [CSS Animations: property <text-indent> from [0%\] to [100px\] at (0.5) should be [calc(0% + 50px)\]] + expected: FAIL + + [CSS Animations: property <text-indent> from [0%\] to [100px\] at (0.75) should be [calc(0% + 75px)\]] + expected: FAIL + + [CSS Animations: property <text-indent> from [0%\] to [100px\] at (1) should be [calc(0% + 100px)\]] + expected: FAIL + + [CSS Animations: property <text-indent> from [0%\] to [100px\] at (1.25) should be [calc(0% + 125px)\]] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-values/calc-height-block-1.html.ini b/tests/wpt/metadata-layout-2020/css/css-values/calc-height-block-1.html.ini new file mode 100644 index 00000000000..dd880e86240 --- /dev/null +++ b/tests/wpt/metadata-layout-2020/css/css-values/calc-height-block-1.html.ini @@ -0,0 +1,2 @@ +[calc-height-block-1.html] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-values/calc-infinity-nan-serialize-length.html.ini b/tests/wpt/metadata-layout-2020/css/css-values/calc-infinity-nan-serialize-length.html.ini index 6d1f2802624..6dc11be38bb 100644 --- a/tests/wpt/metadata-layout-2020/css/css-values/calc-infinity-nan-serialize-length.html.ini +++ b/tests/wpt/metadata-layout-2020/css/css-values/calc-infinity-nan-serialize-length.html.ini @@ -100,3 +100,15 @@ ['calc(1pc * NaN)' as a specified value should serialize as 'calc(NaN * 1px)'.] expected: FAIL + + ['calc(1 * min(NaN * 1pt, NaN * 1cm))' as a specified value should serialize as 'calc(NaN * 1px)'.] + expected: FAIL + + ['calc(1 * max(NaN * 1cm, NaN * 2Q))' as a specified value should serialize as 'calc(NaN * 1px)'.] + expected: FAIL + + ['calc(1 * min(NaN * 2px, NaN * 4em))' as a specified value should serialize as 'min(NaN * 1px, NaN * 1em)'.] + expected: FAIL + + ['calc(1 * clamp(NaN * 2em, NaN * 4px, NaN * 8pt))' as a specified value should serialize as 'clamp(NaN * 1em, NaN * 1px, NaN * 1px)'.] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-values/calc-max-height-block-1.html.ini b/tests/wpt/metadata-layout-2020/css/css-values/calc-max-height-block-1.html.ini new file mode 100644 index 00000000000..693aea8b114 --- /dev/null +++ b/tests/wpt/metadata-layout-2020/css/css-values/calc-max-height-block-1.html.ini @@ -0,0 +1,2 @@ +[calc-max-height-block-1.html] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-values/calc-min-height-block-1.html.ini b/tests/wpt/metadata-layout-2020/css/css-values/calc-min-height-block-1.html.ini new file mode 100644 index 00000000000..91612d997a9 --- /dev/null +++ b/tests/wpt/metadata-layout-2020/css/css-values/calc-min-height-block-1.html.ini @@ -0,0 +1,2 @@ +[calc-min-height-block-1.html] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-values/calc-offsets-absolute-bottom-1.html.ini b/tests/wpt/metadata-layout-2020/css/css-values/calc-offsets-absolute-bottom-1.html.ini new file mode 100644 index 00000000000..d14460cf248 --- /dev/null +++ b/tests/wpt/metadata-layout-2020/css/css-values/calc-offsets-absolute-bottom-1.html.ini @@ -0,0 +1,2 @@ +[calc-offsets-absolute-bottom-1.html] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-values/calc-offsets-absolute-top-1.html.ini b/tests/wpt/metadata-layout-2020/css/css-values/calc-offsets-absolute-top-1.html.ini new file mode 100644 index 00000000000..69e38fc11db --- /dev/null +++ b/tests/wpt/metadata-layout-2020/css/css-values/calc-offsets-absolute-top-1.html.ini @@ -0,0 +1,2 @@ +[calc-offsets-absolute-top-1.html] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-values/calc-offsets-relative-bottom-1.html.ini b/tests/wpt/metadata-layout-2020/css/css-values/calc-offsets-relative-bottom-1.html.ini deleted file mode 100644 index 7655e59c091..00000000000 --- a/tests/wpt/metadata-layout-2020/css/css-values/calc-offsets-relative-bottom-1.html.ini +++ /dev/null @@ -1,2 +0,0 @@ -[calc-offsets-relative-bottom-1.html] - expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-values/calc-offsets-relative-top-1.html.ini b/tests/wpt/metadata-layout-2020/css/css-values/calc-offsets-relative-top-1.html.ini deleted file mode 100644 index ad15609b339..00000000000 --- a/tests/wpt/metadata-layout-2020/css/css-values/calc-offsets-relative-top-1.html.ini +++ /dev/null @@ -1,2 +0,0 @@ -[calc-offsets-relative-top-1.html] - expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-values/calc-width-block-intrinsic-1.html.ini b/tests/wpt/metadata-layout-2020/css/css-values/calc-width-block-intrinsic-1.html.ini new file mode 100644 index 00000000000..05ca7a9ad94 --- /dev/null +++ b/tests/wpt/metadata-layout-2020/css/css-values/calc-width-block-intrinsic-1.html.ini @@ -0,0 +1,2 @@ +[calc-width-block-intrinsic-1.html] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-values/calc-width-table-auto-1.html.ini b/tests/wpt/metadata-layout-2020/css/css-values/calc-width-table-auto-1.html.ini deleted file mode 100644 index 813f5920900..00000000000 --- a/tests/wpt/metadata-layout-2020/css/css-values/calc-width-table-auto-1.html.ini +++ /dev/null @@ -1,2 +0,0 @@ -[calc-width-table-auto-1.html] - expected: FAIL diff --git a/tests/wpt/metadata/css/css-values/getComputedStyle-calc-bg-height-percent-001.html.ini b/tests/wpt/metadata-layout-2020/css/css-values/getComputedStyle-calc-mixed-units-001.html.ini similarity index 60% rename from tests/wpt/metadata/css/css-values/getComputedStyle-calc-bg-height-percent-001.html.ini rename to tests/wpt/metadata-layout-2020/css/css-values/getComputedStyle-calc-mixed-units-001.html.ini index 558d325210d..433d8bb9c74 100644 --- a/tests/wpt/metadata/css/css-values/getComputedStyle-calc-bg-height-percent-001.html.ini +++ b/tests/wpt/metadata-layout-2020/css/css-values/getComputedStyle-calc-mixed-units-001.html.ini @@ -1,3 +1,3 @@ -[getComputedStyle-calc-bg-height-percent-001.html] +[getComputedStyle-calc-mixed-units-001.html] [testing background-position: calc(100% - 100% + 20em)] expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-values/integer_interpolation_round_half_towards_positive_infinity_order.html.ini b/tests/wpt/metadata-layout-2020/css/css-values/integer_interpolation_round_half_towards_positive_infinity_order.html.ini new file mode 100644 index 00000000000..3b874030901 --- /dev/null +++ b/tests/wpt/metadata-layout-2020/css/css-values/integer_interpolation_round_half_towards_positive_infinity_order.html.ini @@ -0,0 +1,3 @@ +[integer_interpolation_round_half_towards_positive_infinity_order.html] + [Integer interpolation should be rounded towards positive infinity] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-values/minmax-length-percent-serialize.html.ini b/tests/wpt/metadata-layout-2020/css/css-values/minmax-length-percent-serialize.html.ini new file mode 100644 index 00000000000..5075a8ec647 --- /dev/null +++ b/tests/wpt/metadata-layout-2020/css/css-values/minmax-length-percent-serialize.html.ini @@ -0,0 +1,84 @@ +[minmax-length-percent-serialize.html] + ['min(1px)' as a specified value should serialize as 'calc(1px)'.] + expected: FAIL + + ['min(1px)' as a computed value should serialize as '1px'.] + expected: FAIL + + ['max(1px)' as a specified value should serialize as 'calc(1px)'.] + expected: FAIL + + ['max(1px)' as a computed value should serialize as '1px'.] + expected: FAIL + + ['min(1% + 1px)' as a specified value should serialize as 'calc(1% + 1px)'.] + expected: FAIL + + ['min(1% + 1px)' as a computed value should serialize as 'calc(1% + 1px)'.] + expected: FAIL + + ['min(1px + 1%)' as a specified value should serialize as 'calc(1% + 1px)'.] + expected: FAIL + + ['min(1px + 1%)' as a computed value should serialize as 'calc(1% + 1px)'.] + expected: FAIL + + ['max(1px + 1%)' as a specified value should serialize as 'calc(1% + 1px)'.] + expected: FAIL + + ['max(1px + 1%)' as a computed value should serialize as 'calc(1% + 1px)'.] + expected: FAIL + + ['min(1px, 2px)' as a specified value should serialize as 'calc(1px)'.] + expected: FAIL + + ['min(1px, 2px)' as a computed value should serialize as '1px'.] + expected: FAIL + + ['min(20px, 10%)' as a computed value should serialize as 'min(20px, 10%)'.] + expected: FAIL + + ['min(1em, 10%)' as a computed value should serialize as 'min(16px, 10%)'.] + expected: FAIL + + ['min(10%, 20px)' as a computed value should serialize as 'min(10%, 20px)'.] + expected: FAIL + + ['min(10%, 1em)' as a computed value should serialize as 'min(10%, 16px)'.] + expected: FAIL + + ['max(20px, 10%)' as a computed value should serialize as 'max(20px, 10%)'.] + expected: FAIL + + ['max(1em, 10%)' as a computed value should serialize as 'max(16px, 10%)'.] + expected: FAIL + + ['max(10%, 20px)' as a computed value should serialize as 'max(10%, 20px)'.] + expected: FAIL + + ['max(10%, 1em)' as a computed value should serialize as 'max(10%, 16px)'.] + expected: FAIL + + ['min(10% + 30px, 5em + 5%)' as a specified value should serialize as 'min(10% + 30px, 5% + 5em)'.] + expected: FAIL + + ['min(10% + 30px, 5em + 5%)' as a computed value should serialize as 'min(10% + 30px, 5% + 80px)'.] + expected: FAIL + + ['max(10% + 30px, 5em + 5%)' as a specified value should serialize as 'max(10% + 30px, 5% + 5em)'.] + expected: FAIL + + ['max(10% + 30px, 5em + 5%)' as a computed value should serialize as 'max(10% + 30px, 5% + 80px)'.] + expected: FAIL + + ['calc(min(10% + 1px) + max(1em + 10%) + min(10% + 20px))' as a specified value should serialize as 'calc(30% + 1em + 21px)'.] + expected: FAIL + + ['calc(min(10% + 1px) + max(1em + 10%) + min(10% + 20px))' as a computed value should serialize as 'calc(30% + 37px)'.] + expected: FAIL + + ['calc(1em + max(10% + 20px) + 5% + min(1em + 10%) + 10px)' as a specified value should serialize as 'calc(25% + 2em + 30px)'.] + expected: FAIL + + ['calc(1em + max(10% + 20px) + 5% + min(1em + 10%) + 10px)' as a computed value should serialize as 'calc(25% + 62px)'.] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-values/minmax-length-serialize.html.ini b/tests/wpt/metadata-layout-2020/css/css-values/minmax-length-serialize.html.ini new file mode 100644 index 00000000000..307cdc492b5 --- /dev/null +++ b/tests/wpt/metadata-layout-2020/css/css-values/minmax-length-serialize.html.ini @@ -0,0 +1,63 @@ +[minmax-length-serialize.html] + ['min(1px)' as a specified value should serialize as 'calc(1px)'.] + expected: FAIL + + ['min(1px)' as a computed value should serialize as '1px'.] + expected: FAIL + + ['min(1in)' as a specified value should serialize as 'calc(96px)'.] + expected: FAIL + + ['min(1in)' as a computed value should serialize as '96px'.] + expected: FAIL + + ['max(1px)' as a specified value should serialize as 'calc(1px)'.] + expected: FAIL + + ['max(1px)' as a computed value should serialize as '1px'.] + expected: FAIL + + ['max(1in)' as a specified value should serialize as 'calc(96px)'.] + expected: FAIL + + ['max(1in)' as a computed value should serialize as '96px'.] + expected: FAIL + + ['min(1PX)' as a specified value should serialize as 'calc(1px)'.] + expected: FAIL + + ['min(1PX)' as a computed value should serialize as '1px'.] + expected: FAIL + + ['min(50px, 1in + 1px)' as a specified value should serialize as 'calc(50px)'.] + expected: FAIL + + ['min(50px, 1in + 1px)' as a computed value should serialize as '50px'.] + expected: FAIL + + ['max(50px, 1in + 1px)' as a specified value should serialize as 'calc(97px)'.] + expected: FAIL + + ['max(50px, 1in + 1px)' as a computed value should serialize as '97px'.] + expected: FAIL + + ['calc(1px + min(1in, 100px))' as a specified value should serialize as 'calc(97px)'.] + expected: FAIL + + ['calc(1px + min(1in, 100px))' as a computed value should serialize as '97px'.] + expected: FAIL + + ['calc(1px + max(1in, 100px))' as a specified value should serialize as 'calc(101px)'.] + expected: FAIL + + ['calc(1px + max(1in, 100px))' as a computed value should serialize as '101px'.] + expected: FAIL + + ['min(1px, 1em)' as a computed value should serialize as '1px'.] + expected: FAIL + + ['calc(min(1px, 1in) + max(100px + 1em, 10px + 1in) + 1px)' as a specified value should serialize as 'calc(2px + max(1em + 100px, 106px))'.] + expected: FAIL + + ['calc(min(1px, 1in) + max(100px + 1em, 10px + 1in) + 1px)' as a computed value should serialize as '118px'.] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-values/minmax-percentage-serialize.html.ini b/tests/wpt/metadata-layout-2020/css/css-values/minmax-percentage-serialize.html.ini index b291291efc4..4250549a441 100644 --- a/tests/wpt/metadata-layout-2020/css/css-values/minmax-percentage-serialize.html.ini +++ b/tests/wpt/metadata-layout-2020/css/css-values/minmax-percentage-serialize.html.ini @@ -1,25 +1,13 @@ [minmax-percentage-serialize.html] - ['min(1%, 2%, 3%)' as a specified value should serialize as 'min(1%, 2%, 3%)'.] - expected: FAIL - ['min(1%, 2%, 3%)' as a computed value should serialize as 'min(1%, 2%, 3%)'.] expected: FAIL - ['min(3%, 2%, 1%)' as a specified value should serialize as 'min(3%, 2%, 1%)'.] - expected: FAIL - ['min(3%, 2%, 1%)' as a computed value should serialize as 'min(3%, 2%, 1%)'.] expected: FAIL - ['max(1%, 2%, 3%)' as a specified value should serialize as 'max(1%, 2%, 3%)'.] - expected: FAIL - ['max(1%, 2%, 3%)' as a computed value should serialize as 'max(1%, 2%, 3%)'.] expected: FAIL - ['max(3%, 2%, 1%)' as a specified value should serialize as 'max(3%, 2%, 1%)'.] - expected: FAIL - ['max(3%, 2%, 1%)' as a computed value should serialize as 'max(3%, 2%, 1%)'.] expected: FAIL @@ -34,3 +22,15 @@ ['calc(min(1%, 2%) + max(3%, 4%) + 10%)' as a computed value should serialize as 'calc(10% + min(1%, 2%) + max(3%, 4%))'.] expected: FAIL + + ['min(1%)' as a specified value should serialize as 'calc(1%)'.] + expected: FAIL + + ['min(1%)' as a computed value should serialize as '1%'.] + expected: FAIL + + ['max(1%)' as a specified value should serialize as 'calc(1%)'.] + expected: FAIL + + ['max(1%)' as a computed value should serialize as '1%'.] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-values/vh-calc-support-pct.html.ini b/tests/wpt/metadata-layout-2020/css/css-values/vh-calc-support-pct.html.ini new file mode 100644 index 00000000000..af7c03253fe --- /dev/null +++ b/tests/wpt/metadata-layout-2020/css/css-values/vh-calc-support-pct.html.ini @@ -0,0 +1,2 @@ +[vh-calc-support-pct.html] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-values/viewport-units-compute.html.ini b/tests/wpt/metadata-layout-2020/css/css-values/viewport-units-compute.html.ini index 3adee544e3e..cc8ddbd20ce 100644 --- a/tests/wpt/metadata-layout-2020/css/css-values/viewport-units-compute.html.ini +++ b/tests/wpt/metadata-layout-2020/css/css-values/viewport-units-compute.html.ini @@ -1,2 +1,102 @@ [viewport-units-compute.html] - expected: ERROR + [100vw computes to 200px] + expected: FAIL + + [100vi computes to 200px] + expected: FAIL + + [100vmax computes to 200px] + expected: FAIL + + [100svw computes to 200px] + expected: FAIL + + [100svi computes to 200px] + expected: FAIL + + [100svmax computes to 200px] + expected: FAIL + + [100lvw computes to 200px] + expected: FAIL + + [100lvi computes to 200px] + expected: FAIL + + [100lvmax computes to 200px] + expected: FAIL + + [100dvw computes to 200px] + expected: FAIL + + [100dvi computes to 200px] + expected: FAIL + + [100dvmax computes to 200px] + expected: FAIL + + [100vh computes to 100px] + expected: FAIL + + [100vb computes to 100px] + expected: FAIL + + [100vmin computes to 100px] + expected: FAIL + + [100svh computes to 100px] + expected: FAIL + + [100svb computes to 100px] + expected: FAIL + + [100svmin computes to 100px] + expected: FAIL + + [100lvh computes to 100px] + expected: FAIL + + [100lvb computes to 100px] + expected: FAIL + + [100lvmin computes to 100px] + expected: FAIL + + [100dvh computes to 100px] + expected: FAIL + + [100dvb computes to 100px] + expected: FAIL + + [100dvmin computes to 100px] + expected: FAIL + + [1dvw computes to 2px] + expected: FAIL + + [10dvw computes to 20px] + expected: FAIL + + [1dvh computes to 1px] + expected: FAIL + + [10dvh computes to 10px] + expected: FAIL + + [calc(1dvw + 1dvw) computes to 4px] + expected: FAIL + + [calc(1dvw + 1dvh) computes to 3px] + expected: FAIL + + [calc(1dvw + 100px) computes to 102px] + expected: FAIL + + [max(1svw, 1svh) computes to 2px] + expected: FAIL + + [min(1lvw, 1lvh) computes to 1px] + expected: FAIL + + [calc(1dvw + 10%) computes to 12px] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-values/viewport-units-css2-001.html.ini b/tests/wpt/metadata-layout-2020/css/css-values/viewport-units-css2-001.html.ini new file mode 100644 index 00000000000..344c277bdc4 --- /dev/null +++ b/tests/wpt/metadata-layout-2020/css/css-values/viewport-units-css2-001.html.ini @@ -0,0 +1,180 @@ +[viewport-units-css2-001.html] + [vw length applied to border-spacing] + expected: FAIL + + [vw length applied to border-spacing: getComputedStyle returns a non-zero px-based value] + expected: FAIL + + [vw length applied to top] + expected: FAIL + + [vw length applied to text-indent] + expected: FAIL + + [vw length applied to text-indent: getComputedStyle returns a non-zero px-based value] + expected: FAIL + + [vw length applied to vertical-align] + expected: FAIL + + [vw length applied to vertical-align: getComputedStyle returns a non-zero px-based value] + expected: FAIL + + [vh length applied to width] + expected: FAIL + + [vh length applied to height] + expected: FAIL + + [vh length applied to min-width] + expected: FAIL + + [vh length applied to min-height] + expected: FAIL + + [vh length applied to max-width] + expected: FAIL + + [vh length applied to max-height] + expected: FAIL + + [vh length applied to margin-top] + expected: FAIL + + [vh length applied to padding-top] + expected: FAIL + + [vh length applied to border-top-width] + expected: FAIL + + [vh length applied to font-size] + expected: FAIL + + [vh length applied to line-height] + expected: FAIL + + [vh length applied to border-spacing] + expected: FAIL + + [vh length applied to border-spacing: getComputedStyle returns a non-zero px-based value] + expected: FAIL + + [vh length applied to top] + expected: FAIL + + [vh length applied to right] + expected: FAIL + + [vh length applied to bottom] + expected: FAIL + + [vh length applied to left] + expected: FAIL + + [vh length applied to letter-spacing] + expected: FAIL + + [vh length applied to text-indent] + expected: FAIL + + [vh length applied to text-indent: getComputedStyle returns a non-zero px-based value] + expected: FAIL + + [vh length applied to vertical-align] + expected: FAIL + + [vh length applied to vertical-align: getComputedStyle returns a non-zero px-based value] + expected: FAIL + + [vh length applied to word-spacing] + expected: FAIL + + [vmin length applied to width] + expected: FAIL + + [vmin length applied to height] + expected: FAIL + + [vmin length applied to min-width] + expected: FAIL + + [vmin length applied to min-height] + expected: FAIL + + [vmin length applied to max-width] + expected: FAIL + + [vmin length applied to max-height] + expected: FAIL + + [vmin length applied to margin-top] + expected: FAIL + + [vmin length applied to padding-top] + expected: FAIL + + [vmin length applied to border-top-width] + expected: FAIL + + [vmin length applied to font-size] + expected: FAIL + + [vmin length applied to line-height] + expected: FAIL + + [vmin length applied to border-spacing] + expected: FAIL + + [vmin length applied to border-spacing: getComputedStyle returns a non-zero px-based value] + expected: FAIL + + [vmin length applied to top] + expected: FAIL + + [vmin length applied to right] + expected: FAIL + + [vmin length applied to bottom] + expected: FAIL + + [vmin length applied to left] + expected: FAIL + + [vmin length applied to letter-spacing] + expected: FAIL + + [vmin length applied to text-indent] + expected: FAIL + + [vmin length applied to text-indent: getComputedStyle returns a non-zero px-based value] + expected: FAIL + + [vmin length applied to vertical-align] + expected: FAIL + + [vmin length applied to vertical-align: getComputedStyle returns a non-zero px-based value] + expected: FAIL + + [vmin length applied to word-spacing] + expected: FAIL + + [vmax length applied to border-spacing] + expected: FAIL + + [vmax length applied to border-spacing: getComputedStyle returns a non-zero px-based value] + expected: FAIL + + [vmax length applied to top] + expected: FAIL + + [vmax length applied to text-indent] + expected: FAIL + + [vmax length applied to text-indent: getComputedStyle returns a non-zero px-based value] + expected: FAIL + + [vmax length applied to vertical-align] + expected: FAIL + + [vmax length applied to vertical-align: getComputedStyle returns a non-zero px-based value] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-values/viewport-units-keyframes.html.ini b/tests/wpt/metadata-layout-2020/css/css-values/viewport-units-keyframes.html.ini index 9d0a2c91cf8..f421bcb085a 100644 --- a/tests/wpt/metadata-layout-2020/css/css-values/viewport-units-keyframes.html.ini +++ b/tests/wpt/metadata-layout-2020/css/css-values/viewport-units-keyframes.html.ini @@ -1,2 +1,72 @@ [viewport-units-keyframes.html] - expected: ERROR + [Interpolation from 0px to 100vw is 100px at 50%] + expected: FAIL + + [Interpolation from 0px to 100vi is 100px at 50%] + expected: FAIL + + [Interpolation from 0px to 100vmax is 100px at 50%] + expected: FAIL + + [Interpolation from 0px to 100svw is 100px at 50%] + expected: FAIL + + [Interpolation from 0px to 100svi is 100px at 50%] + expected: FAIL + + [Interpolation from 0px to 100svmax is 100px at 50%] + expected: FAIL + + [Interpolation from 0px to 100lvw is 100px at 50%] + expected: FAIL + + [Interpolation from 0px to 100lvi is 100px at 50%] + expected: FAIL + + [Interpolation from 0px to 100lvmax is 100px at 50%] + expected: FAIL + + [Interpolation from 0px to 100dvw is 100px at 50%] + expected: FAIL + + [Interpolation from 0px to 100dvi is 100px at 50%] + expected: FAIL + + [Interpolation from 0px to 100dvmax is 100px at 50%] + expected: FAIL + + [Interpolation from 0px to 100vh is 50px at 50%] + expected: FAIL + + [Interpolation from 0px to 100vb is 50px at 50%] + expected: FAIL + + [Interpolation from 0px to 100vmin is 50px at 50%] + expected: FAIL + + [Interpolation from 0px to 100svh is 50px at 50%] + expected: FAIL + + [Interpolation from 0px to 100svb is 50px at 50%] + expected: FAIL + + [Interpolation from 0px to 100svmin is 50px at 50%] + expected: FAIL + + [Interpolation from 0px to 100lvh is 50px at 50%] + expected: FAIL + + [Interpolation from 0px to 100lvb is 50px at 50%] + expected: FAIL + + [Interpolation from 0px to 100lvmin is 50px at 50%] + expected: FAIL + + [Interpolation from 0px to 100dvh is 50px at 50%] + expected: FAIL + + [Interpolation from 0px to 100dvb is 50px at 50%] + expected: FAIL + + [Interpolation from 0px to 100dvmin is 50px at 50%] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-values/viewport-units-media-queries.html.ini b/tests/wpt/metadata-layout-2020/css/css-values/viewport-units-media-queries.html.ini index f0cc77e6372..adcbd9435b3 100644 --- a/tests/wpt/metadata-layout-2020/css/css-values/viewport-units-media-queries.html.ini +++ b/tests/wpt/metadata-layout-2020/css/css-values/viewport-units-media-queries.html.ini @@ -1,2 +1,69 @@ [viewport-units-media-queries.html] - expected: ERROR + [@media(width:100vi) applies] + expected: FAIL + + [@media(width:100svw) applies] + expected: FAIL + + [@media(width:100svi) applies] + expected: FAIL + + [@media(width:100svmax) applies] + expected: FAIL + + [@media(width:100lvw) applies] + expected: FAIL + + [@media(width:100lvi) applies] + expected: FAIL + + [@media(width:100lvmax) applies] + expected: FAIL + + [@media(width:100dvw) applies] + expected: FAIL + + [@media(width:100dvi) applies] + expected: FAIL + + [@media(width:100dvmax) applies] + expected: FAIL + + [@media(height:100vh) applies] + expected: FAIL + + [@media(height:100vb) applies] + expected: FAIL + + [@media(height:100vmin) applies] + expected: FAIL + + [@media(height:100svh) applies] + expected: FAIL + + [@media(height:100svb) applies] + expected: FAIL + + [@media(height:100svmin) applies] + expected: FAIL + + [@media(height:100lvh) applies] + expected: FAIL + + [@media(height:100lvb) applies] + expected: FAIL + + [@media(height:100lvmin) applies] + expected: FAIL + + [@media(height:100dvh) applies] + expected: FAIL + + [@media(height:100dvb) applies] + expected: FAIL + + [@media(height:100dvmin) applies] + expected: FAIL + + [@media(width:90vw) does not apply] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-variables/variable-presentation-attribute.html.ini b/tests/wpt/metadata-layout-2020/css/css-variables/variable-presentation-attribute.html.ini index b2b1d763fb3..74dcc81ec63 100644 --- a/tests/wpt/metadata-layout-2020/css/css-variables/variable-presentation-attribute.html.ini +++ b/tests/wpt/metadata-layout-2020/css/css-variables/variable-presentation-attribute.html.ini @@ -101,8 +101,8 @@ [Testing 'text-anchor'.] expected: FAIL - [Testing 'text-decoration-style'.] - expected: FAIL - [Testing 'writing-mode'.] expected: FAIL + + [Testing 'direction'.] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-variables/variable-reference-visited.html.ini b/tests/wpt/metadata-layout-2020/css/css-variables/variable-reference-visited.html.ini new file mode 100644 index 00000000000..4a037f4710e --- /dev/null +++ b/tests/wpt/metadata-layout-2020/css/css-variables/variable-reference-visited.html.ini @@ -0,0 +1,2 @@ +[variable-reference-visited.html] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-variables/variable-substitution-background-properties.html.ini b/tests/wpt/metadata-layout-2020/css/css-variables/variable-substitution-background-properties.html.ini new file mode 100644 index 00000000000..36026b7efad --- /dev/null +++ b/tests/wpt/metadata-layout-2020/css/css-variables/variable-substitution-background-properties.html.ini @@ -0,0 +1,6 @@ +[variable-substitution-background-properties.html] + [background-attachment] + expected: FAIL + + [background-position] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-variables/variable-substitution-basic.html.ini b/tests/wpt/metadata-layout-2020/css/css-variables/variable-substitution-basic.html.ini new file mode 100644 index 00000000000..46ea38e23ce --- /dev/null +++ b/tests/wpt/metadata-layout-2020/css/css-variables/variable-substitution-basic.html.ini @@ -0,0 +1,27 @@ +[variable-substitution-basic.html] + [Simple substitution test] + expected: FAIL + + [You can't build up a single token where part of it is provided by a variable] + expected: FAIL + + [You can't build up a single token where part of it is provided by a variable (percentages)] + expected: FAIL + + [Multiple variable references in a single property] + expected: FAIL + + [Multiple variable references in a single property (no spaces)] + expected: FAIL + + [Fallback value] + expected: FAIL + + [Fallback value which is also a variable reference] + expected: FAIL + + [Multiple var references in fallback value] + expected: FAIL + + [Multiple nested fallbacks] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/css-variables/variable-substitution-shadow-properties.html.ini b/tests/wpt/metadata-layout-2020/css/css-variables/variable-substitution-shadow-properties.html.ini new file mode 100644 index 00000000000..b26fb09fea7 --- /dev/null +++ b/tests/wpt/metadata-layout-2020/css/css-variables/variable-substitution-shadow-properties.html.ini @@ -0,0 +1,6 @@ +[variable-substitution-shadow-properties.html] + [box-shadow] + expected: FAIL + + [text-shadow] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/cssom-view/GetBoundingRect.html.ini b/tests/wpt/metadata-layout-2020/css/cssom-view/GetBoundingRect.html.ini index 668456deca0..d009f77ff63 100644 --- a/tests/wpt/metadata-layout-2020/css/cssom-view/GetBoundingRect.html.ini +++ b/tests/wpt/metadata-layout-2020/css/cssom-view/GetBoundingRect.html.ini @@ -1,4 +1,3 @@ [GetBoundingRect.html] [getBoundingClientRect] expected: FAIL - diff --git a/tests/wpt/metadata-layout-2020/css/cssom-view/cssom-getClientRects-002.html.ini b/tests/wpt/metadata-layout-2020/css/cssom-view/cssom-getClientRects-002.html.ini index a0b522c15ab..74efcb92e11 100644 --- a/tests/wpt/metadata-layout-2020/css/cssom-view/cssom-getClientRects-002.html.ini +++ b/tests/wpt/metadata-layout-2020/css/cssom-view/cssom-getClientRects-002.html.ini @@ -1,4 +1,3 @@ [cssom-getClientRects-002.html] [CSSOM View - GetClientRects().length is the same regardless source new lines] expected: FAIL - diff --git a/tests/wpt/metadata-layout-2020/css/cssom-view/dom-element-scroll.html.ini b/tests/wpt/metadata-layout-2020/css/cssom-view/dom-element-scroll.html.ini index 827c877f032..503052dbac5 100644 --- a/tests/wpt/metadata-layout-2020/css/cssom-view/dom-element-scroll.html.ini +++ b/tests/wpt/metadata-layout-2020/css/cssom-view/dom-element-scroll.html.ini @@ -4,4 +4,3 @@ [Element test for having scrolling box] expected: FAIL - diff --git a/tests/wpt/metadata-layout-2020/css/cssom-view/elementFromPoint-001.html.ini b/tests/wpt/metadata-layout-2020/css/cssom-view/elementFromPoint-001.html.ini new file mode 100644 index 00000000000..72b09371038 --- /dev/null +++ b/tests/wpt/metadata-layout-2020/css/cssom-view/elementFromPoint-001.html.ini @@ -0,0 +1,3 @@ +[elementFromPoint-001.html] + [CSSOM View - 5 - extensions to the Document interface] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/cssom-view/elementFromPoint-ellipsis-in-inline-box.html.ini b/tests/wpt/metadata-layout-2020/css/cssom-view/elementFromPoint-ellipsis-in-inline-box.html.ini new file mode 100644 index 00000000000..b905fe70fcb --- /dev/null +++ b/tests/wpt/metadata-layout-2020/css/cssom-view/elementFromPoint-ellipsis-in-inline-box.html.ini @@ -0,0 +1,3 @@ +[elementFromPoint-ellipsis-in-inline-box.html] + [elementFromPoint-ellipsis-in-inline-box] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/cssom-view/elementFromPoint-float-in-relative.html.ini b/tests/wpt/metadata-layout-2020/css/cssom-view/elementFromPoint-float-in-relative.html.ini new file mode 100644 index 00000000000..7e9331b6bc2 --- /dev/null +++ b/tests/wpt/metadata-layout-2020/css/cssom-view/elementFromPoint-float-in-relative.html.ini @@ -0,0 +1,3 @@ +[elementFromPoint-float-in-relative.html] + [elementFromPoint-float-in-relative] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/cssom-view/elementFromPoint-float-in-table.html.ini b/tests/wpt/metadata-layout-2020/css/cssom-view/elementFromPoint-float-in-table.html.ini new file mode 100644 index 00000000000..db065588308 --- /dev/null +++ b/tests/wpt/metadata-layout-2020/css/cssom-view/elementFromPoint-float-in-table.html.ini @@ -0,0 +1,3 @@ +[elementFromPoint-float-in-table.html] + [float-in-div] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/cssom-view/elementFromPoint-list-001.html.ini b/tests/wpt/metadata-layout-2020/css/cssom-view/elementFromPoint-list-001.html.ini index 29089d8feff..25b6bdfe70c 100644 --- a/tests/wpt/metadata-layout-2020/css/cssom-view/elementFromPoint-list-001.html.ini +++ b/tests/wpt/metadata-layout-2020/css/cssom-view/elementFromPoint-list-001.html.ini @@ -19,3 +19,12 @@ [<li>Image Inside 1</li>] expected: FAIL + + [<li>Inside 1</li>] + expected: FAIL + + [<li>Inside 2</li>] + expected: FAIL + + [<li>Inside 3</li>] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/cssom-view/elementFromPoint-subpixel.html.ini b/tests/wpt/metadata-layout-2020/css/cssom-view/elementFromPoint-subpixel.html.ini new file mode 100644 index 00000000000..687fc85f9ee --- /dev/null +++ b/tests/wpt/metadata-layout-2020/css/cssom-view/elementFromPoint-subpixel.html.ini @@ -0,0 +1,12 @@ +[elementFromPoint-subpixel.html] + [Hit test top left corner of box] + expected: FAIL + + [Hit test top right corner of box] + expected: FAIL + + [Hit test bottom left corner of box] + expected: FAIL + + [Hit test lower left corner of box] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/cssom-view/elementFromPoint-visibility-hidden-resizer.html.ini b/tests/wpt/metadata-layout-2020/css/cssom-view/elementFromPoint-visibility-hidden-resizer.html.ini deleted file mode 100644 index a6bca7ac372..00000000000 --- a/tests/wpt/metadata-layout-2020/css/cssom-view/elementFromPoint-visibility-hidden-resizer.html.ini +++ /dev/null @@ -1,3 +0,0 @@ -[elementFromPoint-visibility-hidden-resizer.html] - [elementFromPoint on resizer area of an element with visibility:hidden] - expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/cssom-view/elementFromPoint.html.ini b/tests/wpt/metadata-layout-2020/css/cssom-view/elementFromPoint.html.ini index ea278b420d8..b3052d7daf8 100644 --- a/tests/wpt/metadata-layout-2020/css/cssom-view/elementFromPoint.html.ini +++ b/tests/wpt/metadata-layout-2020/css/cssom-view/elementFromPoint.html.ini @@ -10,4 +10,3 @@ [Image Maps] expected: FAIL - diff --git a/tests/wpt/metadata-layout-2020/css/cssom-view/elementFromPosition.html.ini b/tests/wpt/metadata-layout-2020/css/cssom-view/elementFromPosition.html.ini index 1bf6ea475bf..3ddd598f5c4 100644 --- a/tests/wpt/metadata-layout-2020/css/cssom-view/elementFromPosition.html.ini +++ b/tests/wpt/metadata-layout-2020/css/cssom-view/elementFromPosition.html.ini @@ -16,3 +16,6 @@ [test the top of layer] expected: FAIL + + [test some point of the element: top left corner] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/cssom-view/elementScroll-002.html.ini b/tests/wpt/metadata-layout-2020/css/cssom-view/elementScroll-002.html.ini index 8fff5d59532..9e0d4a7896a 100644 --- a/tests/wpt/metadata-layout-2020/css/cssom-view/elementScroll-002.html.ini +++ b/tests/wpt/metadata-layout-2020/css/cssom-view/elementScroll-002.html.ini @@ -10,4 +10,3 @@ [simple scroll with style: 'padding' and 'overflow: scroll'] expected: FAIL - diff --git a/tests/wpt/metadata-layout-2020/css/cssom-view/elementScroll.html.ini b/tests/wpt/metadata-layout-2020/css/cssom-view/elementScroll.html.ini index d25b39e24ef..6000e7ed562 100644 --- a/tests/wpt/metadata-layout-2020/css/cssom-view/elementScroll.html.ini +++ b/tests/wpt/metadata-layout-2020/css/cssom-view/elementScroll.html.ini @@ -22,4 +22,3 @@ [Element scroll test (one argument)] expected: FAIL - diff --git a/tests/wpt/metadata-layout-2020/css/cssom-view/elementsFromPoint-iframes.html.ini b/tests/wpt/metadata-layout-2020/css/cssom-view/elementsFromPoint-iframes.html.ini new file mode 100644 index 00000000000..78f6aab8d85 --- /dev/null +++ b/tests/wpt/metadata-layout-2020/css/cssom-view/elementsFromPoint-iframes.html.ini @@ -0,0 +1,6 @@ +[elementsFromPoint-iframes.html] + [elementsFromPoint on the root document for points in iframe elements] + expected: FAIL + + [elementsFromPoint on inner documents] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/cssom-view/elementsFromPoint-invalid-cases.html.ini b/tests/wpt/metadata-layout-2020/css/cssom-view/elementsFromPoint-invalid-cases.html.ini deleted file mode 100644 index a3496a40d07..00000000000 --- a/tests/wpt/metadata-layout-2020/css/cssom-view/elementsFromPoint-invalid-cases.html.ini +++ /dev/null @@ -1,3 +0,0 @@ -[elementsFromPoint-invalid-cases.html] - [The root element is the last element returned for otherwise empty queries within the viewport] - expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/cssom-view/elementsFromPoint-simple.html.ini b/tests/wpt/metadata-layout-2020/css/cssom-view/elementsFromPoint-simple.html.ini index 04934ea8cfc..a4b894bcee4 100644 --- a/tests/wpt/metadata-layout-2020/css/cssom-view/elementsFromPoint-simple.html.ini +++ b/tests/wpt/metadata-layout-2020/css/cssom-view/elementsFromPoint-simple.html.ini @@ -5,15 +5,8 @@ [elementsFromPoint for each corner of a div that is between another div and its pseudo-element] expected: FAIL - [elementsFromPoint for each corner of a div with pointer-events:none] - expected: FAIL - [elementsFromPoint for each corner of a div that has a margin] expected: FAIL - [elementsFromPoint for each corner of a div that has a pseudo-element] - expected: FAIL - [elementsFromPoint for each corner of a div with a 3d transform] expected: FAIL - diff --git a/tests/wpt/metadata-layout-2020/css/cssom-view/elementsFromPoint-table.html.ini b/tests/wpt/metadata-layout-2020/css/cssom-view/elementsFromPoint-table.html.ini index c5a7156e803..4262856585b 100644 --- a/tests/wpt/metadata-layout-2020/css/cssom-view/elementsFromPoint-table.html.ini +++ b/tests/wpt/metadata-layout-2020/css/cssom-view/elementsFromPoint-table.html.ini @@ -1,8 +1,12 @@ [elementsFromPoint-table.html] - expected: ERROR [elementsFromPoint for points between table cells] expected: FAIL [elementsFromPoint for points inside table cells] expected: FAIL + [elementsFromPoint for points inside cells in a right-to-left table] + expected: FAIL + + [elementsFromPoint for points inside cells in a flipped (writing-mode:vertical-lr) table] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/cssom-view/getClientRects-br-htb-ltr.html.ini b/tests/wpt/metadata-layout-2020/css/cssom-view/getClientRects-br-htb-ltr.html.ini index d459985142a..6f949207c22 100644 --- a/tests/wpt/metadata-layout-2020/css/cssom-view/getClientRects-br-htb-ltr.html.ini +++ b/tests/wpt/metadata-layout-2020/css/cssom-view/getClientRects-br-htb-ltr.html.ini @@ -1,4 +1,3 @@ [getClientRects-br-htb-ltr.html] [Position of the BR element] expected: FAIL - diff --git a/tests/wpt/metadata-layout-2020/css/cssom-view/matchMedia.html.ini b/tests/wpt/metadata-layout-2020/css/cssom-view/matchMedia.html.ini index 45ddf98665c..a782dd04e94 100644 --- a/tests/wpt/metadata-layout-2020/css/cssom-view/matchMedia.html.ini +++ b/tests/wpt/metadata-layout-2020/css/cssom-view/matchMedia.html.ini @@ -7,4 +7,3 @@ [iframe.matchMedia("(min-width: 150px)") matches] expected: FAIL - diff --git a/tests/wpt/metadata-layout-2020/css/cssom-view/negativeMargins.html.ini b/tests/wpt/metadata-layout-2020/css/cssom-view/negativeMargins.html.ini index 37835a4fced..0c57f9a1b6b 100644 --- a/tests/wpt/metadata-layout-2020/css/cssom-view/negativeMargins.html.ini +++ b/tests/wpt/metadata-layout-2020/css/cssom-view/negativeMargins.html.ini @@ -1,4 +1,3 @@ [negativeMargins.html] [cssom-view - elementFromPoint and elementsFromPoint dealing with negative margins 1] expected: FAIL - diff --git a/tests/wpt/metadata-layout-2020/css/cssom-view/offsetTop-offsetLeft-nested-offsetParents.html.ini b/tests/wpt/metadata-layout-2020/css/cssom-view/offsetTop-offsetLeft-nested-offsetParents.html.ini deleted file mode 100644 index 8ef76c3a6d2..00000000000 --- a/tests/wpt/metadata-layout-2020/css/cssom-view/offsetTop-offsetLeft-nested-offsetParents.html.ini +++ /dev/null @@ -1,3 +0,0 @@ -[offsetTop-offsetLeft-nested-offsetParents.html] - [Verifies that offsetTop and offsetLeft only go up one offsetParent when there are multiple nested offsetParents.] - expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/cssom-view/offsetTopLeft-trailing-space-inline.html.ini b/tests/wpt/metadata-layout-2020/css/cssom-view/offsetTopLeft-trailing-space-inline.html.ini index 12119501a3f..7b43dd54fcf 100644 --- a/tests/wpt/metadata-layout-2020/css/cssom-view/offsetTopLeft-trailing-space-inline.html.ini +++ b/tests/wpt/metadata-layout-2020/css/cssom-view/offsetTopLeft-trailing-space-inline.html.ini @@ -4,4 +4,3 @@ [offsetTop/Left of empty inline elements should work as if they were not empty: 2] expected: FAIL - diff --git a/tests/wpt/metadata-layout-2020/css/cssom-view/offsetTopLeftInScrollableParent.html.ini b/tests/wpt/metadata-layout-2020/css/cssom-view/offsetTopLeftInScrollableParent.html.ini index 0f265fac3d2..f1ad056994a 100644 --- a/tests/wpt/metadata-layout-2020/css/cssom-view/offsetTopLeftInScrollableParent.html.ini +++ b/tests/wpt/metadata-layout-2020/css/cssom-view/offsetTopLeftInScrollableParent.html.ini @@ -1,4 +1,3 @@ [offsetTopLeftInScrollableParent.html] [Margins on child and parent, border on child and parent, padding on child and parent] expected: FAIL - diff --git a/tests/wpt/metadata-layout-2020/css/cssom-view/scroll-behavior-smooth-navigation.html.ini b/tests/wpt/metadata-layout-2020/css/cssom-view/scroll-behavior-smooth-navigation.html.ini index 878ef5f68f8..977ef8f774c 100644 --- a/tests/wpt/metadata-layout-2020/css/cssom-view/scroll-behavior-smooth-navigation.html.ini +++ b/tests/wpt/metadata-layout-2020/css/cssom-view/scroll-behavior-smooth-navigation.html.ini @@ -1,2 +1,3 @@ [scroll-behavior-smooth-navigation.html] - expected: ERROR + [Instant scrolling while doing history navigation.] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/cssom-view/scroll-behavior-smooth.html.ini b/tests/wpt/metadata-layout-2020/css/cssom-view/scroll-behavior-smooth.html.ini index e1a609649d6..5e7ef730970 100644 --- a/tests/wpt/metadata-layout-2020/css/cssom-view/scroll-behavior-smooth.html.ini +++ b/tests/wpt/metadata-layout-2020/css/cssom-view/scroll-behavior-smooth.html.ini @@ -1,5 +1,3 @@ [scroll-behavior-smooth.html] - expected: ERROR [scroll-behavior: smooth on DIV element] expected: FAIL - diff --git a/tests/wpt/metadata-layout-2020/css/cssom-view/scroll-behavior-subframe-window.html.ini b/tests/wpt/metadata-layout-2020/css/cssom-view/scroll-behavior-subframe-window.html.ini index 9041673d25e..ffadf832a1a 100644 --- a/tests/wpt/metadata-layout-2020/css/cssom-view/scroll-behavior-subframe-window.html.ini +++ b/tests/wpt/metadata-layout-2020/css/cssom-view/scroll-behavior-subframe-window.html.ini @@ -1,5 +1,78 @@ [scroll-behavior-subframe-window.html] - expected: ERROR - [iframe loaded] - expected: NOTRUN + [Main frame with auto scroll-behavior ; scroll() with default behavior] + expected: FAIL + [Main frame with auto scroll-behavior ; scroll() with auto behavior] + expected: FAIL + + [Main frame with auto scroll-behavior ; scroll() with instant behavior] + expected: FAIL + + [Main frame with auto scroll-behavior ; scroll() with smooth behavior] + expected: FAIL + + [Main frame with smooth scroll-behavior ; scroll() with default behavior] + expected: FAIL + + [Main frame with smooth scroll-behavior ; scroll() with auto behavior] + expected: FAIL + + [Main frame with smooth scroll-behavior ; scroll() with instant behavior] + expected: FAIL + + [Main frame with smooth scroll-behavior ; scroll() with smooth behavior] + expected: FAIL + + [Main frame with auto scroll-behavior ; scrollTo() with default behavior] + expected: FAIL + + [Main frame with auto scroll-behavior ; scrollTo() with auto behavior] + expected: FAIL + + [Main frame with auto scroll-behavior ; scrollTo() with instant behavior] + expected: FAIL + + [Main frame with auto scroll-behavior ; scrollTo() with smooth behavior] + expected: FAIL + + [Main frame with smooth scroll-behavior ; scrollTo() with default behavior] + expected: FAIL + + [Main frame with smooth scroll-behavior ; scrollTo() with auto behavior] + expected: FAIL + + [Main frame with smooth scroll-behavior ; scrollTo() with instant behavior] + expected: FAIL + + [Main frame with smooth scroll-behavior ; scrollTo() with smooth behavior] + expected: FAIL + + [Main frame with auto scroll-behavior ; scrollBy() with default behavior] + expected: FAIL + + [Main frame with auto scroll-behavior ; scrollBy() with auto behavior] + expected: FAIL + + [Main frame with auto scroll-behavior ; scrollBy() with instant behavior] + expected: FAIL + + [Main frame with auto scroll-behavior ; scrollBy() with smooth behavior] + expected: FAIL + + [Main frame with smooth scroll-behavior ; scrollBy() with default behavior] + expected: FAIL + + [Main frame with smooth scroll-behavior ; scrollBy() with auto behavior] + expected: FAIL + + [Main frame with smooth scroll-behavior ; scrollBy() with instant behavior] + expected: FAIL + + [Main frame with smooth scroll-behavior ; scrollBy() with smooth behavior] + expected: FAIL + + [Aborting an ongoing smooth scrolling on the main frame with another smooth scrolling] + expected: FAIL + + [Aborting an ongoing smooth scrolling on the main frame with an instant scrolling] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/cssom-view/scrollWidthHeight.xht.ini b/tests/wpt/metadata-layout-2020/css/cssom-view/scrollWidthHeight.xht.ini index a8d2c9e8aa8..6fdabf5d9db 100644 --- a/tests/wpt/metadata-layout-2020/css/cssom-view/scrollWidthHeight.xht.ini +++ b/tests/wpt/metadata-layout-2020/css/cssom-view/scrollWidthHeight.xht.ini @@ -13,3 +13,15 @@ [elemOverflow.scrollHeight is the width of its scrolled contents (including padding)] expected: FAIL + + [elemSimple.scrollHeight is its clientHeight] + expected: FAIL + + [elemSimple.scrollWidth is its clientWidth] + expected: FAIL + + [elemNestedOverflow.scrollHeight is the height of its scrolled contents (ignoring padding)] + expected: FAIL + + [elemNestedOverflow.scrollWidth is the width of its scrolled contents (ignoring padding)] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/cssom-view/scrollWidthHeightWhenNotScrollable.xht.ini b/tests/wpt/metadata-layout-2020/css/cssom-view/scrollWidthHeightWhenNotScrollable.xht.ini index c18dde2c9a6..2623b580a8f 100644 --- a/tests/wpt/metadata-layout-2020/css/cssom-view/scrollWidthHeightWhenNotScrollable.xht.ini +++ b/tests/wpt/metadata-layout-2020/css/cssom-view/scrollWidthHeightWhenNotScrollable.xht.ini @@ -16,4 +16,3 @@ [elemOverflow.scrollHeight is the width of its scrolled contents (ignoring padding, since we overflowed)] expected: FAIL - diff --git a/tests/wpt/metadata-layout-2020/css/cssom-view/scrolling-quirks-vs-nonquirks.html.ini b/tests/wpt/metadata-layout-2020/css/cssom-view/scrolling-quirks-vs-nonquirks.html.ini index 1965a409bbe..709adb67453 100644 --- a/tests/wpt/metadata-layout-2020/css/cssom-view/scrolling-quirks-vs-nonquirks.html.ini +++ b/tests/wpt/metadata-layout-2020/css/cssom-view/scrolling-quirks-vs-nonquirks.html.ini @@ -1,13 +1,4 @@ [scrolling-quirks-vs-nonquirks.html] - [clientWidth/clientHeight on the root element in quirks mode] - expected: FAIL - - [scrollLeft/scrollTop on the HTML body element in quirks mode] - expected: FAIL - - [scrollBy() on the HTML body element in quirks mode] - expected: FAIL - [scrollingElement in non-quirks mode] expected: FAIL @@ -29,15 +20,9 @@ [scrollWidth/scrollHeight on the root element in non-quirks mode] expected: FAIL - [scroll() on the HTML body element in quirks mode] - expected: FAIL - [scrollingElement in quirks mode] expected: FAIL - [clientWidth/clientHeight on the HTML body element in non-quirks mode] - expected: FAIL - [scrollWidth/scrollHeight on the HTML body element in non-quirks mode] expected: FAIL @@ -58,4 +43,3 @@ [scrollWidth/scrollHeight on the HTML body element in quirks mode] expected: FAIL - diff --git a/tests/wpt/metadata-layout-2020/css/cssom-view/table-border-collapse-client-width-height.html.ini b/tests/wpt/metadata-layout-2020/css/cssom-view/table-border-collapse-client-width-height.html.ini index 07973305b08..5955810949c 100644 --- a/tests/wpt/metadata-layout-2020/css/cssom-view/table-border-collapse-client-width-height.html.ini +++ b/tests/wpt/metadata-layout-2020/css/cssom-view/table-border-collapse-client-width-height.html.ini @@ -1,4 +1,3 @@ [table-border-collapse-client-width-height.html] [Table's clientWidth/Height and OffsetWidth/Height should be the same] expected: FAIL - diff --git a/tests/wpt/metadata-layout-2020/css/cssom-view/table-border-separate-client-width-height.html.ini b/tests/wpt/metadata-layout-2020/css/cssom-view/table-border-separate-client-width-height.html.ini index 2856b3313fc..b33c7ce8804 100644 --- a/tests/wpt/metadata-layout-2020/css/cssom-view/table-border-separate-client-width-height.html.ini +++ b/tests/wpt/metadata-layout-2020/css/cssom-view/table-border-separate-client-width-height.html.ini @@ -1,4 +1,3 @@ [table-border-separate-client-width-height.html] [Table's clientWidth/Height and OffsetWidth/Height should be the same] expected: FAIL - diff --git a/tests/wpt/metadata-layout-2020/css/cssom-view/table-client-props.html.ini b/tests/wpt/metadata-layout-2020/css/cssom-view/table-client-props.html.ini index bebd7923878..654cbdb6333 100644 --- a/tests/wpt/metadata-layout-2020/css/cssom-view/table-client-props.html.ini +++ b/tests/wpt/metadata-layout-2020/css/cssom-view/table-client-props.html.ini @@ -34,4 +34,3 @@ [Caption with border] expected: FAIL - diff --git a/tests/wpt/metadata-layout-2020/css/cssom-view/table-offset-props.html.ini b/tests/wpt/metadata-layout-2020/css/cssom-view/table-offset-props.html.ini index 2bba3a9ac32..baf9584a936 100644 --- a/tests/wpt/metadata-layout-2020/css/cssom-view/table-offset-props.html.ini +++ b/tests/wpt/metadata-layout-2020/css/cssom-view/table-offset-props.html.ini @@ -34,4 +34,3 @@ [Caption with border] expected: FAIL - diff --git a/tests/wpt/metadata-layout-2020/css/cssom-view/table-scroll-props.html.ini b/tests/wpt/metadata-layout-2020/css/cssom-view/table-scroll-props.html.ini index 61c3a4a9126..ae8f1151773 100644 --- a/tests/wpt/metadata-layout-2020/css/cssom-view/table-scroll-props.html.ini +++ b/tests/wpt/metadata-layout-2020/css/cssom-view/table-scroll-props.html.ini @@ -34,4 +34,3 @@ [Caption with border] expected: FAIL - diff --git a/tests/wpt/metadata-layout-2020/css/cssom-view/ttwf-js-cssomview-getclientrects-length.html.ini b/tests/wpt/metadata-layout-2020/css/cssom-view/ttwf-js-cssomview-getclientrects-length.html.ini index 24c140ac6e9..1939d9b0831 100644 --- a/tests/wpt/metadata-layout-2020/css/cssom-view/ttwf-js-cssomview-getclientrects-length.html.ini +++ b/tests/wpt/metadata-layout-2020/css/cssom-view/ttwf-js-cssomview-getclientrects-length.html.ini @@ -7,4 +7,3 @@ [assert_length_of_getClientRects_from_Button] expected: FAIL - diff --git a/tests/wpt/metadata-layout-2020/css/cssom/computed-style-002.html.ini b/tests/wpt/metadata-layout-2020/css/cssom/computed-style-002.html.ini index 4c77eab4ebb..7bacf155ca8 100644 --- a/tests/wpt/metadata-layout-2020/css/cssom/computed-style-002.html.ini +++ b/tests/wpt/metadata-layout-2020/css/cssom/computed-style-002.html.ini @@ -1,4 +1,3 @@ [computed-style-002.html] [Check that a percent width in an iframe is resolved against iframe width for getComputedStyle.] expected: FAIL - diff --git a/tests/wpt/metadata-layout-2020/css/cssom/computed-style-004.html.ini b/tests/wpt/metadata-layout-2020/css/cssom/computed-style-004.html.ini index 5ed693a9b91..f0d8b3ad4fa 100644 --- a/tests/wpt/metadata-layout-2020/css/cssom/computed-style-004.html.ini +++ b/tests/wpt/metadata-layout-2020/css/cssom/computed-style-004.html.ini @@ -1,2 +1,6 @@ [computed-style-004.html] - expected: ERROR + [Check that the initial width is 100px.] + expected: FAIL + + [Check that the resolved width of the inner div is affected by changing the width of outer iframe.] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/cssom/cssom-setProperty-shorthand.html.ini b/tests/wpt/metadata-layout-2020/css/cssom/cssom-setProperty-shorthand.html.ini index b5f84c49783..c99fa317752 100644 --- a/tests/wpt/metadata-layout-2020/css/cssom/cssom-setProperty-shorthand.html.ini +++ b/tests/wpt/metadata-layout-2020/css/cssom/cssom-setProperty-shorthand.html.ini @@ -10,4 +10,3 @@ [shorthand border-spacing can be set with setProperty and priority !important] expected: FAIL - diff --git a/tests/wpt/metadata-layout-2020/css/cssom/cssstyledeclaration-csstext-all-shorthand.html.ini b/tests/wpt/metadata-layout-2020/css/cssom/cssstyledeclaration-csstext-all-shorthand.html.ini index 9adf45b4ef9..5445536f459 100644 --- a/tests/wpt/metadata-layout-2020/css/cssom/cssstyledeclaration-csstext-all-shorthand.html.ini +++ b/tests/wpt/metadata-layout-2020/css/cssom/cssstyledeclaration-csstext-all-shorthand.html.ini @@ -1,3 +1,6 @@ [cssstyledeclaration-csstext-all-shorthand.html] ['all' shorthand with all longhands] expected: FAIL + + ['all' shorthand with 'direction' and 'unicode-bidi'] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/cssom/flex-serialization.html.ini b/tests/wpt/metadata-layout-2020/css/cssom/flex-serialization.html.ini index 8cffedde1f9..1c50d3d35b8 100644 --- a/tests/wpt/metadata-layout-2020/css/cssom/flex-serialization.html.ini +++ b/tests/wpt/metadata-layout-2020/css/cssom/flex-serialization.html.ini @@ -4,3 +4,15 @@ [Single value flex with non-CSS-wide value should serialize correctly.] expected: FAIL + + [Single value flex with CSS-wide keyword should serialize correctly.] + expected: FAIL + + [Multiple values flex with CSS-wide keyword should serialize correctly.] + expected: FAIL + + [Multiple values flex with CSS-wide keywords and non-CSS-wide value should serialize correctly.] + expected: FAIL + + [Multiple values flex with CSS-wide and two non-CSS-wide-keyword values should serialize correctly.] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/cssom/font-variant-shorthand-serialization.html.ini b/tests/wpt/metadata-layout-2020/css/cssom/font-variant-shorthand-serialization.html.ini index 8d61b688935..eaa5c649cc4 100644 --- a/tests/wpt/metadata-layout-2020/css/cssom/font-variant-shorthand-serialization.html.ini +++ b/tests/wpt/metadata-layout-2020/css/cssom/font-variant-shorthand-serialization.html.ini @@ -1,22 +1,12 @@ [font-variant-shorthand-serialization.html] - expected: ERROR [font-variant: normal serialization] expected: FAIL [font-variant: none serialization] expected: FAIL - [font-variant-ligatures: none serialization with non-default value for another longhand] + [CSS-wide keyword in one longhand] expected: FAIL - [font-variant: normal with non-default longhands] - expected: NOTRUN - - [CSS-wide keyword in one longhand] - expected: NOTRUN - [CSS-wide keyword in shorthand] - expected: NOTRUN - - [font: menu serialization] - expected: NOTRUN + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/cssom/getComputedStyle-insets-absolute.html.ini b/tests/wpt/metadata-layout-2020/css/cssom/getComputedStyle-insets-absolute.html.ini index 0aa7ce36e67..7b5b8af0734 100644 --- a/tests/wpt/metadata-layout-2020/css/cssom/getComputedStyle-insets-absolute.html.ini +++ b/tests/wpt/metadata-layout-2020/css/cssom/getComputedStyle-insets-absolute.html.ini @@ -538,4 +538,3 @@ [vertical-lr rtl inside horizontal-tb ltr - Percentages are absolutized into pixels] expected: FAIL - diff --git a/tests/wpt/metadata-layout-2020/css/cssom/getComputedStyle-insets-fixed.html.ini b/tests/wpt/metadata-layout-2020/css/cssom/getComputedStyle-insets-fixed.html.ini index a94ba4912d5..6accdda38d8 100644 --- a/tests/wpt/metadata-layout-2020/css/cssom/getComputedStyle-insets-fixed.html.ini +++ b/tests/wpt/metadata-layout-2020/css/cssom/getComputedStyle-insets-fixed.html.ini @@ -538,4 +538,3 @@ [vertical-lr rtl inside horizontal-tb ltr - Percentages are absolutized into pixels] expected: FAIL - diff --git a/tests/wpt/metadata-layout-2020/css/cssom/getComputedStyle-insets-relative.html.ini b/tests/wpt/metadata-layout-2020/css/cssom/getComputedStyle-insets-relative.html.ini index a820c257cd8..5fbcc1e89ee 100644 --- a/tests/wpt/metadata-layout-2020/css/cssom/getComputedStyle-insets-relative.html.ini +++ b/tests/wpt/metadata-layout-2020/css/cssom/getComputedStyle-insets-relative.html.ini @@ -430,4 +430,3 @@ [vertical-lr rtl inside horizontal-tb ltr - Percentages are absolutized into pixels] expected: FAIL - diff --git a/tests/wpt/metadata-layout-2020/css/cssom/getComputedStyle-insets-sticky-container-for-abspos.html.ini b/tests/wpt/metadata-layout-2020/css/cssom/getComputedStyle-insets-sticky-container-for-abspos.html.ini index a7b7cc51a8d..20aa0a10bae 100644 --- a/tests/wpt/metadata-layout-2020/css/cssom/getComputedStyle-insets-sticky-container-for-abspos.html.ini +++ b/tests/wpt/metadata-layout-2020/css/cssom/getComputedStyle-insets-sticky-container-for-abspos.html.ini @@ -214,4 +214,3 @@ [vertical-lr rtl inside horizontal-tb ltr - Percentages are absolutized into pixels] expected: FAIL - diff --git a/tests/wpt/metadata-layout-2020/css/cssom/getComputedStyle-insets-sticky.html.ini b/tests/wpt/metadata-layout-2020/css/cssom/getComputedStyle-insets-sticky.html.ini index 1be8ad2b541..056dee67b22 100644 --- a/tests/wpt/metadata-layout-2020/css/cssom/getComputedStyle-insets-sticky.html.ini +++ b/tests/wpt/metadata-layout-2020/css/cssom/getComputedStyle-insets-sticky.html.ini @@ -214,4 +214,3 @@ [vertical-lr rtl inside horizontal-tb ltr - Percentages are absolutized into pixels] expected: FAIL - diff --git a/tests/wpt/metadata-layout-2020/css/cssom/getComputedStyle-pseudo.html.ini b/tests/wpt/metadata-layout-2020/css/cssom/getComputedStyle-pseudo.html.ini index ce314cdd6ad..fdc40ba6edc 100644 --- a/tests/wpt/metadata-layout-2020/css/cssom/getComputedStyle-pseudo.html.ini +++ b/tests/wpt/metadata-layout-2020/css/cssom/getComputedStyle-pseudo.html.ini @@ -8,14 +8,5 @@ [Unknown pseudo-elements throw] expected: FAIL - [Resolution of width is correct for ::before and ::after pseudo-elements of display: contents elements] - expected: FAIL - - [display: contents on pseudo-elements] - expected: FAIL - - [Dynamically change to display: contents on pseudo-elements] - expected: FAIL - [Unknown pseudo-elements] expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/cssom/getComputedStyle-resolved-colors.html.ini b/tests/wpt/metadata-layout-2020/css/cssom/getComputedStyle-resolved-colors.html.ini index 1bfd70b3480..8a813c68258 100644 --- a/tests/wpt/metadata-layout-2020/css/cssom/getComputedStyle-resolved-colors.html.ini +++ b/tests/wpt/metadata-layout-2020/css/cssom/getComputedStyle-resolved-colors.html.ini @@ -4,7 +4,6 @@ [The resolved value for 'caret-color' is the used value] expected: FAIL - + [The resolved value for 'outline-color' is the used value] expected: FAIL - diff --git a/tests/wpt/metadata-layout-2020/css/cssom/serialize-values.html.ini b/tests/wpt/metadata-layout-2020/css/cssom/serialize-values.html.ini index 464e7f82302..84d40261246 100644 --- a/tests/wpt/metadata-layout-2020/css/cssom/serialize-values.html.ini +++ b/tests/wpt/metadata-layout-2020/css/cssom/serialize-values.html.ini @@ -128,14 +128,311 @@ [background-position: right center] expected: FAIL - [content: url("http://localhost/")] + [background-attachment: fixed] expected: FAIL - [content: url(http://localhost/)] + [border-collapse: collapse] expected: FAIL - [content: attr(foo-bar)] + [border-collapse: separate] expected: FAIL - [content: attr(foo_bar)] + [border-collapse: inherit] + expected: FAIL + + [border-spacing: 0px] + expected: FAIL + + [border-spacing: 1px] + expected: FAIL + + [border-spacing: .1em] + expected: FAIL + + [border-spacing: inherit] + expected: FAIL + + [caption-side: top] + expected: FAIL + + [caption-side: bottom] + expected: FAIL + + [caption-side: inherit] + expected: FAIL + + [clear: none] + expected: FAIL + + [clear: left] + expected: FAIL + + [clear: right] + expected: FAIL + + [clear: both] + expected: FAIL + + [clear: inherit] + expected: FAIL + + [content: counter(par-num)] + expected: FAIL + + [content: counter(par-num, decimal)] + expected: FAIL + + [direction: ltr] + expected: FAIL + + [direction: rtl] + expected: FAIL + + [direction: inherit] + expected: FAIL + + [display: table] + expected: FAIL + + [display: inline-table] + expected: FAIL + + [display: table-row-group] + expected: FAIL + + [display: table-header-group] + expected: FAIL + + [display: table-footer-group] + expected: FAIL + + [display: table-row] + expected: FAIL + + [display: table-column-group] + expected: FAIL + + [display: table-column] + expected: FAIL + + [display: table-cell] + expected: FAIL + + [display: table-caption] + expected: FAIL + + [empty-cells: show] + expected: FAIL + + [empty-cells: hide] + expected: FAIL + + [empty-cells: inherit] + expected: FAIL + + [float: left] + expected: FAIL + + [float: right] + expected: FAIL + + [float: none] + expected: FAIL + + [float: inherit] + expected: FAIL + + [font-variant: normal] + expected: FAIL + + [font-variant: small-caps] + expected: FAIL + + [font-variant: inherit] + expected: FAIL + + [list-style-position: inside] + expected: FAIL + + [list-style-position: outside] + expected: FAIL + + [list-style-position: inherit] + expected: FAIL + + [list-style-type: decimal] + expected: FAIL + + [list-style-type: lower-greek] + expected: FAIL + + [list-style-type: lower-alpha] + expected: FAIL + + [list-style-type: upper-alpha] + expected: FAIL + + [outline-color: black] + expected: FAIL + + [outline-color: red] + expected: FAIL + + [outline-color: rgb(50, 75, 100)] + expected: FAIL + + [outline-color: rgba(5, 7, 10, 0.5)] + expected: FAIL + + [outline-color: inherit] + expected: FAIL + + [outline-style: none] + expected: FAIL + + [outline-style: dotted] + expected: FAIL + + [outline-style: dashed] + expected: FAIL + + [outline-style: solid] + expected: FAIL + + [outline-style: double] + expected: FAIL + + [outline-style: groove] + expected: FAIL + + [outline-style: ridge] + expected: FAIL + + [outline-style: inset] + expected: FAIL + + [outline-style: outset] + expected: FAIL + + [outline-style: inherit] + expected: FAIL + + [outline-width: thin] + expected: FAIL + + [outline-width: medium] + expected: FAIL + + [outline-width: thick] + expected: FAIL + + [outline-width: 0px] + expected: FAIL + + [outline-width: 1px] + expected: FAIL + + [outline-width: .1em] + expected: FAIL + + [outline-width: inherit] + expected: FAIL + + [table-layout: auto] + expected: FAIL + + [table-layout: fixed] + expected: FAIL + + [table-layout: inherit] + expected: FAIL + + [text-align: justify] + expected: FAIL + + [text-indent: 0px] + expected: FAIL + + [text-indent: 1px] + expected: FAIL + + [text-indent: .1em] + expected: FAIL + + [text-indent: 5%] + expected: FAIL + + [text-indent: .5%] + expected: FAIL + + [text-indent: inherit] + expected: FAIL + + [text-transform: capitalize] + expected: FAIL + + [text-transform: uppercase] + expected: FAIL + + [text-transform: lowercase] + expected: FAIL + + [text-transform: none] + expected: FAIL + + [text-transform: inherit] + expected: FAIL + + [unicode-bidi: normal] + expected: FAIL + + [unicode-bidi: embed] + expected: FAIL + + [unicode-bidi: bidi-override] + expected: FAIL + + [unicode-bidi: inherit] + expected: FAIL + + [vertical-align: baseline] + expected: FAIL + + [vertical-align: sub] + expected: FAIL + + [vertical-align: super] + expected: FAIL + + [vertical-align: top] + expected: FAIL + + [vertical-align: text-top] + expected: FAIL + + [vertical-align: middle] + expected: FAIL + + [vertical-align: bottom] + expected: FAIL + + [vertical-align: text-bottom] + expected: FAIL + + [vertical-align: 5%] + expected: FAIL + + [vertical-align: .5%] + expected: FAIL + + [vertical-align: 0px] + expected: FAIL + + [vertical-align: 1px] + expected: FAIL + + [vertical-align: .1em] + expected: FAIL + + [vertical-align: inherit] expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/cssom/shorthand-values.html.ini b/tests/wpt/metadata-layout-2020/css/cssom/shorthand-values.html.ini index a06f2329405..db1a53b3379 100644 --- a/tests/wpt/metadata-layout-2020/css/cssom/shorthand-values.html.ini +++ b/tests/wpt/metadata-layout-2020/css/cssom/shorthand-values.html.ini @@ -34,3 +34,9 @@ [The serialization of border-top: 1px; border-right: 1px; border-bottom: 1px; border-left: 1px; border-image: none; should be canonical.] expected: FAIL + + [The serialization of outline-width: 2px; outline-style: dotted; outline-color: blue; should be canonical.] + expected: FAIL + + [The serialization of list-style-type: lower-alpha; should be canonical.] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/filter-effects/animation/color-interpolation-filters-no-interpolation.html.ini b/tests/wpt/metadata-layout-2020/css/filter-effects/animation/color-interpolation-filters-no-interpolation.html.ini new file mode 100644 index 00000000000..b80ac383004 --- /dev/null +++ b/tests/wpt/metadata-layout-2020/css/filter-effects/animation/color-interpolation-filters-no-interpolation.html.ini @@ -0,0 +1,84 @@ +[color-interpolation-filters-no-interpolation.html] + [CSS Transitions: property <color-interpolation-filters> from [initial\] to [auto\] at (-0.3) should be [initial\]] + expected: FAIL + + [CSS Transitions: property <color-interpolation-filters> from [initial\] to [auto\] at (0) should be [initial\]] + expected: FAIL + + [CSS Transitions: property <color-interpolation-filters> from [initial\] to [auto\] at (0.3) should be [initial\]] + expected: FAIL + + [CSS Transitions: property <color-interpolation-filters> from [initial\] to [auto\] at (0.5) should be [auto\]] + expected: FAIL + + [CSS Transitions: property <color-interpolation-filters> from [initial\] to [auto\] at (0.6) should be [auto\]] + expected: FAIL + + [CSS Transitions: property <color-interpolation-filters> from [initial\] to [auto\] at (1) should be [auto\]] + expected: FAIL + + [CSS Transitions: property <color-interpolation-filters> from [initial\] to [auto\] at (1.5) should be [auto\]] + expected: FAIL + + [CSS Transitions with transition: all: property <color-interpolation-filters> from [initial\] to [auto\] at (-0.3) should be [auto\]] + expected: FAIL + + [CSS Transitions with transition: all: property <color-interpolation-filters> from [initial\] to [auto\] at (0) should be [auto\]] + expected: FAIL + + [CSS Transitions with transition: all: property <color-interpolation-filters> from [initial\] to [auto\] at (0.3) should be [auto\]] + expected: FAIL + + [CSS Transitions with transition: all: property <color-interpolation-filters> from [initial\] to [auto\] at (0.5) should be [auto\]] + expected: FAIL + + [CSS Transitions with transition: all: property <color-interpolation-filters> from [initial\] to [auto\] at (0.6) should be [auto\]] + expected: FAIL + + [CSS Transitions with transition: all: property <color-interpolation-filters> from [initial\] to [auto\] at (1) should be [auto\]] + expected: FAIL + + [CSS Transitions with transition: all: property <color-interpolation-filters> from [initial\] to [auto\] at (1.5) should be [auto\]] + expected: FAIL + + [CSS Animations: property <color-interpolation-filters> from [initial\] to [auto\] at (-0.3) should be [initial\]] + expected: FAIL + + [CSS Animations: property <color-interpolation-filters> from [initial\] to [auto\] at (0) should be [initial\]] + expected: FAIL + + [CSS Animations: property <color-interpolation-filters> from [initial\] to [auto\] at (0.3) should be [initial\]] + expected: FAIL + + [CSS Animations: property <color-interpolation-filters> from [initial\] to [auto\] at (0.5) should be [auto\]] + expected: FAIL + + [CSS Animations: property <color-interpolation-filters> from [initial\] to [auto\] at (0.6) should be [auto\]] + expected: FAIL + + [CSS Animations: property <color-interpolation-filters> from [initial\] to [auto\] at (1) should be [auto\]] + expected: FAIL + + [CSS Animations: property <color-interpolation-filters> from [initial\] to [auto\] at (1.5) should be [auto\]] + expected: FAIL + + [Web Animations: property <color-interpolation-filters> from [initial\] to [auto\] at (-0.3) should be [initial\]] + expected: FAIL + + [Web Animations: property <color-interpolation-filters> from [initial\] to [auto\] at (0) should be [initial\]] + expected: FAIL + + [Web Animations: property <color-interpolation-filters> from [initial\] to [auto\] at (0.3) should be [initial\]] + expected: FAIL + + [Web Animations: property <color-interpolation-filters> from [initial\] to [auto\] at (0.5) should be [auto\]] + expected: FAIL + + [Web Animations: property <color-interpolation-filters> from [initial\] to [auto\] at (0.6) should be [auto\]] + expected: FAIL + + [Web Animations: property <color-interpolation-filters> from [initial\] to [auto\] at (1) should be [auto\]] + expected: FAIL + + [Web Animations: property <color-interpolation-filters> from [initial\] to [auto\] at (1.5) should be [auto\]] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/filter-effects/svg-external-filter-resource.html.ini b/tests/wpt/metadata-layout-2020/css/filter-effects/svg-external-filter-resource.html.ini new file mode 100644 index 00000000000..2cec121ac69 --- /dev/null +++ b/tests/wpt/metadata-layout-2020/css/filter-effects/svg-external-filter-resource.html.ini @@ -0,0 +1,2 @@ +[svg-external-filter-resource.html] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/geometry/DOMRectList.html.ini b/tests/wpt/metadata-layout-2020/css/geometry/DOMRectList.html.ini index d5365a060cf..46056dbbd0b 100644 --- a/tests/wpt/metadata-layout-2020/css/geometry/DOMRectList.html.ini +++ b/tests/wpt/metadata-layout-2020/css/geometry/DOMRectList.html.ini @@ -7,3 +7,9 @@ [DOMRectList item()] expected: FAIL + + [DOMRectList length] + expected: FAIL + + [DOMRectList indexed getter] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/geometry/idlharness.any.js.ini b/tests/wpt/metadata-layout-2020/css/geometry/idlharness.any.js.ini index 8e29d594f0d..b53b54d4cc1 100644 --- a/tests/wpt/metadata-layout-2020/css/geometry/idlharness.any.js.ini +++ b/tests/wpt/metadata-layout-2020/css/geometry/idlharness.any.js.ini @@ -121,3 +121,17 @@ [DOMRectList interface: existence and properties of interface prototype object's @@unscopables property] expected: FAIL + [DOMRectList must be primary interface of ] + expected: FAIL + + [Stringification of ] + expected: FAIL + + [DOMRectList interface: must inherit property "length" with the proper type] + expected: FAIL + + [DOMRectList interface: must inherit property "item(unsigned long)" with the proper type] + expected: FAIL + + [DOMRectList interface: calling item(unsigned long) on with too few arguments must throw TypeError] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/geometry/structured-serialization.html.ini b/tests/wpt/metadata-layout-2020/css/geometry/structured-serialization.html.ini new file mode 100644 index 00000000000..6cabb582509 --- /dev/null +++ b/tests/wpt/metadata-layout-2020/css/geometry/structured-serialization.html.ini @@ -0,0 +1,93 @@ +[structured-serialization.html] + [DOMPointReadOnly clone: basic] + expected: FAIL + + [DOMPointReadOnly clone: custom property] + expected: FAIL + + [DOMPointReadOnly clone: throwing getters] + expected: FAIL + + [DOMPointReadOnly clone: non-initial values] + expected: FAIL + + [DOMPoint clone: basic] + expected: FAIL + + [DOMPoint clone: custom property] + expected: FAIL + + [DOMPoint clone: throwing getters] + expected: FAIL + + [DOMPoint clone: non-initial values] + expected: FAIL + + [DOMRectReadOnly clone: basic] + expected: FAIL + + [DOMRectReadOnly clone: custom property] + expected: FAIL + + [DOMRectReadOnly clone: throwing getters] + expected: FAIL + + [DOMRectReadOnly clone: non-initial values] + expected: FAIL + + [DOMRect clone: basic] + expected: FAIL + + [DOMRect clone: custom property] + expected: FAIL + + [DOMRect clone: throwing getters] + expected: FAIL + + [DOMRect clone: non-initial values] + expected: FAIL + + [DOMQuad clone: basic] + expected: FAIL + + [DOMQuad clone: custom property] + expected: FAIL + + [DOMQuad clone: throwing getters] + expected: FAIL + + [DOMQuad clone: non-initial values] + expected: FAIL + + [DOMMatrixReadOnly clone: basic] + expected: FAIL + + [DOMMatrixReadOnly clone: custom property] + expected: FAIL + + [DOMMatrixReadOnly clone: throwing getters] + expected: FAIL + + [DOMMatrixReadOnly clone: non-initial values (2d)] + expected: FAIL + + [DOMMatrixReadOnly clone: non-initial values (3d)] + expected: FAIL + + [DOMMatrix clone: basic] + expected: FAIL + + [DOMMatrix clone: custom property] + expected: FAIL + + [DOMMatrix clone: throwing getters] + expected: FAIL + + [DOMMatrix clone: non-initial values (2d)] + expected: FAIL + + [DOMMatrix clone: non-initial values (3d)] + expected: FAIL + + [DOMRectList clone] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/mediaqueries/min-width-tables-001.html.ini b/tests/wpt/metadata-layout-2020/css/mediaqueries/min-width-tables-001.html.ini new file mode 100644 index 00000000000..7864a16cb6a --- /dev/null +++ b/tests/wpt/metadata-layout-2020/css/mediaqueries/min-width-tables-001.html.ini @@ -0,0 +1,2 @@ +[min-width-tables-001.html] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/mediaqueries/relative-units-005.html.ini b/tests/wpt/metadata-layout-2020/css/mediaqueries/relative-units-005.html.ini index 160480b72e2..22d382df10b 100644 --- a/tests/wpt/metadata-layout-2020/css/mediaqueries/relative-units-005.html.ini +++ b/tests/wpt/metadata-layout-2020/css/mediaqueries/relative-units-005.html.ini @@ -1,9 +1,3 @@ [relative-units-005.html] - [ex unit in media queries should match initial font] - expected: FAIL - - [ch unit in media queries should match initial font] - expected: FAIL - [ic unit in media queries should match initial font] expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/mediaqueries/scripting-print-noscript.html.ini b/tests/wpt/metadata-layout-2020/css/mediaqueries/scripting-print-noscript.html.ini new file mode 100644 index 00000000000..f8256a35717 --- /dev/null +++ b/tests/wpt/metadata-layout-2020/css/mediaqueries/scripting-print-noscript.html.ini @@ -0,0 +1,2 @@ +[scripting-print-noscript.html] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/mediaqueries/scripting-print-script.html.ini b/tests/wpt/metadata-layout-2020/css/mediaqueries/scripting-print-script.html.ini new file mode 100644 index 00000000000..2143b97f4b4 --- /dev/null +++ b/tests/wpt/metadata-layout-2020/css/mediaqueries/scripting-print-script.html.ini @@ -0,0 +1,2 @@ +[scripting-print-script.html] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/mediaqueries/scripting.html.ini b/tests/wpt/metadata-layout-2020/css/mediaqueries/scripting.html.ini new file mode 100644 index 00000000000..afffc87ac19 --- /dev/null +++ b/tests/wpt/metadata-layout-2020/css/mediaqueries/scripting.html.ini @@ -0,0 +1,27 @@ +[scripting.html] + [Should be known: '(scripting)'] + expected: FAIL + + [Should be known: '(scripting: enabled)'] + expected: FAIL + + [Should be known: '(scripting: initial-only)'] + expected: FAIL + + [Should be known: '(scripting: none)'] + expected: FAIL + + [Should be parseable: '(scripting: 0)'] + expected: FAIL + + [Should be parseable: '(scripting: 10px)'] + expected: FAIL + + [Should be parseable: '(scripting: invalid)'] + expected: FAIL + + [Check that scripting currently matches 'enabled'] + expected: FAIL + + [Check that scripting currently evaluates to true in the boolean context] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/selectors/not-default-ns-001.html.ini b/tests/wpt/metadata-layout-2020/css/selectors/not-default-ns-001.html.ini deleted file mode 100644 index 2e7e90b9ee0..00000000000 --- a/tests/wpt/metadata-layout-2020/css/selectors/not-default-ns-001.html.ini +++ /dev/null @@ -1,2 +0,0 @@ -[not-default-ns-001.html] - expected: TIMEOUT diff --git a/tests/wpt/metadata-layout-2020/custom-elements/reactions/CSSStyleDeclaration.html.ini b/tests/wpt/metadata-layout-2020/custom-elements/reactions/CSSStyleDeclaration.html.ini new file mode 100644 index 00000000000..3e44339cd18 --- /dev/null +++ b/tests/wpt/metadata-layout-2020/custom-elements/reactions/CSSStyleDeclaration.html.ini @@ -0,0 +1,30 @@ +[CSSStyleDeclaration.html] + [cssFloat on CSSStyleDeclaration must enqueue an attributeChanged reaction when it adds the observed style attribute] + expected: FAIL + + [cssFloat on CSSStyleDeclaration must not enqueue an attributeChanged reaction when it adds the style attribute but the style attribute is not observed] + expected: FAIL + + [A webkit prefixed camel case attribute (webkitFilter) on CSSStyleDeclaration must enqueue an attributeChanged reaction when it adds the observed style attribute] + expected: FAIL + + [A webkit prefixed camel case attribute (webkitFilter) on CSSStyleDeclaration must not enqueue an attributeChanged reaction when it adds the style attribute but the style attribute is not observed] + expected: FAIL + + [A webkit prefixed camel case attribute (webkitFilter) on CSSStyleDeclaration must enqueue an attributeChanged reaction when it mutates the observed style attribute] + expected: FAIL + + [A webkit prefixed camel case attribute (webkitFilter) on CSSStyleDeclaration must not enqueue an attributeChanged reaction when it mutates the style attribute but the style attribute is not observed] + expected: FAIL + + [A webkit prefixed dashed property (-webkit-filter) on CSSStyleDeclaration must enqueue an attributeChanged reaction when it adds the observed style attribute] + expected: FAIL + + [A webkit prefixed dashed property (-webkit-filter) on CSSStyleDeclaration must not enqueue an attributeChanged reaction when it adds the style attribute but the style attribute is not observed] + expected: FAIL + + [A webkit prefixed dashed property (-webkit-filter) on CSSStyleDeclaration must enqueue an attributeChanged reaction when it mutates the observed style attribute] + expected: FAIL + + [A webkit prefixed dashed property (-webkit-filter) on CSSStyleDeclaration must not enqueue an attributeChanged reaction when it mutates the style attribute but the style attribute is not observed] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/fetch/api/redirect/redirect-keepalive.any.js.ini b/tests/wpt/metadata-layout-2020/fetch/api/redirect/redirect-keepalive.any.js.ini deleted file mode 100644 index c57e48f2078..00000000000 --- a/tests/wpt/metadata-layout-2020/fetch/api/redirect/redirect-keepalive.any.js.ini +++ /dev/null @@ -1,2 +0,0 @@ -[redirect-keepalive.any.html] - expected: TIMEOUT diff --git a/tests/wpt/metadata-layout-2020/fetch/metadata/generated/css-images.https.sub.tentative.html.ini b/tests/wpt/metadata-layout-2020/fetch/metadata/generated/css-images.https.sub.tentative.html.ini index ec48f2ec823..a1ab6094831 100644 --- a/tests/wpt/metadata-layout-2020/fetch/metadata/generated/css-images.https.sub.tentative.html.ini +++ b/tests/wpt/metadata-layout-2020/fetch/metadata/generated/css-images.https.sub.tentative.html.ini @@ -263,3 +263,6 @@ [list-style-image sec-fetch-user] expected: FAIL + + [border-image sec-fetch-user] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/fetch/metadata/generated/css-images.sub.tentative.html.ini b/tests/wpt/metadata-layout-2020/fetch/metadata/generated/css-images.sub.tentative.html.ini index f9de5391ad6..731404ec72f 100644 --- a/tests/wpt/metadata-layout-2020/fetch/metadata/generated/css-images.sub.tentative.html.ini +++ b/tests/wpt/metadata-layout-2020/fetch/metadata/generated/css-images.sub.tentative.html.ini @@ -146,3 +146,45 @@ [list-style-image sec-fetch-site - HTTPS downgrade-upgrade] expected: FAIL + + [border-image sec-fetch-site - Not sent to non-trustworthy same-origin destination] + expected: FAIL + + [border-image sec-fetch-site - Not sent to non-trustworthy same-site destination] + expected: FAIL + + [border-image sec-fetch-site - Not sent to non-trustworthy cross-site destination] + expected: FAIL + + [border-image sec-fetch-mode - Not sent to non-trustworthy same-origin destination] + expected: FAIL + + [border-image sec-fetch-mode - Not sent to non-trustworthy same-site destination] + expected: FAIL + + [border-image sec-fetch-mode - Not sent to non-trustworthy cross-site destination] + expected: FAIL + + [border-image sec-fetch-dest - Not sent to non-trustworthy same-origin destination] + expected: FAIL + + [border-image sec-fetch-dest - Not sent to non-trustworthy same-site destination] + expected: FAIL + + [border-image sec-fetch-dest - Not sent to non-trustworthy cross-site destination] + expected: FAIL + + [border-image sec-fetch-user - Not sent to non-trustworthy same-origin destination] + expected: FAIL + + [border-image sec-fetch-user - Not sent to non-trustworthy same-site destination] + expected: FAIL + + [border-image sec-fetch-user - Not sent to non-trustworthy cross-site destination] + expected: FAIL + + [background-image sec-fetch-site - HTTPS downgrade (header not sent)] + expected: TIMEOUT + + [border-image sec-fetch-site - HTTPS downgrade (header not sent)] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/fetch/metadata/generated/element-img-environment-change.https.sub.html.ini b/tests/wpt/metadata-layout-2020/fetch/metadata/generated/element-img-environment-change.https.sub.html.ini index d2e9de30b09..3d6068202c8 100644 --- a/tests/wpt/metadata-layout-2020/fetch/metadata/generated/element-img-environment-change.https.sub.html.ini +++ b/tests/wpt/metadata-layout-2020/fetch/metadata/generated/element-img-environment-change.https.sub.html.ini @@ -1,10 +1,10 @@ [element-img-environment-change.https.sub.html] expected: TIMEOUT [sec-fetch-site - Same origin, no attributes] - expected: TIMEOUT + expected: FAIL [sec-fetch-site - Cross-site, no attributes] - expected: NOTRUN + expected: TIMEOUT [sec-fetch-site - Same site, no attributes] expected: NOTRUN diff --git a/tests/wpt/metadata-layout-2020/fetch/metadata/generated/element-img-environment-change.sub.html.ini b/tests/wpt/metadata-layout-2020/fetch/metadata/generated/element-img-environment-change.sub.html.ini index ac557773191..3ec67be350a 100644 --- a/tests/wpt/metadata-layout-2020/fetch/metadata/generated/element-img-environment-change.sub.html.ini +++ b/tests/wpt/metadata-layout-2020/fetch/metadata/generated/element-img-environment-change.sub.html.ini @@ -1,10 +1,10 @@ [element-img-environment-change.sub.html] expected: TIMEOUT [sec-fetch-site - Not sent to non-trustworthy same-origin destination, no attributes] - expected: TIMEOUT + expected: FAIL [sec-fetch-site - Not sent to non-trustworthy same-site destination, no attributes] - expected: NOTRUN + expected: TIMEOUT [sec-fetch-site - Not sent to non-trustworthy cross-site destination, no attributes] expected: NOTRUN diff --git a/tests/wpt/metadata-layout-2020/html/browsers/browsing-the-web/history-traversal/persisted-user-state-restoration/scroll-restoration-fragment-scrolling-cross-origin.html.ini b/tests/wpt/metadata-layout-2020/html/browsers/browsing-the-web/history-traversal/persisted-user-state-restoration/scroll-restoration-fragment-scrolling-cross-origin.html.ini index a3f473a9557..1f528be38ef 100644 --- a/tests/wpt/metadata-layout-2020/html/browsers/browsing-the-web/history-traversal/persisted-user-state-restoration/scroll-restoration-fragment-scrolling-cross-origin.html.ini +++ b/tests/wpt/metadata-layout-2020/html/browsers/browsing-the-web/history-traversal/persisted-user-state-restoration/scroll-restoration-fragment-scrolling-cross-origin.html.ini @@ -1,4 +1,4 @@ [scroll-restoration-fragment-scrolling-cross-origin.html] - expected: TIMEOUT + expected: ERROR [Manual scroll restoration should take precedent over scrolling to fragment in cross origin navigation] expected: TIMEOUT diff --git a/tests/wpt/metadata-layout-2020/html/browsers/browsing-the-web/navigating-across-documents/initial-empty-document/load-pageshow-events-iframe-contentWindow.html.ini b/tests/wpt/metadata-layout-2020/html/browsers/browsing-the-web/navigating-across-documents/initial-empty-document/load-pageshow-events-iframe-contentWindow.html.ini index 149bcb4ff8c..b6aa0bab7b8 100644 --- a/tests/wpt/metadata-layout-2020/html/browsers/browsing-the-web/navigating-across-documents/initial-empty-document/load-pageshow-events-iframe-contentWindow.html.ini +++ b/tests/wpt/metadata-layout-2020/html/browsers/browsing-the-web/navigating-across-documents/initial-empty-document/load-pageshow-events-iframe-contentWindow.html.ini @@ -8,5 +8,5 @@ [load & pageshow events do not fire on contentWindow of <iframe> element created with src='about:blank#foo'] expected: FAIL - [load & pageshow events do not fire on contentWindow of <iframe> element created with src='about:blank'] + [load & pageshow events do not fire on contentWindow of <iframe> element created with src=''] expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/html/browsers/browsing-the-web/navigating-across-documents/initial-empty-document/load-pageshow-events-window-open.html.ini b/tests/wpt/metadata-layout-2020/html/browsers/browsing-the-web/navigating-across-documents/initial-empty-document/load-pageshow-events-window-open.html.ini index 324db3d9b35..5aef7ce66ce 100644 --- a/tests/wpt/metadata-layout-2020/html/browsers/browsing-the-web/navigating-across-documents/initial-empty-document/load-pageshow-events-window-open.html.ini +++ b/tests/wpt/metadata-layout-2020/html/browsers/browsing-the-web/navigating-across-documents/initial-empty-document/load-pageshow-events-window-open.html.ini @@ -10,3 +10,6 @@ [load event does not fire on window.open('about:blank?foo')] expected: FAIL + + [load event does not fire on window.open('about:blank')] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/html/browsers/browsing-the-web/navigating-across-documents/javascript-url-no-beforeunload.window.js.ini b/tests/wpt/metadata-layout-2020/html/browsers/browsing-the-web/navigating-across-documents/javascript-url-no-beforeunload.window.js.ini index a06984505e9..4b25ec32301 100644 --- a/tests/wpt/metadata-layout-2020/html/browsers/browsing-the-web/navigating-across-documents/javascript-url-no-beforeunload.window.js.ini +++ b/tests/wpt/metadata-layout-2020/html/browsers/browsing-the-web/navigating-across-documents/javascript-url-no-beforeunload.window.js.ini @@ -5,6 +5,3 @@ [Navigating an opened window via location.href to a javascript: URL must not fire beforeunload: string completion] expected: TIMEOUT - - [Navigating an opened window with an iframe via location.href to a javascript: URL must not fire beforeunload on the iframe: undefined completion] - expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/html/browsers/browsing-the-web/navigating-across-documents/navigation-unload-cross-origin.sub.window.js.ini b/tests/wpt/metadata-layout-2020/html/browsers/browsing-the-web/navigating-across-documents/navigation-unload-cross-origin.sub.window.js.ini deleted file mode 100644 index 4ecd6d9f753..00000000000 --- a/tests/wpt/metadata-layout-2020/html/browsers/browsing-the-web/navigating-across-documents/navigation-unload-cross-origin.sub.window.js.ini +++ /dev/null @@ -1,3 +0,0 @@ -[navigation-unload-cross-origin.sub.window.html] - [Cross-origin navigation started from unload handler must be ignored] - expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/html/browsers/browsing-the-web/navigating-across-documents/navigation-unload-same-origin.window.js.ini b/tests/wpt/metadata-layout-2020/html/browsers/browsing-the-web/navigating-across-documents/navigation-unload-same-origin.window.js.ini deleted file mode 100644 index 7dc346632a4..00000000000 --- a/tests/wpt/metadata-layout-2020/html/browsers/browsing-the-web/navigating-across-documents/navigation-unload-same-origin.window.js.ini +++ /dev/null @@ -1,3 +0,0 @@ -[navigation-unload-same-origin.window.html] - [Same-origin navigation started from unload handler must be ignored] - expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/html/browsers/browsing-the-web/navigating-across-documents/replace-before-load/form-submit.html.ini b/tests/wpt/metadata-layout-2020/html/browsers/browsing-the-web/navigating-across-documents/replace-before-load/form-submit.html.ini index 16371ab858d..f18f914e4a4 100644 --- a/tests/wpt/metadata-layout-2020/html/browsers/browsing-the-web/navigating-across-documents/replace-before-load/form-submit.html.ini +++ b/tests/wpt/metadata-layout-2020/html/browsers/browsing-the-web/navigating-across-documents/replace-before-load/form-submit.html.ini @@ -1,4 +1,3 @@ [form-submit.html] - expected: TIMEOUT [Replace before load, triggered by formElement.submit()] - expected: TIMEOUT + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/html/browsers/history/the-history-interface/traverse-during-unload.html.ini b/tests/wpt/metadata-layout-2020/html/browsers/history/the-history-interface/traverse-during-unload.html.ini deleted file mode 100644 index f5b7b25324f..00000000000 --- a/tests/wpt/metadata-layout-2020/html/browsers/history/the-history-interface/traverse-during-unload.html.ini +++ /dev/null @@ -1,4 +0,0 @@ -[traverse-during-unload.html] - expected: TIMEOUT - [Traversing the history during unload] - expected: TIMEOUT diff --git a/tests/wpt/metadata-layout-2020/html/browsers/origin/cross-origin-objects/cross-origin-objects.html.ini b/tests/wpt/metadata-layout-2020/html/browsers/origin/cross-origin-objects/cross-origin-objects.html.ini index 6473df7ae41..4f0768102b9 100644 --- a/tests/wpt/metadata-layout-2020/html/browsers/origin/cross-origin-objects/cross-origin-objects.html.ini +++ b/tests/wpt/metadata-layout-2020/html/browsers/origin/cross-origin-objects/cross-origin-objects.html.ini @@ -63,12 +63,6 @@ [[[GetOwnProperty\]\] - Property descriptors for cross-origin properties should be set up correctly (cross-site)] expected: FAIL - [[[GetOwnProperty\]\] - Subframe named 'then' should shadow the default 'then' value (cross-origin)] - expected: FAIL - - [[[GetOwnProperty\]\] - Subframe named 'then' should shadow the default 'then' value (same-origin + document.domain)] - expected: FAIL - [[[GetOwnProperty\]\] - Subframe named 'then' should shadow the default 'then' value (cross-site)] expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/html/browsers/origin/relaxing-the-same-origin-restriction/document_domain_access_details.sub.html.ini b/tests/wpt/metadata-layout-2020/html/browsers/origin/relaxing-the-same-origin-restriction/document_domain_access_details.sub.html.ini new file mode 100644 index 00000000000..ac4a3af4b00 --- /dev/null +++ b/tests/wpt/metadata-layout-2020/html/browsers/origin/relaxing-the-same-origin-restriction/document_domain_access_details.sub.html.ini @@ -0,0 +1,21 @@ +[document_domain_access_details.sub.html] + [Access not allowed if different-origin with no 'document.domain' modification. (Sanity check)] + expected: FAIL + + [Access disallowed if same-origin but only one sets document.domain.] + expected: FAIL + + [Access disallowed again if same-origin, both set document-domain to existing value, then one sets to parent.] + expected: FAIL + + [Access is revoked to Window object when we stop being same effective script origin due to document.domain.] + expected: FAIL + + [Access is revoked to Location object when we stop being same effective script origin due to document.domain.] + expected: FAIL + + [Access evolves correctly for non-cross-origin objects when we join up via document.domain and then diverge again.] + expected: FAIL + + [Access evolves correctly for cross-origin objects when we join up via document.domain and then diverge again.] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/html/browsers/the-window-object/open-close/creating_browsing_context_test_01.html.ini b/tests/wpt/metadata-layout-2020/html/browsers/the-window-object/open-close/creating_browsing_context_test_01.html.ini deleted file mode 100644 index ca84728f1e9..00000000000 --- a/tests/wpt/metadata-layout-2020/html/browsers/the-window-object/open-close/creating_browsing_context_test_01.html.ini +++ /dev/null @@ -1,4 +0,0 @@ -[creating_browsing_context_test_01.html] - expected: TIMEOUT - [first argument: absolute url] - expected: TIMEOUT diff --git a/tests/wpt/metadata-layout-2020/html/canvas/element/drawing-text-to-the-canvas/2d.text.draw.fontface.html.ini b/tests/wpt/metadata-layout-2020/html/canvas/element/drawing-text-to-the-canvas/2d.text.draw.fontface.html.ini index 12e62113967..a536e29790e 100644 --- a/tests/wpt/metadata-layout-2020/html/canvas/element/drawing-text-to-the-canvas/2d.text.draw.fontface.html.ini +++ b/tests/wpt/metadata-layout-2020/html/canvas/element/drawing-text-to-the-canvas/2d.text.draw.fontface.html.ini @@ -1,4 +1,3 @@ [2d.text.draw.fontface.html] [Canvas test: 2d.text.draw.fontface] expected: FAIL - diff --git a/tests/wpt/metadata-layout-2020/html/canvas/element/drawing-text-to-the-canvas/2d.text.draw.fontface.notinpage.html.ini b/tests/wpt/metadata-layout-2020/html/canvas/element/drawing-text-to-the-canvas/2d.text.draw.fontface.notinpage.html.ini index 21a787eebd0..5de0c0d20bb 100644 --- a/tests/wpt/metadata-layout-2020/html/canvas/element/drawing-text-to-the-canvas/2d.text.draw.fontface.notinpage.html.ini +++ b/tests/wpt/metadata-layout-2020/html/canvas/element/drawing-text-to-the-canvas/2d.text.draw.fontface.notinpage.html.ini @@ -1,4 +1,3 @@ [2d.text.draw.fontface.notinpage.html] [@font-face fonts should work even if they are not used in the page] expected: FAIL - diff --git a/tests/wpt/metadata-layout-2020/html/canvas/element/drawing-text-to-the-canvas/2d.text.draw.fontface.repeat.html.ini b/tests/wpt/metadata-layout-2020/html/canvas/element/drawing-text-to-the-canvas/2d.text.draw.fontface.repeat.html.ini index b28e435ff8b..c0261adb627 100644 --- a/tests/wpt/metadata-layout-2020/html/canvas/element/drawing-text-to-the-canvas/2d.text.draw.fontface.repeat.html.ini +++ b/tests/wpt/metadata-layout-2020/html/canvas/element/drawing-text-to-the-canvas/2d.text.draw.fontface.repeat.html.ini @@ -1,4 +1,3 @@ [2d.text.draw.fontface.repeat.html] [Draw with the font immediately, then wait a bit until and draw again. (This crashes some version of WebKit.)] expected: FAIL - diff --git a/tests/wpt/metadata-layout-2020/html/canvas/element/filters/2d.filter.canvasFilterObject.dropShadow.exceptions.tentative.html.ini b/tests/wpt/metadata-layout-2020/html/canvas/element/filters/2d.filter.canvasFilterObject.dropShadow.exceptions.tentative.html.ini new file mode 100644 index 00000000000..335168c7f52 --- /dev/null +++ b/tests/wpt/metadata-layout-2020/html/canvas/element/filters/2d.filter.canvasFilterObject.dropShadow.exceptions.tentative.html.ini @@ -0,0 +1,3 @@ +[2d.filter.canvasFilterObject.dropShadow.exceptions.tentative.html] + [Test exceptions on CanvasFilter() dropShadow object] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/html/canvas/element/filters/2d.filter.canvasFilterObject.dropShadow.tentative.html.ini b/tests/wpt/metadata-layout-2020/html/canvas/element/filters/2d.filter.canvasFilterObject.dropShadow.tentative.html.ini new file mode 100644 index 00000000000..5ff0d0fdbbc --- /dev/null +++ b/tests/wpt/metadata-layout-2020/html/canvas/element/filters/2d.filter.canvasFilterObject.dropShadow.tentative.html.ini @@ -0,0 +1,2 @@ +[2d.filter.canvasFilterObject.dropShadow.tentative.html] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/html/canvas/element/manual/drawing-text-to-the-canvas/canvas.2d.disconnected.html.ini b/tests/wpt/metadata-layout-2020/html/canvas/element/manual/drawing-text-to-the-canvas/canvas.2d.disconnected.html.ini index 2a54f2f8814..5cdcce07c65 100644 --- a/tests/wpt/metadata-layout-2020/html/canvas/element/manual/drawing-text-to-the-canvas/canvas.2d.disconnected.html.ini +++ b/tests/wpt/metadata-layout-2020/html/canvas/element/manual/drawing-text-to-the-canvas/canvas.2d.disconnected.html.ini @@ -1,2 +1,2 @@ [canvas.2d.disconnected.html] - expected: TIMEOUT + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/html/canvas/element/manual/transformations/canvas_transformations_reset_001.html.ini b/tests/wpt/metadata-layout-2020/html/canvas/element/manual/transformations/canvas_transformations_reset_001.html.ini new file mode 100644 index 00000000000..f0969ab9500 --- /dev/null +++ b/tests/wpt/metadata-layout-2020/html/canvas/element/manual/transformations/canvas_transformations_reset_001.html.ini @@ -0,0 +1,2 @@ +[canvas_transformations_reset_001.html] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/html/canvas/element/text-styles/2d.text.draw.space.collapse.start.html.ini b/tests/wpt/metadata-layout-2020/html/canvas/element/text-styles/2d.text.draw.space.collapse.start.html.ini index 2e400f45551..cb362816aec 100644 --- a/tests/wpt/metadata-layout-2020/html/canvas/element/text-styles/2d.text.draw.space.collapse.start.html.ini +++ b/tests/wpt/metadata-layout-2020/html/canvas/element/text-styles/2d.text.draw.space.collapse.start.html.ini @@ -1,4 +1,3 @@ [2d.text.draw.space.collapse.start.html] [Space characters at the start of a line are collapsed (per CSS)] expected: FAIL - diff --git a/tests/wpt/metadata-layout-2020/html/canvas/element/text-styles/2d.text.font.parse.basic.html.ini b/tests/wpt/metadata-layout-2020/html/canvas/element/text-styles/2d.text.font.parse.basic.html.ini index cbfa7e019c8..3a1a5ca5d81 100644 --- a/tests/wpt/metadata-layout-2020/html/canvas/element/text-styles/2d.text.font.parse.basic.html.ini +++ b/tests/wpt/metadata-layout-2020/html/canvas/element/text-styles/2d.text.font.parse.basic.html.ini @@ -1,4 +1,3 @@ [2d.text.font.parse.basic.html] [Canvas test: 2d.text.font.parse.basic] expected: FAIL - diff --git a/tests/wpt/metadata-layout-2020/html/canvas/element/text-styles/2d.text.font.parse.family.html.ini b/tests/wpt/metadata-layout-2020/html/canvas/element/text-styles/2d.text.font.parse.family.html.ini new file mode 100644 index 00000000000..9da2c367ec6 --- /dev/null +++ b/tests/wpt/metadata-layout-2020/html/canvas/element/text-styles/2d.text.font.parse.family.html.ini @@ -0,0 +1,3 @@ +[2d.text.font.parse.family.html] + [Canvas test: 2d.text.font.parse.family] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/html/canvas/element/text-styles/2d.text.font.parse.size.percentage.default.html.ini b/tests/wpt/metadata-layout-2020/html/canvas/element/text-styles/2d.text.font.parse.size.percentage.default.html.ini index e38e31fc416..5832d9c40ff 100644 --- a/tests/wpt/metadata-layout-2020/html/canvas/element/text-styles/2d.text.font.parse.size.percentage.default.html.ini +++ b/tests/wpt/metadata-layout-2020/html/canvas/element/text-styles/2d.text.font.parse.size.percentage.default.html.ini @@ -1,4 +1,3 @@ [2d.text.font.parse.size.percentage.default.html] [Canvas test: 2d.text.font.parse.size.percentage.default] expected: FAIL - diff --git a/tests/wpt/metadata-layout-2020/html/canvas/element/text-styles/2d.text.font.parse.size.percentage.html.ini b/tests/wpt/metadata-layout-2020/html/canvas/element/text-styles/2d.text.font.parse.size.percentage.html.ini index f88a6906139..c1c5ee6fd7e 100644 --- a/tests/wpt/metadata-layout-2020/html/canvas/element/text-styles/2d.text.font.parse.size.percentage.html.ini +++ b/tests/wpt/metadata-layout-2020/html/canvas/element/text-styles/2d.text.font.parse.size.percentage.html.ini @@ -1,4 +1,3 @@ [2d.text.font.parse.size.percentage.html] [Canvas test: 2d.text.font.parse.size.percentage] expected: FAIL - diff --git a/tests/wpt/metadata-layout-2020/html/canvas/element/text-styles/2d.text.font.parse.tiny.html.ini b/tests/wpt/metadata-layout-2020/html/canvas/element/text-styles/2d.text.font.parse.tiny.html.ini new file mode 100644 index 00000000000..2fd55db7f98 --- /dev/null +++ b/tests/wpt/metadata-layout-2020/html/canvas/element/text-styles/2d.text.font.parse.tiny.html.ini @@ -0,0 +1,3 @@ +[2d.text.font.parse.tiny.html] + [Canvas test: 2d.text.font.parse.tiny] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/html/canvas/element/text-styles/parent-style-relative-units.html.ini b/tests/wpt/metadata-layout-2020/html/canvas/element/text-styles/parent-style-relative-units.html.ini index 93b6a7e3452..0fd5ef5bae6 100644 --- a/tests/wpt/metadata-layout-2020/html/canvas/element/text-styles/parent-style-relative-units.html.ini +++ b/tests/wpt/metadata-layout-2020/html/canvas/element/text-styles/parent-style-relative-units.html.ini @@ -1,3 +1,6 @@ [parent-style-relative-units.html] [Font-size based on canvas element line-height] expected: FAIL + + [Font-size based on canvas element font-size] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/html/canvas/offscreen/compositing/2d.composite.canvas.clear.html.ini b/tests/wpt/metadata-layout-2020/html/canvas/offscreen/compositing/2d.composite.canvas.clear.html.ini new file mode 100644 index 00000000000..56b9d21ebcc --- /dev/null +++ b/tests/wpt/metadata-layout-2020/html/canvas/offscreen/compositing/2d.composite.canvas.clear.html.ini @@ -0,0 +1,3 @@ +[2d.composite.canvas.clear.html] + [OffscreenCanvas test: 2d.composite.canvas.clear] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/html/canvas/offscreen/compositing/2d.composite.canvas.clear.worker.js.ini b/tests/wpt/metadata-layout-2020/html/canvas/offscreen/compositing/2d.composite.canvas.clear.worker.js.ini new file mode 100644 index 00000000000..c17e51de2e4 --- /dev/null +++ b/tests/wpt/metadata-layout-2020/html/canvas/offscreen/compositing/2d.composite.canvas.clear.worker.js.ini @@ -0,0 +1,3 @@ +[2d.composite.canvas.clear.worker.html] + [2d] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/html/canvas/offscreen/compositing/2d.composite.image.clear.html.ini b/tests/wpt/metadata-layout-2020/html/canvas/offscreen/compositing/2d.composite.image.clear.html.ini new file mode 100644 index 00000000000..6c347f11d2c --- /dev/null +++ b/tests/wpt/metadata-layout-2020/html/canvas/offscreen/compositing/2d.composite.image.clear.html.ini @@ -0,0 +1,3 @@ +[2d.composite.image.clear.html] + [OffscreenCanvas test: 2d.composite.image.clear] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/html/canvas/offscreen/compositing/2d.composite.image.clear.worker.js.ini b/tests/wpt/metadata-layout-2020/html/canvas/offscreen/compositing/2d.composite.image.clear.worker.js.ini new file mode 100644 index 00000000000..e9b0556aada --- /dev/null +++ b/tests/wpt/metadata-layout-2020/html/canvas/offscreen/compositing/2d.composite.image.clear.worker.js.ini @@ -0,0 +1,3 @@ +[2d.composite.image.clear.worker.html] + [2d] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/html/canvas/offscreen/filters/2d.filter.canvasFilterObject.dropShadow.exceptions.tentative.html.ini b/tests/wpt/metadata-layout-2020/html/canvas/offscreen/filters/2d.filter.canvasFilterObject.dropShadow.exceptions.tentative.html.ini new file mode 100644 index 00000000000..0c57ad668a1 --- /dev/null +++ b/tests/wpt/metadata-layout-2020/html/canvas/offscreen/filters/2d.filter.canvasFilterObject.dropShadow.exceptions.tentative.html.ini @@ -0,0 +1,4 @@ +[2d.filter.canvasFilterObject.dropShadow.exceptions.tentative.html] + expected: ERROR + [Test exceptions on CanvasFilter() dropShadow object] + expected: TIMEOUT diff --git a/tests/wpt/metadata-layout-2020/html/canvas/offscreen/filters/2d.filter.canvasFilterObject.dropShadow.exceptions.tentative.worker.js.ini b/tests/wpt/metadata-layout-2020/html/canvas/offscreen/filters/2d.filter.canvasFilterObject.dropShadow.exceptions.tentative.worker.js.ini new file mode 100644 index 00000000000..04bb9f23cdb --- /dev/null +++ b/tests/wpt/metadata-layout-2020/html/canvas/offscreen/filters/2d.filter.canvasFilterObject.dropShadow.exceptions.tentative.worker.js.ini @@ -0,0 +1,3 @@ +[2d.filter.canvasFilterObject.dropShadow.exceptions.tentative.worker.html] + [Test exceptions on CanvasFilter() dropShadow object] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/html/canvas/offscreen/filters/2d.filter.canvasFilterObject.dropShadow.tentative.html.ini b/tests/wpt/metadata-layout-2020/html/canvas/offscreen/filters/2d.filter.canvasFilterObject.dropShadow.tentative.html.ini new file mode 100644 index 00000000000..5ff0d0fdbbc --- /dev/null +++ b/tests/wpt/metadata-layout-2020/html/canvas/offscreen/filters/2d.filter.canvasFilterObject.dropShadow.tentative.html.ini @@ -0,0 +1,2 @@ +[2d.filter.canvasFilterObject.dropShadow.tentative.html] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/html/canvas/offscreen/filters/2d.filter.canvasFilterObject.dropShadow.tentative.w.html.ini b/tests/wpt/metadata-layout-2020/html/canvas/offscreen/filters/2d.filter.canvasFilterObject.dropShadow.tentative.w.html.ini new file mode 100644 index 00000000000..a13ae9a3a41 --- /dev/null +++ b/tests/wpt/metadata-layout-2020/html/canvas/offscreen/filters/2d.filter.canvasFilterObject.dropShadow.tentative.w.html.ini @@ -0,0 +1,2 @@ +[2d.filter.canvasFilterObject.dropShadow.tentative.w.html] + expected: TIMEOUT diff --git a/tests/wpt/metadata-layout-2020/html/canvas/offscreen/manual/draw-generic-family/2d.text.draw.generic.family.html.ini b/tests/wpt/metadata-layout-2020/html/canvas/offscreen/manual/draw-generic-family/2d.text.draw.generic.family.html.ini deleted file mode 100644 index 6db5f539fc2..00000000000 --- a/tests/wpt/metadata-layout-2020/html/canvas/offscreen/manual/draw-generic-family/2d.text.draw.generic.family.html.ini +++ /dev/null @@ -1,15 +0,0 @@ -[2d.text.draw.generic.family.html] - [Test that drawing sans-serif produces the same result between canvas and OffscreenCanvas] - expected: FAIL - - [Test that drawing serif produces the same result between canvas and OffscreenCanvas] - expected: FAIL - - [Test that drawing cursive produces the same result between canvas and OffscreenCanvas] - expected: FAIL - - [Test that drawing fantasy produces the same result between canvas and OffscreenCanvas] - expected: FAIL - - [Test that drawing monospace produces the same result between canvas and OffscreenCanvas] - expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/html/canvas/offscreen/manual/draw-generic-family/2d.text.draw.generic.family.w.html.ini b/tests/wpt/metadata-layout-2020/html/canvas/offscreen/manual/draw-generic-family/2d.text.draw.generic.family.w.html.ini deleted file mode 100644 index ccd659eafb9..00000000000 --- a/tests/wpt/metadata-layout-2020/html/canvas/offscreen/manual/draw-generic-family/2d.text.draw.generic.family.w.html.ini +++ /dev/null @@ -1,16 +0,0 @@ -[2d.text.draw.generic.family.w.html] - expected: ERROR - [Test that drawing sans-serif produces the same result between canvas and OffscreenCanvas in a Worker] - expected: TIMEOUT - - [Test that drawing serif produces the same result between canvas and OffscreenCanvas in a Worker] - expected: TIMEOUT - - [Test that drawing cursive produces the same result between canvas and OffscreenCanvas in a Worker] - expected: TIMEOUT - - [Test that drawing fantasy produces the same result between canvas and OffscreenCanvas in a Worker] - expected: TIMEOUT - - [Test that drawing monospace produces the same result between canvas and OffscreenCanvas in a Worker] - expected: TIMEOUT diff --git a/tests/wpt/metadata-layout-2020/html/dom/elements/the-innertext-and-outertext-properties/getter.html.ini b/tests/wpt/metadata-layout-2020/html/dom/elements/the-innertext-and-outertext-properties/getter.html.ini index 0078fb61128..bd08ee19299 100644 --- a/tests/wpt/metadata-layout-2020/html/dom/elements/the-innertext-and-outertext-properties/getter.html.ini +++ b/tests/wpt/metadata-layout-2020/html/dom/elements/the-innertext-and-outertext-properties/getter.html.ini @@ -745,3 +745,18 @@ [Flex items blockified ("<div style='display:flex'><span>1</span><span>2</span></div>")] expected: FAIL + + [display:contents container ("<div style='display:contents'>abc")] + expected: FAIL + + [display:contents container ("<div><div style='display:contents'>abc")] + expected: FAIL + + [display:contents rendered ("<div>123<span style='display:contents'>abc")] + expected: FAIL + + [display:contents not processed via textContent ("<div style='display:contents'> ")] + expected: FAIL + + [display:contents not processed via textContent ("<div><div style='display:contents'> ")] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/html/interaction/focus/the-autofocus-attribute/autofocus-dialog.html.ini b/tests/wpt/metadata-layout-2020/html/interaction/focus/the-autofocus-attribute/autofocus-dialog.html.ini index 830aeb8ae48..fdc27d37788 100644 --- a/tests/wpt/metadata-layout-2020/html/interaction/focus/the-autofocus-attribute/autofocus-dialog.html.ini +++ b/tests/wpt/metadata-layout-2020/html/interaction/focus/the-autofocus-attribute/autofocus-dialog.html.ini @@ -1,7 +1,6 @@ [autofocus-dialog.html] - expected: TIMEOUT [<dialog> can contain autofocus, without stopping page autofocus content from working] expected: FAIL [<dialog>-contained autofocus element gets focused when the dialog is shown] - expected: TIMEOUT + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/html/interaction/focus/the-autofocus-attribute/skip-another-top-level-browsing-context.html.ini b/tests/wpt/metadata-layout-2020/html/interaction/focus/the-autofocus-attribute/skip-another-top-level-browsing-context.html.ini new file mode 100644 index 00000000000..1404529e360 --- /dev/null +++ b/tests/wpt/metadata-layout-2020/html/interaction/focus/the-autofocus-attribute/skip-another-top-level-browsing-context.html.ini @@ -0,0 +1,4 @@ +[skip-another-top-level-browsing-context.html] + expected: TIMEOUT + [Autofocus elements queued in another top-level browsing context's documents should be skipped.] + expected: TIMEOUT diff --git a/tests/wpt/metadata-layout-2020/html/interaction/focus/the-autofocus-attribute/update-the-rendering.html.ini b/tests/wpt/metadata-layout-2020/html/interaction/focus/the-autofocus-attribute/update-the-rendering.html.ini index d30d032e7b5..865b8601bae 100644 --- a/tests/wpt/metadata-layout-2020/html/interaction/focus/the-autofocus-attribute/update-the-rendering.html.ini +++ b/tests/wpt/metadata-layout-2020/html/interaction/focus/the-autofocus-attribute/update-the-rendering.html.ini @@ -1,4 +1,3 @@ [update-the-rendering.html] - expected: TIMEOUT ["Flush autofocus candidates" should be happen before a scroll event and animation frame callbacks] - expected: TIMEOUT + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/html/rendering/non-replaced-elements/flow-content-0/div-align.html.ini b/tests/wpt/metadata-layout-2020/html/rendering/non-replaced-elements/flow-content-0/div-align.html.ini new file mode 100644 index 00000000000..1778b648a06 --- /dev/null +++ b/tests/wpt/metadata-layout-2020/html/rendering/non-replaced-elements/flow-content-0/div-align.html.ini @@ -0,0 +1,2 @@ +[div-align.html] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/html/rendering/non-replaced-elements/form-controls/input-line-height.html.ini b/tests/wpt/metadata-layout-2020/html/rendering/non-replaced-elements/form-controls/input-line-height.html.ini deleted file mode 100644 index 3e33f7b0fcd..00000000000 --- a/tests/wpt/metadata-layout-2020/html/rendering/non-replaced-elements/form-controls/input-line-height.html.ini +++ /dev/null @@ -1,2 +0,0 @@ -[input-line-height.html] - expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/html/rendering/non-replaced-elements/phrasing-content-0/font-element-text-decoration-color/001-a.html.ini b/tests/wpt/metadata-layout-2020/html/rendering/non-replaced-elements/phrasing-content-0/font-element-text-decoration-color/001-a.html.ini new file mode 100644 index 00000000000..2b8f0be1aad --- /dev/null +++ b/tests/wpt/metadata-layout-2020/html/rendering/non-replaced-elements/phrasing-content-0/font-element-text-decoration-color/001-a.html.ini @@ -0,0 +1,2 @@ +[001-a.html] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/html/rendering/non-replaced-elements/phrasing-content-0/font-element-text-decoration-color/001-q.html.ini b/tests/wpt/metadata-layout-2020/html/rendering/non-replaced-elements/phrasing-content-0/font-element-text-decoration-color/001-q.html.ini new file mode 100644 index 00000000000..054fce45e96 --- /dev/null +++ b/tests/wpt/metadata-layout-2020/html/rendering/non-replaced-elements/phrasing-content-0/font-element-text-decoration-color/001-q.html.ini @@ -0,0 +1,2 @@ +[001-q.html] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/html/rendering/non-replaced-elements/phrasing-content-0/font-element-text-decoration-color/001-s.html.ini b/tests/wpt/metadata-layout-2020/html/rendering/non-replaced-elements/phrasing-content-0/font-element-text-decoration-color/001-s.html.ini new file mode 100644 index 00000000000..2ccd26207f1 --- /dev/null +++ b/tests/wpt/metadata-layout-2020/html/rendering/non-replaced-elements/phrasing-content-0/font-element-text-decoration-color/001-s.html.ini @@ -0,0 +1,2 @@ +[001-s.html] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/html/rendering/non-replaced-elements/phrasing-content-0/font-element-text-decoration-color/001-x.xhtml.ini b/tests/wpt/metadata-layout-2020/html/rendering/non-replaced-elements/phrasing-content-0/font-element-text-decoration-color/001-x.xhtml.ini new file mode 100644 index 00000000000..7f2e9c237d1 --- /dev/null +++ b/tests/wpt/metadata-layout-2020/html/rendering/non-replaced-elements/phrasing-content-0/font-element-text-decoration-color/001-x.xhtml.ini @@ -0,0 +1,2 @@ +[001-x.xhtml] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/html/rendering/non-replaced-elements/tables/hidden-attr.html.ini b/tests/wpt/metadata-layout-2020/html/rendering/non-replaced-elements/tables/hidden-attr.html.ini new file mode 100644 index 00000000000..a976d5370c8 --- /dev/null +++ b/tests/wpt/metadata-layout-2020/html/rendering/non-replaced-elements/tables/hidden-attr.html.ini @@ -0,0 +1,24 @@ +[hidden-attr.html] + [Computed display and visibility of colgroup] + expected: FAIL + + [Computed display and visibility of col] + expected: FAIL + + [Computed display and visibility of thead] + expected: FAIL + + [Computed display and visibility of tbody] + expected: FAIL + + [Computed display and visibility of tfoot] + expected: FAIL + + [Computed display and visibility of tr] + expected: FAIL + + [Computed display and visibility of td] + expected: FAIL + + [Computed display and visibility of th] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/html/rendering/non-replaced-elements/tables/table-cell-width-s.html.ini b/tests/wpt/metadata-layout-2020/html/rendering/non-replaced-elements/tables/table-cell-width-s.html.ini new file mode 100644 index 00000000000..261f19dd7f7 --- /dev/null +++ b/tests/wpt/metadata-layout-2020/html/rendering/non-replaced-elements/tables/table-cell-width-s.html.ini @@ -0,0 +1,2 @@ +[table-cell-width-s.html] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/html/rendering/non-replaced-elements/tables/table-cell-width.html.ini b/tests/wpt/metadata-layout-2020/html/rendering/non-replaced-elements/tables/table-cell-width.html.ini new file mode 100644 index 00000000000..5073e1f0a94 --- /dev/null +++ b/tests/wpt/metadata-layout-2020/html/rendering/non-replaced-elements/tables/table-cell-width.html.ini @@ -0,0 +1,2 @@ +[table-cell-width.html] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/html/rendering/non-replaced-elements/tables/table-column-width.html.ini b/tests/wpt/metadata-layout-2020/html/rendering/non-replaced-elements/tables/table-column-width.html.ini index b0c28c2b4e3..751d06fa211 100644 --- a/tests/wpt/metadata-layout-2020/html/rendering/non-replaced-elements/tables/table-column-width.html.ini +++ b/tests/wpt/metadata-layout-2020/html/rendering/non-replaced-elements/tables/table-column-width.html.ini @@ -1,2 +1,2 @@ [table-column-width.html] - expected: TIMEOUT + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/html/rendering/non-replaced-elements/tables/table-ua-stylesheet.html.ini b/tests/wpt/metadata-layout-2020/html/rendering/non-replaced-elements/tables/table-ua-stylesheet.html.ini new file mode 100644 index 00000000000..a8d8a1f37fa --- /dev/null +++ b/tests/wpt/metadata-layout-2020/html/rendering/non-replaced-elements/tables/table-ua-stylesheet.html.ini @@ -0,0 +1,3 @@ +[table-ua-stylesheet.html] + [Computed 'display' on table should match html spec] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/html/rendering/non-replaced-elements/tables/table-valign-baseline-ascii-case-insensitive.html.ini b/tests/wpt/metadata-layout-2020/html/rendering/non-replaced-elements/tables/table-valign-baseline-ascii-case-insensitive.html.ini new file mode 100644 index 00000000000..bcd07904c79 --- /dev/null +++ b/tests/wpt/metadata-layout-2020/html/rendering/non-replaced-elements/tables/table-valign-baseline-ascii-case-insensitive.html.ini @@ -0,0 +1,3 @@ +[table-valign-baseline-ascii-case-insensitive.html] + [keyword baseline] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/html/rendering/non-replaced-elements/tables/table-width-s.html.ini b/tests/wpt/metadata-layout-2020/html/rendering/non-replaced-elements/tables/table-width-s.html.ini new file mode 100644 index 00000000000..f1222061141 --- /dev/null +++ b/tests/wpt/metadata-layout-2020/html/rendering/non-replaced-elements/tables/table-width-s.html.ini @@ -0,0 +1,2 @@ +[table-width-s.html] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/html/rendering/non-replaced-elements/tables/table-width.html.ini b/tests/wpt/metadata-layout-2020/html/rendering/non-replaced-elements/tables/table-width.html.ini new file mode 100644 index 00000000000..864cc81c711 --- /dev/null +++ b/tests/wpt/metadata-layout-2020/html/rendering/non-replaced-elements/tables/table-width.html.ini @@ -0,0 +1,2 @@ +[table-width.html] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/html/rendering/non-replaced-elements/the-fieldset-and-legend-elements/fieldset-baseline.html.ini b/tests/wpt/metadata-layout-2020/html/rendering/non-replaced-elements/the-fieldset-and-legend-elements/fieldset-baseline.html.ini new file mode 100644 index 00000000000..bc427012c45 --- /dev/null +++ b/tests/wpt/metadata-layout-2020/html/rendering/non-replaced-elements/the-fieldset-and-legend-elements/fieldset-baseline.html.ini @@ -0,0 +1,2 @@ +[fieldset-baseline.html] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/html/rendering/non-replaced-elements/the-fieldset-and-legend-elements/fieldset-display.html.ini b/tests/wpt/metadata-layout-2020/html/rendering/non-replaced-elements/the-fieldset-and-legend-elements/fieldset-display.html.ini index 7ed9cadf302..df989726d7e 100644 --- a/tests/wpt/metadata-layout-2020/html/rendering/non-replaced-elements/the-fieldset-and-legend-elements/fieldset-display.html.ini +++ b/tests/wpt/metadata-layout-2020/html/rendering/non-replaced-elements/the-fieldset-and-legend-elements/fieldset-display.html.ini @@ -26,12 +26,6 @@ [fieldset with display: table-caption] expected: FAIL - [fieldset with display: list-item] - expected: FAIL - - [fieldset with display: flow-root] - expected: FAIL - [fieldset with display: run-in] expected: FAIL @@ -55,4 +49,3 @@ [fieldset with display: ruby-text-container] expected: FAIL - diff --git a/tests/wpt/metadata-layout-2020/html/rendering/non-replaced-elements/the-fieldset-and-legend-elements/fieldset-flexbox.html.ini b/tests/wpt/metadata-layout-2020/html/rendering/non-replaced-elements/the-fieldset-and-legend-elements/fieldset-flexbox.html.ini index ac9b670991a..b7d1de3073d 100644 --- a/tests/wpt/metadata-layout-2020/html/rendering/non-replaced-elements/the-fieldset-and-legend-elements/fieldset-flexbox.html.ini +++ b/tests/wpt/metadata-layout-2020/html/rendering/non-replaced-elements/the-fieldset-and-legend-elements/fieldset-flexbox.html.ini @@ -1,2 +1,9 @@ [fieldset-flexbox.html] - expected: CRASH + [Flex] + expected: FAIL + + [Inline flex] + expected: FAIL + + [Dynamic change of flex-direction] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/html/rendering/non-replaced-elements/the-fieldset-and-legend-elements/fieldset-percentage-block-size.html.ini b/tests/wpt/metadata-layout-2020/html/rendering/non-replaced-elements/the-fieldset-and-legend-elements/fieldset-percentage-block-size.html.ini new file mode 100644 index 00000000000..7fe8ec9418a --- /dev/null +++ b/tests/wpt/metadata-layout-2020/html/rendering/non-replaced-elements/the-fieldset-and-legend-elements/fieldset-percentage-block-size.html.ini @@ -0,0 +1,18 @@ +[fieldset-percentage-block-size.html] + [second legend (writing-mode: horizontal-tb)] + expected: FAIL + + [div (writing-mode: horizontal-tb)] + expected: FAIL + + [second legend (writing-mode: vertical-lr)] + expected: FAIL + + [div (writing-mode: vertical-lr)] + expected: FAIL + + [second legend (writing-mode: vertical-rl)] + expected: FAIL + + [div (writing-mode: vertical-rl)] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/html/rendering/non-replaced-elements/the-fieldset-and-legend-elements/legend-block-formatting-context.html.ini b/tests/wpt/metadata-layout-2020/html/rendering/non-replaced-elements/the-fieldset-and-legend-elements/legend-block-formatting-context.html.ini new file mode 100644 index 00000000000..2f8267ffdb1 --- /dev/null +++ b/tests/wpt/metadata-layout-2020/html/rendering/non-replaced-elements/the-fieldset-and-legend-elements/legend-block-formatting-context.html.ini @@ -0,0 +1,12 @@ +[legend-block-formatting-context.html] + [in-body] + expected: FAIL + + [rendered-legend] + expected: FAIL + + [in-fieldset-second-child] + expected: FAIL + + [in-fieldset-descendant] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/html/rendering/non-replaced-elements/the-fieldset-and-legend-elements/legend-display.html.ini b/tests/wpt/metadata-layout-2020/html/rendering/non-replaced-elements/the-fieldset-and-legend-elements/legend-display.html.ini index a3c0e04a56f..8285b631508 100644 --- a/tests/wpt/metadata-layout-2020/html/rendering/non-replaced-elements/the-fieldset-and-legend-elements/legend-display.html.ini +++ b/tests/wpt/metadata-layout-2020/html/rendering/non-replaced-elements/the-fieldset-and-legend-elements/legend-display.html.ini @@ -74,9 +74,6 @@ [rendered legend with display: inline] expected: FAIL - [rendered legend with display: flow-root; overflow:hidden;columns:1] - expected: FAIL - [rendered legend with display: ruby-base-container] expected: FAIL @@ -95,9 +92,6 @@ [rendered legend with display: inline; overflow:hidden] expected: FAIL - [rendered legend with display: flow-root] - expected: FAIL - [rendered legend with display: table-footer-group; overflow:hidden;columns:1] expected: FAIL @@ -113,15 +107,9 @@ [rendered legend with display: ruby; overflow:hidden] expected: FAIL - [rendered legend with display: list-item; overflow:hidden;columns:1] - expected: FAIL - [rendered legend with display: table-row; overflow:hidden;columns:1] expected: FAIL - [rendered legend with display: flow-root; overflow:hidden] - expected: FAIL - [rendered legend with display: inline-grid; columns:1] expected: FAIL @@ -182,9 +170,6 @@ [rendered legend with display: table-column; columns:1] expected: FAIL - [rendered legend with display: flow-root; columns:1] - expected: FAIL - [rendered legend with display: table-caption; columns:1] expected: FAIL @@ -215,12 +200,6 @@ [rendered legend with display: table-caption; overflow:hidden;columns:1] expected: FAIL - [rendered legend with display: list-item] - expected: FAIL - - [rendered legend with display: list-item; overflow:hidden] - expected: FAIL - [rendered legend with display: ruby-text; columns:1] expected: FAIL @@ -242,9 +221,6 @@ [rendered legend with display: ruby-text] expected: FAIL - [rendered legend with display: list-item; columns:1] - expected: FAIL - [rendered legend with display: table; columns:1] expected: FAIL @@ -287,3 +263,14 @@ [rendered legend with display: table-cell; overflow:hidden] expected: FAIL + [rendered legend with display: inline-table] + expected: FAIL + + [rendered legend with display: inline-table; overflow:hidden] + expected: FAIL + + [rendered legend with display: inline-table; columns:1] + expected: FAIL + + [rendered legend with display: inline-table; overflow:hidden;columns:1] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/html/rendering/non-replaced-elements/the-fieldset-and-legend-elements/legend-grid-flex-multicol.html.ini b/tests/wpt/metadata-layout-2020/html/rendering/non-replaced-elements/the-fieldset-and-legend-elements/legend-grid-flex-multicol.html.ini new file mode 100644 index 00000000000..a714daf30d3 --- /dev/null +++ b/tests/wpt/metadata-layout-2020/html/rendering/non-replaced-elements/the-fieldset-and-legend-elements/legend-grid-flex-multicol.html.ini @@ -0,0 +1,15 @@ +[legend-grid-flex-multicol.html] + [flex] + expected: FAIL + + [inline-flex] + expected: FAIL + + [grid] + expected: FAIL + + [inline-grid] + expected: FAIL + + [multicol] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/html/rendering/non-replaced-elements/the-fieldset-and-legend-elements/legend-sans-fieldset-display.html.ini b/tests/wpt/metadata-layout-2020/html/rendering/non-replaced-elements/the-fieldset-and-legend-elements/legend-sans-fieldset-display.html.ini new file mode 100644 index 00000000000..38a52d65fd0 --- /dev/null +++ b/tests/wpt/metadata-layout-2020/html/rendering/non-replaced-elements/the-fieldset-and-legend-elements/legend-sans-fieldset-display.html.ini @@ -0,0 +1,24 @@ +[legend-sans-fieldset-display.html] + [.table] + expected: FAIL + + [.caption] + expected: FAIL + + [.col] + expected: FAIL + + [.tbody] + expected: FAIL + + [.tr] + expected: FAIL + + [.td] + expected: FAIL + + [.ruby] + expected: FAIL + + [.rt] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/html/rendering/non-replaced-elements/the-fieldset-and-legend-elements/sticky-content.html.ini b/tests/wpt/metadata-layout-2020/html/rendering/non-replaced-elements/the-fieldset-and-legend-elements/sticky-content.html.ini new file mode 100644 index 00000000000..b391e504aa3 --- /dev/null +++ b/tests/wpt/metadata-layout-2020/html/rendering/non-replaced-elements/the-fieldset-and-legend-elements/sticky-content.html.ini @@ -0,0 +1,2 @@ +[sticky-content.html] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/html/rendering/pixel-length-attributes.html.ini b/tests/wpt/metadata-layout-2020/html/rendering/pixel-length-attributes.html.ini new file mode 100644 index 00000000000..fea4b9866e9 --- /dev/null +++ b/tests/wpt/metadata-layout-2020/html/rendering/pixel-length-attributes.html.ini @@ -0,0 +1,208 @@ +[pixel-length-attributes.html] + expected: ERROR + [<iframe marginwidth="200"> mapping to marginLeft] + expected: FAIL + + [<iframe marginwidth="1007"> mapping to marginLeft] + expected: FAIL + + [<iframe marginwidth=" 00523 "> mapping to marginLeft] + expected: FAIL + + [<iframe marginwidth="200."> mapping to marginLeft] + expected: FAIL + + [<iframe marginwidth="200.25"> mapping to marginLeft] + expected: FAIL + + [<iframe marginwidth="200.7"> mapping to marginLeft] + expected: FAIL + + [<iframe marginwidth="0"> mapping to marginLeft] + expected: FAIL + + [<iframe marginwidth="-0"> mapping to marginLeft] + expected: FAIL + + [<iframe marginwidth="+0"> mapping to marginLeft] + expected: FAIL + + [<iframe marginwidth="+200"> mapping to marginLeft] + expected: FAIL + + [<iframe marginwidth="200in"> mapping to marginLeft] + expected: FAIL + + [<iframe marginwidth="200.25in"> mapping to marginLeft] + expected: FAIL + + [<iframe marginwidth=" +200in "> mapping to marginLeft] + expected: FAIL + + [<iframe marginwidth="200%"> mapping to marginLeft] + expected: FAIL + + [<iframe marginwidth="200.%"> mapping to marginLeft] + expected: FAIL + + [<iframe marginwidth="200.25%"> mapping to marginLeft] + expected: FAIL + + [<iframe marginwidth="200"> mapping to marginRight] + expected: FAIL + + [<iframe marginwidth="1007"> mapping to marginRight] + expected: FAIL + + [<iframe marginwidth=" 00523 "> mapping to marginRight] + expected: FAIL + + [<iframe marginwidth="200."> mapping to marginRight] + expected: FAIL + + [<iframe marginwidth="200.25"> mapping to marginRight] + expected: FAIL + + [<iframe marginwidth="200.7"> mapping to marginRight] + expected: FAIL + + [<iframe marginwidth="0"> mapping to marginRight] + expected: FAIL + + [<iframe marginwidth="-0"> mapping to marginRight] + expected: FAIL + + [<iframe marginwidth="+0"> mapping to marginRight] + expected: FAIL + + [<iframe marginwidth="+200"> mapping to marginRight] + expected: FAIL + + [<iframe marginwidth="200in"> mapping to marginRight] + expected: FAIL + + [<iframe marginwidth="200.25in"> mapping to marginRight] + expected: FAIL + + [<iframe marginwidth=" +200in "> mapping to marginRight] + expected: FAIL + + [<iframe marginwidth="200%"> mapping to marginRight] + expected: FAIL + + [<iframe marginwidth="200.%"> mapping to marginRight] + expected: FAIL + + [<iframe marginwidth="200.25%"> mapping to marginRight] + expected: FAIL + + [<iframe marginwidth="-200"> mapping to marginRight] + expected: FAIL + + [<iframe marginwidth="-200px"> mapping to marginRight] + expected: FAIL + + [<iframe marginwidth=" -200"> mapping to marginRight] + expected: FAIL + + [<iframe marginwidth="+-200"> mapping to marginRight] + expected: FAIL + + [<iframe marginwidth="-+200"> mapping to marginRight] + expected: FAIL + + [<iframe marginheight="200"> mapping to marginTop] + expected: FAIL + + [<iframe marginheight="1007"> mapping to marginTop] + expected: FAIL + + [<iframe marginheight=" 00523 "> mapping to marginTop] + expected: FAIL + + [<iframe marginheight="200."> mapping to marginTop] + expected: FAIL + + [<iframe marginheight="200.25"> mapping to marginTop] + expected: FAIL + + [<iframe marginheight="200.7"> mapping to marginTop] + expected: FAIL + + [<iframe marginheight="0"> mapping to marginTop] + expected: FAIL + + [<iframe marginheight="-0"> mapping to marginTop] + expected: FAIL + + [<iframe marginheight="+0"> mapping to marginTop] + expected: FAIL + + [<iframe marginheight="+200"> mapping to marginTop] + expected: FAIL + + [<iframe marginheight="200in"> mapping to marginTop] + expected: FAIL + + [<iframe marginheight="200.25in"> mapping to marginTop] + expected: FAIL + + [<iframe marginheight=" +200in "> mapping to marginTop] + expected: FAIL + + [<iframe marginheight="200%"> mapping to marginTop] + expected: FAIL + + [<iframe marginheight="200.%"> mapping to marginTop] + expected: FAIL + + [<iframe marginheight="200.25%"> mapping to marginTop] + expected: FAIL + + [<iframe marginheight="200"> mapping to marginBottom] + expected: FAIL + + [<iframe marginheight="1007"> mapping to marginBottom] + expected: FAIL + + [<iframe marginheight=" 00523 "> mapping to marginBottom] + expected: FAIL + + [<iframe marginheight="200."> mapping to marginBottom] + expected: FAIL + + [<iframe marginheight="200.25"> mapping to marginBottom] + expected: FAIL + + [<iframe marginheight="200.7"> mapping to marginBottom] + expected: FAIL + + [<iframe marginheight="0"> mapping to marginBottom] + expected: FAIL + + [<iframe marginheight="-0"> mapping to marginBottom] + expected: FAIL + + [<iframe marginheight="+0"> mapping to marginBottom] + expected: FAIL + + [<iframe marginheight="+200"> mapping to marginBottom] + expected: FAIL + + [<iframe marginheight="200in"> mapping to marginBottom] + expected: FAIL + + [<iframe marginheight="200.25in"> mapping to marginBottom] + expected: FAIL + + [<iframe marginheight=" +200in "> mapping to marginBottom] + expected: FAIL + + [<iframe marginheight="200%"> mapping to marginBottom] + expected: FAIL + + [<iframe marginheight="200.%"> mapping to marginBottom] + expected: FAIL + + [<iframe marginheight="200.25%"> mapping to marginBottom] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/html/rendering/replaced-elements/attributes-for-embedded-content-and-images/align.html.ini b/tests/wpt/metadata-layout-2020/html/rendering/replaced-elements/attributes-for-embedded-content-and-images/align.html.ini new file mode 100644 index 00000000000..23db5ae52e1 --- /dev/null +++ b/tests/wpt/metadata-layout-2020/html/rendering/replaced-elements/attributes-for-embedded-content-and-images/align.html.ini @@ -0,0 +1,60 @@ +[align.html] + [align=left on replaced elements] + expected: FAIL + + [align=left on non-replaced elements] + expected: FAIL + + [align=right on replaced elements] + expected: FAIL + + [align=right on non-replaced elements] + expected: FAIL + + [align=top on replaced elements] + expected: FAIL + + [align=top on non-replaced elements] + expected: FAIL + + [align=middle on non-replaced elements] + expected: FAIL + + [align=center on non-replaced elements] + expected: FAIL + + [align=baseline on replaced elements] + expected: FAIL + + [align=baseline on non-replaced elements] + expected: FAIL + + [align=bottom on replaced elements] + expected: FAIL + + [align=bottom on non-replaced elements] + expected: FAIL + + [align=texttop on replaced elements] + expected: FAIL + + [align=texttop on non-replaced elements] + expected: FAIL + + [align=absmiddle on replaced elements] + expected: FAIL + + [align=absmiddle on non-replaced elements] + expected: FAIL + + [align=abscenter on replaced elements] + expected: FAIL + + [align=abscenter on non-replaced elements] + expected: FAIL + + [align=absbottom on replaced elements] + expected: FAIL + + [align=absbottom on non-replaced elements] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/html/rendering/replaced-elements/attributes-for-embedded-content-and-images/canvas-aspect-ratio.html.ini b/tests/wpt/metadata-layout-2020/html/rendering/replaced-elements/attributes-for-embedded-content-and-images/canvas-aspect-ratio.html.ini index ec2747cb87e..1503151c30d 100644 --- a/tests/wpt/metadata-layout-2020/html/rendering/replaced-elements/attributes-for-embedded-content-and-images/canvas-aspect-ratio.html.ini +++ b/tests/wpt/metadata-layout-2020/html/rendering/replaced-elements/attributes-for-embedded-content-and-images/canvas-aspect-ratio.html.ini @@ -19,3 +19,24 @@ [Computed style test: canvas with {"width":"10%","height":"20"}] expected: FAIL + + [Canvas width and height attributes are used as the surface size with contain:size] + expected: FAIL + + [Canvas width and height attributes are used as the surface size] + expected: FAIL + + [Computed style test: canvas with {"width":null,"height":null}] + expected: FAIL + + [Computed style test: canvas with {"width":"10","height":null}] + expected: FAIL + + [Computed style test: canvas with {"width":null,"height":"20"}] + expected: FAIL + + [Computed style test: canvas with {"width":"xx","height":"20"}] + expected: FAIL + + [Computed style test: canvas with {"width":"20","height":"xx"}] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/html/rendering/replaced-elements/attributes-for-embedded-content-and-images/img-aspect-ratio.html.ini b/tests/wpt/metadata-layout-2020/html/rendering/replaced-elements/attributes-for-embedded-content-and-images/img-aspect-ratio.html.ini index c86bf3cd3ca..acf5c106b0e 100644 --- a/tests/wpt/metadata-layout-2020/html/rendering/replaced-elements/attributes-for-embedded-content-and-images/img-aspect-ratio.html.ini +++ b/tests/wpt/metadata-layout-2020/html/rendering/replaced-elements/attributes-for-embedded-content-and-images/img-aspect-ratio.html.ini @@ -49,3 +49,72 @@ [Loaded images test: Error image with width, height and alt attributes] expected: FAIL + + [Computed style test: input with {"type":"submit","width":"10","height":"20"}] + expected: FAIL + + [Computed style test: input with {"type":"submit","width":"0","height":"1"}] + expected: FAIL + + [Computed style test: input with {"type":"submit","width":"1","height":"0"}] + expected: FAIL + + [Computed style test: input with {"type":"submit","width":"0","height":"0"}] + expected: FAIL + + [Computed style test: input with {"type":"submit","width":"0.5","height":"1.5"}] + expected: FAIL + + [Computed style test: img with {"width":null,"height":null}] + expected: FAIL + + [Computed style test: input with {"type":"image","width":null,"height":null}] + expected: FAIL + + [Computed style test: input with {"type":"submit","width":null,"height":null}] + expected: FAIL + + [Computed style test: img with {"width":"10","height":null}] + expected: FAIL + + [Computed style test: input with {"type":"image","width":"10","height":null}] + expected: FAIL + + [Computed style test: input with {"type":"submit","width":"10","height":null}] + expected: FAIL + + [Computed style test: img with {"width":null,"height":"20"}] + expected: FAIL + + [Computed style test: input with {"type":"image","width":null,"height":"20"}] + expected: FAIL + + [Computed style test: input with {"type":"submit","width":null,"height":"20"}] + expected: FAIL + + [Computed style test: img with {"width":"xx","height":"20"}] + expected: FAIL + + [Computed style test: input with {"type":"image","width":"xx","height":"20"}] + expected: FAIL + + [Computed style test: input with {"type":"submit","width":"xx","height":"20"}] + expected: FAIL + + [Computed style test: img with {"width":"10%","height":"20"}] + expected: FAIL + + [Computed style test: input with {"type":"image","width":"10%","height":"20"}] + expected: FAIL + + [Computed style test: input with {"type":"submit","width":"10%","height":"20"}] + expected: FAIL + + [Loaded images test: <img> without width height attributes] + expected: FAIL + + [Loaded images test: <img> with width and height attributes, but conflicting to the original aspect ratio] + expected: FAIL + + [Loaded images test: <img> with width and height attributes, but not equal to the original aspect ratio] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/html/rendering/replaced-elements/attributes-for-embedded-content-and-images/object_border_perc.xhtml.ini b/tests/wpt/metadata-layout-2020/html/rendering/replaced-elements/attributes-for-embedded-content-and-images/object_border_perc.xhtml.ini new file mode 100644 index 00000000000..8c2e29bb6bc --- /dev/null +++ b/tests/wpt/metadata-layout-2020/html/rendering/replaced-elements/attributes-for-embedded-content-and-images/object_border_perc.xhtml.ini @@ -0,0 +1,2 @@ +[object_border_perc.xhtml] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/html/rendering/replaced-elements/attributes-for-embedded-content-and-images/object_border_pixel.xhtml.ini b/tests/wpt/metadata-layout-2020/html/rendering/replaced-elements/attributes-for-embedded-content-and-images/object_border_pixel.xhtml.ini new file mode 100644 index 00000000000..039aa07440b --- /dev/null +++ b/tests/wpt/metadata-layout-2020/html/rendering/replaced-elements/attributes-for-embedded-content-and-images/object_border_pixel.xhtml.ini @@ -0,0 +1,2 @@ +[object_border_pixel.xhtml] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/html/rendering/replaced-elements/attributes-for-embedded-content-and-images/picture-aspect-ratio.html.ini b/tests/wpt/metadata-layout-2020/html/rendering/replaced-elements/attributes-for-embedded-content-and-images/picture-aspect-ratio.html.ini index b896e0912e9..67d7178b325 100644 --- a/tests/wpt/metadata-layout-2020/html/rendering/replaced-elements/attributes-for-embedded-content-and-images/picture-aspect-ratio.html.ini +++ b/tests/wpt/metadata-layout-2020/html/rendering/replaced-elements/attributes-for-embedded-content-and-images/picture-aspect-ratio.html.ini @@ -43,3 +43,6 @@ [Loaded picture test: Both <source> and <img> are with width and height attributes] expected: FAIL + + [Loaded picture test: Both <source> and <img> are without width and height attributes] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/html/rendering/replaced-elements/the-option-element/select-multiple-covered-by-abspos.html.ini b/tests/wpt/metadata-layout-2020/html/rendering/replaced-elements/the-option-element/select-multiple-covered-by-abspos.html.ini new file mode 100644 index 00000000000..07645e655f6 --- /dev/null +++ b/tests/wpt/metadata-layout-2020/html/rendering/replaced-elements/the-option-element/select-multiple-covered-by-abspos.html.ini @@ -0,0 +1,2 @@ +[select-multiple-covered-by-abspos.html] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/html/rendering/the-details-element/summary-display-flex.html.ini b/tests/wpt/metadata-layout-2020/html/rendering/the-details-element/summary-display-flex.html.ini new file mode 100644 index 00000000000..285f423f5d9 --- /dev/null +++ b/tests/wpt/metadata-layout-2020/html/rendering/the-details-element/summary-display-flex.html.ini @@ -0,0 +1,2 @@ +[summary-display-flex.html] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/html/rendering/the-details-element/summary-display-inline-flex.html.ini b/tests/wpt/metadata-layout-2020/html/rendering/the-details-element/summary-display-inline-flex.html.ini new file mode 100644 index 00000000000..7e2b3d47f03 --- /dev/null +++ b/tests/wpt/metadata-layout-2020/html/rendering/the-details-element/summary-display-inline-flex.html.ini @@ -0,0 +1,2 @@ +[summary-display-inline-flex.html] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/html/rendering/the-details-element/summary-display-list-item-002.html.ini b/tests/wpt/metadata-layout-2020/html/rendering/the-details-element/summary-display-list-item-002.html.ini deleted file mode 100644 index 2a6508de5a4..00000000000 --- a/tests/wpt/metadata-layout-2020/html/rendering/the-details-element/summary-display-list-item-002.html.ini +++ /dev/null @@ -1,2 +0,0 @@ -[summary-display-list-item-002.html] - expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/html/rendering/widgets/baseline-alignment-and-overflow.tentative.html.ini b/tests/wpt/metadata-layout-2020/html/rendering/widgets/baseline-alignment-and-overflow.tentative.html.ini new file mode 100644 index 00000000000..7f1dd8e36a9 --- /dev/null +++ b/tests/wpt/metadata-layout-2020/html/rendering/widgets/baseline-alignment-and-overflow.tentative.html.ini @@ -0,0 +1,396 @@ +[baseline-alignment-and-overflow.tentative.html] + [<input type="text" value="x" style="overflow: visible; appearance: auto;">] + expected: FAIL + + [<input type="text" value="x" style="overflow: hidden; appearance: auto;">] + expected: FAIL + + [<input type="text" value="x" style="overflow: scroll; appearance: auto;">] + expected: FAIL + + [<input type="text" value="x" style="overflow: visible; appearance: none;">] + expected: FAIL + + [<input type="text" value="x" style="overflow: hidden; appearance: none;">] + expected: FAIL + + [<input type="text" value="x" style="overflow: scroll; appearance: none;">] + expected: FAIL + + [<input type="search" value="x" style="overflow: visible; appearance: auto;">] + expected: FAIL + + [<input type="search" value="x" style="overflow: hidden; appearance: auto;">] + expected: FAIL + + [<input type="search" value="x" style="overflow: scroll; appearance: auto;">] + expected: FAIL + + [<input type="search" value="x" style="overflow: visible; appearance: none;">] + expected: FAIL + + [<input type="search" value="x" style="overflow: hidden; appearance: none;">] + expected: FAIL + + [<input type="search" value="x" style="overflow: scroll; appearance: none;">] + expected: FAIL + + [<input type="tel" value="x" style="overflow: visible; appearance: auto;">] + expected: FAIL + + [<input type="tel" value="x" style="overflow: hidden; appearance: auto;">] + expected: FAIL + + [<input type="tel" value="x" style="overflow: scroll; appearance: auto;">] + expected: FAIL + + [<input type="tel" value="x" style="overflow: visible; appearance: none;">] + expected: FAIL + + [<input type="tel" value="x" style="overflow: hidden; appearance: none;">] + expected: FAIL + + [<input type="tel" value="x" style="overflow: scroll; appearance: none;">] + expected: FAIL + + [<input type="url" value="data:,x" style="overflow: visible; appearance: auto;">] + expected: FAIL + + [<input type="url" value="data:,x" style="overflow: hidden; appearance: auto;">] + expected: FAIL + + [<input type="url" value="data:,x" style="overflow: scroll; appearance: auto;">] + expected: FAIL + + [<input type="url" value="data:,x" style="overflow: visible; appearance: none;">] + expected: FAIL + + [<input type="url" value="data:,x" style="overflow: hidden; appearance: none;">] + expected: FAIL + + [<input type="url" value="data:,x" style="overflow: scroll; appearance: none;">] + expected: FAIL + + [<input type="email" value="x" style="overflow: visible; appearance: auto;">] + expected: FAIL + + [<input type="email" value="x" style="overflow: hidden; appearance: auto;">] + expected: FAIL + + [<input type="email" value="x" style="overflow: scroll; appearance: auto;">] + expected: FAIL + + [<input type="email" value="x" style="overflow: visible; appearance: none;">] + expected: FAIL + + [<input type="email" value="x" style="overflow: hidden; appearance: none;">] + expected: FAIL + + [<input type="email" value="x" style="overflow: scroll; appearance: none;">] + expected: FAIL + + [<input type="password" value="x" style="overflow: visible; appearance: auto;">] + expected: FAIL + + [<input type="password" value="x" style="overflow: hidden; appearance: auto;">] + expected: FAIL + + [<input type="password" value="x" style="overflow: scroll; appearance: auto;">] + expected: FAIL + + [<input type="password" value="x" style="overflow: visible; appearance: none;">] + expected: FAIL + + [<input type="password" value="x" style="overflow: hidden; appearance: none;">] + expected: FAIL + + [<input type="password" value="x" style="overflow: scroll; appearance: none;">] + expected: FAIL + + [<input type="date" value="2020-01-01" style="overflow: visible; appearance: auto;">] + expected: FAIL + + [<input type="date" value="2020-01-01" style="overflow: hidden; appearance: auto;">] + expected: FAIL + + [<input type="date" value="2020-01-01" style="overflow: scroll; appearance: auto;">] + expected: FAIL + + [<input type="date" value="2020-01-01" style="overflow: visible; appearance: none;">] + expected: FAIL + + [<input type="date" value="2020-01-01" style="overflow: hidden; appearance: none;">] + expected: FAIL + + [<input type="date" value="2020-01-01" style="overflow: scroll; appearance: none;">] + expected: FAIL + + [<input type="month" value="2020-01" style="overflow: visible; appearance: auto;">] + expected: FAIL + + [<input type="month" value="2020-01" style="overflow: hidden; appearance: auto;">] + expected: FAIL + + [<input type="month" value="2020-01" style="overflow: scroll; appearance: auto;">] + expected: FAIL + + [<input type="month" value="2020-01" style="overflow: visible; appearance: none;">] + expected: FAIL + + [<input type="month" value="2020-01" style="overflow: hidden; appearance: none;">] + expected: FAIL + + [<input type="month" value="2020-01" style="overflow: scroll; appearance: none;">] + expected: FAIL + + [<input type="week" value="2020-W01" style="overflow: visible; appearance: auto;">] + expected: FAIL + + [<input type="week" value="2020-W01" style="overflow: hidden; appearance: auto;">] + expected: FAIL + + [<input type="week" value="2020-W01" style="overflow: scroll; appearance: auto;">] + expected: FAIL + + [<input type="week" value="2020-W01" style="overflow: visible; appearance: none;">] + expected: FAIL + + [<input type="week" value="2020-W01" style="overflow: hidden; appearance: none;">] + expected: FAIL + + [<input type="week" value="2020-W01" style="overflow: scroll; appearance: none;">] + expected: FAIL + + [<input type="time" value="00:00" style="overflow: visible; appearance: auto;">] + expected: FAIL + + [<input type="time" value="00:00" style="overflow: hidden; appearance: auto;">] + expected: FAIL + + [<input type="time" value="00:00" style="overflow: scroll; appearance: auto;">] + expected: FAIL + + [<input type="time" value="00:00" style="overflow: visible; appearance: none;">] + expected: FAIL + + [<input type="time" value="00:00" style="overflow: hidden; appearance: none;">] + expected: FAIL + + [<input type="time" value="00:00" style="overflow: scroll; appearance: none;">] + expected: FAIL + + [<input type="datetime-local" value="2020-01-01T00:00" style="overflow: visible; appearance: auto;">] + expected: FAIL + + [<input type="datetime-local" value="2020-01-01T00:00" style="overflow: hidden; appearance: auto;">] + expected: FAIL + + [<input type="datetime-local" value="2020-01-01T00:00" style="overflow: scroll; appearance: auto;">] + expected: FAIL + + [<input type="datetime-local" value="2020-01-01T00:00" style="overflow: visible; appearance: none;">] + expected: FAIL + + [<input type="datetime-local" value="2020-01-01T00:00" style="overflow: hidden; appearance: none;">] + expected: FAIL + + [<input type="datetime-local" value="2020-01-01T00:00" style="overflow: scroll; appearance: none;">] + expected: FAIL + + [<input type="number" value="0" style="overflow: visible; appearance: auto;">] + expected: FAIL + + [<input type="number" value="0" style="overflow: hidden; appearance: auto;">] + expected: FAIL + + [<input type="number" value="0" style="overflow: scroll; appearance: auto;">] + expected: FAIL + + [<input type="number" value="0" style="overflow: visible; appearance: none;">] + expected: FAIL + + [<input type="number" value="0" style="overflow: hidden; appearance: none;">] + expected: FAIL + + [<input type="number" value="0" style="overflow: scroll; appearance: none;">] + expected: FAIL + + [<input type="range" style="overflow: visible; appearance: auto;">] + expected: FAIL + + [<input type="range" style="overflow: hidden; appearance: auto;">] + expected: FAIL + + [<input type="range" style="overflow: scroll; appearance: auto;">] + expected: FAIL + + [<input type="range" style="overflow: visible; appearance: none;">] + expected: FAIL + + [<input type="range" style="overflow: hidden; appearance: none;">] + expected: FAIL + + [<input type="range" style="overflow: scroll; appearance: none;">] + expected: FAIL + + [<input type="color" value="#000000" style="overflow: visible; appearance: auto;">] + expected: FAIL + + [<input type="color" value="#000000" style="overflow: hidden; appearance: auto;">] + expected: FAIL + + [<input type="color" value="#000000" style="overflow: scroll; appearance: auto;">] + expected: FAIL + + [<input type="color" value="#000000" style="overflow: visible; appearance: none;">] + expected: FAIL + + [<input type="color" value="#000000" style="overflow: hidden; appearance: none;">] + expected: FAIL + + [<input type="color" value="#000000" style="overflow: scroll; appearance: none;">] + expected: FAIL + + [<input type="checkbox" style="overflow: visible; appearance: auto;">] + expected: FAIL + + [<input type="checkbox" style="overflow: hidden; appearance: auto;">] + expected: FAIL + + [<input type="checkbox" style="overflow: scroll; appearance: auto;">] + expected: FAIL + + [<input type="checkbox" style="overflow: visible; appearance: none;">] + expected: FAIL + + [<input type="checkbox" style="overflow: hidden; appearance: none;">] + expected: FAIL + + [<input type="checkbox" style="overflow: scroll; appearance: none;">] + expected: FAIL + + [<input type="radio" style="overflow: visible; appearance: auto;">] + expected: FAIL + + [<input type="radio" style="overflow: hidden; appearance: auto;">] + expected: FAIL + + [<input type="radio" style="overflow: scroll; appearance: auto;">] + expected: FAIL + + [<input type="radio" style="overflow: visible; appearance: none;">] + expected: FAIL + + [<input type="radio" style="overflow: hidden; appearance: none;">] + expected: FAIL + + [<input type="radio" style="overflow: scroll; appearance: none;">] + expected: FAIL + + [<input type="file" style="overflow: visible; appearance: auto;">] + expected: FAIL + + [<input type="file" style="overflow: hidden; appearance: auto;">] + expected: FAIL + + [<input type="file" style="overflow: scroll; appearance: auto;">] + expected: FAIL + + [<input type="file" style="overflow: visible; appearance: none;">] + expected: FAIL + + [<input type="file" style="overflow: hidden; appearance: none;">] + expected: FAIL + + [<input type="file" style="overflow: scroll; appearance: none;">] + expected: FAIL + + [<input type="submit" value="x" style="overflow: visible; appearance: auto;">] + expected: FAIL + + [<input type="submit" value="x" style="overflow: hidden; appearance: auto;">] + expected: FAIL + + [<input type="submit" value="x" style="overflow: scroll; appearance: auto;">] + expected: FAIL + + [<input type="submit" value="x" style="overflow: visible; appearance: none;">] + expected: FAIL + + [<input type="submit" value="x" style="overflow: hidden; appearance: none;">] + expected: FAIL + + [<input type="submit" value="x" style="overflow: scroll; appearance: none;">] + expected: FAIL + + [<input type="image" src="data:,broken" alt="x" style="overflow: visible; appearance: auto;">] + expected: FAIL + + [<input type="image" src="data:,broken" alt="x" style="overflow: hidden; appearance: auto;">] + expected: FAIL + + [<input type="image" src="data:,broken" alt="x" style="overflow: scroll; appearance: auto;">] + expected: FAIL + + [<input type="image" src="data:,broken" alt="x" style="overflow: visible; appearance: none;">] + expected: FAIL + + [<input type="image" src="data:,broken" alt="x" style="overflow: hidden; appearance: none;">] + expected: FAIL + + [<input type="image" src="data:,broken" alt="x" style="overflow: scroll; appearance: none;">] + expected: FAIL + + [<input type="image" src="data:(png)" alt="x" style="overflow: visible; appearance: auto;">] + expected: FAIL + + [<input type="image" src="data:(png)" alt="x" style="overflow: hidden; appearance: auto;">] + expected: FAIL + + [<input type="image" src="data:(png)" alt="x" style="overflow: scroll; appearance: auto;">] + expected: FAIL + + [<input type="image" src="data:(png)" alt="x" style="overflow: visible; appearance: none;">] + expected: FAIL + + [<input type="image" src="data:(png)" alt="x" style="overflow: hidden; appearance: none;">] + expected: FAIL + + [<input type="image" src="data:(png)" alt="x" style="overflow: scroll; appearance: none;">] + expected: FAIL + + [<input type="reset" value="x" style="overflow: visible; appearance: auto;">] + expected: FAIL + + [<input type="reset" value="x" style="overflow: hidden; appearance: auto;">] + expected: FAIL + + [<input type="reset" value="x" style="overflow: scroll; appearance: auto;">] + expected: FAIL + + [<input type="reset" value="x" style="overflow: visible; appearance: none;">] + expected: FAIL + + [<input type="reset" value="x" style="overflow: hidden; appearance: none;">] + expected: FAIL + + [<input type="reset" value="x" style="overflow: scroll; appearance: none;">] + expected: FAIL + + [<input type="button" value="x" style="overflow: visible; appearance: auto;">] + expected: FAIL + + [<input type="button" value="x" style="overflow: hidden; appearance: auto;">] + expected: FAIL + + [<input type="button" value="x" style="overflow: scroll; appearance: auto;">] + expected: FAIL + + [<input type="button" value="x" style="overflow: visible; appearance: none;">] + expected: FAIL + + [<input type="button" value="x" style="overflow: hidden; appearance: none;">] + expected: FAIL + + [<input type="button" value="x" style="overflow: scroll; appearance: none;">] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/html/rendering/widgets/button-layout/computed-style.html.ini b/tests/wpt/metadata-layout-2020/html/rendering/widgets/button-layout/computed-style.html.ini index 8777e8e9f90..bac86506937 100644 --- a/tests/wpt/metadata-layout-2020/html/rendering/widgets/button-layout/computed-style.html.ini +++ b/tests/wpt/metadata-layout-2020/html/rendering/widgets/button-layout/computed-style.html.ini @@ -11,24 +11,6 @@ [computed display of <input type=color> with display: contents] expected: FAIL - [computed display of <button type=submit> with display: contents] - expected: FAIL - - [computed display of <input type=reset> with display: flow-root] - expected: FAIL - - [computed display of <input type=button> with display: flow-root] - expected: FAIL - - [computed display of <input type=submit> with display: flow-root] - expected: FAIL - - [computed display of <input type=color> with display: flow-root] - expected: FAIL - - [computed display of <button type=submit> with display: flow-root] - expected: FAIL - [computed display of <input type=reset> with display: grid] expected: FAIL @@ -133,3 +115,183 @@ [computed display of <button type=submit> with display: inline-grid] expected: FAIL + + [computed display of <input type=reset> with display: table] + expected: FAIL + + [computed display of <input type=button> with display: table] + expected: FAIL + + [computed display of <input type=submit> with display: table] + expected: FAIL + + [computed display of <input type=color> with display: table] + expected: FAIL + + [computed display of <button type=submit> with display: table] + expected: FAIL + + [computed display of <input type=reset> with display: inline-table] + expected: FAIL + + [computed display of <input type=button> with display: inline-table] + expected: FAIL + + [computed display of <input type=submit> with display: inline-table] + expected: FAIL + + [computed display of <input type=color> with display: inline-table] + expected: FAIL + + [computed display of <button type=submit> with display: inline-table] + expected: FAIL + + [computed display of <input type=reset> with display: table-row-group] + expected: FAIL + + [computed display of <input type=button> with display: table-row-group] + expected: FAIL + + [computed display of <input type=submit> with display: table-row-group] + expected: FAIL + + [computed display of <input type=color> with display: table-row-group] + expected: FAIL + + [computed display of <button type=submit> with display: table-row-group] + expected: FAIL + + [computed display of <input type=reset> with display: table-header-group] + expected: FAIL + + [computed display of <input type=button> with display: table-header-group] + expected: FAIL + + [computed display of <input type=submit> with display: table-header-group] + expected: FAIL + + [computed display of <input type=color> with display: table-header-group] + expected: FAIL + + [computed display of <button type=submit> with display: table-header-group] + expected: FAIL + + [computed display of <input type=reset> with display: table-footer-group] + expected: FAIL + + [computed display of <input type=button> with display: table-footer-group] + expected: FAIL + + [computed display of <input type=submit> with display: table-footer-group] + expected: FAIL + + [computed display of <input type=color> with display: table-footer-group] + expected: FAIL + + [computed display of <button type=submit> with display: table-footer-group] + expected: FAIL + + [computed display of <input type=reset> with display: table-row] + expected: FAIL + + [computed display of <input type=button> with display: table-row] + expected: FAIL + + [computed display of <input type=submit> with display: table-row] + expected: FAIL + + [computed display of <input type=color> with display: table-row] + expected: FAIL + + [computed display of <button type=submit> with display: table-row] + expected: FAIL + + [computed display of <input type=reset> with display: table-column-group] + expected: FAIL + + [computed display of <input type=button> with display: table-column-group] + expected: FAIL + + [computed display of <input type=submit> with display: table-column-group] + expected: FAIL + + [computed display of <input type=color> with display: table-column-group] + expected: FAIL + + [computed display of <button type=submit> with display: table-column-group] + expected: FAIL + + [computed display of <input type=reset> with display: table-column] + expected: FAIL + + [computed display of <input type=button> with display: table-column] + expected: FAIL + + [computed display of <input type=submit> with display: table-column] + expected: FAIL + + [computed display of <input type=color> with display: table-column] + expected: FAIL + + [computed display of <button type=submit> with display: table-column] + expected: FAIL + + [computed display of <input type=reset> with display: table-cell] + expected: FAIL + + [computed display of <input type=button> with display: table-cell] + expected: FAIL + + [computed display of <input type=submit> with display: table-cell] + expected: FAIL + + [computed display of <input type=color> with display: table-cell] + expected: FAIL + + [computed display of <button type=submit> with display: table-cell] + expected: FAIL + + [computed display of <input type=reset> with display: table-caption] + expected: FAIL + + [computed display of <input type=button> with display: table-caption] + expected: FAIL + + [computed display of <input type=submit> with display: table-caption] + expected: FAIL + + [computed display of <input type=color> with display: table-caption] + expected: FAIL + + [computed display of <button type=submit> with display: table-caption] + expected: FAIL + + [computed display of <input type=reset> with display: flex] + expected: FAIL + + [computed display of <input type=button> with display: flex] + expected: FAIL + + [computed display of <input type=submit> with display: flex] + expected: FAIL + + [computed display of <input type=color> with display: flex] + expected: FAIL + + [computed display of <button type=submit> with display: flex] + expected: FAIL + + [computed display of <input type=reset> with display: inline-flex] + expected: FAIL + + [computed display of <input type=button> with display: inline-flex] + expected: FAIL + + [computed display of <input type=submit> with display: inline-flex] + expected: FAIL + + [computed display of <input type=color> with display: inline-flex] + expected: FAIL + + [computed display of <button type=submit> with display: inline-flex] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/html/rendering/widgets/button-layout/display-other.html.ini b/tests/wpt/metadata-layout-2020/html/rendering/widgets/button-layout/display-other.html.ini new file mode 100644 index 00000000000..428aab1581e --- /dev/null +++ b/tests/wpt/metadata-layout-2020/html/rendering/widgets/button-layout/display-other.html.ini @@ -0,0 +1,48 @@ +[display-other.html] + [display: block] + expected: FAIL + + [display: run-in] + expected: FAIL + + [display: table] + expected: FAIL + + [display: list-item] + expected: FAIL + + [display: table-row-group] + expected: FAIL + + [display: table-header-group] + expected: FAIL + + [display: table-footer-group] + expected: FAIL + + [display: table-row] + expected: FAIL + + [display: table-cell] + expected: FAIL + + [display: table-column-group] + expected: FAIL + + [display: table-column] + expected: FAIL + + [display: table-caption] + expected: FAIL + + [display: ruby-base] + expected: FAIL + + [display: ruby-text] + expected: FAIL + + [display: ruby-base-container] + expected: FAIL + + [display: ruby-text-container] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/html/rendering/widgets/button-layout/flex.html.ini b/tests/wpt/metadata-layout-2020/html/rendering/widgets/button-layout/flex.html.ini new file mode 100644 index 00000000000..1746aa2e770 --- /dev/null +++ b/tests/wpt/metadata-layout-2020/html/rendering/widgets/button-layout/flex.html.ini @@ -0,0 +1,9 @@ +[flex.html] + [inline-flex] + expected: FAIL + + [flex] + expected: FAIL + + [align-items:stretch should work] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/html/rendering/widgets/button-layout/input-type-button-newline-2.html.ini b/tests/wpt/metadata-layout-2020/html/rendering/widgets/button-layout/input-type-button-newline-2.html.ini new file mode 100644 index 00000000000..f830adb2fdc --- /dev/null +++ b/tests/wpt/metadata-layout-2020/html/rendering/widgets/button-layout/input-type-button-newline-2.html.ini @@ -0,0 +1,2 @@ +[input-type-button-newline-2.html] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/html/rendering/widgets/button-layout/input-type-button-newline.html.ini b/tests/wpt/metadata-layout-2020/html/rendering/widgets/button-layout/input-type-button-newline.html.ini new file mode 100644 index 00000000000..2b59a371cc5 --- /dev/null +++ b/tests/wpt/metadata-layout-2020/html/rendering/widgets/button-layout/input-type-button-newline.html.ini @@ -0,0 +1,2 @@ +[input-type-button-newline.html] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/html/rendering/widgets/button-layout/shrink-wrap.html.ini b/tests/wpt/metadata-layout-2020/html/rendering/widgets/button-layout/shrink-wrap.html.ini new file mode 100644 index 00000000000..7fdedc67528 --- /dev/null +++ b/tests/wpt/metadata-layout-2020/html/rendering/widgets/button-layout/shrink-wrap.html.ini @@ -0,0 +1,51 @@ +[shrink-wrap.html] + [display: block - available width: 50px] + expected: FAIL + + [display: block - available width: 300px] + expected: FAIL + + [display: inline - available width: 50px] + expected: FAIL + + [display: inline - available width: 200px] + expected: FAIL + + [display: inline - available width: 300px] + expected: FAIL + + [display: inline-block - available width: 50px] + expected: FAIL + + [display: inline-block - available width: 200px] + expected: FAIL + + [display: list-item - available width: 50px] + expected: FAIL + + [display: list-item - available width: 300px] + expected: FAIL + + [display: table - available width: 50px] + expected: FAIL + + [display: table - available width: 200px] + expected: FAIL + + [display: table-row - available width: 50px] + expected: FAIL + + [display: table-row - available width: 200px] + expected: FAIL + + [display: table-cell - available width: 50px] + expected: FAIL + + [display: table-cell - available width: 200px] + expected: FAIL + + [float: left - available width: 50px] + expected: FAIL + + [float: left - available width: 200px] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/html/semantics/embedded-content/image-maps/image-map-processing-model/hash-name-reference.html.ini b/tests/wpt/metadata-layout-2020/html/semantics/embedded-content/image-maps/image-map-processing-model/hash-name-reference.html.ini index 5c3ac06f42a..f92fd80f2fa 100644 --- a/tests/wpt/metadata-layout-2020/html/semantics/embedded-content/image-maps/image-map-processing-model/hash-name-reference.html.ini +++ b/tests/wpt/metadata-layout-2020/html/semantics/embedded-content/image-maps/image-map-processing-model/hash-name-reference.html.ini @@ -12,9 +12,6 @@ [XHTML img usemap="#two-maps-with-this-id-or-name"] expected: FAIL - [HTML (quirks) OBJECT usemap=undefined] - expected: FAIL - [XHTML img usemap="http://example.org/#garbage-before-hash-name"] expected: FAIL @@ -48,9 +45,6 @@ [HTML (standards) IMG usemap="#non-map-with-this-name"] expected: FAIL - [XHTML object usemap=undefined] - expected: FAIL - [HTML (quirks) IMG usemap=" #space-before-hash-id"] expected: FAIL @@ -102,9 +96,6 @@ [XHTML img usemap="# hash-space-name"] expected: FAIL - [HTML (standards) OBJECT usemap=undefined] - expected: FAIL - [HTML (standards) IMG usemap="#two-maps-with-this-name"] expected: FAIL @@ -170,4 +161,3 @@ [XHTML img usemap="#hash-id"] expected: FAIL - diff --git a/tests/wpt/metadata-layout-2020/html/semantics/embedded-content/the-audio-element/audio_001.htm.ini b/tests/wpt/metadata-layout-2020/html/semantics/embedded-content/the-audio-element/audio_001.htm.ini new file mode 100644 index 00000000000..484ffc74930 --- /dev/null +++ b/tests/wpt/metadata-layout-2020/html/semantics/embedded-content/the-audio-element/audio_001.htm.ini @@ -0,0 +1,2 @@ +[audio_001.htm] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/html/semantics/embedded-content/the-audio-element/audio_002.htm.ini b/tests/wpt/metadata-layout-2020/html/semantics/embedded-content/the-audio-element/audio_002.htm.ini new file mode 100644 index 00000000000..8ed868c4397 --- /dev/null +++ b/tests/wpt/metadata-layout-2020/html/semantics/embedded-content/the-audio-element/audio_002.htm.ini @@ -0,0 +1,2 @@ +[audio_002.htm] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/html/semantics/embedded-content/the-canvas-element/canvas-descendants-focusability-003.tentative.html.ini b/tests/wpt/metadata-layout-2020/html/semantics/embedded-content/the-canvas-element/canvas-descendants-focusability-003.tentative.html.ini index e4a0bd079b9..69914d123b1 100644 --- a/tests/wpt/metadata-layout-2020/html/semantics/embedded-content/the-canvas-element/canvas-descendants-focusability-003.tentative.html.ini +++ b/tests/wpt/metadata-layout-2020/html/semantics/embedded-content/the-canvas-element/canvas-descendants-focusability-003.tentative.html.ini @@ -1,4 +1,5 @@ [canvas-descendants-focusability-003.tentative.html] + expected: ERROR [<div tabindex="-1" data-focusable="false">] expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_popups_escaping-1.html.ini b/tests/wpt/metadata-layout-2020/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_popups_escaping-1.html.ini index 24903b5f66f..7d28d586f51 100644 --- a/tests/wpt/metadata-layout-2020/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_popups_escaping-1.html.ini +++ b/tests/wpt/metadata-layout-2020/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_popups_escaping-1.html.ini @@ -1,4 +1,3 @@ [iframe_sandbox_popups_escaping-1.html] - expected: TIMEOUT [Check that popups from a sandboxed iframe escape the sandbox if\n allow-popups-to-escape-sandbox is used] - expected: TIMEOUT + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_popups_nonescaping-2.html.ini b/tests/wpt/metadata-layout-2020/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_popups_nonescaping-2.html.ini index c6f1e5d7d84..4034793cc72 100644 --- a/tests/wpt/metadata-layout-2020/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_popups_nonescaping-2.html.ini +++ b/tests/wpt/metadata-layout-2020/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_popups_nonescaping-2.html.ini @@ -1,4 +1,3 @@ [iframe_sandbox_popups_nonescaping-2.html] - expected: TIMEOUT [Check that popups from a sandboxed iframe do not escape the sandbox] - expected: NOTRUN + 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 index ff6467094b8..d5fd800f09d 100644 --- a/tests/wpt/metadata-layout-2020/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_popups_nonescaping-3.html.ini +++ b/tests/wpt/metadata-layout-2020/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_popups_nonescaping-3.html.ini @@ -1,3 +1,4 @@ [iframe_sandbox_popups_nonescaping-3.html] + expected: TIMEOUT [Check that popups from a sandboxed iframe do not escape the sandbox] - expected: FAIL + expected: NOTRUN diff --git a/tests/wpt/metadata-layout-2020/html/semantics/embedded-content/the-img-element/current-pixel-density/basic.html.ini b/tests/wpt/metadata-layout-2020/html/semantics/embedded-content/the-img-element/current-pixel-density/basic.html.ini new file mode 100644 index 00000000000..2928dbbf367 --- /dev/null +++ b/tests/wpt/metadata-layout-2020/html/semantics/embedded-content/the-img-element/current-pixel-density/basic.html.ini @@ -0,0 +1,33 @@ +[basic.html] + [<img src="/images/green-256x256.png" data-expect="256">] + expected: FAIL + + [<img srcset="/images/green-256x256.png 1x" data-expect="256">] + expected: FAIL + + [<img srcset="/images/green-256x256.png 1.6x" data-expect="160">] + expected: FAIL + + [<img srcset="/images/green-256x256.png 2x" data-expect="128">] + expected: FAIL + + [<img srcset="/images/green-256x256.png 256w" sizes="256px" data-expect="256">] + expected: FAIL + + [<img srcset="/images/green-256x256.png 512w" sizes="256px" data-expect="128">] + expected: FAIL + + [<img srcset="/images/green-256x256.png 256w" sizes="512px" data-expect="512">] + expected: FAIL + + [<img srcset="/images/green-256x256.png 256w" sizes="1px" data-expect="1">] + expected: FAIL + + [<img srcset="data:image/svg+xml,<svg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='-1%20-1%202%202'%20width='20'%20height='20'><circle%20r='1'/></svg> 2x" data-expect="10">] + expected: FAIL + + [<img srcset="data:image/svg+xml,<svg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='-1%20-1%202%202'%20width='20'><circle%20r='1'/></svg> 2x" data-expect="10">] + expected: FAIL + + [<img srcset="data:image/svg+xml,<svg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='-1%20-1%202%202'%20height='20'><circle%20r='1'/></svg> 2x" data-expect="10">] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/html/semantics/embedded-content/the-img-element/image-loading-lazy-slow.html.ini b/tests/wpt/metadata-layout-2020/html/semantics/embedded-content/the-img-element/image-loading-lazy-slow.html.ini deleted file mode 100644 index 0d5516130f6..00000000000 --- a/tests/wpt/metadata-layout-2020/html/semantics/embedded-content/the-img-element/image-loading-lazy-slow.html.ini +++ /dev/null @@ -1,2 +0,0 @@ -[image-loading-lazy-slow.html] - expected: TIMEOUT diff --git a/tests/wpt/metadata-layout-2020/html/semantics/embedded-content/the-img-element/not-rendered-dimension-getter.html.ini b/tests/wpt/metadata-layout-2020/html/semantics/embedded-content/the-img-element/not-rendered-dimension-getter.html.ini new file mode 100644 index 00000000000..6a760d3cb9e --- /dev/null +++ b/tests/wpt/metadata-layout-2020/html/semantics/embedded-content/the-img-element/not-rendered-dimension-getter.html.ini @@ -0,0 +1,3 @@ +[not-rendered-dimension-getter.html] + [Image intrinsic dimensions are returned if the image isn't rendered] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/html/semantics/forms/form-submission-0/form-submit-iframe-then-location-navigate.html.ini b/tests/wpt/metadata-layout-2020/html/semantics/forms/form-submission-0/form-submit-iframe-then-location-navigate.html.ini index a4844bb395c..d44f3ccff52 100644 --- a/tests/wpt/metadata-layout-2020/html/semantics/forms/form-submission-0/form-submit-iframe-then-location-navigate.html.ini +++ b/tests/wpt/metadata-layout-2020/html/semantics/forms/form-submission-0/form-submit-iframe-then-location-navigate.html.ini @@ -1,4 +1,3 @@ [form-submit-iframe-then-location-navigate.html] [Verifies that location navigations take precedence when following form submissions.] expected: FAIL - diff --git a/tests/wpt/metadata-layout-2020/html/semantics/forms/form-submission-0/multipart-formdata.window.js.ini b/tests/wpt/metadata-layout-2020/html/semantics/forms/form-submission-0/multipart-formdata.window.js.ini index f7333c9b8a4..8c5c729f932 100644 --- a/tests/wpt/metadata-layout-2020/html/semantics/forms/form-submission-0/multipart-formdata.window.js.ini +++ b/tests/wpt/metadata-layout-2020/html/semantics/forms/form-submission-0/multipart-formdata.window.js.ini @@ -178,3 +178,9 @@ [multipart/form-data: 0x00 in value (formdata event)] expected: FAIL + + [multipart/form-data: lone surrogate in name and value (normal form)] + expected: FAIL + + [multipart/form-data: lone surrogate in name and value (formdata event)] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/html/semantics/forms/form-submission-0/text-plain.window.js.ini b/tests/wpt/metadata-layout-2020/html/semantics/forms/form-submission-0/text-plain.window.js.ini index 0077d066ab5..1cd391b4a7b 100644 --- a/tests/wpt/metadata-layout-2020/html/semantics/forms/form-submission-0/text-plain.window.js.ini +++ b/tests/wpt/metadata-layout-2020/html/semantics/forms/form-submission-0/text-plain.window.js.ini @@ -178,3 +178,9 @@ [text/plain: 0x00 in value (formdata event)] expected: FAIL + + [text/plain: lone surrogate in name and value (normal form)] + expected: FAIL + + [text/plain: lone surrogate in name and value (formdata event)] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/html/semantics/forms/form-submission-0/urlencoded2.window.js.ini b/tests/wpt/metadata-layout-2020/html/semantics/forms/form-submission-0/urlencoded2.window.js.ini index ff27a59f2d9..722990cf626 100644 --- a/tests/wpt/metadata-layout-2020/html/semantics/forms/form-submission-0/urlencoded2.window.js.ini +++ b/tests/wpt/metadata-layout-2020/html/semantics/forms/form-submission-0/urlencoded2.window.js.ini @@ -178,3 +178,9 @@ [application/x-www-form-urlencoded: Basic test (formdata event)] expected: FAIL + + [application/x-www-form-urlencoded: lone surrogate in name and value (normal form)] + expected: FAIL + + [application/x-www-form-urlencoded: lone surrogate in name and value (formdata event)] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/html/semantics/forms/historical.html.ini b/tests/wpt/metadata-layout-2020/html/semantics/forms/historical.html.ini deleted file mode 100644 index 5d8289307cc..00000000000 --- a/tests/wpt/metadata-layout-2020/html/semantics/forms/historical.html.ini +++ /dev/null @@ -1,3 +0,0 @@ -[historical.html] - [<input name=isindex> should not be supported] - expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/html/semantics/forms/textfieldselection/selection.html.ini b/tests/wpt/metadata-layout-2020/html/semantics/forms/textfieldselection/selection.html.ini new file mode 100644 index 00000000000..cfcd6749cb8 --- /dev/null +++ b/tests/wpt/metadata-layout-2020/html/semantics/forms/textfieldselection/selection.html.ini @@ -0,0 +1,3 @@ +[selection.html] + [test scrollLeft preservation for input] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/html/semantics/forms/the-input-element/input-type-button.html.ini b/tests/wpt/metadata-layout-2020/html/semantics/forms/the-input-element/input-type-button.html.ini new file mode 100644 index 00000000000..44f8e377f7a --- /dev/null +++ b/tests/wpt/metadata-layout-2020/html/semantics/forms/the-input-element/input-type-button.html.ini @@ -0,0 +1,3 @@ +[input-type-button.html] + [label value] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/html/semantics/forms/the-input-element/range-tick-marks-02.html.ini b/tests/wpt/metadata-layout-2020/html/semantics/forms/the-input-element/range-tick-marks-02.html.ini deleted file mode 100644 index 12618c3f23a..00000000000 --- a/tests/wpt/metadata-layout-2020/html/semantics/forms/the-input-element/range-tick-marks-02.html.ini +++ /dev/null @@ -1,2 +0,0 @@ -[range-tick-marks-02.html] - expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/html/semantics/forms/the-selectmenu-element/selectmenu-pseudo-open-closed.tentative.html.ini b/tests/wpt/metadata-layout-2020/html/semantics/forms/the-selectmenu-element/selectmenu-pseudo-open-closed.tentative.html.ini new file mode 100644 index 00000000000..20d7563d7a1 --- /dev/null +++ b/tests/wpt/metadata-layout-2020/html/semantics/forms/the-selectmenu-element/selectmenu-pseudo-open-closed.tentative.html.ini @@ -0,0 +1,6 @@ +[selectmenu-pseudo-open-closed.tentative.html] + [Selectmenu should support :open and :closed pseudo selectors.] + expected: FAIL + + [Selectmenu :open and :closed should invalidate correctly.] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/html/semantics/forms/the-selectmenu-element/selectmenu-user-select.tentative.html.ini b/tests/wpt/metadata-layout-2020/html/semantics/forms/the-selectmenu-element/selectmenu-user-select.tentative.html.ini new file mode 100644 index 00000000000..cad005a84ed --- /dev/null +++ b/tests/wpt/metadata-layout-2020/html/semantics/forms/the-selectmenu-element/selectmenu-user-select.tentative.html.ini @@ -0,0 +1,12 @@ +[selectmenu-user-select.tentative.html] + [Option elements should have user-select:none without slotting buttons or listboxes.] + expected: FAIL + + [Slotted in buttons and listboxes should have user-select:none.] + expected: FAIL + + [Setting user-select:auto on selectmenus should re-enable selection.] + expected: FAIL + + [Children of selectmenu should be able to opt-in to user-select.] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/html/semantics/forms/the-textarea-element/multiline-placeholder-cr.html.ini b/tests/wpt/metadata-layout-2020/html/semantics/forms/the-textarea-element/multiline-placeholder-cr.html.ini new file mode 100644 index 00000000000..341c31c230c --- /dev/null +++ b/tests/wpt/metadata-layout-2020/html/semantics/forms/the-textarea-element/multiline-placeholder-cr.html.ini @@ -0,0 +1,2 @@ +[multiline-placeholder-cr.html] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/html/semantics/forms/the-textarea-element/multiline-placeholder-crlf.html.ini b/tests/wpt/metadata-layout-2020/html/semantics/forms/the-textarea-element/multiline-placeholder-crlf.html.ini new file mode 100644 index 00000000000..f013c959875 --- /dev/null +++ b/tests/wpt/metadata-layout-2020/html/semantics/forms/the-textarea-element/multiline-placeholder-crlf.html.ini @@ -0,0 +1,2 @@ +[multiline-placeholder-crlf.html] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/html/semantics/forms/the-textarea-element/multiline-placeholder.html.ini b/tests/wpt/metadata-layout-2020/html/semantics/forms/the-textarea-element/multiline-placeholder.html.ini new file mode 100644 index 00000000000..da95ec74928 --- /dev/null +++ b/tests/wpt/metadata-layout-2020/html/semantics/forms/the-textarea-element/multiline-placeholder.html.ini @@ -0,0 +1,2 @@ +[multiline-placeholder.html] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/html/semantics/forms/the-textarea-element/placeholder-white-space.tentative.html.ini b/tests/wpt/metadata-layout-2020/html/semantics/forms/the-textarea-element/placeholder-white-space.tentative.html.ini new file mode 100644 index 00000000000..ed6c90d86ff --- /dev/null +++ b/tests/wpt/metadata-layout-2020/html/semantics/forms/the-textarea-element/placeholder-white-space.tentative.html.ini @@ -0,0 +1,2 @@ +[placeholder-white-space.tentative.html] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/html/semantics/grouping-content/the-li-element/grouping-li-reftest-002.html.ini b/tests/wpt/metadata-layout-2020/html/semantics/grouping-content/the-li-element/grouping-li-reftest-002.html.ini new file mode 100644 index 00000000000..a4c43688a69 --- /dev/null +++ b/tests/wpt/metadata-layout-2020/html/semantics/grouping-content/the-li-element/grouping-li-reftest-002.html.ini @@ -0,0 +1,2 @@ +[grouping-li-reftest-002.html] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/html/semantics/grouping-content/the-ol-element/grouping-ol-type-reftest-001.html.ini b/tests/wpt/metadata-layout-2020/html/semantics/grouping-content/the-ol-element/grouping-ol-type-reftest-001.html.ini new file mode 100644 index 00000000000..26b541708f0 --- /dev/null +++ b/tests/wpt/metadata-layout-2020/html/semantics/grouping-content/the-ol-element/grouping-ol-type-reftest-001.html.ini @@ -0,0 +1,2 @@ +[grouping-ol-type-reftest-001.html] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/html/semantics/grouping-content/the-pre-element/grouping-pre-reftest-001.html.ini b/tests/wpt/metadata-layout-2020/html/semantics/grouping-content/the-pre-element/grouping-pre-reftest-001.html.ini new file mode 100644 index 00000000000..4a42e810730 --- /dev/null +++ b/tests/wpt/metadata-layout-2020/html/semantics/grouping-content/the-pre-element/grouping-pre-reftest-001.html.ini @@ -0,0 +1,2 @@ +[grouping-pre-reftest-001.html] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/html/semantics/interactive-elements/the-details-element/closed-details-layout-apis.tentative.html.ini b/tests/wpt/metadata-layout-2020/html/semantics/interactive-elements/the-details-element/closed-details-layout-apis.tentative.html.ini deleted file mode 100644 index c09547dad07..00000000000 --- a/tests/wpt/metadata-layout-2020/html/semantics/interactive-elements/the-details-element/closed-details-layout-apis.tentative.html.ini +++ /dev/null @@ -1,3 +0,0 @@ -[closed-details-layout-apis.tentative.html] - [Verifies the layout results of elements inside a closed <details> based on the usage of content-visibility:hidden.] - expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/html/semantics/interactive-elements/the-details-element/details-add-summary.html.ini b/tests/wpt/metadata-layout-2020/html/semantics/interactive-elements/the-details-element/details-add-summary.html.ini new file mode 100644 index 00000000000..96c661de0e2 --- /dev/null +++ b/tests/wpt/metadata-layout-2020/html/semantics/interactive-elements/the-details-element/details-add-summary.html.ini @@ -0,0 +1,2 @@ +[details-add-summary.html] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/html/semantics/interactive-elements/the-dialog-element/inert-node-is-not-highlighted.html.ini b/tests/wpt/metadata-layout-2020/html/semantics/interactive-elements/the-dialog-element/inert-node-is-not-highlighted.html.ini new file mode 100644 index 00000000000..6e77ad5ece0 --- /dev/null +++ b/tests/wpt/metadata-layout-2020/html/semantics/interactive-elements/the-dialog-element/inert-node-is-not-highlighted.html.ini @@ -0,0 +1,2 @@ +[inert-node-is-not-highlighted.html] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/html/semantics/scripting-1/the-script-element/defer-script/async-script.html.ini b/tests/wpt/metadata-layout-2020/html/semantics/scripting-1/the-script-element/defer-script/async-script.html.ini new file mode 100644 index 00000000000..2212b9d731f --- /dev/null +++ b/tests/wpt/metadata-layout-2020/html/semantics/scripting-1/the-script-element/defer-script/async-script.html.ini @@ -0,0 +1,4 @@ +[async-script.html?reload] + expected: ERROR + +[async-script.html] diff --git a/tests/wpt/metadata-layout-2020/html/semantics/selectors/pseudo-classes/disabled.html.ini b/tests/wpt/metadata-layout-2020/html/semantics/selectors/pseudo-classes/disabled.html.ini new file mode 100644 index 00000000000..1bad2c00b1a --- /dev/null +++ b/tests/wpt/metadata-layout-2020/html/semantics/selectors/pseudo-classes/disabled.html.ini @@ -0,0 +1,18 @@ +[disabled.html] + [':disabled' should match only disabled elements] + expected: FAIL + + [':disabled' should not match elements whose disabled attribute has been removed] + expected: FAIL + + [':disabled' should also match elements whose disabled attribute has been set] + expected: FAIL + + [':disabled' should also match elements whose disabled attribute has been set twice] + expected: FAIL + + [':disabled' should also match disabled elements whose type has changed] + expected: FAIL + + [':disabled' should not match elements not in the document] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/html/semantics/tabular-data/processing-model-1/span-limits.html.ini b/tests/wpt/metadata-layout-2020/html/semantics/tabular-data/processing-model-1/span-limits.html.ini new file mode 100644 index 00000000000..f7bf3dc7e81 --- /dev/null +++ b/tests/wpt/metadata-layout-2020/html/semantics/tabular-data/processing-model-1/span-limits.html.ini @@ -0,0 +1,12 @@ +[span-limits.html] + [colspan of 1000 must work] + expected: FAIL + + [colspan of 1001 must be treated as 1000] + expected: FAIL + + [rowspan of 65534 must work] + expected: FAIL + + [rowspan of 65535 must be treated as 65534] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/html/syntax/charset/inheritance-bogus-meta-utf-8.html.ini b/tests/wpt/metadata-layout-2020/html/syntax/charset/inheritance-bogus-meta-utf-8.html.ini new file mode 100644 index 00000000000..c7d27b1c1c5 --- /dev/null +++ b/tests/wpt/metadata-layout-2020/html/syntax/charset/inheritance-bogus-meta-utf-8.html.ini @@ -0,0 +1,3 @@ +[inheritance-bogus-meta-utf-8.html] + [Child with bogus Content-Type charset, but valid <meta charset>] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/html/syntax/charset/inheritance-bogus-meta.html.ini b/tests/wpt/metadata-layout-2020/html/syntax/charset/inheritance-bogus-meta.html.ini new file mode 100644 index 00000000000..cdb0776ace8 --- /dev/null +++ b/tests/wpt/metadata-layout-2020/html/syntax/charset/inheritance-bogus-meta.html.ini @@ -0,0 +1,6 @@ +[inheritance-bogus-meta.html] + [Child with bogus Content-Type charset, but valid <meta charset>] + expected: FAIL + + [Cross-origin child with bogus <meta charset>] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/html/webappapis/dynamic-markup-insertion/document-write/module-delayed.html.ini b/tests/wpt/metadata-layout-2020/html/webappapis/dynamic-markup-insertion/document-write/module-delayed.html.ini new file mode 100644 index 00000000000..fc0233f5241 --- /dev/null +++ b/tests/wpt/metadata-layout-2020/html/webappapis/dynamic-markup-insertion/document-write/module-delayed.html.ini @@ -0,0 +1,3 @@ +[module-delayed.html] + [async document.write in a module] + expected: FAIL diff --git a/tests/wpt/metadata/html/webappapis/dynamic-markup-insertion/document-write/module-static-import-delayed.html.ini b/tests/wpt/metadata-layout-2020/html/webappapis/dynamic-markup-insertion/document-write/module-tla-delayed.html.ini similarity index 62% rename from tests/wpt/metadata/html/webappapis/dynamic-markup-insertion/document-write/module-static-import-delayed.html.ini rename to tests/wpt/metadata-layout-2020/html/webappapis/dynamic-markup-insertion/document-write/module-tla-delayed.html.ini index 53acb938c1b..f9a4f08cd70 100644 --- a/tests/wpt/metadata/html/webappapis/dynamic-markup-insertion/document-write/module-static-import-delayed.html.ini +++ b/tests/wpt/metadata-layout-2020/html/webappapis/dynamic-markup-insertion/document-write/module-tla-delayed.html.ini @@ -1,3 +1,3 @@ -[module-static-import-delayed.html] +[module-tla-delayed.html] [document.write in an imported module] expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/html/webappapis/scripting/processing-model-2/integration-with-the-javascript-job-queue/promise-job-entry.html.ini b/tests/wpt/metadata-layout-2020/html/webappapis/scripting/processing-model-2/integration-with-the-javascript-job-queue/promise-job-entry.html.ini index 8bcf3a07de4..31bfd644df0 100644 --- a/tests/wpt/metadata-layout-2020/html/webappapis/scripting/processing-model-2/integration-with-the-javascript-job-queue/promise-job-entry.html.ini +++ b/tests/wpt/metadata-layout-2020/html/webappapis/scripting/processing-model-2/integration-with-the-javascript-job-queue/promise-job-entry.html.ini @@ -1,10 +1,9 @@ [promise-job-entry.html] - expected: TIMEOUT [Fulfillment handler on fulfilled promise] expected: FAIL [Rejection handler on pending-then-rejected promise] - expected: TIMEOUT + expected: FAIL [Sanity check: this all works as expected with no promises involved] expected: FAIL @@ -16,4 +15,4 @@ expected: FAIL [Fulfillment handler on pending-then-fulfilled promise] - expected: TIMEOUT + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/quirks/blocks-ignore-line-height.html.ini b/tests/wpt/metadata-layout-2020/quirks/blocks-ignore-line-height.html.ini new file mode 100644 index 00000000000..91fb06c7b7c --- /dev/null +++ b/tests/wpt/metadata-layout-2020/quirks/blocks-ignore-line-height.html.ini @@ -0,0 +1,12 @@ +[blocks-ignore-line-height.html] + [The blocks ignore line-height quirk, #ref { display:block }<div id=test><font size=1>x</font></div><font id=ref size=1>x</font><div id=s_ref>x</div>] + expected: FAIL + + [The blocks ignore line-height quirk, #ref { display:block }<div id=test><font size=1>x</font><br><font size=1>x</font></div><font id=ref size=1>x<br>x</font><div id=s_ref>x<br>x</div>] + expected: FAIL + + [The blocks ignore line-height quirk, #ref { display:block }<div id=test><font size=1>foo</font><br><font size=1>foo</font><div>x</div></div><font id=ref size=1>foo<br>foo<br><font size=3>x</font></font><div id=s_ref>x<br>x<br>x</div>] + expected: FAIL + + [The blocks ignore line-height quirk, #ref { display:block } div, #ref { line-height:2 } span { font-size:50% }<div id=test><span>x</span></div><span id=ref>x</span><div id=s_ref>x</div>] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/quirks/body-fills-html-quirk-float.html.ini b/tests/wpt/metadata-layout-2020/quirks/body-fills-html-quirk-float.html.ini new file mode 100644 index 00000000000..1a95a341a8a --- /dev/null +++ b/tests/wpt/metadata-layout-2020/quirks/body-fills-html-quirk-float.html.ini @@ -0,0 +1,2 @@ +[body-fills-html-quirk-float.html] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/quirks/line-height-calculation.html.ini b/tests/wpt/metadata-layout-2020/quirks/line-height-calculation.html.ini new file mode 100644 index 00000000000..81c6c4b37f7 --- /dev/null +++ b/tests/wpt/metadata-layout-2020/quirks/line-height-calculation.html.ini @@ -0,0 +1,66 @@ +[line-height-calculation.html] + [The line height calculation quirk, <div id=test><img src="{png}"></div><img id=ref src="{png}"><div id=s_ref>x</div>] + expected: FAIL + + [The line height calculation quirk, <div id=test><img src="{png}"> <img src="{png}"></div><div id=ref>x</div><div id=s_ref>x</div>] + expected: FAIL + + [The line height calculation quirk, <table><tr><td id=test><img src="{png}"><tr><td><img id=ref src="{png}"><tr><td id=s_ref>x</table>] + expected: FAIL + + [The line height calculation quirk, <table><tr><td id=test><img src="{png}"> <img src="{png}"><tr><td id=ref>x<tr><td id=s_ref>x</table>] + expected: FAIL + + [The line height calculation quirk, <pre id=test><img src="{png}"></pre><img id=ref src="{png}"><pre id=s_ref>x</pre>] + expected: FAIL + + [The line height calculation quirk, span { margin:1px }<div id=test><span></span></div><div id=ref></div><div id=s_ref>x</div>] + expected: FAIL + + [The line height calculation quirk, span { padding:1px 0 }<div id=test><span></span></div><div id=ref></div><div id=s_ref></div>] + expected: FAIL + + [The line height calculation quirk, span { margin:0 1px }<div id=test><span></span></div><div id=ref></div><div id=s_ref>x</div>] + expected: FAIL + + [The line height calculation quirk, span { margin:0 1px; padding:1px 0 }<div id=test><span></span></div><div id=ref></div><div id=s_ref>x</div>] + expected: FAIL + + [The line height calculation quirk, span { border-width:1px 0; border-style:solid }<div id=test><span></span></div><div id=ref></div><div id=s_ref></div>] + expected: FAIL + + [The line height calculation quirk, span { border-width:1px; border-style:solid none }<div id=test><span></span></div><div id=ref></div><div id=s_ref></div>] + expected: FAIL + + [The line height calculation quirk, span { border-width:1px; border-style:solid hidden }<div id=test><span></span></div><div id=ref></div><div id=s_ref></div>] + expected: FAIL + + [The line height calculation quirk, span { border-right:1px solid }<div id=test><span></span></div><div id=ref>x</div><div id=s_ref>x</div>] + expected: FAIL + + [The line height calculation quirk, span { border-left:1px solid }<div id=test><span></span></div><div id=ref>x</div><div id=s_ref>x</div>] + expected: FAIL + + [The line height calculation quirk, span { padding-right:1px }<div id=test><span></span></div><div id=ref>x</div><div id=s_ref>x</div>] + expected: FAIL + + [The line height calculation quirk, span { padding-left:1px }<div id=test><span></span></div><div id=ref>x</div><div id=s_ref>x</div>] + expected: FAIL + + [The line height calculation quirk, span { display:inline-block; height:1px }<div id=test><i><span></span> </i></div><span id=ref></span><div id=s_ref>x</div>] + expected: FAIL + + [The line height calculation quirk, <div id=test><img src="{png}" border=1></div><img id=ref src="{png}" height=3><div id=s_ref>x</div>] + expected: FAIL + + [The line height calculation quirk, #test img { padding:1px }<div id=test><img src="{png}"></div><img id=ref src="{png}" height=3><div id=s_ref>x</div>] + expected: FAIL + + [The line height calculation quirk, iframe { height:1px }<div id=test><iframe></iframe></div><img id=ref src="{png}" height=5><div id=s_ref>x</div>] + expected: FAIL + + [The line height calculation quirk, #test::before { content:"" } #test::before, span { border:solid }<div id=test></div><div id=ref><span>x</span></div><div id=s_ref><span>x</span></div>] + expected: FAIL + + [The line height calculation quirk, div { line-height: 0;} span { margin:0 1px; line-height: normal; }<div id=test>x<span></span></div><div id=ref>x</div><div id=s_ref>x<span>x</span></div>] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/quirks/table-cell-width-calculation-abspos.html.ini b/tests/wpt/metadata-layout-2020/quirks/table-cell-width-calculation-abspos.html.ini new file mode 100644 index 00000000000..7e664cb5b56 --- /dev/null +++ b/tests/wpt/metadata-layout-2020/quirks/table-cell-width-calculation-abspos.html.ini @@ -0,0 +1,2 @@ +[table-cell-width-calculation-abspos.html] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/quirks/table-cell-width-calculation-applies-to.html.ini b/tests/wpt/metadata-layout-2020/quirks/table-cell-width-calculation-applies-to.html.ini new file mode 100644 index 00000000000..74a3e841030 --- /dev/null +++ b/tests/wpt/metadata-layout-2020/quirks/table-cell-width-calculation-applies-to.html.ini @@ -0,0 +1,3 @@ +[table-cell-width-calculation-applies-to.html] + [table 1] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/quirks/table-cell-width-calculation.html.ini b/tests/wpt/metadata-layout-2020/quirks/table-cell-width-calculation.html.ini new file mode 100644 index 00000000000..d77198cf766 --- /dev/null +++ b/tests/wpt/metadata-layout-2020/quirks/table-cell-width-calculation.html.ini @@ -0,0 +1,45 @@ +[table-cell-width-calculation.html] + [The table cell width calculation quirk, baseline] + expected: FAIL + + [The table cell width calculation quirk, basic] + expected: FAIL + + [The table cell width calculation quirk, inline-block] + expected: FAIL + + [The table cell width calculation quirk, img in span] + expected: FAIL + + [The table cell width calculation quirk, the don't-wrap rule is only for the purpose of calculating the width of the cell] + expected: FAIL + + [The table cell width calculation quirk, the quirk only applies when the cell is the containing block] + expected: FAIL + + [The table cell width calculation quirk, the quirk shouldn't apply for generated content] + expected: FAIL + + [The table cell width calculation quirk, the quirk shouldn't apply for <input>] + expected: FAIL + + [The table cell width calculation quirk, the quirk shouldn't apply for <object>] + expected: FAIL + + [The table cell width calculation quirk, the quirk shouldn't apply for <embed>] + expected: FAIL + + [The table cell width calculation quirk, the quirk shouldn't apply for <video poster>] + expected: FAIL + + [The table cell width calculation quirk, non-auto width on cell] + expected: FAIL + + [The table cell width calculation quirk, zero width on cell, specified with on table] + expected: FAIL + + [The table cell width calculation quirk, display:table-cell on span] + expected: FAIL + + [The table cell width calculation quirk, display:table-cell on span, wbr] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/quirks/text-decoration-doesnt-propagate-into-tables/standards.html.ini b/tests/wpt/metadata-layout-2020/quirks/text-decoration-doesnt-propagate-into-tables/standards.html.ini new file mode 100644 index 00000000000..80b173c8fb3 --- /dev/null +++ b/tests/wpt/metadata-layout-2020/quirks/text-decoration-doesnt-propagate-into-tables/standards.html.ini @@ -0,0 +1,2 @@ +[standards.html] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/quirks/unitless-length/excluded-properties-002.html.ini b/tests/wpt/metadata-layout-2020/quirks/unitless-length/excluded-properties-002.html.ini new file mode 100644 index 00000000000..db1c61d628c --- /dev/null +++ b/tests/wpt/metadata-layout-2020/quirks/unitless-length/excluded-properties-002.html.ini @@ -0,0 +1,21 @@ +[excluded-properties-002.html] + [Property background-blend-mode does not support quirky length] + expected: FAIL + + [Property box-shadow does not support quirky length] + expected: FAIL + + [Property clip-path does not support quirky length] + expected: FAIL + + [Property column-span does not support quirky length] + expected: FAIL + + [Property mask does not support quirky length] + expected: FAIL + + [Property object-position does not support quirky length] + expected: FAIL + + [Property text-shadow does not support quirky length] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/quirks/unitless-length/excluded-properties-003.html.ini b/tests/wpt/metadata-layout-2020/quirks/unitless-length/excluded-properties-003.html.ini new file mode 100644 index 00000000000..dc3b5ae057f --- /dev/null +++ b/tests/wpt/metadata-layout-2020/quirks/unitless-length/excluded-properties-003.html.ini @@ -0,0 +1,3 @@ +[excluded-properties-003.html] + [inset does not support quirky length values] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/quirks/unitless-length/limited-quirks.html.ini b/tests/wpt/metadata-layout-2020/quirks/unitless-length/limited-quirks.html.ini new file mode 100644 index 00000000000..6c0be9e0cb3 --- /dev/null +++ b/tests/wpt/metadata-layout-2020/quirks/unitless-length/limited-quirks.html.ini @@ -0,0 +1,141 @@ +[limited-quirks.html] + [top: 1] + expected: FAIL + + [top: +1] + expected: FAIL + + [top: -1] + expected: FAIL + + [top: 1.5] + expected: FAIL + + [top: +1.5] + expected: FAIL + + [top: -1.5] + expected: FAIL + + [top: \\31 ] + expected: FAIL + + [top: +\\31 ] + expected: FAIL + + [top: -\\31 ] + expected: FAIL + + [top: \\31 .5] + expected: FAIL + + [top: +\\31 .5] + expected: FAIL + + [top: -\\31 .5] + expected: FAIL + + [top: 1\\31 ] + expected: FAIL + + [top: +1\\31 ] + expected: FAIL + + [top: -1\\31 ] + expected: FAIL + + [top: 1\\31 .5] + expected: FAIL + + [top: +1\\31 .5] + expected: FAIL + + [top: -1\\31 .5] + expected: FAIL + + [top: a] + expected: FAIL + + [top: A] + expected: FAIL + + [top: 1a] + expected: FAIL + + [top: +1a] + expected: FAIL + + [top: -1a] + expected: FAIL + + [top: +1A] + expected: FAIL + + [top: -1A] + expected: FAIL + + [top: +a] + expected: FAIL + + [top: -a] + expected: FAIL + + [top: +A] + expected: FAIL + + [top: -A] + expected: FAIL + + [top: @a] + expected: FAIL + + [top: @1] + expected: FAIL + + [top: @1a] + expected: FAIL + + [top: "a"] + expected: FAIL + + [top: "1"] + expected: FAIL + + [top: "1a"] + expected: FAIL + + [top: url(1)] + expected: FAIL + + [top: url('1')] + expected: FAIL + + [top: #1] + expected: FAIL + + [top: #01] + expected: FAIL + + [top: #001] + expected: FAIL + + [top: #0001] + expected: FAIL + + [top: #00001] + expected: FAIL + + [top: #000001] + expected: FAIL + + [top: +/**/1] + expected: FAIL + + [top: -/**/1] + expected: FAIL + + [top: calc(1)] + expected: FAIL + + [top: calc(2 * 2px)] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/quirks/unitless-length/no-quirks.html.ini b/tests/wpt/metadata-layout-2020/quirks/unitless-length/no-quirks.html.ini new file mode 100644 index 00000000000..92fa5eb90b0 --- /dev/null +++ b/tests/wpt/metadata-layout-2020/quirks/unitless-length/no-quirks.html.ini @@ -0,0 +1,141 @@ +[no-quirks.html] + [top: 1] + expected: FAIL + + [top: +1] + expected: FAIL + + [top: -1] + expected: FAIL + + [top: 1.5] + expected: FAIL + + [top: +1.5] + expected: FAIL + + [top: -1.5] + expected: FAIL + + [top: \\31 ] + expected: FAIL + + [top: +\\31 ] + expected: FAIL + + [top: -\\31 ] + expected: FAIL + + [top: \\31 .5] + expected: FAIL + + [top: +\\31 .5] + expected: FAIL + + [top: -\\31 .5] + expected: FAIL + + [top: 1\\31 ] + expected: FAIL + + [top: +1\\31 ] + expected: FAIL + + [top: -1\\31 ] + expected: FAIL + + [top: 1\\31 .5] + expected: FAIL + + [top: +1\\31 .5] + expected: FAIL + + [top: -1\\31 .5] + expected: FAIL + + [top: a] + expected: FAIL + + [top: A] + expected: FAIL + + [top: 1a] + expected: FAIL + + [top: +1a] + expected: FAIL + + [top: -1a] + expected: FAIL + + [top: +1A] + expected: FAIL + + [top: -1A] + expected: FAIL + + [top: +a] + expected: FAIL + + [top: -a] + expected: FAIL + + [top: +A] + expected: FAIL + + [top: -A] + expected: FAIL + + [top: @a] + expected: FAIL + + [top: @1] + expected: FAIL + + [top: @1a] + expected: FAIL + + [top: "a"] + expected: FAIL + + [top: "1"] + expected: FAIL + + [top: "1a"] + expected: FAIL + + [top: url(1)] + expected: FAIL + + [top: url('1')] + expected: FAIL + + [top: #1] + expected: FAIL + + [top: #01] + expected: FAIL + + [top: #001] + expected: FAIL + + [top: #0001] + expected: FAIL + + [top: #00001] + expected: FAIL + + [top: #000001] + expected: FAIL + + [top: +/**/1] + expected: FAIL + + [top: -/**/1] + expected: FAIL + + [top: calc(1)] + expected: FAIL + + [top: calc(2 * 2px)] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/quirks/unitless-length/quirks.html.ini b/tests/wpt/metadata-layout-2020/quirks/unitless-length/quirks.html.ini new file mode 100644 index 00000000000..845e270f290 --- /dev/null +++ b/tests/wpt/metadata-layout-2020/quirks/unitless-length/quirks.html.ini @@ -0,0 +1,141 @@ +[quirks.html] + [top: 1] + expected: FAIL + + [top: +1] + expected: FAIL + + [top: -1] + expected: FAIL + + [top: 1.5] + expected: FAIL + + [top: +1.5] + expected: FAIL + + [top: -1.5] + expected: FAIL + + [top: \\31 ] + expected: FAIL + + [top: +\\31 ] + expected: FAIL + + [top: -\\31 ] + expected: FAIL + + [top: \\31 .5] + expected: FAIL + + [top: +\\31 .5] + expected: FAIL + + [top: -\\31 .5] + expected: FAIL + + [top: 1\\31 ] + expected: FAIL + + [top: +1\\31 ] + expected: FAIL + + [top: -1\\31 ] + expected: FAIL + + [top: 1\\31 .5] + expected: FAIL + + [top: +1\\31 .5] + expected: FAIL + + [top: -1\\31 .5] + expected: FAIL + + [top: a] + expected: FAIL + + [top: A] + expected: FAIL + + [top: 1a] + expected: FAIL + + [top: +1a] + expected: FAIL + + [top: -1a] + expected: FAIL + + [top: +1A] + expected: FAIL + + [top: -1A] + expected: FAIL + + [top: +a] + expected: FAIL + + [top: -a] + expected: FAIL + + [top: +A] + expected: FAIL + + [top: -A] + expected: FAIL + + [top: @a] + expected: FAIL + + [top: @1] + expected: FAIL + + [top: @1a] + expected: FAIL + + [top: "a"] + expected: FAIL + + [top: "1"] + expected: FAIL + + [top: "1a"] + expected: FAIL + + [top: url(1)] + expected: FAIL + + [top: url('1')] + expected: FAIL + + [top: #1] + expected: FAIL + + [top: #01] + expected: FAIL + + [top: #001] + expected: FAIL + + [top: #0001] + expected: FAIL + + [top: #00001] + expected: FAIL + + [top: #000001] + expected: FAIL + + [top: +/**/1] + expected: FAIL + + [top: -/**/1] + expected: FAIL + + [top: calc(1)] + expected: FAIL + + [top: calc(2 * 2px)] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/img-tag.http.html.ini b/tests/wpt/metadata-layout-2020/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/img-tag.http.html.ini new file mode 100644 index 00000000000..ee412d1be75 --- /dev/null +++ b/tests/wpt/metadata-layout-2020/referrer-policy/4K+1/gen/top.http-rp/no-referrer-when-downgrade/img-tag.http.html.ini @@ -0,0 +1,36 @@ +[img-tag.http.html] + [Referrer Policy: Expects stripped-referrer for img-tag to cross-http origin and keep-origin redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects stripped-referrer for img-tag to cross-http origin and no-redirect redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects stripped-referrer for img-tag to cross-http origin and swap-origin redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects stripped-referrer for img-tag to cross-https origin and keep-origin redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects stripped-referrer for img-tag to cross-https origin and no-redirect redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects stripped-referrer for img-tag to cross-https origin and swap-origin redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects stripped-referrer for img-tag to same-http origin and keep-origin redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects stripped-referrer for img-tag to same-http origin and no-redirect redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects stripped-referrer for img-tag to same-http origin and swap-origin redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects stripped-referrer for img-tag to same-https origin and keep-origin redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects stripped-referrer for img-tag to same-https origin and no-redirect redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects stripped-referrer for img-tag to same-https origin and swap-origin redirection from http context.] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/referrer-policy/4K+1/gen/top.http-rp/origin-when-cross-origin/img-tag.http.html.ini b/tests/wpt/metadata-layout-2020/referrer-policy/4K+1/gen/top.http-rp/origin-when-cross-origin/img-tag.http.html.ini new file mode 100644 index 00000000000..dc24fb16d94 --- /dev/null +++ b/tests/wpt/metadata-layout-2020/referrer-policy/4K+1/gen/top.http-rp/origin-when-cross-origin/img-tag.http.html.ini @@ -0,0 +1,6 @@ +[img-tag.http.html] + [Referrer Policy: Expects stripped-referrer for img-tag to same-http origin and keep-origin redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects stripped-referrer for img-tag to same-http origin and no-redirect redirection from http context.] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/referrer-policy/4K+1/gen/top.http-rp/same-origin/img-tag.http.html.ini b/tests/wpt/metadata-layout-2020/referrer-policy/4K+1/gen/top.http-rp/same-origin/img-tag.http.html.ini new file mode 100644 index 00000000000..dc24fb16d94 --- /dev/null +++ b/tests/wpt/metadata-layout-2020/referrer-policy/4K+1/gen/top.http-rp/same-origin/img-tag.http.html.ini @@ -0,0 +1,6 @@ +[img-tag.http.html] + [Referrer Policy: Expects stripped-referrer for img-tag to same-http origin and keep-origin redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects stripped-referrer for img-tag to same-http origin and no-redirect redirection from http context.] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/referrer-policy/4K+1/gen/top.http-rp/strict-origin-when-cross-origin/img-tag.http.html.ini b/tests/wpt/metadata-layout-2020/referrer-policy/4K+1/gen/top.http-rp/strict-origin-when-cross-origin/img-tag.http.html.ini new file mode 100644 index 00000000000..dc24fb16d94 --- /dev/null +++ b/tests/wpt/metadata-layout-2020/referrer-policy/4K+1/gen/top.http-rp/strict-origin-when-cross-origin/img-tag.http.html.ini @@ -0,0 +1,6 @@ +[img-tag.http.html] + [Referrer Policy: Expects stripped-referrer for img-tag to same-http origin and keep-origin redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects stripped-referrer for img-tag to same-http origin and no-redirect redirection from http context.] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/img-tag.http.html.ini b/tests/wpt/metadata-layout-2020/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/img-tag.http.html.ini new file mode 100644 index 00000000000..ee412d1be75 --- /dev/null +++ b/tests/wpt/metadata-layout-2020/referrer-policy/4K+1/gen/top.http-rp/unsafe-url/img-tag.http.html.ini @@ -0,0 +1,36 @@ +[img-tag.http.html] + [Referrer Policy: Expects stripped-referrer for img-tag to cross-http origin and keep-origin redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects stripped-referrer for img-tag to cross-http origin and no-redirect redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects stripped-referrer for img-tag to cross-http origin and swap-origin redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects stripped-referrer for img-tag to cross-https origin and keep-origin redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects stripped-referrer for img-tag to cross-https origin and no-redirect redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects stripped-referrer for img-tag to cross-https origin and swap-origin redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects stripped-referrer for img-tag to same-http origin and keep-origin redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects stripped-referrer for img-tag to same-http origin and no-redirect redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects stripped-referrer for img-tag to same-http origin and swap-origin redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects stripped-referrer for img-tag to same-https origin and keep-origin redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects stripped-referrer for img-tag to same-https origin and no-redirect redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects stripped-referrer for img-tag to same-https origin and swap-origin redirection from http context.] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/referrer-policy/4K+1/gen/top.http-rp/unset/img-tag.http.html.ini b/tests/wpt/metadata-layout-2020/referrer-policy/4K+1/gen/top.http-rp/unset/img-tag.http.html.ini new file mode 100644 index 00000000000..dc24fb16d94 --- /dev/null +++ b/tests/wpt/metadata-layout-2020/referrer-policy/4K+1/gen/top.http-rp/unset/img-tag.http.html.ini @@ -0,0 +1,6 @@ +[img-tag.http.html] + [Referrer Policy: Expects stripped-referrer for img-tag to same-http origin and keep-origin redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects stripped-referrer for img-tag to same-http origin and no-redirect redirection from http context.] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/img-tag.http.html.ini b/tests/wpt/metadata-layout-2020/referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/img-tag.http.html.ini new file mode 100644 index 00000000000..ee412d1be75 --- /dev/null +++ b/tests/wpt/metadata-layout-2020/referrer-policy/4K+1/gen/top.meta/no-referrer-when-downgrade/img-tag.http.html.ini @@ -0,0 +1,36 @@ +[img-tag.http.html] + [Referrer Policy: Expects stripped-referrer for img-tag to cross-http origin and keep-origin redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects stripped-referrer for img-tag to cross-http origin and no-redirect redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects stripped-referrer for img-tag to cross-http origin and swap-origin redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects stripped-referrer for img-tag to cross-https origin and keep-origin redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects stripped-referrer for img-tag to cross-https origin and no-redirect redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects stripped-referrer for img-tag to cross-https origin and swap-origin redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects stripped-referrer for img-tag to same-http origin and keep-origin redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects stripped-referrer for img-tag to same-http origin and no-redirect redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects stripped-referrer for img-tag to same-http origin and swap-origin redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects stripped-referrer for img-tag to same-https origin and keep-origin redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects stripped-referrer for img-tag to same-https origin and no-redirect redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects stripped-referrer for img-tag to same-https origin and swap-origin redirection from http context.] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/referrer-policy/4K+1/gen/top.meta/origin-when-cross-origin/img-tag.http.html.ini b/tests/wpt/metadata-layout-2020/referrer-policy/4K+1/gen/top.meta/origin-when-cross-origin/img-tag.http.html.ini new file mode 100644 index 00000000000..dc24fb16d94 --- /dev/null +++ b/tests/wpt/metadata-layout-2020/referrer-policy/4K+1/gen/top.meta/origin-when-cross-origin/img-tag.http.html.ini @@ -0,0 +1,6 @@ +[img-tag.http.html] + [Referrer Policy: Expects stripped-referrer for img-tag to same-http origin and keep-origin redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects stripped-referrer for img-tag to same-http origin and no-redirect redirection from http context.] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/referrer-policy/4K+1/gen/top.meta/same-origin/img-tag.http.html.ini b/tests/wpt/metadata-layout-2020/referrer-policy/4K+1/gen/top.meta/same-origin/img-tag.http.html.ini new file mode 100644 index 00000000000..dc24fb16d94 --- /dev/null +++ b/tests/wpt/metadata-layout-2020/referrer-policy/4K+1/gen/top.meta/same-origin/img-tag.http.html.ini @@ -0,0 +1,6 @@ +[img-tag.http.html] + [Referrer Policy: Expects stripped-referrer for img-tag to same-http origin and keep-origin redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects stripped-referrer for img-tag to same-http origin and no-redirect redirection from http context.] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/referrer-policy/4K+1/gen/top.meta/strict-origin-when-cross-origin/img-tag.http.html.ini b/tests/wpt/metadata-layout-2020/referrer-policy/4K+1/gen/top.meta/strict-origin-when-cross-origin/img-tag.http.html.ini new file mode 100644 index 00000000000..dc24fb16d94 --- /dev/null +++ b/tests/wpt/metadata-layout-2020/referrer-policy/4K+1/gen/top.meta/strict-origin-when-cross-origin/img-tag.http.html.ini @@ -0,0 +1,6 @@ +[img-tag.http.html] + [Referrer Policy: Expects stripped-referrer for img-tag to same-http origin and keep-origin redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects stripped-referrer for img-tag to same-http origin and no-redirect redirection from http context.] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/referrer-policy/4K+1/gen/top.meta/unsafe-url/img-tag.http.html.ini b/tests/wpt/metadata-layout-2020/referrer-policy/4K+1/gen/top.meta/unsafe-url/img-tag.http.html.ini new file mode 100644 index 00000000000..ee412d1be75 --- /dev/null +++ b/tests/wpt/metadata-layout-2020/referrer-policy/4K+1/gen/top.meta/unsafe-url/img-tag.http.html.ini @@ -0,0 +1,36 @@ +[img-tag.http.html] + [Referrer Policy: Expects stripped-referrer for img-tag to cross-http origin and keep-origin redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects stripped-referrer for img-tag to cross-http origin and no-redirect redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects stripped-referrer for img-tag to cross-http origin and swap-origin redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects stripped-referrer for img-tag to cross-https origin and keep-origin redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects stripped-referrer for img-tag to cross-https origin and no-redirect redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects stripped-referrer for img-tag to cross-https origin and swap-origin redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects stripped-referrer for img-tag to same-http origin and keep-origin redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects stripped-referrer for img-tag to same-http origin and no-redirect redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects stripped-referrer for img-tag to same-http origin and swap-origin redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects stripped-referrer for img-tag to same-https origin and keep-origin redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects stripped-referrer for img-tag to same-https origin and no-redirect redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects stripped-referrer for img-tag to same-https origin and swap-origin redirection from http context.] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/referrer-policy/4K+1/gen/top.meta/unset/img-tag.http.html.ini b/tests/wpt/metadata-layout-2020/referrer-policy/4K+1/gen/top.meta/unset/img-tag.http.html.ini new file mode 100644 index 00000000000..dc24fb16d94 --- /dev/null +++ b/tests/wpt/metadata-layout-2020/referrer-policy/4K+1/gen/top.meta/unset/img-tag.http.html.ini @@ -0,0 +1,6 @@ +[img-tag.http.html] + [Referrer Policy: Expects stripped-referrer for img-tag to same-http origin and keep-origin redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects stripped-referrer for img-tag to same-http origin and no-redirect redirection from http context.] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/img-tag.http.html.ini b/tests/wpt/metadata-layout-2020/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/img-tag.http.html.ini new file mode 100644 index 00000000000..ee412d1be75 --- /dev/null +++ b/tests/wpt/metadata-layout-2020/referrer-policy/4K-1/gen/top.http-rp/no-referrer-when-downgrade/img-tag.http.html.ini @@ -0,0 +1,36 @@ +[img-tag.http.html] + [Referrer Policy: Expects stripped-referrer for img-tag to cross-http origin and keep-origin redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects stripped-referrer for img-tag to cross-http origin and no-redirect redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects stripped-referrer for img-tag to cross-http origin and swap-origin redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects stripped-referrer for img-tag to cross-https origin and keep-origin redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects stripped-referrer for img-tag to cross-https origin and no-redirect redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects stripped-referrer for img-tag to cross-https origin and swap-origin redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects stripped-referrer for img-tag to same-http origin and keep-origin redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects stripped-referrer for img-tag to same-http origin and no-redirect redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects stripped-referrer for img-tag to same-http origin and swap-origin redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects stripped-referrer for img-tag to same-https origin and keep-origin redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects stripped-referrer for img-tag to same-https origin and no-redirect redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects stripped-referrer for img-tag to same-https origin and swap-origin redirection from http context.] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/referrer-policy/4K-1/gen/top.http-rp/origin-when-cross-origin/img-tag.http.html.ini b/tests/wpt/metadata-layout-2020/referrer-policy/4K-1/gen/top.http-rp/origin-when-cross-origin/img-tag.http.html.ini new file mode 100644 index 00000000000..dc24fb16d94 --- /dev/null +++ b/tests/wpt/metadata-layout-2020/referrer-policy/4K-1/gen/top.http-rp/origin-when-cross-origin/img-tag.http.html.ini @@ -0,0 +1,6 @@ +[img-tag.http.html] + [Referrer Policy: Expects stripped-referrer for img-tag to same-http origin and keep-origin redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects stripped-referrer for img-tag to same-http origin and no-redirect redirection from http context.] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/referrer-policy/4K-1/gen/top.http-rp/same-origin/img-tag.http.html.ini b/tests/wpt/metadata-layout-2020/referrer-policy/4K-1/gen/top.http-rp/same-origin/img-tag.http.html.ini new file mode 100644 index 00000000000..dc24fb16d94 --- /dev/null +++ b/tests/wpt/metadata-layout-2020/referrer-policy/4K-1/gen/top.http-rp/same-origin/img-tag.http.html.ini @@ -0,0 +1,6 @@ +[img-tag.http.html] + [Referrer Policy: Expects stripped-referrer for img-tag to same-http origin and keep-origin redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects stripped-referrer for img-tag to same-http origin and no-redirect redirection from http context.] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/referrer-policy/4K-1/gen/top.http-rp/strict-origin-when-cross-origin/img-tag.http.html.ini b/tests/wpt/metadata-layout-2020/referrer-policy/4K-1/gen/top.http-rp/strict-origin-when-cross-origin/img-tag.http.html.ini new file mode 100644 index 00000000000..dc24fb16d94 --- /dev/null +++ b/tests/wpt/metadata-layout-2020/referrer-policy/4K-1/gen/top.http-rp/strict-origin-when-cross-origin/img-tag.http.html.ini @@ -0,0 +1,6 @@ +[img-tag.http.html] + [Referrer Policy: Expects stripped-referrer for img-tag to same-http origin and keep-origin redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects stripped-referrer for img-tag to same-http origin and no-redirect redirection from http context.] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/img-tag.http.html.ini b/tests/wpt/metadata-layout-2020/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/img-tag.http.html.ini new file mode 100644 index 00000000000..ee412d1be75 --- /dev/null +++ b/tests/wpt/metadata-layout-2020/referrer-policy/4K-1/gen/top.http-rp/unsafe-url/img-tag.http.html.ini @@ -0,0 +1,36 @@ +[img-tag.http.html] + [Referrer Policy: Expects stripped-referrer for img-tag to cross-http origin and keep-origin redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects stripped-referrer for img-tag to cross-http origin and no-redirect redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects stripped-referrer for img-tag to cross-http origin and swap-origin redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects stripped-referrer for img-tag to cross-https origin and keep-origin redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects stripped-referrer for img-tag to cross-https origin and no-redirect redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects stripped-referrer for img-tag to cross-https origin and swap-origin redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects stripped-referrer for img-tag to same-http origin and keep-origin redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects stripped-referrer for img-tag to same-http origin and no-redirect redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects stripped-referrer for img-tag to same-http origin and swap-origin redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects stripped-referrer for img-tag to same-https origin and keep-origin redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects stripped-referrer for img-tag to same-https origin and no-redirect redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects stripped-referrer for img-tag to same-https origin and swap-origin redirection from http context.] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/referrer-policy/4K-1/gen/top.http-rp/unset/img-tag.http.html.ini b/tests/wpt/metadata-layout-2020/referrer-policy/4K-1/gen/top.http-rp/unset/img-tag.http.html.ini new file mode 100644 index 00000000000..dc24fb16d94 --- /dev/null +++ b/tests/wpt/metadata-layout-2020/referrer-policy/4K-1/gen/top.http-rp/unset/img-tag.http.html.ini @@ -0,0 +1,6 @@ +[img-tag.http.html] + [Referrer Policy: Expects stripped-referrer for img-tag to same-http origin and keep-origin redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects stripped-referrer for img-tag to same-http origin and no-redirect redirection from http context.] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/img-tag.http.html.ini b/tests/wpt/metadata-layout-2020/referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/img-tag.http.html.ini new file mode 100644 index 00000000000..ee412d1be75 --- /dev/null +++ b/tests/wpt/metadata-layout-2020/referrer-policy/4K-1/gen/top.meta/no-referrer-when-downgrade/img-tag.http.html.ini @@ -0,0 +1,36 @@ +[img-tag.http.html] + [Referrer Policy: Expects stripped-referrer for img-tag to cross-http origin and keep-origin redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects stripped-referrer for img-tag to cross-http origin and no-redirect redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects stripped-referrer for img-tag to cross-http origin and swap-origin redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects stripped-referrer for img-tag to cross-https origin and keep-origin redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects stripped-referrer for img-tag to cross-https origin and no-redirect redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects stripped-referrer for img-tag to cross-https origin and swap-origin redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects stripped-referrer for img-tag to same-http origin and keep-origin redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects stripped-referrer for img-tag to same-http origin and no-redirect redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects stripped-referrer for img-tag to same-http origin and swap-origin redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects stripped-referrer for img-tag to same-https origin and keep-origin redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects stripped-referrer for img-tag to same-https origin and no-redirect redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects stripped-referrer for img-tag to same-https origin and swap-origin redirection from http context.] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/referrer-policy/4K-1/gen/top.meta/origin-when-cross-origin/img-tag.http.html.ini b/tests/wpt/metadata-layout-2020/referrer-policy/4K-1/gen/top.meta/origin-when-cross-origin/img-tag.http.html.ini new file mode 100644 index 00000000000..dc24fb16d94 --- /dev/null +++ b/tests/wpt/metadata-layout-2020/referrer-policy/4K-1/gen/top.meta/origin-when-cross-origin/img-tag.http.html.ini @@ -0,0 +1,6 @@ +[img-tag.http.html] + [Referrer Policy: Expects stripped-referrer for img-tag to same-http origin and keep-origin redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects stripped-referrer for img-tag to same-http origin and no-redirect redirection from http context.] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/referrer-policy/4K-1/gen/top.meta/same-origin/img-tag.http.html.ini b/tests/wpt/metadata-layout-2020/referrer-policy/4K-1/gen/top.meta/same-origin/img-tag.http.html.ini new file mode 100644 index 00000000000..dc24fb16d94 --- /dev/null +++ b/tests/wpt/metadata-layout-2020/referrer-policy/4K-1/gen/top.meta/same-origin/img-tag.http.html.ini @@ -0,0 +1,6 @@ +[img-tag.http.html] + [Referrer Policy: Expects stripped-referrer for img-tag to same-http origin and keep-origin redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects stripped-referrer for img-tag to same-http origin and no-redirect redirection from http context.] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/referrer-policy/4K-1/gen/top.meta/strict-origin-when-cross-origin/img-tag.http.html.ini b/tests/wpt/metadata-layout-2020/referrer-policy/4K-1/gen/top.meta/strict-origin-when-cross-origin/img-tag.http.html.ini new file mode 100644 index 00000000000..dc24fb16d94 --- /dev/null +++ b/tests/wpt/metadata-layout-2020/referrer-policy/4K-1/gen/top.meta/strict-origin-when-cross-origin/img-tag.http.html.ini @@ -0,0 +1,6 @@ +[img-tag.http.html] + [Referrer Policy: Expects stripped-referrer for img-tag to same-http origin and keep-origin redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects stripped-referrer for img-tag to same-http origin and no-redirect redirection from http context.] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/referrer-policy/4K-1/gen/top.meta/unsafe-url/img-tag.http.html.ini b/tests/wpt/metadata-layout-2020/referrer-policy/4K-1/gen/top.meta/unsafe-url/img-tag.http.html.ini new file mode 100644 index 00000000000..ee412d1be75 --- /dev/null +++ b/tests/wpt/metadata-layout-2020/referrer-policy/4K-1/gen/top.meta/unsafe-url/img-tag.http.html.ini @@ -0,0 +1,36 @@ +[img-tag.http.html] + [Referrer Policy: Expects stripped-referrer for img-tag to cross-http origin and keep-origin redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects stripped-referrer for img-tag to cross-http origin and no-redirect redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects stripped-referrer for img-tag to cross-http origin and swap-origin redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects stripped-referrer for img-tag to cross-https origin and keep-origin redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects stripped-referrer for img-tag to cross-https origin and no-redirect redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects stripped-referrer for img-tag to cross-https origin and swap-origin redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects stripped-referrer for img-tag to same-http origin and keep-origin redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects stripped-referrer for img-tag to same-http origin and no-redirect redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects stripped-referrer for img-tag to same-http origin and swap-origin redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects stripped-referrer for img-tag to same-https origin and keep-origin redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects stripped-referrer for img-tag to same-https origin and no-redirect redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects stripped-referrer for img-tag to same-https origin and swap-origin redirection from http context.] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/referrer-policy/4K-1/gen/top.meta/unset/img-tag.http.html.ini b/tests/wpt/metadata-layout-2020/referrer-policy/4K-1/gen/top.meta/unset/img-tag.http.html.ini new file mode 100644 index 00000000000..dc24fb16d94 --- /dev/null +++ b/tests/wpt/metadata-layout-2020/referrer-policy/4K-1/gen/top.meta/unset/img-tag.http.html.ini @@ -0,0 +1,6 @@ +[img-tag.http.html] + [Referrer Policy: Expects stripped-referrer for img-tag to same-http origin and keep-origin redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects stripped-referrer for img-tag to same-http origin and no-redirect redirection from http context.] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/img-tag.http.html.ini b/tests/wpt/metadata-layout-2020/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/img-tag.http.html.ini new file mode 100644 index 00000000000..ee412d1be75 --- /dev/null +++ b/tests/wpt/metadata-layout-2020/referrer-policy/4K/gen/top.http-rp/no-referrer-when-downgrade/img-tag.http.html.ini @@ -0,0 +1,36 @@ +[img-tag.http.html] + [Referrer Policy: Expects stripped-referrer for img-tag to cross-http origin and keep-origin redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects stripped-referrer for img-tag to cross-http origin and no-redirect redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects stripped-referrer for img-tag to cross-http origin and swap-origin redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects stripped-referrer for img-tag to cross-https origin and keep-origin redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects stripped-referrer for img-tag to cross-https origin and no-redirect redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects stripped-referrer for img-tag to cross-https origin and swap-origin redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects stripped-referrer for img-tag to same-http origin and keep-origin redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects stripped-referrer for img-tag to same-http origin and no-redirect redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects stripped-referrer for img-tag to same-http origin and swap-origin redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects stripped-referrer for img-tag to same-https origin and keep-origin redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects stripped-referrer for img-tag to same-https origin and no-redirect redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects stripped-referrer for img-tag to same-https origin and swap-origin redirection from http context.] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/referrer-policy/4K/gen/top.http-rp/origin-when-cross-origin/img-tag.http.html.ini b/tests/wpt/metadata-layout-2020/referrer-policy/4K/gen/top.http-rp/origin-when-cross-origin/img-tag.http.html.ini new file mode 100644 index 00000000000..dc24fb16d94 --- /dev/null +++ b/tests/wpt/metadata-layout-2020/referrer-policy/4K/gen/top.http-rp/origin-when-cross-origin/img-tag.http.html.ini @@ -0,0 +1,6 @@ +[img-tag.http.html] + [Referrer Policy: Expects stripped-referrer for img-tag to same-http origin and keep-origin redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects stripped-referrer for img-tag to same-http origin and no-redirect redirection from http context.] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/referrer-policy/4K/gen/top.http-rp/same-origin/img-tag.http.html.ini b/tests/wpt/metadata-layout-2020/referrer-policy/4K/gen/top.http-rp/same-origin/img-tag.http.html.ini new file mode 100644 index 00000000000..dc24fb16d94 --- /dev/null +++ b/tests/wpt/metadata-layout-2020/referrer-policy/4K/gen/top.http-rp/same-origin/img-tag.http.html.ini @@ -0,0 +1,6 @@ +[img-tag.http.html] + [Referrer Policy: Expects stripped-referrer for img-tag to same-http origin and keep-origin redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects stripped-referrer for img-tag to same-http origin and no-redirect redirection from http context.] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/referrer-policy/4K/gen/top.http-rp/strict-origin-when-cross-origin/img-tag.http.html.ini b/tests/wpt/metadata-layout-2020/referrer-policy/4K/gen/top.http-rp/strict-origin-when-cross-origin/img-tag.http.html.ini new file mode 100644 index 00000000000..dc24fb16d94 --- /dev/null +++ b/tests/wpt/metadata-layout-2020/referrer-policy/4K/gen/top.http-rp/strict-origin-when-cross-origin/img-tag.http.html.ini @@ -0,0 +1,6 @@ +[img-tag.http.html] + [Referrer Policy: Expects stripped-referrer for img-tag to same-http origin and keep-origin redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects stripped-referrer for img-tag to same-http origin and no-redirect redirection from http context.] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/referrer-policy/4K/gen/top.http-rp/unsafe-url/img-tag.http.html.ini b/tests/wpt/metadata-layout-2020/referrer-policy/4K/gen/top.http-rp/unsafe-url/img-tag.http.html.ini new file mode 100644 index 00000000000..ee412d1be75 --- /dev/null +++ b/tests/wpt/metadata-layout-2020/referrer-policy/4K/gen/top.http-rp/unsafe-url/img-tag.http.html.ini @@ -0,0 +1,36 @@ +[img-tag.http.html] + [Referrer Policy: Expects stripped-referrer for img-tag to cross-http origin and keep-origin redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects stripped-referrer for img-tag to cross-http origin and no-redirect redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects stripped-referrer for img-tag to cross-http origin and swap-origin redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects stripped-referrer for img-tag to cross-https origin and keep-origin redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects stripped-referrer for img-tag to cross-https origin and no-redirect redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects stripped-referrer for img-tag to cross-https origin and swap-origin redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects stripped-referrer for img-tag to same-http origin and keep-origin redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects stripped-referrer for img-tag to same-http origin and no-redirect redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects stripped-referrer for img-tag to same-http origin and swap-origin redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects stripped-referrer for img-tag to same-https origin and keep-origin redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects stripped-referrer for img-tag to same-https origin and no-redirect redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects stripped-referrer for img-tag to same-https origin and swap-origin redirection from http context.] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/referrer-policy/4K/gen/top.http-rp/unset/img-tag.http.html.ini b/tests/wpt/metadata-layout-2020/referrer-policy/4K/gen/top.http-rp/unset/img-tag.http.html.ini new file mode 100644 index 00000000000..dc24fb16d94 --- /dev/null +++ b/tests/wpt/metadata-layout-2020/referrer-policy/4K/gen/top.http-rp/unset/img-tag.http.html.ini @@ -0,0 +1,6 @@ +[img-tag.http.html] + [Referrer Policy: Expects stripped-referrer for img-tag to same-http origin and keep-origin redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects stripped-referrer for img-tag to same-http origin and no-redirect redirection from http context.] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/img-tag.http.html.ini b/tests/wpt/metadata-layout-2020/referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/img-tag.http.html.ini new file mode 100644 index 00000000000..ee412d1be75 --- /dev/null +++ b/tests/wpt/metadata-layout-2020/referrer-policy/4K/gen/top.meta/no-referrer-when-downgrade/img-tag.http.html.ini @@ -0,0 +1,36 @@ +[img-tag.http.html] + [Referrer Policy: Expects stripped-referrer for img-tag to cross-http origin and keep-origin redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects stripped-referrer for img-tag to cross-http origin and no-redirect redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects stripped-referrer for img-tag to cross-http origin and swap-origin redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects stripped-referrer for img-tag to cross-https origin and keep-origin redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects stripped-referrer for img-tag to cross-https origin and no-redirect redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects stripped-referrer for img-tag to cross-https origin and swap-origin redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects stripped-referrer for img-tag to same-http origin and keep-origin redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects stripped-referrer for img-tag to same-http origin and no-redirect redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects stripped-referrer for img-tag to same-http origin and swap-origin redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects stripped-referrer for img-tag to same-https origin and keep-origin redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects stripped-referrer for img-tag to same-https origin and no-redirect redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects stripped-referrer for img-tag to same-https origin and swap-origin redirection from http context.] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/referrer-policy/4K/gen/top.meta/origin-when-cross-origin/img-tag.http.html.ini b/tests/wpt/metadata-layout-2020/referrer-policy/4K/gen/top.meta/origin-when-cross-origin/img-tag.http.html.ini new file mode 100644 index 00000000000..dc24fb16d94 --- /dev/null +++ b/tests/wpt/metadata-layout-2020/referrer-policy/4K/gen/top.meta/origin-when-cross-origin/img-tag.http.html.ini @@ -0,0 +1,6 @@ +[img-tag.http.html] + [Referrer Policy: Expects stripped-referrer for img-tag to same-http origin and keep-origin redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects stripped-referrer for img-tag to same-http origin and no-redirect redirection from http context.] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/referrer-policy/4K/gen/top.meta/same-origin/img-tag.http.html.ini b/tests/wpt/metadata-layout-2020/referrer-policy/4K/gen/top.meta/same-origin/img-tag.http.html.ini new file mode 100644 index 00000000000..dc24fb16d94 --- /dev/null +++ b/tests/wpt/metadata-layout-2020/referrer-policy/4K/gen/top.meta/same-origin/img-tag.http.html.ini @@ -0,0 +1,6 @@ +[img-tag.http.html] + [Referrer Policy: Expects stripped-referrer for img-tag to same-http origin and keep-origin redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects stripped-referrer for img-tag to same-http origin and no-redirect redirection from http context.] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/referrer-policy/4K/gen/top.meta/strict-origin-when-cross-origin/img-tag.http.html.ini b/tests/wpt/metadata-layout-2020/referrer-policy/4K/gen/top.meta/strict-origin-when-cross-origin/img-tag.http.html.ini new file mode 100644 index 00000000000..dc24fb16d94 --- /dev/null +++ b/tests/wpt/metadata-layout-2020/referrer-policy/4K/gen/top.meta/strict-origin-when-cross-origin/img-tag.http.html.ini @@ -0,0 +1,6 @@ +[img-tag.http.html] + [Referrer Policy: Expects stripped-referrer for img-tag to same-http origin and keep-origin redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects stripped-referrer for img-tag to same-http origin and no-redirect redirection from http context.] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/referrer-policy/4K/gen/top.meta/unsafe-url/img-tag.http.html.ini b/tests/wpt/metadata-layout-2020/referrer-policy/4K/gen/top.meta/unsafe-url/img-tag.http.html.ini new file mode 100644 index 00000000000..ee412d1be75 --- /dev/null +++ b/tests/wpt/metadata-layout-2020/referrer-policy/4K/gen/top.meta/unsafe-url/img-tag.http.html.ini @@ -0,0 +1,36 @@ +[img-tag.http.html] + [Referrer Policy: Expects stripped-referrer for img-tag to cross-http origin and keep-origin redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects stripped-referrer for img-tag to cross-http origin and no-redirect redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects stripped-referrer for img-tag to cross-http origin and swap-origin redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects stripped-referrer for img-tag to cross-https origin and keep-origin redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects stripped-referrer for img-tag to cross-https origin and no-redirect redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects stripped-referrer for img-tag to cross-https origin and swap-origin redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects stripped-referrer for img-tag to same-http origin and keep-origin redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects stripped-referrer for img-tag to same-http origin and no-redirect redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects stripped-referrer for img-tag to same-http origin and swap-origin redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects stripped-referrer for img-tag to same-https origin and keep-origin redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects stripped-referrer for img-tag to same-https origin and no-redirect redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects stripped-referrer for img-tag to same-https origin and swap-origin redirection from http context.] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/referrer-policy/4K/gen/top.meta/unset/img-tag.http.html.ini b/tests/wpt/metadata-layout-2020/referrer-policy/4K/gen/top.meta/unset/img-tag.http.html.ini new file mode 100644 index 00000000000..dc24fb16d94 --- /dev/null +++ b/tests/wpt/metadata-layout-2020/referrer-policy/4K/gen/top.meta/unset/img-tag.http.html.ini @@ -0,0 +1,6 @@ +[img-tag.http.html] + [Referrer Policy: Expects stripped-referrer for img-tag to same-http origin and keep-origin redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects stripped-referrer for img-tag to same-http origin and no-redirect redirection from http context.] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/referrer-policy/gen/iframe.http-rp/no-referrer-when-downgrade/img-tag.http.html.ini b/tests/wpt/metadata-layout-2020/referrer-policy/gen/iframe.http-rp/no-referrer-when-downgrade/img-tag.http.html.ini new file mode 100644 index 00000000000..ee412d1be75 --- /dev/null +++ b/tests/wpt/metadata-layout-2020/referrer-policy/gen/iframe.http-rp/no-referrer-when-downgrade/img-tag.http.html.ini @@ -0,0 +1,36 @@ +[img-tag.http.html] + [Referrer Policy: Expects stripped-referrer for img-tag to cross-http origin and keep-origin redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects stripped-referrer for img-tag to cross-http origin and no-redirect redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects stripped-referrer for img-tag to cross-http origin and swap-origin redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects stripped-referrer for img-tag to cross-https origin and keep-origin redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects stripped-referrer for img-tag to cross-https origin and no-redirect redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects stripped-referrer for img-tag to cross-https origin and swap-origin redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects stripped-referrer for img-tag to same-http origin and keep-origin redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects stripped-referrer for img-tag to same-http origin and no-redirect redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects stripped-referrer for img-tag to same-http origin and swap-origin redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects stripped-referrer for img-tag to same-https origin and keep-origin redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects stripped-referrer for img-tag to same-https origin and no-redirect redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects stripped-referrer for img-tag to same-https origin and swap-origin redirection from http context.] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/referrer-policy/gen/iframe.http-rp/no-referrer/img-tag.http.html.ini b/tests/wpt/metadata-layout-2020/referrer-policy/gen/iframe.http-rp/no-referrer/img-tag.http.html.ini new file mode 100644 index 00000000000..5a9703788a1 --- /dev/null +++ b/tests/wpt/metadata-layout-2020/referrer-policy/gen/iframe.http-rp/no-referrer/img-tag.http.html.ini @@ -0,0 +1,36 @@ +[img-tag.http.html] + [Referrer Policy: Expects omitted for img-tag to cross-http origin and keep-origin redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects omitted for img-tag to cross-http origin and no-redirect redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects omitted for img-tag to cross-http origin and swap-origin redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects omitted for img-tag to cross-https origin and keep-origin redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects omitted for img-tag to cross-https origin and no-redirect redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects omitted for img-tag to cross-https origin and swap-origin redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects omitted for img-tag to same-http origin and keep-origin redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects omitted for img-tag to same-http origin and no-redirect redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects omitted for img-tag to same-http origin and swap-origin redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects omitted for img-tag to same-https origin and keep-origin redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects omitted for img-tag to same-https origin and no-redirect redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects omitted for img-tag to same-https origin and swap-origin redirection from http context.] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/referrer-policy/gen/iframe.http-rp/origin-when-cross-origin/img-tag.http.html.ini b/tests/wpt/metadata-layout-2020/referrer-policy/gen/iframe.http-rp/origin-when-cross-origin/img-tag.http.html.ini new file mode 100644 index 00000000000..e62bf5b224c --- /dev/null +++ b/tests/wpt/metadata-layout-2020/referrer-policy/gen/iframe.http-rp/origin-when-cross-origin/img-tag.http.html.ini @@ -0,0 +1,36 @@ +[img-tag.http.html] + [Referrer Policy: Expects origin for img-tag to cross-http origin and keep-origin redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects origin for img-tag to cross-http origin and no-redirect redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects origin for img-tag to cross-http origin and swap-origin redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects origin for img-tag to cross-https origin and keep-origin redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects origin for img-tag to cross-https origin and no-redirect redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects origin for img-tag to cross-https origin and swap-origin redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects origin for img-tag to same-http origin and swap-origin redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects origin for img-tag to same-https origin and keep-origin redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects origin for img-tag to same-https origin and no-redirect redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects origin for img-tag to same-https origin and swap-origin redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects stripped-referrer for img-tag to same-http origin and keep-origin redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects stripped-referrer for img-tag to same-http origin and no-redirect redirection from http context.] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/referrer-policy/gen/iframe.http-rp/origin/img-tag.http.html.ini b/tests/wpt/metadata-layout-2020/referrer-policy/gen/iframe.http-rp/origin/img-tag.http.html.ini new file mode 100644 index 00000000000..a32c9a18510 --- /dev/null +++ b/tests/wpt/metadata-layout-2020/referrer-policy/gen/iframe.http-rp/origin/img-tag.http.html.ini @@ -0,0 +1,36 @@ +[img-tag.http.html] + [Referrer Policy: Expects origin for img-tag to cross-http origin and keep-origin redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects origin for img-tag to cross-http origin and no-redirect redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects origin for img-tag to cross-http origin and swap-origin redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects origin for img-tag to cross-https origin and keep-origin redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects origin for img-tag to cross-https origin and no-redirect redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects origin for img-tag to cross-https origin and swap-origin redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects origin for img-tag to same-http origin and keep-origin redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects origin for img-tag to same-http origin and no-redirect redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects origin for img-tag to same-http origin and swap-origin redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects origin for img-tag to same-https origin and keep-origin redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects origin for img-tag to same-https origin and no-redirect redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects origin for img-tag to same-https origin and swap-origin redirection from http context.] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/referrer-policy/gen/iframe.http-rp/same-origin/img-tag.http.html.ini b/tests/wpt/metadata-layout-2020/referrer-policy/gen/iframe.http-rp/same-origin/img-tag.http.html.ini new file mode 100644 index 00000000000..20091400d9f --- /dev/null +++ b/tests/wpt/metadata-layout-2020/referrer-policy/gen/iframe.http-rp/same-origin/img-tag.http.html.ini @@ -0,0 +1,30 @@ +[img-tag.http.html] + [Referrer Policy: Expects omitted for img-tag to cross-http origin and keep-origin redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects omitted for img-tag to cross-http origin and no-redirect redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects omitted for img-tag to cross-http origin and swap-origin redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects omitted for img-tag to cross-https origin and keep-origin redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects omitted for img-tag to cross-https origin and no-redirect redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects omitted for img-tag to cross-https origin and swap-origin redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects omitted for img-tag to same-http origin and swap-origin redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects omitted for img-tag to same-https origin and swap-origin redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects stripped-referrer for img-tag to same-http origin and keep-origin redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects stripped-referrer for img-tag to same-http origin and no-redirect redirection from http context.] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/referrer-policy/gen/iframe.http-rp/strict-origin-when-cross-origin/img-tag.http.html.ini b/tests/wpt/metadata-layout-2020/referrer-policy/gen/iframe.http-rp/strict-origin-when-cross-origin/img-tag.http.html.ini new file mode 100644 index 00000000000..e62bf5b224c --- /dev/null +++ b/tests/wpt/metadata-layout-2020/referrer-policy/gen/iframe.http-rp/strict-origin-when-cross-origin/img-tag.http.html.ini @@ -0,0 +1,36 @@ +[img-tag.http.html] + [Referrer Policy: Expects origin for img-tag to cross-http origin and keep-origin redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects origin for img-tag to cross-http origin and no-redirect redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects origin for img-tag to cross-http origin and swap-origin redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects origin for img-tag to cross-https origin and keep-origin redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects origin for img-tag to cross-https origin and no-redirect redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects origin for img-tag to cross-https origin and swap-origin redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects origin for img-tag to same-http origin and swap-origin redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects origin for img-tag to same-https origin and keep-origin redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects origin for img-tag to same-https origin and no-redirect redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects origin for img-tag to same-https origin and swap-origin redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects stripped-referrer for img-tag to same-http origin and keep-origin redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects stripped-referrer for img-tag to same-http origin and no-redirect redirection from http context.] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/referrer-policy/gen/iframe.http-rp/strict-origin/img-tag.http.html.ini b/tests/wpt/metadata-layout-2020/referrer-policy/gen/iframe.http-rp/strict-origin/img-tag.http.html.ini new file mode 100644 index 00000000000..a32c9a18510 --- /dev/null +++ b/tests/wpt/metadata-layout-2020/referrer-policy/gen/iframe.http-rp/strict-origin/img-tag.http.html.ini @@ -0,0 +1,36 @@ +[img-tag.http.html] + [Referrer Policy: Expects origin for img-tag to cross-http origin and keep-origin redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects origin for img-tag to cross-http origin and no-redirect redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects origin for img-tag to cross-http origin and swap-origin redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects origin for img-tag to cross-https origin and keep-origin redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects origin for img-tag to cross-https origin and no-redirect redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects origin for img-tag to cross-https origin and swap-origin redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects origin for img-tag to same-http origin and keep-origin redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects origin for img-tag to same-http origin and no-redirect redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects origin for img-tag to same-http origin and swap-origin redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects origin for img-tag to same-https origin and keep-origin redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects origin for img-tag to same-https origin and no-redirect redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects origin for img-tag to same-https origin and swap-origin redirection from http context.] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/referrer-policy/gen/iframe.http-rp/unsafe-url/img-tag.http.html.ini b/tests/wpt/metadata-layout-2020/referrer-policy/gen/iframe.http-rp/unsafe-url/img-tag.http.html.ini new file mode 100644 index 00000000000..ee412d1be75 --- /dev/null +++ b/tests/wpt/metadata-layout-2020/referrer-policy/gen/iframe.http-rp/unsafe-url/img-tag.http.html.ini @@ -0,0 +1,36 @@ +[img-tag.http.html] + [Referrer Policy: Expects stripped-referrer for img-tag to cross-http origin and keep-origin redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects stripped-referrer for img-tag to cross-http origin and no-redirect redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects stripped-referrer for img-tag to cross-http origin and swap-origin redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects stripped-referrer for img-tag to cross-https origin and keep-origin redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects stripped-referrer for img-tag to cross-https origin and no-redirect redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects stripped-referrer for img-tag to cross-https origin and swap-origin redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects stripped-referrer for img-tag to same-http origin and keep-origin redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects stripped-referrer for img-tag to same-http origin and no-redirect redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects stripped-referrer for img-tag to same-http origin and swap-origin redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects stripped-referrer for img-tag to same-https origin and keep-origin redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects stripped-referrer for img-tag to same-https origin and no-redirect redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects stripped-referrer for img-tag to same-https origin and swap-origin redirection from http context.] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/referrer-policy/gen/iframe.http-rp/unset/img-tag.http.html.ini b/tests/wpt/metadata-layout-2020/referrer-policy/gen/iframe.http-rp/unset/img-tag.http.html.ini index 1aa014c710c..85a95ab3825 100644 --- a/tests/wpt/metadata-layout-2020/referrer-policy/gen/iframe.http-rp/unset/img-tag.http.html.ini +++ b/tests/wpt/metadata-layout-2020/referrer-policy/gen/iframe.http-rp/unset/img-tag.http.html.ini @@ -29,3 +29,8 @@ [Referrer Policy: Expects origin for img-tag to cross-https origin and keep-origin redirection from http context.] expected: FAIL + [Referrer Policy: Expects stripped-referrer for img-tag to same-http origin and keep-origin redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects stripped-referrer for img-tag to same-http origin and no-redirect redirection from http context.] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/referrer-policy/gen/iframe.meta/always/img-tag.http.html.ini b/tests/wpt/metadata-layout-2020/referrer-policy/gen/iframe.meta/always/img-tag.http.html.ini new file mode 100644 index 00000000000..ee412d1be75 --- /dev/null +++ b/tests/wpt/metadata-layout-2020/referrer-policy/gen/iframe.meta/always/img-tag.http.html.ini @@ -0,0 +1,36 @@ +[img-tag.http.html] + [Referrer Policy: Expects stripped-referrer for img-tag to cross-http origin and keep-origin redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects stripped-referrer for img-tag to cross-http origin and no-redirect redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects stripped-referrer for img-tag to cross-http origin and swap-origin redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects stripped-referrer for img-tag to cross-https origin and keep-origin redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects stripped-referrer for img-tag to cross-https origin and no-redirect redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects stripped-referrer for img-tag to cross-https origin and swap-origin redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects stripped-referrer for img-tag to same-http origin and keep-origin redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects stripped-referrer for img-tag to same-http origin and no-redirect redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects stripped-referrer for img-tag to same-http origin and swap-origin redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects stripped-referrer for img-tag to same-https origin and keep-origin redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects stripped-referrer for img-tag to same-https origin and no-redirect redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects stripped-referrer for img-tag to same-https origin and swap-origin redirection from http context.] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/referrer-policy/gen/iframe.meta/default/img-tag.http.html.ini b/tests/wpt/metadata-layout-2020/referrer-policy/gen/iframe.meta/default/img-tag.http.html.ini index 1aa014c710c..85a95ab3825 100644 --- a/tests/wpt/metadata-layout-2020/referrer-policy/gen/iframe.meta/default/img-tag.http.html.ini +++ b/tests/wpt/metadata-layout-2020/referrer-policy/gen/iframe.meta/default/img-tag.http.html.ini @@ -29,3 +29,8 @@ [Referrer Policy: Expects origin for img-tag to cross-https origin and keep-origin redirection from http context.] expected: FAIL + [Referrer Policy: Expects stripped-referrer for img-tag to same-http origin and keep-origin redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects stripped-referrer for img-tag to same-http origin and no-redirect redirection from http context.] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/referrer-policy/gen/iframe.meta/never/img-tag.http.html.ini b/tests/wpt/metadata-layout-2020/referrer-policy/gen/iframe.meta/never/img-tag.http.html.ini new file mode 100644 index 00000000000..5a9703788a1 --- /dev/null +++ b/tests/wpt/metadata-layout-2020/referrer-policy/gen/iframe.meta/never/img-tag.http.html.ini @@ -0,0 +1,36 @@ +[img-tag.http.html] + [Referrer Policy: Expects omitted for img-tag to cross-http origin and keep-origin redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects omitted for img-tag to cross-http origin and no-redirect redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects omitted for img-tag to cross-http origin and swap-origin redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects omitted for img-tag to cross-https origin and keep-origin redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects omitted for img-tag to cross-https origin and no-redirect redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects omitted for img-tag to cross-https origin and swap-origin redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects omitted for img-tag to same-http origin and keep-origin redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects omitted for img-tag to same-http origin and no-redirect redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects omitted for img-tag to same-http origin and swap-origin redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects omitted for img-tag to same-https origin and keep-origin redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects omitted for img-tag to same-https origin and no-redirect redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects omitted for img-tag to same-https origin and swap-origin redirection from http context.] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/referrer-policy/gen/iframe.meta/no-referrer-when-downgrade/img-tag.http.html.ini b/tests/wpt/metadata-layout-2020/referrer-policy/gen/iframe.meta/no-referrer-when-downgrade/img-tag.http.html.ini new file mode 100644 index 00000000000..ee412d1be75 --- /dev/null +++ b/tests/wpt/metadata-layout-2020/referrer-policy/gen/iframe.meta/no-referrer-when-downgrade/img-tag.http.html.ini @@ -0,0 +1,36 @@ +[img-tag.http.html] + [Referrer Policy: Expects stripped-referrer for img-tag to cross-http origin and keep-origin redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects stripped-referrer for img-tag to cross-http origin and no-redirect redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects stripped-referrer for img-tag to cross-http origin and swap-origin redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects stripped-referrer for img-tag to cross-https origin and keep-origin redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects stripped-referrer for img-tag to cross-https origin and no-redirect redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects stripped-referrer for img-tag to cross-https origin and swap-origin redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects stripped-referrer for img-tag to same-http origin and keep-origin redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects stripped-referrer for img-tag to same-http origin and no-redirect redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects stripped-referrer for img-tag to same-http origin and swap-origin redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects stripped-referrer for img-tag to same-https origin and keep-origin redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects stripped-referrer for img-tag to same-https origin and no-redirect redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects stripped-referrer for img-tag to same-https origin and swap-origin redirection from http context.] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/referrer-policy/gen/iframe.meta/no-referrer/img-tag.http.html.ini b/tests/wpt/metadata-layout-2020/referrer-policy/gen/iframe.meta/no-referrer/img-tag.http.html.ini new file mode 100644 index 00000000000..5a9703788a1 --- /dev/null +++ b/tests/wpt/metadata-layout-2020/referrer-policy/gen/iframe.meta/no-referrer/img-tag.http.html.ini @@ -0,0 +1,36 @@ +[img-tag.http.html] + [Referrer Policy: Expects omitted for img-tag to cross-http origin and keep-origin redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects omitted for img-tag to cross-http origin and no-redirect redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects omitted for img-tag to cross-http origin and swap-origin redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects omitted for img-tag to cross-https origin and keep-origin redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects omitted for img-tag to cross-https origin and no-redirect redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects omitted for img-tag to cross-https origin and swap-origin redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects omitted for img-tag to same-http origin and keep-origin redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects omitted for img-tag to same-http origin and no-redirect redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects omitted for img-tag to same-http origin and swap-origin redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects omitted for img-tag to same-https origin and keep-origin redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects omitted for img-tag to same-https origin and no-redirect redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects omitted for img-tag to same-https origin and swap-origin redirection from http context.] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/referrer-policy/gen/iframe.meta/origin-when-cross-origin/img-tag.http.html.ini b/tests/wpt/metadata-layout-2020/referrer-policy/gen/iframe.meta/origin-when-cross-origin/img-tag.http.html.ini new file mode 100644 index 00000000000..e62bf5b224c --- /dev/null +++ b/tests/wpt/metadata-layout-2020/referrer-policy/gen/iframe.meta/origin-when-cross-origin/img-tag.http.html.ini @@ -0,0 +1,36 @@ +[img-tag.http.html] + [Referrer Policy: Expects origin for img-tag to cross-http origin and keep-origin redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects origin for img-tag to cross-http origin and no-redirect redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects origin for img-tag to cross-http origin and swap-origin redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects origin for img-tag to cross-https origin and keep-origin redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects origin for img-tag to cross-https origin and no-redirect redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects origin for img-tag to cross-https origin and swap-origin redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects origin for img-tag to same-http origin and swap-origin redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects origin for img-tag to same-https origin and keep-origin redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects origin for img-tag to same-https origin and no-redirect redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects origin for img-tag to same-https origin and swap-origin redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects stripped-referrer for img-tag to same-http origin and keep-origin redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects stripped-referrer for img-tag to same-http origin and no-redirect redirection from http context.] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/referrer-policy/gen/iframe.meta/origin-when-crossorigin/img-tag.http.html.ini b/tests/wpt/metadata-layout-2020/referrer-policy/gen/iframe.meta/origin-when-crossorigin/img-tag.http.html.ini index 1aa014c710c..85a95ab3825 100644 --- a/tests/wpt/metadata-layout-2020/referrer-policy/gen/iframe.meta/origin-when-crossorigin/img-tag.http.html.ini +++ b/tests/wpt/metadata-layout-2020/referrer-policy/gen/iframe.meta/origin-when-crossorigin/img-tag.http.html.ini @@ -29,3 +29,8 @@ [Referrer Policy: Expects origin for img-tag to cross-https origin and keep-origin redirection from http context.] expected: FAIL + [Referrer Policy: Expects stripped-referrer for img-tag to same-http origin and keep-origin redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects stripped-referrer for img-tag to same-http origin and no-redirect redirection from http context.] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/referrer-policy/gen/iframe.meta/origin/img-tag.http.html.ini b/tests/wpt/metadata-layout-2020/referrer-policy/gen/iframe.meta/origin/img-tag.http.html.ini new file mode 100644 index 00000000000..a32c9a18510 --- /dev/null +++ b/tests/wpt/metadata-layout-2020/referrer-policy/gen/iframe.meta/origin/img-tag.http.html.ini @@ -0,0 +1,36 @@ +[img-tag.http.html] + [Referrer Policy: Expects origin for img-tag to cross-http origin and keep-origin redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects origin for img-tag to cross-http origin and no-redirect redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects origin for img-tag to cross-http origin and swap-origin redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects origin for img-tag to cross-https origin and keep-origin redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects origin for img-tag to cross-https origin and no-redirect redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects origin for img-tag to cross-https origin and swap-origin redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects origin for img-tag to same-http origin and keep-origin redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects origin for img-tag to same-http origin and no-redirect redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects origin for img-tag to same-http origin and swap-origin redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects origin for img-tag to same-https origin and keep-origin redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects origin for img-tag to same-https origin and no-redirect redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects origin for img-tag to same-https origin and swap-origin redirection from http context.] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/referrer-policy/gen/iframe.meta/same-origin/img-tag.http.html.ini b/tests/wpt/metadata-layout-2020/referrer-policy/gen/iframe.meta/same-origin/img-tag.http.html.ini new file mode 100644 index 00000000000..20091400d9f --- /dev/null +++ b/tests/wpt/metadata-layout-2020/referrer-policy/gen/iframe.meta/same-origin/img-tag.http.html.ini @@ -0,0 +1,30 @@ +[img-tag.http.html] + [Referrer Policy: Expects omitted for img-tag to cross-http origin and keep-origin redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects omitted for img-tag to cross-http origin and no-redirect redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects omitted for img-tag to cross-http origin and swap-origin redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects omitted for img-tag to cross-https origin and keep-origin redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects omitted for img-tag to cross-https origin and no-redirect redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects omitted for img-tag to cross-https origin and swap-origin redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects omitted for img-tag to same-http origin and swap-origin redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects omitted for img-tag to same-https origin and swap-origin redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects stripped-referrer for img-tag to same-http origin and keep-origin redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects stripped-referrer for img-tag to same-http origin and no-redirect redirection from http context.] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/referrer-policy/gen/iframe.meta/strict-origin-when-cross-origin/img-tag.http.html.ini b/tests/wpt/metadata-layout-2020/referrer-policy/gen/iframe.meta/strict-origin-when-cross-origin/img-tag.http.html.ini new file mode 100644 index 00000000000..e62bf5b224c --- /dev/null +++ b/tests/wpt/metadata-layout-2020/referrer-policy/gen/iframe.meta/strict-origin-when-cross-origin/img-tag.http.html.ini @@ -0,0 +1,36 @@ +[img-tag.http.html] + [Referrer Policy: Expects origin for img-tag to cross-http origin and keep-origin redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects origin for img-tag to cross-http origin and no-redirect redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects origin for img-tag to cross-http origin and swap-origin redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects origin for img-tag to cross-https origin and keep-origin redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects origin for img-tag to cross-https origin and no-redirect redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects origin for img-tag to cross-https origin and swap-origin redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects origin for img-tag to same-http origin and swap-origin redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects origin for img-tag to same-https origin and keep-origin redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects origin for img-tag to same-https origin and no-redirect redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects origin for img-tag to same-https origin and swap-origin redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects stripped-referrer for img-tag to same-http origin and keep-origin redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects stripped-referrer for img-tag to same-http origin and no-redirect redirection from http context.] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/referrer-policy/gen/iframe.meta/strict-origin/img-tag.http.html.ini b/tests/wpt/metadata-layout-2020/referrer-policy/gen/iframe.meta/strict-origin/img-tag.http.html.ini new file mode 100644 index 00000000000..a32c9a18510 --- /dev/null +++ b/tests/wpt/metadata-layout-2020/referrer-policy/gen/iframe.meta/strict-origin/img-tag.http.html.ini @@ -0,0 +1,36 @@ +[img-tag.http.html] + [Referrer Policy: Expects origin for img-tag to cross-http origin and keep-origin redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects origin for img-tag to cross-http origin and no-redirect redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects origin for img-tag to cross-http origin and swap-origin redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects origin for img-tag to cross-https origin and keep-origin redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects origin for img-tag to cross-https origin and no-redirect redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects origin for img-tag to cross-https origin and swap-origin redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects origin for img-tag to same-http origin and keep-origin redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects origin for img-tag to same-http origin and no-redirect redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects origin for img-tag to same-http origin and swap-origin redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects origin for img-tag to same-https origin and keep-origin redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects origin for img-tag to same-https origin and no-redirect redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects origin for img-tag to same-https origin and swap-origin redirection from http context.] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/referrer-policy/gen/iframe.meta/unsafe-url/img-tag.http.html.ini b/tests/wpt/metadata-layout-2020/referrer-policy/gen/iframe.meta/unsafe-url/img-tag.http.html.ini new file mode 100644 index 00000000000..ee412d1be75 --- /dev/null +++ b/tests/wpt/metadata-layout-2020/referrer-policy/gen/iframe.meta/unsafe-url/img-tag.http.html.ini @@ -0,0 +1,36 @@ +[img-tag.http.html] + [Referrer Policy: Expects stripped-referrer for img-tag to cross-http origin and keep-origin redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects stripped-referrer for img-tag to cross-http origin and no-redirect redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects stripped-referrer for img-tag to cross-http origin and swap-origin redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects stripped-referrer for img-tag to cross-https origin and keep-origin redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects stripped-referrer for img-tag to cross-https origin and no-redirect redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects stripped-referrer for img-tag to cross-https origin and swap-origin redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects stripped-referrer for img-tag to same-http origin and keep-origin redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects stripped-referrer for img-tag to same-http origin and no-redirect redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects stripped-referrer for img-tag to same-http origin and swap-origin redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects stripped-referrer for img-tag to same-https origin and keep-origin redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects stripped-referrer for img-tag to same-https origin and no-redirect redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects stripped-referrer for img-tag to same-https origin and swap-origin redirection from http context.] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/referrer-policy/gen/iframe.meta/unset/img-tag.http.html.ini b/tests/wpt/metadata-layout-2020/referrer-policy/gen/iframe.meta/unset/img-tag.http.html.ini index 1aa014c710c..85a95ab3825 100644 --- a/tests/wpt/metadata-layout-2020/referrer-policy/gen/iframe.meta/unset/img-tag.http.html.ini +++ b/tests/wpt/metadata-layout-2020/referrer-policy/gen/iframe.meta/unset/img-tag.http.html.ini @@ -29,3 +29,8 @@ [Referrer Policy: Expects origin for img-tag to cross-https origin and keep-origin redirection from http context.] expected: FAIL + [Referrer Policy: Expects stripped-referrer for img-tag to same-http origin and keep-origin redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects stripped-referrer for img-tag to same-http origin and no-redirect redirection from http context.] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/referrer-policy/gen/req.attr/no-referrer-when-downgrade/img-tag.http.html.ini b/tests/wpt/metadata-layout-2020/referrer-policy/gen/req.attr/no-referrer-when-downgrade/img-tag.http.html.ini new file mode 100644 index 00000000000..ee412d1be75 --- /dev/null +++ b/tests/wpt/metadata-layout-2020/referrer-policy/gen/req.attr/no-referrer-when-downgrade/img-tag.http.html.ini @@ -0,0 +1,36 @@ +[img-tag.http.html] + [Referrer Policy: Expects stripped-referrer for img-tag to cross-http origin and keep-origin redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects stripped-referrer for img-tag to cross-http origin and no-redirect redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects stripped-referrer for img-tag to cross-http origin and swap-origin redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects stripped-referrer for img-tag to cross-https origin and keep-origin redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects stripped-referrer for img-tag to cross-https origin and no-redirect redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects stripped-referrer for img-tag to cross-https origin and swap-origin redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects stripped-referrer for img-tag to same-http origin and keep-origin redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects stripped-referrer for img-tag to same-http origin and no-redirect redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects stripped-referrer for img-tag to same-http origin and swap-origin redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects stripped-referrer for img-tag to same-https origin and keep-origin redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects stripped-referrer for img-tag to same-https origin and no-redirect redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects stripped-referrer for img-tag to same-https origin and swap-origin redirection from http context.] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/referrer-policy/gen/req.attr/no-referrer/img-tag.http.html.ini b/tests/wpt/metadata-layout-2020/referrer-policy/gen/req.attr/no-referrer/img-tag.http.html.ini new file mode 100644 index 00000000000..5a9703788a1 --- /dev/null +++ b/tests/wpt/metadata-layout-2020/referrer-policy/gen/req.attr/no-referrer/img-tag.http.html.ini @@ -0,0 +1,36 @@ +[img-tag.http.html] + [Referrer Policy: Expects omitted for img-tag to cross-http origin and keep-origin redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects omitted for img-tag to cross-http origin and no-redirect redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects omitted for img-tag to cross-http origin and swap-origin redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects omitted for img-tag to cross-https origin and keep-origin redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects omitted for img-tag to cross-https origin and no-redirect redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects omitted for img-tag to cross-https origin and swap-origin redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects omitted for img-tag to same-http origin and keep-origin redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects omitted for img-tag to same-http origin and no-redirect redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects omitted for img-tag to same-http origin and swap-origin redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects omitted for img-tag to same-https origin and keep-origin redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects omitted for img-tag to same-https origin and no-redirect redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects omitted for img-tag to same-https origin and swap-origin redirection from http context.] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/referrer-policy/gen/req.attr/origin-when-cross-origin/img-tag.http.html.ini b/tests/wpt/metadata-layout-2020/referrer-policy/gen/req.attr/origin-when-cross-origin/img-tag.http.html.ini new file mode 100644 index 00000000000..e62bf5b224c --- /dev/null +++ b/tests/wpt/metadata-layout-2020/referrer-policy/gen/req.attr/origin-when-cross-origin/img-tag.http.html.ini @@ -0,0 +1,36 @@ +[img-tag.http.html] + [Referrer Policy: Expects origin for img-tag to cross-http origin and keep-origin redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects origin for img-tag to cross-http origin and no-redirect redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects origin for img-tag to cross-http origin and swap-origin redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects origin for img-tag to cross-https origin and keep-origin redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects origin for img-tag to cross-https origin and no-redirect redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects origin for img-tag to cross-https origin and swap-origin redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects origin for img-tag to same-http origin and swap-origin redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects origin for img-tag to same-https origin and keep-origin redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects origin for img-tag to same-https origin and no-redirect redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects origin for img-tag to same-https origin and swap-origin redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects stripped-referrer for img-tag to same-http origin and keep-origin redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects stripped-referrer for img-tag to same-http origin and no-redirect redirection from http context.] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/referrer-policy/gen/req.attr/origin/img-tag.http.html.ini b/tests/wpt/metadata-layout-2020/referrer-policy/gen/req.attr/origin/img-tag.http.html.ini new file mode 100644 index 00000000000..a32c9a18510 --- /dev/null +++ b/tests/wpt/metadata-layout-2020/referrer-policy/gen/req.attr/origin/img-tag.http.html.ini @@ -0,0 +1,36 @@ +[img-tag.http.html] + [Referrer Policy: Expects origin for img-tag to cross-http origin and keep-origin redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects origin for img-tag to cross-http origin and no-redirect redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects origin for img-tag to cross-http origin and swap-origin redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects origin for img-tag to cross-https origin and keep-origin redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects origin for img-tag to cross-https origin and no-redirect redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects origin for img-tag to cross-https origin and swap-origin redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects origin for img-tag to same-http origin and keep-origin redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects origin for img-tag to same-http origin and no-redirect redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects origin for img-tag to same-http origin and swap-origin redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects origin for img-tag to same-https origin and keep-origin redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects origin for img-tag to same-https origin and no-redirect redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects origin for img-tag to same-https origin and swap-origin redirection from http context.] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/referrer-policy/gen/req.attr/same-origin/img-tag.http.html.ini b/tests/wpt/metadata-layout-2020/referrer-policy/gen/req.attr/same-origin/img-tag.http.html.ini new file mode 100644 index 00000000000..20091400d9f --- /dev/null +++ b/tests/wpt/metadata-layout-2020/referrer-policy/gen/req.attr/same-origin/img-tag.http.html.ini @@ -0,0 +1,30 @@ +[img-tag.http.html] + [Referrer Policy: Expects omitted for img-tag to cross-http origin and keep-origin redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects omitted for img-tag to cross-http origin and no-redirect redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects omitted for img-tag to cross-http origin and swap-origin redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects omitted for img-tag to cross-https origin and keep-origin redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects omitted for img-tag to cross-https origin and no-redirect redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects omitted for img-tag to cross-https origin and swap-origin redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects omitted for img-tag to same-http origin and swap-origin redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects omitted for img-tag to same-https origin and swap-origin redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects stripped-referrer for img-tag to same-http origin and keep-origin redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects stripped-referrer for img-tag to same-http origin and no-redirect redirection from http context.] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/referrer-policy/gen/req.attr/strict-origin-when-cross-origin/img-tag.http.html.ini b/tests/wpt/metadata-layout-2020/referrer-policy/gen/req.attr/strict-origin-when-cross-origin/img-tag.http.html.ini new file mode 100644 index 00000000000..e62bf5b224c --- /dev/null +++ b/tests/wpt/metadata-layout-2020/referrer-policy/gen/req.attr/strict-origin-when-cross-origin/img-tag.http.html.ini @@ -0,0 +1,36 @@ +[img-tag.http.html] + [Referrer Policy: Expects origin for img-tag to cross-http origin and keep-origin redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects origin for img-tag to cross-http origin and no-redirect redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects origin for img-tag to cross-http origin and swap-origin redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects origin for img-tag to cross-https origin and keep-origin redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects origin for img-tag to cross-https origin and no-redirect redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects origin for img-tag to cross-https origin and swap-origin redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects origin for img-tag to same-http origin and swap-origin redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects origin for img-tag to same-https origin and keep-origin redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects origin for img-tag to same-https origin and no-redirect redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects origin for img-tag to same-https origin and swap-origin redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects stripped-referrer for img-tag to same-http origin and keep-origin redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects stripped-referrer for img-tag to same-http origin and no-redirect redirection from http context.] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/referrer-policy/gen/req.attr/strict-origin/img-tag.http.html.ini b/tests/wpt/metadata-layout-2020/referrer-policy/gen/req.attr/strict-origin/img-tag.http.html.ini new file mode 100644 index 00000000000..a32c9a18510 --- /dev/null +++ b/tests/wpt/metadata-layout-2020/referrer-policy/gen/req.attr/strict-origin/img-tag.http.html.ini @@ -0,0 +1,36 @@ +[img-tag.http.html] + [Referrer Policy: Expects origin for img-tag to cross-http origin and keep-origin redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects origin for img-tag to cross-http origin and no-redirect redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects origin for img-tag to cross-http origin and swap-origin redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects origin for img-tag to cross-https origin and keep-origin redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects origin for img-tag to cross-https origin and no-redirect redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects origin for img-tag to cross-https origin and swap-origin redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects origin for img-tag to same-http origin and keep-origin redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects origin for img-tag to same-http origin and no-redirect redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects origin for img-tag to same-http origin and swap-origin redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects origin for img-tag to same-https origin and keep-origin redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects origin for img-tag to same-https origin and no-redirect redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects origin for img-tag to same-https origin and swap-origin redirection from http context.] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/referrer-policy/gen/req.attr/unsafe-url/img-tag.http.html.ini b/tests/wpt/metadata-layout-2020/referrer-policy/gen/req.attr/unsafe-url/img-tag.http.html.ini new file mode 100644 index 00000000000..ee412d1be75 --- /dev/null +++ b/tests/wpt/metadata-layout-2020/referrer-policy/gen/req.attr/unsafe-url/img-tag.http.html.ini @@ -0,0 +1,36 @@ +[img-tag.http.html] + [Referrer Policy: Expects stripped-referrer for img-tag to cross-http origin and keep-origin redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects stripped-referrer for img-tag to cross-http origin and no-redirect redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects stripped-referrer for img-tag to cross-http origin and swap-origin redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects stripped-referrer for img-tag to cross-https origin and keep-origin redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects stripped-referrer for img-tag to cross-https origin and no-redirect redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects stripped-referrer for img-tag to cross-https origin and swap-origin redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects stripped-referrer for img-tag to same-http origin and keep-origin redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects stripped-referrer for img-tag to same-http origin and no-redirect redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects stripped-referrer for img-tag to same-http origin and swap-origin redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects stripped-referrer for img-tag to same-https origin and keep-origin redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects stripped-referrer for img-tag to same-https origin and no-redirect redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects stripped-referrer for img-tag to same-https origin and swap-origin redirection from http context.] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/referrer-policy/gen/top.http-rp/no-referrer-when-downgrade/img-tag.http.html.ini b/tests/wpt/metadata-layout-2020/referrer-policy/gen/top.http-rp/no-referrer-when-downgrade/img-tag.http.html.ini new file mode 100644 index 00000000000..ee412d1be75 --- /dev/null +++ b/tests/wpt/metadata-layout-2020/referrer-policy/gen/top.http-rp/no-referrer-when-downgrade/img-tag.http.html.ini @@ -0,0 +1,36 @@ +[img-tag.http.html] + [Referrer Policy: Expects stripped-referrer for img-tag to cross-http origin and keep-origin redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects stripped-referrer for img-tag to cross-http origin and no-redirect redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects stripped-referrer for img-tag to cross-http origin and swap-origin redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects stripped-referrer for img-tag to cross-https origin and keep-origin redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects stripped-referrer for img-tag to cross-https origin and no-redirect redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects stripped-referrer for img-tag to cross-https origin and swap-origin redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects stripped-referrer for img-tag to same-http origin and keep-origin redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects stripped-referrer for img-tag to same-http origin and no-redirect redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects stripped-referrer for img-tag to same-http origin and swap-origin redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects stripped-referrer for img-tag to same-https origin and keep-origin redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects stripped-referrer for img-tag to same-https origin and no-redirect redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects stripped-referrer for img-tag to same-https origin and swap-origin redirection from http context.] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/referrer-policy/gen/top.http-rp/no-referrer/img-tag.http.html.ini b/tests/wpt/metadata-layout-2020/referrer-policy/gen/top.http-rp/no-referrer/img-tag.http.html.ini new file mode 100644 index 00000000000..5a9703788a1 --- /dev/null +++ b/tests/wpt/metadata-layout-2020/referrer-policy/gen/top.http-rp/no-referrer/img-tag.http.html.ini @@ -0,0 +1,36 @@ +[img-tag.http.html] + [Referrer Policy: Expects omitted for img-tag to cross-http origin and keep-origin redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects omitted for img-tag to cross-http origin and no-redirect redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects omitted for img-tag to cross-http origin and swap-origin redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects omitted for img-tag to cross-https origin and keep-origin redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects omitted for img-tag to cross-https origin and no-redirect redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects omitted for img-tag to cross-https origin and swap-origin redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects omitted for img-tag to same-http origin and keep-origin redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects omitted for img-tag to same-http origin and no-redirect redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects omitted for img-tag to same-http origin and swap-origin redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects omitted for img-tag to same-https origin and keep-origin redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects omitted for img-tag to same-https origin and no-redirect redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects omitted for img-tag to same-https origin and swap-origin redirection from http context.] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/referrer-policy/gen/top.http-rp/origin-when-cross-origin/img-tag.http.html.ini b/tests/wpt/metadata-layout-2020/referrer-policy/gen/top.http-rp/origin-when-cross-origin/img-tag.http.html.ini new file mode 100644 index 00000000000..e62bf5b224c --- /dev/null +++ b/tests/wpt/metadata-layout-2020/referrer-policy/gen/top.http-rp/origin-when-cross-origin/img-tag.http.html.ini @@ -0,0 +1,36 @@ +[img-tag.http.html] + [Referrer Policy: Expects origin for img-tag to cross-http origin and keep-origin redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects origin for img-tag to cross-http origin and no-redirect redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects origin for img-tag to cross-http origin and swap-origin redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects origin for img-tag to cross-https origin and keep-origin redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects origin for img-tag to cross-https origin and no-redirect redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects origin for img-tag to cross-https origin and swap-origin redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects origin for img-tag to same-http origin and swap-origin redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects origin for img-tag to same-https origin and keep-origin redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects origin for img-tag to same-https origin and no-redirect redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects origin for img-tag to same-https origin and swap-origin redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects stripped-referrer for img-tag to same-http origin and keep-origin redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects stripped-referrer for img-tag to same-http origin and no-redirect redirection from http context.] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/referrer-policy/gen/top.http-rp/origin/img-tag.http.html.ini b/tests/wpt/metadata-layout-2020/referrer-policy/gen/top.http-rp/origin/img-tag.http.html.ini new file mode 100644 index 00000000000..a32c9a18510 --- /dev/null +++ b/tests/wpt/metadata-layout-2020/referrer-policy/gen/top.http-rp/origin/img-tag.http.html.ini @@ -0,0 +1,36 @@ +[img-tag.http.html] + [Referrer Policy: Expects origin for img-tag to cross-http origin and keep-origin redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects origin for img-tag to cross-http origin and no-redirect redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects origin for img-tag to cross-http origin and swap-origin redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects origin for img-tag to cross-https origin and keep-origin redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects origin for img-tag to cross-https origin and no-redirect redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects origin for img-tag to cross-https origin and swap-origin redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects origin for img-tag to same-http origin and keep-origin redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects origin for img-tag to same-http origin and no-redirect redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects origin for img-tag to same-http origin and swap-origin redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects origin for img-tag to same-https origin and keep-origin redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects origin for img-tag to same-https origin and no-redirect redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects origin for img-tag to same-https origin and swap-origin redirection from http context.] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/referrer-policy/gen/top.http-rp/same-origin/img-tag.http.html.ini b/tests/wpt/metadata-layout-2020/referrer-policy/gen/top.http-rp/same-origin/img-tag.http.html.ini new file mode 100644 index 00000000000..20091400d9f --- /dev/null +++ b/tests/wpt/metadata-layout-2020/referrer-policy/gen/top.http-rp/same-origin/img-tag.http.html.ini @@ -0,0 +1,30 @@ +[img-tag.http.html] + [Referrer Policy: Expects omitted for img-tag to cross-http origin and keep-origin redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects omitted for img-tag to cross-http origin and no-redirect redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects omitted for img-tag to cross-http origin and swap-origin redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects omitted for img-tag to cross-https origin and keep-origin redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects omitted for img-tag to cross-https origin and no-redirect redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects omitted for img-tag to cross-https origin and swap-origin redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects omitted for img-tag to same-http origin and swap-origin redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects omitted for img-tag to same-https origin and swap-origin redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects stripped-referrer for img-tag to same-http origin and keep-origin redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects stripped-referrer for img-tag to same-http origin and no-redirect redirection from http context.] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/referrer-policy/gen/top.http-rp/strict-origin-when-cross-origin/img-tag.http.html.ini b/tests/wpt/metadata-layout-2020/referrer-policy/gen/top.http-rp/strict-origin-when-cross-origin/img-tag.http.html.ini new file mode 100644 index 00000000000..e62bf5b224c --- /dev/null +++ b/tests/wpt/metadata-layout-2020/referrer-policy/gen/top.http-rp/strict-origin-when-cross-origin/img-tag.http.html.ini @@ -0,0 +1,36 @@ +[img-tag.http.html] + [Referrer Policy: Expects origin for img-tag to cross-http origin and keep-origin redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects origin for img-tag to cross-http origin and no-redirect redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects origin for img-tag to cross-http origin and swap-origin redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects origin for img-tag to cross-https origin and keep-origin redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects origin for img-tag to cross-https origin and no-redirect redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects origin for img-tag to cross-https origin and swap-origin redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects origin for img-tag to same-http origin and swap-origin redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects origin for img-tag to same-https origin and keep-origin redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects origin for img-tag to same-https origin and no-redirect redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects origin for img-tag to same-https origin and swap-origin redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects stripped-referrer for img-tag to same-http origin and keep-origin redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects stripped-referrer for img-tag to same-http origin and no-redirect redirection from http context.] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/referrer-policy/gen/top.http-rp/strict-origin/img-tag.http.html.ini b/tests/wpt/metadata-layout-2020/referrer-policy/gen/top.http-rp/strict-origin/img-tag.http.html.ini new file mode 100644 index 00000000000..a32c9a18510 --- /dev/null +++ b/tests/wpt/metadata-layout-2020/referrer-policy/gen/top.http-rp/strict-origin/img-tag.http.html.ini @@ -0,0 +1,36 @@ +[img-tag.http.html] + [Referrer Policy: Expects origin for img-tag to cross-http origin and keep-origin redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects origin for img-tag to cross-http origin and no-redirect redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects origin for img-tag to cross-http origin and swap-origin redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects origin for img-tag to cross-https origin and keep-origin redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects origin for img-tag to cross-https origin and no-redirect redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects origin for img-tag to cross-https origin and swap-origin redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects origin for img-tag to same-http origin and keep-origin redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects origin for img-tag to same-http origin and no-redirect redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects origin for img-tag to same-http origin and swap-origin redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects origin for img-tag to same-https origin and keep-origin redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects origin for img-tag to same-https origin and no-redirect redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects origin for img-tag to same-https origin and swap-origin redirection from http context.] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/referrer-policy/gen/top.http-rp/unsafe-url/img-tag.http.html.ini b/tests/wpt/metadata-layout-2020/referrer-policy/gen/top.http-rp/unsafe-url/img-tag.http.html.ini new file mode 100644 index 00000000000..ee412d1be75 --- /dev/null +++ b/tests/wpt/metadata-layout-2020/referrer-policy/gen/top.http-rp/unsafe-url/img-tag.http.html.ini @@ -0,0 +1,36 @@ +[img-tag.http.html] + [Referrer Policy: Expects stripped-referrer for img-tag to cross-http origin and keep-origin redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects stripped-referrer for img-tag to cross-http origin and no-redirect redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects stripped-referrer for img-tag to cross-http origin and swap-origin redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects stripped-referrer for img-tag to cross-https origin and keep-origin redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects stripped-referrer for img-tag to cross-https origin and no-redirect redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects stripped-referrer for img-tag to cross-https origin and swap-origin redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects stripped-referrer for img-tag to same-http origin and keep-origin redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects stripped-referrer for img-tag to same-http origin and no-redirect redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects stripped-referrer for img-tag to same-http origin and swap-origin redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects stripped-referrer for img-tag to same-https origin and keep-origin redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects stripped-referrer for img-tag to same-https origin and no-redirect redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects stripped-referrer for img-tag to same-https origin and swap-origin redirection from http context.] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/referrer-policy/gen/top.http-rp/unset/img-tag.http.html.ini b/tests/wpt/metadata-layout-2020/referrer-policy/gen/top.http-rp/unset/img-tag.http.html.ini index 1aa014c710c..85a95ab3825 100644 --- a/tests/wpt/metadata-layout-2020/referrer-policy/gen/top.http-rp/unset/img-tag.http.html.ini +++ b/tests/wpt/metadata-layout-2020/referrer-policy/gen/top.http-rp/unset/img-tag.http.html.ini @@ -29,3 +29,8 @@ [Referrer Policy: Expects origin for img-tag to cross-https origin and keep-origin redirection from http context.] expected: FAIL + [Referrer Policy: Expects stripped-referrer for img-tag to same-http origin and keep-origin redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects stripped-referrer for img-tag to same-http origin and no-redirect redirection from http context.] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/referrer-policy/gen/top.meta/always/img-tag.http.html.ini b/tests/wpt/metadata-layout-2020/referrer-policy/gen/top.meta/always/img-tag.http.html.ini new file mode 100644 index 00000000000..ee412d1be75 --- /dev/null +++ b/tests/wpt/metadata-layout-2020/referrer-policy/gen/top.meta/always/img-tag.http.html.ini @@ -0,0 +1,36 @@ +[img-tag.http.html] + [Referrer Policy: Expects stripped-referrer for img-tag to cross-http origin and keep-origin redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects stripped-referrer for img-tag to cross-http origin and no-redirect redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects stripped-referrer for img-tag to cross-http origin and swap-origin redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects stripped-referrer for img-tag to cross-https origin and keep-origin redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects stripped-referrer for img-tag to cross-https origin and no-redirect redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects stripped-referrer for img-tag to cross-https origin and swap-origin redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects stripped-referrer for img-tag to same-http origin and keep-origin redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects stripped-referrer for img-tag to same-http origin and no-redirect redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects stripped-referrer for img-tag to same-http origin and swap-origin redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects stripped-referrer for img-tag to same-https origin and keep-origin redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects stripped-referrer for img-tag to same-https origin and no-redirect redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects stripped-referrer for img-tag to same-https origin and swap-origin redirection from http context.] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/referrer-policy/gen/top.meta/default/img-tag.http.html.ini b/tests/wpt/metadata-layout-2020/referrer-policy/gen/top.meta/default/img-tag.http.html.ini index 1aa014c710c..85a95ab3825 100644 --- a/tests/wpt/metadata-layout-2020/referrer-policy/gen/top.meta/default/img-tag.http.html.ini +++ b/tests/wpt/metadata-layout-2020/referrer-policy/gen/top.meta/default/img-tag.http.html.ini @@ -29,3 +29,8 @@ [Referrer Policy: Expects origin for img-tag to cross-https origin and keep-origin redirection from http context.] expected: FAIL + [Referrer Policy: Expects stripped-referrer for img-tag to same-http origin and keep-origin redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects stripped-referrer for img-tag to same-http origin and no-redirect redirection from http context.] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/referrer-policy/gen/top.meta/never/img-tag.http.html.ini b/tests/wpt/metadata-layout-2020/referrer-policy/gen/top.meta/never/img-tag.http.html.ini new file mode 100644 index 00000000000..5a9703788a1 --- /dev/null +++ b/tests/wpt/metadata-layout-2020/referrer-policy/gen/top.meta/never/img-tag.http.html.ini @@ -0,0 +1,36 @@ +[img-tag.http.html] + [Referrer Policy: Expects omitted for img-tag to cross-http origin and keep-origin redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects omitted for img-tag to cross-http origin and no-redirect redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects omitted for img-tag to cross-http origin and swap-origin redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects omitted for img-tag to cross-https origin and keep-origin redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects omitted for img-tag to cross-https origin and no-redirect redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects omitted for img-tag to cross-https origin and swap-origin redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects omitted for img-tag to same-http origin and keep-origin redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects omitted for img-tag to same-http origin and no-redirect redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects omitted for img-tag to same-http origin and swap-origin redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects omitted for img-tag to same-https origin and keep-origin redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects omitted for img-tag to same-https origin and no-redirect redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects omitted for img-tag to same-https origin and swap-origin redirection from http context.] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/referrer-policy/gen/top.meta/no-referrer-when-downgrade/img-tag.http.html.ini b/tests/wpt/metadata-layout-2020/referrer-policy/gen/top.meta/no-referrer-when-downgrade/img-tag.http.html.ini new file mode 100644 index 00000000000..ee412d1be75 --- /dev/null +++ b/tests/wpt/metadata-layout-2020/referrer-policy/gen/top.meta/no-referrer-when-downgrade/img-tag.http.html.ini @@ -0,0 +1,36 @@ +[img-tag.http.html] + [Referrer Policy: Expects stripped-referrer for img-tag to cross-http origin and keep-origin redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects stripped-referrer for img-tag to cross-http origin and no-redirect redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects stripped-referrer for img-tag to cross-http origin and swap-origin redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects stripped-referrer for img-tag to cross-https origin and keep-origin redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects stripped-referrer for img-tag to cross-https origin and no-redirect redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects stripped-referrer for img-tag to cross-https origin and swap-origin redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects stripped-referrer for img-tag to same-http origin and keep-origin redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects stripped-referrer for img-tag to same-http origin and no-redirect redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects stripped-referrer for img-tag to same-http origin and swap-origin redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects stripped-referrer for img-tag to same-https origin and keep-origin redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects stripped-referrer for img-tag to same-https origin and no-redirect redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects stripped-referrer for img-tag to same-https origin and swap-origin redirection from http context.] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/referrer-policy/gen/top.meta/no-referrer/img-tag.http.html.ini b/tests/wpt/metadata-layout-2020/referrer-policy/gen/top.meta/no-referrer/img-tag.http.html.ini new file mode 100644 index 00000000000..5a9703788a1 --- /dev/null +++ b/tests/wpt/metadata-layout-2020/referrer-policy/gen/top.meta/no-referrer/img-tag.http.html.ini @@ -0,0 +1,36 @@ +[img-tag.http.html] + [Referrer Policy: Expects omitted for img-tag to cross-http origin and keep-origin redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects omitted for img-tag to cross-http origin and no-redirect redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects omitted for img-tag to cross-http origin and swap-origin redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects omitted for img-tag to cross-https origin and keep-origin redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects omitted for img-tag to cross-https origin and no-redirect redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects omitted for img-tag to cross-https origin and swap-origin redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects omitted for img-tag to same-http origin and keep-origin redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects omitted for img-tag to same-http origin and no-redirect redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects omitted for img-tag to same-http origin and swap-origin redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects omitted for img-tag to same-https origin and keep-origin redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects omitted for img-tag to same-https origin and no-redirect redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects omitted for img-tag to same-https origin and swap-origin redirection from http context.] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/referrer-policy/gen/top.meta/origin-when-cross-origin/img-tag.http.html.ini b/tests/wpt/metadata-layout-2020/referrer-policy/gen/top.meta/origin-when-cross-origin/img-tag.http.html.ini new file mode 100644 index 00000000000..e62bf5b224c --- /dev/null +++ b/tests/wpt/metadata-layout-2020/referrer-policy/gen/top.meta/origin-when-cross-origin/img-tag.http.html.ini @@ -0,0 +1,36 @@ +[img-tag.http.html] + [Referrer Policy: Expects origin for img-tag to cross-http origin and keep-origin redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects origin for img-tag to cross-http origin and no-redirect redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects origin for img-tag to cross-http origin and swap-origin redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects origin for img-tag to cross-https origin and keep-origin redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects origin for img-tag to cross-https origin and no-redirect redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects origin for img-tag to cross-https origin and swap-origin redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects origin for img-tag to same-http origin and swap-origin redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects origin for img-tag to same-https origin and keep-origin redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects origin for img-tag to same-https origin and no-redirect redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects origin for img-tag to same-https origin and swap-origin redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects stripped-referrer for img-tag to same-http origin and keep-origin redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects stripped-referrer for img-tag to same-http origin and no-redirect redirection from http context.] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/referrer-policy/gen/top.meta/origin-when-crossorigin/img-tag.http.html.ini b/tests/wpt/metadata-layout-2020/referrer-policy/gen/top.meta/origin-when-crossorigin/img-tag.http.html.ini index 1aa014c710c..85a95ab3825 100644 --- a/tests/wpt/metadata-layout-2020/referrer-policy/gen/top.meta/origin-when-crossorigin/img-tag.http.html.ini +++ b/tests/wpt/metadata-layout-2020/referrer-policy/gen/top.meta/origin-when-crossorigin/img-tag.http.html.ini @@ -29,3 +29,8 @@ [Referrer Policy: Expects origin for img-tag to cross-https origin and keep-origin redirection from http context.] expected: FAIL + [Referrer Policy: Expects stripped-referrer for img-tag to same-http origin and keep-origin redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects stripped-referrer for img-tag to same-http origin and no-redirect redirection from http context.] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/referrer-policy/gen/top.meta/origin/img-tag.http.html.ini b/tests/wpt/metadata-layout-2020/referrer-policy/gen/top.meta/origin/img-tag.http.html.ini new file mode 100644 index 00000000000..a32c9a18510 --- /dev/null +++ b/tests/wpt/metadata-layout-2020/referrer-policy/gen/top.meta/origin/img-tag.http.html.ini @@ -0,0 +1,36 @@ +[img-tag.http.html] + [Referrer Policy: Expects origin for img-tag to cross-http origin and keep-origin redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects origin for img-tag to cross-http origin and no-redirect redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects origin for img-tag to cross-http origin and swap-origin redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects origin for img-tag to cross-https origin and keep-origin redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects origin for img-tag to cross-https origin and no-redirect redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects origin for img-tag to cross-https origin and swap-origin redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects origin for img-tag to same-http origin and keep-origin redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects origin for img-tag to same-http origin and no-redirect redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects origin for img-tag to same-http origin and swap-origin redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects origin for img-tag to same-https origin and keep-origin redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects origin for img-tag to same-https origin and no-redirect redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects origin for img-tag to same-https origin and swap-origin redirection from http context.] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/referrer-policy/gen/top.meta/same-origin/img-tag.http.html.ini b/tests/wpt/metadata-layout-2020/referrer-policy/gen/top.meta/same-origin/img-tag.http.html.ini new file mode 100644 index 00000000000..20091400d9f --- /dev/null +++ b/tests/wpt/metadata-layout-2020/referrer-policy/gen/top.meta/same-origin/img-tag.http.html.ini @@ -0,0 +1,30 @@ +[img-tag.http.html] + [Referrer Policy: Expects omitted for img-tag to cross-http origin and keep-origin redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects omitted for img-tag to cross-http origin and no-redirect redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects omitted for img-tag to cross-http origin and swap-origin redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects omitted for img-tag to cross-https origin and keep-origin redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects omitted for img-tag to cross-https origin and no-redirect redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects omitted for img-tag to cross-https origin and swap-origin redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects omitted for img-tag to same-http origin and swap-origin redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects omitted for img-tag to same-https origin and swap-origin redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects stripped-referrer for img-tag to same-http origin and keep-origin redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects stripped-referrer for img-tag to same-http origin and no-redirect redirection from http context.] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/referrer-policy/gen/top.meta/strict-origin-when-cross-origin/img-tag.http.html.ini b/tests/wpt/metadata-layout-2020/referrer-policy/gen/top.meta/strict-origin-when-cross-origin/img-tag.http.html.ini new file mode 100644 index 00000000000..e62bf5b224c --- /dev/null +++ b/tests/wpt/metadata-layout-2020/referrer-policy/gen/top.meta/strict-origin-when-cross-origin/img-tag.http.html.ini @@ -0,0 +1,36 @@ +[img-tag.http.html] + [Referrer Policy: Expects origin for img-tag to cross-http origin and keep-origin redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects origin for img-tag to cross-http origin and no-redirect redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects origin for img-tag to cross-http origin and swap-origin redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects origin for img-tag to cross-https origin and keep-origin redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects origin for img-tag to cross-https origin and no-redirect redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects origin for img-tag to cross-https origin and swap-origin redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects origin for img-tag to same-http origin and swap-origin redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects origin for img-tag to same-https origin and keep-origin redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects origin for img-tag to same-https origin and no-redirect redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects origin for img-tag to same-https origin and swap-origin redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects stripped-referrer for img-tag to same-http origin and keep-origin redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects stripped-referrer for img-tag to same-http origin and no-redirect redirection from http context.] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/referrer-policy/gen/top.meta/strict-origin/img-tag.http.html.ini b/tests/wpt/metadata-layout-2020/referrer-policy/gen/top.meta/strict-origin/img-tag.http.html.ini new file mode 100644 index 00000000000..a32c9a18510 --- /dev/null +++ b/tests/wpt/metadata-layout-2020/referrer-policy/gen/top.meta/strict-origin/img-tag.http.html.ini @@ -0,0 +1,36 @@ +[img-tag.http.html] + [Referrer Policy: Expects origin for img-tag to cross-http origin and keep-origin redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects origin for img-tag to cross-http origin and no-redirect redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects origin for img-tag to cross-http origin and swap-origin redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects origin for img-tag to cross-https origin and keep-origin redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects origin for img-tag to cross-https origin and no-redirect redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects origin for img-tag to cross-https origin and swap-origin redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects origin for img-tag to same-http origin and keep-origin redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects origin for img-tag to same-http origin and no-redirect redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects origin for img-tag to same-http origin and swap-origin redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects origin for img-tag to same-https origin and keep-origin redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects origin for img-tag to same-https origin and no-redirect redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects origin for img-tag to same-https origin and swap-origin redirection from http context.] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/referrer-policy/gen/top.meta/unsafe-url/img-tag.http.html.ini b/tests/wpt/metadata-layout-2020/referrer-policy/gen/top.meta/unsafe-url/img-tag.http.html.ini new file mode 100644 index 00000000000..ee412d1be75 --- /dev/null +++ b/tests/wpt/metadata-layout-2020/referrer-policy/gen/top.meta/unsafe-url/img-tag.http.html.ini @@ -0,0 +1,36 @@ +[img-tag.http.html] + [Referrer Policy: Expects stripped-referrer for img-tag to cross-http origin and keep-origin redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects stripped-referrer for img-tag to cross-http origin and no-redirect redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects stripped-referrer for img-tag to cross-http origin and swap-origin redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects stripped-referrer for img-tag to cross-https origin and keep-origin redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects stripped-referrer for img-tag to cross-https origin and no-redirect redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects stripped-referrer for img-tag to cross-https origin and swap-origin redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects stripped-referrer for img-tag to same-http origin and keep-origin redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects stripped-referrer for img-tag to same-http origin and no-redirect redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects stripped-referrer for img-tag to same-http origin and swap-origin redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects stripped-referrer for img-tag to same-https origin and keep-origin redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects stripped-referrer for img-tag to same-https origin and no-redirect redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects stripped-referrer for img-tag to same-https origin and swap-origin redirection from http context.] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/referrer-policy/gen/top.meta/unset/img-tag.http.html.ini b/tests/wpt/metadata-layout-2020/referrer-policy/gen/top.meta/unset/img-tag.http.html.ini index 1aa014c710c..85a95ab3825 100644 --- a/tests/wpt/metadata-layout-2020/referrer-policy/gen/top.meta/unset/img-tag.http.html.ini +++ b/tests/wpt/metadata-layout-2020/referrer-policy/gen/top.meta/unset/img-tag.http.html.ini @@ -29,3 +29,8 @@ [Referrer Policy: Expects origin for img-tag to cross-https origin and keep-origin redirection from http context.] expected: FAIL + [Referrer Policy: Expects stripped-referrer for img-tag to same-http origin and keep-origin redirection from http context.] + expected: FAIL + + [Referrer Policy: Expects stripped-referrer for img-tag to same-http origin and no-redirect redirection from http context.] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/referrer-policy/generic/link-rel-prefetch.html.ini b/tests/wpt/metadata-layout-2020/referrer-policy/generic/link-rel-prefetch.html.ini new file mode 100644 index 00000000000..d91206157fb --- /dev/null +++ b/tests/wpt/metadata-layout-2020/referrer-policy/generic/link-rel-prefetch.html.ini @@ -0,0 +1,3 @@ +[link-rel-prefetch.html] + [Prefetched image.] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/referrer-policy/generic/multiple-headers-and-values.html.ini b/tests/wpt/metadata-layout-2020/referrer-policy/generic/multiple-headers-and-values.html.ini new file mode 100644 index 00000000000..ff007175337 --- /dev/null +++ b/tests/wpt/metadata-layout-2020/referrer-policy/generic/multiple-headers-and-values.html.ini @@ -0,0 +1,3 @@ +[multiple-headers-and-values.html] + [Image uses the last recognized Referrer-Policy header value] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/referrer-policy/generic/multiple-headers-combined.html.ini b/tests/wpt/metadata-layout-2020/referrer-policy/generic/multiple-headers-combined.html.ini new file mode 100644 index 00000000000..332984d7323 --- /dev/null +++ b/tests/wpt/metadata-layout-2020/referrer-policy/generic/multiple-headers-combined.html.ini @@ -0,0 +1,3 @@ +[multiple-headers-combined.html] + [Image uses the last recognized Referrer-Policy header value] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/referrer-policy/generic/multiple-headers-one-unknown-token.html.ini b/tests/wpt/metadata-layout-2020/referrer-policy/generic/multiple-headers-one-unknown-token.html.ini new file mode 100644 index 00000000000..3c47ac16439 --- /dev/null +++ b/tests/wpt/metadata-layout-2020/referrer-policy/generic/multiple-headers-one-unknown-token.html.ini @@ -0,0 +1,3 @@ +[multiple-headers-one-unknown-token.html] + [Image uses last recognized referrer policy token from Referrer-Policy headers] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/referrer-policy/generic/multiple-headers.html.ini b/tests/wpt/metadata-layout-2020/referrer-policy/generic/multiple-headers.html.ini new file mode 100644 index 00000000000..d14b69fd631 --- /dev/null +++ b/tests/wpt/metadata-layout-2020/referrer-policy/generic/multiple-headers.html.ini @@ -0,0 +1,3 @@ +[multiple-headers.html] + [Image uses the last recognized Referrer-Policy header] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/referrer-policy/generic/unsupported-csp-referrer-directive.html.ini b/tests/wpt/metadata-layout-2020/referrer-policy/generic/unsupported-csp-referrer-directive.html.ini new file mode 100644 index 00000000000..e6b4a57d86e --- /dev/null +++ b/tests/wpt/metadata-layout-2020/referrer-policy/generic/unsupported-csp-referrer-directive.html.ini @@ -0,0 +1,3 @@ +[unsupported-csp-referrer-directive.html] + [Image has a referrer despite CSP 'referrer' directive] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/resource-timing/nested-context-navigations-iframe.html.ini b/tests/wpt/metadata-layout-2020/resource-timing/nested-context-navigations-iframe.html.ini index 534a0ec7bd8..9df96f72c08 100644 --- a/tests/wpt/metadata-layout-2020/resource-timing/nested-context-navigations-iframe.html.ini +++ b/tests/wpt/metadata-layout-2020/resource-timing/nested-context-navigations-iframe.html.ini @@ -1,28 +1,10 @@ [nested-context-navigations-iframe.html] expected: TIMEOUT - [Test that iframe navigations are not observable by the parent, even after history navigations by the parent] - expected: TIMEOUT - - [Test that crossorigin iframe navigations are not observable by the parent, even after history navigations by the parent] - expected: NOTRUN - - [Test that iframe navigations are not observable by the parent] - expected: NOTRUN - - [Test that crossorigin iframe navigations are not observable by the parent] - expected: NOTRUN - [Test that iframe refreshes are not observable by the parent] - expected: NOTRUN + expected: TIMEOUT [Test that crossorigin iframe refreshes are not observable by the parent] expected: NOTRUN - [Test that cross-site iframe navigations are not observable by the parent, even after history navigations by the parent] - expected: NOTRUN - - [Test that cross-site iframe navigations are not observable by the parent] - expected: NOTRUN - [Test that cross-site iframe refreshes are not observable by the parent] expected: NOTRUN diff --git a/tests/wpt/metadata-layout-2020/resource-timing/response-status-code.html.ini b/tests/wpt/metadata-layout-2020/resource-timing/response-status-code.html.ini index b84e3cf7b11..38df5f01300 100644 --- a/tests/wpt/metadata-layout-2020/resource-timing/response-status-code.html.ini +++ b/tests/wpt/metadata-layout-2020/resource-timing/response-status-code.html.ini @@ -265,10 +265,10 @@ expected: FAIL [This test validates the response status of resources. 88] - expected: TIMEOUT + expected: FAIL [This test validates the response status of resources. 89] - expected: NOTRUN + expected: TIMEOUT [This test validates the response status of resources. 90] expected: NOTRUN diff --git a/tests/wpt/metadata-layout-2020/url/url-constructor.any.js.ini b/tests/wpt/metadata-layout-2020/url/url-constructor.any.js.ini index 97398e48a1b..bdda0349de0 100644 --- a/tests/wpt/metadata-layout-2020/url/url-constructor.any.js.ini +++ b/tests/wpt/metadata-layout-2020/url/url-constructor.any.js.ini @@ -899,6 +899,24 @@ [Parsing: <path> against <non-spec:/..//p>] expected: FAIL + [Parsing: <non-spec:/.//> without base] + expected: FAIL + + [Parsing: <non-spec:/..//> without base] + expected: FAIL + + [Parsing: <non-spec:/a/..//> without base] + expected: FAIL + + [Parsing: <non-spec:/.//path> without base] + expected: FAIL + + [Parsing: <non-spec:/..//path> without base] + expected: FAIL + + [Parsing: <non-spec:/a/..//path> without base] + expected: FAIL + [url-constructor.any.worker.html?include=file] [Parsing: </> against <file://h/C:/a/b>] @@ -1009,6 +1027,54 @@ [Parsing: <file:/.//p> against <about:blank>] expected: FAIL + [Parsing: <file:\\\\//> without base] + expected: FAIL + + [Parsing: <file:\\\\\\\\> without base] + expected: FAIL + + [Parsing: <file:\\\\\\\\?fox> without base] + expected: FAIL + + [Parsing: <file:\\\\\\\\#guppy> without base] + expected: FAIL + + [Parsing: <file://spider///> without base] + expected: FAIL + + [Parsing: <file:\\\\localhost//> without base] + expected: FAIL + + [Parsing: <file://\\/localhost//cat> without base] + expected: FAIL + + [Parsing: <file://localhost//a//../..//> without base] + expected: FAIL + + [Parsing: <file://example.net/C:/> without base] + expected: FAIL + + [Parsing: <file://1.2.3.4/C:/> without base] + expected: FAIL + + [Parsing: <file://[1::8\]/C:/> without base] + expected: FAIL + + [Parsing: <file://localhost//a//../..//foo> without base] + expected: FAIL + + [Parsing: <file://localhost////foo> without base] + expected: FAIL + + [Parsing: <file:////foo> without base] + expected: FAIL + + [Parsing: <file:.//p> without base] + expected: FAIL + + [Parsing: <file:/.//p> without base] + expected: FAIL + [url-constructor.any.worker.html?exclude=(file|javascript|mailto)] [Parsing: </> against <file://h/C:/a/b>] @@ -1155,6 +1221,72 @@ [Parsing: <path> against <non-spec:/..//p>] expected: FAIL + [Parsing: <file:\\\\//> without base] + expected: FAIL + + [Parsing: <file:\\\\\\\\> without base] + expected: FAIL + + [Parsing: <file:\\\\\\\\?fox> without base] + expected: FAIL + + [Parsing: <file:\\\\\\\\#guppy> without base] + expected: FAIL + + [Parsing: <file://spider///> without base] + expected: FAIL + + [Parsing: <file:\\\\localhost//> without base] + expected: FAIL + + [Parsing: <file://\\/localhost//cat> without base] + expected: FAIL + + [Parsing: <file://localhost//a//../..//> without base] + expected: FAIL + + [Parsing: <file://example.net/C:/> without base] + expected: FAIL + + [Parsing: <file://1.2.3.4/C:/> without base] + expected: FAIL + + [Parsing: <file://[1::8\]/C:/> without base] + expected: FAIL + + [Parsing: <file://localhost//a//../..//foo> without base] + expected: FAIL + + [Parsing: <file://localhost////foo> without base] + expected: FAIL + + [Parsing: <file:////foo> without base] + expected: FAIL + + [Parsing: <file:.//p> without base] + expected: FAIL + + [Parsing: <file:/.//p> without base] + expected: FAIL + + [Parsing: <non-spec:/.//> without base] + expected: FAIL + + [Parsing: <non-spec:/..//> without base] + expected: FAIL + + [Parsing: <non-spec:/a/..//> without base] + expected: FAIL + + [Parsing: <non-spec:/.//path> without base] + expected: FAIL + + [Parsing: <non-spec:/..//path> without base] + expected: FAIL + + [Parsing: <non-spec:/a/..//path> without base] + expected: FAIL + [url-constructor.any.html?include=file] [Parsing: </> against <file://h/C:/a/b>] @@ -1265,6 +1397,54 @@ [Parsing: <file:/.//p> against <about:blank>] expected: FAIL + [Parsing: <file:\\\\//> without base] + expected: FAIL + + [Parsing: <file:\\\\\\\\> without base] + expected: FAIL + + [Parsing: <file:\\\\\\\\?fox> without base] + expected: FAIL + + [Parsing: <file:\\\\\\\\#guppy> without base] + expected: FAIL + + [Parsing: <file://spider///> without base] + expected: FAIL + + [Parsing: <file:\\\\localhost//> without base] + expected: FAIL + + [Parsing: <file://\\/localhost//cat> without base] + expected: FAIL + + [Parsing: <file://localhost//a//../..//> without base] + expected: FAIL + + [Parsing: <file://example.net/C:/> without base] + expected: FAIL + + [Parsing: <file://1.2.3.4/C:/> without base] + expected: FAIL + + [Parsing: <file://[1::8\]/C:/> without base] + expected: FAIL + + [Parsing: <file://localhost//a//../..//foo> without base] + expected: FAIL + + [Parsing: <file://localhost////foo> without base] + expected: FAIL + + [Parsing: <file:////foo> without base] + expected: FAIL + + [Parsing: <file:.//p> without base] + expected: FAIL + + [Parsing: <file:/.//p> without base] + expected: FAIL + [url-constructor.any.html?include=javascript] diff --git a/tests/wpt/metadata-layout-2020/webmessaging/without-ports/018.html.ini b/tests/wpt/metadata-layout-2020/webmessaging/with-ports/018.html.ini similarity index 100% rename from tests/wpt/metadata-layout-2020/webmessaging/without-ports/018.html.ini rename to tests/wpt/metadata-layout-2020/webmessaging/with-ports/018.html.ini diff --git a/tests/wpt/metadata-layout-2020/webstorage/localstorage-about-blank-3P-iframe-opens-3P-window.partitioned.tentative.html.ini b/tests/wpt/metadata-layout-2020/webstorage/localstorage-about-blank-3P-iframe-opens-3P-window.partitioned.tentative.html.ini new file mode 100644 index 00000000000..aa6c9e5b826 --- /dev/null +++ b/tests/wpt/metadata-layout-2020/webstorage/localstorage-about-blank-3P-iframe-opens-3P-window.partitioned.tentative.html.ini @@ -0,0 +1,4 @@ +[localstorage-about-blank-3P-iframe-opens-3P-window.partitioned.tentative.html] + expected: TIMEOUT + [StorageKey: test 3P about:blank window opened from a 3P iframe] + expected: TIMEOUT diff --git a/tests/wpt/metadata-layout-2020/workers/constructors/Worker/Worker-constructor.html.ini b/tests/wpt/metadata-layout-2020/workers/constructors/Worker/Worker-constructor.html.ini new file mode 100644 index 00000000000..80f9a4f15b8 --- /dev/null +++ b/tests/wpt/metadata-layout-2020/workers/constructors/Worker/Worker-constructor.html.ini @@ -0,0 +1,2 @@ +[Worker-constructor.html] + expected: ERROR diff --git a/tests/wpt/metadata/FileAPI/url/url-charset.window.js.ini b/tests/wpt/metadata/FileAPI/url/url-charset.window.js.ini deleted file mode 100644 index 08ab7bd35cd..00000000000 --- a/tests/wpt/metadata/FileAPI/url/url-charset.window.js.ini +++ /dev/null @@ -1,4 +0,0 @@ -[url-charset.window.html] - expected: TIMEOUT - [Blob charset should override any auto-detected charset.] - expected: TIMEOUT diff --git a/tests/wpt/metadata/MANIFEST.json b/tests/wpt/metadata/MANIFEST.json index 7890f33f631..17ec0a27b3e 100644 --- a/tests/wpt/metadata/MANIFEST.json +++ b/tests/wpt/metadata/MANIFEST.json @@ -2974,6 +2974,13 @@ }, "css-position": { "crashtests": { + "inline-containing-block-crash.html": [ + "db385e38d18bc5478ce58f46ab016c812e4d7fc8", + [ + null, + {} + ] + ], "position-absolute-crash-014.html": [ "a169a7b9498f4f014f9feb6ba64300f186f92776", [ @@ -4836,6 +4843,15 @@ {} ] ] + }, + "response": { + "many-empty-chunks-crash.html": [ + "fe5e7d4c0754a0c53a474be6d28de892dc9451c8", + [ + null, + {} + ] + ] } } }, @@ -5123,6 +5139,13 @@ ] }, "the-img-element": { + "document-destroyed-crash.html": [ + "da43099f71fb0b04c6a4989040de57f90c07550b", + [ + null, + {} + ] + ], "image-loading-lazy-subframe-detached-crash.html": [ "86a290d50db16d9f19d08bb8a9ad07b0aa52f66d", [ @@ -28728,6 +28751,32 @@ {} ] ], + "multi-line-row-flex-fragmentation-075-print.html": [ + "f1f3c79377b4a6315bab6c4903bd064c11af7819", + [ + null, + [ + [ + "/css/css-break/flexbox/multi-line-row-flex-fragmentation-075-print-ref.html", + "==" + ] + ], + {} + ] + ], + "multi-line-row-flex-fragmentation-076-print.html": [ + "a6caab736b52b1909c852ffe9f335a2695101dab", + [ + null, + [ + [ + "/css/css-break/flexbox/multi-line-row-flex-fragmentation-076-print-ref.html", + "==" + ] + ], + {} + ] + ], "single-line-column-flex-fragmentation-060-print.html": [ "15890801979709a152f580ad8f18d6af7e102b61", [ @@ -29317,6 +29366,266 @@ {} ] ], + "monolithic-overflow-001-print.html": [ + "f4121c3422582aad0bf12837270e696d06e68555", + [ + null, + [ + [ + "/css/printing/monolithic-overflow-001-print-ref.html", + "==" + ] + ], + {} + ] + ], + "monolithic-overflow-002-print.html": [ + "8f76af16a9ea7a9a53d142d655d59c43100346d0", + [ + null, + [ + [ + "/css/printing/monolithic-overflow-002-print-ref.html", + "==" + ] + ], + {} + ] + ], + "monolithic-overflow-003-print.html": [ + "76905b180a1232597b28c05ee3aac45690de13fa", + [ + null, + [ + [ + "/css/printing/reference/monolithic-overflow-4-pages-print-ref.html", + "==" + ] + ], + {} + ] + ], + "monolithic-overflow-004-print.html": [ + "ea5a659bd8416a46fa3c2d1c69b68f7ea7f158bb", + [ + null, + [ + [ + "/css/printing/reference/monolithic-overflow-4-pages-print-ref.html", + "==" + ] + ], + {} + ] + ], + "monolithic-overflow-005-print.html": [ + "bb0fc212fc0d8940363e7de9d1a3771fd90f2c57", + [ + null, + [ + [ + "/css/printing/reference/monolithic-overflow-4-pages-print-ref.html", + "==" + ] + ], + {} + ] + ], + "monolithic-overflow-006-print.html": [ + "1cbcdbbe1e5a036a6eae8408731a15028aaae125", + [ + null, + [ + [ + "/css/printing/reference/monolithic-overflow-4-pages-print-ref.html", + "==" + ] + ], + {} + ] + ], + "monolithic-overflow-007-print.html": [ + "14a6f051fec8489d957b14639bc3ccfcb0b644bd", + [ + null, + [ + [ + "/css/printing/reference/monolithic-overflow-4-pages-print-ref.html", + "==" + ] + ], + {} + ] + ], + "monolithic-overflow-008-print.html": [ + "ff302dc30caa1999f9e09168feb5ac56c08af552", + [ + null, + [ + [ + "/css/printing/reference/monolithic-overflow-4-pages-print-ref.html", + "==" + ] + ], + {} + ] + ], + "monolithic-overflow-009-print.html": [ + "bdff66e791c0fde0065578e1179085e76297d1d4", + [ + null, + [ + [ + "/css/printing/reference/monolithic-overflow-4-pages-print-ref.html", + "==" + ] + ], + {} + ] + ], + "monolithic-overflow-010-print.html": [ + "a75c932d30b4133244ccfd7f695ff03a4870b3c3", + [ + null, + [ + [ + "/css/printing/reference/monolithic-overflow-4-pages-print-ref.html", + "==" + ] + ], + {} + ] + ], + "monolithic-overflow-011-print.html": [ + "973a3aff4dccd49117247708413bf910b8406518", + [ + null, + [ + [ + "/css/printing/reference/monolithic-overflow-4-pages-print-ref.html", + "==" + ] + ], + {} + ] + ], + "monolithic-overflow-012-print.html": [ + "53ed74bc7289cffacd1ec7f34b9d4e14060de6b5", + [ + null, + [ + [ + "/css/printing/monolithic-overflow-012-print-ref.html", + "==" + ] + ], + {} + ] + ], + "monolithic-overflow-013-print.html": [ + "b9a174879d77d139688031724fa1b1a5093e78d3", + [ + null, + [ + [ + "/css/printing/monolithic-overflow-013-print-ref.html", + "==" + ] + ], + {} + ] + ], + "monolithic-overflow-014-print.html": [ + "d12ddf4c6847ed3b6ac980e4c327ae4b77a7d148", + [ + null, + [ + [ + "/css/printing/monolithic-overflow-014-print-ref.html", + "==" + ] + ], + {} + ] + ], + "monolithic-overflow-015-print.html": [ + "d52605605c93eece74a0c4e78669aeb5a8ffbbdb", + [ + null, + [ + [ + "/css/printing/monolithic-overflow-015-print-ref.html", + "==" + ] + ], + {} + ] + ], + "monolithic-overflow-016-print.html": [ + "029523e924afb21bf190420f95062214127fae61", + [ + null, + [ + [ + "/css/printing/monolithic-overflow-016-print-ref.html", + "==" + ] + ], + {} + ] + ], + "monolithic-overflow-017-print.html": [ + "c8ce9060fffcee8a79f265e1182e0c0cd9c2e7ae", + [ + null, + [ + [ + "/css/printing/monolithic-overflow-017-print-ref.html", + "==" + ] + ], + {} + ] + ], + "monolithic-overflow-018-print.html": [ + "93da11dc62e73e2a98a275ec71f56579e1f1a604", + [ + null, + [ + [ + "/css/printing/monolithic-overflow-018-print-ref.html", + "==" + ] + ], + {} + ] + ], + "monolithic-overflow-019-print.html": [ + "3740b5d5b0b954f403954e2120db6a0ca32ce1c5", + [ + null, + [ + [ + "/css/printing/monolithic-overflow-019-print-ref.html", + "==" + ] + ], + {} + ] + ], + "monolithic-overflow-020-print.html": [ + "403d932d643b81a620df3eba64156d1431d14579", + [ + null, + [ + [ + "/css/printing/monolithic-overflow-020-print-ref.html", + "==" + ] + ], + {} + ] + ], "page-name-001-print.html": [ "56281bb4ed5f8b3e34401420b10504ed6c0e00fd", [ @@ -29343,6 +29652,19 @@ {} ] ], + "page-name-003-print.html": [ + "9ef4db8c7541bb97371bf819398131ca85a2b32a", + [ + null, + [ + [ + "/css/printing/page-name-003-print-ref.html", + "==" + ] + ], + {} + ] + ], "page-overflow-crash-print.html": [ "e295c569d2d634867bab43741baf23c905918fc3", [ @@ -30373,7 +30695,7 @@ ] ], "webkit-linear-gradient-line-right.html": [ - "91d0f7b49fb053f961335bf19343925bc7c9bd56", + "68e129d39e4189b1437ca0ef897fc955a5544f1e", [ null, [ @@ -30393,7 +30715,7 @@ ], [ 0, - 4000 + 4400 ] ] ] @@ -30402,7 +30724,7 @@ ] ], "webkit-linear-gradient-line-top.html": [ - "2df36ef3cd208b1c232bcc2d3f5ade74d4023d93", + "61d205a700480d55b0064bf6e4bba351c5b68625", [ null, [ @@ -30422,7 +30744,7 @@ ], [ 0, - 4000 + 4400 ] ] ] @@ -108920,6 +109242,19 @@ {} ] ], + "border-collapse-empty-row.html": [ + "c4114a145df0c18ee6745c3cb3e74388609a9eb9", + [ + null, + [ + [ + "/css/CSS2/tables/border-collapse-empty-row-ref.html", + "==" + ] + ], + {} + ] + ], "border-collapse-offset-001.xht": [ "68dde59a0ccd3249680b24abe6a9c837b7741de6", [ @@ -134376,6 +134711,19 @@ {} ] ], + "border-image-repeat-repeat-001.html": [ + "778bc0e4b5c6988359a4f3a40391d8de2b4d5e19", + [ + null, + [ + [ + "/css/css-backgrounds/reference/border-image-repeat-repeat-001-ref.html", + "==" + ] + ], + {} + ] + ], "border-image-repeat-round-1.html": [ "c4dc17cf7df08fde88cc19114a7792dc9a7b5674", [ @@ -134848,6 +135196,45 @@ } ] ], + "border-image-slice-fill-001.html": [ + "4a2c3e9cc016aa0a348d373c62b67cdd4db7677a", + [ + null, + [ + [ + "/css/css-backgrounds/reference/border-image-slice-fill-001-ref.html", + "==" + ] + ], + {} + ] + ], + "border-image-slice-fill-002.html": [ + "bc194e40621c288d76dad1ca1b62d126d9f188c9", + [ + null, + [ + [ + "/css/css-backgrounds/reference/border-image-slice-fill-002-ref.html", + "==" + ] + ], + {} + ] + ], + "border-image-slice-fill-003.html": [ + "fd0833ff7fff619300260edb750d78919f64cd09", + [ + null, + [ + [ + "/css/css-backgrounds/reference/ref-filled-green-100px-square.xht", + "==" + ] + ], + {} + ] + ], "border-image-slice-percentage.html": [ "d4d2bdbfb94605138f462ef7624bc0cb6ffbf91b", [ @@ -134878,7 +135265,7 @@ ] ], "border-image-space-001.html": [ - "7af66db7bf9305fffb48960a483a8971e4974c23", + "8e04127fd41d18fccd68b1c975d017b012faab7a", [ null, [ @@ -134894,7 +135281,7 @@ [ [ 0, - 36 + 80 ], [ 0, @@ -135193,7 +135580,7 @@ ] ], "border-radius-clip-001.html": [ - "008ca7367f20b51c55460f8cffa6f85be83d4988", + "971bba1a1885f61b5f4bbc4682ee861abc38c470", [ null, [ @@ -135209,11 +135596,11 @@ [ [ 0, - 1 + 57 ], [ 0, - 1000 + 1552 ] ] ] @@ -135974,7 +136361,7 @@ ] ], "box-shadow-radius-000.html": [ - "08822b4ce58a6ae0e6e39cb13edef3b30622dbaa", + "ea6190b57f68eed178c5b57ab3b43dffb94dda4b", [ null, [ @@ -135994,7 +136381,7 @@ ], [ 0, - 80 + 90 ] ] ] @@ -136042,16 +136429,32 @@ ] ], "css-border-radius-001.html": [ - "7bf4830fa1b00d3830e9e2504032c0945b7ab1c0", + "023f7d180240d53792343dbe0b9a2d427bcb7223", [ null, [ [ - "/css/css-backgrounds/reference/css-border-radius-ref-001.html", + "/css/css-backgrounds/reference/css-border-radius-001-ref.html", "==" ] ], - {} + { + "fuzzy": [ + [ + null, + [ + [ + 0, + 63 + ], + [ + 0, + 400 + ] + ] + ] + ] + } ] ], "css-box-shadow-001.html": [ @@ -136785,6 +137188,45 @@ {} ] ], + "flex-column-style-change-triggers-layout-block-end.html": [ + "80f2c62d233113a13b7dfa21627a81f999e1f3b5", + [ + null, + [ + [ + "/css/css-box/margin-trim/flex-column-style-change-triggers-layout-block-end-ref.html", + "==" + ] + ], + {} + ] + ], + "flex-column-style-change-triggers-layout-block-start.html": [ + "15bdcdaebc4a662b7b1bd78de076fcc3769d78df", + [ + null, + [ + [ + "/css/css-box/margin-trim/flex-column-style-change-triggers-layout-block-start-ref.html", + "==" + ] + ], + {} + ] + ], + "flex-column-style-change-triggers-layout-block.html": [ + "505f62ff2811157d52747a197ba0e0d168164311", + [ + null, + [ + [ + "/css/css-box/margin-trim/flex-column-style-change-triggers-layout-block-ref.html", + "==" + ] + ], + {} + ] + ], "flex-inline-end-trimmed-only.html": [ "33451daf30a9d0035529c53d40a8f2316109de3f", [ @@ -136889,6 +137331,45 @@ {} ] ], + "flex-row-style-change-triggers-layout-inline-end.html": [ + "c17e043548f5918eb30389f28406f6f7a74e8acb", + [ + null, + [ + [ + "/css/css-box/margin-trim/flex-row-style-change-triggers-layout-inline-end-ref.html", + "==" + ] + ], + {} + ] + ], + "flex-row-style-change-triggers-layout-inline-start.html": [ + "87118ff69878188808201dd1ded0256e44a65e05", + [ + null, + [ + [ + "/css/css-box/margin-trim/flex-row-style-change-triggers-layout-inline-start-ref.html", + "==" + ] + ], + {} + ] + ], + "flex-row-style-change-triggers-layout-inline.html": [ + "2e02643e58c5c69d4b9a8892cf465213f52bde18", + [ + null, + [ + [ + "/css/css-box/margin-trim/flex-row-style-change-triggers-layout-inline-ref.html", + "==" + ] + ], + {} + ] + ], "flex-trim-all-margins.html": [ "1c2eda8aa095978938005704200bf107a7716fb1", [ @@ -138414,6 +138895,58 @@ {} ] ], + "monolithic-overflow-001.tentative.html": [ + "1171485181359f84e0f25ecda21b9655f5e0493a", + [ + null, + [ + [ + "/css/reference/ref-filled-green-100px-square.xht", + "==" + ] + ], + {} + ] + ], + "monolithic-overflow-002.tentative.html": [ + "298f749a8d727784a4c452d4de02a661aecbe6bf", + [ + null, + [ + [ + "/css/reference/ref-filled-green-100px-square.xht", + "==" + ] + ], + {} + ] + ], + "monolithic-overflow-003.tentative.html": [ + "ed223e809fb7e36e830dd83eafec350b8d4ae577", + [ + null, + [ + [ + "/css/reference/ref-filled-green-100px-square.xht", + "==" + ] + ], + {} + ] + ], + "monolithic-overflow-004.tentative.html": [ + "ed7fea725c6261e4d34cc0e9686c315e6ab7464b", + [ + null, + [ + [ + "/css/reference/ref-filled-green-100px-square.xht", + "==" + ] + ], + {} + ] + ], "multi-line-column-flex-fragmentation-001.html": [ "9f064d4ae40ea9e98f0b1a18c5b8fc143bbb6027", [ @@ -140000,6 +140533,45 @@ {} ] ], + "multi-line-row-flex-fragmentation-072.html": [ + "4964c14c229673465d0caa2f699d36c73f53e48d", + [ + null, + [ + [ + "/css/reference/ref-filled-green-100px-square.xht", + "==" + ] + ], + {} + ] + ], + "multi-line-row-flex-fragmentation-073.html": [ + "6afeb6d558b0c42d85f3a7051b2c31e6d900be0a", + [ + null, + [ + [ + "/css/reference/ref-filled-green-100px-square.xht", + "==" + ] + ], + {} + ] + ], + "multi-line-row-flex-fragmentation-074.html": [ + "321f8f79889ac0713eefd483a41e84ca89109d29", + [ + null, + [ + [ + "/css/reference/ref-filled-green-100px-square.xht", + "==" + ] + ], + {} + ] + ], "nested-flex-item-expansion-in-mulicol.html": [ "56aa3ec5c26878e4b12be7fe09e2700021e6b19c", [ @@ -140780,6 +141352,58 @@ {} ] ], + "single-line-column-flex-fragmentation-061.html": [ + "2cbb42d775336abd46662e24528a46bada181ac6", + [ + null, + [ + [ + "/css/reference/ref-filled-green-100px-square.xht", + "==" + ] + ], + {} + ] + ], + "single-line-column-flex-fragmentation-062.html": [ + "fae736d108255e3854b7a93d2d344e8d98f81319", + [ + null, + [ + [ + "/css/reference/ref-filled-green-100px-square.xht", + "==" + ] + ], + {} + ] + ], + "single-line-column-flex-fragmentation-063.html": [ + "f2d407a614e136d5c1c9311725015b1fadb5a091", + [ + null, + [ + [ + "/css/reference/ref-filled-green-100px-square.xht", + "==" + ] + ], + {} + ] + ], + "single-line-column-flex-fragmentation-064.html": [ + "9cda2de6cbb6b42e4968986752160fa723c32326", + [ + null, + [ + [ + "/css/reference/ref-filled-green-100px-square.xht", + "==" + ] + ], + {} + ] + ], "single-line-row-flex-fragmentation-001.html": [ "379327a4aff584192f076d3f9d8f3ead232c0f5c", [ @@ -141312,6 +141936,19 @@ ], {} ] + ], + "single-line-row-flex-fragmentation-043.html": [ + "e41862d6c4638139e9cb85e659c3ebdb139f655d", + [ + null, + [ + [ + "/css/reference/ref-filled-green-100px-square.xht", + "==" + ] + ], + {} + ] ] }, "float-000.html": [ @@ -142575,6 +143212,110 @@ ], {} ] + ], + "monolithic-overflow-001.tentative.html": [ + "95660ec1068100e48fb489631fc7312b7937ff0c", + [ + null, + [ + [ + "/css/reference/ref-filled-green-100px-square.xht", + "==" + ] + ], + {} + ] + ], + "monolithic-overflow-002.tentative.html": [ + "f487c3ded5fd86bf2992d45b593d7bc2d854e7aa", + [ + null, + [ + [ + "/css/reference/ref-filled-green-100px-square.xht", + "==" + ] + ], + {} + ] + ], + "monolithic-overflow-003.tentative.html": [ + "c7a3903a09756f601fe24cd1c03a868628a88875", + [ + null, + [ + [ + "/css/reference/ref-filled-green-100px-square.xht", + "==" + ] + ], + {} + ] + ], + "monolithic-overflow-004.tentative.html": [ + "208100619c37518bacb46abcc683947fea38cfd1", + [ + null, + [ + [ + "/css/reference/ref-filled-green-100px-square.xht", + "==" + ] + ], + {} + ] + ], + "monolithic-overflow-005.html": [ + "069ffb5b212e4b3316485422a423c6aad7a878f8", + [ + null, + [ + [ + "/css/reference/ref-filled-green-100px-square.xht", + "==" + ] + ], + {} + ] + ], + "monolithic-overflow-006.html": [ + "af4cfb1216b81fc4f4460ff20736e3e9e528f0a9", + [ + null, + [ + [ + "/css/reference/ref-filled-green-100px-square.xht", + "==" + ] + ], + {} + ] + ], + "monolithic-overflow-007.html": [ + "906ad29fc16f54007a4032b5fa55d89b525ff25f", + [ + null, + [ + [ + "/css/reference/ref-filled-green-100px-square.xht", + "==" + ] + ], + {} + ] + ], + "monolithic-overflow-008.html": [ + "6e2caf60ce825800d738a938a429a3e41fa0552e", + [ + null, + [ + [ + "/css/reference/ref-filled-green-100px-square.xht", + "==" + ] + ], + {} + ] ] }, "increase-fragmentainer-size-tall-border.html": [ @@ -142694,6 +143435,84 @@ {} ] ], + "monolithic-overflow-001.tentative.html": [ + "db285a929c8a7fa75b3c5546b127227ec6b2708d", + [ + null, + [ + [ + "/css/reference/ref-filled-green-100px-square.xht", + "==" + ] + ], + {} + ] + ], + "monolithic-overflow-002.tentative.html": [ + "387af9c5016a315b9e23bd34f88f8b45a9dbfa82", + [ + null, + [ + [ + "/css/reference/ref-filled-green-100px-square.xht", + "==" + ] + ], + {} + ] + ], + "monolithic-overflow-003.tentative.html": [ + "02210aee3d229b8c897951566961797f328e9cac", + [ + null, + [ + [ + "/css/reference/ref-filled-green-100px-square.xht", + "==" + ] + ], + {} + ] + ], + "monolithic-overflow-004.tentative.html": [ + "9a190810af8daa9593c78237da9bb77320cbcafd", + [ + null, + [ + [ + "/css/reference/ref-filled-green-100px-square.xht", + "==" + ] + ], + {} + ] + ], + "monolithic-overflow-005.tentative.html": [ + "f1667a15fd5cd73e8a9eb0824f910452454cb4f1", + [ + null, + [ + [ + "/css/reference/ref-filled-green-100px-square.xht", + "==" + ] + ], + {} + ] + ], + "monolithic-overflow-006.tentative.html": [ + "200f271dc48e6f63f242359cff31e1a21329eb60", + [ + null, + [ + [ + "/css/reference/ref-filled-green-100px-square.xht", + "==" + ] + ], + {} + ] + ], "monolithic-with-overflow-lr.html": [ "cb9d0fbcfe60de8fc479159c233239e5bb272ed6", [ @@ -144931,6 +145750,84 @@ {} ] ], + "monolithic-overflow-001.tentative.html": [ + "34487c43279f3e6aa2ddbb41d703d938debc1981", + [ + null, + [ + [ + "/css/reference/ref-filled-green-100px-square.xht", + "==" + ] + ], + {} + ] + ], + "monolithic-overflow-002.tentative.html": [ + "74b63fb68cbec730e898ad4a5e3b8338463714b8", + [ + null, + [ + [ + "/css/reference/ref-filled-green-100px-square.xht", + "==" + ] + ], + {} + ] + ], + "monolithic-overflow-003.tentative.html": [ + "296a309335fa4bb2c109b6a96469843320fe3e95", + [ + null, + [ + [ + "/css/reference/ref-filled-green-100px-square.xht", + "==" + ] + ], + {} + ] + ], + "monolithic-overflow-004.tentative.html": [ + "6f62f433e823698da207befa43ef26279d55a987", + [ + null, + [ + [ + "/css/reference/ref-filled-green-100px-square.xht", + "==" + ] + ], + {} + ] + ], + "monolithic-overflow-005.html": [ + "7204359ad9b1d183c7e2fdf0035b973786920847", + [ + null, + [ + [ + "/css/reference/ref-filled-green-100px-square.xht", + "==" + ] + ], + {} + ] + ], + "monolithic-overflow-006.html": [ + "a8ebd11511969e82b739ea4c6b0948f177e4036f", + [ + null, + [ + [ + "/css/reference/ref-filled-green-100px-square.xht", + "==" + ] + ], + {} + ] + ], "oof-in-cell-with-alignment-001.html": [ "7933012cb6aeccaf8d8a8cf1d35c8ee0d490a04f", [ @@ -158879,6 +159776,19 @@ {} ] ], + "system-extends-fixed.html": [ + "7721be7c42f3e3d70f18049b59230ced9b3bb892", + [ + null, + [ + [ + "/css/css-counter-styles/counter-style-at-rule/system-extends-fixed-ref.html", + "==" + ] + ], + {} + ] + ], "system-extends-invalid.html": [ "446fe45e561f9a0a746830bf6642746131cdf0a9", [ @@ -177145,6 +178055,19 @@ {} ] ], + "font-size-adjust-013.html": [ + "e9f9140190504907df37176c00edc6b26322c60e", + [ + null, + [ + [ + "/css/css-fonts/font-size-adjust-013-ref.html", + "==" + ] + ], + {} + ] + ], "font-size-adjust-order-001.html": [ "a8b56a3083f31e90cbbdee507f263cc884db6c66", [ @@ -188020,6 +188943,19 @@ {} ] ], + "orthogonal-writing-mode-005.html": [ + "d5bd17816104e40538303b8b637897c367c6af63", + [ + null, + [ + [ + "/css/css-grid/subgrid/orthogonal-writing-mode-005-ref.html", + "==" + ] + ], + {} + ] + ], "parent-repeat-auto-fit-001.html": [ "8ecbccbea64320054f940d9c2e2d31dd028daa14", [ @@ -188086,7 +189022,7 @@ ] ], "repeat-auto-fill-003.html": [ - "3a1d2707c37c6861dc97cd6cdd5f2f3739a431c7", + "df14ed8350bce321e50c6f0721b91ad63714083c", [ null, [ @@ -198301,20 +199237,36 @@ "clip-path": { "animations": { "clip-path-animation-custom-timing-function-reverse.html": [ - "7525f674503343832560e62bced2a78b484851d8", + "d42b2fe5a3292df1e027b5991b97bb748916910b", [ null, [ [ - "/css/css-masking/clip-path/animations/clip-path-animation-custom-timing-function-ref.html", + "/css/css-masking/clip-path/animations/clip-path-animation-custom-timing-function-reverse-ref.html", "==" ] ], - {} + { + "fuzzy": [ + [ + null, + [ + [ + 0, + 1 + ], + [ + 0, + 350 + ] + ] + ] + ] + } ] ], "clip-path-animation-custom-timing-function.html": [ - "e73f01bc40316de43594f049dca353f7269917e8", + "4dbf3a44a9436b8b04751c2ce881ab673febbe55", [ null, [ @@ -198323,7 +199275,23 @@ "==" ] ], - {} + { + "fuzzy": [ + [ + null, + [ + [ + 0, + 2 + ], + [ + 0, + 320 + ] + ] + ] + ] + } ] ], "clip-path-animation-filter.html": [ @@ -198647,7 +199615,7 @@ ] ], "clip-path-transition-custom-timing-function.html": [ - "022b1f0484c17e72cec06640fd24d38728b1a5db", + "47b0cd6e751fe8c2282ce8c44746fa01d0340b30", [ null, [ @@ -200123,7 +201091,7 @@ ] ], "clip-path-round-zero-size.html": [ - "d42ee6f5360f2df18ac5ae3aa79511a6201b0eda", + "32396fa8d24a3316149ef0cd2f3d12073f9fdd95", [ null, [ @@ -200132,7 +201100,23 @@ "==" ] ], - {} + { + "fuzzy": [ + [ + null, + [ + [ + 0, + 64 + ], + [ + 0, + 28 + ] + ] + ] + ] + } ] ], "clip-path-scaled-video.html": [ @@ -201455,7 +202439,7 @@ ] ], "clip-path-shape-circle-003.svg": [ - "f0110ee0a531842ce7d9239b8f9fb0de47fc69fa", + "0a0432c1166e867d6fdb89ef3567450c992bcc5f", [ null, [ @@ -201464,11 +202448,27 @@ "==" ] ], - {} + { + "fuzzy": [ + [ + null, + [ + [ + 0, + 64 + ], + [ + 0, + 184 + ] + ] + ] + ] + } ] ], "clip-path-shape-circle-004.svg": [ - "c3db6d662d88ce0958345ab30f41a082b04d60e9", + "044b2ecc9e16e5c617ede8915db6169cc4ab65d9", [ null, [ @@ -201477,7 +202477,23 @@ "==" ] ], - {} + { + "fuzzy": [ + [ + null, + [ + [ + 0, + 64 + ], + [ + 0, + 76 + ] + ] + ] + ] + } ] ], "clip-path-shape-circle-005.svg": [ @@ -201585,7 +202601,7 @@ ] ], "clip-path-text-001.svg": [ - "35f9fa00f0c4d9608bf8a6b2fa5e91cff430fd6c", + "6d850b993a66cf5cbff33e34703f8252c5f49db5", [ null, [ @@ -201598,7 +202614,7 @@ ] ], "clip-path-text-002.svg": [ - "d6ae1479415142df85d9360b6de6bde8cef24e04", + "f40d13c40d4e0cf07ef9dfd8a8a6aa15d89f90ba", [ null, [ @@ -201611,7 +202627,7 @@ ] ], "clip-path-text-003.svg": [ - "ec7a613f9c524df6397f5de8537a26b257443bae", + "7a5e9e7d82c99b161c8b6e175dc6b1030bf2c611", [ null, [ @@ -201624,7 +202640,7 @@ ] ], "clip-path-text-004.svg": [ - "7adbfa2d574c1c2e284325e1d3a713b90443adce", + "2389320677d8b7c725892e32fa1060fd33d50766", [ null, [ @@ -201637,7 +202653,7 @@ ] ], "clip-path-text-005.svg": [ - "152f4018354f06237e7296fe72b5a0672a193f88", + "487e2fead873755404790926938c8bd39ff64d9b", [ null, [ @@ -202173,7 +203189,7 @@ ] ], "mask-image-2.html": [ - "a071cff3fa3b3081ce34244737aaa40af9fa3ac7", + "ba6eb37ef6da4f1db3d09d70af330c69bdca446d", [ null, [ @@ -202182,7 +203198,23 @@ "==" ] ], - {} + { + "fuzzy": [ + [ + null, + [ + [ + 0, + 1 + ], + [ + 0, + 2400 + ] + ] + ] + ] + } ] ], "mask-image-3a.html": [ @@ -209719,7 +210751,7 @@ ] ], "overflow-recalc-001.html": [ - "9c5919a5044bdbac0e782fbb662f1ff3b81857fc", + "5d0d6f000937eb85095513a82f28721b52e624c6", [ null, [ @@ -209728,7 +210760,23 @@ "==" ] ], - {} + { + "fuzzy": [ + [ + null, + [ + [ + 0, + 1 + ], + [ + 0, + 5 + ] + ] + ] + ] + } ] ], "overflow-scroll-big-border-small-content.html": [ @@ -209953,7 +211001,7 @@ ] ], "text-overflow-ellipsis-002.html": [ - "019e8902af09137954cff4c72aa2cf4cbb3f4e4d", + "e326967ca378797ec96defc0ecf84c4efd0b2c73", [ null, [ @@ -210525,7 +211573,7 @@ ] ], "webkit-line-clamp-034.html": [ - "acc66952f1a3b1a4997ac2c54c9ee7f2b1aa855a", + "e0b31d544c20a0f57486c771b6b4edef9b69625b", [ null, [ @@ -210538,7 +211586,7 @@ ] ], "webkit-line-clamp-035.html": [ - "52b539d505f2913ad8d824fa2d403020bd4e9de1", + "5a550e022ecbb87580c3beb77337fccac825adc7", [ null, [ @@ -227105,6 +228153,19 @@ {} ] ], + "grid-item-image-percentage-min-height-computes-as-0.html": [ + "3b5dd2aedd0ce81d771130a7d8b905c75a9a7485", + [ + null, + [ + [ + "/css/css-sizing/grid-item-image-percentage-min-height-computes-as-0-ref.html", + "==" + ] + ], + {} + ] + ], "hori-block-size-small-or-larger-than-container-with-min-or-max-content-1.html": [ "68860be223474aac0eca9b408f4f8bb6ae6c61b5", [ @@ -227638,6 +228699,19 @@ {} ] ], + "nested-flexbox-image-percentage-max-height-computes-as-none.html": [ + "afac4641477a6d7c39c0c682da6d4f3abc461e90", + [ + null, + [ + [ + "/css/css-sizing/nested-flexbox-image-percentage-max-height-computes-as-none-ref.html", + "==" + ] + ], + {} + ] + ], "ortho-writing-mode-001.html": [ "ca34be73229276ba7dd81a133f12bf53c61836b0", [ @@ -228593,6 +229667,19 @@ {} ] ], + "colspan-004.html": [ + "cbe7f96ec2c44466e42c619ca8d1db676e6cd6db", + [ + null, + [ + [ + "/css/reference/ref-filled-green-100px-square.xht", + "==" + ] + ], + {} + ] + ], "dynamic-table-cell-height.html": [ "f6cd48e5ba5616a499809293714fcbb5b5742489", [ @@ -237469,6 +238556,19 @@ {} ] ], + "text-align-last-015.html": [ + "a0d8fa4df92c4b5a1cb1e37cfb1177bcaa71e3f7", + [ + null, + [ + [ + "/css/css-text/text-align/text-align-last-015-ref.html", + "==" + ] + ], + {} + ] + ], "text-align-last-center.html": [ "639156062d23e61d07130b48b573fc521f115382", [ @@ -242145,6 +243245,201 @@ {} ] ], + "pre-wrap-align-center-001.html": [ + "0d923665b2442a05c1db838af822605a17f97ea3", + [ + null, + [ + [ + "/css/css-text/white-space/reference/pre-wrap-align-center-001-ref.html", + "==" + ] + ], + {} + ] + ], + "pre-wrap-align-center-002.html": [ + "9e28158fdc7a9295af7d40a368c391798831cefd", + [ + null, + [ + [ + "/css/css-text/white-space/reference/pre-wrap-align-center-002-ref.html", + "==" + ] + ], + {} + ] + ], + "pre-wrap-align-center-003.html": [ + "8225e80fe0144728f07ab373e951a98217263f6c", + [ + null, + [ + [ + "/css/css-text/white-space/reference/pre-wrap-align-center-003-ref.html", + "==" + ] + ], + {} + ] + ], + "pre-wrap-align-end-001.html": [ + "3d002c20df6a326c9ccaeb5471c81631f53ac1a3", + [ + null, + [ + [ + "/css/css-text/white-space/reference/pre-wrap-align-right-001-ref.html", + "==" + ] + ], + {} + ] + ], + "pre-wrap-align-end-002.html": [ + "c1bd5902d7e9be297d6ae0a676c6e965c3fc01c6", + [ + null, + [ + [ + "/css/css-text/white-space/reference/pre-wrap-align-left-002-ref.html", + "==" + ] + ], + {} + ] + ], + "pre-wrap-align-end-003.html": [ + "72530985f3a08b2255e99606c00e095482f4d4b5", + [ + null, + [ + [ + "/css/css-text/white-space/reference/pre-wrap-align-left-003-ref.html", + "==" + ] + ], + {} + ] + ], + "pre-wrap-align-left-001.html": [ + "a6a286b9c4f0215ab6243f0811ddb394ddd95550", + [ + null, + [ + [ + "/css/css-text/white-space/reference/pre-wrap-align-left-001-ref.html", + "==" + ] + ], + {} + ] + ], + "pre-wrap-align-left-002.html": [ + "0671b0e7eb109e54bff3f54ea32afcacd0b3b3cd", + [ + null, + [ + [ + "/css/css-text/white-space/reference/pre-wrap-align-left-002-ref.html", + "==" + ] + ], + {} + ] + ], + "pre-wrap-align-left-003.html": [ + "bdef8ada0bfcd8490cf72723ec2ff008b7a01e90", + [ + null, + [ + [ + "/css/css-text/white-space/reference/pre-wrap-align-left-003-ref.html", + "==" + ] + ], + {} + ] + ], + "pre-wrap-align-right-001.html": [ + "878b297df44618e54ffb8e8ce7ac65016196d6d3", + [ + null, + [ + [ + "/css/css-text/white-space/reference/pre-wrap-align-right-001-ref.html", + "==" + ] + ], + {} + ] + ], + "pre-wrap-align-right-002.html": [ + "0c13f9ca182c9d94132a6c56f0f3d10c5c08a770", + [ + null, + [ + [ + "/css/css-text/white-space/reference/pre-wrap-align-right-002-ref.html", + "==" + ] + ], + {} + ] + ], + "pre-wrap-align-right-003.html": [ + "e3cae1672044a061d9fa2315c59223c5f63a4241", + [ + null, + [ + [ + "/css/css-text/white-space/reference/pre-wrap-align-right-003-ref.html", + "==" + ] + ], + {} + ] + ], + "pre-wrap-align-start-001.html": [ + "c9b884e892dfd2cd2160e09cae7efa551aa0d0d8", + [ + null, + [ + [ + "/css/css-text/white-space/reference/pre-wrap-align-left-001-ref.html", + "==" + ] + ], + {} + ] + ], + "pre-wrap-align-start-002.html": [ + "e226a19c94042acd628a00da4ced385020594947", + [ + null, + [ + [ + "/css/css-text/white-space/reference/pre-wrap-align-right-002-ref.html", + "==" + ] + ], + {} + ] + ], + "pre-wrap-align-start-003.html": [ + "f91b38c6ac1d3a1429551a15fc113c9745afdebf", + [ + null, + [ + [ + "/css/css-text/white-space/reference/pre-wrap-align-right-003-ref.html", + "==" + ] + ], + {} + ] + ], "pre-wrap-float-001.html": [ "af29b0505e0eefbab09b011798c0dd6136598cca", [ @@ -277733,6 +279028,32 @@ {} ] ], + "element-is-grouping-during-animation.html": [ + "87a35ae9a22188bd0ece9446854c30d1b1021388", + [ + null, + [ + [ + "/css/css-view-transitions/element-is-grouping-during-animation-ref.html", + "==" + ] + ], + {} + ] + ], + "element-stops-grouping-after-animation.html": [ + "8793313d6dc703a37faebc91f0aabcf80c5224a1", + [ + null, + [ + [ + "/css/css-view-transitions/element-stops-grouping-after-animation-ref.html", + "==" + ] + ], + {} + ] + ], "element-with-overflow.html": [ "678e0a062e07452feb6faee8f986f3280fcd5e6d", [ @@ -278837,6 +280158,21 @@ {} ] ], + "new-content-changes-overflow.html": [ + "a8e2fa8c6b090551ee172cb028810f69d88fb2e5", + [ + null, + [ + [ + "/css/css-view-transitions/new-content-changes-overflow-ref.html", + "==" + ] + ], + { + "timeout": "long" + } + ] + ], "new-content-container-writing-modes.html": [ "e7ac768e17d6104d0f70cab29a891c8b08b03c8c", [ @@ -279100,6 +280436,21 @@ } ] ], + "new-content-with-object-view-box.html": [ + "47917e90f3011342a6490834c11f125afe4c87cf", + [ + null, + [ + [ + "/css/css-view-transitions/content-with-object-view-box-ref.html", + "==" + ] + ], + { + "timeout": "long" + } + ] + ], "new-content-with-overflow-zoomed.html": [ "59170ebf00349710d34c8f5fd2966352b1d23594", [ @@ -279225,6 +280576,19 @@ } ] ], + "offscreen-element-modified-before-coming-onscreen.html": [ + "77c35ab58341e3f957549e4269763f55073e7b02", + [ + null, + [ + [ + "/css/css-view-transitions/offscreen-element-modified-before-coming-onscreen-ref.html", + "==" + ] + ], + {} + ] + ], "old-content-captures-clip-path.html": [ "a2faa7f1575af4c6ac3f65b3fb303f6dbab875d3", [ @@ -279582,6 +280946,21 @@ {} ] ], + "old-content-with-object-view-box.html": [ + "f24c8e60d1ea1c4e1b34dd40dedc268cd86f5de2", + [ + null, + [ + [ + "/css/css-view-transitions/content-with-object-view-box-ref.html", + "==" + ] + ], + { + "timeout": "long" + } + ] + ], "old-content-with-overflow-zoomed.html": [ "10257b761fa639410849e8982e317b38baa0161c", [ @@ -297047,6 +298426,19 @@ {} ] ], + "svg-external-filter-resource.html": [ + "6df5fc281f05fe1d05e3019c0cf364dc2fac564a", + [ + null, + [ + [ + "/css/filter-effects/reference/green-100x100.html", + "==" + ] + ], + {} + ] + ], "svg-feflood-001.html": [ "4588cf93f6ca52386ce8af1dbe6e0462572bb559", [ @@ -298427,6 +299819,32 @@ {} ] ], + "scripting-print-noscript.html": [ + "701013bd7151fcb05b16c033542aef5e150763a2", + [ + null, + [ + [ + "/css/mediaqueries/scripting-print-noscript-ref.html", + "==" + ] + ], + {} + ] + ], + "scripting-print-script.html": [ + "25f064ba2040053f225d5cd4494468537564af42", + [ + null, + [ + [ + "/css/mediaqueries/scripting-print-script-ref.html", + "==" + ] + ], + {} + ] + ], "viewport-script-dynamic.html": [ "7433877972b09b3a03cd9f8a11dcd3efd1aa01d6", [ @@ -303679,6 +305097,21 @@ ] ] }, + "filters": { + "2d.filter.canvasFilterObject.dropShadow.tentative.html": [ + "22c6a6547f23650f1f2f3d8a0cd57816386066a5", + [ + null, + [ + [ + "/html/canvas/element/filters/2d.filter.canvasFilterObject.dropShadow.tentative-expected.html", + "==" + ] + ], + {} + ] + ] + }, "layers": { "2d.layer.endlayer.alone.html": [ "a7a5933b33d0d9e6a183d1bd5ab3a2e88d6a507f", @@ -304936,6 +306369,34 @@ } }, "offscreen": { + "filters": { + "2d.filter.canvasFilterObject.dropShadow.tentative.html": [ + "04cf86d204ce8e143c6056eaf6499a3f768a4dec", + [ + null, + [ + [ + "/html/canvas/offscreen/filters/2d.filter.canvasFilterObject.dropShadow.tentative-expected.html", + "==" + ] + ], + {} + ] + ], + "2d.filter.canvasFilterObject.dropShadow.tentative.w.html": [ + "8d5e2da1586a56943588f9d343e96e7c32233386", + [ + null, + [ + [ + "/html/canvas/offscreen/filters/2d.filter.canvasFilterObject.dropShadow.tentative-expected.html", + "==" + ] + ], + {} + ] + ] + }, "layers": { "2d.layer.endlayer.alone.html": [ "f088c89aa7cb1c678c16bc2f317385254f645007", @@ -309518,7 +310979,7 @@ ] ], "propagate-text-decoration.html": [ - "9bdbbef0c274fd09e25722c04edeb0cb40693d67", + "83608402c12a99086f3fee9043d580f6664c3294", [ null, [ @@ -309527,7 +310988,23 @@ "==" ] ], - {} + { + "fuzzy": [ + [ + null, + [ + [ + 0, + 40 + ], + [ + 0, + 50 + ] + ] + ] + ] + } ] ] }, @@ -311969,7 +313446,7 @@ ] ], "popover-hidden-display.html": [ - "936c57fc17e52c7ad373c7ccb2d681d7de330a2f", + "db61802db60adf9d14ec1266e230222116f40b47", [ null, [ @@ -311998,7 +313475,7 @@ ] ], "popover-inside-display-none.html": [ - "a25cf14d1ce039a88188cf3c637523ece926bf3a", + "24ce7c6fc6c09b1f9b9478680673977a6c28cdfc", [ null, [ @@ -317096,6 +318573,19 @@ {} ] ], + "image-embedding-svg-with-near-integral-width.html": [ + "8f3ecab44105bb66c1e089b600901e6d3ab529e1", + [ + null, + [ + [ + "/svg/embedded/image-embedding-svg-with-near-integral-width-ref.html", + "==" + ] + ], + {} + ] + ], "image-embedding-svg-with-viewport-units-inline-style.svg": [ "7ef2655dc91c815d57d1496d2e5707d54ac94c5d", [ @@ -319534,7 +321024,7 @@ "styling": { "invalidation": { "nth-child-of-class.svg": [ - "e51cd2cf3929ad751ded9d0fd6251d9e45ee43b6", + "a91f421337ceeaade2072cee54b29b6eeeda6a01", [ null, [ @@ -319547,7 +321037,7 @@ ] ], "nth-last-child-of-class.svg": [ - "2af650768598a96c15cf822e229365ba68768cf4", + "ff439bf17b1efe36c9531b2d9c82ba590b86a0b2", [ null, [ @@ -323681,7 +325171,7 @@ ] }, "web-identity": [ - "cba0cb331e714c9a4208bdff1e7d74f19c314f03", + "2095182bd040631d1ecaaa70d456d67dee3aee15", [] ] }, @@ -326419,9 +327909,15 @@ }, "badging": { "META.yml": [ - "1826b19d02e46a74c0b40795d6786569d3f06ee1", + "840e187cbad1cca4ea09e144c88df2a14032136a", [] - ] + ], + "resources": { + "setAppBadge_iframe.html": [ + "8738099658fbb2de893658e70242e855ecccd4b1", + [] + ] + } }, "battery-status": { "META.yml": [ @@ -326681,6 +328177,10 @@ [] ], "resources": { + "check-topics-request-header-notify-parent.py": [ + "98c77c2b0bd21591416d886d1ab013486a805550", + [] + ], "check-topics-request-header.py": [ "569b75449635c51e6581afecb582cdb818e6c120", [] @@ -326705,6 +328205,10 @@ "c19efb5f2f3fe5469b63b5772c875d9e62fb47b5", [] ], + "navigation-header-util.sub.js": [ + "b3bec79651d0cfca140176a5527327d86d780ad5", + [] + ], "permissions-policy-util.sub.js": [ "e8bf45049c53ab23fee369c058ffe4904bed45ce", [] @@ -326907,11 +328411,15 @@ "critical-ch": { "resources": { "echo-critical-hint.py": [ - "0913dbb19db57c3cacada72547dbe55d2a8e1688", + "a5c5160f7503ea3644b6d2deb9827994025c1af9", + [] + ], + "redirect-critical-hint.py": [ + "77b8652e2039592eace1a4f93c09a1cd0d924afd", [] ], "util.js": [ - "7471d9022e48613f799283afdd7600ecdac6b15a", + "36800f1e4f0c4933ee78ddaec2c9e2d86723e2f5", [] ] } @@ -348206,7 +349714,7 @@ [] ], "cookie-helper.sub.js": [ - "ff33ecb6bd2c025c58ec07924b8ac99d8529a461", + "3338cf0e800cba0d59b9a86c8270c262772b3d7b", [] ], "cookie-test.js": [ @@ -348467,11 +349975,11 @@ ], "fedcm": { "accounts.py": [ - "088ce5967cd585d41ce91a30dd6492c42bf872a3", + "3dbc7403dc28106b0958bd7b7819037374830a06", [] ], "client_metadata.py": [ - "e6f6a776329062987b14a57a4199e67e6b7af0cc", + "bfc8027412df0a941468df4a7368f754de0ab13e", [] ], "client_metadata.py.headers": [ @@ -348495,7 +350003,7 @@ [] ], "manifest.py": [ - "3e72faf75a48a298d00e7a53edc11fce793452fb", + "6105db007b0948a150d2ba7098ba97e30d333a15", [] ], "manifest_redirect_accounts.json": [ @@ -348523,19 +350031,19 @@ [] ], "single_account.py": [ - "2de3deb2661690675d7574ebe4e72f4c87b8f457", + "b388ef55a4b11760f388b4b3d468cf7cc52a3c25", [] ], "token.py": [ - "867dab9592f89a36fd2ef6d3656046318673cf5b", + "cd73394bc4f83efd3f78705b6ba2a51e53625bf7", [] ], "token_with_account_id.py": [ - "bef755364833b2b11ff5ca70e34678b2d079c309", + "8bdfec8f6d9a9dabbe34a78d73afd404afdf9bbb", [] ], "two_accounts.py": [ - "bca62d60223d86b16f05fd017cdd942adaf6b4dc", + "48451740663adab6c35eead23e49cd0174d4cbc8", [] ], "userinfo-iframe.html": [ @@ -362272,6 +363780,10 @@ "f7a02c8e04cefa46c4326d8dc433c04e74274527", [] ], + "border-collapse-empty-row-ref.html": [ + "ca1108ccd7bf733e26e3bb6f9105404063da942a", + [] + ], "border-collapse-offset-001-ref.xht": [ "245d49c10b77ba0cdc69cf6115e58872318b995f", [] @@ -368498,6 +370010,10 @@ "0a372e088baa0045bb972c7398085da56a216d03", [] ], + "border-image-repeat-repeat-001-ref.html": [ + "0086544c0f75ac9466264dba8fd40aba6edc959b", + [] + ], "border-image-repeat-round-ref.html": [ "327013a93369af6cf023fef0668a4c5060e04f24", [] @@ -368526,6 +370042,14 @@ "2581d8dabfc7927c6ce8c1a5bedd9ccb2af82e52", [] ], + "border-image-slice-fill-001-ref.html": [ + "2ee68cd4752e814d596160d3a36718200ba299ce", + [] + ], + "border-image-slice-fill-002-ref.html": [ + "f8a781c2531eafe3e1c1046d3e7c4b51fd0afdbd", + [] + ], "border-image-space-001-ref.html": [ "22c5f4dfb8b40fddeb3eeb0af52056dfebf623e1", [] @@ -368630,8 +370154,8 @@ "fb2734a7c1a21a76f262703c9b6e3078ff3eae1d", [] ], - "css-border-radius-ref-001.html": [ - "b89f2853263b3771fa12bafb04a91a243a15226f", + "css-border-radius-001-ref.html": [ + "ef851137edf4406d006a8402fd2e90283b5d3a07", [] ], "css-box-shadow-ref-001.html": [ @@ -368802,6 +370326,14 @@ "c372de1dbd264ede31344915236b9420147586e4", [] ], + "500x500-red-with-green-center.png": [ + "263102bf8aade13ccfb5e7b1c8f375e3f7a61a7b", + [] + ], + "500x500-white-red-green-irreg-polygon.png": [ + "99ff636c3f68f6d206568a03372db4de1e5ba488", + [] + ], "50x50-green.png": [ "6c1406b7dfd7c59f413a183c8896b8c2b3395bf5", [] @@ -369198,6 +370730,18 @@ "c4b36a91b7bfb0a4872a036626a50e0333317bfc", [] ], + "flex-column-style-change-triggers-layout-block-end-ref.html": [ + "933ce0cb3b7651dbda9ada326ec23294ce2f2c2e", + [] + ], + "flex-column-style-change-triggers-layout-block-ref.html": [ + "7b53e757d5cdb47a61399b5c23f2933880fad155", + [] + ], + "flex-column-style-change-triggers-layout-block-start-ref.html": [ + "d58cd0827d249517bffd1acbd3a886938138efe1", + [] + ], "flex-inline-end-trimmed-only-ref.html": [ "9fb945d00c99c0c16be88b9f5db31d0ac2e7490c", [] @@ -369214,6 +370758,18 @@ "8eb29f580618891f14f2c1ab33ce320c4f49b275", [] ], + "flex-row-style-change-triggers-layout-inline-end-ref.html": [ + "cee1fbb55fe66aaebf31cfb4b200273ce58bf9e2", + [] + ], + "flex-row-style-change-triggers-layout-inline-ref.html": [ + "455a88f78edcae635e3f5e02d27ddca50905b575", + [] + ], + "flex-row-style-change-triggers-layout-inline-start-ref.html": [ + "966bdf1be8c7d79fa0a6bcf0a61d4876889295de", + [] + ], "flex-trim-all-margins-ref.html": [ "aebc1045d16f2777d2a32d09ca7e1e6f38065d75", [] @@ -369458,6 +371014,14 @@ "cd7ca531900a89c2f0a823a8a7727f0bd914e164", [] ], + "multi-line-row-flex-fragmentation-075-print-ref.html": [ + "65b68b27e5f7bb37a4919739de78a7a9cb5f00c2", + [] + ], + "multi-line-row-flex-fragmentation-076-print-ref.html": [ + "a14e3ed016216cb98822dac51c4a07e037b5f993", + [] + ], "single-line-column-flex-fragmentation-040-ref.html": [ "3d20cb44e49b065fdb90d400fba69aca442f0fc2", [] @@ -371784,6 +373348,10 @@ "11ff5f96a437dac526d9164a8219c98d08e29e6a", [] ], + "system-extends-fixed-ref.html": [ + "db693cf3d1aadfc7e214332a6de80d49240d8909", + [] + ], "system-extends-invalid-ref.html": [ "3360e90f7e14fc1b5e70bcc6918216d5c6c55f28", [] @@ -375451,6 +377019,10 @@ "9b24c758b6252c6c8df6fe2bad53637ade049c6f", [] ], + "font-size-adjust-013-ref.html": [ + "6dd5b1082472b67431e5a95f18d5f035b0777dfb", + [] + ], "font-size-adjust-order-001-ref.html": [ "0c68e1396adf54957271b8c3611d3af4189b0375", [] @@ -383898,6 +385470,10 @@ "1de585bd6230172b9d43556c897d3270c78d9e82", [] ], + "orthogonal-writing-mode-005-ref.html": [ + "f8fa0ab81b9fecee6d9efbb8f20e4af4cd1d89ad", + [] + ], "parent-repeat-auto-fit-001-ref.html": [ "2217497cd2bf1813ecb585564788b81488079b85", [] @@ -385892,7 +387468,11 @@ "clip-path": { "animations": { "clip-path-animation-custom-timing-function-ref.html": [ - "829055a94561ae153a23e3328c1e06290e19e5c8", + "49732d361b3ff40f6232fa87423cf5a9e6530a55", + [] + ], + "clip-path-animation-custom-timing-function-reverse-ref.html": [ + "edaf92cb8ae763ed592810d19343e24a89ff1f0f", [] ], "clip-path-animation-filter-ref.html": [ @@ -386286,15 +387866,15 @@ [] ], "clip-path-text-001-ref.svg": [ - "4b3f84b8d866100e9f0e9000fd0f28a2264eeed7", + "f13bb8ba44f7f032d429ad3b68163bfb4a2dc259", [] ], "clip-path-text-002-ref.svg": [ - "fccd7638af0199b56710d9487f2ae6953788ec3b", + "d51fd55b4b9fbb47f501470a9189c4da2d149d30", [] ], "clip-path-text-003-ref.svg": [ - "fa2cb815e101438d21ed9bec69f1b9d4e451c7e3", + "254f361d3e3be2fbfa608d40f9cc50ac0ccd5885", [] ], "mask-and-nested-clip-path-ref.svg": [ @@ -391291,6 +392871,10 @@ "0f9f8bd1b0352ea66763232f3a093eb569ca9511", [] ], + "grid-item-image-percentage-min-height-computes-as-0-ref.html": [ + "296cc59331946d45a56b0813afdc44c060747ed7", + [] + ], "hori-block-size-small-or-larger-than-container-with-min-or-max-content-1-ref.html": [ "263a0869aedbaceb06ebe81a53372c905e8acd9e", [] @@ -391343,6 +392927,10 @@ "c01e46550a7f0b5b92321d5893a8fe2a1ea0c9ac", [] ], + "nested-flexbox-image-percentage-max-height-computes-as-none-ref.html": [ + "6a290b23a80155f7989c148a3cca4a68df51012e", + [] + ], "range-percent-intrinsic-size-1-ref.html": [ "3bacd9e4b8f5919d90f0f20578178e7994a92bf6", [] @@ -394246,6 +395834,10 @@ "2f26b42723d0e736ef8d01ddc72ec3cc5e69d088", [] ], + "text-align-last-015-ref.html": [ + "75fc7d22c66b1e3180d08de2208e5b3eff6dec19", + [] + ], "text-align-last-center-ref.html": [ "6ad0e6396d18f437d18d4ac87594260ffac9ae4c", [] @@ -394907,6 +396499,42 @@ "2ef5e7f408e3451f22530d24cfc9e2f188a14213", [] ], + "pre-wrap-align-center-001-ref.html": [ + "c06d4ce4ca130ee725e1aee5314dd7480b6dce50", + [] + ], + "pre-wrap-align-center-002-ref.html": [ + "ea211e2fa07bf01aefda238b755f0c10cfe65497", + [] + ], + "pre-wrap-align-center-003-ref.html": [ + "1970d9045b4881f5e1aa51e10fc2863c0536efc5", + [] + ], + "pre-wrap-align-left-001-ref.html": [ + "ee7153726d988b92646bdc1966571e5759716373", + [] + ], + "pre-wrap-align-left-002-ref.html": [ + "ace8924065c4a7db05ea04e5e3920463ee7bda8c", + [] + ], + "pre-wrap-align-left-003-ref.html": [ + "d86c035115f0e2d6d65dc97214e0e726fc788700", + [] + ], + "pre-wrap-align-right-001-ref.html": [ + "45782ddceae13a0b7da71bb8d8eefb7e62c4da30", + [] + ], + "pre-wrap-align-right-002-ref.html": [ + "45f59e3b5fb03582e7cbd7f1f74dc9ebe80831cf", + [] + ], + "pre-wrap-align-right-003-ref.html": [ + "4d294b22d33c3af80ea8da762059660aaa300d23", + [] + ], "pre-wrap-float-001-ref.html": [ "e72b3c94ea454eceee9e934ff7929d18da2fc441", [] @@ -399967,6 +401595,10 @@ "4bb87f316f96070e8af0794db2d6b8dea2d743b2", [] ], + "content-with-object-view-box-ref.html": [ + "7aa2014397b5e0039f9eca40c16f904194fe8c4d", + [] + ], "content-with-overflow-ref.html": [ "a24e30ede964eddef1c996be734478150bfa919b", [] @@ -400003,6 +401635,14 @@ "41467678a31ab07b3ceb639ccf8ecee27761a45f", [] ], + "element-is-grouping-during-animation-ref.html": [ + "38fca3c5288a444b959f1d5279056f8608798fa3", + [] + ], + "element-stops-grouping-after-animation-ref.html": [ + "ccbb794b009b276d5be3d02d1f7a7675c0f7467c", + [] + ], "element-with-overflow-ref.html": [ "523c8616a6666ddfab4dcf3b02dced31523a92b5", [] @@ -400131,6 +401771,10 @@ "b95233d71238233cbfe3ee59ae521164be893842", [] ], + "new-content-changes-overflow-ref.html": [ + "5f75909e82acd7972bd6e68eb9ea4eb79e9eee1a", + [] + ], "new-content-container-writing-modes-ref.html": [ "34e36786f83ee680e8fdef4bfe15645d67587980", [] @@ -400195,6 +401839,10 @@ "9ed1e503094cc4e283f5c6ae989ee36edbe3325c", [] ], + "offscreen-element-modified-before-coming-onscreen-ref.html": [ + "171f999554057f72011e14db538437c81dbfd1a7", + [] + ], "old-content-captures-clip-path-ref.html": [ "0d9d498b6be0748cfaf919390fda399d507e12c1", [] @@ -404169,6 +405817,14 @@ [] ] }, + "scripting-print-noscript-ref.html": [ + "d0bf78f8d592995eb6b28b068e9be7af1b6b7802", + [] + ], + "scripting-print-script-ref.html": [ + "0e3b6fc3e59a4b9a9d291927d5253ce84c8a603e", + [] + ], "support": { "media_queries_iframe.html": [ "890eb6c46113afbaf1dc88188c52a791623590a8", @@ -404339,6 +405995,50 @@ "fb5255eddb1cdbdc1b9b610a7813b977d822b7b9", [] ], + "monolithic-overflow-001-print-ref.html": [ + "9edc5d9ed0d97d40f734396ff54fe6fc69b0492b", + [] + ], + "monolithic-overflow-002-print-ref.html": [ + "5478362b066fe462959f5610b92c4415afb74fc4", + [] + ], + "monolithic-overflow-012-print-ref.html": [ + "e47ca880f93196bd9c1a488ed883a46839744a1c", + [] + ], + "monolithic-overflow-013-print-ref.html": [ + "e47ca880f93196bd9c1a488ed883a46839744a1c", + [] + ], + "monolithic-overflow-014-print-ref.html": [ + "a74e0d19a558a6c663b632ad88fb888ca42c707a", + [] + ], + "monolithic-overflow-015-print-ref.html": [ + "db44a3ee21e57cf4c0c11cf081a516ca150fcba8", + [] + ], + "monolithic-overflow-016-print-ref.html": [ + "a675fb966c56aa5db37731e382a54675dcb7cb20", + [] + ], + "monolithic-overflow-017-print-ref.html": [ + "45f839787e03f286e1cdca0a887a48297ea03294", + [] + ], + "monolithic-overflow-018-print-ref.html": [ + "cf31737d6c3f750524ad1c291281f6fcb777f786", + [] + ], + "monolithic-overflow-019-print-ref.html": [ + "f37740ae7e606b2f8acce89f4210bdd961c11edd", + [] + ], + "monolithic-overflow-020-print-ref.html": [ + "528c4980de590bc48c3017b246052b561f170bbd", + [] + ], "page-name-001-print-ref.html": [ "69c5c37b5a3cc4ed47fab1f8105e5f2351e2d07b", [] @@ -404347,6 +406047,10 @@ "17ecc93e57aee6910a524e3fa6b14ecc026f9b52", [] ], + "page-name-003-print-ref.html": [ + "52ea6bfffcbf187acdeeeacdf960896a2d695986", + [] + ], "paused-animations-print-ref.html": [ "c22ecd174585100fd5faae8402f5a6e141b8264e", [] @@ -404355,6 +406059,12 @@ "07107d1db7845f9d2186b558753818444d410318", [] ], + "reference": { + "monolithic-overflow-4-pages-print-ref.html": [ + "c115782d6ad862870235953e56474e7eae4902bc", + [] + ] + }, "transition-in-media-print-ref.html": [ "2f25c06131e9372512e23ab9ff8428c594f74391", [] @@ -406217,7 +407927,7 @@ }, "scrolling": { "scroll_support.js": [ - "f561b6995344432c7030790ba98417fafae3e590", + "52c2f58723a2a39e9d652036d82d59475497c76e", [] ] } @@ -407685,6 +409395,10 @@ "7e6bb4d408044c76d3c22a97fe0c9e720cea898f", [] ], + "text-html-meta-charset.py": [ + "f73110743ea5f3db084c69fd9429e144d844e63e", + [] + ], "text-plain-charset.py": [ "d7e788244270645ddd975518ff6f0db459b565a2", [] @@ -410058,7 +411772,7 @@ "fledge": { "tentative": { "TODO": [ - "d1d3930886b51f949ad0354278970b0c77c3c6e6", + "d50e49261164795e9f49e50100de04178bc5ff7f", [] ], "resources": { @@ -410075,12 +411789,16 @@ [] ], "fledge-util.js": [ - "738764f651962b10ffe956bd86a9f81da40193d2", + "5a05764e74e971b0a9bb3f37e7320a388dbac414", [] ], - "request_tracker.py": [ + "request-tracker.py": [ "46da796f30102e0e32a82a4dab96fa9217154306", [] + ], + "trusted-bidding-signals.py": [ + "cdd7052a96ab42d9a143f9d47a7c71cb6910de72", + [] ] } } @@ -411683,7 +413401,7 @@ ], "resources": { "common.js": [ - "fea3ecc5a6f12b1d8ff4786a2f94638310f5697b", + "241df1df2420c22f0ac3a54cdd2b089472d28f21", [] ], "embedding-test.js": [ @@ -413669,6 +415387,10 @@ ], "element": { "compositing": { + "2d.composite.canvas.clear.png": [ + "eeedd0ff05889ffd4468bf19a2e8e9e0a094201c", + [] + ], "2d.composite.canvas.copy.png": [ "f5e9c21964da05866f64ad9423149d76e8306efc", [] @@ -413713,6 +415435,10 @@ "1ef9630195d684d0c18428138c3302774d07970c", [] ], + "2d.composite.image.clear.png": [ + "eeedd0ff05889ffd4468bf19a2e8e9e0a094201c", + [] + ], "2d.composite.image.copy.png": [ "f5e9c21964da05866f64ad9423149d76e8306efc", [] @@ -413757,6 +415483,10 @@ "1ef9630195d684d0c18428138c3302774d07970c", [] ], + "2d.composite.solid.clear.png": [ + "eeedd0ff05889ffd4468bf19a2e8e9e0a094201c", + [] + ], "2d.composite.solid.copy.png": [ "fc0883e74fe50cb6f5dd1a5fcd404eef8562388b", [] @@ -413801,6 +415531,10 @@ "eeedd0ff05889ffd4468bf19a2e8e9e0a094201c", [] ], + "2d.composite.transparent.clear.png": [ + "eeedd0ff05889ffd4468bf19a2e8e9e0a094201c", + [] + ], "2d.composite.transparent.copy.png": [ "b0cbe3a552daf643be37cd204f08c3d3e637cadd", [] @@ -414288,6 +416022,12 @@ [] ] }, + "filters": { + "2d.filter.canvasFilterObject.dropShadow.tentative-expected.html": [ + "90f406fed9fd8545a352f2c213ace27b9556d3d7", + [] + ] + }, "layers": { "2d.layer.endlayer.alone-expected.html": [ "607526e4376282dcb4b8a359ada7a23a5fdb3286", @@ -415080,6 +416820,12 @@ "d0524194c9186da948d150da7b36f0f1144a61f9", [] ], + "filters": { + "2d.filter.canvasFilterObject.dropShadow.tentative-expected.html": [ + "90f406fed9fd8545a352f2c213ace27b9556d3d7", + [] + ] + }, "layers": { "2d.layer.endlayer.alone-expected.html": [ "607526e4376282dcb4b8a359ada7a23a5fdb3286", @@ -415243,7 +416989,7 @@ [] ], "gentestutilsunion.py": [ - "fdb6a390cf4a19fb6acf9fd8de1e81c558150174", + "bb734b31c66477279b0fcee06ed812249e3a1a1c", [] ], "name2dir-canvas.yaml": [ @@ -415259,7 +417005,7 @@ [] ], "templates-new.yaml": [ - "0a2de9f0b43b240f1a08732891895554b1a8858c", + "703af3c2cb3264a89715e5bd2902798e7ee790c4", [] ], "templates.yaml": [ @@ -415277,7 +417023,7 @@ [] ], "meta.yaml": [ - "ea78fe302cb420fedd65df5b58fe940eeb38c1a6", + "e8c425042668653f6908e6cf25ad6bf658aeb2f5", [] ], "path-objects.yaml": [ @@ -415307,7 +417053,7 @@ [] ], "meta.yaml": [ - "aa850d4e48f37d0231c2af35c6f4ac807c095ede", + "43a67d54ab49dd5f5a2822f9fd6e8cc12e261c88", [] ], "path-objects.yaml": [ @@ -415354,7 +417100,7 @@ [] ], "filters.yaml": [ - "cc5dfe7fefbcd9a5cbf487e46cdab3afdd84c3d1", + "bdf3dcfe9fc47be1e8f8f562a619640fc05cc3b0", [] ], "layers.yaml": [ @@ -423308,7 +425054,7 @@ [] ], "popover-utils.js": [ - "b8b5817851167e9e985ca1a3f54d03a517ed9ef1", + "04d2a2cbe75ef126fbaa2b8cdd8ccd6f4d106354", [] ] } @@ -425007,6 +426753,20 @@ "4f547324323c584ccf7400e08959bb3bce24bb33", [] ] + }, + "resources": { + "bogus-charset-http-valid-meta.py": [ + "f988bc9f8c71ff84b2147cd1152cf0b7e7477601", + [] + ], + "bogus-charset-http.py": [ + "1b881a16810c7af716f61c698575a483706877a4", + [] + ], + "bogus-charset.html": [ + "e77e874466c2e3499d76952f5d1c1051402cb07b", + [] + ] } }, "parsing": { @@ -427402,7 +429162,7 @@ [] ], "webtransport-h3.https.sub.any.js.ini": [ - "7d3874e36c367b6b37df1dc5205d0082c38eeb4d", + "f0041b0aa29c9047902a00c4a59f4d7802d3eb69", [] ], "wpt-server-http.sub.html.ini": [ @@ -429154,7 +430914,7 @@ ] }, "lint.ignore": [ - "ab06848df53a8112ea8e2e4a5ee602a8c1b30ff5", + "056bbd0c230244125fa59c8e1594b28756575095", [] ], "loading": { @@ -429409,7 +431169,7 @@ [] ], "utils.js": [ - "394d81706cc8ec7f11e566b91d272e6edd3cc1fa", + "8781252e9411fcb3bf2423347e185e2633ef0140", [] ] } @@ -431484,6 +433244,10 @@ "blob-popup.html": [ "bc3c97ef8dc75db2b5766012543952112d680892", [] + ], + "middle-frame.html": [ + "58d14d61ef944e9264ed34cb26abf57cf0a181e0", + [] ] }, "spec.src.json": [ @@ -431518,6 +433282,14 @@ "de4f6c9a335bd4b7d5e99d14d37b904fe5d54182", [] ], + "commit-behavior": { + "resources": { + "after-transition-commit-helpers.js": [ + "664e8d7280e37e460fe20b814ecbac4628cdfb50", + [] + ] + } + }, "focus-reset": { "resources": { "helpers.mjs": [ @@ -431632,7 +433404,7 @@ [] ], "helpers.js": [ - "67cd1ccb62e64c04b531cb5364fde227c2868b58", + "63d706ed285c66740496ac8ae1bed3eb50bce883", [] ], "navigate-opaque-origin-page.html": [ @@ -435614,7 +437386,7 @@ [] ], "webxr-test.js": [ - "679343764a01c59d5ad392e2c3e0438afa7654aa", + "ab2c6faa0ee84ba95f5969de4f57d4c607d8c638", [] ], "webxr-test.js.headers": [ @@ -435623,7 +437395,7 @@ ] }, "declarative-shadow-dom-polyfill.js": [ - "8ab08b0294c297fcb528f9ca76f87ca458463bdc", + "99a3e911eb633625c5f82365e41aa5ca5ef85de0", [] ], "idlharness-shadowrealm.js": [ @@ -437939,7 +439711,7 @@ [] ], "fetch-event-respond-with-readable-stream-worker.js": [ - "e54cb6ddd9674ae365763da18dddef5e63f22f70", + "056351322c69e6a73efdbb44033b470f098de999", [] ], "fetch-event-respond-with-response-body-with-invalid-chunk-iframe.html": [ @@ -439586,7 +441358,7 @@ [] ], "soft-navigation-helper.js": [ - "c24af60274da083ac7563bda1042cbfb0dfd37d4", + "e8e5846c93b3f50f59a4b0b77529cda7fb0259de", [] ] } @@ -439624,8 +441396,12 @@ "97de1cc1a015cac8cc17e71b74947303e11c6d89", [] ], + "sw.js": [ + "db774f9d5b80dc00cfc3beff20deaa311faca415", + [] + ], "utils.sub.js": [ - "aaa73c2135d2725c7a85966febdfd0cd118bbfdf", + "9b3b630733ef0b4504e079ccbf9e1fad9f79e274", [] ] } @@ -439716,12 +441492,16 @@ "8dc382068a347990c91aeaafc8b509553cac8767", [] ], + "csp-script-src-strict-dynamic.html": [ + "00db373c47a4df58b7df5c7c53a427885f82c48c", + [] + ], "csp-script-src-unsafe-inline.html": [ "d2f010dc569d0908818a8d00d7020220c897b11a", [] ], "csp-script-src.js": [ - "52419f9b4c24240fe1f7f4594fc660e634cf34af", + "866acaa09ba78ed77026db4c083aa23bcbb0a9e2", [] ], "dedicated-worker.https.html": [ @@ -440076,15 +441856,15 @@ ], "resources": { "partitioned-estimate-usage-details-caches-helper-frame.html": [ - "13786d7ceafca799bd44c20482085278283303ca", + "0679c1decf55835a0de37a9e64f12647da2a6c0a", [] ], "partitioned-estimate-usage-details-indexeddb-helper-frame.html": [ - "80f9cca27d66848eea842a49dc3a46f24677dc4e", + "fd2cfb669bd30c287b60f11c00022ffb9d2a7317", [] ], "partitioned-estimate-usage-details-service-workers-helper-frame.html": [ - "29d91a95d715e4d77dd864d1a13161d95621df8b", + "25d7554868fdda856f9eb101eb328d304c646a97", [] ], "worker.js": [ @@ -440099,7 +441879,7 @@ [] ], "helpers.js": [ - "f718f637cd964b4b2d3fc68879fa9d4a2035480d", + "728b098087e4ab3c67bb8cfd88126ffcf9f4315d", [] ], "resources": { @@ -440108,7 +441888,7 @@ [] ], "embedded_responder.js": [ - "6d4209608e455873d50d31083ef5f46fcb68703e", + "ab1ab30f6964130e6c4d09655c77cca3095596a4", [] ], "hasStorageAccess-ABA-iframe.https.html": [ @@ -440144,7 +441924,7 @@ [] ], "requestStorageAccess-iframe.https.html": [ - "4880464a257c65e16d7a70471a31a571f8de4878", + "828af799e6cad6ce5e4901010db7d9af93ec3321", [] ], "script-with-cookie-header.py": [ @@ -440355,6 +442135,10 @@ } }, "embedded": { + "image-embedding-svg-with-near-integral-width-ref.html": [ + "655d982b16ce0582f6b83e26844b2a6e2437b17b", + [] + ], "reference": { "green-rect-100x100.svg": [ "120941444a4898197d6b6001f9908a6cd48b62ba", @@ -441540,7 +443324,7 @@ [] ], "requirements_tc.txt": [ - "95753d91681e4a562226b47c17948668f4d8dbc2", + "53b10f8dcaaa40e8dd1bbc4cdd49fc9f62940d49", [] ], "run_tc.py": [ @@ -441726,7 +443510,7 @@ [] ], "lint.py": [ - "f51e451a4d123aab56512310c75c28cdcbeac8c7", + "89ecee8035c71eebe1d7d5713a01185af53bec71", [] ], "rules.py": [ @@ -442009,7 +443793,7 @@ [] ], "test_manifest.py": [ - "5e10d9f06ad50aed7696ba1dcd2bd9c03720e18c", + "73a6c7e1421c63cf21d956b86d21f24bacfbb328", [] ], "test_sourcefile.py": [ @@ -442051,15 +443835,15 @@ [] ], "requirements_mypy.txt": [ - "c870f0818634581de9ed599539af260408556eba", + "ff878deb613a5bf5515ae3228277e223def0a90c", [] ], "requirements_pytest.txt": [ - "a724ff23e51d37d46041b5f80df9aeb5fd78161e", + "0bb151cb644ca0bdd7e5e28de955f5da95ca8be3", [] ], "requirements_tests.txt": [ - "8871b8c7d2a97251a6aa5d1e720f74b317c9dab7", + "26bf23a7f5e4ef2bf2ecd544e1f8572062594823", [] ], "runner": { @@ -450094,7 +451878,7 @@ }, "webtransport": { "META.yml": [ - "b0e446dd5f91cdacdc8a8503c75794f88d941924", + "9fd58ced3ec007f166b313cb006f4aab0760f448", [] ], "README.md": [ @@ -450111,7 +451895,7 @@ [] ], "capsule.py": [ - "8844dbc8c730a0a33c1cd81999f5722fbf74ff12", + "74ca71ade9cce9702efd93ddc8b3e786d22563cb", [] ], "handler.py": [ @@ -450123,7 +451907,7 @@ [] ], "webtransport_h3_server.py": [ - "c59ffcbffc9e4ef11c88fee759b99221aeb22d25", + "6384a5aefb2bacabeffeede8f6679dfa3295af01", [] ] }, @@ -450142,7 +451926,7 @@ [] ], "browser.py": [ - "7d789f6a71c7e820c7f4b7deccda9bb19df22b01", + "d6c238a1f2722f2af34bc64ea045dabad25b5895", [] ], "commands.json": [ @@ -450249,7 +452033,7 @@ [] ], "test_install.py": [ - "2ee8f2bc0a6419a8aa3afbc58604dd98f635d4bb", + "076db33e812ea3be4fe0abc9875cbb6720026c63", [] ], "test_markdown.py": [ @@ -450342,7 +452126,7 @@ [] ], "requirements_edge.txt": [ - "dfbdc6d9e3471ebb301de7f7852849df11973c44", + "96c17ff3c6576e0183d4e60246bbe430b54be935", [] ], "requirements_firefox.txt": [ @@ -450350,11 +452134,11 @@ [] ], "requirements_ie.txt": [ - "83948c668e4b9bfb9e7cb1a801a13cdedc8819c9", + "e10c3e9564bf45a4639b6c844d3a7b9930b56d5e", [] ], "requirements_opera.txt": [ - "83948c668e4b9bfb9e7cb1a801a13cdedc8819c9", + "e10c3e9564bf45a4639b6c844d3a7b9930b56d5e", [] ], "requirements_safari.txt": [ @@ -450362,7 +452146,7 @@ [] ], "requirements_sauce.txt": [ - "64fb1390c044d703a2d0865680b714b44f540925", + "438bf984643abda3f1bc378d40b089c73c826db8", [] ], "setup.py": [ @@ -451313,7 +453097,7 @@ }, "trusted-types": { "META.yml": [ - "8cc6a43aa12617ff8738ce571814f954454b6666", + "04061ac0f66a849b4dd2f71c8abef40f47240a96", [] ], "default-policy-report-only.tentative.html.headers": [ @@ -452021,7 +453805,7 @@ [] ], "README.md": [ - "50a71bb482df9e21f6385973268f9e95b3464e7c", + "fa5e3b0dc72385a5a60125802d78c53e46e99058", [] ], "resources": { @@ -452030,11 +453814,11 @@ [] ], "a-element-origin.js": [ - "cb7d4a895c40c456c3f4c0ade050115319ad410c", + "de72988ea93c12b067d01f99bb39e451e312d837", [] ], "a-element.js": [ - "65c7e85281360fcea6aa24632d3063d55bf70a15", + "d87937d002b24ad70a53a535e32d40fbf4ab2523", [] ], "percent-encoding.json": [ @@ -452054,7 +453838,7 @@ [] ], "urltestdata.json": [ - "a3cf976534cce6d84bb6681330fe95fff7bf2dd1", + "58f6b87a8624bf024bef48fa16b21cbbb755aa5c", [] ] }, @@ -452151,7 +453935,7 @@ }, "wai-aria": { "META.yml": [ - "864132a5a36c6dde2cf9ff9e8675ac9ed765e8fa", + "25ab1c28495042171bd96edc38e784f19fe582cd", [] ], "manual": { @@ -452160,11 +453944,21 @@ [] ] }, + "role": { + "ReadMe.md": [ + "189c9f75eb8b602feee13ec05712f2f861f938ed", + [] + ] + }, "scripts": { "ATTAcomm.js": [ "b748233fc22c43153212e8a495cdce3b48425fd9", [] ], + "aria-utils.js": [ + "41d8535f91be4d32d33e0eacbdef8e10dc161565", + [] + ], "manual.css": [ "0e4f4a03e4b7c347dd49d7a1bf04997f9339e0aa", [] @@ -452624,7 +454418,7 @@ [] ], "keyframe-utils.js": [ - "8e6e5840f7f87221b87e6a31f7874a0863395f24", + "60fb9781a0c080791829abb0bad9e4a084fe2ba6", [] ], "timing-override.js": [ @@ -454531,7 +456325,7 @@ [] ], "fixtures_bidi.py": [ - "2c8f5a08fedce65f1fba64c67c68539537fe102f", + "9407dc160704524e589dadd07a686d1d6dc40f4d", [] ], "fixtures_http.py": [ @@ -454948,10 +456742,18 @@ "8a1eea34f95f52f024fb8e3b8977e037040f7584", [] ], + "pad.json": [ + "ac4834d7f09cd3ed788a16de8162fc7cb8b02c19", + [] + ], "pow.json": [ "d6c9f592df7b4103ec477dcd2a49cdc482c88672", [] ], + "prelu.json": [ + "f3855b0f4e19b4e8b70b8fafb0a5f32b733ee7bd", + [] + ], "reduce_max.json": [ "4dd7098d03f4fd89a25124b0d3ffdb2d43405704", [] @@ -455022,7 +456824,7 @@ ] }, "utils.js": [ - "0c903998f17dda13f31485dc3f2597a1bb3852c6", + "a91dfa04c6e7b38cb1d461edef7cbb72edaa65ba", [] ] } @@ -455158,6 +456960,10 @@ "c943dafe5b154314132124e1d563df2a00b2aaf7", [] ], + "RTCPeerConnection-worker-transform.js": [ + "36e3949e4d584019a0d921858cc75ee7f6bd25c1", + [] + ], "helper.js": [ "d4cec39ffce0f58b76da653c78dc384f22ffa43d", [] @@ -458274,7 +460080,7 @@ [] ], "007.js": [ - "d0879da90889d0faa7901b1eb48c31ea04b1238a", + "38849bc8abc64c7cf681ce4bad62c787299fb5d6", [] ], "language.js": [ @@ -474203,6 +476009,20 @@ "timeout": "long" } ] + ], + "non-fully-active.https.html": [ + "d870e52273c0a310df3c3ab3f97693d7070a6cb7", + [ + null, + {} + ] + ], + "setAppBadge_cross_origin.sub.https.html": [ + "7e548879bcbf67c84a94a6b5d9dd276016d03ff0", + [ + null, + {} + ] ] }, "battery-status": { @@ -477174,6 +478994,58 @@ } ] ], + "empty-exclusion-filter.https.window.js": [ + "0d4b196cc7d22bb574d7baffa1af68251b299245", + [ + "bluetooth/requestDevice/canonicalizeFilter/empty-exclusion-filter.https.window.html", + { + "script_metadata": [ + [ + "script", + "/resources/testdriver.js" + ], + [ + "script", + "/resources/testdriver-vendor.js" + ], + [ + "script", + "/bluetooth/resources/bluetooth-test.js" + ], + [ + "script", + "/bluetooth/resources/bluetooth-fake-devices.js" + ] + ] + } + ] + ], + "empty-exclusion-filters-member.https.window.js": [ + "d380fa0268efff3f24a351f69b82066614eda7f9", + [ + "bluetooth/requestDevice/canonicalizeFilter/empty-exclusion-filters-member.https.window.html", + { + "script_metadata": [ + [ + "script", + "/resources/testdriver.js" + ], + [ + "script", + "/resources/testdriver-vendor.js" + ], + [ + "script", + "/bluetooth/resources/bluetooth-test.js" + ], + [ + "script", + "/bluetooth/resources/bluetooth-fake-devices.js" + ] + ] + } + ] + ], "empty-filter.https.window.js": [ "bfe94f2721d9542bd75cb46b4557fc40db41443d", [ @@ -477304,6 +479176,32 @@ } ] ], + "exclusion-filters-require-filters.https.window.js": [ + "d7db260deeb6500cc8eb4809bf7368a0dc59936b", + [ + "bluetooth/requestDevice/canonicalizeFilter/exclusion-filters-require-filters.https.window.html", + { + "script_metadata": [ + [ + "script", + "/resources/testdriver.js" + ], + [ + "script", + "/resources/testdriver-vendor.js" + ], + [ + "script", + "/bluetooth/resources/bluetooth-test.js" + ], + [ + "script", + "/bluetooth/resources/bluetooth-fake-devices.js" + ] + ] + } + ] + ], "filters-xor-acceptAllDevices.https.window.js": [ "a6c48f2962a321ccf08c8ad9e3d9bbea2d014f7c", [ @@ -480793,21 +482691,21 @@ }, "browsing-topics": { "browsing-topics-permissions-policy-default.tentative.https.sub.html": [ - "a7c5a95cff33407b1ec172a8881964450e758a8f", + "884ad9276a1d087684d06ed1b03bbdc57d3f7d8c", [ null, {} ] ], "browsing-topics-permissions-policy-none.tentative.https.sub.html": [ - "7d33f3bdaee21e4c522d53cff14c258b2f9921ac", + "2f80daa27142c6a2ccd7b0e33005a4659180bf1b", [ null, {} ] ], "browsing-topics-permissions-policy-self.tentative.https.sub.html": [ - "7647998c8562cc70379e5238b440dec47fb6a665", + "601266794797ebf8b7a7bdacfd3b3c5cb1c92f2c", [ null, {} @@ -480855,6 +482753,20 @@ {} ] ], + "iframe-topics-attribute-insecure-context.tentative.http.sub.html": [ + "19c79e0d7f001b592a93214ee89dcdf15afbe5dc", + [ + null, + {} + ] + ], + "iframe-topics-attribute.tentative.https.html": [ + "b90f967146ce49235d216ef7a18056b1b282d263", + [ + null, + {} + ] + ], "topics-not-allowed-for-service-worker-fetch.tentative.https.html": [ "1bd578e9bf74fb942fa1bfcc6c001c0c096364bf", [ @@ -481329,7 +483241,7 @@ }, "critical-ch": { "iframe.https.window.js": [ - "bbb9623752ea593a15e306152b49342c305a3420", + "cbf128149e983fa1fb4e4ef085f5179c16b50016", [ "client-hints/critical-ch/iframe.https.window.html", { @@ -481388,10 +483300,46 @@ } ] ], - "navigation.https.window.js": [ + "navigation.cross-origin.https.window.js": [ + "6fdcee71d474295f4bb3c886649de5a005f5006e", + [ + "client-hints/critical-ch/navigation.cross-origin.https.window.html", + { + "script_metadata": [ + [ + "script", + "resources/util.js" + ], + [ + "script", + "/common/get-host-info.sub.js" + ] + ] + } + ] + ], + "navigation.cross-origin.multiple.https.window.js": [ + "91a57da3e4853c4f0ac4192d8d947b65cb9f4ebd", + [ + "client-hints/critical-ch/navigation.cross-origin.multiple.https.window.html", + { + "script_metadata": [ + [ + "script", + "resources/util.js" + ], + [ + "script", + "/common/get-host-info.sub.js" + ] + ] + } + ] + ], + "navigation.same-origin.https.window.js": [ "549b32144321381ce48f4eb7ea95c0a1f31bc404", [ - "client-hints/critical-ch/navigation.https.window.html", + "client-hints/critical-ch/navigation.same-origin.https.window.html", { "script_metadata": [ [ @@ -481402,10 +483350,10 @@ } ] ], - "navigation.multiple.https.window.js": [ + "navigation.same-origin.multiple.https.window.js": [ "ff9cc210feb96f711c1e49f2ef64269bffacf12b", [ - "client-hints/critical-ch/navigation.multiple.https.window.html", + "client-hints/critical-ch/navigation.same-origin.multiple.https.window.html", { "script_metadata": [ [ @@ -481430,6 +483378,134 @@ } ] ], + "redirect.critical.cross-origin.https.window.js": [ + "74d9a0cc3b0b8630c5441b4c90da8c54950e0f91", + [ + "client-hints/critical-ch/redirect.critical.cross-origin.https.window.html", + { + "script_metadata": [ + [ + "script", + "resources/util.js" + ], + [ + "script", + "/common/get-host-info.sub.js" + ] + ] + } + ] + ], + "redirect.critical.cross-origin.multiple.https.window.js": [ + "d1a3c67ecbfa71fbb4c460a95e5c36c4064d4df7", + [ + "client-hints/critical-ch/redirect.critical.cross-origin.multiple.https.window.html", + { + "script_metadata": [ + [ + "script", + "resources/util.js" + ], + [ + "script", + "/common/get-host-info.sub.js" + ] + ] + } + ] + ], + "redirect.critical.same-origin.https.window.js": [ + "1c6511a00771d6c228a1763ef36800d4192e53c1", + [ + "client-hints/critical-ch/redirect.critical.same-origin.https.window.html", + { + "script_metadata": [ + [ + "script", + "resources/util.js" + ] + ] + } + ] + ], + "redirect.critical.same-origin.multiple.https.window.js": [ + "5bf653afbc2761b440d6518600772ca2ce6ccd96", + [ + "client-hints/critical-ch/redirect.critical.same-origin.multiple.https.window.html", + { + "script_metadata": [ + [ + "script", + "resources/util.js" + ] + ] + } + ] + ], + "redirect.cross-origin.https.window.js": [ + "5d781bd0829804e73f1ce139a0d82c2161952d64", + [ + "client-hints/critical-ch/redirect.cross-origin.https.window.html", + { + "script_metadata": [ + [ + "script", + "resources/util.js" + ], + [ + "script", + "/common/get-host-info.sub.js" + ] + ] + } + ] + ], + "redirect.cross-origin.multiple.https.window.js": [ + "5688c8459c830fe7a4cdd40277af070dbf039fa1", + [ + "client-hints/critical-ch/redirect.cross-origin.multiple.https.window.html", + { + "script_metadata": [ + [ + "script", + "resources/util.js" + ], + [ + "script", + "/common/get-host-info.sub.js" + ] + ] + } + ] + ], + "redirect.same-origin.https.window.js": [ + "b2401025d93640895c1a71e12a51ae9e10c152de", + [ + "client-hints/critical-ch/redirect.same-origin.https.window.html", + { + "script_metadata": [ + [ + "script", + "resources/util.js" + ] + ] + } + ] + ], + "redirect.same-origin.multiple.https.window.js": [ + "86305023f43e5f16f044c18626a5b4d529dac4af", + [ + "client-hints/critical-ch/redirect.same-origin.multiple.https.window.html", + { + "script_metadata": [ + [ + "script", + "resources/util.js" + ] + ] + } + ] + ], "request-count.https.window.js": [ "b337340509354c3268d6fea2d935de4400ace70d", [ @@ -481485,10 +483561,17 @@ ] ], "unsafe-method.https.window.js": [ - "37bbcb3315e1b14f8d45b35f3b9cfb2b2be602dc", + "61fca618f3ff9aaf868ccbeb0c5166fef7dd712f", [ "client-hints/critical-ch/unsafe-method.https.window.html", - {} + { + "script_metadata": [ + [ + "script", + "resources/util.js" + ] + ] + } ] ] }, @@ -481889,7 +483972,7 @@ ] ], "async-unsanitized-html-formats-write-read.tentative.https.html": [ - "ffe6a31c2a7a9382796b1917d724eb4b1ac13fd5", + "46e335c804b74e09c917f68616a62cff584b1fae", [ null, { @@ -482984,7 +485067,7 @@ ] ], "decompression-corrupt-input.tentative.any.js": [ - "2de587b6c86312df839cc61de331c0ffa3112aa5", + "edf6dedaee08c35b58a803707ed5bd4771a7432f", [ "compression/decompression-corrupt-input.tentative.any.html", {} @@ -492499,6 +494582,15 @@ ] ] }, + "borders": { + "discrete-no-interpolation.html": [ + "0268b675f362f09b6f1f1b3b6ebb25859fffa816", + [ + null, + {} + ] + ] + }, "floats": { "computed-float-position-absolute.html": [ "ad9220b3a06085c458f7100c896100fb32f562e8", @@ -492514,6 +494606,13 @@ {} ] ], + "float-no-interpolation.html": [ + "eb06dfefc687e1bacac4c66793cb5253a0c8371c", + [ + null, + {} + ] + ], "hit-test-floats-001.html": [ "e554918e7538b0afedb60c80c74647967a114d47", [ @@ -492599,6 +494698,15 @@ ] ] }, + "floats-clear": { + "clear-no-interpolation.html": [ + "05db269ec67e10172b441dedaa79df58974af11d", + [ + null, + {} + ] + ] + }, "linebox": { "animations": { "line-height-interpolation.html": [ @@ -492847,6 +494955,22 @@ ] ] }, + "tables": { + "border-collapse-no-interpolation.html": [ + "800cc68d0c33d0dc5bd2a8bb2101aeb5c49d3136", + [ + null, + {} + ] + ], + "empty-cells-no-interpolation.html": [ + "af8f6d31948578298bbf0e4e2dea6e14bab52692", + [ + null, + {} + ] + ] + }, "visufx": { "animation": { "visibility-interpolation.html": [ @@ -493827,6 +495951,13 @@ } }, "css-anchor-position": { + "anchor-default-003.html": [ + "00c20324344d0d888aace7f5414ba7e5354af786", + [ + null, + {} + ] + ], "anchor-default-basics.html": [ "783cb539cc39bc68040b74fc9ac28c1bf2be38df", [ @@ -493834,6 +495965,13 @@ {} ] ], + "anchor-getComputedStyle.html": [ + "cce571c4d0d395073449981dceb1aaffe071c3ea", + [ + null, + {} + ] + ], "anchor-name-001.html": [ "a7b4b01ff472b1488f2de50ddf7cadbda7ca34b9", [ @@ -495036,14 +497174,14 @@ ] ], "animation-shorthand.html": [ - "b981ad3ad6893c3305183c965be973eb369331c5", + "464e42460b169f52b4558d0b2778c04c82eeaf36", [ null, {} ] ], "animation-shorthand.tentative.html": [ - "ac3613cf825c0e739c3ed5a27db248aeeaa2aabc", + "04d06080e5efd7b9a00bfc6d5e191902c0396cde", [ null, {} @@ -495327,6 +497465,13 @@ null, {} ] + ], + "discrete-no-interpolation.html": [ + "d3d3421d5ebaabab57f0a9725dd799610c19d201", + [ + null, + {} + ] ] }, "background-331.html": [ @@ -495378,15 +497523,6 @@ {} ] ], - "background-repeat": { - "background-repeat-no-interpolation.html": [ - "a1a48d58e8c86f1c0c93d33ca588558f4cb561e8", - [ - null, - {} - ] - ] - }, "background-size-001.html": [ "fee271de14a4664a0aff4f99b4511107b36beb77", [ @@ -496046,6 +498182,73 @@ {} ] ], + "margin-trim": { + "computed-margin-values": { + "flexbox-column-block-start.html": [ + "6c760bb1f0912090952ef7266bf29f682ed999b7", + [ + null, + {} + ] + ], + "flexbox-column-inline-end.html": [ + "9bf43356f228f8ee6d37a4c64ea0bca4aadf2a64", + [ + null, + {} + ] + ], + "flexbox-column-multi-line-block-start.html": [ + "517619db49be1a7f42a7a48eea731dac1aeca008", + [ + null, + {} + ] + ], + "flexbox-column-multi-line-inline-end.html": [ + "4d3d5b5326cfcc301323226f5203bd91f440107e", + [ + null, + {} + ] + ], + "flexbox-column-style-change-triggers-layout-block-start.html": [ + "175b5c3f2fc3736d1a2d4ce3de5d1493d9a7bb93", + [ + null, + {} + ] + ], + "flexbox-row-block-start.html": [ + "9597c9aa10fd7ca3940d16c5d201117240a38832", + [ + null, + {} + ] + ], + "flexbox-row-inline-end.html": [ + "2c20625ed3811c861598d1d752afdf314043612d", + [ + null, + {} + ] + ], + "flexbox-row-multi-line-block-start.html": [ + "c3190e1a93fff9b744f7834b8e2457e330296b0a", + [ + null, + {} + ] + ], + "flexbox-row-multi-line-inline-end.html": [ + "8a59bc417175d6569876ecbb135d25cede0731b0", + [ + null, + {} + ] + ] + } + }, "parsing": { "clear-computed.html": [ "9571cb7e402c4f6fb386ebb80418310d73778e30", @@ -496254,6 +498457,13 @@ }, "css-break": { "animation": { + "break-no-interpolation.html": [ + "8a7bf7a68a3fd8338ffdd94068f74c9305869e9f", + [ + null, + {} + ] + ], "orphans-interpolation.html": [ "704c2737ce83a5c823bf5969d5f0de687c7d31a2", [ @@ -496607,7 +498817,7 @@ ] ], "all-prop-revert-layer.html": [ - "c0a3ba74aced8e80aa499f60c5156acefd47447c", + "ac665a9bedbfdb873f361a1bae2cb46ed4510fd0", [ null, {} @@ -496945,7 +499155,7 @@ ] ], "scope-nesting.html": [ - "f9d890535dbbe42bdcb193b2bac3f7a421d2d5bf", + "34a13a1cb1805f036afb9212dcd29d46ac5fbc97", [ null, {} @@ -497295,6 +499505,13 @@ ] }, "css-color-adjust": { + "color-scheme-no-interpolation.html": [ + "acfa6ddbbebfc15f004bb9f2210f645e802f3eeb", + [ + null, + {} + ] + ], "inheritance.html": [ "f834d7bb54cd7b8adf32ce56a3b0fe1acbd58a0b", [ @@ -498564,6 +500781,13 @@ {} ] ], + "content-no-interpolation.html": [ + "89ca47afca80e03de702f805fa8a4212b347f810", + [ + null, + {} + ] + ], "inheritance.html": [ "a3242556fdcb4d5fea0d4d28fba6067ed02b340c", [ @@ -499548,6 +501772,13 @@ ] }, "animation": { + "discrete-no-interpolation.html": [ + "0a990373c5262f500733ad01894a0c4c470fa4b0", + [ + null, + {} + ] + ], "flex-basis-composition.html": [ "122761e47679945d000623b6ae6fbe6d13cd5fba", [ @@ -500836,7 +503067,7 @@ ] ], "flex-flow-valid.html": [ - "01acd435096db60d214a0b07cb24fccdfded9c93", + "6dc9d0ae2f61fa369f451049a05b87c01091fa95", [ null, {} @@ -501713,7 +503944,7 @@ ] ], "font-size-adjust-computed.html": [ - "a4c8212b980a4461ab05a26a9401c6c4e62a5143", + "cec5a0d13ed29e112b92a85462e2ceae9a177685", [ null, {} @@ -501727,7 +503958,7 @@ ] ], "font-size-adjust-valid.html": [ - "bb46daf4be57b3f6a1bfb9b8c24230ced0f8d8dd", + "cb3c367c6f7b333667159f29b6c946f382012bd7", [ null, {} @@ -505618,7 +507849,7 @@ ] ], "grid-template-columns-computed-nogrid.html": [ - "11b0393a676c7f18ede6485fbb9dab7cf1d98067", + "b1f80a728c4295af3f6a98aa49284ff5ee4700f8", [ null, {} @@ -505769,7 +508000,7 @@ }, "subgrid": { "grid-template-computed-nogrid.html": [ - "ccfe67a5c0f27a0aa00c47120a74e2b3dbff997b", + "1f37ce860acfd3eeec3f00dcd09819e00b15a5b9", [ null, {} @@ -505944,7 +508175,7 @@ ] ], "image-set-parsing.html": [ - "fc4eed0c7ecd91ab9ae4c0884b46d1d1e42ac4dc", + "c33652a5fd21cbc2092df31df05fe23e7527f2bb", [ null, {} @@ -506123,6 +508354,13 @@ } }, "css-inline": { + "alignment-baseline-no-interpolation.html": [ + "57deaf8abe68d05bb1c95a779a9c2b6c2ddb57b5", + [ + null, + {} + ] + ], "baseline-source": { "baseline-source-computed.html": [ "e19f7ffca6d7c4ca504a6754874519d1c15a9835", @@ -506180,6 +508418,13 @@ {} ] ], + "baseline-source-no-interpolation.html": [ + "86fede739fcd6cda3ff8736c349cba5aa8ecd822", + [ + null, + {} + ] + ], "baseline-source-valid.html": [ "6ca38566bbe008c615cd4ade71ca6ed77db7f625", [ @@ -506195,6 +508440,13 @@ ] ] }, + "dominant-baseline-no-interpolation.html": [ + "85bc377ba92254bed414ff9b1618397f96a86a34", + [ + null, + {} + ] + ], "inheritance.html": [ "6723c2a6e2ff38cb0af2ab13baf5ef9a9af0f18a", [ @@ -506662,6 +508914,13 @@ ] ], "animations": { + "caption-side-no-interpolation.html": [ + "2eef093e46c751b4a12d36998c1d3d472fa112d7", + [ + null, + {} + ] + ], "float-interpolation.html": [ "c067f2f03ceb568154bee543f5f9b7a1989b940a", [ @@ -507259,6 +509518,15 @@ ] ] }, + "clip-rule": { + "clip-rule-no-interpolation.html": [ + "066636c5e92e388311554010dad5e15d628039de", + [ + null, + {} + ] + ] + }, "hit-test": { "clip-path-element-objectboundingbox-001.html": [ "22d4bc0b0d3feea9ea9355c90ddd3c714e995b0a", @@ -507454,6 +509722,13 @@ null, {} ] + ], + "discrete-no-interpolation.html": [ + "6572fd503fd7985db9e72c6721a4943fe74d6821", + [ + null, + {} + ] ] }, "filter-with-abspos.html": [ @@ -507794,7 +510069,7 @@ ] ], "column-rule-valid.html": [ - "473d8f075cab288a4232648e7bdbe8f301ba80ac", + "4743988f7d5217fb07ddb37457f31902bb946cab", [ null, {} @@ -511521,6 +513796,13 @@ {} ] ], + "part-mutation-pseudo.html": [ + "d0e0072d51e6521ab6b4daba9dfe0ce674970297", + [ + null, + {} + ] + ], "part-name-idl.html": [ "fc3282a6e944950548eeda66a78d453ec1a552f3", [ @@ -512435,6 +514717,13 @@ {} ] ], + "box-sizing-no-interpolation.html": [ + "d68844561ac913d48afa4194ce867ffb33cd8654", + [ + null, + {} + ] + ], "height-composition.html": [ "094e247dcf22d9bd665b244993b6239265ee73bb", [ @@ -513436,6 +515725,27 @@ {} ] ], + "colspan-001.html": [ + "e6cb440366cf0cecb94d0198315a909327c70a34", + [ + null, + {} + ] + ], + "colspan-002.html": [ + "144cbef4850f52c19163a793ff6b1f8f6b9b77a1", + [ + null, + {} + ] + ], + "colspan-003.html": [ + "58e02b92878269b6fbe79fdc6684fb969d1ec0dc", + [ + null, + {} + ] + ], "column-track-merging.html": [ "6dba9e6f6079863a7b810715b2e2fcdc0952c38d", [ @@ -515997,6 +518307,27 @@ {} ] ], + "white-space-collapse-computed.html": [ + "506e257cbe72c4c9469dc20d0e360c80e4367a5f", + [ + null, + {} + ] + ], + "white-space-collapse-invalid copy.html": [ + "6c18ecec21c5c83aa897c762c7bda8f5cabc37e1", + [ + null, + {} + ] + ], + "white-space-collapse-valid.html": [ + "2191167527bb12336c17e87208b33fa2b34a498a", + [ + null, + {} + ] + ], "white-space-computed.html": [ "a7c2ec12eb98e802cd8724b87bde68d6874ffb63", [ @@ -516011,6 +518342,20 @@ {} ] ], + "white-space-shorthand-text-wrap.html": [ + "0600b8249e5c17e3feee30eebe854043c60ccb49", + [ + null, + {} + ] + ], + "white-space-shorthand.html": [ + "518f81fdbf268d20e78b9f226391ecc9be46b69d", + [ + null, + {} + ] + ], "white-space-valid.html": [ "d872c0b6fbc3324836e7565d1b623e64032db1ab", [ @@ -516329,13 +518674,6 @@ {} ] ], - "text-wrap-white-space-001.html": [ - "0600b8249e5c17e3feee30eebe854043c60ccb49", - [ - null, - {} - ] - ], "trailing-space-before-br-001.html": [ "fcc2bdfa43633783151aaa8c0f65458d13e764f1", [ @@ -516917,6 +519255,13 @@ ] ], "animation": { + "backface-visibility-no-interpolation.html": [ + "b7b9f2d5f0034b30bf1b36eecc6775b756f0dc38", + [ + null, + {} + ] + ], "composited-transform.html": [ "182321b9d30807a3231ce894a58d41bcea2dc04e", [ @@ -518066,6 +520411,13 @@ {} ] ], + "transition-events-with-document-change.html": [ + "90b79f0c1d03796a444e34323f1cdb0d31f1828d", + [ + null, + {} + ] + ], "transition-important.html": [ "cae14369ba54220bd769b550bc9113ce0e7506a4", [ @@ -520622,6 +522974,13 @@ {} ] ], + "appearance-no-interpolation.html": [ + "5ddfcd4f8d655e9a810ded73c9f07e956c908dfe", + [ + null, + {} + ] + ], "caret-color-composition.html": [ "6c69578677896e2463331deba85731e13fd94a25", [ @@ -520636,6 +522995,13 @@ {} ] ], + "cursor-no-interpolation.html": [ + "8d56dcb83cf79796700b0642ec58b2723fe01f0c", + [ + null, + {} + ] + ], "outline-color-interpolation.html": [ "f49aa79a382c8e5a8f4c9d834f5f12aea551818f", [ @@ -520673,13 +523039,13 @@ ] }, "appearance-cssom-001.html": [ - "2da20a0ac923ea5bd975577c67976d63c82afe3b", + "36402da51cf27dcb515ccc805eda2088f85fbd12", [ - null, + "css/css-ui/appearance-cssom-001.html?exclude=Invalid", {} ], [ - "css/css-ui/appearance-cssom-001.html?exclude=Invalid", + "css/css-ui/appearance-cssom-001.html?include=Invalid", {} ] ], @@ -521009,7 +523375,7 @@ ] ], "outline-valid-mandatory.html": [ - "3c79f52712ce961caaae456d37dbfa39f17171ca", + "94d87cb1125a09591afd5b6c3542837b523dfb6e", [ null, {} @@ -521305,7 +523671,7 @@ ] ], "calc-infinity-nan-serialize-length.html": [ - "e08e050c6bdb6bdf9411c8e1fd51db9f71af3c69", + "f0ae43679b2be9a711b3bf05dab7d4e04fa868b6", [ null, {} @@ -521507,7 +523873,7 @@ {} ] ], - "getComputedStyle-calc-bg-height-percent-001.html": [ + "getComputedStyle-calc-mixed-units-001.html": [ "c6fea70aae9b01c141e230a876f269c94900038e", [ null, @@ -522397,7 +524763,7 @@ ] ], "pseudo-computed-style-stays-in-sync-with-new-element.html": [ - "576b7525cc67de0b6687e1d20cddc857bb45eb02", + "0a34a4b73ff0051f48445d7b461ef21fae04881b", [ null, {} @@ -525151,6 +527517,13 @@ {} ] ], + "color-interpolation-filters-no-interpolation.html": [ + "d256ef3e738cc5e6e21518cbe37d7b2d858f0b3a", + [ + null, + {} + ] + ], "filter-interpolation-001.html": [ "62fcbf0a5de51b6483d3d70b9f411831e2e3afb8", [ @@ -525717,6 +528090,13 @@ {} ] ], + "scripting.html": [ + "5606b9fc6802ce98246c6a4eb13f4f90bd60aa05", + [ + null, + {} + ] + ], "test_media_queries.html": [ "20fca4affd24e5a3d1335b9d39420f653c7cd9fb", [ @@ -527508,17 +529888,21 @@ ] ], "user-invalid.html": [ - "1f3ad22a231a5dd8c8b5ed663c454cc9396cee61", + "222f36e33b3ed31c5d6c796eb7c73e5e52fdf6dc", [ null, - {} + { + "testdriver": true + } ] ], "user-valid.html": [ - "36ca7afe14116389ba960c0e30ec3a71d57ed55e", + "12b89282c3ec70486803566237bfafe993e70bc2", [ null, - {} + { + "testdriver": true + } ] ], "webkit-pseudo-element.html": [ @@ -527808,7 +530192,7 @@ ] ], "label-delegatesFocus.html": [ - "67f4f61e495af9fbff03e80be9cec34bcf0add8d", + "74d31363c98b42333d5841a4dc6e5d14aa58c6b9", [ null, { @@ -529350,7 +531734,7 @@ ] ], "Event-dispatch-on-disabled-elements.html": [ - "361006a7240496e9be747faca5056fe2a62a2cff", + "e7d6b455bbcaab8c485c56fe63e309215dac31a8", [ null, { @@ -530180,7 +532564,7 @@ ] ], "overscroll-deltas.html": [ - "6f0b77f22eda2ab497859ce8b0bcafc261b66c5a", + "21586322503d8507d8f20a7fd5f7d51844654325", [ null, { @@ -530272,7 +532656,7 @@ ] ], "scrollend-event-fired-to-document.html": [ - "3090455388343563d3bfe844ba24b7f2dcb1e288", + "797c2eb53da0e31f848fbe5f26f656231d57fb45", [ null, { @@ -530290,7 +532674,7 @@ ] ], "scrollend-event-fired-to-window.html": [ - "ef72f56d2ba9d62237646dc946fcd0be86dde97e", + "faacf7e572cf1aa0e3fedfb0cdd5c10344e14dff", [ null, { @@ -530299,7 +532683,7 @@ ] ], "scrollend-event-for-user-scroll.html": [ - "64be25326724f0692285c8009f50ccacbdec49e3", + "561c90ca94c6af8c0335a962a16273e44c2d3717", [ null, { @@ -530324,6 +532708,15 @@ "testdriver": true } ] + ], + "scrollend-event-not-fired-on-no-scroll.html": [ + "eaa345aee9252602483158e6440ef63fbb515ec9", + [ + null, + { + "testdriver": true + } + ] ] }, "shadow-relatedTarget.html": [ @@ -547478,7 +549871,7 @@ ] ], "unsupported-labels.window.js": [ - "1668a36f2340949ef4234e2d21bf172647fd2348", + "0262bbbc61fd3fbe8d7f00eb9475ee61f01d0040", [ "encoding/unsupported-labels.window.html", {} @@ -552446,7 +554839,7 @@ ] ], "response-null-body.any.js": [ - "7824a200067cf0ab01488274d1dbe8bc7b66bef0", + "bb058926572e82b4b04811579112e57c8f7742ca", [ "fetch/api/basic/response-null-body.any.html", { @@ -556977,7 +559370,7 @@ ] ], "request-headers.any.js": [ - "6de5dc16e96e3ce33e6eb21e2935b58a9a23857d", + "22925e01b6923c3dae8a9624c8b16b1fad83d2f9", [ "fetch/api/request/request-headers.any.html", { @@ -563271,8 +565664,15 @@ }, "fledge": { "tentative": { + "insecure-context.window.js": [ + "9016277b73139d050e3d688c3f21cb40048464e2", + [ + "fledge/tentative/insecure-context.window.html", + {} + ] + ], "join-leave-ad-interest-group.https.sub.window.js": [ - "e967d92618cfce83ad01c421202164bbe49f7a3a", + "9c8433219fdf8fda4ecfe05357472f666e235e1b", [ "fledge/tentative/join-leave-ad-interest-group.https.sub.window.html", { @@ -563294,7 +565694,7 @@ ] ], "no-winner.https.sub.window.js": [ - "a944b860d0c77fad4784e9aee1dac62376de3a6b", + "8fd7df50cde0fb237deca7d3b9f1f3eedaff94e6", [ "fledge/tentative/no-winner.https.sub.window.html", { @@ -563321,7 +565721,7 @@ ] ], "register-ad-beacon.https.sub.window.js": [ - "3df6b408a57068aaee91b7f6bb772a523f94d82b", + "2284ac85b41f09fd884fc612c1941a13199b1c51", [ "fledge/tentative/register-ad-beacon.https.sub.window.html", { @@ -563348,7 +565748,7 @@ ] ], "reporting-arguments.https.sub.window.js": [ - "69b7d2fddda4e2a12f42b9549da8177c5dc0ccf3", + "262e0eb87e67b04fc9d61c0ba9c3d1b9f1dde70c", [ "fledge/tentative/reporting-arguments.https.sub.window.html", { @@ -563375,7 +565775,7 @@ ] ], "send-report-to.https.sub.window.js": [ - "bb0e7873a7024a562794d257441b038e5256f853", + "de22e827a33e195cf6122dc927ff4344de8b23b0", [ "fledge/tentative/send-report-to.https.sub.window.html", { @@ -563400,6 +565800,33 @@ "timeout": "long" } ] + ], + "trusted-bidding-signals.https.sub.window.js": [ + "0f8b2396392ab0f58e3c84d8900248c1b7fe2d8a", + [ + "fledge/tentative/trusted-bidding-signals.https.sub.window.html", + { + "script_metadata": [ + [ + "script", + "/resources/testdriver.js" + ], + [ + "script", + "/common/utils.js" + ], + [ + "script", + "resources/fledge-util.js" + ], + [ + "timeout", + "long" + ] + ], + "timeout": "long" + } + ] ] } }, @@ -572707,6 +575134,13 @@ {} ] ], + "window-indexed-access-vs-named-access.html": [ + "23b9124ef75b17f3f1894578437ae00dba6a7963", + [ + null, + {} + ] + ], "window-indexed-properties-delete-no-cache.html": [ "22262943aadd775424645d79b0dfb2429f837e61", [ @@ -573307,6 +575741,13 @@ ] ], "compositing": { + "2d.composite.canvas.clear.html": [ + "40685597c95df022537560110ceb8b6de477a4c0", + [ + null, + {} + ] + ], "2d.composite.canvas.copy.html": [ "ac022f95e0855f65952e76decca0a7a73cd348a5", [ @@ -573384,6 +575825,13 @@ {} ] ], + "2d.composite.clip.clear.html": [ + "1757870e9960c0453317f645c1fd998bd6ad0e12", + [ + null, + {} + ] + ], "2d.composite.clip.copy.html": [ "ace0618cca4c14ae9fc623ffd1a75f8a17aff77c", [ @@ -573524,6 +575972,13 @@ {} ] ], + "2d.composite.image.clear.html": [ + "b9ab69b838540feda22283d0ca23a0a506246b4b", + [ + null, + {} + ] + ], "2d.composite.image.copy.html": [ "f32e03bbaefabb9ce2f84223d1a3db3e4a5d70b5", [ @@ -573664,6 +576119,13 @@ {} ] ], + "2d.composite.solid.clear.html": [ + "e270df33aba178adb0fc16e5c71a8711e1ec65fb", + [ + null, + {} + ] + ], "2d.composite.solid.copy.html": [ "74d9ad5cc2eb7152601a7729059414bf4ed702c9", [ @@ -573741,6 +576203,13 @@ {} ] ], + "2d.composite.transparent.clear.html": [ + "606d925f10ade0054d0bb204b7726a76f08d2678", + [ + null, + {} + ] + ], "2d.composite.transparent.copy.html": [ "58673a12f8347f64cbabe621a1cd4ecf60211c60", [ @@ -576582,7 +579051,14 @@ ] ], "2d.filter.canvasFilterObject.convolveMatrix.exceptions.tentative.html": [ - "5cfbbf588a0f56b5564a70459f178ecd1b215cd8", + "b85b742b3ebb2c26ed9b17b6683b6b510268ee84", + [ + null, + {} + ] + ], + "2d.filter.canvasFilterObject.dropShadow.exceptions.tentative.html": [ + "d405213d5b62fbe872d5570f6ded63b5f597eecf", [ null, {} @@ -576596,7 +579072,7 @@ ] ], "2d.filter.canvasFilterObject.turbulence.inputTypes.tentative.html": [ - "c5df23f93def000a96df7a1ce8d29c29e008904e", + "1f9d978ac8c29f8e51075cd119240d3921411b6b", [ null, {} @@ -580130,6 +582606,20 @@ ] ], "compositing": { + "2d.composite.canvas.clear.html": [ + "0dad0853d3c3e41d398394d306b06f537200515b", + [ + null, + {} + ] + ], + "2d.composite.canvas.clear.worker.js": [ + "a06cbdc206ac66d914312ba98a4866c59740246a", + [ + "html/canvas/offscreen/compositing/2d.composite.canvas.clear.worker.html", + {} + ] + ], "2d.composite.canvas.copy.html": [ "a89736b579386ae168d5aa7c23867e01d05083d1", [ @@ -580284,6 +582774,20 @@ {} ] ], + "2d.composite.clip.clear.html": [ + "842bcf19c58067e7a92414e082f5042ab4d850a6", + [ + null, + {} + ] + ], + "2d.composite.clip.clear.worker.js": [ + "7365ecc3a7b2c10f8ba67bf1c5ef5e15293cc2e7", + [ + "html/canvas/offscreen/compositing/2d.composite.clip.clear.worker.html", + {} + ] + ], "2d.composite.clip.copy.html": [ "5d6afc11cf68afcb471d0132fec652e8d3acf5f9", [ @@ -580564,6 +583068,20 @@ {} ] ], + "2d.composite.image.clear.html": [ + "5858e8f4b5f0888fcac2f236fd46d5762f9ef43b", + [ + null, + {} + ] + ], + "2d.composite.image.clear.worker.js": [ + "137654742c179ae1280f4a59e69806b7ad1ddea6", + [ + "html/canvas/offscreen/compositing/2d.composite.image.clear.worker.html", + {} + ] + ], "2d.composite.image.copy.html": [ "1aa9c98e9d3a628205043af6ae3c28837c939a42", [ @@ -580844,6 +583362,20 @@ {} ] ], + "2d.composite.solid.clear.html": [ + "a06565d6d8d8e529828c05e1aa3fb181376e5710", + [ + null, + {} + ] + ], + "2d.composite.solid.clear.worker.js": [ + "983a3b03e3f565cb98337a849cba0a5e25bbe24c", + [ + "html/canvas/offscreen/compositing/2d.composite.solid.clear.worker.html", + {} + ] + ], "2d.composite.solid.copy.html": [ "aaad0b418fff84ed656642405bbbb651468c1bdc", [ @@ -580998,6 +583530,20 @@ {} ] ], + "2d.composite.transparent.clear.html": [ + "91ba094fe88b95134a8a798e9ef641c489fcff58", + [ + null, + {} + ] + ], + "2d.composite.transparent.clear.worker.js": [ + "6624bbc17d296f5bbc72fd696ab82509f601a345", + [ + "html/canvas/offscreen/compositing/2d.composite.transparent.clear.worker.html", + {} + ] + ], "2d.composite.transparent.copy.html": [ "20c107bd774a4dc8ad679c4275d0536645a0122d", [ @@ -585700,19 +588246,33 @@ ] ], "2d.filter.canvasFilterObject.convolveMatrix.exceptions.tentative.html": [ - "e5efa9cafc55ca538cfb061bc9b3173bd9f03fd1", + "0a6bddc56d7b339dad16db40531d8832d08c3624", [ null, {} ] ], "2d.filter.canvasFilterObject.convolveMatrix.exceptions.tentative.worker.js": [ - "be361ee7aae7e96ba2c3f3784d53d2630131e251", + "bce4c0be158aafce773333805f2e8b0ce7644873", [ "html/canvas/offscreen/filters/2d.filter.canvasFilterObject.convolveMatrix.exceptions.tentative.worker.html", {} ] ], + "2d.filter.canvasFilterObject.dropShadow.exceptions.tentative.html": [ + "7acc1e492d06798c0dbc90af2fc1d7ddfc28f2fa", + [ + null, + {} + ] + ], + "2d.filter.canvasFilterObject.dropShadow.exceptions.tentative.worker.js": [ + "2746428a8844d02ee9a50520b7a0e60ca13f4797", + [ + "html/canvas/offscreen/filters/2d.filter.canvasFilterObject.dropShadow.exceptions.tentative.worker.html", + {} + ] + ], "2d.filter.canvasFilterObject.tentative.html": [ "75d369cad2f9e0c3a7674537badd49fdfa79c74e", [ @@ -585728,14 +588288,14 @@ ] ], "2d.filter.canvasFilterObject.turbulence.inputTypes.tentative.html": [ - "7882e95a694cccca74e305e6d21d247b5046d1cb", + "610dca9feaf59afd413aec78f291ba14607a53d6", [ null, {} ] ], "2d.filter.canvasFilterObject.turbulence.inputTypes.tentative.worker.js": [ - "bd1cd162fe16b08f55a16441798f889f2f93f7fe", + "76673fab9a7e6a16c4340021961c8180c6253ca4", [ "html/canvas/offscreen/filters/2d.filter.canvasFilterObject.turbulence.inputTypes.tentative.worker.html", {} @@ -596262,7 +598822,7 @@ ] ], "unknown-element.html": [ - "907b14837a64a958d5e074a9cf01209ef134cf96", + "16a53e5e88beceacb2ae43ed577c153f54dd4593", [ null, {} @@ -596592,7 +599152,7 @@ } }, "historical.html": [ - "b79d35f0b8a383d026920d80d7374887f283a31b", + "396e57a39118d7a766db29bc520f78aab0c90dd1", [ null, {} @@ -600568,6 +603128,15 @@ "timeout": "long" } ] + ], + "fieldset-event-propagation.tentative.html": [ + "11822e4dd48db047212833a48a82b60c7e9cae72", + [ + null, + { + "testdriver": true + } + ] ] }, "document-metadata": { @@ -606456,7 +609025,7 @@ ] ], "multipart-formdata.window.js": [ - "d21eec9eeb0d39a13893cd2dd02032d3eb4ad2b3", + "ca69c7dac756b70ea015186ece3642e99b153d9b", [ "html/semantics/forms/form-submission-0/multipart-formdata.window.html", { @@ -606514,7 +609083,7 @@ ] ], "text-plain.window.js": [ - "508f9884bfdec17adc462731bfcc500fbfd1ac14", + "9ff77aed12f33b02fa55b6c3567cb84483555f38", [ "html/semantics/forms/form-submission-0/text-plain.window.html", { @@ -606535,7 +609104,7 @@ ] ], "urlencoded2.window.js": [ - "503391dd6bb687fecb1604363cf166aeedf156b1", + "7818f686196aab5b0449fc62e6459e45399e5e10", [ "html/semantics/forms/form-submission-0/urlencoded2.window.html", { @@ -608197,7 +610766,7 @@ ] ], "selectmenu-parts-structure.tentative.html": [ - "4f49d3f0ea9354b3e68ea3af638b23e38f3b5d51", + "08c283322d54a3173c872cb9386a85f3197514b7", [ null, { @@ -608205,7 +610774,7 @@ } ] ], - "selectmenu-popup-position-with-zoom.tentative.html": [ + "selectmenu-popover-position-with-zoom.tentative.html": [ "85d73d6a407bfdb7f9e9e929491afb24e8ed48c6", [ null, @@ -608214,7 +610783,7 @@ } ] ], - "selectmenu-popup-position.tentative.html": [ + "selectmenu-popover-position.tentative.html": [ "d83015f4efdabeb0ed496f7ff0a63a928497ffba", [ null, @@ -608223,7 +610792,7 @@ } ] ], - "selectmenu-popup.tentative.html": [ + "selectmenu-popover.tentative.html": [ "74aa4f828c3410aad4af2a7b2815fd14a1fc7ad3", [ null, @@ -608232,6 +610801,13 @@ } ] ], + "selectmenu-pseudo-open-closed.tentative.html": [ + "b1400e04265128ab3213a05a22de69ed106b2ac7", + [ + null, + {} + ] + ], "selectmenu-required-attribute.tentative.html": [ "ea6d1b215d721a3ebff22c965dd92c98fe8fb67e", [ @@ -608239,6 +610815,13 @@ {} ] ], + "selectmenu-user-select.tentative.html": [ + "dc6e2e230c04861fb9b931eed4d78bea501fa5e7", + [ + null, + {} + ] + ], "selectmenu-validity.tentative.html": [ "a58fe54ff6a28b33574996db863f7cbd20c31b8f", [ @@ -609221,14 +611804,14 @@ }, "popovers": { "hide-other-popover-side-effects.html": [ - "9fe6673d2ee9c8da59ca603eba5d30ce3729ebb5", + "7cc95a95e907df3fc9eee30f45a4a46f38fc90dd", [ null, {} ] ], "light-dismiss-event-ordering.html": [ - "4bfcecc4b059315c9fd79269f1ce73b3bdb0f2ae", + "be39050ac6bab9f149a30032f20f086378974b38", [ null, { @@ -609258,7 +611841,7 @@ ] ], "popover-anchor-nesting.html": [ - "e3e712b937ab9c4aabbf595eddf45180f4fd9d34", + "c3ea4f21658aec63af60819d4c22ab8af85d6985", [ null, { @@ -609277,7 +611860,7 @@ ] ], "popover-attribute-basic.html": [ - "56d746e9dbe93bb663b44d7cf08ae679e1cacf57", + "335f817e75d8f90580ff86d0c4d99bdda20f673b", [ null, { @@ -609294,21 +611877,21 @@ ] ], "popover-document-open.html": [ - "db43fd02b92f062f925c0beea13e1a5faab2427f", + "80ac86acedab246d5ceff8b54d57feb7e957d642", [ null, {} ] ], "popover-events.html": [ - "95cd5ad2add38ec28eb1418418c6cb831237c555", + "4d58001f7ddeae31d2d00622a819115d7004b829", [ null, {} ] ], "popover-focus-2.html": [ - "74ccc456ab6d83264c1c33cac96c8c7f63b5f03e", + "5a7f5da8f7b52d47c7e09e984cb835465591a67d", [ null, { @@ -609317,14 +611900,14 @@ ] ], "popover-focus-child-dialog.html": [ - "c07d313c9e995f70fb5a06d33728907c5fd197e5", + "051eef14a7ccc762e66c868e4d80b2ea9da24e33", [ null, {} ] ], "popover-focus.html": [ - "aad9ab99dc2042d01683de7e916a2456b648db06", + "915a1bcade3279de506dba251b1afeabe0cee929", [ null, { @@ -609334,7 +611917,7 @@ ] ], "popover-invoking-attribute.html": [ - "9b7a714f6dcdc025c53131ed014a74a7c4b4c945", + "22e7dc14a17f1d598cad66b39c0b7ebff856e374", [ null, { @@ -609344,14 +611927,14 @@ ] ], "popover-light-dismiss-on-scroll.html": [ - "a4bb4b452b0d4adde4cbd37e7045aac1004bcf94", + "382addadef1e046db9c1814c7e5104727525b616", [ null, {} ] ], "popover-light-dismiss.html": [ - "dce9561f55feec4bb7b8b90f1d0d3424414c4e66", + "0cb13979407e4f942a72a4a1db9b64c6feccb94d", [ null, { @@ -609361,7 +611944,7 @@ ] ], "popover-not-keyboard-focusable.html": [ - "cd0b60c3ce65df77e75b67dff9d4af2070f4f395", + "5246073c960180fb92d411fe45f7e60d7c11babc", [ null, { @@ -609370,42 +611953,42 @@ ] ], "popover-removal-2.html": [ - "e84124d8bef326efe968ccdebd2717a0eae20d21", + "b21c0bb557f0b4e36b0948d272a254890508ba14", [ null, {} ] ], "popover-removal.html": [ - "e6ad5d9c004858b407228238bcdb5b2d4f1efd8b", + "d2b664b4642d3461ade3429752036aeb121a2bcc", [ null, {} ] ], "popover-shadow-dom.html": [ - "2be3b12498960e312df55bc4ed5e3bf1519731c0", + "9279a121bea73d9c5ea08638065f1487ca60c61d", [ null, {} ] ], "popover-stacking.html": [ - "a18333577c0787431a7217b1edada1a97ef00b6c", + "7452fae7da309831ac845f4f0d9d3c5a2887f5c5", [ null, {} ] ], "popover-target-element-disabled.html": [ - "59392f428ae3eacaa476dc0376069dce3831c459", + "bf1f297148442f21d1f24dc6de7f9d7d77b4ff9d", [ null, {} ] ], "popover-top-layer-combinations.html": [ - "95f666e0c9d7ed25ab152f3ff4c7029ba8a10f69", + "8db327d7d1f00952f0b84807410c512f82de0ede", [ null, { @@ -609414,7 +611997,7 @@ ] ], "popover-top-layer-interactions.html": [ - "6e707cb45be77d957d2a85b38e6883284307c2fc", + "95da47a5e20df39a4649ed5dad2947285059c1c9", [ null, { @@ -609423,14 +612006,14 @@ ] ], "popover-types-with-hints.tentative.html": [ - "39d24a0ad437e723733a222b769890b6ec84d3bb", + "06282a2aa1f5595e2a2be281dce57f52d26f405d", [ null, {} ] ], "popover-types.html": [ - "9941f3228285690149c59d03d5dcba480d18b70b", + "e6d7d967bbc9c1b01b402e7f8a81d92efe269513", [ null, {} @@ -610845,6 +613428,13 @@ null, {} ] + ], + "non-external-no-import.tentative.html": [ + "50836e0d7beed9f643fba2e2f4db6306cf8a7204", + [ + null, + {} + ] ] }, "fetch-src": { @@ -613452,14 +616042,14 @@ ] ], "disabled.html": [ - "8808675eb69b17c7763b407ea7ce4458e9e08fda", + "f9600439298136e86a6c298e6ae002ab156b4234", [ null, {} ] ], "enabled.html": [ - "0ad0e1b402a2646d41f736271c65d413455a67e2", + "1948343c1866263e2d3edb7b6c35e3ab4155f3f0", [ null, {} @@ -613864,6 +616454,20 @@ }, "syntax": { "charset": { + "inheritance-bogus-meta-utf-8.html": [ + "fb9e82a1f64bfc6469835fe3c62c70ad1521d051", + [ + null, + {} + ] + ], + "inheritance-bogus-meta.html": [ + "616ba51853c6cbd2ef503ebd6eddef9e2a6ed616", + [ + null, + {} + ] + ], "with-inheritance.html": [ "6ed3f9ec7af6b3d3053ab02a7352a25ac39db5fc", [ @@ -624066,7 +626670,7 @@ ] ], "loaf-desired-exec-time.html": [ - "d47ca28c303a72531d5bb0b3438980a9e269c1d7", + "dd350078b6024d41e25e663acbfa6a2b03aea789", [ null, { @@ -624085,7 +626689,7 @@ ] ], "loaf-first-ui-event.html": [ - "b30b645d2fab262e77b922c0d0d075b23d1f844d", + "47a3a51de215e47add78b96047d431b13eb89257", [ null, { @@ -624112,6 +626716,15 @@ } ] ], + "loaf-pause-duration.html": [ + "6894164fbfdf866edab63d8d0421ebc153180999", + [ + null, + { + "timeout": "long" + } + ] + ], "loaf-promise.html": [ "5ead569c8aeed27745cb53445d32b58145c776bc", [ @@ -624122,7 +626735,7 @@ ] ], "loaf-script-block.html": [ - "f896a737ce7cc14af380a772a06146b874a6c74e", + "866eea09e0907622ad62c53c8b5f020566ba559f", [ null, { @@ -624139,6 +626752,15 @@ } ] ], + "loaf-source-location-bound.html": [ + "8e8019104af2052eeb8617ba31ad174b99ddd636", + [ + null, + { + "timeout": "long" + } + ] + ], "loaf-supportedEntryTypes.html": [ "efa01481fa18b935fdace923b039065404a969d1", [ @@ -624165,7 +626787,7 @@ ] ], "loaf-user-callback.html": [ - "bc8fdd05e10f5d03bfdebf266701892e76e9a972", + "3d868af87f3b7bb597b44fe78b1787deda003d3c", [ null, { @@ -627189,7 +629811,7 @@ ] ], "MediaRecorder-stop.html": [ - "73eb2999adb238f49f886d5de0dbe8f5eebae63f", + "2b49a4cb6c4796e8645dd2d49e97702c9761da44", [ null, {} @@ -627537,7 +630159,7 @@ ] ], "MediaStreamTrack-MediaElement-disabled-video-is-black.https.html": [ - "3652362b848f8f12ae8c2e00c013583a5113a2dc", + "5bb168ee5449d0ea9438078d0570831232228dd7", [ null, { @@ -629343,6 +631965,20 @@ {} ] ], + "nested-iframes.window.js": [ + "daa0110471c11d8047eacdc8cec93e37238e624b", + [ + "mixed-content/nested-iframes.window.html", + { + "script_metadata": [ + [ + "script", + "/common/get-host-info.sub.js" + ] + ] + } + ] + ], "tentative": { "autoupgrades": { "audio-upgrade.https.sub.html": [ @@ -629415,6 +632051,78 @@ ] }, "navigation-api": { + "commit-behavior": { + "after-transition-new-navigation-before-commit.html": [ + "2d09d40dc952f5f333f08ecc99cde7ae4adcd521", + [ + null, + {} + ] + ], + "after-transition-push.html": [ + "34bdcf7cac733c78b1eeec4bbb1c3a5cc64dd045", + [ + null, + {} + ] + ], + "after-transition-reload.html": [ + "203150eb0516f2eea57f9e398f5bb50a972f0569", + [ + null, + {} + ] + ], + "after-transition-replace.html": [ + "2fd48736a34368b6f16eca126f59f5f77243dd57", + [ + null, + {} + ] + ], + "after-transition-traversal-commit-new-navigation-before-commit.html": [ + "9e74e10676de5db44655b80851ef8b0e1383986c", + [ + null, + {} + ] + ], + "after-transition-traverse.html": [ + "7dd1226e54c10c7cd502048aca469d0f722737b1", + [ + null, + {} + ] + ], + "after-transition-uncancelable.html": [ + "45bde9f0900b6835f754cfa09129c63dfd1f4e7b", + [ + null, + {} + ] + ], + "after-transition-window-stop-before-commit.html": [ + "0f5e57d5b665e5d83fcaf7fc5b21e03b32fdc108", + [ + null, + {} + ] + ], + "commit-throws.html": [ + "54abdbfd0fb19f68a9b87a183581d7a5462b2134", + [ + null, + {} + ] + ], + "multiple-intercept.html": [ + "848af6a65d8954accaa0c9882224ba07d76f7958", + [ + null, + {} + ] + ] + }, "currententrychange-event": { "anchor-click.html": [ "e0bf91166aa2386b7043ccc12aed636c965952a5", @@ -629818,6 +632526,20 @@ ] ] }, + "defaultPrevented-navigation-preempted.html": [ + "1df4f56c5e4ec5bc48166bd804c9c514b699ae01", + [ + null, + {} + ] + ], + "defaultPrevented-window-stop-after-dispatch.html": [ + "da5de10ddd8ba5753265f7a2b2448915e31cd257", + [ + null, + {} + ] + ], "event-constructor.html": [ "065884240e092c59b3ce2178aa7a8162fdabe0c4", [ @@ -630265,6 +632987,20 @@ {} ] ], + "replaceState-in-unload-then-remove-iframe.html": [ + "e97b72b15717325b49594382931635574c76f65c", + [ + null, + {} + ] + ], + "replaceState-inside-back-handler.html": [ + "29409b5e2bc3e680cf99f54abea90bcdd5bfd1b2", + [ + null, + {} + ] + ], "same-url-replace-cross-document.html": [ "0a976cd51fdcb3205d2a71cc9dc1a9853e417eee", [ @@ -631496,6 +634232,17 @@ {} ] ], + "navigate-commit-after-transition-intercept.html": [ + "70a840e69239bc0a16a59a46f37b926dfad749a4", + [ + null, + {} + ], + [ + "navigation-api/ordering-and-transition/navigate-commit-after-transition-intercept.html?currententrychange", + {} + ] + ], "navigate-cross-document-double.html": [ "262809a0ad7216685cb0915c44bf1b6d591e123f", [ @@ -631809,6 +634556,13 @@ {} ] ], + "manual-scroll-before-after-transition-commit.html": [ + "3b32e72bb1118f4c81ad1da31d927dc1a2abe2a8", + [ + null, + {} + ] + ], "manual-scroll-fragment-does-not-exist.html": [ "1ca582787e2e27ae63fec6170ed658b7f1453b65", [ @@ -654850,15 +657604,29 @@ {} ] ], + "animation-range-ignored.html": [ + "f08659635ea77263aded03ee66a4a4c8c4702862", + [ + null, + {} + ] + ], + "animation-range-normal-matches-cover.html": [ + "44b08cab969dd2423fba21a95008e0b4384c2d67", + [ + null, + {} + ] + ], "animation-shorthand.html": [ - "87e66d0f532bf85de5e19e90235e8fc71e7cb11a", + "7bd17b9919070006824fee9e77ec5b20e464315b", [ null, {} ] ], "animation-timeline-computed.html": [ - "aaff44ecc913e3b1892c9bc0d3d06c94b5fed28e", + "289ccf3c472b717fd6b9dbf702d3622e1e9f2816", [ null, {} @@ -654900,14 +657668,14 @@ ] ], "animation-timeline-parsing.html": [ - "a1e9963f1fac38f0614a1dacbb4a0bda2da0560a", + "5513efb60ffaf187e8e110c3ae9db4bbaa11f8f7", [ null, {} ] ], "animation-timeline-scroll-functional-notation.tentative.html": [ - "e28e85245e1f65f3f2a92e57cf85770c57f38542", + "09917b4ba56c80179f42b68648edd38f6cd2ec03", [ null, {} @@ -654927,6 +657695,13 @@ {} ] ], + "merge-timeline-offset-keyframes.html": [ + "3a766de0c8565e53f4e45af9080e1fbbbe03d33e", + [ + null, + {} + ] + ], "named-range-keyframes-with-document-timeline.tentative.html": [ "a0094d32207da66056879d2de9ecbc5e58dedbed", [ @@ -655082,21 +657857,21 @@ ] ], "timeline-offset-in-keyframe-change-timeline.tentative.html": [ - "6456e8aa779da7cec5c149a710ceb6e4a619740d", + "5ac54081845605b14ce0558d054a354e0c83fd3e", [ null, {} ] ], "timeline-offset-keyframes-hidden-subject.html": [ - "d3b124ba18e39d4f985895792232ebdea52e20c3", + "047acfed33f36adb3afca0655c99e75a707f3976", [ null, {} ] ], "timeline-offset-keyframes-with-document-timeline.html": [ - "95a0ea4eae0cbf1bbe6545047e7d544781fde289", + "03ee381fd9276fef5b43d8c519bb1c6af01a690e", [ null, {} @@ -655110,7 +657885,7 @@ ] ], "view-timeline-animation-range-update.tentative.html": [ - "41386bd7c55baff1062e3d0caa7f663cf80c0637", + "6c2a792aeec0c0baf4998423a9e4750a1de2af4e", [ null, {} @@ -655152,7 +657927,7 @@ ] ], "view-timeline-inset-computed.html": [ - "77683a46782a81a53f5af931348516fff75b9922", + "d9e1c9d790dbb55487e644ec77f26d3f0b1c3030", [ null, {} @@ -655452,6 +658227,20 @@ {} ] ], + "change-animation-range-updates-play-state.html": [ + "ecc80aea72a847a624a291c3db64d35b0c4777ff", + [ + null, + {} + ] + ], + "get-keyframes-with-timeline-offset.html": [ + "02f910d04e3316feaaa3512101d12bc9dcfa40f5", + [ + null, + {} + ] + ], "inline-view-timeline-current-time.tentative.html": [ "5b37798fe89035a5eb459ae479fc94ac42a05689", [ @@ -655474,7 +658263,7 @@ ] ], "view-timeline-get-set-range.html": [ - "e80ef57afe025c3ff60cc7761c2cf91fe8518346", + "6de2d84df73bc7f4e729e342670c803e85e0c27a", [ null, {} @@ -655535,6 +658324,13 @@ null, {} ] + ], + "zero-intrinsic-iteration-duration.tentative.html": [ + "e77cf4629cb0f4a9af5436c7b0e44de9bee5389f", + [ + null, + {} + ] ] } }, @@ -655657,14 +658453,14 @@ }, "secure-contexts": { "basic-dedicated-worker.html": [ - "ecd6138ac25d575a76a8625323513b9ec42646d6", + "043b5b8dd64a418286da5d46610a0aa459d9a223", [ null, {} ] ], "basic-dedicated-worker.https.html": [ - "e794755cdf91d8369c8f4b54387d9cab4565615c", + "17c9345146faf3a2ad57f91e494f8905b6491c94", [ null, {} @@ -655685,14 +658481,14 @@ ] ], "basic-shared-worker.html": [ - "76c28a36e4f47f7b01441e74fd4837a2cfd9040d", + "7f421b0523ba78e8966d269554fed59f7bc0a675", [ null, {} ] ], "basic-shared-worker.https.html": [ - "e7c78383a8266bd160dcfc9747b69ebe56530295", + "7c43cd965f66de62f082b2d2dd8cd552a125ac6e", [ null, {} @@ -659458,7 +662254,7 @@ ] ], "fetch-event-respond-with-readable-stream.https.html": [ - "439e5476834bbdf9e496eb3c0842a847298f20c1", + "4651258e6ab2cec042d673ba7cca4b5454653e48", [ null, {} @@ -661313,6 +664109,24 @@ } ] ], + "focus-navigation-scroller-delegatesFocus.html": [ + "5fc4f84a7b974f2b9f825b801a795d80cb9fa491", + [ + null, + { + "testdriver": true + } + ] + ], + "focus-navigation-scroller-tabindex.html": [ + "0b5b66eb48d315f1a9365bd2a4e38f90adfda01a", + [ + null, + { + "testdriver": true + } + ] + ], "focus-navigation-slot-fallback-default-tabindex.html": [ "e8e0293e77bd28aba469bccffcb8d6c4245a7691", [ @@ -661606,6 +664420,13 @@ {} ] ], + "selection-collapse-and-extend.tentative.html": [ + "36cc036b3849f867fdcf7e9b9e1c2e3e25ddc53c", + [ + null, + {} + ] + ], "selection-direction.tentative.html": [ "3a2512dcc71711a2652f178de51d8ba379779a76", [ @@ -662898,6 +665719,15 @@ } ] ], + "navigation-api-after-transition-commit.tentative.html": [ + "5c7d8f4f7a4fa4669ab42a18562bd1dceecc4c56", + [ + null, + { + "testdriver": true + } + ] + ], "navigation-api-back.tentative.html": [ "cb96d9caf95ba7987adb065a150b2182ec784b9a", [ @@ -662953,7 +665783,7 @@ ] ], "navigation-api-view-transition.tentative.html": [ - "38298bbe3dce69472270e83a11d516613532e180", + "2755f9f9ac75b980018f0ef78055c3f7874621b8", [ null, { @@ -662962,7 +665792,7 @@ ] ], "navigation-api.tentative.html": [ - "c4f2786ccf35135b3f20b82e017a9114b6a07b01", + "ca11f684f49908855323e8a337092f9dc971823b", [ null, { @@ -663087,6 +665917,21 @@ } ] ], + "different-initiators.sub.https.html": [ + "74e79323d9413da5196d7b1b57b340b205bc2099", + [ + "speculation-rules/prefetch/different-initiators.sub.https.html?cross-site-1", + {} + ], + [ + "speculation-rules/prefetch/different-initiators.sub.https.html?cross-site-2", + {} + ], + [ + "speculation-rules/prefetch/different-initiators.sub.https.html?same-site", + {} + ] + ], "document-rules.https.html": [ "b0b07a878494da33145347e5995d76425fc775c7", [ @@ -663643,6 +666488,15 @@ } ] ], + "csp-script-src-strict-dynamic.html": [ + "5e08877a495578c04f86c6953787e5f64832378f", + [ + null, + { + "timeout": "long" + } + ] + ], "csp-script-src-unsafe-inline.html": [ "f6925f59f455df85434de4e582fab4c1c59552fa", [ @@ -664898,21 +667752,21 @@ ] ], "partitioned-estimate-usage-details-caches.tentative.https.sub.html": [ - "2eac826eb10d2ec99b5b5e927b0e28d5ea2c825d", + "dc2af7c213c549534f23929bbea210527d1a1f99", [ null, {} ] ], "partitioned-estimate-usage-details-indexeddb.tentative.https.sub.html": [ - "a58d5426543be328521bcb8a5fd3e7524857d2d5", + "98a1ed8da2512d138b76cd39e39fa28fc7ce32b4", [ null, {} ] ], "partitioned-estimate-usage-details-service-workers.tentative.https.sub.html": [ - "9f283e300a633e5569c76c64d4838916989eb8ec", + "c52ca34e68e520b21d77b8ad8860d216e739e7d9", [ null, {} @@ -665078,7 +667932,7 @@ ] ], "hasStorageAccess-insecure.sub.window.js": [ - "2f9f9f4f3890b133bf6a5722035fd58ff5a279e9", + "866bd97f273c0513acf1a3e128b2cccfb8a1589a", [ "storage-access-api/hasStorageAccess-insecure.sub.window.html", { @@ -665092,7 +667946,7 @@ ] ], "hasStorageAccess.sub.https.window.js": [ - "f10258e4a140af495b3715cd26ba63abe03779f4", + "d7ed42baa0da9e1fd7464df77153245b06a3895d", [ "storage-access-api/hasStorageAccess.sub.https.window.html", { @@ -665224,7 +668078,7 @@ ] ], "requestStorageAccess-insecure.sub.window.js": [ - "34d275b5ae88b3017c775a62a03aae16bdc0d18b", + "1b00aee00a56be91117eb6732594d06289cf2401", [ "storage-access-api/requestStorageAccess-insecure.sub.window.html", { @@ -665312,7 +668166,7 @@ ] ], "requestStorageAccess-non-fully-active.sub.https.window.js": [ - "b3aa19c25c0f097f9eacc9922634867c52a7b04e", + "18f451975ad313f64c068d464953d9a14afb8bf2", [ "storage-access-api/requestStorageAccess-non-fully-active.sub.https.window.html", { @@ -665356,7 +668210,7 @@ ] ], "requestStorageAccess.sub.https.window.js": [ - "306bf462328acb2da80dd7118f0284aeca6c3e78", + "e1a8b934503c9f60b0aa6c41c4c3714049842204", [ "storage-access-api/requestStorageAccess.sub.https.window.html", { @@ -665365,6 +668219,10 @@ "script", "helpers.js" ], + [ + "script", + "/cookies/resources/cookie-helper.sub.js" + ], [ "script", "/resources/testdriver.js" @@ -668280,6 +671138,13 @@ } ] ], + "invalid-realm.tentative.window.js": [ + "57cdfd94862dfe7832164e13eec7bcc4f302c3de", + [ + "streams/transform-streams/invalid-realm.tentative.window.html", + {} + ] + ], "lipfuzz.any.js": [ "f9f148aaf1c6a462afb7c93ebef775203315500a", [ @@ -671506,6 +674371,20 @@ } }, "painting": { + "color-interpolation-animation.html": [ + "14a3fd65fe5e4a2a0aeb1a8b389a0e1a3930d1cc", + [ + null, + {} + ] + ], + "fill-rule-no-interpolation.html": [ + "85f563e1502c84c56eb20e4633da604ff5190f03", + [ + null, + {} + ] + ], "inheritance.svg": [ "e79ac3b310e2f372d074a4b793c2d2485c82f9bd", [ @@ -672872,7 +675751,7 @@ "top-level-storage-access-api": { "tentative": { "requestStorageAccessFor-insecure.sub.window.js": [ - "cd8e78f8f4bdcc5fbe023df372fa24c091d9e039", + "0852483ce54e04ee0927e618d751a6eb231f14cb", [ "top-level-storage-access-api/tentative/requestStorageAccessFor-insecure.sub.window.html", { @@ -672894,7 +675773,7 @@ ] ], "requestStorageAccessFor.sub.https.window.js": [ - "1d8f22bb982fd6f9022bd0b9d686a1f1cfbf917c", + "c573567084d9ae434b4c6eb3c8ad2dcb474b0042", [ "top-level-storage-access-api/tentative/requestStorageAccessFor.sub.https.window.html", { @@ -673071,7 +675950,7 @@ ] ], "Document-execCommand.tentative.html": [ - "0fd7e644b9ee019d5efcb86dc50ea14de02aa3cf", + "7619133655f41f7c5cdcdcea115edaf1e338b977", [ null, {} @@ -673274,7 +676153,7 @@ ] ], "TrustedTypePolicyFactory-getPropertyType.tentative.html": [ - "9c65ef9821b8afd42954d0368a1a338240c20df5", + "21aba668ccdc3f10948c199259a848655ac0ae08", [ null, {} @@ -673318,7 +676197,7 @@ ] ], "block-Document-execCommand.tentative.html": [ - "e25b7dd28a2f646293d1abe879d525259db7d187", + "87759cdc19716c4c269d13a1bb6e6a4d995b4b7d", [ null, {} @@ -673402,7 +676281,7 @@ ] ], "block-text-node-insertion-into-script-element.tentative.html": [ - "819753652a975247415d85cb77b65ba9a358bfa5", + "08e3e695530302c8875d127bc4d36e2085a1a1d4", [ null, {} @@ -673609,7 +676488,7 @@ ] ], "trusted-types-from-literal.tentative.html": [ - "b59c46fe0fed6605d0ef6baf25833dc3e995b841", + "a7d5659e16a1471ac5cb900dce7b3a102a14af89", [ null, {} @@ -676070,7 +678949,7 @@ ] ], "failure.html": [ - "67873ea2115738285a74861149d9939352f7429f", + "8a408412668fd37408d5787799214aafb2ae0d3c", [ null, { @@ -676158,7 +679037,7 @@ ] ], "url-constructor.any.js": [ - "297b8ffd9eaf378ffebc2d604b73be7d645bb1ae", + "bea06d025b718820286d26ea1804fe98c559d2d9", [ "url/url-constructor.any.html?exclude=(file|javascript|mailto)", { @@ -676417,7 +679296,7 @@ ] ], "url-origin.any.js": [ - "9c1f97ed2e59493d807c5d3694ae48c6b6975f5a", + "599984c6c17dfe160269058c6780b900c23057ee", [ "url/url-origin.any.html", {} @@ -678014,7 +680893,34 @@ ], "role": { "basic.html": [ - "d371aa72dcba645ad9edb3de6a87ccdafbab68b2", + "5cb838647015de9ea295e60184b2300bbb718bfe", + [ + null, + { + "testdriver": true + } + ] + ], + "list-roles.html": [ + "5d9787f04bfdcbdb236e38583b01401269419b9a", + [ + null, + { + "testdriver": true + } + ] + ], + "region-roles.html": [ + "d087f8f69bd0a071f531082e815fc6db4f2c7c60", + [ + null, + { + "testdriver": true + } + ] + ], + "roles.html": [ + "71946cbffa50de3c09eaa6a449657476a9aae597", [ null, { @@ -689073,7 +691979,7 @@ ] ], "videoDecoder-codec-specific.https.any.js": [ - "e78ac15cfac2dba35a3455c4a9abd6668ce15a8f", + "4e0843646b7daed9829a21aa1243bbd2b697963f", [ "webcodecs/videoDecoder-codec-specific.https.any.html?av1", { @@ -692257,6 +695163,57 @@ } ] ], + "pad.https.any.js": [ + "f9d13d495f95bc4e4970e94946a94fec50719c22", + [ + "webnn/pad.https.any.html", + { + "script_metadata": [ + [ + "title", + "test WebNN API pad operation" + ], + [ + "global", + "window,dedicatedworker" + ], + [ + "script", + "./resources/utils.js" + ], + [ + "timeout", + "long" + ] + ], + "timeout": "long" + } + ], + [ + "webnn/pad.https.any.worker.html", + { + "script_metadata": [ + [ + "title", + "test WebNN API pad operation" + ], + [ + "global", + "window,dedicatedworker" + ], + [ + "script", + "./resources/utils.js" + ], + [ + "timeout", + "long" + ] + ], + "timeout": "long" + } + ] + ], "pooling.https.any.js": [ "df19e5770948402356177c8a0b11b88814912c0e", [ @@ -692308,6 +695265,57 @@ } ] ], + "prelu.https.any.js": [ + "c1b2e9fa2a0afffb60eec2c1445a230bca8030f9", + [ + "webnn/prelu.https.any.html", + { + "script_metadata": [ + [ + "title", + "test WebNN API prelu operation" + ], + [ + "global", + "window,dedicatedworker" + ], + [ + "script", + "./resources/utils.js" + ], + [ + "timeout", + "long" + ] + ], + "timeout": "long" + } + ], + [ + "webnn/prelu.https.any.worker.html", + { + "script_metadata": [ + [ + "title", + "test WebNN API prelu operation" + ], + [ + "global", + "window,dedicatedworker" + ], + [ + "script", + "./resources/utils.js" + ], + [ + "timeout", + "long" + ] + ], + "timeout": "long" + } + ] + ], "reduction.https.any.js": [ "bff8aa22baa1091018d4ef5abc9df470f7f3c684", [ @@ -693645,7 +696653,7 @@ ] ], "RTCRtpTransceiver.https.html": [ - "9a8fbedc231c3273aa83662148dbc7226612c3c4", + "943550d4b7feeb0bc69dd02de3fec722aef4565c", [ null, { @@ -694230,7 +697238,7 @@ ] ], "RTCPeerConnection-insertable-streams-worker.https.html": [ - "e022bff4de31ad01800feb7a0ea595f77879aaae", + "cb31057cac9f52b70122838a41456eb1484bfa5a", [ null, { @@ -707258,6 +710266,13 @@ } ] ], + "echo-large-bidirectional-streams.https.html": [ + "daa7c1b9b367890c9e29f0419648329f42a15eb9", + [ + null, + {} + ] + ], "idlharness.https.any.js": [ "248bc41abe5565408056ba4bddaac29ebb6f5a9b", [ @@ -707344,6 +710359,85 @@ {} ] ], + "server-certificate-hashes.https.any.js": [ + "01efab1191b70398884e4cc5ac6ef0fc45e597b4", + [ + "webtransport/server-certificate-hashes.https.any.html", + { + "script_metadata": [ + [ + "global", + "window,worker" + ], + [ + "script", + "/common/get-host-info.sub.js" + ], + [ + "script", + "resources/webtransport-test-helpers.sub.js" + ] + ] + } + ], + [ + "webtransport/server-certificate-hashes.https.any.serviceworker.html", + { + "script_metadata": [ + [ + "global", + "window,worker" + ], + [ + "script", + "/common/get-host-info.sub.js" + ], + [ + "script", + "resources/webtransport-test-helpers.sub.js" + ] + ] + } + ], + [ + "webtransport/server-certificate-hashes.https.any.sharedworker.html", + { + "script_metadata": [ + [ + "global", + "window,worker" + ], + [ + "script", + "/common/get-host-info.sub.js" + ], + [ + "script", + "resources/webtransport-test-helpers.sub.js" + ] + ] + } + ], + [ + "webtransport/server-certificate-hashes.https.any.worker.html", + { + "script_metadata": [ + [ + "global", + "window,worker" + ], + [ + "script", + "/common/get-host-info.sub.js" + ], + [ + "script", + "resources/webtransport-test-helpers.sub.js" + ] + ] + } + ] + ], "streams-close.https.any.js": [ "4871ee8e7be0fbba33838b717554dc7eeb23337b", [ @@ -711920,6 +715014,13 @@ {} ] ], + "008.worker.js": [ + "e539d85d763d6ba90c63131ddc90020975bb6cb7", + [ + "workers/interfaces/WorkerUtils/navigator/008.worker.html", + {} + ] + ], "language.html": [ "535ab3a7cb98e6afa27db8b43e669b161315b6aa", [ @@ -738539,7 +741640,7 @@ }, "dom_content_loaded": { "dom_content_loaded.py": [ - "fe28005ae08e007e1aff523dacdc69a735229502", + "486414aa3cd97bfd8d979445070c204dda44c2d9", [ null, {} @@ -738578,7 +741679,7 @@ }, "load": { "load.py": [ - "d9a2da0990279688b2ad8edb0150ff8cc16f5f3f", + "878d26eaad82d5bb1a9be437e072031b001ad06a", [ null, {} @@ -738777,8 +741878,8 @@ }, "network": { "before_request_sent": { - "before_request_sent_tentative.py": [ - "0afa439c822ee64b4dbe742fec625a26c40091ce", + "before_request_sent.py": [ + "39e5b5a3cfdaaba9a39cae5e6fdb73ae3d09a673", [ null, {} @@ -738786,8 +741887,8 @@ ] }, "combined": { - "network_events_tentative.py": [ - "2defc6c2056e68e05aead532ca2449bfd056489a", + "network_events.py": [ + "7f8f134af0d6688f4ee2055a75005ddbeca7faa7", [ null, {} @@ -738795,15 +741896,15 @@ ] }, "response_completed": { - "response_completed_cached_tentative.py": [ - "7621b4481006d9e46283029c1e5ec444beef86e8", + "response_completed.py": [ + "1df23cda5946b6321640fad7763b3e3eecbec946", [ null, {} ] ], - "response_completed_tentative.py": [ - "b129859e7ed73db63f1af4064c1113c91d94f469", + "response_completed_cached.py": [ + "eb344885087b2ab28794589be5e150bdc351d691", [ null, {} @@ -738811,15 +741912,15 @@ ] }, "response_started": { - "response_started_cached_tentative.py": [ - "5022511f792894c6d1be2b72460836747c7181d5", + "response_started.py": [ + "e3fd7a4d35cdada7cd829e76d71cb0e28d0168a3", [ null, {} ] ], - "response_started_tentative.py": [ - "b1a0741f202a95eb3544a22e4e08548fdaef2e7d", + "response_started_cached.py": [ + "15373b7107bcbe24d429133999adf6b6d42e6d77", [ null, {} @@ -738829,21 +741930,21 @@ }, "script": { "add_preload_script": { - "add_preload_script_tentative.py": [ + "add_preload_script.py": [ "98c01554ee0ba99774bff205c962568b8d226878", [ null, {} ] ], - "invalid_tentative.py": [ + "invalid.py": [ "6a87d5c2fa7a5c1423be24d43255cd5fd10dbee1", [ null, {} ] ], - "sandbox_tentative.py": [ + "sandbox.py": [ "364eb5ce1a35e8a7ba908a54bb11e7dc9a742edd", [ null, @@ -738916,7 +742017,7 @@ ] ], "result_node.py": [ - "e1575374fd594c24e395a4e5c2f2fdfb6c53b563", + "8424de8b8d801f396e9ee0f9e433a31d7d1f0738", [ null, {} @@ -738953,7 +742054,7 @@ }, "classic_interop": { "node_shared_id.py": [ - "410d029207c6674c2263a58f875c10d3c7784fdd", + "82b39b42e1c64dad4e4c8a772b5e893f75713ef9", [ null, {} @@ -739041,7 +742142,7 @@ ] ], "result_node.py": [ - "63915a8f4a4781330583b29fbd62f020a9801c2e", + "dbf59f9edcfe7f58ded51500a5a7b472a0eda68e", [ null, {} @@ -739107,21 +742208,21 @@ ] }, "remove_preload_script": { - "invalid_tentative.py": [ + "invalid.py": [ "f32c5f57cac33c3b367e4b61a7d85def0c08321a", [ null, {} ] ], - "remove_preload_script_tentative.py": [ + "remove_preload_script.py": [ "b92fb31af0418755ada7b9bd516150744dfacdb4", [ null, {} ] ], - "sandbox_tentative.py": [ + "sandbox.py": [ "32befe7f057a0faadd402ee026fd219d3f495615", [ null, diff --git a/tests/wpt/metadata/css/CSS2/borders/discrete-no-interpolation.html.ini b/tests/wpt/metadata/css/CSS2/borders/discrete-no-interpolation.html.ini new file mode 100644 index 00000000000..8d3bfdad1d6 --- /dev/null +++ b/tests/wpt/metadata/css/CSS2/borders/discrete-no-interpolation.html.ini @@ -0,0 +1,120 @@ +[discrete-no-interpolation.html] + [CSS Transitions with transition: all: property <border-left-style> from [initial\] to [dotted\] at (-0.3) should be [dotted\]] + expected: FAIL + + [CSS Transitions with transition: all: property <border-left-style> from [initial\] to [dotted\] at (0) should be [dotted\]] + expected: FAIL + + [CSS Transitions with transition: all: property <border-left-style> from [initial\] to [dotted\] at (0.3) should be [dotted\]] + expected: FAIL + + [Web Animations: property <border-left-style> from [initial\] to [dotted\] at (-0.3) should be [initial\]] + expected: FAIL + + [Web Animations: property <border-left-style> from [initial\] to [dotted\] at (0) should be [initial\]] + expected: FAIL + + [Web Animations: property <border-left-style> from [initial\] to [dotted\] at (0.3) should be [initial\]] + expected: FAIL + + [Web Animations: property <border-left-style> from [initial\] to [dotted\] at (0.5) should be [dotted\]] + expected: FAIL + + [Web Animations: property <border-left-style> from [initial\] to [dotted\] at (0.6) should be [dotted\]] + expected: FAIL + + [Web Animations: property <border-left-style> from [initial\] to [dotted\] at (1) should be [dotted\]] + expected: FAIL + + [Web Animations: property <border-left-style> from [initial\] to [dotted\] at (1.5) should be [dotted\]] + expected: FAIL + + [CSS Transitions with transition: all: property <border-right-style> from [initial\] to [dotted\] at (-0.3) should be [dotted\]] + expected: FAIL + + [CSS Transitions with transition: all: property <border-right-style> from [initial\] to [dotted\] at (0) should be [dotted\]] + expected: FAIL + + [CSS Transitions with transition: all: property <border-right-style> from [initial\] to [dotted\] at (0.3) should be [dotted\]] + expected: FAIL + + [Web Animations: property <border-right-style> from [initial\] to [dotted\] at (-0.3) should be [initial\]] + expected: FAIL + + [Web Animations: property <border-right-style> from [initial\] to [dotted\] at (0) should be [initial\]] + expected: FAIL + + [Web Animations: property <border-right-style> from [initial\] to [dotted\] at (0.3) should be [initial\]] + expected: FAIL + + [Web Animations: property <border-right-style> from [initial\] to [dotted\] at (0.5) should be [dotted\]] + expected: FAIL + + [Web Animations: property <border-right-style> from [initial\] to [dotted\] at (0.6) should be [dotted\]] + expected: FAIL + + [Web Animations: property <border-right-style> from [initial\] to [dotted\] at (1) should be [dotted\]] + expected: FAIL + + [Web Animations: property <border-right-style> from [initial\] to [dotted\] at (1.5) should be [dotted\]] + expected: FAIL + + [CSS Transitions with transition: all: property <border-top-style> from [initial\] to [dotted\] at (-0.3) should be [dotted\]] + expected: FAIL + + [CSS Transitions with transition: all: property <border-top-style> from [initial\] to [dotted\] at (0) should be [dotted\]] + expected: FAIL + + [CSS Transitions with transition: all: property <border-top-style> from [initial\] to [dotted\] at (0.3) should be [dotted\]] + expected: FAIL + + [Web Animations: property <border-top-style> from [initial\] to [dotted\] at (-0.3) should be [initial\]] + expected: FAIL + + [Web Animations: property <border-top-style> from [initial\] to [dotted\] at (0) should be [initial\]] + expected: FAIL + + [Web Animations: property <border-top-style> from [initial\] to [dotted\] at (0.3) should be [initial\]] + expected: FAIL + + [Web Animations: property <border-top-style> from [initial\] to [dotted\] at (0.5) should be [dotted\]] + expected: FAIL + + [Web Animations: property <border-top-style> from [initial\] to [dotted\] at (0.6) should be [dotted\]] + expected: FAIL + + [Web Animations: property <border-top-style> from [initial\] to [dotted\] at (1) should be [dotted\]] + expected: FAIL + + [Web Animations: property <border-top-style> from [initial\] to [dotted\] at (1.5) should be [dotted\]] + expected: FAIL + + [CSS Transitions with transition: all: property <border-bottom-style> from [initial\] to [dotted\] at (-0.3) should be [dotted\]] + expected: FAIL + + [CSS Transitions with transition: all: property <border-bottom-style> from [initial\] to [dotted\] at (0) should be [dotted\]] + expected: FAIL + + [CSS Transitions with transition: all: property <border-bottom-style> from [initial\] to [dotted\] at (0.3) should be [dotted\]] + expected: FAIL + + [Web Animations: property <border-bottom-style> from [initial\] to [dotted\] at (-0.3) should be [initial\]] + expected: FAIL + + [Web Animations: property <border-bottom-style> from [initial\] to [dotted\] at (0) should be [initial\]] + expected: FAIL + + [Web Animations: property <border-bottom-style> from [initial\] to [dotted\] at (0.3) should be [initial\]] + expected: FAIL + + [Web Animations: property <border-bottom-style> from [initial\] to [dotted\] at (0.5) should be [dotted\]] + expected: FAIL + + [Web Animations: property <border-bottom-style> from [initial\] to [dotted\] at (0.6) should be [dotted\]] + expected: FAIL + + [Web Animations: property <border-bottom-style> from [initial\] to [dotted\] at (1) should be [dotted\]] + expected: FAIL + + [Web Animations: property <border-bottom-style> from [initial\] to [dotted\] at (1.5) should be [dotted\]] + expected: FAIL diff --git a/tests/wpt/metadata/css/CSS2/floats-clear/clear-no-interpolation.html.ini b/tests/wpt/metadata/css/CSS2/floats-clear/clear-no-interpolation.html.ini new file mode 100644 index 00000000000..d1834521a82 --- /dev/null +++ b/tests/wpt/metadata/css/CSS2/floats-clear/clear-no-interpolation.html.ini @@ -0,0 +1,30 @@ +[clear-no-interpolation.html] + [CSS Transitions with transition: all: property <clear> from [initial\] to [both\] at (-0.3) should be [both\]] + expected: FAIL + + [CSS Transitions with transition: all: property <clear> from [initial\] to [both\] at (0) should be [both\]] + expected: FAIL + + [CSS Transitions with transition: all: property <clear> from [initial\] to [both\] at (0.3) should be [both\]] + expected: FAIL + + [Web Animations: property <clear> from [initial\] to [both\] at (-0.3) should be [initial\]] + expected: FAIL + + [Web Animations: property <clear> from [initial\] to [both\] at (0) should be [initial\]] + expected: FAIL + + [Web Animations: property <clear> from [initial\] to [both\] at (0.3) should be [initial\]] + expected: FAIL + + [Web Animations: property <clear> from [initial\] to [both\] at (0.5) should be [both\]] + expected: FAIL + + [Web Animations: property <clear> from [initial\] to [both\] at (0.6) should be [both\]] + expected: FAIL + + [Web Animations: property <clear> from [initial\] to [both\] at (1) should be [both\]] + expected: FAIL + + [Web Animations: property <clear> from [initial\] to [both\] at (1.5) should be [both\]] + expected: FAIL diff --git a/tests/wpt/metadata/css/CSS2/floats/float-no-interpolation.html.ini b/tests/wpt/metadata/css/CSS2/floats/float-no-interpolation.html.ini new file mode 100644 index 00000000000..fd88cbf3ff4 --- /dev/null +++ b/tests/wpt/metadata/css/CSS2/floats/float-no-interpolation.html.ini @@ -0,0 +1,30 @@ +[float-no-interpolation.html] + [CSS Transitions with transition: all: property <float> from [initial\] to [right\] at (-0.3) should be [right\]] + expected: FAIL + + [CSS Transitions with transition: all: property <float> from [initial\] to [right\] at (0) should be [right\]] + expected: FAIL + + [CSS Transitions with transition: all: property <float> from [initial\] to [right\] at (0.3) should be [right\]] + expected: FAIL + + [Web Animations: property <float> from [initial\] to [right\] at (-0.3) should be [initial\]] + expected: FAIL + + [Web Animations: property <float> from [initial\] to [right\] at (0) should be [initial\]] + expected: FAIL + + [Web Animations: property <float> from [initial\] to [right\] at (0.3) should be [initial\]] + expected: FAIL + + [Web Animations: property <float> from [initial\] to [right\] at (0.5) should be [right\]] + expected: FAIL + + [Web Animations: property <float> from [initial\] to [right\] at (0.6) should be [right\]] + expected: FAIL + + [Web Animations: property <float> from [initial\] to [right\] at (1) should be [right\]] + expected: FAIL + + [Web Animations: property <float> from [initial\] to [right\] at (1.5) should be [right\]] + expected: FAIL diff --git a/tests/wpt/metadata/css/CSS2/floats/hit-test-floats-003.html.ini b/tests/wpt/metadata/css/CSS2/floats/hit-test-floats-003.html.ini new file mode 100644 index 00000000000..665ec4646cb --- /dev/null +++ b/tests/wpt/metadata/css/CSS2/floats/hit-test-floats-003.html.ini @@ -0,0 +1,3 @@ +[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..147f062e548 --- /dev/null +++ b/tests/wpt/metadata/css/CSS2/floats/hit-test-floats-005.html.ini @@ -0,0 +1,3 @@ +[hit-test-floats-005.html] + [Miss clipped float] + expected: FAIL diff --git a/tests/wpt/metadata/css/CSS2/normal-flow/block-in-inline-hittest-002.html.ini b/tests/wpt/metadata/css/CSS2/normal-flow/block-in-inline-hittest-002.html.ini index 51432362d66..ee34bc91078 100644 --- a/tests/wpt/metadata/css/CSS2/normal-flow/block-in-inline-hittest-002.html.ini +++ b/tests/wpt/metadata/css/CSS2/normal-flow/block-in-inline-hittest-002.html.ini @@ -1,3 +1,6 @@ [block-in-inline-hittest-002.html] [elementsFromPoint] expected: FAIL + + [elementFromPoint] + expected: FAIL diff --git a/tests/wpt/metadata/css/CSS2/normal-flow/block-in-inline-hittest-float-001.html.ini b/tests/wpt/metadata/css/CSS2/normal-flow/block-in-inline-hittest-float-001.html.ini new file mode 100644 index 00000000000..585f7f61434 --- /dev/null +++ b/tests/wpt/metadata/css/CSS2/normal-flow/block-in-inline-hittest-float-001.html.ini @@ -0,0 +1,3 @@ +[block-in-inline-hittest-float-001.html] + [block-in-inline-hittest-float-001] + expected: FAIL diff --git a/tests/wpt/metadata/css/CSS2/tables/border-collapse-empty-row.html.ini b/tests/wpt/metadata/css/CSS2/tables/border-collapse-empty-row.html.ini new file mode 100644 index 00000000000..ce596471423 --- /dev/null +++ b/tests/wpt/metadata/css/CSS2/tables/border-collapse-empty-row.html.ini @@ -0,0 +1,2 @@ +[border-collapse-empty-row.html] + expected: FAIL diff --git a/tests/wpt/metadata/css/CSS2/tables/border-collapse-no-interpolation.html.ini b/tests/wpt/metadata/css/CSS2/tables/border-collapse-no-interpolation.html.ini new file mode 100644 index 00000000000..2bbdad5aafd --- /dev/null +++ b/tests/wpt/metadata/css/CSS2/tables/border-collapse-no-interpolation.html.ini @@ -0,0 +1,30 @@ +[border-collapse-no-interpolation.html] + [CSS Transitions with transition: all: property <border-collapse> from [initial\] to [collapse\] at (-0.3) should be [collapse\]] + expected: FAIL + + [CSS Transitions with transition: all: property <border-collapse> from [initial\] to [collapse\] at (0) should be [collapse\]] + expected: FAIL + + [CSS Transitions with transition: all: property <border-collapse> from [initial\] to [collapse\] at (0.3) should be [collapse\]] + expected: FAIL + + [Web Animations: property <border-collapse> from [initial\] to [collapse\] at (-0.3) should be [initial\]] + expected: FAIL + + [Web Animations: property <border-collapse> from [initial\] to [collapse\] at (0) should be [initial\]] + expected: FAIL + + [Web Animations: property <border-collapse> from [initial\] to [collapse\] at (0.3) should be [initial\]] + expected: FAIL + + [Web Animations: property <border-collapse> from [initial\] to [collapse\] at (0.5) should be [collapse\]] + expected: FAIL + + [Web Animations: property <border-collapse> from [initial\] to [collapse\] at (0.6) should be [collapse\]] + expected: FAIL + + [Web Animations: property <border-collapse> from [initial\] to [collapse\] at (1) should be [collapse\]] + expected: FAIL + + [Web Animations: property <border-collapse> from [initial\] to [collapse\] at (1.5) should be [collapse\]] + expected: FAIL diff --git a/tests/wpt/metadata/css/CSS2/tables/empty-cells-no-interpolation.html.ini b/tests/wpt/metadata/css/CSS2/tables/empty-cells-no-interpolation.html.ini new file mode 100644 index 00000000000..032fdbf9b6d --- /dev/null +++ b/tests/wpt/metadata/css/CSS2/tables/empty-cells-no-interpolation.html.ini @@ -0,0 +1,30 @@ +[empty-cells-no-interpolation.html] + [CSS Transitions with transition: all: property <empty-cells> from [initial\] to [hide\] at (-0.3) should be [hide\]] + expected: FAIL + + [CSS Transitions with transition: all: property <empty-cells> from [initial\] to [hide\] at (0) should be [hide\]] + expected: FAIL + + [CSS Transitions with transition: all: property <empty-cells> from [initial\] to [hide\] at (0.3) should be [hide\]] + expected: FAIL + + [Web Animations: property <empty-cells> from [initial\] to [hide\] at (-0.3) should be [initial\]] + expected: FAIL + + [Web Animations: property <empty-cells> from [initial\] to [hide\] at (0) should be [initial\]] + expected: FAIL + + [Web Animations: property <empty-cells> from [initial\] to [hide\] at (0.3) should be [initial\]] + expected: FAIL + + [Web Animations: property <empty-cells> from [initial\] to [hide\] at (0.5) should be [hide\]] + expected: FAIL + + [Web Animations: property <empty-cells> from [initial\] to [hide\] at (0.6) should be [hide\]] + expected: FAIL + + [Web Animations: property <empty-cells> from [initial\] to [hide\] at (1) should be [hide\]] + expected: FAIL + + [Web Animations: property <empty-cells> from [initial\] to [hide\] at (1.5) should be [hide\]] + expected: FAIL diff --git a/tests/wpt/metadata/css/css-animations/parsing/animation-shorthand.html.ini b/tests/wpt/metadata/css/css-animations/parsing/animation-shorthand.html.ini index 8507b545441..24d9f069eee 100644 --- a/tests/wpt/metadata/css/css-animations/parsing/animation-shorthand.html.ini +++ b/tests/wpt/metadata/css/css-animations/parsing/animation-shorthand.html.ini @@ -8,3 +8,20 @@ [e.style['animation'\] = "anim paused both reverse 4 1s -3s cubic-bezier(0, -2, 1, 3)" should set animation-timeline] expected: FAIL + [e.style['animation'\] = "anim paused both reverse 4 1s -3s cubic-bezier(0, -2, 1, 3)" should set animation-range-end] + expected: FAIL + + [e.style['animation'\] = "anim paused both reverse 4 1s -3s cubic-bezier(0, -2, 1, 3)" should set animation-range-start] + expected: FAIL + + [e.style['animation'\] = "anim paused both reverse, 4 1s -3s cubic-bezier(0, -2, 1, 3)" should set animation-range-end] + expected: FAIL + + [e.style['animation'\] = "anim paused both reverse, 4 1s -3s cubic-bezier(0, -2, 1, 3)" should set animation-range-start] + expected: FAIL + + [e.style['animation'\] = "4 1s -3s cubic-bezier(0, -2, 1, 3), anim paused both reverse" should set animation-range-end] + expected: FAIL + + [e.style['animation'\] = "4 1s -3s cubic-bezier(0, -2, 1, 3), anim paused both reverse" should set animation-range-start] + expected: FAIL diff --git a/tests/wpt/metadata/css/css-animations/parsing/animation-shorthand.tentative.html.ini b/tests/wpt/metadata/css/css-animations/parsing/animation-shorthand.tentative.html.ini index 8c3b64ad054..8462ff6a79a 100644 --- a/tests/wpt/metadata/css/css-animations/parsing/animation-shorthand.tentative.html.ini +++ b/tests/wpt/metadata/css/css-animations/parsing/animation-shorthand.tentative.html.ini @@ -10,3 +10,9 @@ [e.style['animation'\] = "anim paused both reverse 4 1s -3s cubic-bezier(0, -2, 1, 3)" should not set unrelated longhands] expected: FAIL + + [e.style['animation'\] = "anim paused both reverse 4 1s -3s cubic-bezier(0, -2, 1, 3)" should set animation-range-end] + expected: FAIL + + [e.style['animation'\] = "anim paused both reverse 4 1s -3s cubic-bezier(0, -2, 1, 3)" should set animation-range-start] + expected: FAIL diff --git a/tests/wpt/metadata/css/css-backgrounds/animations/discrete-no-interpolation.html.ini b/tests/wpt/metadata/css/css-backgrounds/animations/discrete-no-interpolation.html.ini new file mode 100644 index 00000000000..d46ab333bb4 --- /dev/null +++ b/tests/wpt/metadata/css/css-backgrounds/animations/discrete-no-interpolation.html.ini @@ -0,0 +1,234 @@ +[discrete-no-interpolation.html] + [CSS Transitions with transition: all: property <background-attachment> from [initial\] to [fixed\] at (-0.3) should be [fixed\]] + expected: FAIL + + [CSS Transitions with transition: all: property <background-attachment> from [initial\] to [fixed\] at (0) should be [fixed\]] + expected: FAIL + + [CSS Transitions with transition: all: property <background-attachment> from [initial\] to [fixed\] at (0.3) should be [fixed\]] + expected: FAIL + + [Web Animations: property <background-attachment> from [initial\] to [fixed\] at (-0.3) should be [initial\]] + expected: FAIL + + [Web Animations: property <background-attachment> from [initial\] to [fixed\] at (0) should be [initial\]] + expected: FAIL + + [Web Animations: property <background-attachment> from [initial\] to [fixed\] at (0.3) should be [initial\]] + expected: FAIL + + [Web Animations: property <background-attachment> from [initial\] to [fixed\] at (0.5) should be [fixed\]] + expected: FAIL + + [Web Animations: property <background-attachment> from [initial\] to [fixed\] at (0.6) should be [fixed\]] + expected: FAIL + + [Web Animations: property <background-attachment> from [initial\] to [fixed\] at (1) should be [fixed\]] + expected: FAIL + + [Web Animations: property <background-attachment> from [initial\] to [fixed\] at (1.5) should be [fixed\]] + expected: FAIL + + [CSS Transitions: property <background-blend-mode> from [initial\] to [overlay\] at (-0.3) should be [initial\]] + expected: FAIL + + [CSS Transitions: property <background-blend-mode> from [initial\] to [overlay\] at (0) should be [initial\]] + expected: FAIL + + [CSS Transitions: property <background-blend-mode> from [initial\] to [overlay\] at (0.3) should be [initial\]] + expected: FAIL + + [CSS Transitions: property <background-blend-mode> from [initial\] to [overlay\] at (0.5) should be [overlay\]] + expected: FAIL + + [CSS Transitions: property <background-blend-mode> from [initial\] to [overlay\] at (0.6) should be [overlay\]] + expected: FAIL + + [CSS Transitions: property <background-blend-mode> from [initial\] to [overlay\] at (1) should be [overlay\]] + expected: FAIL + + [CSS Transitions: property <background-blend-mode> from [initial\] to [overlay\] at (1.5) should be [overlay\]] + expected: FAIL + + [CSS Transitions with transition: all: property <background-blend-mode> from [initial\] to [overlay\] at (-0.3) should be [overlay\]] + expected: FAIL + + [CSS Transitions with transition: all: property <background-blend-mode> from [initial\] to [overlay\] at (0) should be [overlay\]] + expected: FAIL + + [CSS Transitions with transition: all: property <background-blend-mode> from [initial\] to [overlay\] at (0.3) should be [overlay\]] + expected: FAIL + + [CSS Transitions with transition: all: property <background-blend-mode> from [initial\] to [overlay\] at (0.5) should be [overlay\]] + expected: FAIL + + [CSS Transitions with transition: all: property <background-blend-mode> from [initial\] to [overlay\] at (0.6) should be [overlay\]] + expected: FAIL + + [CSS Transitions with transition: all: property <background-blend-mode> from [initial\] to [overlay\] at (1) should be [overlay\]] + expected: FAIL + + [CSS Transitions with transition: all: property <background-blend-mode> from [initial\] to [overlay\] at (1.5) should be [overlay\]] + expected: FAIL + + [CSS Animations: property <background-blend-mode> from [initial\] to [overlay\] at (-0.3) should be [initial\]] + expected: FAIL + + [CSS Animations: property <background-blend-mode> from [initial\] to [overlay\] at (0) should be [initial\]] + expected: FAIL + + [CSS Animations: property <background-blend-mode> from [initial\] to [overlay\] at (0.3) should be [initial\]] + expected: FAIL + + [CSS Animations: property <background-blend-mode> from [initial\] to [overlay\] at (0.5) should be [overlay\]] + expected: FAIL + + [CSS Animations: property <background-blend-mode> from [initial\] to [overlay\] at (0.6) should be [overlay\]] + expected: FAIL + + [CSS Animations: property <background-blend-mode> from [initial\] to [overlay\] at (1) should be [overlay\]] + expected: FAIL + + [CSS Animations: property <background-blend-mode> from [initial\] to [overlay\] at (1.5) should be [overlay\]] + expected: FAIL + + [Web Animations: property <background-blend-mode> from [initial\] to [overlay\] at (-0.3) should be [initial\]] + expected: FAIL + + [Web Animations: property <background-blend-mode> from [initial\] to [overlay\] at (0) should be [initial\]] + expected: FAIL + + [Web Animations: property <background-blend-mode> from [initial\] to [overlay\] at (0.3) should be [initial\]] + expected: FAIL + + [Web Animations: property <background-blend-mode> from [initial\] to [overlay\] at (0.5) should be [overlay\]] + expected: FAIL + + [Web Animations: property <background-blend-mode> from [initial\] to [overlay\] at (0.6) should be [overlay\]] + expected: FAIL + + [Web Animations: property <background-blend-mode> from [initial\] to [overlay\] at (1) should be [overlay\]] + expected: FAIL + + [Web Animations: property <background-blend-mode> from [initial\] to [overlay\] at (1.5) should be [overlay\]] + expected: FAIL + + [CSS Transitions with transition: all: property <background-clip> from [initial\] to [content-box\] at (-0.3) should be [content-box\]] + expected: FAIL + + [CSS Transitions with transition: all: property <background-clip> from [initial\] to [content-box\] at (0) should be [content-box\]] + expected: FAIL + + [CSS Transitions with transition: all: property <background-clip> from [initial\] to [content-box\] at (0.3) should be [content-box\]] + expected: FAIL + + [Web Animations: property <background-clip> from [initial\] to [content-box\] at (-0.3) should be [initial\]] + expected: FAIL + + [Web Animations: property <background-clip> from [initial\] to [content-box\] at (0) should be [initial\]] + expected: FAIL + + [Web Animations: property <background-clip> from [initial\] to [content-box\] at (0.3) should be [initial\]] + expected: FAIL + + [Web Animations: property <background-clip> from [initial\] to [content-box\] at (0.5) should be [content-box\]] + expected: FAIL + + [Web Animations: property <background-clip> from [initial\] to [content-box\] at (0.6) should be [content-box\]] + expected: FAIL + + [Web Animations: property <background-clip> from [initial\] to [content-box\] at (1) should be [content-box\]] + expected: FAIL + + [Web Animations: property <background-clip> from [initial\] to [content-box\] at (1.5) should be [content-box\]] + expected: FAIL + + [CSS Transitions with transition: all: property <background-origin> from [initial\] to [border-box\] at (-0.3) should be [border-box\]] + expected: FAIL + + [CSS Transitions with transition: all: property <background-origin> from [initial\] to [border-box\] at (0) should be [border-box\]] + expected: FAIL + + [CSS Transitions with transition: all: property <background-origin> from [initial\] to [border-box\] at (0.3) should be [border-box\]] + expected: FAIL + + [Web Animations: property <background-origin> from [initial\] to [border-box\] at (-0.3) should be [initial\]] + expected: FAIL + + [Web Animations: property <background-origin> from [initial\] to [border-box\] at (0) should be [initial\]] + expected: FAIL + + [Web Animations: property <background-origin> from [initial\] to [border-box\] at (0.3) should be [initial\]] + expected: FAIL + + [Web Animations: property <background-origin> from [initial\] to [border-box\] at (0.5) should be [border-box\]] + expected: FAIL + + [Web Animations: property <background-origin> from [initial\] to [border-box\] at (0.6) should be [border-box\]] + expected: FAIL + + [Web Animations: property <background-origin> from [initial\] to [border-box\] at (1) should be [border-box\]] + expected: FAIL + + [Web Animations: property <background-origin> from [initial\] to [border-box\] at (1.5) should be [border-box\]] + expected: FAIL + + [CSS Transitions with transition: all: property <background-repeat> from [initial\] to [round\] at (-0.3) should be [round\]] + expected: FAIL + + [CSS Transitions with transition: all: property <background-repeat> from [initial\] to [round\] at (0) should be [round\]] + expected: FAIL + + [CSS Transitions with transition: all: property <background-repeat> from [initial\] to [round\] at (0.3) should be [round\]] + expected: FAIL + + [Web Animations: property <background-repeat> from [initial\] to [round\] at (-0.3) should be [initial\]] + expected: FAIL + + [Web Animations: property <background-repeat> from [initial\] to [round\] at (0) should be [initial\]] + expected: FAIL + + [Web Animations: property <background-repeat> from [initial\] to [round\] at (0.3) should be [initial\]] + expected: FAIL + + [Web Animations: property <background-repeat> from [initial\] to [round\] at (0.5) should be [round\]] + expected: FAIL + + [Web Animations: property <background-repeat> from [initial\] to [round\] at (0.6) should be [round\]] + expected: FAIL + + [Web Animations: property <background-repeat> from [initial\] to [round\] at (1) should be [round\]] + expected: FAIL + + [Web Animations: property <background-repeat> from [initial\] to [round\] at (1.5) should be [round\]] + expected: FAIL + + [CSS Transitions with transition: all: property <border-image-repeat> from [initial\] to [round\] at (-0.3) should be [round\]] + expected: FAIL + + [CSS Transitions with transition: all: property <border-image-repeat> from [initial\] to [round\] at (0) should be [round\]] + expected: FAIL + + [CSS Transitions with transition: all: property <border-image-repeat> from [initial\] to [round\] at (0.3) should be [round\]] + expected: FAIL + + [Web Animations: property <border-image-repeat> from [initial\] to [round\] at (-0.3) should be [initial\]] + expected: FAIL + + [Web Animations: property <border-image-repeat> from [initial\] to [round\] at (0) should be [initial\]] + expected: FAIL + + [Web Animations: property <border-image-repeat> from [initial\] to [round\] at (0.3) should be [initial\]] + expected: FAIL + + [Web Animations: property <border-image-repeat> from [initial\] to [round\] at (0.5) should be [round\]] + expected: FAIL + + [Web Animations: property <border-image-repeat> from [initial\] to [round\] at (0.6) should be [round\]] + expected: FAIL + + [Web Animations: property <border-image-repeat> from [initial\] to [round\] at (1) should be [round\]] + expected: FAIL + + [Web Animations: property <border-image-repeat> from [initial\] to [round\] at (1.5) should be [round\]] + expected: FAIL diff --git a/tests/wpt/metadata/css/css-backgrounds/background-repeat/background-repeat-no-interpolation.html.ini b/tests/wpt/metadata/css/css-backgrounds/background-repeat/background-repeat-no-interpolation.html.ini deleted file mode 100644 index d5956188627..00000000000 --- a/tests/wpt/metadata/css/css-backgrounds/background-repeat/background-repeat-no-interpolation.html.ini +++ /dev/null @@ -1,30 +0,0 @@ -[background-repeat-no-interpolation.html] - [CSS Transitions with transition: all: property <background-repeat> from [initial\] to [round\] at (-0.3) should be [round\]] - expected: FAIL - - [CSS Transitions with transition: all: property <background-repeat> from [initial\] to [round\] at (0) should be [round\]] - expected: FAIL - - [CSS Transitions with transition: all: property <background-repeat> from [initial\] to [round\] at (0.3) should be [round\]] - expected: FAIL - - [Web Animations: property <background-repeat> from [initial\] to [round\] at (-0.3) should be [initial\]] - expected: FAIL - - [Web Animations: property <background-repeat> from [initial\] to [round\] at (0) should be [initial\]] - expected: FAIL - - [Web Animations: property <background-repeat> from [initial\] to [round\] at (0.3) should be [initial\]] - expected: FAIL - - [Web Animations: property <background-repeat> from [initial\] to [round\] at (0.5) should be [round\]] - expected: FAIL - - [Web Animations: property <background-repeat> from [initial\] to [round\] at (0.6) should be [round\]] - expected: FAIL - - [Web Animations: property <background-repeat> from [initial\] to [round\] at (1) should be [round\]] - expected: FAIL - - [Web Animations: property <background-repeat> from [initial\] to [round\] at (1.5) should be [round\]] - expected: FAIL diff --git a/tests/wpt/metadata/css/css-backgrounds/border-image-repeat-repeat-001.html.ini b/tests/wpt/metadata/css/css-backgrounds/border-image-repeat-repeat-001.html.ini new file mode 100644 index 00000000000..bdc1d29468a --- /dev/null +++ b/tests/wpt/metadata/css/css-backgrounds/border-image-repeat-repeat-001.html.ini @@ -0,0 +1,2 @@ +[border-image-repeat-repeat-001.html] + expected: FAIL diff --git a/tests/wpt/metadata/css/css-backgrounds/border-image-slice-fill-001.html.ini b/tests/wpt/metadata/css/css-backgrounds/border-image-slice-fill-001.html.ini new file mode 100644 index 00000000000..6fc15684d17 --- /dev/null +++ b/tests/wpt/metadata/css/css-backgrounds/border-image-slice-fill-001.html.ini @@ -0,0 +1,2 @@ +[border-image-slice-fill-001.html] + expected: FAIL diff --git a/tests/wpt/metadata/css/css-backgrounds/border-image-slice-fill-002.html.ini b/tests/wpt/metadata/css/css-backgrounds/border-image-slice-fill-002.html.ini new file mode 100644 index 00000000000..3641d4be80e --- /dev/null +++ b/tests/wpt/metadata/css/css-backgrounds/border-image-slice-fill-002.html.ini @@ -0,0 +1,2 @@ +[border-image-slice-fill-002.html] + expected: FAIL diff --git a/tests/wpt/metadata/css/css-backgrounds/border-image-slice-fill-003.html.ini b/tests/wpt/metadata/css/css-backgrounds/border-image-slice-fill-003.html.ini new file mode 100644 index 00000000000..2cad3348e02 --- /dev/null +++ b/tests/wpt/metadata/css/css-backgrounds/border-image-slice-fill-003.html.ini @@ -0,0 +1,2 @@ +[border-image-slice-fill-003.html] + expected: FAIL diff --git a/tests/wpt/metadata/css/css-backgrounds/css-border-radius-001.html.ini b/tests/wpt/metadata/css/css-backgrounds/css-border-radius-001.html.ini deleted file mode 100644 index 98339eb3049..00000000000 --- a/tests/wpt/metadata/css/css-backgrounds/css-border-radius-001.html.ini +++ /dev/null @@ -1,3 +0,0 @@ -[css-border-radius-001.html] - type: reftest - expected: FAIL diff --git a/tests/wpt/metadata/css/css-color/animation/opacity-animation-ending-correctly-001.html.ini b/tests/wpt/metadata/css/css-color/animation/opacity-animation-ending-correctly-001.html.ini deleted file mode 100644 index 304b1579ca4..00000000000 --- a/tests/wpt/metadata/css/css-color/animation/opacity-animation-ending-correctly-001.html.ini +++ /dev/null @@ -1,2 +0,0 @@ -[opacity-animation-ending-correctly-001.html] - expected: TIMEOUT diff --git a/tests/wpt/metadata/css/css-flexbox/animation/discrete-no-interpolation.html.ini b/tests/wpt/metadata/css/css-flexbox/animation/discrete-no-interpolation.html.ini new file mode 100644 index 00000000000..a3287e10d8c --- /dev/null +++ b/tests/wpt/metadata/css/css-flexbox/animation/discrete-no-interpolation.html.ini @@ -0,0 +1,60 @@ +[discrete-no-interpolation.html] + [CSS Transitions with transition: all: property <flex-direction> from [initial\] to [column\] at (-0.3) should be [column\]] + expected: FAIL + + [CSS Transitions with transition: all: property <flex-direction> from [initial\] to [column\] at (0) should be [column\]] + expected: FAIL + + [CSS Transitions with transition: all: property <flex-direction> from [initial\] to [column\] at (0.3) should be [column\]] + expected: FAIL + + [Web Animations: property <flex-direction> from [initial\] to [column\] at (-0.3) should be [initial\]] + expected: FAIL + + [Web Animations: property <flex-direction> from [initial\] to [column\] at (0) should be [initial\]] + expected: FAIL + + [Web Animations: property <flex-direction> from [initial\] to [column\] at (0.3) should be [initial\]] + expected: FAIL + + [Web Animations: property <flex-direction> from [initial\] to [column\] at (0.5) should be [column\]] + expected: FAIL + + [Web Animations: property <flex-direction> from [initial\] to [column\] at (0.6) should be [column\]] + expected: FAIL + + [Web Animations: property <flex-direction> from [initial\] to [column\] at (1) should be [column\]] + expected: FAIL + + [Web Animations: property <flex-direction> from [initial\] to [column\] at (1.5) should be [column\]] + expected: FAIL + + [CSS Transitions with transition: all: property <flex-wrap> from [initial\] to [wrap\] at (-0.3) should be [wrap\]] + expected: FAIL + + [CSS Transitions with transition: all: property <flex-wrap> from [initial\] to [wrap\] at (0) should be [wrap\]] + expected: FAIL + + [CSS Transitions with transition: all: property <flex-wrap> from [initial\] to [wrap\] at (0.3) should be [wrap\]] + expected: FAIL + + [Web Animations: property <flex-wrap> from [initial\] to [wrap\] at (-0.3) should be [initial\]] + expected: FAIL + + [Web Animations: property <flex-wrap> from [initial\] to [wrap\] at (0) should be [initial\]] + expected: FAIL + + [Web Animations: property <flex-wrap> from [initial\] to [wrap\] at (0.3) should be [initial\]] + expected: FAIL + + [Web Animations: property <flex-wrap> from [initial\] to [wrap\] at (0.5) should be [wrap\]] + expected: FAIL + + [Web Animations: property <flex-wrap> from [initial\] to [wrap\] at (0.6) should be [wrap\]] + expected: FAIL + + [Web Animations: property <flex-wrap> from [initial\] to [wrap\] at (1) should be [wrap\]] + expected: FAIL + + [Web Animations: property <flex-wrap> from [initial\] to [wrap\] at (1.5) should be [wrap\]] + expected: FAIL diff --git a/tests/wpt/metadata/css/css-flexbox/hittest-before-pseudo.html.ini b/tests/wpt/metadata/css/css-flexbox/hittest-before-pseudo.html.ini deleted file mode 100644 index 5b685485f3c..00000000000 --- a/tests/wpt/metadata/css/css-flexbox/hittest-before-pseudo.html.ini +++ /dev/null @@ -1,3 +0,0 @@ -[hittest-before-pseudo.html] - [Hit-testing text within a pseudo-element flex-item should return the flexbox as the hittest result.] - expected: FAIL diff --git a/tests/wpt/metadata/css/css-flexbox/parsing/flex-flow-valid.html.ini b/tests/wpt/metadata/css/css-flexbox/parsing/flex-flow-valid.html.ini new file mode 100644 index 00000000000..645e5380333 --- /dev/null +++ b/tests/wpt/metadata/css/css-flexbox/parsing/flex-flow-valid.html.ini @@ -0,0 +1,6 @@ +[flex-flow-valid.html] + [e.style['flex-flow'\] = "column nowrap" should set the property value] + expected: FAIL + + [e.style['flex-flow'\] = "nowrap column" should set the property value] + expected: FAIL diff --git a/tests/wpt/metadata/css/css-fonts/font-size-adjust-013.html.ini b/tests/wpt/metadata/css/css-fonts/font-size-adjust-013.html.ini new file mode 100644 index 00000000000..79d3f15005b --- /dev/null +++ b/tests/wpt/metadata/css/css-fonts/font-size-adjust-013.html.ini @@ -0,0 +1,2 @@ +[font-size-adjust-013.html] + expected: FAIL diff --git a/tests/wpt/metadata/css/css-fonts/parsing/font-size-adjust-computed.html.ini b/tests/wpt/metadata/css/css-fonts/parsing/font-size-adjust-computed.html.ini index 9004496e141..d4055bb93c2 100644 --- a/tests/wpt/metadata/css/css-fonts/parsing/font-size-adjust-computed.html.ini +++ b/tests/wpt/metadata/css/css-fonts/parsing/font-size-adjust-computed.html.ini @@ -25,3 +25,21 @@ [Property font-size-adjust value 'ic-height 1.1'] expected: FAIL + + [Property font-size-adjust value 'from-font'] + expected: FAIL + + [Property font-size-adjust value 'ex-height from-font'] + expected: FAIL + + [Property font-size-adjust value 'cap-height from-font'] + expected: FAIL + + [Property font-size-adjust value 'ch-width from-font'] + expected: FAIL + + [Property font-size-adjust value 'ic-width from-font'] + expected: FAIL + + [Property font-size-adjust value 'ic-height from-font'] + expected: FAIL diff --git a/tests/wpt/metadata/css/css-fonts/parsing/font-size-adjust-valid.html.ini b/tests/wpt/metadata/css/css-fonts/parsing/font-size-adjust-valid.html.ini index 670d2678629..f8e4c08b6f2 100644 --- a/tests/wpt/metadata/css/css-fonts/parsing/font-size-adjust-valid.html.ini +++ b/tests/wpt/metadata/css/css-fonts/parsing/font-size-adjust-valid.html.ini @@ -19,3 +19,21 @@ [e.style['font-size-adjust'\] = "ic-height 0.9" should set the property value] expected: FAIL + + [e.style['font-size-adjust'\] = "from-font" should set the property value] + expected: FAIL + + [e.style['font-size-adjust'\] = "ex-height from-font" should set the property value] + expected: FAIL + + [e.style['font-size-adjust'\] = "cap-height from-font" should set the property value] + expected: FAIL + + [e.style['font-size-adjust'\] = "ch-width from-font" should set the property value] + expected: FAIL + + [e.style['font-size-adjust'\] = "ic-width from-font" should set the property value] + expected: FAIL + + [e.style['font-size-adjust'\] = "ic-height from-font" should set the property value] + expected: FAIL diff --git a/tests/wpt/metadata/css/css-text/parsing/white-space-collapse-computed.html.ini b/tests/wpt/metadata/css/css-text/parsing/white-space-collapse-computed.html.ini new file mode 100644 index 00000000000..0a98b5c2715 --- /dev/null +++ b/tests/wpt/metadata/css/css-text/parsing/white-space-collapse-computed.html.ini @@ -0,0 +1,12 @@ +[white-space-collapse-computed.html] + [Property white-space-collapse value 'collapse'] + expected: FAIL + + [Property white-space-collapse value 'preserve'] + expected: FAIL + + [Property white-space-collapse value 'preserve-breaks'] + expected: FAIL + + [Property white-space-collapse value 'break-spaces'] + expected: FAIL diff --git a/tests/wpt/metadata/css/css-text/parsing/white-space-collapse-valid.html.ini b/tests/wpt/metadata/css/css-text/parsing/white-space-collapse-valid.html.ini new file mode 100644 index 00000000000..9c9ea49d3e0 --- /dev/null +++ b/tests/wpt/metadata/css/css-text/parsing/white-space-collapse-valid.html.ini @@ -0,0 +1,27 @@ +[white-space-collapse-valid.html] + [e.style['white-space-collapse'\] = "collapse" should set the property value] + expected: FAIL + + [e.style['white-space-collapse'\] = "preserve" should set the property value] + expected: FAIL + + [e.style['white-space-collapse'\] = "preserve-breaks" should set the property value] + expected: FAIL + + [e.style['white-space-collapse'\] = "break-spaces" should set the property value] + expected: FAIL + + [e.style['white-space-collapse'\] = "initial" should set the property value] + expected: FAIL + + [e.style['white-space-collapse'\] = "inherit" should set the property value] + expected: FAIL + + [e.style['white-space-collapse'\] = "unset" should set the property value] + expected: FAIL + + [e.style['white-space-collapse'\] = "revert" should set the property value] + expected: FAIL + + [e.style['white-space-collapse'\] = "revert-layer" should set the property value] + expected: FAIL diff --git a/tests/wpt/metadata/css/css-text/parsing/white-space-shorthand-text-wrap.html.ini b/tests/wpt/metadata/css/css-text/parsing/white-space-shorthand-text-wrap.html.ini new file mode 100644 index 00000000000..5ea772a381f --- /dev/null +++ b/tests/wpt/metadata/css/css-text/parsing/white-space-shorthand-text-wrap.html.ini @@ -0,0 +1,15 @@ +[white-space-shorthand-text-wrap.html] + [`text-wrap: balance` should be set] + expected: FAIL + + [`text-wrap` should not be affected by previous `white-space`] + expected: FAIL + + [`white-space` should overwrite previous `text-wrap`] + expected: FAIL + + [`text-wrap` should not be affected by `white-space` on the parent] + expected: FAIL + + [`white-space` should overwrite `text-wrap` on the parent] + expected: FAIL diff --git a/tests/wpt/metadata/css/css-text/parsing/white-space-shorthand.html.ini b/tests/wpt/metadata/css/css-text/parsing/white-space-shorthand.html.ini new file mode 100644 index 00000000000..944fbdb08bf --- /dev/null +++ b/tests/wpt/metadata/css/css-text/parsing/white-space-shorthand.html.ini @@ -0,0 +1,144 @@ +[white-space-shorthand.html] + [e.style['white-space'\] = "collapse" should set the property value] + expected: FAIL + + [Property white-space value 'collapse'] + expected: FAIL + + [e.style['white-space'\] = "wrap" should set the property value] + expected: FAIL + + [Property white-space value 'wrap'] + expected: FAIL + + [e.style['white-space'\] = "collapse wrap" should set the property value] + expected: FAIL + + [Property white-space value 'collapse wrap'] + expected: FAIL + + [e.style['white-space'\] = "wrap collapse" should set the property value] + expected: FAIL + + [Property white-space value 'wrap collapse'] + expected: FAIL + + [e.style['white-space'\] = "preserve nowrap" should set the property value] + expected: FAIL + + [Property white-space value 'preserve nowrap'] + expected: FAIL + + [e.style['white-space'\] = "nowrap preserve" should set the property value] + expected: FAIL + + [Property white-space value 'nowrap preserve'] + expected: FAIL + + [e.style['white-space'\] = "collapse nowrap" should set the property value] + expected: FAIL + + [Property white-space value 'collapse nowrap'] + expected: FAIL + + [e.style['white-space'\] = "nowrap collapse" should set the property value] + expected: FAIL + + [Property white-space value 'nowrap collapse'] + expected: FAIL + + [e.style['white-space'\] = "preserve" should set the property value] + expected: FAIL + + [Property white-space value 'preserve'] + expected: FAIL + + [e.style['white-space'\] = "preserve wrap" should set the property value] + expected: FAIL + + [Property white-space value 'preserve wrap'] + expected: FAIL + + [e.style['white-space'\] = "wrap preserve" should set the property value] + expected: FAIL + + [Property white-space value 'wrap preserve'] + expected: FAIL + + [e.style['white-space'\] = "break-spaces" should set the property value] + expected: FAIL + + [Property white-space value 'break-spaces'] + expected: FAIL + + [e.style['white-space'\] = "break-spaces wrap" should set the property value] + expected: FAIL + + [Property white-space value 'break-spaces wrap'] + expected: FAIL + + [e.style['white-space'\] = "wrap break-spaces" should set the property value] + expected: FAIL + + [Property white-space value 'wrap break-spaces'] + expected: FAIL + + [e.style['white-space'\] = "preserve-breaks" should set the property value] + expected: FAIL + + [Property white-space value 'preserve-breaks'] + expected: FAIL + + [e.style['white-space'\] = "preserve-breaks wrap" should set the property value] + expected: FAIL + + [Property white-space value 'preserve-breaks wrap'] + expected: FAIL + + [e.style['white-space'\] = "wrap preserve-breaks" should set the property value] + expected: FAIL + + [Property white-space value 'wrap preserve-breaks'] + expected: FAIL + + [e.style['white-space'\] = "preserve-breaks nowrap" should set the property value] + expected: FAIL + + [Property white-space value 'preserve-breaks nowrap'] + expected: FAIL + + [e.style['white-space'\] = "nowrap preserve-breaks" should set the property value] + expected: FAIL + + [Property white-space value 'nowrap preserve-breaks'] + expected: FAIL + + [e.style['white-space'\] = "balance" should set the property value] + expected: FAIL + + [Property white-space value 'balance'] + expected: FAIL + + [e.style['white-space'\] = "collapse balance" should set the property value] + expected: FAIL + + [Property white-space value 'collapse balance'] + expected: FAIL + + [e.style['white-space'\] = "balance collapse" should set the property value] + expected: FAIL + + [Property white-space value 'balance collapse'] + expected: FAIL + + [e.style['white-space'\] = "preserve balance" should set the property value] + expected: FAIL + + [Property white-space value 'preserve balance'] + expected: FAIL + + [e.style['white-space'\] = "balance preserve" should set the property value] + expected: FAIL + + [Property white-space value 'balance preserve'] + expected: FAIL diff --git a/tests/wpt/metadata/css/css-text/text-align/text-align-last-015.html.ini b/tests/wpt/metadata/css/css-text/text-align/text-align-last-015.html.ini new file mode 100644 index 00000000000..ce731f6a8cc --- /dev/null +++ b/tests/wpt/metadata/css/css-text/text-align/text-align-last-015.html.ini @@ -0,0 +1,2 @@ +[text-align-last-015.html] + expected: FAIL diff --git a/tests/wpt/metadata/css/css-text/white-space/pre-wrap-align-center-001.html.ini b/tests/wpt/metadata/css/css-text/white-space/pre-wrap-align-center-001.html.ini new file mode 100644 index 00000000000..89f391867d3 --- /dev/null +++ b/tests/wpt/metadata/css/css-text/white-space/pre-wrap-align-center-001.html.ini @@ -0,0 +1,2 @@ +[pre-wrap-align-center-001.html] + expected: FAIL diff --git a/tests/wpt/metadata/css/css-text/white-space/pre-wrap-align-center-002.html.ini b/tests/wpt/metadata/css/css-text/white-space/pre-wrap-align-center-002.html.ini new file mode 100644 index 00000000000..2e7b5445929 --- /dev/null +++ b/tests/wpt/metadata/css/css-text/white-space/pre-wrap-align-center-002.html.ini @@ -0,0 +1,2 @@ +[pre-wrap-align-center-002.html] + expected: FAIL diff --git a/tests/wpt/metadata/css/css-text/white-space/pre-wrap-align-center-003.html.ini b/tests/wpt/metadata/css/css-text/white-space/pre-wrap-align-center-003.html.ini new file mode 100644 index 00000000000..8738c2fda85 --- /dev/null +++ b/tests/wpt/metadata/css/css-text/white-space/pre-wrap-align-center-003.html.ini @@ -0,0 +1,2 @@ +[pre-wrap-align-center-003.html] + expected: FAIL diff --git a/tests/wpt/metadata/css/css-text/white-space/pre-wrap-align-end-001.html.ini b/tests/wpt/metadata/css/css-text/white-space/pre-wrap-align-end-001.html.ini new file mode 100644 index 00000000000..f2f518b0026 --- /dev/null +++ b/tests/wpt/metadata/css/css-text/white-space/pre-wrap-align-end-001.html.ini @@ -0,0 +1,2 @@ +[pre-wrap-align-end-001.html] + expected: FAIL diff --git a/tests/wpt/metadata/css/css-text/white-space/pre-wrap-align-end-002.html.ini b/tests/wpt/metadata/css/css-text/white-space/pre-wrap-align-end-002.html.ini new file mode 100644 index 00000000000..c2d0f7a2003 --- /dev/null +++ b/tests/wpt/metadata/css/css-text/white-space/pre-wrap-align-end-002.html.ini @@ -0,0 +1,2 @@ +[pre-wrap-align-end-002.html] + expected: FAIL diff --git a/tests/wpt/metadata/css/css-text/white-space/pre-wrap-align-end-003.html.ini b/tests/wpt/metadata/css/css-text/white-space/pre-wrap-align-end-003.html.ini new file mode 100644 index 00000000000..9a7946c9d3b --- /dev/null +++ b/tests/wpt/metadata/css/css-text/white-space/pre-wrap-align-end-003.html.ini @@ -0,0 +1,2 @@ +[pre-wrap-align-end-003.html] + expected: FAIL diff --git a/tests/wpt/metadata/css/css-text/white-space/pre-wrap-align-left-002.html.ini b/tests/wpt/metadata/css/css-text/white-space/pre-wrap-align-left-002.html.ini new file mode 100644 index 00000000000..7f8b0d39bc0 --- /dev/null +++ b/tests/wpt/metadata/css/css-text/white-space/pre-wrap-align-left-002.html.ini @@ -0,0 +1,2 @@ +[pre-wrap-align-left-002.html] + expected: FAIL diff --git a/tests/wpt/metadata/css/css-text/white-space/pre-wrap-align-left-003.html.ini b/tests/wpt/metadata/css/css-text/white-space/pre-wrap-align-left-003.html.ini new file mode 100644 index 00000000000..21903bf654f --- /dev/null +++ b/tests/wpt/metadata/css/css-text/white-space/pre-wrap-align-left-003.html.ini @@ -0,0 +1,2 @@ +[pre-wrap-align-left-003.html] + expected: FAIL diff --git a/tests/wpt/metadata/css/css-text/white-space/pre-wrap-align-right-001.html.ini b/tests/wpt/metadata/css/css-text/white-space/pre-wrap-align-right-001.html.ini new file mode 100644 index 00000000000..7c29a54b40c --- /dev/null +++ b/tests/wpt/metadata/css/css-text/white-space/pre-wrap-align-right-001.html.ini @@ -0,0 +1,2 @@ +[pre-wrap-align-right-001.html] + expected: FAIL diff --git a/tests/wpt/metadata/css/css-text/white-space/pre-wrap-align-right-002.html.ini b/tests/wpt/metadata/css/css-text/white-space/pre-wrap-align-right-002.html.ini new file mode 100644 index 00000000000..d684e0a0c4e --- /dev/null +++ b/tests/wpt/metadata/css/css-text/white-space/pre-wrap-align-right-002.html.ini @@ -0,0 +1,2 @@ +[pre-wrap-align-right-002.html] + expected: FAIL diff --git a/tests/wpt/metadata/css/css-text/white-space/pre-wrap-align-right-003.html.ini b/tests/wpt/metadata/css/css-text/white-space/pre-wrap-align-right-003.html.ini new file mode 100644 index 00000000000..897bd79ef14 --- /dev/null +++ b/tests/wpt/metadata/css/css-text/white-space/pre-wrap-align-right-003.html.ini @@ -0,0 +1,2 @@ +[pre-wrap-align-right-003.html] + expected: FAIL diff --git a/tests/wpt/metadata/css/css-text/white-space/pre-wrap-align-start-002.html.ini b/tests/wpt/metadata/css/css-text/white-space/pre-wrap-align-start-002.html.ini new file mode 100644 index 00000000000..a95f35994cc --- /dev/null +++ b/tests/wpt/metadata/css/css-text/white-space/pre-wrap-align-start-002.html.ini @@ -0,0 +1,2 @@ +[pre-wrap-align-start-002.html] + expected: FAIL diff --git a/tests/wpt/metadata/css/css-text/white-space/pre-wrap-align-start-003.html.ini b/tests/wpt/metadata/css/css-text/white-space/pre-wrap-align-start-003.html.ini new file mode 100644 index 00000000000..f27ed2ffc47 --- /dev/null +++ b/tests/wpt/metadata/css/css-text/white-space/pre-wrap-align-start-003.html.ini @@ -0,0 +1,2 @@ +[pre-wrap-align-start-003.html] + expected: FAIL diff --git a/tests/wpt/metadata/css/css-transforms/animation/backface-visibility-no-interpolation.html.ini b/tests/wpt/metadata/css/css-transforms/animation/backface-visibility-no-interpolation.html.ini new file mode 100644 index 00000000000..7ae1813be57 --- /dev/null +++ b/tests/wpt/metadata/css/css-transforms/animation/backface-visibility-no-interpolation.html.ini @@ -0,0 +1,30 @@ +[backface-visibility-no-interpolation.html] + [CSS Transitions with transition: all: property <backface-visibility> from [initial\] to [hidden\] at (-0.3) should be [hidden\]] + expected: FAIL + + [CSS Transitions with transition: all: property <backface-visibility> from [initial\] to [hidden\] at (0) should be [hidden\]] + expected: FAIL + + [CSS Transitions with transition: all: property <backface-visibility> from [initial\] to [hidden\] at (0.3) should be [hidden\]] + expected: FAIL + + [Web Animations: property <backface-visibility> from [initial\] to [hidden\] at (-0.3) should be [initial\]] + expected: FAIL + + [Web Animations: property <backface-visibility> from [initial\] to [hidden\] at (0) should be [initial\]] + expected: FAIL + + [Web Animations: property <backface-visibility> from [initial\] to [hidden\] at (0.3) should be [initial\]] + expected: FAIL + + [Web Animations: property <backface-visibility> from [initial\] to [hidden\] at (0.5) should be [hidden\]] + expected: FAIL + + [Web Animations: property <backface-visibility> from [initial\] to [hidden\] at (0.6) should be [hidden\]] + expected: FAIL + + [Web Animations: property <backface-visibility> from [initial\] to [hidden\] at (1) should be [hidden\]] + expected: FAIL + + [Web Animations: property <backface-visibility> from [initial\] to [hidden\] at (1.5) should be [hidden\]] + 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 4a1232b3c22..3f9c5003739 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 @@ -1,6 +1,3 @@ [transform-scale-hittest.html] [Hit test intersecting scaled box] expected: FAIL - - [Hit test within unscaled box] - expected: FAIL diff --git a/tests/wpt/metadata/css/css-transitions/properties-value-inherit-003.html.ini b/tests/wpt/metadata/css/css-transitions/properties-value-inherit-003.html.ini index 0734ab0db2c..2b8affa2206 100644 --- a/tests/wpt/metadata/css/css-transitions/properties-value-inherit-003.html.ini +++ b/tests/wpt/metadata/css/css-transitions/properties-value-inherit-003.html.ini @@ -4,3 +4,90 @@ [background-position length-em(em) / values] expected: FAIL + + [border-top-width length-em(em) / events] + expected: FAIL + + [border-right-width length-em(em) / events] + expected: FAIL + + [border-bottom-width length-em(em) / events] + expected: FAIL + + [border-left-width length-em(em) / events] + expected: FAIL + + [padding-bottom length-em(em) / events] + expected: FAIL + + [padding-left length-em(em) / events] + expected: FAIL + + [padding-right length-em(em) / events] + expected: FAIL + + [padding-top length-em(em) / events] + expected: FAIL + + [margin-bottom length-em(em) / events] + expected: FAIL + + [margin-left length-em(em) / events] + expected: FAIL + + [margin-right length-em(em) / events] + expected: FAIL + + [margin-top length-em(em) / events] + expected: FAIL + + [height length-em(em) / events] + expected: FAIL + + [width length-em(em) / events] + expected: FAIL + + [min-height length-em(em) / events] + expected: FAIL + + [min-width length-em(em) / events] + expected: FAIL + + [max-height length-em(em) / events] + expected: FAIL + + [max-width length-em(em) / events] + expected: FAIL + + [top length-em(em) / events] + expected: FAIL + + [right length-em(em) / events] + expected: FAIL + + [bottom length-em(em) / events] + expected: FAIL + + [left length-em(em) / events] + expected: FAIL + + [line-height length-em(em) / events] + expected: FAIL + + [letter-spacing length-em(em) / events] + expected: FAIL + + [word-spacing length-em(em) / events] + expected: FAIL + + [text-indent length-em(em) / events] + expected: FAIL + + [outline-offset length-em(em) / events] + expected: FAIL + + [outline-width length-em(em) / events] + expected: FAIL + + [vertical-align length-em(em) / events] + expected: FAIL diff --git a/tests/wpt/metadata/css/css-transitions/transition-events-with-document-change.html.ini b/tests/wpt/metadata/css/css-transitions/transition-events-with-document-change.html.ini new file mode 100644 index 00000000000..c79ad35ab0f --- /dev/null +++ b/tests/wpt/metadata/css/css-transitions/transition-events-with-document-change.html.ini @@ -0,0 +1,3 @@ +[transition-events-with-document-change.html] + [transition events for an element changing document] + expected: FAIL diff --git a/tests/wpt/metadata/css/css-ui/animation/appearance-no-interpolation.html.ini b/tests/wpt/metadata/css/css-ui/animation/appearance-no-interpolation.html.ini new file mode 100644 index 00000000000..33fb5c36e7c --- /dev/null +++ b/tests/wpt/metadata/css/css-ui/animation/appearance-no-interpolation.html.ini @@ -0,0 +1,84 @@ +[appearance-no-interpolation.html] + [CSS Transitions: property <appearance> from [initial\] to [none\] at (-0.3) should be [initial\]] + expected: FAIL + + [CSS Transitions: property <appearance> from [initial\] to [none\] at (0) should be [initial\]] + expected: FAIL + + [CSS Transitions: property <appearance> from [initial\] to [none\] at (0.3) should be [initial\]] + expected: FAIL + + [CSS Transitions: property <appearance> from [initial\] to [none\] at (0.5) should be [none\]] + expected: FAIL + + [CSS Transitions: property <appearance> from [initial\] to [none\] at (0.6) should be [none\]] + expected: FAIL + + [CSS Transitions: property <appearance> from [initial\] to [none\] at (1) should be [none\]] + expected: FAIL + + [CSS Transitions: property <appearance> from [initial\] to [none\] at (1.5) should be [none\]] + expected: FAIL + + [CSS Transitions with transition: all: property <appearance> from [initial\] to [none\] at (-0.3) should be [none\]] + expected: FAIL + + [CSS Transitions with transition: all: property <appearance> from [initial\] to [none\] at (0) should be [none\]] + expected: FAIL + + [CSS Transitions with transition: all: property <appearance> from [initial\] to [none\] at (0.3) should be [none\]] + expected: FAIL + + [CSS Transitions with transition: all: property <appearance> from [initial\] to [none\] at (0.5) should be [none\]] + expected: FAIL + + [CSS Transitions with transition: all: property <appearance> from [initial\] to [none\] at (0.6) should be [none\]] + expected: FAIL + + [CSS Transitions with transition: all: property <appearance> from [initial\] to [none\] at (1) should be [none\]] + expected: FAIL + + [CSS Transitions with transition: all: property <appearance> from [initial\] to [none\] at (1.5) should be [none\]] + expected: FAIL + + [CSS Animations: property <appearance> from [initial\] to [none\] at (-0.3) should be [initial\]] + expected: FAIL + + [CSS Animations: property <appearance> from [initial\] to [none\] at (0) should be [initial\]] + expected: FAIL + + [CSS Animations: property <appearance> from [initial\] to [none\] at (0.3) should be [initial\]] + expected: FAIL + + [CSS Animations: property <appearance> from [initial\] to [none\] at (0.5) should be [none\]] + expected: FAIL + + [CSS Animations: property <appearance> from [initial\] to [none\] at (0.6) should be [none\]] + expected: FAIL + + [CSS Animations: property <appearance> from [initial\] to [none\] at (1) should be [none\]] + expected: FAIL + + [CSS Animations: property <appearance> from [initial\] to [none\] at (1.5) should be [none\]] + expected: FAIL + + [Web Animations: property <appearance> from [initial\] to [none\] at (-0.3) should be [initial\]] + expected: FAIL + + [Web Animations: property <appearance> from [initial\] to [none\] at (0) should be [initial\]] + expected: FAIL + + [Web Animations: property <appearance> from [initial\] to [none\] at (0.3) should be [initial\]] + expected: FAIL + + [Web Animations: property <appearance> from [initial\] to [none\] at (0.5) should be [none\]] + expected: FAIL + + [Web Animations: property <appearance> from [initial\] to [none\] at (0.6) should be [none\]] + expected: FAIL + + [Web Animations: property <appearance> from [initial\] to [none\] at (1) should be [none\]] + expected: FAIL + + [Web Animations: property <appearance> from [initial\] to [none\] at (1.5) should be [none\]] + expected: FAIL diff --git a/tests/wpt/metadata/css/css-ui/animation/cursor-no-interpolation.html.ini b/tests/wpt/metadata/css/css-ui/animation/cursor-no-interpolation.html.ini new file mode 100644 index 00000000000..71f00de23c7 --- /dev/null +++ b/tests/wpt/metadata/css/css-ui/animation/cursor-no-interpolation.html.ini @@ -0,0 +1,30 @@ +[cursor-no-interpolation.html] + [CSS Transitions with transition: all: property <cursor> from [initial\] to [none\] at (-0.3) should be [none\]] + expected: FAIL + + [CSS Transitions with transition: all: property <cursor> from [initial\] to [none\] at (0) should be [none\]] + expected: FAIL + + [CSS Transitions with transition: all: property <cursor> from [initial\] to [none\] at (0.3) should be [none\]] + expected: FAIL + + [Web Animations: property <cursor> from [initial\] to [none\] at (-0.3) should be [initial\]] + expected: FAIL + + [Web Animations: property <cursor> from [initial\] to [none\] at (0) should be [initial\]] + expected: FAIL + + [Web Animations: property <cursor> from [initial\] to [none\] at (0.3) should be [initial\]] + expected: FAIL + + [Web Animations: property <cursor> from [initial\] to [none\] at (0.5) should be [none\]] + expected: FAIL + + [Web Animations: property <cursor> from [initial\] to [none\] at (0.6) should be [none\]] + expected: FAIL + + [Web Animations: property <cursor> from [initial\] to [none\] at (1) should be [none\]] + expected: FAIL + + [Web Animations: property <cursor> from [initial\] to [none\] at (1.5) should be [none\]] + expected: FAIL diff --git a/tests/wpt/metadata/css/css-ui/appearance-cssom-001.html.ini b/tests/wpt/metadata/css/css-ui/appearance-cssom-001.html.ini index 51ce991b693..39f7e2be225 100644 --- a/tests/wpt/metadata/css/css-ui/appearance-cssom-001.html.ini +++ b/tests/wpt/metadata/css/css-ui/appearance-cssom-001.html.ini @@ -1182,3 +1182,887 @@ [appearance: square-button (compat)] expected: FAIL + + +[appearance-cssom-001.html?include=Invalid] + [-webkit-appearance: bogus-button (invalid)] + expected: FAIL + + [-webkit-appearance: attachment (invalid)] + expected: FAIL + + [-webkit-appearance: button-bevel (invalid)] + expected: FAIL + + [-webkit-appearance: borderless-attachment (invalid)] + expected: FAIL + + [-webkit-appearance: button-arrow-down (invalid)] + expected: FAIL + + [-webkit-appearance: button-arrow-next (invalid)] + expected: FAIL + + [-webkit-appearance: button-arrow-previous (invalid)] + expected: FAIL + + [-webkit-appearance: button-arrow-up (invalid)] + expected: FAIL + + [-webkit-appearance: button-focus (invalid)] + expected: FAIL + + [-webkit-appearance: caps-lock-indicator (invalid)] + expected: FAIL + + [-webkit-appearance: caret (invalid)] + expected: FAIL + + [-webkit-appearance: checkbox-container (invalid)] + expected: FAIL + + [-webkit-appearance: checkbox-label (invalid)] + expected: FAIL + + [-webkit-appearance: checkmenuitem (invalid)] + expected: FAIL + + [-webkit-appearance: color-well (invalid)] + expected: FAIL + + [-webkit-appearance: continuous-capacity-level-indicator (invalid)] + expected: FAIL + + [-webkit-appearance: default-button (invalid)] + expected: FAIL + + [-webkit-appearance: discrete-capacity-level-indicator (invalid)] + expected: FAIL + + [-webkit-appearance: dualbutton (invalid)] + expected: FAIL + + [-webkit-appearance: groupbox (invalid)] + expected: FAIL + + [-webkit-appearance: image-controls-button (invalid)] + expected: FAIL + + [-webkit-appearance: inner-spin-button (invalid)] + expected: FAIL + + [-webkit-appearance: list-button (invalid)] + expected: FAIL + + [-webkit-appearance: listitem (invalid)] + expected: FAIL + + [-webkit-appearance: media-controls-background (invalid)] + expected: FAIL + + [-webkit-appearance: media-controls-dark-bar-background (invalid)] + expected: FAIL + + [-webkit-appearance: media-controls-fullscreen-background (invalid)] + expected: FAIL + + [-webkit-appearance: media-controls-light-bar-background (invalid)] + expected: FAIL + + [-webkit-appearance: media-current-time-display (invalid)] + expected: FAIL + + [-webkit-appearance: media-enter-fullscreen-button (invalid)] + expected: FAIL + + [-webkit-appearance: media-exit-fullscreen-button (invalid)] + expected: FAIL + + [-webkit-appearance: media-fullscreen-volume-slider (invalid)] + expected: FAIL + + [-webkit-appearance: media-fullscreen-volume-slider-thumb (invalid)] + expected: FAIL + + [-webkit-appearance: media-mute-button (invalid)] + expected: FAIL + + [-webkit-appearance: media-overlay-play-button (invalid)] + expected: FAIL + + [-webkit-appearance: media-play-button (invalid)] + expected: FAIL + + [-webkit-appearance: media-return-to-realtime-button (invalid)] + expected: FAIL + + [-webkit-appearance: media-rewind-button (invalid)] + expected: FAIL + + [-webkit-appearance: media-seek-back-button (invalid)] + expected: FAIL + + [-webkit-appearance: media-seek-forward-button (invalid)] + expected: FAIL + + [-webkit-appearance: media-slider (invalid)] + expected: FAIL + + [-webkit-appearance: media-sliderthumb (invalid)] + expected: FAIL + + [-webkit-appearance: media-time-remaining-display (invalid)] + expected: FAIL + + [-webkit-appearance: media-toggle-closed-captions-button (invalid)] + expected: FAIL + + [-webkit-appearance: media-volume-slider (invalid)] + expected: FAIL + + [-webkit-appearance: media-volume-slider-container (invalid)] + expected: FAIL + + [-webkit-appearance: media-volume-slider-mute-button (invalid)] + expected: FAIL + + [-webkit-appearance: media-volume-sliderthumb (invalid)] + expected: FAIL + + [-webkit-appearance: menuarrow (invalid)] + expected: FAIL + + [-webkit-appearance: menubar (invalid)] + expected: FAIL + + [-webkit-appearance: menucheckbox (invalid)] + expected: FAIL + + [-webkit-appearance: menuimage (invalid)] + expected: FAIL + + [-webkit-appearance: menuitem (invalid)] + expected: FAIL + + [-webkit-appearance: menuitemtext (invalid)] + expected: FAIL + + [-webkit-appearance: menulist-text (invalid)] + expected: FAIL + + [-webkit-appearance: menulist-textfield (invalid)] + expected: FAIL + + [-webkit-appearance: menupopup (invalid)] + expected: FAIL + + [-webkit-appearance: menuradio (invalid)] + expected: FAIL + + [-webkit-appearance: menuseparator (invalid)] + expected: FAIL + + [-webkit-appearance: meterbar (invalid)] + expected: FAIL + + [-webkit-appearance: meterchunk (invalid)] + expected: FAIL + + [-webkit-appearance: number-input (invalid)] + expected: FAIL + + [-webkit-appearance: progress-bar-value (invalid)] + expected: FAIL + + [-webkit-appearance: progressbar (invalid)] + expected: FAIL + + [-webkit-appearance: progressbar-vertical (invalid)] + expected: FAIL + + [-webkit-appearance: progresschunk (invalid)] + expected: FAIL + + [-webkit-appearance: progresschunk-vertical (invalid)] + expected: FAIL + + [-webkit-appearance: radio-container (invalid)] + expected: FAIL + + [-webkit-appearance: radio-label (invalid)] + expected: FAIL + + [-webkit-appearance: radiomenuitem (invalid)] + expected: FAIL + + [-webkit-appearance: range (invalid)] + expected: FAIL + + [-webkit-appearance: range-thumb (invalid)] + expected: FAIL + + [-webkit-appearance: rating-level-indicator (invalid)] + expected: FAIL + + [-webkit-appearance: relevancy-level-indicator (invalid)] + expected: FAIL + + [-webkit-appearance: resizer (invalid)] + expected: FAIL + + [-webkit-appearance: resizerpanel (invalid)] + expected: FAIL + + [-webkit-appearance: scale-horizontal (invalid)] + expected: FAIL + + [-webkit-appearance: scale-vertical (invalid)] + expected: FAIL + + [-webkit-appearance: scalethumb-horizontal (invalid)] + expected: FAIL + + [-webkit-appearance: scalethumb-vertical (invalid)] + expected: FAIL + + [-webkit-appearance: scalethumbend (invalid)] + expected: FAIL + + [-webkit-appearance: scalethumbstart (invalid)] + expected: FAIL + + [-webkit-appearance: scalethumbtick (invalid)] + expected: FAIL + + [-webkit-appearance: scrollbarbutton-down (invalid)] + expected: FAIL + + [-webkit-appearance: scrollbarbutton-left (invalid)] + expected: FAIL + + [-webkit-appearance: scrollbarbutton-right (invalid)] + expected: FAIL + + [-webkit-appearance: scrollbarbutton-up (invalid)] + expected: FAIL + + [-webkit-appearance: scrollbarthumb-horizontal (invalid)] + expected: FAIL + + [-webkit-appearance: scrollbarthumb-vertical (invalid)] + expected: FAIL + + [-webkit-appearance: scrollbartrack-horizontal (invalid)] + expected: FAIL + + [-webkit-appearance: scrollbartrack-vertical (invalid)] + expected: FAIL + + [-webkit-appearance: searchfield-cancel-button (invalid)] + expected: FAIL + + [-webkit-appearance: searchfield-decoration (invalid)] + expected: FAIL + + [-webkit-appearance: searchfield-results-button (invalid)] + expected: FAIL + + [-webkit-appearance: searchfield-results-decoration (invalid)] + expected: FAIL + + [-webkit-appearance: separator (invalid)] + expected: FAIL + + [-webkit-appearance: sheet (invalid)] + expected: FAIL + + [-webkit-appearance: slider-vertical (invalid)] + expected: FAIL + + [-webkit-appearance: sliderthumb-horizontal (invalid)] + expected: FAIL + + [-webkit-appearance: sliderthumb-vertical (invalid)] + expected: FAIL + + [-webkit-appearance: snapshotted-plugin-overlay (invalid)] + expected: FAIL + + [-webkit-appearance: spinner (invalid)] + expected: FAIL + + [-webkit-appearance: spinner-downbutton (invalid)] + expected: FAIL + + [-webkit-appearance: spinner-textfield (invalid)] + expected: FAIL + + [-webkit-appearance: spinner-upbutton (invalid)] + expected: FAIL + + [-webkit-appearance: splitter (invalid)] + expected: FAIL + + [-webkit-appearance: statusbar (invalid)] + expected: FAIL + + [-webkit-appearance: statusbarpanel (invalid)] + expected: FAIL + + [-webkit-appearance: tab (invalid)] + expected: FAIL + + [-webkit-appearance: tab-scroll-arrow-back (invalid)] + expected: FAIL + + [-webkit-appearance: tab-scroll-arrow-forward (invalid)] + expected: FAIL + + [-webkit-appearance: tabpanel (invalid)] + expected: FAIL + + [-webkit-appearance: tabpanels (invalid)] + expected: FAIL + + [-webkit-appearance: textfield-multiline (invalid)] + expected: FAIL + + [-webkit-appearance: toolbar (invalid)] + expected: FAIL + + [-webkit-appearance: toolbarbutton (invalid)] + expected: FAIL + + [-webkit-appearance: toolbarbutton-dropdown (invalid)] + expected: FAIL + + [-webkit-appearance: toolbargripper (invalid)] + expected: FAIL + + [-webkit-appearance: toolbox (invalid)] + expected: FAIL + + [-webkit-appearance: tooltip (invalid)] + expected: FAIL + + [-webkit-appearance: treeheader (invalid)] + expected: FAIL + + [-webkit-appearance: treeheadercell (invalid)] + expected: FAIL + + [-webkit-appearance: treeheadersortarrow (invalid)] + expected: FAIL + + [-webkit-appearance: treeitem (invalid)] + expected: FAIL + + [-webkit-appearance: treeline (invalid)] + expected: FAIL + + [-webkit-appearance: treetwisty (invalid)] + expected: FAIL + + [-webkit-appearance: treetwistyopen (invalid)] + expected: FAIL + + [-webkit-appearance: treeview (invalid)] + expected: FAIL + + [-webkit-appearance: -apple-pay-button (invalid)] + expected: FAIL + + [-webkit-appearance: -moz-win-borderless-glass (invalid)] + expected: FAIL + + [-webkit-appearance: -moz-win-browsertabbar-toolbox (invalid)] + expected: FAIL + + [-webkit-appearance: -moz-win-communications-toolbox (invalid)] + expected: FAIL + + [-webkit-appearance: -moz-win-communicationstext (invalid)] + expected: FAIL + + [-webkit-appearance: -moz-win-exclude-glass (invalid)] + expected: FAIL + + [-webkit-appearance: -moz-win-glass (invalid)] + expected: FAIL + + [-webkit-appearance: -moz-win-media-toolbox (invalid)] + expected: FAIL + + [-webkit-appearance: -moz-window-button-box (invalid)] + expected: FAIL + + [-webkit-appearance: -moz-window-button-box-maximized (invalid)] + expected: FAIL + + [-webkit-appearance: -moz-window-button-close (invalid)] + expected: FAIL + + [-webkit-appearance: -moz-window-button-maximize (invalid)] + expected: FAIL + + [-webkit-appearance: -moz-window-button-minimize (invalid)] + expected: FAIL + + [-webkit-appearance: -moz-window-button-restore (invalid)] + expected: FAIL + + [-webkit-appearance: -moz-window-frame-bottom (invalid)] + expected: FAIL + + [-webkit-appearance: -moz-window-frame-left (invalid)] + expected: FAIL + + [-webkit-appearance: -moz-window-frame-right (invalid)] + expected: FAIL + + [-webkit-appearance: -moz-window-titlebar (invalid)] + expected: FAIL + + [-webkit-appearance: -moz-window-titlebar-maximized (invalid)] + expected: FAIL + + [appearance: bogus-button (invalid)] + expected: FAIL + + [appearance: attachment (invalid)] + expected: FAIL + + [appearance: button-bevel (invalid)] + expected: FAIL + + [appearance: borderless-attachment (invalid)] + expected: FAIL + + [appearance: button-arrow-down (invalid)] + expected: FAIL + + [appearance: button-arrow-next (invalid)] + expected: FAIL + + [appearance: button-arrow-previous (invalid)] + expected: FAIL + + [appearance: button-arrow-up (invalid)] + expected: FAIL + + [appearance: button-focus (invalid)] + expected: FAIL + + [appearance: caps-lock-indicator (invalid)] + expected: FAIL + + [appearance: caret (invalid)] + expected: FAIL + + [appearance: checkbox-container (invalid)] + expected: FAIL + + [appearance: checkbox-label (invalid)] + expected: FAIL + + [appearance: checkmenuitem (invalid)] + expected: FAIL + + [appearance: color-well (invalid)] + expected: FAIL + + [appearance: continuous-capacity-level-indicator (invalid)] + expected: FAIL + + [appearance: default-button (invalid)] + expected: FAIL + + [appearance: discrete-capacity-level-indicator (invalid)] + expected: FAIL + + [appearance: dualbutton (invalid)] + expected: FAIL + + [appearance: groupbox (invalid)] + expected: FAIL + + [appearance: image-controls-button (invalid)] + expected: FAIL + + [appearance: inner-spin-button (invalid)] + expected: FAIL + + [appearance: list-button (invalid)] + expected: FAIL + + [appearance: listitem (invalid)] + expected: FAIL + + [appearance: media-controls-background (invalid)] + expected: FAIL + + [appearance: media-controls-dark-bar-background (invalid)] + expected: FAIL + + [appearance: media-controls-fullscreen-background (invalid)] + expected: FAIL + + [appearance: media-controls-light-bar-background (invalid)] + expected: FAIL + + [appearance: media-current-time-display (invalid)] + expected: FAIL + + [appearance: media-enter-fullscreen-button (invalid)] + expected: FAIL + + [appearance: media-exit-fullscreen-button (invalid)] + expected: FAIL + + [appearance: media-fullscreen-volume-slider (invalid)] + expected: FAIL + + [appearance: media-fullscreen-volume-slider-thumb (invalid)] + expected: FAIL + + [appearance: media-mute-button (invalid)] + expected: FAIL + + [appearance: media-overlay-play-button (invalid)] + expected: FAIL + + [appearance: media-play-button (invalid)] + expected: FAIL + + [appearance: media-return-to-realtime-button (invalid)] + expected: FAIL + + [appearance: media-rewind-button (invalid)] + expected: FAIL + + [appearance: media-seek-back-button (invalid)] + expected: FAIL + + [appearance: media-seek-forward-button (invalid)] + expected: FAIL + + [appearance: media-slider (invalid)] + expected: FAIL + + [appearance: media-sliderthumb (invalid)] + expected: FAIL + + [appearance: media-time-remaining-display (invalid)] + expected: FAIL + + [appearance: media-toggle-closed-captions-button (invalid)] + expected: FAIL + + [appearance: media-volume-slider (invalid)] + expected: FAIL + + [appearance: media-volume-slider-container (invalid)] + expected: FAIL + + [appearance: media-volume-slider-mute-button (invalid)] + expected: FAIL + + [appearance: media-volume-sliderthumb (invalid)] + expected: FAIL + + [appearance: menuarrow (invalid)] + expected: FAIL + + [appearance: menubar (invalid)] + expected: FAIL + + [appearance: menucheckbox (invalid)] + expected: FAIL + + [appearance: menuimage (invalid)] + expected: FAIL + + [appearance: menuitem (invalid)] + expected: FAIL + + [appearance: menuitemtext (invalid)] + expected: FAIL + + [appearance: menulist-text (invalid)] + expected: FAIL + + [appearance: menulist-textfield (invalid)] + expected: FAIL + + [appearance: menupopup (invalid)] + expected: FAIL + + [appearance: menuradio (invalid)] + expected: FAIL + + [appearance: menuseparator (invalid)] + expected: FAIL + + [appearance: meterbar (invalid)] + expected: FAIL + + [appearance: meterchunk (invalid)] + expected: FAIL + + [appearance: number-input (invalid)] + expected: FAIL + + [appearance: progress-bar-value (invalid)] + expected: FAIL + + [appearance: progressbar (invalid)] + expected: FAIL + + [appearance: progressbar-vertical (invalid)] + expected: FAIL + + [appearance: progresschunk (invalid)] + expected: FAIL + + [appearance: progresschunk-vertical (invalid)] + expected: FAIL + + [appearance: radio-container (invalid)] + expected: FAIL + + [appearance: radio-label (invalid)] + expected: FAIL + + [appearance: radiomenuitem (invalid)] + expected: FAIL + + [appearance: range (invalid)] + expected: FAIL + + [appearance: range-thumb (invalid)] + expected: FAIL + + [appearance: rating-level-indicator (invalid)] + expected: FAIL + + [appearance: relevancy-level-indicator (invalid)] + expected: FAIL + + [appearance: resizer (invalid)] + expected: FAIL + + [appearance: resizerpanel (invalid)] + expected: FAIL + + [appearance: scale-horizontal (invalid)] + expected: FAIL + + [appearance: scale-vertical (invalid)] + expected: FAIL + + [appearance: scalethumb-horizontal (invalid)] + expected: FAIL + + [appearance: scalethumb-vertical (invalid)] + expected: FAIL + + [appearance: scalethumbend (invalid)] + expected: FAIL + + [appearance: scalethumbstart (invalid)] + expected: FAIL + + [appearance: scalethumbtick (invalid)] + expected: FAIL + + [appearance: scrollbarbutton-down (invalid)] + expected: FAIL + + [appearance: scrollbarbutton-left (invalid)] + expected: FAIL + + [appearance: scrollbarbutton-right (invalid)] + expected: FAIL + + [appearance: scrollbarbutton-up (invalid)] + expected: FAIL + + [appearance: scrollbarthumb-horizontal (invalid)] + expected: FAIL + + [appearance: scrollbarthumb-vertical (invalid)] + expected: FAIL + + [appearance: scrollbartrack-horizontal (invalid)] + expected: FAIL + + [appearance: scrollbartrack-vertical (invalid)] + expected: FAIL + + [appearance: searchfield-cancel-button (invalid)] + expected: FAIL + + [appearance: searchfield-decoration (invalid)] + expected: FAIL + + [appearance: searchfield-results-button (invalid)] + expected: FAIL + + [appearance: searchfield-results-decoration (invalid)] + expected: FAIL + + [appearance: separator (invalid)] + expected: FAIL + + [appearance: sheet (invalid)] + expected: FAIL + + [appearance: slider-vertical (invalid)] + expected: FAIL + + [appearance: sliderthumb-horizontal (invalid)] + expected: FAIL + + [appearance: sliderthumb-vertical (invalid)] + expected: FAIL + + [appearance: snapshotted-plugin-overlay (invalid)] + expected: FAIL + + [appearance: spinner (invalid)] + expected: FAIL + + [appearance: spinner-downbutton (invalid)] + expected: FAIL + + [appearance: spinner-textfield (invalid)] + expected: FAIL + + [appearance: spinner-upbutton (invalid)] + expected: FAIL + + [appearance: splitter (invalid)] + expected: FAIL + + [appearance: statusbar (invalid)] + expected: FAIL + + [appearance: statusbarpanel (invalid)] + expected: FAIL + + [appearance: tab (invalid)] + expected: FAIL + + [appearance: tab-scroll-arrow-back (invalid)] + expected: FAIL + + [appearance: tab-scroll-arrow-forward (invalid)] + expected: FAIL + + [appearance: tabpanel (invalid)] + expected: FAIL + + [appearance: tabpanels (invalid)] + expected: FAIL + + [appearance: textfield-multiline (invalid)] + expected: FAIL + + [appearance: toolbar (invalid)] + expected: FAIL + + [appearance: toolbarbutton (invalid)] + expected: FAIL + + [appearance: toolbarbutton-dropdown (invalid)] + expected: FAIL + + [appearance: toolbargripper (invalid)] + expected: FAIL + + [appearance: toolbox (invalid)] + expected: FAIL + + [appearance: tooltip (invalid)] + expected: FAIL + + [appearance: treeheader (invalid)] + expected: FAIL + + [appearance: treeheadercell (invalid)] + expected: FAIL + + [appearance: treeheadersortarrow (invalid)] + expected: FAIL + + [appearance: treeitem (invalid)] + expected: FAIL + + [appearance: treeline (invalid)] + expected: FAIL + + [appearance: treetwisty (invalid)] + expected: FAIL + + [appearance: treetwistyopen (invalid)] + expected: FAIL + + [appearance: treeview (invalid)] + expected: FAIL + + [appearance: -apple-pay-button (invalid)] + expected: FAIL + + [appearance: -moz-win-borderless-glass (invalid)] + expected: FAIL + + [appearance: -moz-win-browsertabbar-toolbox (invalid)] + expected: FAIL + + [appearance: -moz-win-communications-toolbox (invalid)] + expected: FAIL + + [appearance: -moz-win-communicationstext (invalid)] + expected: FAIL + + [appearance: -moz-win-exclude-glass (invalid)] + expected: FAIL + + [appearance: -moz-win-glass (invalid)] + expected: FAIL + + [appearance: -moz-win-media-toolbox (invalid)] + expected: FAIL + + [appearance: -moz-window-button-box (invalid)] + expected: FAIL + + [appearance: -moz-window-button-box-maximized (invalid)] + expected: FAIL + + [appearance: -moz-window-button-close (invalid)] + expected: FAIL + + [appearance: -moz-window-button-maximize (invalid)] + expected: FAIL + + [appearance: -moz-window-button-minimize (invalid)] + expected: FAIL + + [appearance: -moz-window-button-restore (invalid)] + expected: FAIL + + [appearance: -moz-window-frame-bottom (invalid)] + expected: FAIL + + [appearance: -moz-window-frame-left (invalid)] + expected: FAIL + + [appearance: -moz-window-frame-right (invalid)] + expected: FAIL + + [appearance: -moz-window-titlebar (invalid)] + expected: FAIL + + [appearance: -moz-window-titlebar-maximized (invalid)] + expected: FAIL diff --git a/tests/wpt/metadata/css/css-values/calc-infinity-nan-serialize-length.html.ini b/tests/wpt/metadata/css/css-values/calc-infinity-nan-serialize-length.html.ini index 6d1f2802624..6dc11be38bb 100644 --- a/tests/wpt/metadata/css/css-values/calc-infinity-nan-serialize-length.html.ini +++ b/tests/wpt/metadata/css/css-values/calc-infinity-nan-serialize-length.html.ini @@ -100,3 +100,15 @@ ['calc(1pc * NaN)' as a specified value should serialize as 'calc(NaN * 1px)'.] expected: FAIL + + ['calc(1 * min(NaN * 1pt, NaN * 1cm))' as a specified value should serialize as 'calc(NaN * 1px)'.] + expected: FAIL + + ['calc(1 * max(NaN * 1cm, NaN * 2Q))' as a specified value should serialize as 'calc(NaN * 1px)'.] + expected: FAIL + + ['calc(1 * min(NaN * 2px, NaN * 4em))' as a specified value should serialize as 'min(NaN * 1px, NaN * 1em)'.] + expected: FAIL + + ['calc(1 * clamp(NaN * 2em, NaN * 4px, NaN * 8pt))' as a specified value should serialize as 'clamp(NaN * 1em, NaN * 1px, NaN * 1px)'.] + expected: FAIL diff --git a/tests/wpt/metadata/css/css-values/getComputedStyle-calc-mixed-units-001.html.ini b/tests/wpt/metadata/css/css-values/getComputedStyle-calc-mixed-units-001.html.ini new file mode 100644 index 00000000000..433d8bb9c74 --- /dev/null +++ b/tests/wpt/metadata/css/css-values/getComputedStyle-calc-mixed-units-001.html.ini @@ -0,0 +1,3 @@ +[getComputedStyle-calc-mixed-units-001.html] + [testing background-position: calc(100% - 100% + 20em)] + expected: FAIL diff --git a/tests/wpt/metadata/css/css-values/vh_not_refreshing_on_chrome.html.ini b/tests/wpt/metadata/css/css-values/vh_not_refreshing_on_chrome.html.ini index 6c46d48c239..599b3e07f8d 100644 --- a/tests/wpt/metadata/css/css-values/vh_not_refreshing_on_chrome.html.ini +++ b/tests/wpt/metadata/css/css-values/vh_not_refreshing_on_chrome.html.ini @@ -1,3 +1,2 @@ [vh_not_refreshing_on_chrome.html] bug: https://github.com/servo/servo/issues/8984 - expected: TIMEOUT diff --git a/tests/wpt/metadata/css/cssom-view/MediaQueryList-addListener-removeListener.html.ini b/tests/wpt/metadata/css/cssom-view/MediaQueryList-addListener-removeListener.html.ini index 314dca9c1f5..d52a3e77a70 100644 --- a/tests/wpt/metadata/css/cssom-view/MediaQueryList-addListener-removeListener.html.ini +++ b/tests/wpt/metadata/css/cssom-view/MediaQueryList-addListener-removeListener.html.ini @@ -1,3 +1,6 @@ [MediaQueryList-addListener-removeListener.html] [listeners are called when <iframe> is resized] expected: FAIL + + [listeners are called correct number of times] + expected: FAIL diff --git a/tests/wpt/metadata/css/cssom-view/elementFromPoint-001.html.ini b/tests/wpt/metadata/css/cssom-view/elementFromPoint-001.html.ini new file mode 100644 index 00000000000..72b09371038 --- /dev/null +++ b/tests/wpt/metadata/css/cssom-view/elementFromPoint-001.html.ini @@ -0,0 +1,3 @@ +[elementFromPoint-001.html] + [CSSOM View - 5 - extensions to the Document interface] + expected: FAIL diff --git a/tests/wpt/metadata/css/cssom-view/elementFromPoint-dynamic-anon-box.html.ini b/tests/wpt/metadata/css/cssom-view/elementFromPoint-dynamic-anon-box.html.ini new file mode 100644 index 00000000000..d1b2e9e0b54 --- /dev/null +++ b/tests/wpt/metadata/css/cssom-view/elementFromPoint-dynamic-anon-box.html.ini @@ -0,0 +1,2 @@ +[elementFromPoint-dynamic-anon-box.html] + expected: CRASH diff --git a/tests/wpt/metadata/css/cssom-view/elementFromPoint-float-in-relative.html.ini b/tests/wpt/metadata/css/cssom-view/elementFromPoint-float-in-relative.html.ini new file mode 100644 index 00000000000..7e9331b6bc2 --- /dev/null +++ b/tests/wpt/metadata/css/cssom-view/elementFromPoint-float-in-relative.html.ini @@ -0,0 +1,3 @@ +[elementFromPoint-float-in-relative.html] + [elementFromPoint-float-in-relative] + expected: FAIL diff --git a/tests/wpt/metadata/css/cssom-view/elementFromPoint-visibility-hidden-resizer.html.ini b/tests/wpt/metadata/css/cssom-view/elementFromPoint-visibility-hidden-resizer.html.ini deleted file mode 100644 index a6bca7ac372..00000000000 --- a/tests/wpt/metadata/css/cssom-view/elementFromPoint-visibility-hidden-resizer.html.ini +++ /dev/null @@ -1,3 +0,0 @@ -[elementFromPoint-visibility-hidden-resizer.html] - [elementFromPoint on resizer area of an element with visibility:hidden] - expected: FAIL diff --git a/tests/wpt/metadata/css/cssom-view/elementFromPosition.html.ini b/tests/wpt/metadata/css/cssom-view/elementFromPosition.html.ini index 898f39c4330..ceb43099040 100644 --- a/tests/wpt/metadata/css/cssom-view/elementFromPosition.html.ini +++ b/tests/wpt/metadata/css/cssom-view/elementFromPosition.html.ini @@ -17,6 +17,3 @@ [test some point of the element: bottom right corner] expected: FAIL - - [test the top of layer] - expected: FAIL diff --git a/tests/wpt/metadata/css/cssom-view/elementsFromPoint-invalid-cases.html.ini b/tests/wpt/metadata/css/cssom-view/elementsFromPoint-invalid-cases.html.ini deleted file mode 100644 index a3496a40d07..00000000000 --- a/tests/wpt/metadata/css/cssom-view/elementsFromPoint-invalid-cases.html.ini +++ /dev/null @@ -1,3 +0,0 @@ -[elementsFromPoint-invalid-cases.html] - [The root element is the last element returned for otherwise empty queries within the viewport] - expected: FAIL diff --git a/tests/wpt/metadata/css/cssom-view/scroll-behavior-smooth.html.ini b/tests/wpt/metadata/css/cssom-view/scroll-behavior-smooth.html.ini index e1a609649d6..5e7ef730970 100644 --- a/tests/wpt/metadata/css/cssom-view/scroll-behavior-smooth.html.ini +++ b/tests/wpt/metadata/css/cssom-view/scroll-behavior-smooth.html.ini @@ -1,5 +1,3 @@ [scroll-behavior-smooth.html] - expected: ERROR [scroll-behavior: smooth on DIV element] expected: FAIL - diff --git a/tests/wpt/metadata/css/cssom-view/scroll-behavior-subframe-window.html.ini b/tests/wpt/metadata/css/cssom-view/scroll-behavior-subframe-window.html.ini index 9041673d25e..ffadf832a1a 100644 --- a/tests/wpt/metadata/css/cssom-view/scroll-behavior-subframe-window.html.ini +++ b/tests/wpt/metadata/css/cssom-view/scroll-behavior-subframe-window.html.ini @@ -1,5 +1,78 @@ [scroll-behavior-subframe-window.html] - expected: ERROR - [iframe loaded] - expected: NOTRUN + [Main frame with auto scroll-behavior ; scroll() with default behavior] + expected: FAIL + [Main frame with auto scroll-behavior ; scroll() with auto behavior] + expected: FAIL + + [Main frame with auto scroll-behavior ; scroll() with instant behavior] + expected: FAIL + + [Main frame with auto scroll-behavior ; scroll() with smooth behavior] + expected: FAIL + + [Main frame with smooth scroll-behavior ; scroll() with default behavior] + expected: FAIL + + [Main frame with smooth scroll-behavior ; scroll() with auto behavior] + expected: FAIL + + [Main frame with smooth scroll-behavior ; scroll() with instant behavior] + expected: FAIL + + [Main frame with smooth scroll-behavior ; scroll() with smooth behavior] + expected: FAIL + + [Main frame with auto scroll-behavior ; scrollTo() with default behavior] + expected: FAIL + + [Main frame with auto scroll-behavior ; scrollTo() with auto behavior] + expected: FAIL + + [Main frame with auto scroll-behavior ; scrollTo() with instant behavior] + expected: FAIL + + [Main frame with auto scroll-behavior ; scrollTo() with smooth behavior] + expected: FAIL + + [Main frame with smooth scroll-behavior ; scrollTo() with default behavior] + expected: FAIL + + [Main frame with smooth scroll-behavior ; scrollTo() with auto behavior] + expected: FAIL + + [Main frame with smooth scroll-behavior ; scrollTo() with instant behavior] + expected: FAIL + + [Main frame with smooth scroll-behavior ; scrollTo() with smooth behavior] + expected: FAIL + + [Main frame with auto scroll-behavior ; scrollBy() with default behavior] + expected: FAIL + + [Main frame with auto scroll-behavior ; scrollBy() with auto behavior] + expected: FAIL + + [Main frame with auto scroll-behavior ; scrollBy() with instant behavior] + expected: FAIL + + [Main frame with auto scroll-behavior ; scrollBy() with smooth behavior] + expected: FAIL + + [Main frame with smooth scroll-behavior ; scrollBy() with default behavior] + expected: FAIL + + [Main frame with smooth scroll-behavior ; scrollBy() with auto behavior] + expected: FAIL + + [Main frame with smooth scroll-behavior ; scrollBy() with instant behavior] + expected: FAIL + + [Main frame with smooth scroll-behavior ; scrollBy() with smooth behavior] + expected: FAIL + + [Aborting an ongoing smooth scrolling on the main frame with another smooth scrolling] + expected: FAIL + + [Aborting an ongoing smooth scrolling on the main frame with an instant scrolling] + expected: FAIL diff --git a/tests/wpt/metadata/css/filter-effects/animation/color-interpolation-filters-no-interpolation.html.ini b/tests/wpt/metadata/css/filter-effects/animation/color-interpolation-filters-no-interpolation.html.ini new file mode 100644 index 00000000000..b80ac383004 --- /dev/null +++ b/tests/wpt/metadata/css/filter-effects/animation/color-interpolation-filters-no-interpolation.html.ini @@ -0,0 +1,84 @@ +[color-interpolation-filters-no-interpolation.html] + [CSS Transitions: property <color-interpolation-filters> from [initial\] to [auto\] at (-0.3) should be [initial\]] + expected: FAIL + + [CSS Transitions: property <color-interpolation-filters> from [initial\] to [auto\] at (0) should be [initial\]] + expected: FAIL + + [CSS Transitions: property <color-interpolation-filters> from [initial\] to [auto\] at (0.3) should be [initial\]] + expected: FAIL + + [CSS Transitions: property <color-interpolation-filters> from [initial\] to [auto\] at (0.5) should be [auto\]] + expected: FAIL + + [CSS Transitions: property <color-interpolation-filters> from [initial\] to [auto\] at (0.6) should be [auto\]] + expected: FAIL + + [CSS Transitions: property <color-interpolation-filters> from [initial\] to [auto\] at (1) should be [auto\]] + expected: FAIL + + [CSS Transitions: property <color-interpolation-filters> from [initial\] to [auto\] at (1.5) should be [auto\]] + expected: FAIL + + [CSS Transitions with transition: all: property <color-interpolation-filters> from [initial\] to [auto\] at (-0.3) should be [auto\]] + expected: FAIL + + [CSS Transitions with transition: all: property <color-interpolation-filters> from [initial\] to [auto\] at (0) should be [auto\]] + expected: FAIL + + [CSS Transitions with transition: all: property <color-interpolation-filters> from [initial\] to [auto\] at (0.3) should be [auto\]] + expected: FAIL + + [CSS Transitions with transition: all: property <color-interpolation-filters> from [initial\] to [auto\] at (0.5) should be [auto\]] + expected: FAIL + + [CSS Transitions with transition: all: property <color-interpolation-filters> from [initial\] to [auto\] at (0.6) should be [auto\]] + expected: FAIL + + [CSS Transitions with transition: all: property <color-interpolation-filters> from [initial\] to [auto\] at (1) should be [auto\]] + expected: FAIL + + [CSS Transitions with transition: all: property <color-interpolation-filters> from [initial\] to [auto\] at (1.5) should be [auto\]] + expected: FAIL + + [CSS Animations: property <color-interpolation-filters> from [initial\] to [auto\] at (-0.3) should be [initial\]] + expected: FAIL + + [CSS Animations: property <color-interpolation-filters> from [initial\] to [auto\] at (0) should be [initial\]] + expected: FAIL + + [CSS Animations: property <color-interpolation-filters> from [initial\] to [auto\] at (0.3) should be [initial\]] + expected: FAIL + + [CSS Animations: property <color-interpolation-filters> from [initial\] to [auto\] at (0.5) should be [auto\]] + expected: FAIL + + [CSS Animations: property <color-interpolation-filters> from [initial\] to [auto\] at (0.6) should be [auto\]] + expected: FAIL + + [CSS Animations: property <color-interpolation-filters> from [initial\] to [auto\] at (1) should be [auto\]] + expected: FAIL + + [CSS Animations: property <color-interpolation-filters> from [initial\] to [auto\] at (1.5) should be [auto\]] + expected: FAIL + + [Web Animations: property <color-interpolation-filters> from [initial\] to [auto\] at (-0.3) should be [initial\]] + expected: FAIL + + [Web Animations: property <color-interpolation-filters> from [initial\] to [auto\] at (0) should be [initial\]] + expected: FAIL + + [Web Animations: property <color-interpolation-filters> from [initial\] to [auto\] at (0.3) should be [initial\]] + expected: FAIL + + [Web Animations: property <color-interpolation-filters> from [initial\] to [auto\] at (0.5) should be [auto\]] + expected: FAIL + + [Web Animations: property <color-interpolation-filters> from [initial\] to [auto\] at (0.6) should be [auto\]] + expected: FAIL + + [Web Animations: property <color-interpolation-filters> from [initial\] to [auto\] at (1) should be [auto\]] + expected: FAIL + + [Web Animations: property <color-interpolation-filters> from [initial\] to [auto\] at (1.5) should be [auto\]] + expected: FAIL diff --git a/tests/wpt/metadata/css/filter-effects/svg-external-filter-resource.html.ini b/tests/wpt/metadata/css/filter-effects/svg-external-filter-resource.html.ini new file mode 100644 index 00000000000..2cec121ac69 --- /dev/null +++ b/tests/wpt/metadata/css/filter-effects/svg-external-filter-resource.html.ini @@ -0,0 +1,2 @@ +[svg-external-filter-resource.html] + expected: FAIL diff --git a/tests/wpt/metadata/css/mediaqueries/scripting-print-noscript.html.ini b/tests/wpt/metadata/css/mediaqueries/scripting-print-noscript.html.ini new file mode 100644 index 00000000000..f8256a35717 --- /dev/null +++ b/tests/wpt/metadata/css/mediaqueries/scripting-print-noscript.html.ini @@ -0,0 +1,2 @@ +[scripting-print-noscript.html] + expected: FAIL diff --git a/tests/wpt/metadata/css/mediaqueries/scripting-print-script.html.ini b/tests/wpt/metadata/css/mediaqueries/scripting-print-script.html.ini new file mode 100644 index 00000000000..2143b97f4b4 --- /dev/null +++ b/tests/wpt/metadata/css/mediaqueries/scripting-print-script.html.ini @@ -0,0 +1,2 @@ +[scripting-print-script.html] + expected: FAIL diff --git a/tests/wpt/metadata/css/mediaqueries/scripting.html.ini b/tests/wpt/metadata/css/mediaqueries/scripting.html.ini new file mode 100644 index 00000000000..afffc87ac19 --- /dev/null +++ b/tests/wpt/metadata/css/mediaqueries/scripting.html.ini @@ -0,0 +1,27 @@ +[scripting.html] + [Should be known: '(scripting)'] + expected: FAIL + + [Should be known: '(scripting: enabled)'] + expected: FAIL + + [Should be known: '(scripting: initial-only)'] + expected: FAIL + + [Should be known: '(scripting: none)'] + expected: FAIL + + [Should be parseable: '(scripting: 0)'] + expected: FAIL + + [Should be parseable: '(scripting: 10px)'] + expected: FAIL + + [Should be parseable: '(scripting: invalid)'] + expected: FAIL + + [Check that scripting currently matches 'enabled'] + expected: FAIL + + [Check that scripting currently evaluates to true in the boolean context] + expected: FAIL diff --git a/tests/wpt/metadata/fetch/api/redirect/redirect-keepalive.any.js.ini b/tests/wpt/metadata/fetch/api/redirect/redirect-keepalive.any.js.ini deleted file mode 100644 index c57e48f2078..00000000000 --- a/tests/wpt/metadata/fetch/api/redirect/redirect-keepalive.any.js.ini +++ /dev/null @@ -1,2 +0,0 @@ -[redirect-keepalive.any.html] - expected: TIMEOUT diff --git a/tests/wpt/metadata/html/browsers/browsing-the-web/navigating-across-documents/initial-empty-document/iframe-src-aboutblank-navigate-immediately.html.ini b/tests/wpt/metadata/html/browsers/browsing-the-web/navigating-across-documents/initial-empty-document/iframe-src-aboutblank-navigate-immediately.html.ini index 856bb1c9901..dc1144214ef 100644 --- a/tests/wpt/metadata/html/browsers/browsing-the-web/navigating-across-documents/initial-empty-document/iframe-src-aboutblank-navigate-immediately.html.ini +++ b/tests/wpt/metadata/html/browsers/browsing-the-web/navigating-across-documents/initial-empty-document/iframe-src-aboutblank-navigate-immediately.html.ini @@ -1,10 +1,9 @@ [iframe-src-aboutblank-navigate-immediately.html] - expected: TIMEOUT [Navigating to a different document with window.open] expected: FAIL [Navigating to a different document with form submission] - expected: TIMEOUT + expected: FAIL [Navigating to a different document with link click] expected: FAIL diff --git a/tests/wpt/metadata/html/browsers/browsing-the-web/navigating-across-documents/navigation-unload-cross-origin.sub.window.js.ini b/tests/wpt/metadata/html/browsers/browsing-the-web/navigating-across-documents/navigation-unload-cross-origin.sub.window.js.ini deleted file mode 100644 index 4ecd6d9f753..00000000000 --- a/tests/wpt/metadata/html/browsers/browsing-the-web/navigating-across-documents/navigation-unload-cross-origin.sub.window.js.ini +++ /dev/null @@ -1,3 +0,0 @@ -[navigation-unload-cross-origin.sub.window.html] - [Cross-origin navigation started from unload handler must be ignored] - expected: FAIL diff --git a/tests/wpt/metadata/html/browsers/browsing-the-web/navigating-across-documents/replace-before-load/a-click.html.ini b/tests/wpt/metadata/html/browsers/browsing-the-web/navigating-across-documents/replace-before-load/a-click.html.ini new file mode 100644 index 00000000000..60a4fa51f8a --- /dev/null +++ b/tests/wpt/metadata/html/browsers/browsing-the-web/navigating-across-documents/replace-before-load/a-click.html.ini @@ -0,0 +1,3 @@ +[a-click.html] + [aElement.click() before the load event must NOT replace] + expected: FAIL diff --git a/tests/wpt/metadata/html/browsers/browsing-the-web/navigating-across-documents/replace-before-load/form-submit.html.ini b/tests/wpt/metadata/html/browsers/browsing-the-web/navigating-across-documents/replace-before-load/form-submit.html.ini index 16371ab858d..f18f914e4a4 100644 --- a/tests/wpt/metadata/html/browsers/browsing-the-web/navigating-across-documents/replace-before-load/form-submit.html.ini +++ b/tests/wpt/metadata/html/browsers/browsing-the-web/navigating-across-documents/replace-before-load/form-submit.html.ini @@ -1,4 +1,3 @@ [form-submit.html] - expected: TIMEOUT [Replace before load, triggered by formElement.submit()] - expected: TIMEOUT + expected: FAIL diff --git a/tests/wpt/metadata/html/browsers/history/the-history-interface/traverse_the_history_1.html.ini b/tests/wpt/metadata/html/browsers/history/the-history-interface/traverse_the_history_1.html.ini deleted file mode 100644 index ba0aed26689..00000000000 --- a/tests/wpt/metadata/html/browsers/history/the-history-interface/traverse_the_history_1.html.ini +++ /dev/null @@ -1,3 +0,0 @@ -[traverse_the_history_1.html] - [Multiple history traversals from the same task] - expected: FAIL diff --git a/tests/wpt/metadata/html/browsers/origin/cross-origin-objects/cross-origin-objects.html.ini b/tests/wpt/metadata/html/browsers/origin/cross-origin-objects/cross-origin-objects.html.ini index 7d58994d80b..24c9e5d3926 100644 --- a/tests/wpt/metadata/html/browsers/origin/cross-origin-objects/cross-origin-objects.html.ini +++ b/tests/wpt/metadata/html/browsers/origin/cross-origin-objects/cross-origin-objects.html.ini @@ -63,12 +63,6 @@ [[[GetOwnProperty\]\] - Property descriptors for cross-origin properties should be set up correctly (cross-site)] expected: FAIL - [[[GetOwnProperty\]\] - Subframe named 'then' should shadow the default 'then' value (cross-origin)] - expected: FAIL - - [[[GetOwnProperty\]\] - Subframe named 'then' should shadow the default 'then' value (same-origin + document.domain)] - expected: FAIL - [[[GetOwnProperty\]\] - Subframe named 'then' should shadow the default 'then' value (cross-site)] expected: FAIL diff --git a/tests/wpt/metadata/html/browsers/origin/relaxing-the-same-origin-restriction/document_domain_access_details.sub.html.ini b/tests/wpt/metadata/html/browsers/origin/relaxing-the-same-origin-restriction/document_domain_access_details.sub.html.ini index 12adf20e2af..e44d2dfecf3 100644 --- a/tests/wpt/metadata/html/browsers/origin/relaxing-the-same-origin-restriction/document_domain_access_details.sub.html.ini +++ b/tests/wpt/metadata/html/browsers/origin/relaxing-the-same-origin-restriction/document_domain_access_details.sub.html.ini @@ -1,16 +1,7 @@ [document_domain_access_details.sub.html] - [Access allowed if same-origin with no 'document.domain' modification. (Sanity check)] - expected: FAIL - [Access is revoked to Window object when we stop being same effective script origin due to document.domain.] expected: FAIL - [Access allowed if different-origin but both set document.domain to parent domain.] - expected: FAIL - - [Access is not revoked to random object when we stop being same effective script origin due to document.domain.] - expected: FAIL - [Access not allowed if different-origin with no 'document.domain' modification. (Sanity check)] expected: FAIL @@ -20,12 +11,6 @@ [Access is revoked to Location object when we stop being same effective script origin due to document.domain.] expected: FAIL - [Access allowed if same-origin and both set document.domain to existing value.] - expected: FAIL - - [Access is not revoked to Document object when we stop being same effective script origin due to document.domain.] - expected: FAIL - [Access disallowed if same-origin but only one sets document.domain.] expected: FAIL @@ -34,4 +19,3 @@ [Access evolves correctly for non-cross-origin objects when we join up via document.domain and then diverge again.] expected: FAIL - diff --git a/tests/wpt/metadata/html/browsers/the-window-object/open-close/creating_browsing_context_test_01.html.ini b/tests/wpt/metadata/html/browsers/the-window-object/open-close/creating_browsing_context_test_01.html.ini deleted file mode 100644 index ca84728f1e9..00000000000 --- a/tests/wpt/metadata/html/browsers/the-window-object/open-close/creating_browsing_context_test_01.html.ini +++ /dev/null @@ -1,4 +0,0 @@ -[creating_browsing_context_test_01.html] - expected: TIMEOUT - [first argument: absolute url] - expected: TIMEOUT diff --git a/tests/wpt/metadata/html/canvas/element/filters/2d.filter.canvasFilterObject.dropShadow.exceptions.tentative.html.ini b/tests/wpt/metadata/html/canvas/element/filters/2d.filter.canvasFilterObject.dropShadow.exceptions.tentative.html.ini new file mode 100644 index 00000000000..335168c7f52 --- /dev/null +++ b/tests/wpt/metadata/html/canvas/element/filters/2d.filter.canvasFilterObject.dropShadow.exceptions.tentative.html.ini @@ -0,0 +1,3 @@ +[2d.filter.canvasFilterObject.dropShadow.exceptions.tentative.html] + [Test exceptions on CanvasFilter() dropShadow object] + expected: FAIL diff --git a/tests/wpt/metadata/html/canvas/element/filters/2d.filter.canvasFilterObject.dropShadow.tentative.html.ini b/tests/wpt/metadata/html/canvas/element/filters/2d.filter.canvasFilterObject.dropShadow.tentative.html.ini new file mode 100644 index 00000000000..5ff0d0fdbbc --- /dev/null +++ b/tests/wpt/metadata/html/canvas/element/filters/2d.filter.canvasFilterObject.dropShadow.tentative.html.ini @@ -0,0 +1,2 @@ +[2d.filter.canvasFilterObject.dropShadow.tentative.html] + expected: FAIL diff --git a/tests/wpt/metadata/html/canvas/element/manual/drawing-text-to-the-canvas/canvas.2d.disconnected.html.ini b/tests/wpt/metadata/html/canvas/element/manual/drawing-text-to-the-canvas/canvas.2d.disconnected.html.ini index 2a54f2f8814..5cdcce07c65 100644 --- a/tests/wpt/metadata/html/canvas/element/manual/drawing-text-to-the-canvas/canvas.2d.disconnected.html.ini +++ b/tests/wpt/metadata/html/canvas/element/manual/drawing-text-to-the-canvas/canvas.2d.disconnected.html.ini @@ -1,2 +1,2 @@ [canvas.2d.disconnected.html] - expected: TIMEOUT + expected: FAIL diff --git a/tests/wpt/metadata/html/canvas/offscreen/compositing/2d.composite.canvas.clear.html.ini b/tests/wpt/metadata/html/canvas/offscreen/compositing/2d.composite.canvas.clear.html.ini new file mode 100644 index 00000000000..56b9d21ebcc --- /dev/null +++ b/tests/wpt/metadata/html/canvas/offscreen/compositing/2d.composite.canvas.clear.html.ini @@ -0,0 +1,3 @@ +[2d.composite.canvas.clear.html] + [OffscreenCanvas test: 2d.composite.canvas.clear] + expected: FAIL diff --git a/tests/wpt/metadata/html/canvas/offscreen/compositing/2d.composite.canvas.clear.worker.js.ini b/tests/wpt/metadata/html/canvas/offscreen/compositing/2d.composite.canvas.clear.worker.js.ini new file mode 100644 index 00000000000..c17e51de2e4 --- /dev/null +++ b/tests/wpt/metadata/html/canvas/offscreen/compositing/2d.composite.canvas.clear.worker.js.ini @@ -0,0 +1,3 @@ +[2d.composite.canvas.clear.worker.html] + [2d] + expected: FAIL diff --git a/tests/wpt/metadata/html/canvas/offscreen/compositing/2d.composite.image.clear.html.ini b/tests/wpt/metadata/html/canvas/offscreen/compositing/2d.composite.image.clear.html.ini new file mode 100644 index 00000000000..6c347f11d2c --- /dev/null +++ b/tests/wpt/metadata/html/canvas/offscreen/compositing/2d.composite.image.clear.html.ini @@ -0,0 +1,3 @@ +[2d.composite.image.clear.html] + [OffscreenCanvas test: 2d.composite.image.clear] + expected: FAIL diff --git a/tests/wpt/metadata/html/canvas/offscreen/compositing/2d.composite.image.clear.worker.js.ini b/tests/wpt/metadata/html/canvas/offscreen/compositing/2d.composite.image.clear.worker.js.ini new file mode 100644 index 00000000000..e9b0556aada --- /dev/null +++ b/tests/wpt/metadata/html/canvas/offscreen/compositing/2d.composite.image.clear.worker.js.ini @@ -0,0 +1,3 @@ +[2d.composite.image.clear.worker.html] + [2d] + expected: FAIL diff --git a/tests/wpt/metadata/html/canvas/offscreen/filters/2d.filter.canvasFilterObject.dropShadow.exceptions.tentative.html.ini b/tests/wpt/metadata/html/canvas/offscreen/filters/2d.filter.canvasFilterObject.dropShadow.exceptions.tentative.html.ini new file mode 100644 index 00000000000..0c57ad668a1 --- /dev/null +++ b/tests/wpt/metadata/html/canvas/offscreen/filters/2d.filter.canvasFilterObject.dropShadow.exceptions.tentative.html.ini @@ -0,0 +1,4 @@ +[2d.filter.canvasFilterObject.dropShadow.exceptions.tentative.html] + expected: ERROR + [Test exceptions on CanvasFilter() dropShadow object] + expected: TIMEOUT diff --git a/tests/wpt/metadata/html/canvas/offscreen/filters/2d.filter.canvasFilterObject.dropShadow.exceptions.tentative.worker.js.ini b/tests/wpt/metadata/html/canvas/offscreen/filters/2d.filter.canvasFilterObject.dropShadow.exceptions.tentative.worker.js.ini new file mode 100644 index 00000000000..04bb9f23cdb --- /dev/null +++ b/tests/wpt/metadata/html/canvas/offscreen/filters/2d.filter.canvasFilterObject.dropShadow.exceptions.tentative.worker.js.ini @@ -0,0 +1,3 @@ +[2d.filter.canvasFilterObject.dropShadow.exceptions.tentative.worker.html] + [Test exceptions on CanvasFilter() dropShadow object] + expected: FAIL diff --git a/tests/wpt/metadata/html/canvas/offscreen/filters/2d.filter.canvasFilterObject.dropShadow.tentative.html.ini b/tests/wpt/metadata/html/canvas/offscreen/filters/2d.filter.canvasFilterObject.dropShadow.tentative.html.ini new file mode 100644 index 00000000000..5ff0d0fdbbc --- /dev/null +++ b/tests/wpt/metadata/html/canvas/offscreen/filters/2d.filter.canvasFilterObject.dropShadow.tentative.html.ini @@ -0,0 +1,2 @@ +[2d.filter.canvasFilterObject.dropShadow.tentative.html] + expected: FAIL diff --git a/tests/wpt/metadata/html/canvas/offscreen/filters/2d.filter.canvasFilterObject.dropShadow.tentative.w.html.ini b/tests/wpt/metadata/html/canvas/offscreen/filters/2d.filter.canvasFilterObject.dropShadow.tentative.w.html.ini new file mode 100644 index 00000000000..a13ae9a3a41 --- /dev/null +++ b/tests/wpt/metadata/html/canvas/offscreen/filters/2d.filter.canvasFilterObject.dropShadow.tentative.w.html.ini @@ -0,0 +1,2 @@ +[2d.filter.canvasFilterObject.dropShadow.tentative.w.html] + expected: TIMEOUT diff --git a/tests/wpt/metadata/html/interaction/focus/the-autofocus-attribute/update-the-rendering.html.ini b/tests/wpt/metadata/html/interaction/focus/the-autofocus-attribute/update-the-rendering.html.ini index 9b27c5c1957..add66c12f92 100644 --- a/tests/wpt/metadata/html/interaction/focus/the-autofocus-attribute/update-the-rendering.html.ini +++ b/tests/wpt/metadata/html/interaction/focus/the-autofocus-attribute/update-the-rendering.html.ini @@ -1,7 +1,6 @@ [update-the-rendering.html] - expected: TIMEOUT ["Flush autofocus candidates" should be happen after the first animation frame callbacks, and before a resize event in the next iteration of window event loop.] expected: TIMEOUT ["Flush autofocus candidates" should be happen before a scroll event and animation frame callbacks] - expected: TIMEOUT + expected: FAIL diff --git a/tests/wpt/metadata/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_popups_escaping-1.html.ini b/tests/wpt/metadata/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_popups_escaping-1.html.ini index 2d3fbf0f308..25d9964f057 100644 --- a/tests/wpt/metadata/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_popups_escaping-1.html.ini +++ b/tests/wpt/metadata/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_popups_escaping-1.html.ini @@ -1,5 +1,4 @@ [iframe_sandbox_popups_escaping-1.html] type: testharness - expected: TIMEOUT [Check that popups from a sandboxed iframe escape the sandbox if\n allow-popups-to-escape-sandbox is used] - expected: TIMEOUT + expected: FAIL diff --git a/tests/wpt/metadata/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_popups_escaping-2.html.ini b/tests/wpt/metadata/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_popups_escaping-2.html.ini index 841bafc6eca..7df8f9458e9 100644 --- a/tests/wpt/metadata/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_popups_escaping-2.html.ini +++ b/tests/wpt/metadata/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_popups_escaping-2.html.ini @@ -1,3 +1,4 @@ [iframe_sandbox_popups_escaping-2.html] + expected: CRASH [Check that popups from a sandboxed iframe escape the sandbox if\n allow-popups-to-escape-sandbox is used] expected: FAIL diff --git a/tests/wpt/metadata/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_popups_nonescaping-2.html.ini b/tests/wpt/metadata/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_popups_nonescaping-2.html.ini index 76e34322dca..6bec7a732b8 100644 --- a/tests/wpt/metadata/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_popups_nonescaping-2.html.ini +++ b/tests/wpt/metadata/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_popups_nonescaping-2.html.ini @@ -1,5 +1,4 @@ [iframe_sandbox_popups_nonescaping-2.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/sandbox-top-navigation-child-special-cases.tentative.sub.window.js.ini b/tests/wpt/metadata/html/semantics/embedded-content/the-iframe-element/sandbox-top-navigation-child-special-cases.tentative.sub.window.js.ini index 31745fdcdcf..31928ad3947 100644 --- a/tests/wpt/metadata/html/semantics/embedded-content/the-iframe-element/sandbox-top-navigation-child-special-cases.tentative.sub.window.js.ini +++ b/tests/wpt/metadata/html/semantics/embedded-content/the-iframe-element/sandbox-top-navigation-child-special-cases.tentative.sub.window.js.ini @@ -1,4 +1,5 @@ [sandbox-top-navigation-child-special-cases.tentative.sub.window.html] + expected: TIMEOUT [Allow top with user activation + user activation] expected: FAIL diff --git a/tests/wpt/metadata/html/semantics/forms/form-submission-0/multipart-formdata.window.js.ini b/tests/wpt/metadata/html/semantics/forms/form-submission-0/multipart-formdata.window.js.ini index fbc190a2cca..77d6f79dd05 100644 --- a/tests/wpt/metadata/html/semantics/forms/form-submission-0/multipart-formdata.window.js.ini +++ b/tests/wpt/metadata/html/semantics/forms/form-submission-0/multipart-formdata.window.js.ini @@ -178,3 +178,9 @@ [multipart/form-data: 0x00 in value (formdata event)] expected: FAIL + + [multipart/form-data: lone surrogate in name and value (normal form)] + expected: FAIL + + [multipart/form-data: lone surrogate in name and value (formdata event)] + expected: FAIL diff --git a/tests/wpt/metadata/html/semantics/forms/form-submission-0/reparent-form-during-planned-navigation-task.html.ini b/tests/wpt/metadata/html/semantics/forms/form-submission-0/reparent-form-during-planned-navigation-task.html.ini new file mode 100644 index 00000000000..7682a4830bf --- /dev/null +++ b/tests/wpt/metadata/html/semantics/forms/form-submission-0/reparent-form-during-planned-navigation-task.html.ini @@ -0,0 +1,4 @@ +[reparent-form-during-planned-navigation-task.html] + expected: TIMEOUT + [reparent-form-during-planned-navigation-task] + expected: TIMEOUT diff --git a/tests/wpt/metadata/html/semantics/forms/form-submission-0/text-plain.window.js.ini b/tests/wpt/metadata/html/semantics/forms/form-submission-0/text-plain.window.js.ini index 2bd3dee7536..c18ea160973 100644 --- a/tests/wpt/metadata/html/semantics/forms/form-submission-0/text-plain.window.js.ini +++ b/tests/wpt/metadata/html/semantics/forms/form-submission-0/text-plain.window.js.ini @@ -178,3 +178,9 @@ [text/plain: 0x00 in value (formdata event)] expected: FAIL + + [text/plain: lone surrogate in name and value (normal form)] + expected: FAIL + + [text/plain: lone surrogate in name and value (formdata event)] + expected: FAIL diff --git a/tests/wpt/metadata/html/semantics/forms/form-submission-0/urlencoded2.window.js.ini b/tests/wpt/metadata/html/semantics/forms/form-submission-0/urlencoded2.window.js.ini index 695cea45d91..6c23005cd9e 100644 --- a/tests/wpt/metadata/html/semantics/forms/form-submission-0/urlencoded2.window.js.ini +++ b/tests/wpt/metadata/html/semantics/forms/form-submission-0/urlencoded2.window.js.ini @@ -178,3 +178,9 @@ [application/x-www-form-urlencoded: Basic test (formdata event)] expected: FAIL + + [application/x-www-form-urlencoded: lone surrogate in name and value (normal form)] + expected: FAIL + + [application/x-www-form-urlencoded: lone surrogate in name and value (formdata event)] + expected: FAIL diff --git a/tests/wpt/metadata/html/semantics/forms/the-selectmenu-element/selectmenu-pseudo-open-closed.tentative.html.ini b/tests/wpt/metadata/html/semantics/forms/the-selectmenu-element/selectmenu-pseudo-open-closed.tentative.html.ini new file mode 100644 index 00000000000..20d7563d7a1 --- /dev/null +++ b/tests/wpt/metadata/html/semantics/forms/the-selectmenu-element/selectmenu-pseudo-open-closed.tentative.html.ini @@ -0,0 +1,6 @@ +[selectmenu-pseudo-open-closed.tentative.html] + [Selectmenu should support :open and :closed pseudo selectors.] + expected: FAIL + + [Selectmenu :open and :closed should invalidate correctly.] + expected: FAIL diff --git a/tests/wpt/metadata/html/semantics/forms/the-selectmenu-element/selectmenu-user-select.tentative.html.ini b/tests/wpt/metadata/html/semantics/forms/the-selectmenu-element/selectmenu-user-select.tentative.html.ini new file mode 100644 index 00000000000..cad005a84ed --- /dev/null +++ b/tests/wpt/metadata/html/semantics/forms/the-selectmenu-element/selectmenu-user-select.tentative.html.ini @@ -0,0 +1,12 @@ +[selectmenu-user-select.tentative.html] + [Option elements should have user-select:none without slotting buttons or listboxes.] + expected: FAIL + + [Slotted in buttons and listboxes should have user-select:none.] + expected: FAIL + + [Setting user-select:auto on selectmenus should re-enable selection.] + expected: FAIL + + [Children of selectmenu should be able to opt-in to user-select.] + expected: FAIL diff --git a/tests/wpt/metadata/html/semantics/links/links-created-by-a-and-area-elements/htmlanchorelement_noopener.html.ini b/tests/wpt/metadata/html/semantics/links/links-created-by-a-and-area-elements/htmlanchorelement_noopener.html.ini index cc18f512574..071b4378add 100644 --- a/tests/wpt/metadata/html/semantics/links/links-created-by-a-and-area-elements/htmlanchorelement_noopener.html.ini +++ b/tests/wpt/metadata/html/semantics/links/links-created-by-a-and-area-elements/htmlanchorelement_noopener.html.ini @@ -11,6 +11,3 @@ [Check that rel=noopener with target=_parent does a normal load] expected: FAIL - - [Check that rel=noopener with target=_self does a normal load] - expected: FAIL diff --git a/tests/wpt/metadata/html/semantics/scripting-1/the-script-element/module/import-meta/import-meta-url.html.ini b/tests/wpt/metadata/html/semantics/scripting-1/the-script-element/module/import-meta/import-meta-url.html.ini index 514c8b576ad..aefc66df468 100644 --- a/tests/wpt/metadata/html/semantics/scripting-1/the-script-element/module/import-meta/import-meta-url.html.ini +++ b/tests/wpt/metadata/html/semantics/scripting-1/the-script-element/module/import-meta/import-meta-url.html.ini @@ -1,4 +1,5 @@ [import-meta-url.html] + expected: ERROR [import.meta.url at top-level module DedicatedWorker] expected: FAIL diff --git a/tests/wpt/metadata/html/semantics/selectors/pseudo-classes/disabled.html.ini b/tests/wpt/metadata/html/semantics/selectors/pseudo-classes/disabled.html.ini new file mode 100644 index 00000000000..1bad2c00b1a --- /dev/null +++ b/tests/wpt/metadata/html/semantics/selectors/pseudo-classes/disabled.html.ini @@ -0,0 +1,18 @@ +[disabled.html] + [':disabled' should match only disabled elements] + expected: FAIL + + [':disabled' should not match elements whose disabled attribute has been removed] + expected: FAIL + + [':disabled' should also match elements whose disabled attribute has been set] + expected: FAIL + + [':disabled' should also match elements whose disabled attribute has been set twice] + expected: FAIL + + [':disabled' should also match disabled elements whose type has changed] + expected: FAIL + + [':disabled' should not match elements not in the document] + expected: FAIL diff --git a/tests/wpt/metadata/html/syntax/charset/inheritance-bogus-meta-utf-8.html.ini b/tests/wpt/metadata/html/syntax/charset/inheritance-bogus-meta-utf-8.html.ini new file mode 100644 index 00000000000..c7d27b1c1c5 --- /dev/null +++ b/tests/wpt/metadata/html/syntax/charset/inheritance-bogus-meta-utf-8.html.ini @@ -0,0 +1,3 @@ +[inheritance-bogus-meta-utf-8.html] + [Child with bogus Content-Type charset, but valid <meta charset>] + expected: FAIL diff --git a/tests/wpt/metadata/html/syntax/charset/inheritance-bogus-meta.html.ini b/tests/wpt/metadata/html/syntax/charset/inheritance-bogus-meta.html.ini new file mode 100644 index 00000000000..cdb0776ace8 --- /dev/null +++ b/tests/wpt/metadata/html/syntax/charset/inheritance-bogus-meta.html.ini @@ -0,0 +1,6 @@ +[inheritance-bogus-meta.html] + [Child with bogus Content-Type charset, but valid <meta charset>] + expected: FAIL + + [Cross-origin child with bogus <meta charset>] + expected: FAIL diff --git a/tests/wpt/metadata/html/syntax/parsing/DOMContentLoaded-defer.html.ini b/tests/wpt/metadata/html/syntax/parsing/DOMContentLoaded-defer.html.ini deleted file mode 100644 index b8bdf33cb65..00000000000 --- a/tests/wpt/metadata/html/syntax/parsing/DOMContentLoaded-defer.html.ini +++ /dev/null @@ -1,3 +0,0 @@ -[DOMContentLoaded-defer.html] - [The end: DOMContentLoaded and defer scripts] - expected: FAIL diff --git a/tests/wpt/metadata/html/webappapis/scripting/processing-model-2/integration-with-the-javascript-job-queue/promise-job-entry.html.ini b/tests/wpt/metadata/html/webappapis/scripting/processing-model-2/integration-with-the-javascript-job-queue/promise-job-entry.html.ini index 8bcf3a07de4..31bfd644df0 100644 --- a/tests/wpt/metadata/html/webappapis/scripting/processing-model-2/integration-with-the-javascript-job-queue/promise-job-entry.html.ini +++ b/tests/wpt/metadata/html/webappapis/scripting/processing-model-2/integration-with-the-javascript-job-queue/promise-job-entry.html.ini @@ -1,10 +1,9 @@ [promise-job-entry.html] - expected: TIMEOUT [Fulfillment handler on fulfilled promise] expected: FAIL [Rejection handler on pending-then-rejected promise] - expected: TIMEOUT + expected: FAIL [Sanity check: this all works as expected with no promises involved] expected: FAIL @@ -16,4 +15,4 @@ expected: FAIL [Fulfillment handler on pending-then-fulfilled promise] - expected: TIMEOUT + expected: FAIL diff --git a/tests/wpt/metadata/html/webappapis/scripting/processing-model-2/unhandled-promise-rejections/promise-rejection-events.html.ini b/tests/wpt/metadata/html/webappapis/scripting/processing-model-2/unhandled-promise-rejections/promise-rejection-events.html.ini index 4a48dd15a9d..1d71471b73c 100644 --- a/tests/wpt/metadata/html/webappapis/scripting/processing-model-2/unhandled-promise-rejections/promise-rejection-events.html.ini +++ b/tests/wpt/metadata/html/webappapis/scripting/processing-model-2/unhandled-promise-rejections/promise-rejection-events.html.ini @@ -1,6 +1,7 @@ [promise-rejection-events.html] + expected: TIMEOUT [delayed handling: delaying handling rejected promise created from createImageBitmap will cause both events to fire] - expected: FAIL + expected: TIMEOUT [unhandledrejection: from createImageBitmap which is UA triggered] expected: FAIL diff --git a/tests/wpt/metadata/resource-timing/nested-context-navigations-iframe.html.ini b/tests/wpt/metadata/resource-timing/nested-context-navigations-iframe.html.ini index 0df8e913209..9df96f72c08 100644 --- a/tests/wpt/metadata/resource-timing/nested-context-navigations-iframe.html.ini +++ b/tests/wpt/metadata/resource-timing/nested-context-navigations-iframe.html.ini @@ -1,28 +1,10 @@ [nested-context-navigations-iframe.html] expected: TIMEOUT - [Test that iframe navigations are not observable by the parent, even after history navigations by the parent] - expected: TIMEOUT - - [Test that crossorigin iframe navigations are not observable by the parent, even after history navigations by the parent] - expected: NOTRUN - [Test that iframe refreshes are not observable by the parent] - expected: NOTRUN - - [Test that crossorigin iframe navigations are not observable by the parent] - expected: NOTRUN + expected: TIMEOUT [Test that crossorigin iframe refreshes are not observable by the parent] expected: NOTRUN - [Test that iframe navigations are not observable by the parent] - expected: NOTRUN - - [Test that cross-site iframe navigations are not observable by the parent, even after history navigations by the parent] - expected: NOTRUN - - [Test that cross-site iframe navigations are not observable by the parent] - expected: NOTRUN - [Test that cross-site iframe refreshes are not observable by the parent] expected: NOTRUN diff --git a/tests/wpt/metadata/resource-timing/response-status-code.html.ini b/tests/wpt/metadata/resource-timing/response-status-code.html.ini index b84e3cf7b11..38df5f01300 100644 --- a/tests/wpt/metadata/resource-timing/response-status-code.html.ini +++ b/tests/wpt/metadata/resource-timing/response-status-code.html.ini @@ -265,10 +265,10 @@ expected: FAIL [This test validates the response status of resources. 88] - expected: TIMEOUT + expected: FAIL [This test validates the response status of resources. 89] - expected: NOTRUN + expected: TIMEOUT [This test validates the response status of resources. 90] expected: NOTRUN diff --git a/tests/wpt/metadata/url/url-constructor.any.js.ini b/tests/wpt/metadata/url/url-constructor.any.js.ini index 9810ac3bd2a..eaf3130a21b 100644 --- a/tests/wpt/metadata/url/url-constructor.any.js.ini +++ b/tests/wpt/metadata/url/url-constructor.any.js.ini @@ -405,6 +405,54 @@ [Parsing: <file:/.//p> against <about:blank>] expected: FAIL + [Parsing: <file:\\\\//> without base] + expected: FAIL + + [Parsing: <file:\\\\\\\\> without base] + expected: FAIL + + [Parsing: <file:\\\\\\\\?fox> without base] + expected: FAIL + + [Parsing: <file:\\\\\\\\#guppy> without base] + expected: FAIL + + [Parsing: <file://spider///> without base] + expected: FAIL + + [Parsing: <file:\\\\localhost//> without base] + expected: FAIL + + [Parsing: <file://\\/localhost//cat> without base] + expected: FAIL + + [Parsing: <file://localhost//a//../..//> without base] + expected: FAIL + + [Parsing: <file://example.net/C:/> without base] + expected: FAIL + + [Parsing: <file://1.2.3.4/C:/> without base] + expected: FAIL + + [Parsing: <file://[1::8\]/C:/> without base] + expected: FAIL + + [Parsing: <file://localhost//a//../..//foo> without base] + expected: FAIL + + [Parsing: <file://localhost////foo> without base] + expected: FAIL + + [Parsing: <file:////foo> without base] + expected: FAIL + + [Parsing: <file:.//p> without base] + expected: FAIL + + [Parsing: <file:/.//p> without base] + expected: FAIL + [url-constructor.any.html?include=mailto] @@ -553,6 +601,72 @@ [Parsing: <path> against <non-spec:/..//p>] expected: FAIL + [Parsing: <file:\\\\//> without base] + expected: FAIL + + [Parsing: <file:\\\\\\\\> without base] + expected: FAIL + + [Parsing: <file:\\\\\\\\?fox> without base] + expected: FAIL + + [Parsing: <file:\\\\\\\\#guppy> without base] + expected: FAIL + + [Parsing: <file://spider///> without base] + expected: FAIL + + [Parsing: <file:\\\\localhost//> without base] + expected: FAIL + + [Parsing: <file://\\/localhost//cat> without base] + expected: FAIL + + [Parsing: <file://localhost//a//../..//> without base] + expected: FAIL + + [Parsing: <file://example.net/C:/> without base] + expected: FAIL + + [Parsing: <file://1.2.3.4/C:/> without base] + expected: FAIL + + [Parsing: <file://[1::8\]/C:/> without base] + expected: FAIL + + [Parsing: <file://localhost//a//../..//foo> without base] + expected: FAIL + + [Parsing: <file://localhost////foo> without base] + expected: FAIL + + [Parsing: <file:////foo> without base] + expected: FAIL + + [Parsing: <file:.//p> without base] + expected: FAIL + + [Parsing: <file:/.//p> without base] + expected: FAIL + + [Parsing: <non-spec:/.//> without base] + expected: FAIL + + [Parsing: <non-spec:/..//> without base] + expected: FAIL + + [Parsing: <non-spec:/a/..//> without base] + expected: FAIL + + [Parsing: <non-spec:/.//path> without base] + expected: FAIL + + [Parsing: <non-spec:/..//path> without base] + expected: FAIL + + [Parsing: <non-spec:/a/..//path> without base] + expected: FAIL + [url-constructor.any.html?include=file] [Parsing: </> against <file://h/C:/a/b>] @@ -663,6 +777,54 @@ [Parsing: <file:/.//p> against <about:blank>] expected: FAIL + [Parsing: <file:\\\\//> without base] + expected: FAIL + + [Parsing: <file:\\\\\\\\> without base] + expected: FAIL + + [Parsing: <file:\\\\\\\\?fox> without base] + expected: FAIL + + [Parsing: <file:\\\\\\\\#guppy> without base] + expected: FAIL + + [Parsing: <file://spider///> without base] + expected: FAIL + + [Parsing: <file:\\\\localhost//> without base] + expected: FAIL + + [Parsing: <file://\\/localhost//cat> without base] + expected: FAIL + + [Parsing: <file://localhost//a//../..//> without base] + expected: FAIL + + [Parsing: <file://example.net/C:/> without base] + expected: FAIL + + [Parsing: <file://1.2.3.4/C:/> without base] + expected: FAIL + + [Parsing: <file://[1::8\]/C:/> without base] + expected: FAIL + + [Parsing: <file://localhost//a//../..//foo> without base] + expected: FAIL + + [Parsing: <file://localhost////foo> without base] + expected: FAIL + + [Parsing: <file:////foo> without base] + expected: FAIL + + [Parsing: <file:.//p> without base] + expected: FAIL + + [Parsing: <file:/.//p> without base] + expected: FAIL + [url-constructor.any.html?include=javascript] @@ -705,5 +867,23 @@ [Parsing: <path> against <non-spec:/..//p>] expected: FAIL + [Parsing: <non-spec:/.//> without base] + expected: FAIL + + [Parsing: <non-spec:/..//> without base] + expected: FAIL + + [Parsing: <non-spec:/a/..//> without base] + expected: FAIL + + [Parsing: <non-spec:/.//path> without base] + expected: FAIL + + [Parsing: <non-spec:/..//path> without base] + expected: FAIL + + [Parsing: <non-spec:/a/..//path> without base] + expected: FAIL + [url-constructor.any.worker.html?include=javascript] diff --git a/tests/wpt/metadata/webmessaging/with-ports/017.html.ini b/tests/wpt/metadata/webmessaging/with-ports/017.html.ini new file mode 100644 index 00000000000..c7946fc91b4 --- /dev/null +++ b/tests/wpt/metadata/webmessaging/with-ports/017.html.ini @@ -0,0 +1,4 @@ +[017.html] + expected: TIMEOUT + [origin of the script that invoked the method, about:blank] + expected: TIMEOUT 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..b7b36c1d3a4 --- /dev/null +++ b/tests/wpt/metadata/webmessaging/with-ports/018.html.ini @@ -0,0 +1,4 @@ +[018.html] + expected: TIMEOUT + [origin of the script that invoked the method, javascript:] + expected: TIMEOUT diff --git a/tests/wpt/metadata/webmessaging/without-ports/017.html.ini b/tests/wpt/metadata/webmessaging/without-ports/017.html.ini new file mode 100644 index 00000000000..c7946fc91b4 --- /dev/null +++ b/tests/wpt/metadata/webmessaging/without-ports/017.html.ini @@ -0,0 +1,4 @@ +[017.html] + expected: TIMEOUT + [origin of the script that invoked the method, about:blank] + expected: TIMEOUT diff --git a/tests/wpt/metadata/workers/interfaces/WorkerUtils/navigator/007.html.ini b/tests/wpt/metadata/workers/interfaces/WorkerUtils/navigator/007.html.ini index bee2e366a86..4b20cec73d7 100644 --- a/tests/wpt/metadata/workers/interfaces/WorkerUtils/navigator/007.html.ini +++ b/tests/wpt/metadata/workers/interfaces/WorkerUtils/navigator/007.html.ini @@ -1,6 +1,3 @@ [007.html] type: testharness bug: https://github.com/servo/servo/issues/12414 - [readonlyness of members of Navigator] - expected: FAIL - diff --git a/tests/wpt/mozilla/meta-layout-2020/css/float-abspos.html.ini b/tests/wpt/mozilla/meta-layout-2020/css/float-abspos.html.ini index 50046a02046..6481296787a 100644 --- a/tests/wpt/mozilla/meta-layout-2020/css/float-abspos.html.ini +++ b/tests/wpt/mozilla/meta-layout-2020/css/float-abspos.html.ini @@ -1,4 +1,3 @@ [float-abspos.html] [A positioned element's float value computes to none] expected: FAIL - diff --git a/tests/wpt/mozilla/meta-layout-2020/css/float_relative_to_position.html.ini b/tests/wpt/mozilla/meta-layout-2020/css/float_relative_to_position.html.ini index fa68160e643..ccb4cd7daaf 100644 --- a/tests/wpt/mozilla/meta-layout-2020/css/float_relative_to_position.html.ini +++ b/tests/wpt/mozilla/meta-layout-2020/css/float_relative_to_position.html.ini @@ -1,4 +1,3 @@ [float_relative_to_position.html] [Tests the relationship between float and position] expected: FAIL - diff --git a/tests/wpt/mozilla/meta-layout-2020/css/get-computed-style-for-url.html.ini b/tests/wpt/mozilla/meta-layout-2020/css/get-computed-style-for-url.html.ini index 6baedc15772..dbf01f18c80 100644 --- a/tests/wpt/mozilla/meta-layout-2020/css/get-computed-style-for-url.html.ini +++ b/tests/wpt/mozilla/meta-layout-2020/css/get-computed-style-for-url.html.ini @@ -4,4 +4,3 @@ [getComputedStyle(elem) for url() borderImage uses the resolved URL and elem.style uses the original URL] expected: FAIL - diff --git a/tests/wpt/mozilla/meta-layout-2020/css/iframe/size_attributes_vertical_writing_mode.html.ini b/tests/wpt/mozilla/meta-layout-2020/css/iframe/size_attributes_vertical_writing_mode.html.ini index 6bcd84d6fa2..f3a5b36bcb3 100644 --- a/tests/wpt/mozilla/meta-layout-2020/css/iframe/size_attributes_vertical_writing_mode.html.ini +++ b/tests/wpt/mozilla/meta-layout-2020/css/iframe/size_attributes_vertical_writing_mode.html.ini @@ -1,2 +1,2 @@ [size_attributes_vertical_writing_mode.html] - expected: FAIL + expected: CRASH diff --git a/tests/wpt/mozilla/meta-layout-2020/css/test_variable_serialization_computed.html.ini b/tests/wpt/mozilla/meta-layout-2020/css/test_variable_serialization_computed.html.ini index 010b796d98e..379a8dea72f 100644 --- a/tests/wpt/mozilla/meta-layout-2020/css/test_variable_serialization_computed.html.ini +++ b/tests/wpt/mozilla/meta-layout-2020/css/test_variable_serialization_computed.html.ini @@ -1,4 +1,3 @@ [test_variable_serialization_computed.html] [subtest #23 with `counter-reset: var(--a)red; --a:orange;`] expected: FAIL - diff --git a/tests/wpt/mozilla/meta-layout-2020/css/vertical-lr-blocks.html.ini b/tests/wpt/mozilla/meta-layout-2020/css/vertical-lr-blocks.html.ini index 1ea3e802073..80b30a18622 100644 --- a/tests/wpt/mozilla/meta-layout-2020/css/vertical-lr-blocks.html.ini +++ b/tests/wpt/mozilla/meta-layout-2020/css/vertical-lr-blocks.html.ini @@ -1,2 +1,2 @@ [vertical-lr-blocks.html] - expected: FAIL + expected: CRASH diff --git a/tests/wpt/mozilla/meta-layout-2020/css/writing-mode_change_display.html.ini b/tests/wpt/mozilla/meta-layout-2020/css/writing-mode_change_display.html.ini index ba985d22e0d..f7cb6cb394d 100644 --- a/tests/wpt/mozilla/meta-layout-2020/css/writing-mode_change_display.html.ini +++ b/tests/wpt/mozilla/meta-layout-2020/css/writing-mode_change_display.html.ini @@ -1,4 +1,4 @@ [writing-mode_change_display.html] + expected: CRASH [The span's `display` should change from `inline` to `inline-block`, because of its writing-mode.] expected: FAIL - diff --git a/tests/wpt/mozilla/meta-layout-2020/mozilla/calc.html.ini b/tests/wpt/mozilla/meta-layout-2020/mozilla/calc.html.ini index f1a78d39737..dcf5b8ef516 100644 --- a/tests/wpt/mozilla/meta-layout-2020/mozilla/calc.html.ini +++ b/tests/wpt/mozilla/meta-layout-2020/mozilla/calc.html.ini @@ -28,4 +28,3 @@ [calc for outline-offset] expected: FAIL - diff --git a/tests/wpt/mozilla/meta-layout-2020/mozilla/element_parentOffset.html.ini b/tests/wpt/mozilla/meta-layout-2020/mozilla/element_parentOffset.html.ini index 7c5f1ba5107..0db83ebfda4 100644 --- a/tests/wpt/mozilla/meta-layout-2020/mozilla/element_parentOffset.html.ini +++ b/tests/wpt/mozilla/meta-layout-2020/mozilla/element_parentOffset.html.ini @@ -1,4 +1,3 @@ [element_parentOffset.html] [element_parentOffset] expected: FAIL - diff --git a/tests/wpt/mozilla/meta-layout-2020/mozilla/getPropertyPriority.html.ini b/tests/wpt/mozilla/meta-layout-2020/mozilla/getPropertyPriority.html.ini index f55fddc0234..8dfeae92410 100644 --- a/tests/wpt/mozilla/meta-layout-2020/mozilla/getPropertyPriority.html.ini +++ b/tests/wpt/mozilla/meta-layout-2020/mozilla/getPropertyPriority.html.ini @@ -1,4 +1,3 @@ [getPropertyPriority.html] [getPropertyPriority] expected: FAIL - diff --git a/tests/wpt/mozilla/meta-layout-2020/mozilla/video_poster_frame.html.ini b/tests/wpt/mozilla/meta-layout-2020/mozilla/video_poster_frame.html.ini index a8b5c2da0c5..71284eaf37b 100644 --- a/tests/wpt/mozilla/meta-layout-2020/mozilla/video_poster_frame.html.ini +++ b/tests/wpt/mozilla/meta-layout-2020/mozilla/video_poster_frame.html.ini @@ -1,2 +1,2 @@ [video_poster_frame.html] - expected: TIMEOUT + expected: FAIL diff --git a/tests/wpt/mozilla/meta-layout-2020/mozilla/worklets/test_paint_worklet.html.ini b/tests/wpt/mozilla/meta-layout-2020/mozilla/worklets/test_paint_worklet.html.ini index d7f24b68e19..4b97b84aeb2 100644 --- a/tests/wpt/mozilla/meta-layout-2020/mozilla/worklets/test_paint_worklet.html.ini +++ b/tests/wpt/mozilla/meta-layout-2020/mozilla/worklets/test_paint_worklet.html.ini @@ -1,2 +1,2 @@ [test_paint_worklet.html] - expected: TIMEOUT + expected: FAIL diff --git a/tests/wpt/mozilla/meta/mozilla/hit_test_pos_fixed.html.ini b/tests/wpt/mozilla/meta/mozilla/hit_test_pos_fixed.html.ini deleted file mode 100644 index 6bab9b02dde..00000000000 --- a/tests/wpt/mozilla/meta/mozilla/hit_test_pos_fixed.html.ini +++ /dev/null @@ -1,3 +0,0 @@ -[hit_test_pos_fixed.html] - [Hit-test of an element with position: fixed should discard scroll offset] - expected: FAIL diff --git a/tests/wpt/mozilla/meta/mozilla/scrollBy.html.ini b/tests/wpt/mozilla/meta/mozilla/scrollBy.html.ini new file mode 100644 index 00000000000..f78f699f620 --- /dev/null +++ b/tests/wpt/mozilla/meta/mozilla/scrollBy.html.ini @@ -0,0 +1,3 @@ +[scrollBy.html] + [Ensure that the window.scrollBy function affects scroll position as expected] + expected: FAIL diff --git a/tests/wpt/web-platform-tests/.well-known/web-identity b/tests/wpt/web-platform-tests/.well-known/web-identity index cba0cb331e7..2095182bd04 100644 --- a/tests/wpt/web-platform-tests/.well-known/web-identity +++ b/tests/wpt/web-platform-tests/.well-known/web-identity @@ -26,6 +26,8 @@ def main(request, response): if request.headers.get(b"Origin"): return (534, [], "Should not have Origin") + response.headers.set(b"Content-Type", b"application/json") + return """ {{ "provider_urls": [ diff --git a/tests/wpt/web-platform-tests/badging/META.yml b/tests/wpt/web-platform-tests/badging/META.yml index 1826b19d02e..840e187cbad 100644 --- a/tests/wpt/web-platform-tests/badging/META.yml +++ b/tests/wpt/web-platform-tests/badging/META.yml @@ -1 +1,4 @@ spec: https://w3c.github.io/badging/ +suggested_reviewers: + - marcoscaceres + - diekus diff --git a/tests/wpt/web-platform-tests/badging/non-fully-active.https.html b/tests/wpt/web-platform-tests/badging/non-fully-active.https.html new file mode 100644 index 00000000000..d870e52273c --- /dev/null +++ b/tests/wpt/web-platform-tests/badging/non-fully-active.https.html @@ -0,0 +1,19 @@ +<!DOCTYPE html> +<title>Badging: attempting to badge non-fully active document</title> +<script src="/resources/testharness.js"></script> +<script src="/resources/testharnessreport.js"></script> +<body></body> +<script> +promise_test(async t => { + const iframe = document.createElement("iframe"); + document.body.appendChild(iframe); + await new Promise(resolve => { + iframe.onload = resolve; + iframe.src = "about:blank"; + }); + const exceptionCtor = iframe.contentWindow.DOMException; + const {navigator: nav} = iframe.contentWindow; + iframe.remove(); + return promise_rejects_dom(t, "InvalidStateError", exceptionCtor, nav.setAppBadge(1)); +}, "badging a non-fully active document should reject with InvalidStateError"); +</script> diff --git a/tests/wpt/web-platform-tests/badging/resources/setAppBadge_iframe.html b/tests/wpt/web-platform-tests/badging/resources/setAppBadge_iframe.html new file mode 100644 index 00000000000..8738099658f --- /dev/null +++ b/tests/wpt/web-platform-tests/badging/resources/setAppBadge_iframe.html @@ -0,0 +1,33 @@ +<!DOCTYPE html> +<meta charset="utf-8" /> +<title>setAppBadge iframe</title> +<script> + async function callSetAppBadge() { + const postMessageData = { message: "callSetAppBadge" }; + + try { + await navigator.setAppBadge(); + postMessageData.status = "success"; + } catch (e) { + if (e instanceof DOMException) { + postMessageData.status = "error"; + postMessageData.exceptionType = e.name; + } else { + postMessageData.status = "unknown_error"; + postMessageData.error = e.toString(); + } + } finally { + window.parent.postMessage(postMessageData, "*"); + } + } + + window.addEventListener("message", async (event) => { + switch (event.data) { + case "callSetAppBadge": + await callSetAppBadge(); + break; + default: + throw new Error(`Unexpected message: ${event.data}`); + } + }); +</script> diff --git a/tests/wpt/web-platform-tests/badging/setAppBadge_cross_origin.sub.https.html b/tests/wpt/web-platform-tests/badging/setAppBadge_cross_origin.sub.https.html new file mode 100644 index 00000000000..7e548879bcb --- /dev/null +++ b/tests/wpt/web-platform-tests/badging/setAppBadge_cross_origin.sub.https.html @@ -0,0 +1,64 @@ +<!DOCTYPE html> +<meta charset="utf-8" /> +<title>Test cross-origin and same-origin use of setAppBadge</title> +<script src="/resources/testharness.js"></script> +<script src="/resources/testharnessreport.js"></script> +<iframe id="testIframe"></iframe> +<script> + const iframe = document.getElementById("testIframe"); + + function sendMessageToIframe(message) { + return new Promise((resolve) => { + window.addEventListener("message", function listener(event) { + const { messageId } = event.data; + if (event.data.message !== message) return; + window.removeEventListener("message", listener); + resolve(event); + }); + iframe.contentWindow.postMessage("callSetAppBadge", "*"); + }); + } + + function loadIframe(src) { + return new Promise((resolve) => { + iframe.addEventListener("load", resolve); + iframe.src = src; + }); + } + + test(() => { + assert_true( + "setAppBadge" in navigator, + "navigator.setAppBadge should be available" + ); + }, "Test that navigator.setAppBadge is available"); + + promise_test(async () => { + await loadIframe( + `https://{{hosts[][]}}:{{ports[https][1]}}/badging/resources/setAppBadge_iframe.html` + ); + const event = await sendMessageToIframe("callSetAppBadge"); + const { exceptionType, status } = event.data; + assert_equals( + status, + "error", + "setAppBadge should have rejected with an error" + ); + assert_equals( + exceptionType, + "SecurityError", + "setAppBadge should throw a SecurityError when called in a cross-origin iframe" + ); + }, "Test that calling setAppBadge in a cross-origin iframe throws a SecurityError"); + + promise_test(async () => { + await loadIframe("./resources/setAppBadge_iframe.html"); + const event = await sendMessageToIframe("callSetAppBadge"); + const { status } = event.data; + assert_equals( + status, + "success", + "setAppBadge should succeed when called in a same-origin iframe" + ); + }, "Test that calling setAppBadge in a same-origin iframe succeeds"); +</script> diff --git a/tests/wpt/web-platform-tests/bluetooth/requestDevice/canonicalizeFilter/empty-exclusion-filter.https.window.js b/tests/wpt/web-platform-tests/bluetooth/requestDevice/canonicalizeFilter/empty-exclusion-filter.https.window.js new file mode 100644 index 00000000000..0d4b196cc7d --- /dev/null +++ b/tests/wpt/web-platform-tests/bluetooth/requestDevice/canonicalizeFilter/empty-exclusion-filter.https.window.js @@ -0,0 +1,14 @@ +// META: script=/resources/testdriver.js +// META: script=/resources/testdriver-vendor.js +// META: script=/bluetooth/resources/bluetooth-test.js +// META: script=/bluetooth/resources/bluetooth-fake-devices.js +'use strict'; +const test_desc = 'An exclusion filter must restrict the devices in some way.'; +const expected = new TypeError(); + +bluetooth_test( + () => assert_promise_rejects_with_message( + requestDeviceWithTrustedClick( + {filters: [{name: 'Name'}], exclusionFilters: [{}]}), + expected), + test_desc); diff --git a/tests/wpt/web-platform-tests/bluetooth/requestDevice/canonicalizeFilter/empty-exclusion-filters-member.https.window.js b/tests/wpt/web-platform-tests/bluetooth/requestDevice/canonicalizeFilter/empty-exclusion-filters-member.https.window.js new file mode 100644 index 00000000000..d380fa0268e --- /dev/null +++ b/tests/wpt/web-platform-tests/bluetooth/requestDevice/canonicalizeFilter/empty-exclusion-filters-member.https.window.js @@ -0,0 +1,19 @@ +// META: script=/resources/testdriver.js +// META: script=/resources/testdriver-vendor.js +// META: script=/bluetooth/resources/bluetooth-test.js +// META: script=/bluetooth/resources/bluetooth-fake-devices.js +'use strict'; +const test_desc = + 'An empty |exclusionFilters| member should result in a TypeError'; +const expected = new DOMException( + 'Failed to execute \'requestDevice\' on ' + + '\'Bluetooth\': \'exclusionFilters\' member must be non-empty to ' + + 'exclude any device.', + new TypeError()); + +bluetooth_test( + () => assert_promise_rejects_with_message( + requestDeviceWithTrustedClick( + {filters: [{name: 'Name'}], exclusionFilters: []}), + expected), + test_desc); diff --git a/tests/wpt/web-platform-tests/bluetooth/requestDevice/canonicalizeFilter/exclusion-filters-require-filters.https.window.js b/tests/wpt/web-platform-tests/bluetooth/requestDevice/canonicalizeFilter/exclusion-filters-require-filters.https.window.js new file mode 100644 index 00000000000..d7db260deeb --- /dev/null +++ b/tests/wpt/web-platform-tests/bluetooth/requestDevice/canonicalizeFilter/exclusion-filters-require-filters.https.window.js @@ -0,0 +1,28 @@ +// META: script=/resources/testdriver.js +// META: script=/resources/testdriver-vendor.js +// META: script=/bluetooth/resources/bluetooth-test.js +// META: script=/bluetooth/resources/bluetooth-fake-devices.js +'use strict'; +const test_desc = + 'RequestDeviceOptions should have \'filters\' if \'exclusionFilters\' is present. Reject with TypeError if not.'; +const expected = new DOMException( + 'Failed to execute \'requestDevice\' on \'Bluetooth\': ' + + '\'filters\' member must be present if \'exclusionFilters\' is present.', + new TypeError()); +const test_specs = [ + {exclusionFilters: []}, + {exclusionFilters: [], acceptAllDevices: true}, + {exclusionFilters: [{}]}, + {exclusionFilters: [{}], acceptAllDevices: true}, + {exclusionFilters: [{name: 'Name'}]}, + {exclusionFilters: [{name: 'Name'}], acceptAllDevices: true}, +]; + +bluetooth_test(() => { + let test_promises = Promise.resolve(); + test_specs.forEach(args => {test_promises = test_promises.then(() => { + return assert_promise_rejects_with_message( + requestDeviceWithTrustedClick(args), expected) + })}); + return test_promises; +}, test_desc); diff --git a/tests/wpt/web-platform-tests/browsing-topics/browsing-topics-permissions-policy-default.tentative.https.sub.html b/tests/wpt/web-platform-tests/browsing-topics/browsing-topics-permissions-policy-default.tentative.https.sub.html index a7c5a95cff3..884ad9276a1 100644 --- a/tests/wpt/web-platform-tests/browsing-topics/browsing-topics-permissions-policy-default.tentative.https.sub.html +++ b/tests/wpt/web-platform-tests/browsing-topics/browsing-topics-permissions-policy-default.tentative.https.sub.html @@ -2,6 +2,7 @@ <body> <script src=/resources/testharness.js></script> <script src=/resources/testharnessreport.js></script> + <script src=/browsing-topics/resources/navigation-header-util.sub.js></script> <script src=/browsing-topics/resources/permissions-policy-util.sub.js></script> <script> 'use strict'; @@ -37,5 +38,18 @@ let topics_header = await response.text(); assert_equals(topics_header, ""); }, header + 'allows the \'Sec-Browsing-Topics\' header to be sent for the cross-origin topics fetch request.'); + + async_test(t => { + test_topics_iframe_navigation_header( + t, /*has_browsing_topics_attribute=*/true, /*is_same_origin=*/true, + expect_topics_header_available); + }, header + ' allows the \'Sec-Browsing-Topics\' header to be sent for the same-origin iframe navigation request.'); + + async_test(t => { + test_topics_iframe_navigation_header( + t, /*has_browsing_topics_attribute=*/true, /*is_same_origin=*/false, + expect_topics_header_available); + }, header + ' allows the \'Sec-Browsing-Topics\' header to be sent for the cross-origin iframe navigation request.'); + </script> </body> diff --git a/tests/wpt/web-platform-tests/browsing-topics/browsing-topics-permissions-policy-none.tentative.https.sub.html b/tests/wpt/web-platform-tests/browsing-topics/browsing-topics-permissions-policy-none.tentative.https.sub.html index 7d33f3bdaee..2f80daa2714 100644 --- a/tests/wpt/web-platform-tests/browsing-topics/browsing-topics-permissions-policy-none.tentative.https.sub.html +++ b/tests/wpt/web-platform-tests/browsing-topics/browsing-topics-permissions-policy-none.tentative.https.sub.html @@ -2,6 +2,7 @@ <body> <script src=/resources/testharness.js></script> <script src=/resources/testharnessreport.js></script> + <script src=/browsing-topics/resources/navigation-header-util.sub.js></script> <script src=/browsing-topics/resources/permissions-policy-util.sub.js></script> <script> 'use strict'; @@ -42,5 +43,17 @@ let topics_header = await response.text(); assert_equals(topics_header, "NO_TOPICS_HEADER"); }, header + 'disallows the \'Sec-Browsing-Topics\' header to be sent for the cross-origin topics fetch request.'); + + async_test(t => { + test_topics_iframe_navigation_header( + t, /*has_browsing_topics_attribute=*/true, /*is_same_origin=*/true, + expect_topics_header_unavailable); + }, header + ' disallows the \'Sec-Browsing-Topics\' header to be sent for the same-origin iframe navigation request.'); + + async_test(t => { + test_topics_iframe_navigation_header( + t, /*has_browsing_topics_attribute=*/true, /*is_same_origin=*/false, + expect_topics_header_unavailable); + }, header + ' disallows the \'Sec-Browsing-Topics\' header to be sent for the cross-origin iframe navigation request.'); </script> </body> diff --git a/tests/wpt/web-platform-tests/browsing-topics/browsing-topics-permissions-policy-self.tentative.https.sub.html b/tests/wpt/web-platform-tests/browsing-topics/browsing-topics-permissions-policy-self.tentative.https.sub.html index 7647998c856..60126679479 100644 --- a/tests/wpt/web-platform-tests/browsing-topics/browsing-topics-permissions-policy-self.tentative.https.sub.html +++ b/tests/wpt/web-platform-tests/browsing-topics/browsing-topics-permissions-policy-self.tentative.https.sub.html @@ -2,6 +2,7 @@ <body> <script src=/resources/testharness.js></script> <script src=/resources/testharnessreport.js></script> + <script src=/browsing-topics/resources/navigation-header-util.sub.js></script> <script src=/browsing-topics/resources/permissions-policy-util.sub.js></script> <script> 'use strict'; @@ -49,5 +50,17 @@ let topics_header = await response.text(); assert_equals(topics_header, "NO_TOPICS_HEADER"); }, header + 'disallows the \'Sec-Browsing-Topics\' header to be sent for the redirect of a topics fetch request, where the redirect has a cross-origin URL.'); + + async_test(t => { + test_topics_iframe_navigation_header( + t, /*has_browsing_topics_attribute=*/true, /*is_same_origin=*/true, + expect_topics_header_available); + }, header + ' allows the \'Sec-Browsing-Topics\' header to be sent for the same-origin iframe navigation request.'); + + async_test(t => { + test_topics_iframe_navigation_header( + t, /*has_browsing_topics_attribute=*/true, /*is_same_origin=*/false, + expect_topics_header_unavailable); + }, header + ' disallows the \'Sec-Browsing-Topics\' header to be sent for the cross-origin iframe navigation request.'); </script> </body> diff --git a/tests/wpt/web-platform-tests/browsing-topics/iframe-topics-attribute-insecure-context.tentative.http.sub.html b/tests/wpt/web-platform-tests/browsing-topics/iframe-topics-attribute-insecure-context.tentative.http.sub.html new file mode 100644 index 00000000000..19c79e0d7f0 --- /dev/null +++ b/tests/wpt/web-platform-tests/browsing-topics/iframe-topics-attribute-insecure-context.tentative.http.sub.html @@ -0,0 +1,36 @@ +<!doctype html> +<body> + <script src=/resources/testharness.js></script> + <script src=/resources/testharnessreport.js></script> + <script src=/browsing-topics/resources/navigation-header-util.sub.js></script> + <script> + async_test(t => { + test_topics_iframe_navigation_header( + t, /*has_browsing_topics_attribute=*/true, /*is_same_origin=*/false, + expect_topics_header_unavailable); + }, 'test <iframe browsingtopics src=[url]></iframe> in an insecure context, where the browsingtopics attribute is set via IDL.'); + + async_test(t => { + const same_origin_src = '/browsing-topics/resources/check-topics-request-header-notify-parent.py'; + const cross_origin_src = 'https://{{domains[www]}}:{{ports[https][0]}}' + + same_origin_src; + + let frame = document.createElement('iframe'); + + window.addEventListener('message', t.step_func(function handler(evt) { + if (evt.source === frame.contentWindow) { + assert_equals(evt.data.topicsHeader, 'NO_TOPICS_HEADER'); + + document.body.removeChild(frame); + window.removeEventListener('message', handler); + t.done(); + } + })); + + document.body.appendChild(frame); + + frame.setAttribute("browsingtopics", "123"); + frame.src = cross_origin_src; + }, 'test <iframe browsingtopics src=[url]></iframe> in an insecure context, where the browsingtopics attribute is set via setAttribute().'); + </script> +</body> diff --git a/tests/wpt/web-platform-tests/browsing-topics/iframe-topics-attribute.tentative.https.html b/tests/wpt/web-platform-tests/browsing-topics/iframe-topics-attribute.tentative.https.html new file mode 100644 index 00000000000..b90f967146c --- /dev/null +++ b/tests/wpt/web-platform-tests/browsing-topics/iframe-topics-attribute.tentative.https.html @@ -0,0 +1,19 @@ +<!doctype html> +<body> + <script src=/resources/testharness.js></script> + <script src=/resources/testharnessreport.js></script> + <script src=/browsing-topics/resources/navigation-header-util.sub.js></script> + <script> + async_test(t => { + test_topics_iframe_navigation_header( + t, /*has_browsing_topics_attribute=*/false, /*is_same_origin=*/false, + expect_topics_header_unavailable); + }, 'test <iframe src=[url]></iframe>'); + + async_test(t => { + test_topics_iframe_navigation_header( + t, /*has_browsing_topics_attribute=*/true, /*is_same_origin=*/false, + expect_topics_header_available); + }, 'test <iframe browsingtopics src=[url]></iframe>'); + </script> +</body> diff --git a/tests/wpt/web-platform-tests/browsing-topics/resources/check-topics-request-header-notify-parent.py b/tests/wpt/web-platform-tests/browsing-topics/resources/check-topics-request-header-notify-parent.py new file mode 100644 index 00000000000..98c77c2b0bd --- /dev/null +++ b/tests/wpt/web-platform-tests/browsing-topics/resources/check-topics-request-header-notify-parent.py @@ -0,0 +1,18 @@ +def main(request, response): + """ + Returns an HTML response that notifies its parent frame the topics header + via postMessage + """ + + topics_header = request.headers.get(b"sec-browsing-topics", b"NO_TOPICS_HEADER") + + headers = [(b"Content-Type", b"text/html"), + (b"Access-Control-Allow-Origin", b"*")] + content = b''' +<script> + let parentOrOpener = window.opener || window.parent; + parentOrOpener.postMessage({ topicsHeader: '%s'}, "*"); +</script> +''' % (topics_header) + + return 200, headers, content diff --git a/tests/wpt/web-platform-tests/browsing-topics/resources/navigation-header-util.sub.js b/tests/wpt/web-platform-tests/browsing-topics/resources/navigation-header-util.sub.js new file mode 100644 index 00000000000..b3bec79651d --- /dev/null +++ b/tests/wpt/web-platform-tests/browsing-topics/resources/navigation-header-util.sub.js @@ -0,0 +1,36 @@ +function test_topics_iframe_navigation_header( + test, has_browsing_topics_attribute, is_same_origin, expect_topics_header_available_func) { + const same_origin_src = '/browsing-topics/resources/check-topics-request-header-notify-parent.py'; + const cross_origin_src = 'https://{{domains[www]}}:{{ports[https][0]}}' + + same_origin_src; + + let frame = document.createElement('iframe'); + frame.src = is_same_origin ? same_origin_src : cross_origin_src; + + if (has_browsing_topics_attribute) { + frame.browsingTopics = true; + } + + window.addEventListener('message', test.step_func(function handler(evt) { + if (evt.source === frame.contentWindow) { + expect_topics_header_available_func(evt.data); + + document.body.removeChild(frame); + window.removeEventListener('message', handler); + test.done(); + } + })); + + document.body.appendChild(frame); +} + +function expect_topics_header_unavailable(data) { + assert_equals(data.topicsHeader, 'NO_TOPICS_HEADER'); +} + +function expect_topics_header_available(data) { + // An empty result indicates that the request was eligible for topics. + // Currently, the web-platform-tests framework does not support actually + // handling the topics request. + assert_equals(data.topicsHeader, ''); +} \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/client-hints/critical-ch/iframe.https.window.js b/tests/wpt/web-platform-tests/client-hints/critical-ch/iframe.https.window.js index bbb9623752e..cbf128149e9 100644 --- a/tests/wpt/web-platform-tests/client-hints/critical-ch/iframe.https.window.js +++ b/tests/wpt/web-platform-tests/client-hints/critical-ch/iframe.https.window.js @@ -1,15 +1,15 @@ // META: script=resources/util.js async_test((t) => { + window.addEventListener('message', message_listener(t, "FAIL")); var iframe = document.createElement("iframe"); iframe.src = ECHO_URL; document.body.appendChild(iframe); - iframe.contentWindow.addEventListener('message', message_listener(t, "FAIL")); }, "Critical-CH iframe"); async_test((t) => { + window.addEventListener('message', message_listener(t, "FAIL")); var iframe = document.createElement("iframe"); iframe.src = ECHO_URL+"?multiple=true"; document.body.appendChild(iframe); - iframe.contentWindow.addEventListener('message', message_listener(t, "FAIL")); }, "Critical-CH w/ multiple headers and iframe"); diff --git a/tests/wpt/web-platform-tests/client-hints/critical-ch/navigation.cross-origin.https.window.js b/tests/wpt/web-platform-tests/client-hints/critical-ch/navigation.cross-origin.https.window.js new file mode 100644 index 00000000000..6fdcee71d47 --- /dev/null +++ b/tests/wpt/web-platform-tests/client-hints/critical-ch/navigation.cross-origin.https.window.js @@ -0,0 +1,4 @@ +// META: script=resources/util.js +// META: script=/common/get-host-info.sub.js + +async_test(make_message_test(get_host_info().HTTPS_REMOTE_ORIGIN+"/client-hints/critical-ch/"+ECHO_URL, "PASS"), "Critical-CH cross-origin navigation") diff --git a/tests/wpt/web-platform-tests/client-hints/critical-ch/navigation.cross-origin.multiple.https.window.js b/tests/wpt/web-platform-tests/client-hints/critical-ch/navigation.cross-origin.multiple.https.window.js new file mode 100644 index 00000000000..91a57da3e48 --- /dev/null +++ b/tests/wpt/web-platform-tests/client-hints/critical-ch/navigation.cross-origin.multiple.https.window.js @@ -0,0 +1,4 @@ +// META: script=resources/util.js +// META: script=/common/get-host-info.sub.js + +async_test(make_message_test(get_host_info().HTTPS_REMOTE_ORIGIN+"/client-hints/critical-ch/"+ECHO_URL+"?multiple=true", "PASS"), "Critical-CH w/ multiple headers and cross-origin navigation") diff --git a/tests/wpt/web-platform-tests/client-hints/critical-ch/navigation.https.window.js b/tests/wpt/web-platform-tests/client-hints/critical-ch/navigation.same-origin.https.window.js similarity index 100% rename from tests/wpt/web-platform-tests/client-hints/critical-ch/navigation.https.window.js rename to tests/wpt/web-platform-tests/client-hints/critical-ch/navigation.same-origin.https.window.js diff --git a/tests/wpt/web-platform-tests/client-hints/critical-ch/navigation.multiple.https.window.js b/tests/wpt/web-platform-tests/client-hints/critical-ch/navigation.same-origin.multiple.https.window.js similarity index 100% rename from tests/wpt/web-platform-tests/client-hints/critical-ch/navigation.multiple.https.window.js rename to tests/wpt/web-platform-tests/client-hints/critical-ch/navigation.same-origin.multiple.https.window.js diff --git a/tests/wpt/web-platform-tests/client-hints/critical-ch/redirect.critical.cross-origin.https.window.js b/tests/wpt/web-platform-tests/client-hints/critical-ch/redirect.critical.cross-origin.https.window.js new file mode 100644 index 00000000000..74d9a0cc3b0 --- /dev/null +++ b/tests/wpt/web-platform-tests/client-hints/critical-ch/redirect.critical.cross-origin.https.window.js @@ -0,0 +1,4 @@ +// META: script=resources/util.js +// META: script=/common/get-host-info.sub.js + +async_test(make_message_test(REDIRECT_URL+"?critical=true&location="+get_host_info().HTTPS_REMOTE_ORIGIN+"/client-hints/critical-ch/"+ECHO_URL, "PASS"), "Critical-CH cross-origin critical redirect") diff --git a/tests/wpt/web-platform-tests/client-hints/critical-ch/redirect.critical.cross-origin.multiple.https.window.js b/tests/wpt/web-platform-tests/client-hints/critical-ch/redirect.critical.cross-origin.multiple.https.window.js new file mode 100644 index 00000000000..d1a3c67ecbf --- /dev/null +++ b/tests/wpt/web-platform-tests/client-hints/critical-ch/redirect.critical.cross-origin.multiple.https.window.js @@ -0,0 +1,4 @@ +// META: script=resources/util.js +// META: script=/common/get-host-info.sub.js + +async_test(make_message_test(REDIRECT_URL+"?critical=true&location="+get_host_info().HTTPS_REMOTE_ORIGIN+"/client-hints/critical-ch/"+ECHO_URL+"?multiple=true", "PASS"), "Critical-CH w/ multiple headers cross-origin critical redirect") diff --git a/tests/wpt/web-platform-tests/client-hints/critical-ch/redirect.critical.same-origin.https.window.js b/tests/wpt/web-platform-tests/client-hints/critical-ch/redirect.critical.same-origin.https.window.js new file mode 100644 index 00000000000..1c6511a0077 --- /dev/null +++ b/tests/wpt/web-platform-tests/client-hints/critical-ch/redirect.critical.same-origin.https.window.js @@ -0,0 +1,3 @@ +// META: script=resources/util.js + +async_test(make_message_test(REDIRECT_URL+"?critical=true&location=/client-hints/critical-ch/"+ECHO_URL, "FAIL"), "Critical-CH critical redirect") diff --git a/tests/wpt/web-platform-tests/client-hints/critical-ch/redirect.critical.same-origin.multiple.https.window.js b/tests/wpt/web-platform-tests/client-hints/critical-ch/redirect.critical.same-origin.multiple.https.window.js new file mode 100644 index 00000000000..5bf653afbc2 --- /dev/null +++ b/tests/wpt/web-platform-tests/client-hints/critical-ch/redirect.critical.same-origin.multiple.https.window.js @@ -0,0 +1,3 @@ +// META: script=resources/util.js + +async_test(make_message_test(REDIRECT_URL+"?critical=true&location=/client-hints/critical-ch/"+ECHO_URL+"?multiple=true", "FAIL"), "Critical-CH w/ multiple headers and critical redirect") diff --git a/tests/wpt/web-platform-tests/client-hints/critical-ch/redirect.cross-origin.https.window.js b/tests/wpt/web-platform-tests/client-hints/critical-ch/redirect.cross-origin.https.window.js new file mode 100644 index 00000000000..5d781bd0829 --- /dev/null +++ b/tests/wpt/web-platform-tests/client-hints/critical-ch/redirect.cross-origin.https.window.js @@ -0,0 +1,4 @@ +// META: script=resources/util.js +// META: script=/common/get-host-info.sub.js + +async_test(make_message_test(REDIRECT_URL+"?location="+get_host_info().HTTPS_REMOTE_ORIGIN+"/client-hints/critical-ch/"+ECHO_URL, "PASS"), "Critical-CH cross-origin redirect") diff --git a/tests/wpt/web-platform-tests/client-hints/critical-ch/redirect.cross-origin.multiple.https.window.js b/tests/wpt/web-platform-tests/client-hints/critical-ch/redirect.cross-origin.multiple.https.window.js new file mode 100644 index 00000000000..5688c8459c8 --- /dev/null +++ b/tests/wpt/web-platform-tests/client-hints/critical-ch/redirect.cross-origin.multiple.https.window.js @@ -0,0 +1,4 @@ +// META: script=resources/util.js +// META: script=/common/get-host-info.sub.js + +async_test(make_message_test(REDIRECT_URL+"?location="+get_host_info().HTTPS_REMOTE_ORIGIN+"/client-hints/critical-ch/"+ECHO_URL+"?multiple=true", "PASS"), "Critical-CH w/ multiple headers cross-origin redirect") diff --git a/tests/wpt/web-platform-tests/client-hints/critical-ch/redirect.same-origin.https.window.js b/tests/wpt/web-platform-tests/client-hints/critical-ch/redirect.same-origin.https.window.js new file mode 100644 index 00000000000..b2401025d93 --- /dev/null +++ b/tests/wpt/web-platform-tests/client-hints/critical-ch/redirect.same-origin.https.window.js @@ -0,0 +1,3 @@ +// META: script=resources/util.js + +async_test(make_message_test(REDIRECT_URL+"?location=/client-hints/critical-ch/"+ECHO_URL, "PASS"), "Critical-CH redirect") diff --git a/tests/wpt/web-platform-tests/client-hints/critical-ch/redirect.same-origin.multiple.https.window.js b/tests/wpt/web-platform-tests/client-hints/critical-ch/redirect.same-origin.multiple.https.window.js new file mode 100644 index 00000000000..86305023f43 --- /dev/null +++ b/tests/wpt/web-platform-tests/client-hints/critical-ch/redirect.same-origin.multiple.https.window.js @@ -0,0 +1,3 @@ +// META: script=resources/util.js + +async_test(make_message_test(REDIRECT_URL+"?location=/client-hints/critical-ch/"+ECHO_URL+"?multiple=true", "PASS"), "Critical-CH w/ multiple headers and redirect") diff --git a/tests/wpt/web-platform-tests/client-hints/critical-ch/resources/echo-critical-hint.py b/tests/wpt/web-platform-tests/client-hints/critical-ch/resources/echo-critical-hint.py index 0913dbb19db..a5c5160f750 100644 --- a/tests/wpt/web-platform-tests/client-hints/critical-ch/resources/echo-critical-hint.py +++ b/tests/wpt/web-platform-tests/client-hints/critical-ch/resources/echo-critical-hint.py @@ -49,4 +49,4 @@ def main(request, response): if b"sec-ch-viewport-width" in request.headers and b"viewport-width" in request.headers: result = "MISMATCH" - response.content = "<script>window.postMessage('{0}', '*')</script>".format(result) + response.content = "<script>(window.opener || window.top).postMessage('{0}', '*')</script>".format(result) diff --git a/tests/wpt/web-platform-tests/client-hints/critical-ch/resources/redirect-critical-hint.py b/tests/wpt/web-platform-tests/client-hints/critical-ch/resources/redirect-critical-hint.py new file mode 100644 index 00000000000..77b8652e203 --- /dev/null +++ b/tests/wpt/web-platform-tests/client-hints/critical-ch/resources/redirect-critical-hint.py @@ -0,0 +1,14 @@ +def main(request, response): + """ + Simple handler that redirects to echo-critical-hint.py. + """ + + response.status = 302 + location = request.GET.first(b"location") + response.headers.set(b"Location", location) + response.headers.set(b"Access-Control-Allow-Origin", b"*") + if(request.GET.first(b"critical", None) is not None): + hints = b"sec-ch-dpr,dpr" + response.headers.append(b"Accept-CH", hints) + response.headers.append(b"Critical-CH", hints) + diff --git a/tests/wpt/web-platform-tests/client-hints/critical-ch/resources/util.js b/tests/wpt/web-platform-tests/client-hints/critical-ch/resources/util.js index 7471d9022e4..36800f1e4f0 100644 --- a/tests/wpt/web-platform-tests/client-hints/critical-ch/resources/util.js +++ b/tests/wpt/web-platform-tests/client-hints/critical-ch/resources/util.js @@ -1,4 +1,5 @@ ECHO_URL = "resources/echo-critical-hint.py" +REDIRECT_URL = "resources/redirect-critical-hint.py" message_listener = (t, message) => (e) => { @@ -10,6 +11,6 @@ make_message_test = (url, message) => (t) => { popup_window = window.open("/common/blank.html"); assert_not_equals(popup_window, null, "Popup windows not allowed?"); - popup_window.addEventListener('message', message_listener(t, message)); + window.addEventListener('message', message_listener(t, message)); popup_window.location = url; } diff --git a/tests/wpt/web-platform-tests/client-hints/critical-ch/unsafe-method.https.window.js b/tests/wpt/web-platform-tests/client-hints/critical-ch/unsafe-method.https.window.js index 37bbcb3315e..61fca618f3f 100644 --- a/tests/wpt/web-platform-tests/client-hints/critical-ch/unsafe-method.https.window.js +++ b/tests/wpt/web-platform-tests/client-hints/critical-ch/unsafe-method.https.window.js @@ -1,3 +1,5 @@ +// META: script=resources/util.js + async_test((t) => { // This test requires a navigation with a non-safe (i.e. non-GET) HTTP // response, which the Critical-CH spec says to ignore. The most @@ -7,18 +9,18 @@ async_test((t) => { // Build the form DOM element var form = document.createElement("form"); form.setAttribute("method", "post"); - form.setAttribute("action", "resources/echo-critical-hint.py"); + form.setAttribute("action", ECHO_URL); form.setAttribute("target", "popup"); //don't navigate away from the page running the test... document.body.appendChild(form); - var popup_window = window.open("/common/blank.html", "popup"); - assert_not_equals(popup_window, null, "Popup windows not allowed?"); - - popup_window.addEventListener('message', (e) => { + window.addEventListener('message', (e) => { t.step(()=>{assert_equals(e.data, "FAIL")}); t.done(); }); + var popup_window = window.open("/common/blank.html", "popup"); + assert_not_equals(popup_window, null, "Popup windows not allowed?"); + form.submit(); }, "Critical-CH unsafe method") @@ -31,17 +33,17 @@ async_test((t) => { // Build the form DOM element var form = document.createElement("form"); form.setAttribute("method", "post"); - form.setAttribute("action", "resources/echo-critical-hint.py?multiple=true"); + form.setAttribute("action", ECHO_URL+"?multiple=true"); form.setAttribute("target", "popup"); //don't navigate away from the page running the test... document.body.appendChild(form); - var popup_window = window.open("/common/blank.html", "popup"); - assert_not_equals(popup_window, null, "Popup windows not allowed?"); - - popup_window.addEventListener('message', (e) => { + window.addEventListener('message', (e) => { t.step(()=>{assert_equals(e.data, "FAIL")}); t.done(); }); + var popup_window = window.open("/common/blank.html", "popup"); + assert_not_equals(popup_window, null, "Popup windows not allowed?"); + form.submit(); }, "Critical-CH w/ multiple headers and unsafe method") diff --git a/tests/wpt/web-platform-tests/clipboard-apis/async-unsanitized-html-formats-write-read.tentative.https.html b/tests/wpt/web-platform-tests/clipboard-apis/async-unsanitized-html-formats-write-read.tentative.https.html index ffe6a31c2a7..46e335c804b 100644 --- a/tests/wpt/web-platform-tests/clipboard-apis/async-unsanitized-html-formats-write-read.tentative.https.html +++ b/tests/wpt/web-platform-tests/clipboard-apis/async-unsanitized-html-formats-write-read.tentative.https.html @@ -57,8 +57,10 @@ promise_test(async t => { 'font-variant-ligatures: normal; font-variant-caps: normal; ' + 'font-weight: 400; letter-spacing: normal; orphans: 2; ' + 'text-align: start; text-indent: 0px; text-transform: none; '+ - 'white-space: normal; widows: 2; word-spacing: 0px; ' + - '-webkit-text-stroke-width: 0px; text-decoration-thickness: initial; ' + + 'widows: 2; word-spacing: 0px; ' + + '-webkit-text-stroke-width: 0px; ' + + 'white-space: normal; ' + + 'text-decoration-thickness: initial; ' + 'text-decoration-style: initial; text-decoration-color: initial;">' + 'Hello World</p>'; const inputHtml = reformatHtml(expectedHtml); diff --git a/tests/wpt/web-platform-tests/compat/webkit-linear-gradient-line-right.html b/tests/wpt/web-platform-tests/compat/webkit-linear-gradient-line-right.html index 91d0f7b49fb..68e129d39e4 100644 --- a/tests/wpt/web-platform-tests/compat/webkit-linear-gradient-line-right.html +++ b/tests/wpt/web-platform-tests/compat/webkit-linear-gradient-line-right.html @@ -5,7 +5,7 @@ <link rel="help" href="https://compat.spec.whatwg.org/#css-gradients-webkit-linear-gradient"> <meta name="assert" content="'right' in -webkit-linear-gradient is equivalent to 'to left' in modern syntax"> <link rel="match" href="green-ref.html"> -<meta name="fuzzy" content="maxDifference=0-1; totalPixels=0-4000"> +<meta name="fuzzy" content="maxDifference=0-1; totalPixels=0-4400"> <style> #outer { width: 100px; diff --git a/tests/wpt/web-platform-tests/compat/webkit-linear-gradient-line-top.html b/tests/wpt/web-platform-tests/compat/webkit-linear-gradient-line-top.html index 2df36ef3cd2..61d205a7004 100644 --- a/tests/wpt/web-platform-tests/compat/webkit-linear-gradient-line-top.html +++ b/tests/wpt/web-platform-tests/compat/webkit-linear-gradient-line-top.html @@ -5,7 +5,7 @@ <link rel="help" href="https://compat.spec.whatwg.org/#css-gradients-webkit-linear-gradient"> <meta name="assert" content="'top' in -webkit-linear-gradient is equivalent to 'to bottom' in modern syntax"> <link rel="match" href="green-ref.html"> -<meta name="fuzzy" content="maxDifference=0-1; totalPixels=0-4000"> +<meta name="fuzzy" content="maxDifference=0-1; totalPixels=0-4400"> <style> #outer { width: 100px; diff --git a/tests/wpt/web-platform-tests/compression/decompression-corrupt-input.tentative.any.js b/tests/wpt/web-platform-tests/compression/decompression-corrupt-input.tentative.any.js index 2de587b6c86..edf6dedaee0 100644 --- a/tests/wpt/web-platform-tests/compression/decompression-corrupt-input.tentative.any.js +++ b/tests/wpt/web-platform-tests/compression/decompression-corrupt-input.tentative.any.js @@ -242,7 +242,11 @@ async function tryDecompress(input, format) { } out = out.concat(Array.from(value)); } catch (e) { - return { result: 'error' }; + if (e instanceof TypeError) { + return { result: 'error' }; + } else { + return { result: e.name }; + } } } const expectedOutput = 'expected output'; @@ -297,3 +301,18 @@ for (const { format, baseInput, fields } of expectations) { } } } + +promise_test(async () => { + // Data generated in Python: + // ```py + // h = b"thequickbrownfoxjumped\x00" + // words = h.split() + // zdict = b''.join(words) + // co = zlib.compressobj(zdict=zdict) + // cd = co.compress(h) + co.flush() + // ``` + const { result } = await tryDecompress(new Uint8Array([ + 0x78, 0xbb, 0x74, 0xee, 0x09, 0x59, 0x2b, 0xc1, 0x2e, 0x0c, 0x00, 0x74, 0xee, 0x09, 0x59 + ]), 'deflate'); + assert_equals(result, 'error', 'Data compressed with a dictionary should throw TypeError'); +}, 'the deflate input compressed with dictionary should give an error') diff --git a/tests/wpt/web-platform-tests/cookies/resources/cookie-helper.sub.js b/tests/wpt/web-platform-tests/cookies/resources/cookie-helper.sub.js index ff33ecb6bd2..3338cf0e800 100644 --- a/tests/wpt/web-platform-tests/cookies/resources/cookie-helper.sub.js +++ b/tests/wpt/web-platform-tests/cookies/resources/cookie-helper.sub.js @@ -60,20 +60,14 @@ function assert_cookie(origin, obj, name, value, present) { // Remove the cookie named |name| from |origin|, then set it on |origin| anew. // If |origin| matches `self.origin`, also assert (via `document.cookie`) that // the cookie was correctly removed and reset. -function create_cookie(origin, name, value, extras) { +async function create_cookie(origin, name, value, extras) { alert("Create_cookie: " + origin + "/cookies/resources/drop.py?name=" + name); - return credFetch(origin + "/cookies/resources/drop.py?name=" + name) - .then(_ => { - if (origin == self.origin) - assert_dom_cookie(name, value, false); - }) - .then(_ => { - return credFetch(origin + "/cookies/resources/set.py?" + name + "=" + value + ";path=/;" + extras) - .then(_ => { - if (origin == self.origin) - assert_dom_cookie(name, value, true); - }); - }); + await credFetch(origin + "/cookies/resources/drop.py?name=" + name); + if (origin == self.origin) + assert_dom_cookie(name, value, false); + await credFetch(origin + "/cookies/resources/set.py?" + name + "=" + value + ";path=/;" + extras); + if (origin == self.origin) + assert_dom_cookie(name, value, true); } // diff --git a/tests/wpt/web-platform-tests/credential-management/support/fedcm/accounts.py b/tests/wpt/web-platform-tests/credential-management/support/fedcm/accounts.py index 088ce5967cd..3dbc7403dc2 100644 --- a/tests/wpt/web-platform-tests/credential-management/support/fedcm/accounts.py +++ b/tests/wpt/web-platform-tests/credential-management/support/fedcm/accounts.py @@ -10,6 +10,8 @@ def main(request, response): if request.headers.get(b"Origin"): return (534, [], "Should not have Origin") + response.headers.set(b"Content-Type", b"application/json") + return """ { "accounts": [{ diff --git a/tests/wpt/web-platform-tests/credential-management/support/fedcm/client_metadata.py b/tests/wpt/web-platform-tests/credential-management/support/fedcm/client_metadata.py index e6f6a776329..bfc8027412d 100644 --- a/tests/wpt/web-platform-tests/credential-management/support/fedcm/client_metadata.py +++ b/tests/wpt/web-platform-tests/credential-management/support/fedcm/client_metadata.py @@ -23,6 +23,8 @@ def main(request, response): request.server.stash.put(keys.CLIENT_METADATA_COUNTER_KEY, str(counter).encode()) + response.headers.set(b"Content-Type", b"application/json") + return """ {{ "privacy_policy_url": "https://privacypolicy{0}.com" diff --git a/tests/wpt/web-platform-tests/credential-management/support/fedcm/manifest.py b/tests/wpt/web-platform-tests/credential-management/support/fedcm/manifest.py index 3e72faf75a4..6105db007b0 100644 --- a/tests/wpt/web-platform-tests/credential-management/support/fedcm/manifest.py +++ b/tests/wpt/web-platform-tests/credential-management/support/fedcm/manifest.py @@ -10,6 +10,8 @@ def main(request, response): if request.headers.get(b"Origin"): return (534, [], "Should not have Origin") + response.headers.set(b"Content-Type", b"application/json") + return """ { "accounts_endpoint": "accounts.py", diff --git a/tests/wpt/web-platform-tests/credential-management/support/fedcm/single_account.py b/tests/wpt/web-platform-tests/credential-management/support/fedcm/single_account.py index 2de3deb2661..b388ef55a4b 100644 --- a/tests/wpt/web-platform-tests/credential-management/support/fedcm/single_account.py +++ b/tests/wpt/web-platform-tests/credential-management/support/fedcm/single_account.py @@ -10,6 +10,8 @@ def main(request, response): if request.headers.get(b"Origin"): return (534, [], "Should not have Origin") + response.headers.set(b"Content-Type", b"application/json") + return """ { "accounts": [ diff --git a/tests/wpt/web-platform-tests/credential-management/support/fedcm/token.py b/tests/wpt/web-platform-tests/credential-management/support/fedcm/token.py index 867dab9592f..cd73394bc4f 100644 --- a/tests/wpt/web-platform-tests/credential-management/support/fedcm/token.py +++ b/tests/wpt/web-platform-tests/credential-management/support/fedcm/token.py @@ -21,4 +21,6 @@ def main(request, response): if not request.POST.get(b"disclosure_text_shown"): return (538, [], "Missing 'disclosure_text_shown' POST parameter") + response.headers.set(b"Content-Type", b"application/json") + return "{\"token\": \"token\"}" diff --git a/tests/wpt/web-platform-tests/credential-management/support/fedcm/token_with_account_id.py b/tests/wpt/web-platform-tests/credential-management/support/fedcm/token_with_account_id.py index bef75536483..8bdfec8f6d9 100644 --- a/tests/wpt/web-platform-tests/credential-management/support/fedcm/token_with_account_id.py +++ b/tests/wpt/web-platform-tests/credential-management/support/fedcm/token_with_account_id.py @@ -21,5 +21,7 @@ def main(request, response): if not request.POST.get(b"disclosure_text_shown"): return (538, [], "Missing 'disclosure_text_shown' POST parameter") + response.headers.set(b"Content-Type", b"application/json") + account_id = request.POST.get(b"account_id") return "{\"token\": \"account_id=" + account_id.decode("utf-8") + "\"}" diff --git a/tests/wpt/web-platform-tests/credential-management/support/fedcm/two_accounts.py b/tests/wpt/web-platform-tests/credential-management/support/fedcm/two_accounts.py index bca62d60223..48451740663 100644 --- a/tests/wpt/web-platform-tests/credential-management/support/fedcm/two_accounts.py +++ b/tests/wpt/web-platform-tests/credential-management/support/fedcm/two_accounts.py @@ -10,6 +10,8 @@ def main(request, response): if request.headers.get(b"Origin"): return (534, [], "Should not have Origin") + response.headers.set(b"Content-Type", b"application/json") + return """ { "accounts": [ diff --git a/tests/wpt/web-platform-tests/css/CSS2/borders/discrete-no-interpolation.html b/tests/wpt/web-platform-tests/css/CSS2/borders/discrete-no-interpolation.html new file mode 100644 index 00000000000..0268b675f36 --- /dev/null +++ b/tests/wpt/web-platform-tests/css/CSS2/borders/discrete-no-interpolation.html @@ -0,0 +1,33 @@ +<!DOCTYPE html> +<link rel=author href="mailto:jarhar@chromium.org"> +<link rel=help href="https://github.com/w3c/csswg-drafts/issues/4441"> +<script src="/resources/testharness.js"></script> +<script src="/resources/testharnessreport.js"></script> +<script src="/css/support/interpolation-testcommon.js"></script> + +<body> +<script> +test_no_interpolation({ + property: 'border-left-style', + from: 'initial', + to: 'dotted' +}); + +test_no_interpolation({ + property: 'border-right-style', + from: 'initial', + to: 'dotted' +}); + +test_no_interpolation({ + property: 'border-top-style', + from: 'initial', + to: 'dotted' +}); + +test_no_interpolation({ + property: 'border-bottom-style', + from: 'initial', + to: 'dotted' +}); +</script> diff --git a/tests/wpt/web-platform-tests/css/css-backgrounds/background-repeat/background-repeat-no-interpolation.html b/tests/wpt/web-platform-tests/css/CSS2/floats-clear/clear-no-interpolation.html similarity index 89% rename from tests/wpt/web-platform-tests/css/css-backgrounds/background-repeat/background-repeat-no-interpolation.html rename to tests/wpt/web-platform-tests/css/CSS2/floats-clear/clear-no-interpolation.html index a1a48d58e8c..05db269ec67 100644 --- a/tests/wpt/web-platform-tests/css/css-backgrounds/background-repeat/background-repeat-no-interpolation.html +++ b/tests/wpt/web-platform-tests/css/CSS2/floats-clear/clear-no-interpolation.html @@ -8,8 +8,8 @@ <body> <script> test_no_interpolation({ - property: 'background-repeat', + property: 'clear', from: 'initial', - to: 'round' + to: 'both' }); </script> diff --git a/tests/wpt/web-platform-tests/css/CSS2/floats/float-no-interpolation.html b/tests/wpt/web-platform-tests/css/CSS2/floats/float-no-interpolation.html new file mode 100644 index 00000000000..eb06dfefc68 --- /dev/null +++ b/tests/wpt/web-platform-tests/css/CSS2/floats/float-no-interpolation.html @@ -0,0 +1,15 @@ +<!DOCTYPE html> +<link rel=author href="mailto:jarhar@chromium.org"> +<link rel=help href="https://github.com/w3c/csswg-drafts/issues/4441"> +<script src="/resources/testharness.js"></script> +<script src="/resources/testharnessreport.js"></script> +<script src="/css/support/interpolation-testcommon.js"></script> + +<body> +<script> +test_no_interpolation({ + property: 'float', + from: 'initial', + to: 'right' +}); +</script> diff --git a/tests/wpt/web-platform-tests/css/CSS2/tables/border-collapse-empty-row-ref.html b/tests/wpt/web-platform-tests/css/CSS2/tables/border-collapse-empty-row-ref.html new file mode 100644 index 00000000000..ca1108ccd7b --- /dev/null +++ b/tests/wpt/web-platform-tests/css/CSS2/tables/border-collapse-empty-row-ref.html @@ -0,0 +1,69 @@ +<!DOCTYPE html> +<link rel="author" title="David Shin" href="mailto:dshin@mozilla.com"> +<link rel="help" href="http://www.w3.org/TR/CSS21/tables.html#collapsing-borders"> +<link rel="help" href="https://bugzilla.mozilla.org/show_bug.cgi?id=1819266"> +<meta name="assert" content="This test checks that collapsed border does not paint outside of its expected area."> +<style> +table { + display: inline-table; + border-collapse: collapse; +} + +td { + border: 10px solid black; + line-height: 0; + padding: 0; +} + +span { + display: inline-block; + width: 10px; + height: 10px; + background: grey; +} + +.spacer-1 tr:not(:last-child) td { + border-bottom: 12px solid black; +} + +.spacer-2 tr:not(:last-child) td { + border-bottom: 15px solid black; +} + +.spacer-3 tr:not(:last-child) td { + border-bottom: 20px solid black; +} + +</style> +<table> +<tr><td><span></span></td><td><span></span></td></tr> +<tr><td><span></span></td><td><span></span></td></tr> +<tr><td><span></span></td><td><span></span></td></tr> +<tr><td><span></span></td><td><span></span></td></tr> +<tr><td><span></span></td><td><span></span></td></tr> +<tr><td><span></span></td><td><span></span></td></tr> +</table> +<table class="spacer-1"> +<tr><td><span></span></td><td><span></span></td></tr> +<tr><td><span></span></td><td><span></span></td></tr> +<tr><td><span></span></td><td><span></span></td></tr> +<tr><td><span></span></td><td><span></span></td></tr> +<tr><td><span></span></td><td><span></span></td></tr> +<tr><td><span></span></td><td><span></span></td></tr> +</table> +<table class="spacer-2"> +<tr><td><span></span></td><td><span></span></td></tr> +<tr><td><span></span></td><td><span></span></td></tr> +<tr><td><span></span></td><td><span></span></td></tr> +<tr><td><span></span></td><td><span></span></td></tr> +<tr><td><span></span></td><td><span></span></td></tr> +<tr><td><span></span></td><td><span></span></td></tr> +</table> +<table class="spacer-3"> +<tr><td><span></span></td><td><span></span></td></tr> +<tr><td><span></span></td><td><span></span></td></tr> +<tr><td><span></span></td><td><span></span></td></tr> +<tr><td><span></span></td><td><span></span></td></tr> +<tr><td><span></span></td><td><span></span></td></tr> +<tr><td><span></span></td><td><span></span></td></tr> +</table> diff --git a/tests/wpt/web-platform-tests/css/CSS2/tables/border-collapse-empty-row.html b/tests/wpt/web-platform-tests/css/CSS2/tables/border-collapse-empty-row.html new file mode 100644 index 00000000000..c4114a145df --- /dev/null +++ b/tests/wpt/web-platform-tests/css/CSS2/tables/border-collapse-empty-row.html @@ -0,0 +1,93 @@ +<!DOCTYPE html> +<link rel="author" title="David Shin" href="mailto:dshin@mozilla.com"> +<link rel="help" href="http://www.w3.org/TR/CSS21/tables.html#collapsing-borders"> +<link rel="help" href="https://bugzilla.mozilla.org/show_bug.cgi?id=1819266"> +<link rel="match" href="border-collapse-empty-row-ref.html"> +<meta name="assert" content="This test checks that collapsed border does not paint outside of its expected area."> +<style> +table { + display: inline-table; + border-collapse: collapse; +} + +td { + border: 10px solid black; + line-height: 0; + padding: 0; +} + +span { + display: inline-block; + width: 10px; + height: 10px; + background: grey; +} + +.spacer-1 { + height: 2px; +} + +.spacer-2 { + height: 5px; +} + +.spacer-3 { + height: 10px; +} +</style> +<!-- Empty rows --> +<table> +<tr><td><span></span></td><td><span></span></td></tr> +<tr></tr> +<tr><td><span></span></td><td><span></span></td></tr> +<tr></tr> +<tr><td><span></span></td><td><span></span></td></tr> +<tr></tr> +<tr><td><span></span></td><td><span></span></td></tr> +<tr></tr> +<tr><td><span></span></td><td><span></span></td></tr> +<tr></tr> +<tr><td><span></span></td><td><span></span></td></tr> +</table> +<!-- Empty rows, sized less than collapsed border offset (10px / 2 = 5px). --> +<table> +<tr><td><span></span></td><td><span></span></td></tr> +<tr class="spacer-1"></tr> +<tr><td><span></span></td><td><span></span></td></tr> +<tr class="spacer-1"></tr> +<tr><td><span></span></td><td><span></span></td></tr> +<tr class="spacer-1"></tr> +<tr><td><span></span></td><td><span></span></td></tr> +<tr class="spacer-1"></tr> +<tr><td><span></span></td><td><span></span></td></tr> +<tr class="spacer-1"></tr> +<tr><td><span></span></td><td><span></span></td></tr> +</table> +<!-- Empty rows, sized exactly at collapsed border offset. --> +<table> +<tr><td><span></span></td><td><span></span></td></tr> +<tr class="spacer-2"></tr> +<tr><td><span></span></td><td><span></span></td></tr> +<tr class="spacer-2"></tr> +<tr><td><span></span></td><td><span></span></td></tr> +<tr class="spacer-2"></tr> +<tr><td><span></span></td><td><span></span></td></tr> +<tr class="spacer-2"></tr> +<tr><td><span></span></td><td><span></span></td></tr> +<tr class="spacer-2"></tr> +<tr><td><span></span></td><td><span></span></td></tr> +</table> +<!-- Empty rows, sized larger than collapsed border offset. --> +<table> +<tr><td><span></span></td><td><span></span></td></tr> +<tr class="spacer-3"></tr> +<tr><td><span></span></td><td><span></span></td></tr> +<tr class="spacer-3"></tr> +<tr><td><span></span></td><td><span></span></td></tr> +<tr class="spacer-3"></tr> +<tr><td><span></span></td><td><span></span></td></tr> +<tr class="spacer-3"></tr> +<tr><td><span></span></td><td><span></span></td></tr> +<tr class="spacer-3"></tr> +<tr><td><span></span></td><td><span></span></td></tr> +</table> diff --git a/tests/wpt/web-platform-tests/css/CSS2/tables/border-collapse-no-interpolation.html b/tests/wpt/web-platform-tests/css/CSS2/tables/border-collapse-no-interpolation.html new file mode 100644 index 00000000000..800cc68d0c3 --- /dev/null +++ b/tests/wpt/web-platform-tests/css/CSS2/tables/border-collapse-no-interpolation.html @@ -0,0 +1,15 @@ +<!DOCTYPE html> +<link rel=author href="mailto:jarhar@chromium.org"> +<link rel=help href="https://github.com/w3c/csswg-drafts/issues/4441"> +<script src="/resources/testharness.js"></script> +<script src="/resources/testharnessreport.js"></script> +<script src="/css/support/interpolation-testcommon.js"></script> + +<body> +<script> +test_no_interpolation({ + property: 'border-collapse', + from: 'initial', + to: 'collapse' +}); +</script> diff --git a/tests/wpt/web-platform-tests/css/CSS2/tables/empty-cells-no-interpolation.html b/tests/wpt/web-platform-tests/css/CSS2/tables/empty-cells-no-interpolation.html new file mode 100644 index 00000000000..af8f6d31948 --- /dev/null +++ b/tests/wpt/web-platform-tests/css/CSS2/tables/empty-cells-no-interpolation.html @@ -0,0 +1,15 @@ +<!DOCTYPE html> +<link rel=author href="mailto:jarhar@chromium.org"> +<link rel=help href="https://github.com/w3c/csswg-drafts/issues/4441"> +<script src="/resources/testharness.js"></script> +<script src="/resources/testharnessreport.js"></script> +<script src="/css/support/interpolation-testcommon.js"></script> + +<body> +<script> +test_no_interpolation({ + property: 'empty-cells', + from: 'initial', + to: 'hide' +}); +</script> diff --git a/tests/wpt/web-platform-tests/css/css-anchor-position/anchor-default-003.html b/tests/wpt/web-platform-tests/css/css-anchor-position/anchor-default-003.html new file mode 100644 index 00000000000..00c20324344 --- /dev/null +++ b/tests/wpt/web-platform-tests/css/css-anchor-position/anchor-default-003.html @@ -0,0 +1,55 @@ +<!DOCTYPE html> +<title>Tests that layout is updated on anchor-default value changes</title> +<link rel="help" href="https://drafts4.csswg.org/css-anchor-position-1/#anchor-default"> +<link rel="author" href="mailto:xiaochengh@chromium.org"> +<script src="/resources/testharness.js"></script> +<script src="/resources/testharnessreport.js"></script> + +<style> +#target { + position: fixed; + width: 100px; + height: 100px; + background: lime; + top: anchor(top); + left: anchor(right); + anchor-default: --a; +} + +#target.after { + anchor-default: --b; +} + +#anchor1, #anchor2 { + width: 100px; + height: 100px; + background: orange; +} + +#anchor1 { + anchor-name: --a; +} + +#anchor2 { + margin-left: 100px; + anchor-name: --b; +} + +body { + margin: 0; +} +</style> + +<div id="anchor1"></div> +<div id="anchor2"></div> +<div id="target"></div> + +<script> +test(() => { + document.body.offsetLeft; // Force layout + target.classList.add('after'); + // #target should be anchored to #anchor2 now + assert_equals(target.offsetLeft, 200); + assert_equals(target.offsetTop, 100); +}, 'Layout is updated on `anchor-default` changes'); +</script> diff --git a/tests/wpt/web-platform-tests/css/css-anchor-position/anchor-getComputedStyle.html b/tests/wpt/web-platform-tests/css/css-anchor-position/anchor-getComputedStyle.html new file mode 100644 index 00000000000..cce571c4d0d --- /dev/null +++ b/tests/wpt/web-platform-tests/css/css-anchor-position/anchor-getComputedStyle.html @@ -0,0 +1,124 @@ +<!DOCTYPE html> +<meta charset="utf-8"> +<title>Tests that getComputedStyle() resolves anchor functions</title> +<link rel="help" href="https://drafts4.csswg.org/css-anchor-position-1"> +<link rel="help" href="https://w3c.github.io/csswg-drafts/cssom/#resolved-value"> +<link rel="author" href="mailto:xiaochengh@chromium.org"> +<script src="/resources/testharness.js"></script> +<script src="/resources/testharnessreport.js"></script> +<style> +.vrl { writing-mode: vertical-rl; } +.htb { writing-mode: horizontal-tb; } +.ltr { direction: ltr; } +.rtl { direction: rtl; } + +.cb { + transform: scale(1); + width: 200px; + height: 150px; + outline: 1px dashed black; +} + +.padding-10 { + box-sizing: border-box; + padding: 10px; +} + +.anchor { + width: 40px; + height: 30px; + background: orange; + anchor-name: --a; + position: relative; + top: 50px; + left: 60px; +} + +.anchored-topleft { + position: absolute; + width: anchor-size(--a width); + height: anchor-size(--a height); + bottom: anchor(--a top); + right: anchor(--a left); + background: lime; +} + +.anchored-bottomright { + position: absolute; + width: anchor-size(--a width); + height: anchor-size(--a height); + top: anchor(--a bottom); + left: anchor(--a right); + background: lime; +} +</style> + +<div class=cb id=test1> + <div class=anchor></div> + <div class=anchored-topleft></div> + <div class=anchored-bottomright></div> +</div> +<script> +test(() => { + const container = document.getElementById('test1'); + + const topleft = container.querySelector('.anchored-topleft'); + assert_equals(getComputedStyle(topleft).bottom, '100px'); + assert_equals(getComputedStyle(topleft).right, '140px'); + assert_equals(getComputedStyle(topleft).width, '40px'); + assert_equals(getComputedStyle(topleft).height, '30px'); + + const bottomright = container.querySelector('.anchored-bottomright'); + assert_equals(getComputedStyle(bottomright).top, '80px'); + assert_equals(getComputedStyle(bottomright).left, '100px'); + assert_equals(getComputedStyle(bottomright).width, '40px'); + assert_equals(getComputedStyle(bottomright).height, '30px'); +}, 'Basic case'); +</script> + +<div class="cb vrl" id=test2> + <div class=anchor></div> + <div class="anchored-topleft htb ltr"></div> + <div class="anchored-bottomright htb rtl"></div> +</div> +<script> +test(() => { + const container = document.getElementById('test2'); + + const topleft = container.querySelector('.anchored-topleft'); + assert_equals(getComputedStyle(topleft).bottom, '100px'); + assert_equals(getComputedStyle(topleft).right, '-20px'); + assert_equals(getComputedStyle(topleft).width, '40px'); + assert_equals(getComputedStyle(topleft).height, '30px'); + + const bottomright = container.querySelector('.anchored-bottomright'); + assert_equals(getComputedStyle(bottomright).top, '80px'); + assert_equals(getComputedStyle(bottomright).left, '260px'); + assert_equals(getComputedStyle(bottomright).width, '40px'); + assert_equals(getComputedStyle(bottomright).height, '30px'); +}, 'Mixed writing modes and directions'); +</script> + +<div class="cb padding-10" id=test3> + <div class=anchor></div> + <div class=anchored-topleft></div> + <div class=anchored-bottomright></div> +</div> +<script> +test(() => { + const container = document.getElementById('test3'); + + const topleft = container.querySelector('.anchored-topleft'); + assert_equals(getComputedStyle(topleft).bottom, '90px'); + assert_equals(getComputedStyle(topleft).right, '130px'); + assert_equals(getComputedStyle(topleft).width, '40px'); + assert_equals(getComputedStyle(topleft).height, '30px'); + + const bottomright = container.querySelector('.anchored-bottomright'); + assert_equals(getComputedStyle(bottomright).top, '90px'); + assert_equals(getComputedStyle(bottomright).left, '110px'); + assert_equals(getComputedStyle(bottomright).width, '40px'); + assert_equals(getComputedStyle(bottomright).height, '30px'); +}, 'With containing block padding'); +</script> + diff --git a/tests/wpt/web-platform-tests/css/css-animations/parsing/animation-shorthand.html b/tests/wpt/web-platform-tests/css/css-animations/parsing/animation-shorthand.html index b981ad3ad68..464e42460b1 100644 --- a/tests/wpt/web-platform-tests/css/css-animations/parsing/animation-shorthand.html +++ b/tests/wpt/web-platform-tests/css/css-animations/parsing/animation-shorthand.html @@ -20,7 +20,9 @@ test_shorthand_value('animation', 'anim paused both reverse 4 1s -3s cubic-bezie 'animation-fill-mode': 'both', 'animation-play-state': 'paused', 'animation-name': 'anim', - 'animation-timeline': 'auto' + 'animation-timeline': 'auto', + 'animation-range-start': 'normal', + 'animation-range-end': 'normal', }); test_shorthand_value('animation', 'anim paused both reverse, 4 1s -3s cubic-bezier(0, -2, 1, 3)', { @@ -32,7 +34,9 @@ test_shorthand_value('animation', 'anim paused both reverse, 4 1s -3s cubic-bezi 'animation-fill-mode': 'both, none', 'animation-play-state': 'paused, running', 'animation-name': 'anim, none', - 'animation-timeline': 'auto, auto' + 'animation-timeline': 'auto, auto', + 'animation-range-start': 'normal, normal', + 'animation-range-end': 'normal, normal', }); test_shorthand_value('animation', '4 1s -3s cubic-bezier(0, -2, 1, 3), anim paused both reverse', { @@ -44,7 +48,9 @@ test_shorthand_value('animation', '4 1s -3s cubic-bezier(0, -2, 1, 3), anim paus 'animation-fill-mode': 'none, both', 'animation-play-state': 'running, paused', 'animation-name': 'none, anim', - 'animation-timeline': 'auto, auto' + 'animation-timeline': 'auto, auto', + 'animation-range-start': 'normal, normal', + 'animation-range-end': 'normal, normal', }); </script> </body> diff --git a/tests/wpt/web-platform-tests/css/css-animations/parsing/animation-shorthand.tentative.html b/tests/wpt/web-platform-tests/css/css-animations/parsing/animation-shorthand.tentative.html index ac3613cf825..04d06080e5e 100644 --- a/tests/wpt/web-platform-tests/css/css-animations/parsing/animation-shorthand.tentative.html +++ b/tests/wpt/web-platform-tests/css/css-animations/parsing/animation-shorthand.tentative.html @@ -18,6 +18,8 @@ test_shorthand_value('animation', 'anim paused both reverse 4 1s -3s cubic-bezie 'animation-fill-mode': 'both', 'animation-play-state': 'paused', 'animation-name': 'anim', - 'animation-timeline': 'auto' + 'animation-timeline': 'auto', + 'animation-range-start': 'normal', + 'animation-range-end': 'normal', }); </script> diff --git a/tests/wpt/web-platform-tests/css/css-backgrounds/animations/discrete-no-interpolation.html b/tests/wpt/web-platform-tests/css/css-backgrounds/animations/discrete-no-interpolation.html new file mode 100644 index 00000000000..d3d3421d5eb --- /dev/null +++ b/tests/wpt/web-platform-tests/css/css-backgrounds/animations/discrete-no-interpolation.html @@ -0,0 +1,45 @@ +<!DOCTYPE html> +<link rel=author href="mailto:jarhar@chromium.org"> +<link rel=help href="https://github.com/w3c/csswg-drafts/issues/4441"> +<script src="/resources/testharness.js"></script> +<script src="/resources/testharnessreport.js"></script> +<script src="/css/support/interpolation-testcommon.js"></script> + +<body> +<script> +test_no_interpolation({ + property: 'background-attachment', + from: 'initial', + to: 'fixed' +}); + +test_no_interpolation({ + property: 'background-blend-mode', + from: 'initial', + to: 'overlay' +}); + +test_no_interpolation({ + property: 'background-clip', + from: 'initial', + to: 'content-box' +}); + +test_no_interpolation({ + property: 'background-origin', + from: 'initial', + to: 'border-box' +}); + +test_no_interpolation({ + property: 'background-repeat', + from: 'initial', + to: 'round' +}); + +test_no_interpolation({ + property: 'border-image-repeat', + from: 'initial', + to: 'round' +}); +</script> diff --git a/tests/wpt/web-platform-tests/css/css-backgrounds/border-image-repeat-repeat-001.html b/tests/wpt/web-platform-tests/css/css-backgrounds/border-image-repeat-repeat-001.html new file mode 100644 index 00000000000..778bc0e4b5c --- /dev/null +++ b/tests/wpt/web-platform-tests/css/css-backgrounds/border-image-repeat-repeat-001.html @@ -0,0 +1,58 @@ +<!DOCTYPE html> + + <meta charset="UTF-8"> + + <title>CSS Backgrounds Test: border-image-repeat: repeat</title> + + <!-- + + Created: February 24th 2023 + + Last modified: March 23rd 2023 + + Bugzilla bug report 1819487: border-image-repeat and positioning the first tile before repeating + https://bugzilla.mozilla.org/show_bug.cgi?id=1819487 + + --> + + <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/"> + <link rel="help" href="https://www.w3.org/TR/css-backgrounds-3/#border-image-repeat"> + <link rel="help" href="https://www.w3.org/TR/css-backgrounds-3/#border-image-process"> + <link rel="match" href="reference/border-image-repeat-repeat-001-ref.html"> + + <meta content="" name="flags"> + <meta content="This test checks the process of positioning the first tile of each of the 9 border-image areas when 'border-image-repeat' is 'repeat'." name="assert"> + + <style> + div + { + background-color: green; /* so that the center of the + sign gets painted green */ + border: red solid 75px; + border-image-repeat: repeat; /* this is the same as 'repeat repeat' since + " + If the second keyword is absent, it is assumed to be the same as the first. + https://www.w3.org/TR/css-backgrounds-3/#border-image-repeat + " + */ + border-image-source: url("support/500x500-white-red-green-irreg-polygon.png"); + height: 50px; + width: 50px; + } + + div#top-plus-sign + { + border-image-slice: 50; + margin-bottom: 10px; + } + + div#bottom-plus-sign + { + border-image-slice: 1; + } + </style> + + <p>Test passes if there are 2 identical filled green plus ("+") signs and <strong>no red</strong>. + + <div id="top-plus-sign"></div> + + <div id="bottom-plus-sign"></div> diff --git a/tests/wpt/web-platform-tests/css/css-backgrounds/border-image-slice-fill-001.html b/tests/wpt/web-platform-tests/css/css-backgrounds/border-image-slice-fill-001.html new file mode 100644 index 00000000000..4a2c3e9cc01 --- /dev/null +++ b/tests/wpt/web-platform-tests/css/css-backgrounds/border-image-slice-fill-001.html @@ -0,0 +1,104 @@ +<!DOCTYPE html> + + <meta charset="UTF-8"> + + <title>CSS Backgrounds Test: border-image-slice with 'fill' keyword</title> + + <!-- + + Created: February 19th 2023 + + Last modified: February 28th 2023 + + --> + + <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/"> + <link rel="help" href="http://www.w3.org/TR/css3-background/#border-image-slice"> + <link rel="match" href="reference/border-image-slice-fill-001-ref.html"> + + <meta content="" name="flags"> + <meta content="This test checks the rendering process of selecting the middle part of the border-image to be preserved. Since 'border-image-slice' is '50', then the 8 surrounding areas of the border-image area are selecting the white areas of the border-image. The middle part must be filled with red and green area. In which case, only the horizontal center and the vertical center of the border-image must fill the middle area. Therefore, only the green 100x100 area of the border-image must be painted into the middle area." name="assert"> + + <style> + div#test + { + border: red solid 50px; + border-image-repeat: repeat; + border-image-slice: 50 fill; + border-image-source: url("support/500x500-red-with-green-center.png"); + height: 100px; + width: 100px; + } + + /* + + This is how the border-image 500x500-red-with-green-center.png is painted: + + + (0, 500) (50, 500) (200, 500) (300, 500) (450, 500) (500, 500) + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + | ^ | + | White area 50 White area | + | v | + | - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - | (500, 450) + | | FAIL ^ | | + | | . | | + |<-50-> | |<-50-> | + | | 1 | | + | W | Red area Red area | W | + | h | 5 | h | + | i | | i | + | t | 0 | t | + | e | | e | + | | . | | + | a | v | a | + | r | ------------ | r | (500, 300) + | e | | | | e | + | a | Red area | Green | Red area | a | + | | | | | | + | | <!- . . . 150 . . . -> | area | <!- . . . 150 . . . -> | | + | | | | | | + | | ------------ | | (500, 200) + | | ^ | | + | | . | | + | | | | + | | Red area 1 Red area | | + | | | | + | | 5 | | + | | | | + | | 0 | | + | | | | + | | . | | + | | v | | + | - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - | (500, 50) + | ^ | + | White area 50 White area | + | v | + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + (0, 0) (50, 0) (200, 0) (300, 0) (450, 0) (500, 0) + + */ + + div#red-reference-under-test + { + background-color: red; + bottom: 200px; + height: 200px; + position: relative; + width: 200px; + z-index: -1; + } + + /* + The purpose of div#red-reference-under-test in here + is to make sure that the border belt is indeed painted + with the 8 white areas of the border-image and + !_not_! with transparent areas. + */ + </style> + + <p>Test passes if there is a filled green square and <strong>no red</strong>. + + <div id="test"></div> + + <div id="red-reference-under-test"></div> diff --git a/tests/wpt/web-platform-tests/css/css-backgrounds/border-image-slice-fill-002.html b/tests/wpt/web-platform-tests/css/css-backgrounds/border-image-slice-fill-002.html new file mode 100644 index 00000000000..bc194e40621 --- /dev/null +++ b/tests/wpt/web-platform-tests/css/css-backgrounds/border-image-slice-fill-002.html @@ -0,0 +1,106 @@ +<!DOCTYPE html> + + <meta charset="UTF-8"> + + <title>CSS Backgrounds Test: border-image-slice with 'fill' keyword and with no slicing (edge case)</title> + + <!-- + + Created: February 24th 2023 + + Last modified: February 28th 2023 + + --> + + <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/"> + <link rel="help" href="http://www.w3.org/TR/css3-background/#border-image-slice"> + <link rel="match" href="reference/border-image-slice-fill-002-ref.html"> + + <meta content="" name="flags"> + <meta content="This test checks the rendering process of selecting the middle part of the border-image to be preserved. Since 'border-image-slice' is '0', then the whole border-image is its own middle part. In which case, the horizontal center and the vertical center of the border-image must fill the middle area. The 8 other areas of the border belt in this test are not painted and must become transparent." name="assert"> + + <style> + div#test + { + border: red solid 50px; + border-image-repeat: repeat; + border-image-slice: 0 fill; + border-image-source: url("support/500x500-red-with-green-center.png"); + height: 100px; + width: 100px; + } + + /* + + This is how the border-image 500x500-red-with-green-center.png is painted: + + + (0, 500) (50, 500) (200, 500) (300, 500) (450, 500) (500, 500) + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + | ^ | + | White area 50 White area | + | v | + | - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - | (500, 450) + | | FAIL ^ | | + | | . | | + |<-50-> | |<-50-> | + | | 1 | | + | W | Red area Red area | W | + | h | 5 | h | + | i | | i | + | t | 0 | t | + | e | | e | + | | . | | + | a | v | a | + | r | ------------ | r | (500, 300) + | e | | | | e | + | a | Red area | Green | Red area | a | + | | | | | | + | | <!- . . . 150 . . . -> | area | <!- . . . 150 . . . -> | | + | | | | | | + | | ------------ | | (500, 200) + | | ^ | | + | | . | | + | | | | + | | Red area 1 Red area | | + | | | | + | | 5 | | + | | | | + | | 0 | | + | | | | + | | . | | + | | v | | + | - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - | (500, 50) + | ^ | + | White area 50 White area | + | v | + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + (0, 0) (50, 0) (200, 0) (300, 0) (450, 0) (500, 0) + + */ + + div#yellow-under-test + { + background-color: yellow; + bottom: 200px; + height: 200px; + position: relative; + width: 200px; + z-index: -1; + } + + /* + The purpose of this div#yellow-under-test in + here is to verify and to make sure that the + border belt is indeed painted with the 8 + transparent areas and not with the white + colored areas of the border-image. + */ + </style> + + <p>Test passes if there is a filled green square surrounded by a yellow square and if there is <strong>no red</strong>. + + <div id="test"></div> + + <div id="yellow-under-test"></div> + diff --git a/tests/wpt/web-platform-tests/css/css-backgrounds/border-image-slice-fill-003.html b/tests/wpt/web-platform-tests/css/css-backgrounds/border-image-slice-fill-003.html new file mode 100644 index 00000000000..fd0833ff7ff --- /dev/null +++ b/tests/wpt/web-platform-tests/css/css-backgrounds/border-image-slice-fill-003.html @@ -0,0 +1,86 @@ +<!DOCTYPE html> + + <meta charset="UTF-8"> + + <title>CSS Backgrounds Test: 'border-image-slice: 100' with 'fill' keyword (edge case)</title> + + <!-- + + Created: February 24th 2023 + + Last modified: March 23rd 2023 + + --> + + <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/"> + <link rel="help" href="http://www.w3.org/TR/css3-background/#border-image-slice"> + <link rel="match" href="reference/ref-filled-green-100px-square.xht"> + + <meta content="" name="flags"> + <meta content="This test checks the rendering process of selecting the middle part of the border-image to be preserved. Since 'border-image-slice' is '100', then the 8 surrounding areas of the border-image area are selecting the white areas of the border-image and 50px of (and into) the red area. The middle part must be filled with red and green area. In which case, only the horizontal center and the vertical center of the border-image must fill the middle area. Therefore, only the green 100x100 area of the border-image must be painted into the middle area. This test also checks that since the border-style is 'none', then the computed value of 'border-width' must be 0px. Therefore the border belt of the div can not be painted with the 8 sliced border-image areas. So, we should see no red in this test." name="assert"> + + <style> + div + { + border: red none 100px; + border-image-repeat: repeat; + border-image-slice: 100 fill; + border-image-source: url("support/500x500-red-with-green-center.png"); + height: 100px; + width: 100px; + } + + /* + + This is how the border-image 500x500-red-with-green-center.png is painted: + + + (0, 500) (50, 500) (200, 500) (300, 500) (450, 500) (500, 500) + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + | ^ | + | White area 50 White area | + | v | + | - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - | (500, 450) + | | FAIL ^ | | + | | . | | + |<-50-> | |<-50-> | + | | 1 | | + | W | Red area Red area | W | + | h | 5 | h | + | i | | i | + | t | 0 | t | + | e | | e | + | | . | | + | a | v | a | + | r | ------------ | r | (500, 300) + | e | | | | e | + | a | Red area | Green | Red area | a | + | | | | | | + | | <!- . . . 150 . . . -> | area | <!- . . . 150 . . . -> | | + | | | | | | + | | ------------ | | (500, 200) + | | ^ | | + | | . | | + | | | | + | | Red area 1 Red area | | + | | | | + | | 5 | | + | | | | + | | 0 | | + | | | | + | | . | | + | | v | | + | - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - | (500, 50) + | ^ | + | White area 50 White area | + | v | + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + (0, 0) (50, 0) (200, 0) (300, 0) (450, 0) (500, 0) + + */ + + </style> + + <p>Test passes if there is a filled green square and <strong>no red</strong>. + + <div></div> diff --git a/tests/wpt/web-platform-tests/css/css-backgrounds/border-image-space-001.html b/tests/wpt/web-platform-tests/css/css-backgrounds/border-image-space-001.html index 7af66db7bf9..8e04127fd41 100644 --- a/tests/wpt/web-platform-tests/css/css-backgrounds/border-image-space-001.html +++ b/tests/wpt/web-platform-tests/css/css-backgrounds/border-image-space-001.html @@ -6,7 +6,7 @@ <link rel="author" title="Levi Weintraub" href="mailto:leviw@chromium.org"> <link rel="help" href="http://www.w3.org/TR/css3-background/#the-border-image-repeat"> <meta name="assert" content="border-image-repeat: space property spaces out background image that doesn't fit an even number of times."> - <meta name="fuzzy" content="maxDifference=0-36;totalPixels=0-1728"> + <meta name="fuzzy" content="maxDifference=0-80;totalPixels=0-1728"> <link rel="match" href="reference/border-image-space-001-ref.html"> <style> .borderContainer { diff --git a/tests/wpt/web-platform-tests/css/css-backgrounds/border-radius-clip-001.html b/tests/wpt/web-platform-tests/css/css-backgrounds/border-radius-clip-001.html index 008ca7367f2..971bba1a188 100644 --- a/tests/wpt/web-platform-tests/css/css-backgrounds/border-radius-clip-001.html +++ b/tests/wpt/web-platform-tests/css/css-backgrounds/border-radius-clip-001.html @@ -12,7 +12,7 @@ <meta name="assert" content="Test passes if a box with border-radius that clips its content to a box edge clips to the border-radius curve in the corners."> - <meta name="fuzzy" content="0-1;0-1000"> + <meta name="fuzzy" content="0-57;0-1552"> <link rel="stylesheet" type="text/css" href="/fonts/ahem.css" /> <style> diff --git a/tests/wpt/web-platform-tests/css/css-backgrounds/box-shadow-radius-000.html b/tests/wpt/web-platform-tests/css/css-backgrounds/box-shadow-radius-000.html index 08822b4ce58..ea6190b57f6 100644 --- a/tests/wpt/web-platform-tests/css/css-backgrounds/box-shadow-radius-000.html +++ b/tests/wpt/web-platform-tests/css/css-backgrounds/box-shadow-radius-000.html @@ -4,7 +4,7 @@ <link rel="help" href="https://www.w3.org/TR/css-backgrounds-3/#shadow-shape"> <link rel="match" href="box-shadow-radius-000-ref.html"> <!-- Allow differences of antialised pixels along rounded edges --> -<meta name="fuzzy" content="0-25;0-80"> +<meta name="fuzzy" content="0-25;0-90"> <style> body > div { diff --git a/tests/wpt/web-platform-tests/css/css-backgrounds/css-border-radius-001.html b/tests/wpt/web-platform-tests/css/css-backgrounds/css-border-radius-001.html index 7bf4830fa1b..023f7d18024 100644 --- a/tests/wpt/web-platform-tests/css/css-backgrounds/css-border-radius-001.html +++ b/tests/wpt/web-platform-tests/css/css-backgrounds/css-border-radius-001.html @@ -4,15 +4,17 @@ <title>CSS border-radius Test</title> <link rel="author" title="tmd" href="mailto:weisong4413@126.com"> <link rel="help" href="http://www.w3.org/TR/css3-background/#the-border-radius"> - <link rel="match" href="reference/css-border-radius-ref-001.html"> + <link rel="match" href="reference/css-border-radius-001-ref.html"> + <!-- Allow differences of antialised pixels along rounded edges --> + <meta name="fuzzy" content="maxDifference=0-63; totalPixels=0-400"> <style type="text/css"> - .redSquare{ + .blueSquare{ position: absolute; top:50px; left:50px; width: 100px; height: 100px; - background-color:rgba(255, 0, 0, 1); + background-color:rgba(0, 0, 255, 1); } .greenSquare { position: absolute; @@ -29,10 +31,10 @@ </style> </head> <body> - <p>The test passes if you the green is inscribed circle of the red square.</p> + <p>The test passes if the green circle is inscribed in the blue square.</p> <div class="container"> <!-- This is the square that has a inscribed circle if the test passes --> - <div id="red" class="redSquare"></div> + <div id="blue" class="blueSquare"></div> <!-- This is the square being tested with the radius--> <div id="green" class="greenSquare"></div> </div> diff --git a/tests/wpt/web-platform-tests/css/css-backgrounds/reference/border-image-repeat-repeat-001-ref.html b/tests/wpt/web-platform-tests/css/css-backgrounds/reference/border-image-repeat-repeat-001-ref.html new file mode 100644 index 00000000000..0086544c0f7 --- /dev/null +++ b/tests/wpt/web-platform-tests/css/css-backgrounds/reference/border-image-repeat-repeat-001-ref.html @@ -0,0 +1,41 @@ +<!DOCTYPE html> + + <meta charset="UTF-8"> + + <title>CSS Reftest Reference</title> + + <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/"> + + <style> + div + { + background-color: green; + } + + div.vertical + { + height: 75px; + margin-left: 75px; + width: 50px; + } + + div.horizontal + { + height: 50px; + width: 200px; + } + </style> + + <p>Test passes if there are 2 identical filled green plus ("+") signs and <strong>no red</strong>. + + <div class="vertical"></div> + + <div class="horizontal"></div> + + <div class="vertical" style="margin-bottom: 10px;"></div> + + <div class="vertical"></div> + + <div class="horizontal"></div> + + <div class="vertical"></div> diff --git a/tests/wpt/web-platform-tests/css/css-backgrounds/reference/border-image-slice-fill-001-ref.html b/tests/wpt/web-platform-tests/css/css-backgrounds/reference/border-image-slice-fill-001-ref.html new file mode 100644 index 00000000000..2ee68cd4752 --- /dev/null +++ b/tests/wpt/web-platform-tests/css/css-backgrounds/reference/border-image-slice-fill-001-ref.html @@ -0,0 +1,22 @@ +<!DOCTYPE html> + + <meta charset="UTF-8"> + + <title>CSS Reftest Reference</title> + + <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/"> + + <style> + div + { + background-color: green; + height: 100px; + margin-left: 50px; + margin-top: 66px; + width: 100px; + } + </style> + + <p>Test passes if there is a filled green square and <strong>no red</strong>. + + <div></div> diff --git a/tests/wpt/web-platform-tests/css/css-backgrounds/reference/border-image-slice-fill-002-ref.html b/tests/wpt/web-platform-tests/css/css-backgrounds/reference/border-image-slice-fill-002-ref.html new file mode 100644 index 00000000000..f8a781c2531 --- /dev/null +++ b/tests/wpt/web-platform-tests/css/css-backgrounds/reference/border-image-slice-fill-002-ref.html @@ -0,0 +1,29 @@ +<!DOCTYPE html> + + <meta charset="UTF-8"> + + <title>CSS Reftest Reference</title> + + <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/"> + + <style> + div#outer-yellow + { + background-color: yellow; + height: 100px; + padding: 50px; + width: 100px; + } + + div#inner-green + { + background-color: green; + height: 100px; + } + </style> + + <p>Test passes if there is a filled green square surrounded by a yellow square and if there is <strong>no red</strong>. + + <div id="outer-yellow"> + <div id="inner-green"></div> + </div> diff --git a/tests/wpt/web-platform-tests/css/css-backgrounds/reference/css-border-radius-ref-001.html b/tests/wpt/web-platform-tests/css/css-backgrounds/reference/css-border-radius-001-ref.html similarity index 81% rename from tests/wpt/web-platform-tests/css/css-backgrounds/reference/css-border-radius-ref-001.html rename to tests/wpt/web-platform-tests/css/css-backgrounds/reference/css-border-radius-001-ref.html index b89f2853263..ef851137edf 100644 --- a/tests/wpt/web-platform-tests/css/css-backgrounds/reference/css-border-radius-ref-001.html +++ b/tests/wpt/web-platform-tests/css/css-backgrounds/reference/css-border-radius-001-ref.html @@ -3,13 +3,13 @@ <head> <title>CSS border-radius Test</title> <style type="text/css"> - .redSquare{ + .blueSquare{ position: absolute; top:50px; left:50px; width: 100px; height: 100px; - background-color:rgba(255, 0, 0, 1); + background-color:rgba(0, 0, 255, 1); } .greenSquare { position: absolute; @@ -26,10 +26,10 @@ </style> </head> <body> - <p>The test passes if you the green is inscribed circle of the red square.</p> + <p>The test passes if the green circle is inscribed in the blue square.</p> <div class="container"> <!-- This is the square that has a inscribed circle if the test passes --> - <div id="red" class="redSquare"></div> + <div id="blue" class="blueSquare"></div> <!-- This is the square being tested with the radius--> <div id="green" class="greenSquare"></div> </div> diff --git a/tests/wpt/web-platform-tests/css/css-backgrounds/support/500x500-red-with-green-center.png b/tests/wpt/web-platform-tests/css/css-backgrounds/support/500x500-red-with-green-center.png new file mode 100644 index 00000000000..263102bf8aa Binary files /dev/null and b/tests/wpt/web-platform-tests/css/css-backgrounds/support/500x500-red-with-green-center.png differ diff --git a/tests/wpt/web-platform-tests/css/css-backgrounds/support/500x500-white-red-green-irreg-polygon.png b/tests/wpt/web-platform-tests/css/css-backgrounds/support/500x500-white-red-green-irreg-polygon.png new file mode 100644 index 00000000000..99ff636c3f6 Binary files /dev/null and b/tests/wpt/web-platform-tests/css/css-backgrounds/support/500x500-white-red-green-irreg-polygon.png differ diff --git a/tests/wpt/web-platform-tests/css/css-box/margin-trim/computed-margin-values/flexbox-column-block-start.html b/tests/wpt/web-platform-tests/css/css-box/margin-trim/computed-margin-values/flexbox-column-block-start.html new file mode 100644 index 00000000000..6c760bb1f09 --- /dev/null +++ b/tests/wpt/web-platform-tests/css/css-box/margin-trim/computed-margin-values/flexbox-column-block-start.html @@ -0,0 +1,34 @@ +<!DOCTYPE html> +<html> +<head> +<link rel="author" href="mailto:sammy.gill@apple.com"> +<link rel="help" href="https://drafts.csswg.org/css-box-4/#margin-trim-flex"> +<meta name="assert" content="block-start trimmed margins should be reflected in computed style"> +<style> +flexbox { + display: flex; + flex-direction: column; + width: min-content; + margin-trim: block-start; +} +item { + display: block; + background-color: green; + width: 50px; + height: 50px; + margin-block-start: 10px; +} +</style> +<script src="/resources/testharness.js"></script> +<script src="/resources/testharnessreport.js"></script> +<script src="/resources/check-layout-th.js"></script> +</head> +<body onload="checkLayout('flexbox > item')"> +<div id="target"> +<flexbox> + <item data-expected-margin-top="0" data-offset-y="8"></item> + <item data-expected-margin-top="10" data-offset-y="68"></item> +</flexbox> +</div> +</body> +</html> diff --git a/tests/wpt/web-platform-tests/css/css-box/margin-trim/computed-margin-values/flexbox-column-inline-end.html b/tests/wpt/web-platform-tests/css/css-box/margin-trim/computed-margin-values/flexbox-column-inline-end.html new file mode 100644 index 00000000000..9bf43356f22 --- /dev/null +++ b/tests/wpt/web-platform-tests/css/css-box/margin-trim/computed-margin-values/flexbox-column-inline-end.html @@ -0,0 +1,43 @@ +<!DOCTYPE html> +<html> +<head> +<link rel="author" href="mailto:sammy.gill@apple.com"> +<link rel="help" href="https://drafts.csswg.org/css-box-4/#margin-trim-flex"> +<meta name="assert" content="trimmed inline-end margins should be reflected in computed style"> +<style> +flexbox { + display: flex; + flex-direction: column; + width: min-content; + margin-trim: inline-end; +} +item { + display: block; + background-color: green; + width: 50px; + height: 50px; +} +item:nth-child(1) { + margin-inline-end: 10px; +} +item:nth-child(2) { + margin-inline-end: -10px; +} +item:nth-child(3) { + margin-inline-end: 30%; +} +</style> +<script src="/resources/testharness.js"></script> +<script src="/resources/testharnessreport.js"></script> +<script src="/resources/check-layout-th.js"></script> +</head> +<body onload="checkLayout('flexbox > item')"> +<div id="target"> +<flexbox> + <item data-expected-margin-right="0" data-offset-x="8"></item> + <item data-expected-margin-right="0" data-offset-x="8"></item> + <item data-expected-margin-right="0" data-offset-x="8"></item> +</flexbox> +</div> +</body> +</html> \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/css/css-box/margin-trim/computed-margin-values/flexbox-column-multi-line-block-start.html b/tests/wpt/web-platform-tests/css/css-box/margin-trim/computed-margin-values/flexbox-column-multi-line-block-start.html new file mode 100644 index 00000000000..517619db49b --- /dev/null +++ b/tests/wpt/web-platform-tests/css/css-box/margin-trim/computed-margin-values/flexbox-column-multi-line-block-start.html @@ -0,0 +1,38 @@ +<!DOCTYPE html> +<html> +<head> +<link rel="author" href="mailto:sammy.gill@apple.com"> +<link rel="help" href="https://drafts.csswg.org/css-box-4/#margin-trim-flex"> +<meta name="assert" content="block-start trimmed margins should be reflected in computed style"> +<style> +flexbox { + display: flex; + flex-direction: column; + flex-wrap: wrap; + width: 10px; + height: 110px; + margin-trim: block-start; +} +item { + display: block; + background-color: green; + width: 50px; + height: 50px; + margin-block-start: 10px; +} +</style> +<script src="/resources/testharness.js"></script> +<script src="/resources/testharnessreport.js"></script> +<script src="/resources/check-layout-th.js"></script> +</head> +<body onload="checkLayout('flexbox > item')"> +<div id="target"> +<flexbox> + <item data-offset-y="8" data-expected-margin-top="0"></item> + <item data-offset-y="68" data-expected-margin-top="10"></item> + <item data-offset-y="8" data-expected-margin-top="0"></item> + <item data-offset-y="68" data-expected-margin-top="10"></item> +</flexbox> +</div> +</body> +</html> diff --git a/tests/wpt/web-platform-tests/css/css-box/margin-trim/computed-margin-values/flexbox-column-multi-line-inline-end.html b/tests/wpt/web-platform-tests/css/css-box/margin-trim/computed-margin-values/flexbox-column-multi-line-inline-end.html new file mode 100644 index 00000000000..4d3d5b5326c --- /dev/null +++ b/tests/wpt/web-platform-tests/css/css-box/margin-trim/computed-margin-values/flexbox-column-multi-line-inline-end.html @@ -0,0 +1,38 @@ +<!DOCTYPE html> +<html> +<head> +<link rel="author" href="mailto:sammy.gill@apple.com"> +<link rel="help" href="https://drafts.csswg.org/css-box-4/#margin-trim-flex"> +<meta name="assert" content="trimmed inline-end margins should be reflected in computed style"> +<style> +flexbox { + display: flex; + flex-direction: column; + flex-wrap: wrap; + width: min-content; + height: 100px; + margin-trim: inline-end; +} +item { + display: block; + background-color: green; + width: 50px; + height: 50px; + margin-inline-end: 10px; +} +</style> +<script src="/resources/testharness.js"></script> +<script src="/resources/testharnessreport.js"></script> +<script src="/resources/check-layout-th.js"></script> +</head> +<body onload="checkLayout('flexbox > item')"> +<div id="target"> +<flexbox> + <item data-offset-x="8" data-expected-margin-right="10"></item> + <item data-offset-x="8" data-expected-margin-right="10"></item> + <item data-offset-x="68" data-expected-margin-right="0"></item> + <item data-offset-x="68" data-expected-margin-right="0"></item> +</flexbox> +</div> +</body> +</html> \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/css/css-box/margin-trim/computed-margin-values/flexbox-column-style-change-triggers-layout-block-start.html b/tests/wpt/web-platform-tests/css/css-box/margin-trim/computed-margin-values/flexbox-column-style-change-triggers-layout-block-start.html new file mode 100644 index 00000000000..175b5c3f2fc --- /dev/null +++ b/tests/wpt/web-platform-tests/css/css-box/margin-trim/computed-margin-values/flexbox-column-style-change-triggers-layout-block-start.html @@ -0,0 +1,42 @@ +<!DOCTYPE html> +<html> +<head> +<link rel="author" href="mailto:sammy.gill@apple.com"> +<link rel="help" href="https://drafts.csswg.org/css-box-4/#margin-trim-flex"> +<meta name="assert" content="Make sure margins are no longer trimmed when margin-trim is changed to none on the flexbox"> +<style> +flexbox { + display: flex; + flex-direction: column; + width: min-content; + margin-trim: block-start; +} +item { + display: block; + background-color: green; + width: 50px; + height: 50px; + margin-block-start: 10px; +} +</style> +<script src="/resources/testharness.js"></script> +<script src="/resources/testharnessreport.js"></script> +<script src="/resources/check-layout-th.js"></script> +</head> +<body> +<div id="target"> +<flexbox> + <item data-expected-margin-top="10" data-offset-y="18"></item> + <item data-expected-margin-top="10" data-offset-y="78"></item> +</flexbox> +</div> +<script> +// Force the first layout to trim margins, set margin-trim to none, +// force a second layout, and then check to see if the margins were added back +document.body.offsetHeight; +document.querySelector("flexbox").style["margin-trim"] = "none"; +document.body.offsetHeight; +checkLayout("flexbox > item"); +</script> +</body> +</html> diff --git a/tests/wpt/web-platform-tests/css/css-box/margin-trim/computed-margin-values/flexbox-row-block-start.html b/tests/wpt/web-platform-tests/css/css-box/margin-trim/computed-margin-values/flexbox-row-block-start.html new file mode 100644 index 00000000000..9597c9aa10f --- /dev/null +++ b/tests/wpt/web-platform-tests/css/css-box/margin-trim/computed-margin-values/flexbox-row-block-start.html @@ -0,0 +1,43 @@ +<!DOCTYPE html> +<html> +<head> +<link rel="author" href="mailto:sammy.gill@apple.com"> +<link rel="help" href="https://drafts.csswg.org/css-box-4/#margin-trim-flex"> +<meta name="assert" content="block-start trimmed margins should be reflected in computed style"> +<style> +flexbox { + display: flex; + width: min-content; + margin-trim: block-start; +} +item { + display: block; + background-color: green; + width: 50px; + height: 50px; + margin-inline: 10px; +} +item:nth-child(1) { + margin-block-start: 10px; +} +item:nth-child(2) { + margin-block-start: -10px; +} +item:nth-child(3) { + margin-block-start: 30%; +} +</style> +<script src="/resources/testharness.js"></script> +<script src="/resources/testharnessreport.js"></script> +<script src="/resources/check-layout-th.js"></script> +</head> +<body onload="checkLayout('flexbox > item')"> +<div id="target"> +<flexbox> + <item data-expected-margin-top="0" data-offset-y="8"></item> + <item data-expected-margin-top="0" data-offset-y="8"></item> + <item data-expected-margin-top="0" data-offset-y="8"></item> +</flexbox> +</div> +</body> +</html> diff --git a/tests/wpt/web-platform-tests/css/css-box/margin-trim/computed-margin-values/flexbox-row-inline-end.html b/tests/wpt/web-platform-tests/css/css-box/margin-trim/computed-margin-values/flexbox-row-inline-end.html new file mode 100644 index 00000000000..2c20625ed38 --- /dev/null +++ b/tests/wpt/web-platform-tests/css/css-box/margin-trim/computed-margin-values/flexbox-row-inline-end.html @@ -0,0 +1,33 @@ +<!DOCTYPE html> +<html> +<head> +<link rel="author" href="mailto:sammy.gill@apple.com"> +<link rel="help" href="https://drafts.csswg.org/css-box-4/#margin-trim-flex"> +<meta name="assert" content="trimmed inline-end margins should be reflected in computed style"> +<style> +flexbox { + display: flex; + margin-trim: inline-end; +} +item { + display: block; + background-color: green; + width: 50px; + height: 50px; + margin-inline-end: 20px; +} +</style> +<script src="/resources/testharness.js"></script> +<script src="/resources/testharnessreport.js"></script> +<script src="/resources/check-layout-th.js"></script> +</head> +<body onload="checkLayout('flexbox > item')"> +<div id="target"> +<flexbox> + <item data-expected-margin-right="20" data-offset-x="8"></item> + <item data-expected-margin-right="20" data-offset-x="78"></item> + <item data-expected-margin-right="0" data-offset-x="148"></item> +</flexbox> +</div> +</body> +</html> \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/css/css-box/margin-trim/computed-margin-values/flexbox-row-multi-line-block-start.html b/tests/wpt/web-platform-tests/css/css-box/margin-trim/computed-margin-values/flexbox-row-multi-line-block-start.html new file mode 100644 index 00000000000..c3190e1a93f --- /dev/null +++ b/tests/wpt/web-platform-tests/css/css-box/margin-trim/computed-margin-values/flexbox-row-multi-line-block-start.html @@ -0,0 +1,47 @@ +<!DOCTYPE html> +<html> +<head> +<link rel="author" href="mailto:sammy.gill@apple.com"> +<link rel="help" href="https://drafts.csswg.org/css-box-4/#margin-trim-flex"> +<meta name="assert" content="block-start trimmed margins should be reflected in computed style"> +<style> +flexbox { + display: flex; + width: 100px; + flex-wrap: wrap; + margin-trim: block-start; +} +item { + display: block; + background-color: green; + width: 50px; + height: 50px; +} +item:nth-child(1) { + margin-block-start: 10px; +} +item:nth-child(2) { + margin-block-start: -10px; +} +item:nth-child(3) { + margin-block-start: 10px; +} +item:nth-child(4) { + margin-block-start: 10px; +} +</style> +<script src="/resources/testharness.js"></script> +<script src="/resources/testharnessreport.js"></script> +<script src="/resources/check-layout-th.js"></script> +</head> +<body onload="checkLayout('flexbox > item')"> +<div id="target"> +<flexbox> + <item data-expected-margin-top="0" data-offset-y="8"></item> + <item data-expected-margin-top="0" data-offset-y="8"></item> + <item data-expected-margin-top="10" data-offset-y="68"></item> + <item data-expected-margin-top="10" data-offset-y="68"></item> +</flexbox> +</div> +</body> +</html> diff --git a/tests/wpt/web-platform-tests/css/css-box/margin-trim/computed-margin-values/flexbox-row-multi-line-inline-end.html b/tests/wpt/web-platform-tests/css/css-box/margin-trim/computed-margin-values/flexbox-row-multi-line-inline-end.html new file mode 100644 index 00000000000..8a59bc41717 --- /dev/null +++ b/tests/wpt/web-platform-tests/css/css-box/margin-trim/computed-margin-values/flexbox-row-multi-line-inline-end.html @@ -0,0 +1,47 @@ +<!DOCTYPE html> +<html> +<head> +<link rel="author" href="mailto:sammy.gill@apple.com"> +<link rel="help" href="https://drafts.csswg.org/css-box-4/#margin-trim-flex"> +<meta name="assert" content="trimmed inline-end margins should be reflected in computed style"> +<style> +flexbox { + display: flex; + width: 110px; + flex-wrap: wrap; + margin-trim: inline-end; +} +item { + display: block; + background-color: green; + width: 50px; + height: 50px; +} +item:nth-child(1) { + margin-inline-end: 10px; +} +item:nth-child(2) { + margin-inline-end: -10px; +} +item:nth-child(3) { + margin-inline-end: 10px; +} +item:nth-child(4) { + margin-inline-end: 50%; +} +</style> +<script src="/resources/testharness.js"></script> +<script src="/resources/testharnessreport.js"></script> +<script src="/resources/check-layout-th.js"></script> +</head> +<body onload="checkLayout('flexbox > item')"> +<div id="target"> +<flexbox> + <item data-expected-margin-right="10" data-offset-x="8"></item> + <item data-expected-margin-right="0" data-offset-x="68"></item> + <item data-expected-margin-right="10" data-offset-x="8"></item> + <item data-expected-margin-right="0" data-offset-x="68"></item> +</flexbox> +</div> +</body> +</html> \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/css/css-box/margin-trim/flex-column-style-change-triggers-layout-block-end-ref.html b/tests/wpt/web-platform-tests/css/css-box/margin-trim/flex-column-style-change-triggers-layout-block-end-ref.html new file mode 100644 index 00000000000..933ce0cb3b7 --- /dev/null +++ b/tests/wpt/web-platform-tests/css/css-box/margin-trim/flex-column-style-change-triggers-layout-block-end-ref.html @@ -0,0 +1,33 @@ +<!DOCTYPE html> +<html> +<head> +<link rel="author" href="mailto:sammy.gill@apple.com"> +<link rel="help" href="https://drafts.csswg.org/css-box-4/#margin-trim-flex"> +<meta name="assert" content="Flex items react to change in their flexbox's margin-trim value"> +<style> +flexbox { + display: flex; + width: min-content; + flex-wrap: wrap; + border: 1px solid black; +} +item { + display: block; + background-color: green; + width: 50px; + height: 50px; +} +.margin { + margin-block-end: 10px; +} +</style> +</head> +<body> + <flexbox> + <item class="margin"></item> + </flexbox> + <flexbox> + <item></item> + </flexbox> +</body> +</html> diff --git a/tests/wpt/web-platform-tests/css/css-box/margin-trim/flex-column-style-change-triggers-layout-block-end.html b/tests/wpt/web-platform-tests/css/css-box/margin-trim/flex-column-style-change-triggers-layout-block-end.html new file mode 100644 index 00000000000..80f2c62d233 --- /dev/null +++ b/tests/wpt/web-platform-tests/css/css-box/margin-trim/flex-column-style-change-triggers-layout-block-end.html @@ -0,0 +1,41 @@ +<!DOCTYPE html> +<html> +<head> +<link rel="author" href="mailto:sammy.gill@apple.com"> +<link rel="help" href="https://drafts.csswg.org/css-box-4/#margin-trim-flex"> +<meta name="assert" content="Flex items react to change in their flexbox's margin-trim value"> +<link rel="match" href="flex-column-style-change-triggers-layout-block-end-ref.html"> +<style> +flexbox { + display: flex; + flex-direction: column; + width: min-content; + flex-wrap: wrap; + border: 1px solid black; +} +.initial-margin-trim { + margin-trim: block-end; +} +item { + display: block; + background-color: green; + width: 50px; + height: 50px; + margin-block-end: 10px; +} +</style> +</head> +<body> + <flexbox class="initial-margin-trim" id="to-no-margin-trim"> + <item></item> + </flexbox> + <flexbox id="to-margin-trim"> + <item></item> + </flexbox> +</body> +<script> +document.body.offsetHeight; +document.getElementById("to-no-margin-trim").style["margin-trim"] = "none"; +document.getElementById("to-margin-trim").style["margin-trim"] = "block-end"; +</script> +</html> diff --git a/tests/wpt/web-platform-tests/css/css-box/margin-trim/flex-column-style-change-triggers-layout-block-ref.html b/tests/wpt/web-platform-tests/css/css-box/margin-trim/flex-column-style-change-triggers-layout-block-ref.html new file mode 100644 index 00000000000..7b53e757d5c --- /dev/null +++ b/tests/wpt/web-platform-tests/css/css-box/margin-trim/flex-column-style-change-triggers-layout-block-ref.html @@ -0,0 +1,33 @@ +<!DOCTYPE html> +<html> +<head> +<link rel="author" href="mailto:sammy.gill@apple.com"> +<link rel="help" href="https://drafts.csswg.org/css-box-4/#margin-trim-flex"> +<meta name="assert" content="Flex items react to change in their flexbox's margin-trim value"> +<style> +flexbox { + display: flex; + width: min-content; + flex-wrap: wrap; + border: 1px solid black; +} +item { + display: block; + background-color: green; + width: 50px; + height: 50px; +} +.margin { + margin-block: 10px; +} +</style> +</head> +<body> + <flexbox> + <item class="margin"></item> + </flexbox> + <flexbox> + <item></item> + </flexbox> +</body> +</html> diff --git a/tests/wpt/web-platform-tests/css/css-box/margin-trim/flex-column-style-change-triggers-layout-block-start-ref.html b/tests/wpt/web-platform-tests/css/css-box/margin-trim/flex-column-style-change-triggers-layout-block-start-ref.html new file mode 100644 index 00000000000..d58cd0827d2 --- /dev/null +++ b/tests/wpt/web-platform-tests/css/css-box/margin-trim/flex-column-style-change-triggers-layout-block-start-ref.html @@ -0,0 +1,33 @@ +<!DOCTYPE html> +<html> +<head> +<link rel="author" href="mailto:sammy.gill@apple.com"> +<link rel="help" href="https://drafts.csswg.org/css-box-4/#margin-trim-flex"> +<meta name="assert" content="Flex items react to change in their flexbox's margin-trim value"> +<style> +flexbox { + display: flex; + width: min-content; + flex-wrap: wrap; + border: 1px solid black; +} +item { + display: block; + background-color: green; + width: 50px; + height: 50px; +} +.margin { + margin-block-start: 10px; +} +</style> +</head> +<body> + <flexbox> + <item class="margin"></item> + </flexbox> + <flexbox> + <item></item> + </flexbox> +</body> +</html> diff --git a/tests/wpt/web-platform-tests/css/css-box/margin-trim/flex-column-style-change-triggers-layout-block-start.html b/tests/wpt/web-platform-tests/css/css-box/margin-trim/flex-column-style-change-triggers-layout-block-start.html new file mode 100644 index 00000000000..15bdcdaebc4 --- /dev/null +++ b/tests/wpt/web-platform-tests/css/css-box/margin-trim/flex-column-style-change-triggers-layout-block-start.html @@ -0,0 +1,41 @@ +<!DOCTYPE html> +<html> +<head> +<link rel="author" href="mailto:sammy.gill@apple.com"> +<link rel="help" href="https://drafts.csswg.org/css-box-4/#margin-trim-flex"> +<link rel="match" href="flex-column-style-change-triggers-layout-block-start-ref.html"> +<meta name="assert" content="Flex items react to change in their flexbox's margin-trim value"> +<style> +flexbox { + display: flex; + flex-direction: column; + width: min-content; + flex-wrap: wrap; + border: 1px solid black; +} +.initial-margin-trim { + margin-trim: block-start; +} +item { + display: block; + background-color: green; + width: 50px; + height: 50px; + margin-block-start: 10px; +} +</style> +</head> +<body> + <flexbox class="initial-margin-trim" id="to-no-margin-trim"> + <item></item> + </flexbox> + <flexbox id="to-margin-trim"> + <item></item> + </flexbox> +</body> +<script> +document.body.offsetHeight; +document.getElementById("to-no-margin-trim").style["margin-trim"] = "none"; +document.getElementById("to-margin-trim").style["margin-trim"] = "block-start"; +</script> +</html> diff --git a/tests/wpt/web-platform-tests/css/css-box/margin-trim/flex-column-style-change-triggers-layout-block.html b/tests/wpt/web-platform-tests/css/css-box/margin-trim/flex-column-style-change-triggers-layout-block.html new file mode 100644 index 00000000000..505f62ff281 --- /dev/null +++ b/tests/wpt/web-platform-tests/css/css-box/margin-trim/flex-column-style-change-triggers-layout-block.html @@ -0,0 +1,41 @@ +<!DOCTYPE html> +<html> +<head> +<link rel="author" href="mailto:sammy.gill@apple.com"> +<link rel="help" href="https://drafts.csswg.org/css-box-4/#margin-trim-flex"> +<link rel="match" href="flex-column-style-change-triggers-layout-block-ref.html"> +<meta name="assert" content="Flex items react to change in their flexbox's margin-trim value"> +<style> +flexbox { + display: flex; + flex-direction: column; + width: min-content; + flex-wrap: wrap; + border: 1px solid black; +} +.initial-margin-trim { + margin-trim: block; +} +item { + display: block; + background-color: green; + width: 50px; + height: 50px; + margin-block: 10px; +} +</style> +</head> +<body> + <flexbox class="initial-margin-trim" id="to-no-margin-trim"> + <item></item> + </flexbox> + <flexbox id="to-margin-trim"> + <item></item> + </flexbox> +</body> +<script> +document.body.offsetHeight; +document.getElementById("to-no-margin-trim").style["margin-trim"] = "none"; +document.getElementById("to-margin-trim").style["margin-trim"] = "block"; +</script> +</html> diff --git a/tests/wpt/web-platform-tests/css/css-box/margin-trim/flex-row-style-change-triggers-layout-inline-end-ref.html b/tests/wpt/web-platform-tests/css/css-box/margin-trim/flex-row-style-change-triggers-layout-inline-end-ref.html new file mode 100644 index 00000000000..cee1fbb55fe --- /dev/null +++ b/tests/wpt/web-platform-tests/css/css-box/margin-trim/flex-row-style-change-triggers-layout-inline-end-ref.html @@ -0,0 +1,33 @@ +<!DOCTYPE html> +<html> +<head> +<link rel="author" href="mailto:sammy.gill@apple.com"> +<link rel="help" href="https://drafts.csswg.org/css-box-4/#margin-trim-flex"> +<meta name="assert" content="Flex items react to change in their flexbox's margin-trim value"> +<style> +flexbox { + display: flex; + width: min-content; + flex-wrap: wrap; + border: 1px solid black; +} +item { + display: block; + background-color: green; + width: 50px; + height: 50px; +} +.margin { + margin-inline-end: 10px; +} +</style> +</head> +<body> + <flexbox> + <item class="margin"></item> + </flexbox> + <flexbox> + <item></item> + </flexbox> +</body> +</html> diff --git a/tests/wpt/web-platform-tests/css/css-box/margin-trim/flex-row-style-change-triggers-layout-inline-end.html b/tests/wpt/web-platform-tests/css/css-box/margin-trim/flex-row-style-change-triggers-layout-inline-end.html new file mode 100644 index 00000000000..c17e043548f --- /dev/null +++ b/tests/wpt/web-platform-tests/css/css-box/margin-trim/flex-row-style-change-triggers-layout-inline-end.html @@ -0,0 +1,40 @@ +<!DOCTYPE html> +<html> +<head> +<link rel="author" href="mailto:sammy.gill@apple.com"> +<link rel="help" href="https://drafts.csswg.org/css-box-4/#margin-trim-flex"> +<meta name="assert" content="Flex items react to change in their flexbox's margin-trim value"> +<link rel="match" href="flex-row-style-change-triggers-layout-inline-end-ref.html"> +<style> +flexbox { + display: flex; + width: min-content; + flex-wrap: wrap; + border: 1px solid black; +} +.initial-margin-trim { + margin-trim: inline-end; +} +item { + display: block; + background-color: green; + width: 50px; + height: 50px; + margin-inline-end: 10px; +} +</style> +</head> +<body> + <flexbox id="to-no-margin-trim" class="initial-margin-trim"> + <item></item> + </flexbox> + <flexbox id="to-margin-trim"> + <item></item> + </flexbox> +</body> +<script> +document.body.offsetHeight; +document.getElementById("to-no-margin-trim").style["margin-trim"] = "none"; +document.getElementById("to-margin-trim").style["margin-trim"] = "inline-end"; +</script> +</html> diff --git a/tests/wpt/web-platform-tests/css/css-box/margin-trim/flex-row-style-change-triggers-layout-inline-ref.html b/tests/wpt/web-platform-tests/css/css-box/margin-trim/flex-row-style-change-triggers-layout-inline-ref.html new file mode 100644 index 00000000000..455a88f78ed --- /dev/null +++ b/tests/wpt/web-platform-tests/css/css-box/margin-trim/flex-row-style-change-triggers-layout-inline-ref.html @@ -0,0 +1,33 @@ +<!DOCTYPE html> +<html> +<head> +<link rel="author" href="mailto:sammy.gill@apple.com"> +<link rel="help" href="https://drafts.csswg.org/css-box-4/#margin-trim-flex"> +<meta name="assert" content="Flex items react to change in their flexbox's margin-trim value"> +<style> +flexbox { + display: flex; + width: min-content; + flex-wrap: wrap; + border: 1px solid black; +} +item { + display: block; + background-color: green; + width: 50px; + height: 50px; +} +.margin { + margin-inline: 10px; +} +</style> +</head> +<body> + <flexbox> + <item class="margin"></item> + </flexbox> + <flexbox> + <item></item> + </flexbox> +</body> +</html> diff --git a/tests/wpt/web-platform-tests/css/css-box/margin-trim/flex-row-style-change-triggers-layout-inline-start-ref.html b/tests/wpt/web-platform-tests/css/css-box/margin-trim/flex-row-style-change-triggers-layout-inline-start-ref.html new file mode 100644 index 00000000000..966bdf1be8c --- /dev/null +++ b/tests/wpt/web-platform-tests/css/css-box/margin-trim/flex-row-style-change-triggers-layout-inline-start-ref.html @@ -0,0 +1,33 @@ +<!DOCTYPE html> +<html> +<head> +<link rel="author" href="mailto:sammy.gill@apple.com"> +<link rel="help" href="https://drafts.csswg.org/css-box-4/#margin-trim-flex"> +<meta name="assert" content="Flex items react to change in their flexbox's margin-trim value"> +<style> +flexbox { + display: flex; + width: min-content; + flex-wrap: wrap; + border: 1px solid black; +} +item { + display: block; + background-color: green; + width: 50px; + height: 50px; +} +.margin { + margin-inline-start: 10px; +} +</style> +</head> +<body> + <flexbox> + <item class="margin"></item> + </flexbox> + <flexbox> + <item></item> + </flexbox> +</body> +</html> diff --git a/tests/wpt/web-platform-tests/css/css-box/margin-trim/flex-row-style-change-triggers-layout-inline-start.html b/tests/wpt/web-platform-tests/css/css-box/margin-trim/flex-row-style-change-triggers-layout-inline-start.html new file mode 100644 index 00000000000..87118ff6987 --- /dev/null +++ b/tests/wpt/web-platform-tests/css/css-box/margin-trim/flex-row-style-change-triggers-layout-inline-start.html @@ -0,0 +1,40 @@ +<!DOCTYPE html> +<html> +<head> +<link rel="author" href="mailto:sammy.gill@apple.com"> +<link rel="help" href="https://drafts.csswg.org/css-box-4/#margin-trim-flex"> +<link rel="match" href="flex-row-style-change-triggers-layout-inline-start-ref.html"> +<meta name="assert" content="Flex items react to change in their flexbox's margin-trim value"> +<style> +flexbox { + display: flex; + width: min-content; + flex-wrap: wrap; + border: 1px solid black; +} +.initial-margin-trim { + margin-trim: inline-start; +} +item { + display: block; + background-color: green; + width: 50px; + height: 50px; + margin-inline-start: 10px; +} +</style> +</head> +<body> + <flexbox class="initial-margin-trim" id="to-no-margin-trim"> + <item></item> + </flexbox> + <flexbox id="to-margin-trim"> + <item></item> + </flexbox> +</body> +<script> +document.body.offsetHeight; +document.getElementById("to-no-margin-trim").style["margin-trim"] = "none"; +document.getElementById("to-margin-trim").style["margin-trim"] = "inline-start"; +</script> +</html> diff --git a/tests/wpt/web-platform-tests/css/css-box/margin-trim/flex-row-style-change-triggers-layout-inline.html b/tests/wpt/web-platform-tests/css/css-box/margin-trim/flex-row-style-change-triggers-layout-inline.html new file mode 100644 index 00000000000..2e02643e58c --- /dev/null +++ b/tests/wpt/web-platform-tests/css/css-box/margin-trim/flex-row-style-change-triggers-layout-inline.html @@ -0,0 +1,40 @@ +<!DOCTYPE html> +<html> +<head> +<link rel="author" href="mailto:sammy.gill@apple.com"> +<link rel="help" href="https://drafts.csswg.org/css-box-4/#margin-trim-flex"> +<link rel="match" href="flex-row-style-change-triggers-layout-inline-ref.html"> +<meta name="assert" content="Flex items react to change in their flexbox's margin-trim value"> +<style> +flexbox { + display: flex; + width: min-content; + flex-wrap: wrap; + border: 1px solid black; +} +.initial-margin-trim { + margin-trim: inline; +} +item { + display: block; + background-color: green; + width: 50px; + height: 50px; + margin-inline: 10px; +} +</style> +</head> +<body> + <flexbox class="initial-margin-trim" id="to-no-margin-trim"> + <item></item> + </flexbox> + <flexbox id="to-margin-trim"> + <item></item> + </flexbox> +</body> +<script> +document.body.offsetHeight; +document.getElementById("to-no-margin-trim").style["margin-trim"] = "none"; +document.getElementById("to-margin-trim").style["margin-trim"] = "inline"; +</script> +</html> diff --git a/tests/wpt/web-platform-tests/css/css-break/animation/break-no-interpolation.html b/tests/wpt/web-platform-tests/css/css-break/animation/break-no-interpolation.html new file mode 100644 index 00000000000..8a7bf7a68a3 --- /dev/null +++ b/tests/wpt/web-platform-tests/css/css-break/animation/break-no-interpolation.html @@ -0,0 +1,27 @@ +<!DOCTYPE html> +<link rel=author href="mailto:jarhar@chromium.org"> +<link rel=help href="https://github.com/w3c/csswg-drafts/issues/4441"> +<script src="/resources/testharness.js"></script> +<script src="/resources/testharnessreport.js"></script> +<script src="/css/support/interpolation-testcommon.js"></script> + +<body> +<script> +test_no_interpolation({ + property: 'break-after', + from: 'initial', + to: 'avoid' +}); + +test_no_interpolation({ + property: 'break-before', + from: 'initial', + to: 'avoid' +}); + +test_no_interpolation({ + property: 'break-inside', + from: 'initial', + to: 'avoid' +}); +</script> diff --git a/tests/wpt/web-platform-tests/css/css-break/flexbox/monolithic-overflow-001.tentative.html b/tests/wpt/web-platform-tests/css/css-break/flexbox/monolithic-overflow-001.tentative.html new file mode 100644 index 00000000000..11714851813 --- /dev/null +++ b/tests/wpt/web-platform-tests/css/css-break/flexbox/monolithic-overflow-001.tentative.html @@ -0,0 +1,12 @@ +<!DOCTYPE html> +<link rel="author" title="Morten Stenshorne" href="mailto:mstensho@chromium.org"> +<link rel="help" href="https://bugs.chromium.org/p/chromium/issues/detail?id=1425077"> +<link rel="match" href="../../reference/ref-filled-green-100px-square.xht"> +<p>Test passes if there is a filled green square and <strong>no red</strong>.</p> +<div style="width:100px; height:100px; background:red;"> + <div style="columns:1; column-fill:auto; height:60px;"> + <div style="display:flex; flex-flow:column; height:100px; background:green;"> + <div style="contain:size; height:100px;"></div> + </div> + </div> +</div> diff --git a/tests/wpt/web-platform-tests/css/css-break/flexbox/monolithic-overflow-002.tentative.html b/tests/wpt/web-platform-tests/css/css-break/flexbox/monolithic-overflow-002.tentative.html new file mode 100644 index 00000000000..298f749a8d7 --- /dev/null +++ b/tests/wpt/web-platform-tests/css/css-break/flexbox/monolithic-overflow-002.tentative.html @@ -0,0 +1,12 @@ +<!DOCTYPE html> +<link rel="author" title="Morten Stenshorne" href="mailto:mstensho@chromium.org"> +<link rel="help" href="https://bugs.chromium.org/p/chromium/issues/detail?id=1425077"> +<link rel="match" href="../../reference/ref-filled-green-100px-square.xht"> +<p>Test passes if there is a filled green square and <strong>no red</strong>.</p> +<div style="width:100px; height:100px; background:red;"> + <div style="columns:1; column-fill:auto; height:60px;"> + <div style="display:flex; flex-flow:column; background:green;"> + <div style="contain:size; height:100px;"></div> + </div> + </div> +</div> diff --git a/tests/wpt/web-platform-tests/css/css-break/flexbox/monolithic-overflow-003.tentative.html b/tests/wpt/web-platform-tests/css/css-break/flexbox/monolithic-overflow-003.tentative.html new file mode 100644 index 00000000000..ed223e809fb --- /dev/null +++ b/tests/wpt/web-platform-tests/css/css-break/flexbox/monolithic-overflow-003.tentative.html @@ -0,0 +1,13 @@ +<!DOCTYPE html> +<link rel="author" title="Morten Stenshorne" href="mailto:mstensho@chromium.org"> +<link rel="help" href="https://bugs.chromium.org/p/chromium/issues/detail?id=1425077"> +<link rel="match" href="../../reference/ref-filled-green-100px-square.xht"> +<p>Test passes if there is a filled green square and <strong>no red</strong>.</p> +<div style="width:100px; height:100px; background:red;"> + <div style="columns:2; gap:0; column-fill:auto; height:60px;"> + <div style="display:flex; flex-flow:column; height:200px; background:green;"> + <div style="contain:size; height:100px;"></div> + <div style="contain:size; height:100px;"></div> + </div> + </div> +</div> diff --git a/tests/wpt/web-platform-tests/css/css-break/flexbox/monolithic-overflow-004.tentative.html b/tests/wpt/web-platform-tests/css/css-break/flexbox/monolithic-overflow-004.tentative.html new file mode 100644 index 00000000000..ed7fea725c6 --- /dev/null +++ b/tests/wpt/web-platform-tests/css/css-break/flexbox/monolithic-overflow-004.tentative.html @@ -0,0 +1,13 @@ +<!DOCTYPE html> +<link rel="author" title="Morten Stenshorne" href="mailto:mstensho@chromium.org"> +<link rel="help" href="https://bugs.chromium.org/p/chromium/issues/detail?id=1425077"> +<link rel="match" href="../../reference/ref-filled-green-100px-square.xht"> +<p>Test passes if there is a filled green square and <strong>no red</strong>.</p> +<div style="width:100px; height:100px; background:red;"> + <div style="columns:2; gap:0; column-fill:auto; height:60px;"> + <div style="display:flex; flex-flow:column; background:green;"> + <div style="contain:size; height:100px;"></div> + <div style="contain:size; height:100px;"></div> + </div> + </div> +</div> diff --git a/tests/wpt/web-platform-tests/css/css-break/flexbox/multi-line-row-flex-fragmentation-072.html b/tests/wpt/web-platform-tests/css/css-break/flexbox/multi-line-row-flex-fragmentation-072.html new file mode 100644 index 00000000000..4964c14c229 --- /dev/null +++ b/tests/wpt/web-platform-tests/css/css-break/flexbox/multi-line-row-flex-fragmentation-072.html @@ -0,0 +1,44 @@ +<!DOCTYPE html> +<html> + <meta charset="utf-8"> + <title>Tests un-fragmentable flex item is pushed to the second column if it cannot fit in the first column.</title> + <link rel="author" title="Ting-Yu Lin" href="mailto:tlin@mozilla.com"> + <link rel="author" title="Mozilla" href="https://www.mozilla.org/"> + <link rel="help" href="https://drafts.csswg.org/css-flexbox-1/#pagination"> + <link rel="help" href="https://bugzilla.mozilla.org/show_bug.cgi?id=1743890"> + <link rel="match" href="../../reference/ref-filled-green-100px-square.xht"> + <link rel="stylesheet" href="/fonts/ahem.css"> + <style> + .multicol { + column-count: 2; + column-gap: 0; + column-fill: auto; + background: red; + inline-size: 100px; + block-size: 100px; + } + + .flexbox { + display: flex; + flex-wrap: wrap; + row-gap: 5px; + font: 40px/1 Ahem; + background: green; + color: green; + border: solid green; + border-width: 15px 5px; + } + </style> + + <p>Test passes if there is a filled green square and <strong>no red</strong>.</p> + <div class="multicol"> + <!-- This div makes the flexbox not at the top of first column. --> + <div style="width: 50px; height: 20px; background: green;"></div> + + <div class="flexbox"> + <div>X</div> + <div>X</div> <!-- The second item should be at the top of the second column. --> + <div>X</div> + </div> + </div> +</html> diff --git a/tests/wpt/web-platform-tests/css/css-break/flexbox/multi-line-row-flex-fragmentation-073.html b/tests/wpt/web-platform-tests/css/css-break/flexbox/multi-line-row-flex-fragmentation-073.html new file mode 100644 index 00000000000..6afeb6d558b --- /dev/null +++ b/tests/wpt/web-platform-tests/css/css-break/flexbox/multi-line-row-flex-fragmentation-073.html @@ -0,0 +1,44 @@ +<!DOCTYPE html> +<html> + <meta charset="utf-8"> + <title>Tests un-fragmentable flex item is pushed to the second column if it cannot fit in the first column.</title> + <link rel="author" title="Ting-Yu Lin" href="mailto:tlin@mozilla.com"> + <link rel="author" title="Mozilla" href="https://www.mozilla.org/"> + <link rel="help" href="https://drafts.csswg.org/css-flexbox-1/#pagination"> + <link rel="help" href="https://bugzilla.mozilla.org/show_bug.cgi?id=1743890"> + <link rel="match" href="../../reference/ref-filled-green-100px-square.xht"> + <link rel="stylesheet" href="/fonts/ahem.css"> + <style> + .multicol { + column-count: 2; + column-gap: 0; + column-fill: auto; + background: red; + inline-size: 100px; + block-size: 100px; + } + + .flexbox { + display: flex; + flex-wrap: wrap-reverse; + row-gap: 5px; + font: 40px/1 Ahem; + background: green; + color: green; + border: solid green; + border-width: 15px 5px; + } + </style> + + <p>Test passes if there is a filled green square and <strong>no red</strong>.</p> + <div class="multicol"> + <!-- This div makes the flexbox not at the top of first column. --> + <div style="width: 50px; height: 20px; background: green;"></div> + + <div class="flexbox"> + <div>X</div> + <div>X</div> <!-- The second item should be at the top of the second column. --> + <div>X</div> + </div> + </div> +</html> diff --git a/tests/wpt/web-platform-tests/css/css-break/flexbox/multi-line-row-flex-fragmentation-074.html b/tests/wpt/web-platform-tests/css/css-break/flexbox/multi-line-row-flex-fragmentation-074.html new file mode 100644 index 00000000000..321f8f79889 --- /dev/null +++ b/tests/wpt/web-platform-tests/css/css-break/flexbox/multi-line-row-flex-fragmentation-074.html @@ -0,0 +1,51 @@ +<!DOCTYPE html> +<html> + <meta charset="utf-8"> + <title>Tests un-fragmentable flex item is pushed to the next column without overflowing the flex container.</title> + <link rel="author" title="Ting-Yu Lin" href="mailto:tlin@mozilla.com"> + <link rel="author" title="Mozilla" href="https://www.mozilla.org/"> + <link rel="help" href="https://drafts.csswg.org/css-flexbox-1/#pagination"> + <link rel="help" href="https://bugzilla.mozilla.org/show_bug.cgi?id=1743890"> + <link rel="match" href="../../reference/ref-filled-green-100px-square.xht"> + <style> + .multicol { + column-count: 4; + column-gap: 0; + column-fill: auto; + background: red; + width: 100px; + height: 100px; + } + + .multicol > div { + background: green; + } + + .flexbox { + display: flex; + flex-wrap: wrap; + height: 280px; + border: 5px solid green; + align-content: space-between; + } + + .flexbox > div { + contain: size; + width: 95%; /* one flex item per line */ + height: 40px; + } + </style> + + <p>Test passes if there is a filled green square and <strong>no red</strong>.</p> + <div class="multicol"> + <!-- This div makes the flexbox not at the top of first column. --> + <div style="width: 100%; height: 50px; background: green;"></div> + + <div class="flexbox"> + <div></div> + <div></div> + </div> + + <div style="width: 100%; height: 60px; background: green;"></div> + </div> +</html> diff --git a/tests/wpt/web-platform-tests/css/css-break/flexbox/multi-line-row-flex-fragmentation-075-print-ref.html b/tests/wpt/web-platform-tests/css/css-break/flexbox/multi-line-row-flex-fragmentation-075-print-ref.html new file mode 100644 index 00000000000..65b68b27e5f --- /dev/null +++ b/tests/wpt/web-platform-tests/css/css-break/flexbox/multi-line-row-flex-fragmentation-075-print-ref.html @@ -0,0 +1,50 @@ +<!DOCTYPE html> +<html> + <meta charset="utf-8"> + <link rel="author" title="Ting-Yu Lin" href="mailto:tlin@mozilla.com"> + <link rel="author" title="Mozilla" href="https://www.mozilla.org/"> + + <style> + @page { size: 5in 3in; margin: 0.5in; } + body { margin: 0; } + + .flexbox { + border: 0.25in solid black; + font-size: 0.25in; + height: 3in; + } + .flexbox > div { + position: relative; + } + .item { + position: absolute; + contain: size; + box-sizing: border-box; + border: 4px solid purple; + width: 25%; + height: 0.5in; + } + </style> + + <!-- This div makes the flexbox not at the top of first page. --> + <div style="height: 0.25in; background: gray;"></div> + + <div class="flexbox"> + <div style="height: 1.5in;"> + <div class="item" style="top: 1in">1</div> + <div class="item" style="left: 25%;">2</div> + </div> + <div style="height: 1in;"> + <div class="item" style="left: 50%; height: 1in;">3</div> + <div class="item" style="left: 75%;">4</div> + </div> + <div> + <div class="item">5</div> + <div class="item" style="left: 25%">6</div> + <div class="item" style="left: 50%">7</div> + <div class="item" style="left: 75%">8</div> + </div> + </div> + + <div style="height: 0.25in; background: gray;"></div> +</html> diff --git a/tests/wpt/web-platform-tests/css/css-break/flexbox/multi-line-row-flex-fragmentation-075-print.html b/tests/wpt/web-platform-tests/css/css-break/flexbox/multi-line-row-flex-fragmentation-075-print.html new file mode 100644 index 00000000000..f1f3c79377b --- /dev/null +++ b/tests/wpt/web-platform-tests/css/css-break/flexbox/multi-line-row-flex-fragmentation-075-print.html @@ -0,0 +1,45 @@ +<!DOCTYPE html> +<!-- This is a multi-line extension of: single-line-row-flex-fragmentation-042-print.html --> +<html> + <meta charset="utf-8"> + <link rel="author" title="Ting-Yu Lin" href="mailto:tlin@mozilla.com"> + <link rel="author" title="Mozilla" href="https://www.mozilla.org/"> + <link rel="help" href="https://drafts.csswg.org/css-flexbox-1/#pagination"> + <link rel="help" href="https://bugzilla.mozilla.org/show_bug.cgi?id=1743890"> + <link rel="match" href="multi-line-row-flex-fragmentation-075-print-ref.html"> + + <style> + @page { size: 5in 3in; margin: 0.5in; } + body { margin: 0; } + + .flexbox { + display: flex; + border: 0.25in solid black; + font-size: 0.25in; + flex-flow: row wrap; + } + .item { + contain: size; + box-sizing: border-box; + border: 4px solid purple; + width: 25%; + height: 0.5in; + } + </style> + + <!-- This div makes the flexbox not at the top of first page. --> + <div style="height: 0.25in; background: gray;"></div> + + <div class="flexbox"> + <div class="item" style="margin-top: 1in;">1</div> + <div class="item">2</div> + <div class="item" style="margin-top: 1in; height: 1in;">3</div> + <div class="item" style="align-self: flex-end;">4</div> + <div class="item">5</div> + <div class="item">6</div> + <div class="item">7</div> + <div class="item">8</div> + </div> + + <div style="height: 0.25in; background: gray;"></div> +</html> diff --git a/tests/wpt/web-platform-tests/css/css-break/flexbox/multi-line-row-flex-fragmentation-076-print-ref.html b/tests/wpt/web-platform-tests/css/css-break/flexbox/multi-line-row-flex-fragmentation-076-print-ref.html new file mode 100644 index 00000000000..a14e3ed0162 --- /dev/null +++ b/tests/wpt/web-platform-tests/css/css-break/flexbox/multi-line-row-flex-fragmentation-076-print-ref.html @@ -0,0 +1,50 @@ +<!DOCTYPE html> +<html> + <meta charset="utf-8"> + <link rel="author" title="Ting-Yu Lin" href="mailto:tlin@mozilla.com"> + <link rel="author" title="Mozilla" href="https://www.mozilla.org/"> + + <style> + @page { size: 5in 3in; margin: 0.5in; } + body { margin: 0; } + + .flexbox { + border: 0.25in solid black; + font-size: 0.25in; + height: 3in; + } + .flexbox > div { + position: relative; + } + .item { + position: absolute; + contain: size; + box-sizing: border-box; + border: 4px solid purple; + width: 25%; + height: 0.5in; + } + </style> + + <!-- This div makes the flexbox not at the top of first page. --> + <div style="height: 0.25in; background: gray;"></div> + + <div class="flexbox"> + <div style="height: 1.5in;"> + <div class="item" style="top: 0.5in">1</div> + <div class="item" style="left: 25%;">2</div> + </div> + <div style="height: 1in;"> + <div class="item" style="left: 50%; height: 1in;">3</div> + <div class="item" style="left: 75%; top: 0.5in">4</div> + </div> + <div> + <div class="item">5</div> + <div class="item" style="left: 25%">6</div> + <div class="item" style="left: 50%">7</div> + <div class="item" style="left: 75%">8</div> + </div> + </div> + + <div style="height: 0.25in; background: gray;"></div> +</html> diff --git a/tests/wpt/web-platform-tests/css/css-break/flexbox/multi-line-row-flex-fragmentation-076-print.html b/tests/wpt/web-platform-tests/css/css-break/flexbox/multi-line-row-flex-fragmentation-076-print.html new file mode 100644 index 00000000000..a6caab736b5 --- /dev/null +++ b/tests/wpt/web-platform-tests/css/css-break/flexbox/multi-line-row-flex-fragmentation-076-print.html @@ -0,0 +1,45 @@ +<!DOCTYPE html> +<!-- This is a multi-line extension of: single-line-row-flex-fragmentation-042-print.html --> +<html> + <meta charset="utf-8"> + <link rel="author" title="Ting-Yu Lin" href="mailto:tlin@mozilla.com"> + <link rel="author" title="Mozilla" href="https://www.mozilla.org/"> + <link rel="help" href="https://drafts.csswg.org/css-flexbox-1/#pagination"> + <link rel="help" href="https://bugzilla.mozilla.org/show_bug.cgi?id=1743890"> + <link rel="match" href="multi-line-row-flex-fragmentation-076-print-ref.html"> + + <style> + @page { size: 5in 3in; margin: 0.5in; } + body { margin: 0; } + + .flexbox { + display: flex; + border: 0.25in solid black; + font-size: 0.25in; + flex-flow: row wrap; + } + .item { + contain: size; + box-sizing: border-box; + border: 4px solid purple; + width: 25%; + height: 0.5in; + } + </style> + + <!-- This div makes the flexbox not at the top of first page. --> + <div style="height: 0.25in; background: gray;"></div> + + <div class="flexbox"> + <div class="item" style="margin-top: 0.5in;">1</div> + <div class="item">2</div> + <div class="item" style="margin-top: 1in; height: 1in;">3</div> + <div class="item" style="margin-top: 2in;">4</div> + <div class="item">5</div> + <div class="item">6</div> + <div class="item">7</div> + <div class="item">8</div> + </div> + + <div style="height: 0.25in; background: gray;"></div> +</html> diff --git a/tests/wpt/web-platform-tests/css/css-break/flexbox/single-line-column-flex-fragmentation-061.html b/tests/wpt/web-platform-tests/css/css-break/flexbox/single-line-column-flex-fragmentation-061.html new file mode 100644 index 00000000000..2cbb42d7753 --- /dev/null +++ b/tests/wpt/web-platform-tests/css/css-break/flexbox/single-line-column-flex-fragmentation-061.html @@ -0,0 +1,44 @@ +<!DOCTYPE html> +<html> + <meta charset="utf-8"> + <title>Tests un-fragmentable flex item is pushed to the second column if it cannot fit in the first column.</title> + <link rel="author" title="Ting-Yu Lin" href="mailto:tlin@mozilla.com"> + <link rel="author" title="Mozilla" href="https://www.mozilla.org/"> + <link rel="help" href="https://drafts.csswg.org/css-flexbox-1/#pagination"> + <link rel="help" href="https://bugzilla.mozilla.org/show_bug.cgi?id=1743890"> + <link rel="match" href="../../reference/ref-filled-green-100px-square.xht"> + <link rel="stylesheet" href="/fonts/ahem.css"> + <style> + .multicol { + column-count: 2; + column-gap: 0; + column-fill: auto; + background: red; + inline-size: 100px; + block-size: 100px; + } + + .flexbox { + display: flex; + flex-direction: column; + row-gap: 5px; + font: 40px/1 Ahem; + background: green; + color: green; + border: solid green; + border-width: 15px 5px; + } + </style> + + <p>Test passes if there is a filled green square and <strong>no red</strong>.</p> + <div class="multicol"> + <!-- This div makes the flexbox not at the top of first column. --> + <div style="width: 50px; height: 20px; background: green;"></div> + + <div class="flexbox"> + <div>X</div> + <div>X</div> <!-- The second item should be at the top of the second column. --> + <div>X</div> + </div> + </div> +</html> diff --git a/tests/wpt/web-platform-tests/css/css-break/flexbox/single-line-column-flex-fragmentation-062.html b/tests/wpt/web-platform-tests/css/css-break/flexbox/single-line-column-flex-fragmentation-062.html new file mode 100644 index 00000000000..fae736d1082 --- /dev/null +++ b/tests/wpt/web-platform-tests/css/css-break/flexbox/single-line-column-flex-fragmentation-062.html @@ -0,0 +1,44 @@ +<!DOCTYPE html> +<html> + <meta charset="utf-8"> + <title>Tests un-fragmentable flex item is pushed to the second column if it cannot fit in the first column.</title> + <link rel="author" title="Ting-Yu Lin" href="mailto:tlin@mozilla.com"> + <link rel="author" title="Mozilla" href="https://www.mozilla.org/"> + <link rel="help" href="https://drafts.csswg.org/css-flexbox-1/#pagination"> + <link rel="help" href="https://bugzilla.mozilla.org/show_bug.cgi?id=1743890"> + <link rel="match" href="../../reference/ref-filled-green-100px-square.xht"> + <link rel="stylesheet" href="/fonts/ahem.css"> + <style> + .multicol { + column-count: 2; + column-gap: 0; + column-fill: auto; + background: red; + width: 100px; + height: 100px; + } + + .flexbox { + display: flex; + flex-direction: column-reverse; + row-gap: 5px; + font: 40px/1 Ahem; + background: green; + color: green; + border: solid green; + border-width: 15px 5px; + } + </style> + + <p>Test passes if there is a filled green square and <strong>no red</strong>.</p> + <div class="multicol"> + <!-- This div makes the flexbox not at the top of first column. --> + <div style="width: 50px; height: 20px; background: green;"></div> + + <div class="flexbox"> + <div>X</div> + <div>X</div> <!-- The second item should be at the top of the second column. --> + <div>X</div> + </div> + </div> +</html> diff --git a/tests/wpt/web-platform-tests/css/css-break/flexbox/single-line-column-flex-fragmentation-063.html b/tests/wpt/web-platform-tests/css/css-break/flexbox/single-line-column-flex-fragmentation-063.html new file mode 100644 index 00000000000..f2d407a614e --- /dev/null +++ b/tests/wpt/web-platform-tests/css/css-break/flexbox/single-line-column-flex-fragmentation-063.html @@ -0,0 +1,49 @@ +<!DOCTYPE html> +<html> + <meta charset="utf-8"> + <title>Tests un-fragmentable flex item is pushed to the next column without overflowing the flex container.</title> + <link rel="author" title="Ting-Yu Lin" href="mailto:tlin@mozilla.com"> + <link rel="author" title="Mozilla" href="https://www.mozilla.org/"> + <link rel="help" href="https://drafts.csswg.org/css-flexbox-1/#pagination"> + <link rel="help" href="https://bugzilla.mozilla.org/show_bug.cgi?id=1743890"> + <link rel="match" href="../../reference/ref-filled-green-100px-square.xht"> + <style> + .multicol { + column-count: 4; + column-gap: 0; + column-fill: auto; + background: red; + width: 100px; + height: 100px; + } + + .multicol > div { + background: green; + } + + .flexbox { + display: flex; + flex-direction: column; + height: 340px; + border: 5px solid green; + justify-content: end; + } + + .flexbox > div { + contain: size; + width: 15px; + height: 50px; + } + </style> + + <p>Test passes if there is a filled green square and <strong>no red</strong>.</p> + <div class="multicol"> + <!-- This div makes the flexbox not at the top of first column. --> + <div style="width: 50px; height: 50px;"></div> + + <div class="flexbox"> + <div></div> + <div></div> + </div> + </div> +</html> diff --git a/tests/wpt/web-platform-tests/css/css-break/flexbox/single-line-column-flex-fragmentation-064.html b/tests/wpt/web-platform-tests/css/css-break/flexbox/single-line-column-flex-fragmentation-064.html new file mode 100644 index 00000000000..9cda2de6cbb --- /dev/null +++ b/tests/wpt/web-platform-tests/css/css-break/flexbox/single-line-column-flex-fragmentation-064.html @@ -0,0 +1,51 @@ +<!DOCTYPE html> +<html> + <meta charset="utf-8"> + <title>Tests un-fragmentable flex item is pushed to the next column without overflowing the flex container.</title> + <link rel="author" title="Ting-Yu Lin" href="mailto:tlin@mozilla.com"> + <link rel="author" title="Mozilla" href="https://www.mozilla.org/"> + <link rel="help" href="https://drafts.csswg.org/css-flexbox-1/#pagination"> + <link rel="help" href="https://bugzilla.mozilla.org/show_bug.cgi?id=1743890"> + <link rel="match" href="../../reference/ref-filled-green-100px-square.xht"> + <style> + .multicol { + column-count: 4; + column-gap: 0; + column-fill: auto; + background: red; + width: 100px; + height: 100px; + } + + .multicol > div { + background: green; + } + + .flexbox { + display: flex; + flex-direction: column; + height: 280px; + justify-content: space-between; + border: 5px solid green; + } + + .flexbox > div { + contain: size; + width: 15px; + height: 40px; + } + </style> + + <p>Test passes if there is a filled green square and <strong>no red</strong>.</p> + <div class="multicol"> + <!-- This div makes the flexbox not at the top of first column. --> + <div style="width: 100%; height: 50px;"></div> + + <div class="flexbox"> + <div></div> + <div></div> + </div> + + <div style="width: 100%; height: 60px;"></div> + </div> +</html> diff --git a/tests/wpt/web-platform-tests/css/css-break/flexbox/single-line-row-flex-fragmentation-043.html b/tests/wpt/web-platform-tests/css/css-break/flexbox/single-line-row-flex-fragmentation-043.html new file mode 100644 index 00000000000..e41862d6c46 --- /dev/null +++ b/tests/wpt/web-platform-tests/css/css-break/flexbox/single-line-row-flex-fragmentation-043.html @@ -0,0 +1,49 @@ +<!DOCTYPE html> +<html> + <meta charset="utf-8"> + <title>Tests un-fragmentable flex item is pushed to the next column without overflowing the flex container.</title> + <link rel="author" title="Ting-Yu Lin" href="mailto:tlin@mozilla.com"> + <link rel="author" title="Mozilla" href="https://www.mozilla.org/"> + <link rel="help" href="https://drafts.csswg.org/css-flexbox-1/#pagination"> + <link rel="help" href="https://bugzilla.mozilla.org/show_bug.cgi?id=1743890"> + <link rel="match" href="../../reference/ref-filled-green-100px-square.xht"> + <style> + .multicol { + column-count: 4; + column-gap: 0; + column-fill: auto; + background: red; + width: 100px; + height: 100px; + } + + .multicol > div { + background: green; + } + + .flexbox { + display: flex; + height: 280px; + border: 5px solid green; + } + + .flexbox > div { + contain: size; + width: 50%; + height: 40px; + } + </style> + + <p>Test passes if there is a filled green square and <strong>no red</strong>.</p> + <div class="multicol"> + <!-- This div makes the flexbox not at the top of first column. --> + <div style="width: 100%; height: 50px"></div> + + <div class="flexbox"> + <div style="align-self: start"></div> + <div style="align-self: end"></div> + </div> + + <div style="width: 100%; height: 60px"></div> + </div> +</html> diff --git a/tests/wpt/web-platform-tests/css/css-break/grid/monolithic-overflow-001.tentative.html b/tests/wpt/web-platform-tests/css/css-break/grid/monolithic-overflow-001.tentative.html new file mode 100644 index 00000000000..95660ec1068 --- /dev/null +++ b/tests/wpt/web-platform-tests/css/css-break/grid/monolithic-overflow-001.tentative.html @@ -0,0 +1,12 @@ +<!DOCTYPE html> +<link rel="author" title="Morten Stenshorne" href="mailto:mstensho@chromium.org"> +<link rel="help" href="https://bugs.chromium.org/p/chromium/issues/detail?id=1425077"> +<link rel="match" href="../../reference/ref-filled-green-100px-square.xht"> +<p>Test passes if there is a filled green square and <strong>no red</strong>.</p> +<div style="width:100px; height:100px; background:red;"> + <div style="columns:1; column-fill:auto; height:60px;"> + <div style="display:grid; height:100px; background:green;"> + <div style="contain:size; height:100px;"></div> + </div> + </div> +</div> diff --git a/tests/wpt/web-platform-tests/css/css-break/grid/monolithic-overflow-002.tentative.html b/tests/wpt/web-platform-tests/css/css-break/grid/monolithic-overflow-002.tentative.html new file mode 100644 index 00000000000..f487c3ded5f --- /dev/null +++ b/tests/wpt/web-platform-tests/css/css-break/grid/monolithic-overflow-002.tentative.html @@ -0,0 +1,12 @@ +<!DOCTYPE html> +<link rel="author" title="Morten Stenshorne" href="mailto:mstensho@chromium.org"> +<link rel="help" href="https://bugs.chromium.org/p/chromium/issues/detail?id=1425077"> +<link rel="match" href="../../reference/ref-filled-green-100px-square.xht"> +<p>Test passes if there is a filled green square and <strong>no red</strong>.</p> +<div style="width:100px; height:100px; background:red;"> + <div style="columns:1; column-fill:auto; height:60px;"> + <div style="display:grid; background:green;"> + <div style="contain:size; height:100px;"></div> + </div> + </div> +</div> diff --git a/tests/wpt/web-platform-tests/css/css-break/grid/monolithic-overflow-003.tentative.html b/tests/wpt/web-platform-tests/css/css-break/grid/monolithic-overflow-003.tentative.html new file mode 100644 index 00000000000..c7a3903a097 --- /dev/null +++ b/tests/wpt/web-platform-tests/css/css-break/grid/monolithic-overflow-003.tentative.html @@ -0,0 +1,13 @@ +<!DOCTYPE html> +<link rel="author" title="Morten Stenshorne" href="mailto:mstensho@chromium.org"> +<link rel="help" href="https://bugs.chromium.org/p/chromium/issues/detail?id=1425077"> +<link rel="match" href="../../reference/ref-filled-green-100px-square.xht"> +<p>Test passes if there is a filled green square and <strong>no red</strong>.</p> +<div style="width:100px; height:100px; background:red;"> + <div style="columns:2; gap:0; column-fill:auto; height:60px;"> + <div style="display:grid; height:200px; background:green;"> + <div style="contain:size; height:100px;"></div> + <div style="contain:size; height:100px;"></div> + </div> + </div> +</div> diff --git a/tests/wpt/web-platform-tests/css/css-break/grid/monolithic-overflow-004.tentative.html b/tests/wpt/web-platform-tests/css/css-break/grid/monolithic-overflow-004.tentative.html new file mode 100644 index 00000000000..208100619c3 --- /dev/null +++ b/tests/wpt/web-platform-tests/css/css-break/grid/monolithic-overflow-004.tentative.html @@ -0,0 +1,13 @@ +<!DOCTYPE html> +<link rel="author" title="Morten Stenshorne" href="mailto:mstensho@chromium.org"> +<link rel="help" href="https://bugs.chromium.org/p/chromium/issues/detail?id=1425077"> +<link rel="match" href="../../reference/ref-filled-green-100px-square.xht"> +<p>Test passes if there is a filled green square and <strong>no red</strong>.</p> +<div style="width:100px; height:100px; background:red;"> + <div style="columns:2; gap:0; column-fill:auto; height:60px;"> + <div style="display:grid; background:green;"> + <div style="contain:size; height:100px;"></div> + <div style="contain:size; height:100px;"></div> + </div> + </div> +</div> diff --git a/tests/wpt/web-platform-tests/css/css-break/grid/monolithic-overflow-005.html b/tests/wpt/web-platform-tests/css/css-break/grid/monolithic-overflow-005.html new file mode 100644 index 00000000000..069ffb5b212 --- /dev/null +++ b/tests/wpt/web-platform-tests/css/css-break/grid/monolithic-overflow-005.html @@ -0,0 +1,22 @@ +<!DOCTYPE html> +<link rel="author" title="Morten Stenshorne" href="mailto:mstensho@chromium.org"> +<link rel="help" href="https://bugs.chromium.org/p/chromium/issues/detail?id=1425077"> +<link rel="match" href="../../reference/ref-filled-green-100px-square.xht"> +<p>Test passes if there is a filled green square and <strong>no red</strong>.</p> +<!-- Check that monolithic overflow in one grid item doesn't mess up the other item. --> +<div style="columns:4; gap:0; column-fill:auto; width:100px; height:100px; background:green;"> + <div style="display:grid; grid-template-columns:1fr 1fr; grid-template-rows:200px auto;"> + <div style="background:red;"> + <div style="height:200px; background:green;"></div> + </div> + <div style="background:red;"> + <div style="height:200px; background:green;"></div> + </div> + <div> + <div style="contain:size; height:150px;"></div> + </div> + <div style="background:red;"> + <div style="height:200px; background:green;"></div> + </div> + </div> +</div> diff --git a/tests/wpt/web-platform-tests/css/css-break/grid/monolithic-overflow-006.html b/tests/wpt/web-platform-tests/css/css-break/grid/monolithic-overflow-006.html new file mode 100644 index 00000000000..af4cfb1216b --- /dev/null +++ b/tests/wpt/web-platform-tests/css/css-break/grid/monolithic-overflow-006.html @@ -0,0 +1,18 @@ +<!DOCTYPE html> +<link rel="author" title="Morten Stenshorne" href="mailto:mstensho@chromium.org"> +<link rel="help" href="https://bugs.chromium.org/p/chromium/issues/detail?id=1425077"> +<link rel="match" href="../../reference/ref-filled-green-100px-square.xht"> +<p>Test passes if there is a filled green square and <strong>no red</strong>.</p> +<!-- Check that monolithic overflow in one grid item doesn't mess up the other item. --> +<div style="columns:4; gap:0; column-fill:auto; width:100px; height:100px; background:green;"> + <div style="display:grid; grid-template-columns:auto auto;"> + <div> + <div style="contain:size; height:150px;"></div> + <div style="contain:size; height:150px;"></div> + <div style="contain:size; height:150px;"></div> + </div> + <div style="background:red;"> + <div style="height:400px; background:green;"></div> + </div> + </div> +</div> diff --git a/tests/wpt/web-platform-tests/css/css-break/grid/monolithic-overflow-007.html b/tests/wpt/web-platform-tests/css/css-break/grid/monolithic-overflow-007.html new file mode 100644 index 00000000000..906ad29fc16 --- /dev/null +++ b/tests/wpt/web-platform-tests/css/css-break/grid/monolithic-overflow-007.html @@ -0,0 +1,27 @@ +<!DOCTYPE html> +<link rel="author" title="Morten Stenshorne" href="mailto:mstensho@chromium.org"> +<link rel="help" href="https://bugs.chromium.org/p/chromium/issues/detail?id=1425077"> +<link rel="match" href="../../reference/ref-filled-green-100px-square.xht"> +<p>Test passes if there is a filled green square and <strong>no red</strong>.</p> +<div style="columns:4; gap:0; column-fill:auto; width:100px; height:100px;"> + <div style="display:grid; background:red;"> + <div> + <div style="contain:size; height:150px;"> + <div style="height:100px; background:green;"></div> + <div style="height:50px; background:white;"></div> + </div> + <div style="contain:size; height:150px;"> + <div style="height:100px; background:green;"></div> + <div style="height:50px; background:white;"></div> + </div> + <div style="contain:size; height:150px;"> + <div style="height:100px; background:green;"></div> + <div style="height:50px; background:white;"></div> + </div> + <div style="contain:size; height:150px;"> + <div style="height:100px; background:green;"></div> + <div style="height:50px; background:white;"></div> + </div> + </div> + </div> +</div> diff --git a/tests/wpt/web-platform-tests/css/css-break/grid/monolithic-overflow-008.html b/tests/wpt/web-platform-tests/css/css-break/grid/monolithic-overflow-008.html new file mode 100644 index 00000000000..6e2caf60ce8 --- /dev/null +++ b/tests/wpt/web-platform-tests/css/css-break/grid/monolithic-overflow-008.html @@ -0,0 +1,25 @@ +<!DOCTYPE html> +<link rel="author" title="Morten Stenshorne" href="mailto:mstensho@chromium.org"> +<link rel="help" href="https://bugs.chromium.org/p/chromium/issues/detail?id=1425077"> +<link rel="match" href="../../reference/ref-filled-green-100px-square.xht"> +<p>Test passes if there is a filled green square and <strong>no red</strong>.</p> +<div style="columns:4; gap:0; column-fill:auto; width:100px; height:100px;"> + <div style="display:grid; background:red;"> + <div style="contain:size; height:150px;"> + <div style="height:100px; background:green;"></div> + <div style="height:50px; background:white;"></div> + </div> + <div style="contain:size; height:150px;"> + <div style="height:100px; background:green;"></div> + <div style="height:50px; background:white;"></div> + </div> + <div style="contain:size; height:150px;"> + <div style="height:100px; background:green;"></div> + <div style="height:50px; background:white;"></div> + </div> + <div style="contain:size; height:150px;"> + <div style="height:100px; background:green;"></div> + <div style="height:50px; background:white;"></div> + </div> + </div> +</div> diff --git a/tests/wpt/web-platform-tests/css/css-break/monolithic-overflow-001.tentative.html b/tests/wpt/web-platform-tests/css/css-break/monolithic-overflow-001.tentative.html new file mode 100644 index 00000000000..db285a929c8 --- /dev/null +++ b/tests/wpt/web-platform-tests/css/css-break/monolithic-overflow-001.tentative.html @@ -0,0 +1,12 @@ +<!DOCTYPE html> +<link rel="author" title="Morten Stenshorne" href="mailto:mstensho@chromium.org"> +<link rel="help" href="https://bugs.chromium.org/p/chromium/issues/detail?id=1425077"> +<link rel="match" href="../reference/ref-filled-green-100px-square.xht"> +<p>Test passes if there is a filled green square and <strong>no red</strong>.</p> +<div style="width:100px; height:100px; background:red;"> + <div style="columns:1; column-fill:auto; height:60px;"> + <div style="height:100px; background:green;"> + <div style="contain:size; height:100px;"></div> + </div> + </div> +</div> diff --git a/tests/wpt/web-platform-tests/css/css-break/monolithic-overflow-002.tentative.html b/tests/wpt/web-platform-tests/css/css-break/monolithic-overflow-002.tentative.html new file mode 100644 index 00000000000..387af9c5016 --- /dev/null +++ b/tests/wpt/web-platform-tests/css/css-break/monolithic-overflow-002.tentative.html @@ -0,0 +1,12 @@ +<!DOCTYPE html> +<link rel="author" title="Morten Stenshorne" href="mailto:mstensho@chromium.org"> +<link rel="help" href="https://bugs.chromium.org/p/chromium/issues/detail?id=1425077"> +<link rel="match" href="../reference/ref-filled-green-100px-square.xht"> +<p>Test passes if there is a filled green square and <strong>no red</strong>.</p> +<div style="width:100px; height:100px; background:red;"> + <div style="columns:1; column-fill:auto; height:60px;"> + <div style="background:green;"> + <div style="contain:size; height:100px;"></div> + </div> + </div> +</div> diff --git a/tests/wpt/web-platform-tests/css/css-break/monolithic-overflow-003.tentative.html b/tests/wpt/web-platform-tests/css/css-break/monolithic-overflow-003.tentative.html new file mode 100644 index 00000000000..02210aee3d2 --- /dev/null +++ b/tests/wpt/web-platform-tests/css/css-break/monolithic-overflow-003.tentative.html @@ -0,0 +1,13 @@ +<!DOCTYPE html> +<link rel="author" title="Morten Stenshorne" href="mailto:mstensho@chromium.org"> +<link rel="help" href="https://bugs.chromium.org/p/chromium/issues/detail?id=1425077"> +<link rel="match" href="../reference/ref-filled-green-100px-square.xht"> +<p>Test passes if there is a filled green square and <strong>no red</strong>.</p> +<div style="width:100px; height:100px; background:red;"> + <div style="columns:2; gap:0; column-fill:auto; height:60px;"> + <div style="height:200px; background:green;"> + <div style="contain:size; height:100px;"></div> + <div style="contain:size; height:100px;"></div> + </div> + </div> +</div> diff --git a/tests/wpt/web-platform-tests/css/css-break/monolithic-overflow-004.tentative.html b/tests/wpt/web-platform-tests/css/css-break/monolithic-overflow-004.tentative.html new file mode 100644 index 00000000000..9a190810af8 --- /dev/null +++ b/tests/wpt/web-platform-tests/css/css-break/monolithic-overflow-004.tentative.html @@ -0,0 +1,13 @@ +<!DOCTYPE html> +<link rel="author" title="Morten Stenshorne" href="mailto:mstensho@chromium.org"> +<link rel="help" href="https://bugs.chromium.org/p/chromium/issues/detail?id=1425077"> +<link rel="match" href="../reference/ref-filled-green-100px-square.xht"> +<p>Test passes if there is a filled green square and <strong>no red</strong>.</p> +<div style="width:100px; height:100px; background:red;"> + <div style="columns:2; gap:0; column-fill:auto; height:60px;"> + <div style="background:green;"> + <div style="contain:size; height:100px;"></div> + <div style="contain:size; height:100px;"></div> + </div> + </div> +</div> diff --git a/tests/wpt/web-platform-tests/css/css-break/monolithic-overflow-005.tentative.html b/tests/wpt/web-platform-tests/css/css-break/monolithic-overflow-005.tentative.html new file mode 100644 index 00000000000..f1667a15fd5 --- /dev/null +++ b/tests/wpt/web-platform-tests/css/css-break/monolithic-overflow-005.tentative.html @@ -0,0 +1,13 @@ +<!DOCTYPE html> +<link rel="author" title="Morten Stenshorne" href="mailto:mstensho@chromium.org"> +<link rel="help" href="https://bugs.chromium.org/p/chromium/issues/detail?id=1425077"> +<link rel="match" href="../reference/ref-filled-green-100px-square.xht"> +<p>Test passes if there is a filled green square and <strong>no red</strong>.</p> +<div style="width:100px; height:100px; background:red;"> + <div style="columns:2; gap:0; column-fill:auto; height:60px;"> + <div style="height:100px; background:green;"> + <div style="contain:size; height:300px;"></div> + <div style="contain:size; height:100px; background:green;"></div> + </div> + </div> +</div> diff --git a/tests/wpt/web-platform-tests/css/css-break/monolithic-overflow-006.tentative.html b/tests/wpt/web-platform-tests/css/css-break/monolithic-overflow-006.tentative.html new file mode 100644 index 00000000000..200f271dc48 --- /dev/null +++ b/tests/wpt/web-platform-tests/css/css-break/monolithic-overflow-006.tentative.html @@ -0,0 +1,19 @@ +<!DOCTYPE html> +<link rel="author" title="Morten Stenshorne" href="mailto:mstensho@chromium.org"> +<link rel="help" href="https://bugs.chromium.org/p/chromium/issues/detail?id=1425077"> +<link rel="match" href="../reference/ref-filled-green-100px-square.xht"> +<p>Test passes if there is a filled green square and <strong>no red</strong>.</p> +<div style="width:100px; height:100px; background:red;"> + <div style="columns:2; gap:0; column-fill:auto; height:60px;"> + <div style="height:150px; background:green;"> + <div style="contain:size; height:100px;"> + <div style="height:60px;"></div> + <div style="height:40px; margin-left:100%; width:100%; background:green;"></div> + </div> + <div style="height:60px;"> + <div style="height:50px;"></div> + <div style="height:10px; background:green;"></div> + </div> + </div> + </div> +</div> diff --git a/tests/wpt/web-platform-tests/css/css-break/table/monolithic-overflow-001.tentative.html b/tests/wpt/web-platform-tests/css/css-break/table/monolithic-overflow-001.tentative.html new file mode 100644 index 00000000000..34487c43279 --- /dev/null +++ b/tests/wpt/web-platform-tests/css/css-break/table/monolithic-overflow-001.tentative.html @@ -0,0 +1,12 @@ +<!DOCTYPE html> +<link rel="author" title="Morten Stenshorne" href="mailto:mstensho@chromium.org"> +<link rel="help" href="https://bugs.chromium.org/p/chromium/issues/detail?id=1425077"> +<link rel="match" href="../../reference/ref-filled-green-100px-square.xht"> +<p>Test passes if there is a filled green square and <strong>no red</strong>.</p> +<div style="width:100px; height:100px; background:red;"> + <div style="columns:1; column-fill:auto; height:60px;"> + <div style="display:table; width:100%; height:100px; background:green;"> + <div style="contain:size; height:100px;"></div> + </div> + </div> +</div> diff --git a/tests/wpt/web-platform-tests/css/css-break/table/monolithic-overflow-002.tentative.html b/tests/wpt/web-platform-tests/css/css-break/table/monolithic-overflow-002.tentative.html new file mode 100644 index 00000000000..74b63fb68cb --- /dev/null +++ b/tests/wpt/web-platform-tests/css/css-break/table/monolithic-overflow-002.tentative.html @@ -0,0 +1,12 @@ +<!DOCTYPE html> +<link rel="author" title="Morten Stenshorne" href="mailto:mstensho@chromium.org"> +<link rel="help" href="https://bugs.chromium.org/p/chromium/issues/detail?id=1425077"> +<link rel="match" href="../../reference/ref-filled-green-100px-square.xht"> +<p>Test passes if there is a filled green square and <strong>no red</strong>.</p> +<div style="width:100px; height:100px; background:red;"> + <div style="columns:1; column-fill:auto; height:60px;"> + <div style="display:table; width:100%; background:green;"> + <div style="contain:size; height:100px;"></div> + </div> + </div> +</div> diff --git a/tests/wpt/web-platform-tests/css/css-break/table/monolithic-overflow-003.tentative.html b/tests/wpt/web-platform-tests/css/css-break/table/monolithic-overflow-003.tentative.html new file mode 100644 index 00000000000..296a309335f --- /dev/null +++ b/tests/wpt/web-platform-tests/css/css-break/table/monolithic-overflow-003.tentative.html @@ -0,0 +1,13 @@ +<!DOCTYPE html> +<link rel="author" title="Morten Stenshorne" href="mailto:mstensho@chromium.org"> +<link rel="help" href="https://bugs.chromium.org/p/chromium/issues/detail?id=1425077"> +<link rel="match" href="../../reference/ref-filled-green-100px-square.xht"> +<p>Test passes if there is a filled green square and <strong>no red</strong>.</p> +<div style="width:100px; height:100px; background:red;"> + <div style="columns:2; gap:0; column-fill:auto; height:60px;"> + <div style="display:table; width:100%; height:200px; background:green;"> + <div style="contain:size; height:100px;"></div> + <div style="contain:size; height:100px;"></div> + </div> + </div> +</div> diff --git a/tests/wpt/web-platform-tests/css/css-break/table/monolithic-overflow-004.tentative.html b/tests/wpt/web-platform-tests/css/css-break/table/monolithic-overflow-004.tentative.html new file mode 100644 index 00000000000..6f62f433e82 --- /dev/null +++ b/tests/wpt/web-platform-tests/css/css-break/table/monolithic-overflow-004.tentative.html @@ -0,0 +1,13 @@ +<!DOCTYPE html> +<link rel="author" title="Morten Stenshorne" href="mailto:mstensho@chromium.org"> +<link rel="help" href="https://bugs.chromium.org/p/chromium/issues/detail?id=1425077"> +<link rel="match" href="../../reference/ref-filled-green-100px-square.xht"> +<p>Test passes if there is a filled green square and <strong>no red</strong>.</p> +<div style="width:100px; height:100px; background:red;"> + <div style="columns:2; gap:0; column-fill:auto; height:60px;"> + <div style="display:table; width:100%; background:green;"> + <div style="contain:size; height:100px;"></div> + <div style="contain:size; height:100px;"></div> + </div> + </div> +</div> diff --git a/tests/wpt/web-platform-tests/css/css-break/table/monolithic-overflow-005.html b/tests/wpt/web-platform-tests/css/css-break/table/monolithic-overflow-005.html new file mode 100644 index 00000000000..7204359ad9b --- /dev/null +++ b/tests/wpt/web-platform-tests/css/css-break/table/monolithic-overflow-005.html @@ -0,0 +1,26 @@ +<!DOCTYPE html> +<link rel="author" title="Morten Stenshorne" href="mailto:mstensho@chromium.org"> +<link rel="help" href="https://bugs.chromium.org/p/chromium/issues/detail?id=1425077"> +<link rel="match" href="../../reference/ref-filled-green-100px-square.xht"> +<p>Test passes if there is a filled green square and <strong>no red</strong>.</p> +<!-- Check that monolithic overflow in one cell doesn't mess up the other cell. --> +<div style="columns:4; gap:0; column-fill:auto; width:100px; height:100px; background:green;"> + <div style="display:table; width:100%;"> + <div style="display:table-row;"> + <div style="display:table-cell; background:red;"> + <div style="height:200px; background:green;"></div> + </div> + <div style="display:table-cell; background:red;"> + <div style="height:200px; background:green;"></div> + </div> + </div> + <div style="display:table-row;"> + <div style="display:table-cell; width:50%;"> + <div style="contain:size; height:150px;"></div> + </div> + <div style="display:table-cell; width:50%; background:red;"> + <div style="height:200px; background:green;"></div> + </div> + </div> + </div> +</div> diff --git a/tests/wpt/web-platform-tests/css/css-break/table/monolithic-overflow-006.html b/tests/wpt/web-platform-tests/css/css-break/table/monolithic-overflow-006.html new file mode 100644 index 00000000000..a8ebd115119 --- /dev/null +++ b/tests/wpt/web-platform-tests/css/css-break/table/monolithic-overflow-006.html @@ -0,0 +1,19 @@ +<!DOCTYPE html> +<link rel="author" title="Morten Stenshorne" href="mailto:mstensho@chromium.org"> +<link rel="help" href="https://bugs.chromium.org/p/chromium/issues/detail?id=1425077"> +<link rel="match" href="../../reference/ref-filled-green-100px-square.xht"> +<p>Test passes if there is a filled green square and <strong>no red</strong>.</p> +<!-- Check that monolithic overflow in one table cell doesn't mess up percentage resolution in the other cell. --> +<div style="columns:2; column-fill:auto; gap:0; width:100px; height:100px; background:red;"> + <div style="display:table; width:100%; height:200px;"> + <div style="display:table-cell; width:50%;"> + <div style="height:100%; background:green;"></div> + </div> + <div style="display:table-cell; width:50%;"> + <div style="contain:size; height:130px;"> + <div style="height:100px; background:green;"></div> + </div> + <div style="height:100px; background:green;"></div> + </div> + </div> +</div> diff --git a/tests/wpt/web-platform-tests/css/css-cascade/all-prop-revert-layer.html b/tests/wpt/web-platform-tests/css/css-cascade/all-prop-revert-layer.html index c0a3ba74ace..ac665a9bedb 100644 --- a/tests/wpt/web-platform-tests/css/css-cascade/all-prop-revert-layer.html +++ b/tests/wpt/web-platform-tests/css/css-cascade/all-prop-revert-layer.html @@ -345,7 +345,7 @@ vector-effect: non-scaling-stroke; vertical-align: 123px; visibility: collapse; - white-space: nowrap; + white-space: pre; widows: 123; width: 123px; will-change: height; diff --git a/tests/wpt/web-platform-tests/css/css-cascade/scope-nesting.html b/tests/wpt/web-platform-tests/css/css-cascade/scope-nesting.html index f9d890535db..34a13a1cb18 100644 --- a/tests/wpt/web-platform-tests/css/css-cascade/scope-nesting.html +++ b/tests/wpt/web-platform-tests/css/css-cascade/scope-nesting.html @@ -117,4 +117,54 @@ test((t) => { assert_equals(getComputedStyle(inner1).zIndex, 'auto'); assert_equals(getComputedStyle(inner2).zIndex, '1'); }, 'Nesting-selector in the scope\'s <stylesheet>'); +</script> + +<template id=test_parent_in_pseudo_scope> + <div> + <style> + @scope (#div) { + :scope { + z-index: 1; + & { + z-index: 2; + } + } + } + </style> + <div id=div></div> + </div> +</template> +<script> +test((t) => { + t.add_cleanup(() => main.replaceChildren()); + main.append(test_parent_in_pseudo_scope.content.cloneNode(true)); + + assert_equals(getComputedStyle(div).zIndex, '2'); +}, 'Nesting-selector within :scope rule'); +</script> + +<template id=test_parent_in_pseudo_scope_double> + <div> + <style> + @scope (#div) { + :scope { + z-index: 1; + & { + & { + z-index: 2; + } + } + } + } + </style> + <div id=div></div> + </div> +</template> +<script> +test((t) => { + t.add_cleanup(() => main.replaceChildren()); + main.append(test_parent_in_pseudo_scope_double.content.cloneNode(true)); + + assert_equals(getComputedStyle(div).zIndex, '2'); +}, 'Nesting-selector within :scope rule (double nested)'); </script> \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/css/css-color-adjust/color-scheme-no-interpolation.html b/tests/wpt/web-platform-tests/css/css-color-adjust/color-scheme-no-interpolation.html new file mode 100644 index 00000000000..acfa6ddbbeb --- /dev/null +++ b/tests/wpt/web-platform-tests/css/css-color-adjust/color-scheme-no-interpolation.html @@ -0,0 +1,15 @@ +<!DOCTYPE html> +<link rel=author href="mailto:jarhar@chromium.org"> +<link rel=help href="https://github.com/w3c/csswg-drafts/issues/4441"> +<script src="/resources/testharness.js"></script> +<script src="/resources/testharnessreport.js"></script> +<script src="/css/support/interpolation-testcommon.js"></script> + +<body> +<script> +test_no_interpolation({ + property: 'color-scheme', + from: 'initial', + to: 'dark' +}); +</script> diff --git a/tests/wpt/web-platform-tests/css/css-content/content-no-interpolation.html b/tests/wpt/web-platform-tests/css/css-content/content-no-interpolation.html new file mode 100644 index 00000000000..89ca47afca8 --- /dev/null +++ b/tests/wpt/web-platform-tests/css/css-content/content-no-interpolation.html @@ -0,0 +1,15 @@ +<!DOCTYPE html> +<link rel=author href="mailto:jarhar@chromium.org"> +<link rel=help href="https://github.com/w3c/csswg-drafts/issues/4441"> +<script src="/resources/testharness.js"></script> +<script src="/resources/testharnessreport.js"></script> +<script src="/css/support/interpolation-testcommon.js"></script> + +<body> +<script> +test_no_interpolation({ + property: 'content', + from: 'initial', + to: '"b"' +}); +</script> diff --git a/tests/wpt/web-platform-tests/css/css-counter-styles/counter-style-at-rule/system-extends-fixed-ref.html b/tests/wpt/web-platform-tests/css/css-counter-styles/counter-style-at-rule/system-extends-fixed-ref.html new file mode 100644 index 00000000000..db693cf3d1a --- /dev/null +++ b/tests/wpt/web-platform-tests/css/css-counter-styles/counter-style-at-rule/system-extends-fixed-ref.html @@ -0,0 +1,17 @@ +<!DOCTYPE html> +<meta charset="UTF-8"> +<title>CSS Test: system extends fixed</title> +<link rel="stylesheet" href="support/test-common.css"> +<style type="text/css"> + @counter-style a { + system: fixed 3; + symbols: "Y" "E" "S"; + } +</style> +<ol style="list-style-type: a"> + <li><li><li><li><li><li> +</ol> +<br> +<ol style="list-style-type: a"> + <li><li><li><li><li><li> +</ol> diff --git a/tests/wpt/web-platform-tests/css/css-counter-styles/counter-style-at-rule/system-extends-fixed.html b/tests/wpt/web-platform-tests/css/css-counter-styles/counter-style-at-rule/system-extends-fixed.html new file mode 100644 index 00000000000..7721be7c42f --- /dev/null +++ b/tests/wpt/web-platform-tests/css/css-counter-styles/counter-style-at-rule/system-extends-fixed.html @@ -0,0 +1,22 @@ +<!DOCTYPE html> +<meta charset="UTF-8"> +<title>CSS Test: system extends fixed</title> +<link rel="help" href="https://drafts.csswg.org/css-counter-styles-3/#extends-system"> +<link rel="match" href="system-extends-fixed-ref.html"> +<link rel="stylesheet" href="support/test-common.css"> +<style type="text/css"> + @counter-style a { + system: fixed 3; + symbols: "Y" "E" "S"; + } + @counter-style b { + system: extends a; + } +</style> +<ol style="list-style-type: a"> + <li><li><li><li><li><li> +</ol> +<br> +<ol style="list-style-type: b"> + <li><li><li><li><li><li> +</ol> diff --git a/tests/wpt/web-platform-tests/css/css-flexbox/animation/discrete-no-interpolation.html b/tests/wpt/web-platform-tests/css/css-flexbox/animation/discrete-no-interpolation.html new file mode 100644 index 00000000000..0a990373c52 --- /dev/null +++ b/tests/wpt/web-platform-tests/css/css-flexbox/animation/discrete-no-interpolation.html @@ -0,0 +1,21 @@ +<!DOCTYPE html> +<link rel=author href="mailto:jarhar@chromium.org"> +<link rel=help href="https://github.com/w3c/csswg-drafts/issues/4441"> +<script src="/resources/testharness.js"></script> +<script src="/resources/testharnessreport.js"></script> +<script src="/css/support/interpolation-testcommon.js"></script> + +<body> +<script> +test_no_interpolation({ + property: 'flex-direction', + from: 'initial', + to: 'column' +}); + +test_no_interpolation({ + property: 'flex-wrap', + from: 'initial', + to: 'wrap' +}); +</script> diff --git a/tests/wpt/web-platform-tests/css/css-flexbox/parsing/flex-flow-valid.html b/tests/wpt/web-platform-tests/css/css-flexbox/parsing/flex-flow-valid.html index 01acd435096..6dc9d0ae2f6 100644 --- a/tests/wpt/web-platform-tests/css/css-flexbox/parsing/flex-flow-valid.html +++ b/tests/wpt/web-platform-tests/css/css-flexbox/parsing/flex-flow-valid.html @@ -12,8 +12,8 @@ </head> <body> <script> -test_valid_value("flex-flow", "column nowrap"); -test_valid_value("flex-flow", "nowrap column", "column nowrap"); +test_valid_value("flex-flow", "column nowrap", "column"); +test_valid_value("flex-flow", "nowrap column", "column"); test_valid_value("flex-flow", "wrap row-reverse", "row-reverse wrap"); </script> </body> diff --git a/tests/wpt/web-platform-tests/css/css-fonts/font-size-adjust-013-ref.html b/tests/wpt/web-platform-tests/css/css-fonts/font-size-adjust-013-ref.html new file mode 100644 index 00000000000..6dd5b108247 --- /dev/null +++ b/tests/wpt/web-platform-tests/css/css-fonts/font-size-adjust-013-ref.html @@ -0,0 +1,58 @@ +<!DOCTYPE html> +<html> +<head> + <meta charset="utf-8"> + <title>CSS Test: font-size-adjust property</title> + <link rel="help" href="https://www.w3.org/TR/css-fonts-5/#font-size-adjust-prop"> + <meta name="assert" content="Test whether from-font automatically determines a font-size-adjust value based on the primary font."> + <style> + @font-face { + font-family: 'primary-font-ahem-ex-500'; + src: url('./resources/ahem-ex-500.otf'); + } + @font-face { + font-family: 'secondary-font-ahem-ex-250'; + src: url('./resources/ahem-ex-250.otf'); + } + .test { + font-family: 'primary-font-ahem-ex-500', 'secondary-font-ahem-ex-250'; + font-size: 50px; + color: peru; + height: 50px; + margin-bottom: 24px; + } + .tall-inline-block { + display: inline-block; + height: 100px; + } + .description { + font-family: serif; + font-size: 16px; + } + </style> +</head> +<body> + <div> + <div class="description"> + 1. Same glyphs, two 'x' in different spans with two different fonts. The primary font (AhemEx500) has a double aspect value (i.e., x-height/size = 0.5) of the secondary font (AhemEx250). The right glyph is adjusted with font-size-adjust: from-font, so it should be the same size as the left one. + </div> + <div class="test"> + <span>xx</span> + </div> + </div> + <div> + <div class="description"> + 2. Different glyphs 'x' and 'A' in the same span, with two fonts <em>without</em> font-size-adjust. As the primary font does not contain 'A' (U+0041), so the right glyph 'A' falls back to the secondary font. The right glyph should be smaller than the left one. + </div> + <div class="test"><span>xA</span></div> + </div> + <div> + <div class="description"> + 3. Different glyphs 'x' and 'A' in the same span, with two fonts and font-size-adjust: from-font. The right glyph 'A' cannot be rendered by the primary font, so it individually falls back to the secondary font. However, it should be the same size as the left glyph due to font-size-adjust: from-font. + </div> + <div class="test"> + <!-- We are inserting a tall inline-block here to make the position of the baseline independent of the adjusted glyph since on the ref test we don't use font-size-adjust but font-size --> + <span>xx<span class="tall-inline-block"></span></span> + </div> + </div> +</html> diff --git a/tests/wpt/web-platform-tests/css/css-fonts/font-size-adjust-013.html b/tests/wpt/web-platform-tests/css/css-fonts/font-size-adjust-013.html new file mode 100644 index 00000000000..e9f91401905 --- /dev/null +++ b/tests/wpt/web-platform-tests/css/css-fonts/font-size-adjust-013.html @@ -0,0 +1,62 @@ +<!DOCTYPE html> +<html> +<head> + <meta charset="utf-8"> + <title>CSS Test: font-size-adjust property</title> + <link rel="match" href="font-size-adjust-013-ref.html"> + <link rel="help" href="https://www.w3.org/TR/css-fonts-5/#font-size-adjust-prop"> + <meta name="assert" content="Test whether from-font automatically determines a font-size-adjust value based on the primary font."> + <style> + @font-face { + font-family: 'primary-font-ahem-ex-500'; + src: url('./resources/ahem-ex-500.otf'); + } + @font-face { + font-family: 'secondary-font-ahem-ex-250'; + src: url('./resources/ahem-ex-250.otf'); + } + .adjusted { + font-size-adjust: from-font; + } + .test { + font-family: 'primary-font-ahem-ex-500', 'secondary-font-ahem-ex-250'; + font-size: 50px; + color: peru; + height: 50px; + margin-bottom: 24px; + } + .tall-inline-block { + display: inline-block; + height: 100px; + } + .description { + font-family: serif; + font-size: 16px; + } + </style> +</head> +<body> + <div> + <div class="description"> + 1. Same glyphs, two 'x' in different spans with two different fonts. The primary font (AhemEx500) has a double aspect value (i.e., x-height/size = 0.5) of the secondary font (AhemEx250). The right glyph is adjusted with font-size-adjust: from-font, so it should be the same size as the left one. + </div> + <div class="test"> + <span>x</span><span class="adjusted">x</span> + </div> + </div> + <div> + <div class="description"> + 2. Different glyphs 'x' and 'A' in the same span, with two fonts <em>without</em> font-size-adjust. As the primary font does not contain 'A' (U+0041), so the right glyph 'A' falls back to the secondary font. The right glyph should be smaller than the left one. + </div> + <div class="test"><span>xA</span></div> + </div> + <div> + <div class="description"> + 3. Different glyphs 'x' and 'A' in the same span, with two fonts and font-size-adjust: from-font. The right glyph 'A' cannot be rendered by the primary font, so it individually falls back to the secondary font. However, it should be the same size as the left glyph due to font-size-adjust: from-font. + </div> + <div class="test"> + <!-- We are inserting a tall inline-block here to make the position of the baseline independent of the adjusted glyph since on the ref test we don't use font-size-adjust but font-size --> + <span class="adjusted">xA<span class="tall-inline-block"></span></span> + </div> + </div> +</html> diff --git a/tests/wpt/web-platform-tests/css/css-fonts/parsing/font-size-adjust-computed.html b/tests/wpt/web-platform-tests/css/css-fonts/parsing/font-size-adjust-computed.html index a4c8212b980..cec5a0d13ed 100644 --- a/tests/wpt/web-platform-tests/css/css-fonts/parsing/font-size-adjust-computed.html +++ b/tests/wpt/web-platform-tests/css/css-fonts/parsing/font-size-adjust-computed.html @@ -2,8 +2,8 @@ <html> <head> <meta charset="utf-8"> -<title>CSS Fonts Module Level 3: getComputedStyle().fontSizeAdjust</title> -<link rel="help" href="https://www.w3.org/TR/css-fonts-3/#font-size-adjust-prop"> +<title>CSS Fonts Module Level 5: getComputedStyle().fontSizeAdjust</title> +<link rel="help" href="https://www.w3.org/TR/css-fonts-5/#font-size-adjust-prop"> <meta name="assert" content="font-size-adjust computed value is as specified."> <script src="/resources/testharness.js"></script> <script src="/resources/testharnessreport.js"></script> @@ -13,12 +13,20 @@ <div id="target"></div> <script> test_computed_value('font-size-adjust', 'none'); + test_computed_value('font-size-adjust', '0.5'); test_computed_value('font-size-adjust', 'ex-height 0.5', '0.5'); // default basis 'ex-height' omitted from serialization test_computed_value('font-size-adjust', 'cap-height 0.8'); test_computed_value('font-size-adjust', 'ch-width 0.4'); test_computed_value('font-size-adjust', 'ic-width 0.9'); test_computed_value('font-size-adjust', 'ic-height 1.1'); + +test_computed_value('font-size-adjust', 'from-font'); +test_computed_value('font-size-adjust', 'ex-height from-font', 'from-font'); // default basis 'ex-height' omitted from serialization +test_computed_value('font-size-adjust', 'cap-height from-font'); +test_computed_value('font-size-adjust', 'ch-width from-font'); +test_computed_value('font-size-adjust', 'ic-width from-font'); +test_computed_value('font-size-adjust', 'ic-height from-font'); </script> </body> </html> diff --git a/tests/wpt/web-platform-tests/css/css-fonts/parsing/font-size-adjust-valid.html b/tests/wpt/web-platform-tests/css/css-fonts/parsing/font-size-adjust-valid.html index bb46daf4be5..cb3c367c6f7 100644 --- a/tests/wpt/web-platform-tests/css/css-fonts/parsing/font-size-adjust-valid.html +++ b/tests/wpt/web-platform-tests/css/css-fonts/parsing/font-size-adjust-valid.html @@ -2,9 +2,9 @@ <html> <head> <meta charset="utf-8"> -<title>CSS Fonts Module Level 3: parsing font-size-adjust with valid values</title> -<link rel="help" href="https://www.w3.org/TR/css-fonts-3/#font-size-adjust-prop"> -<meta name="assert" content="font-size-adjust supports the full grammar 'none | [basis] <number>'."> +<title>CSS Fonts Module Level 5: parsing font-size-adjust with valid values</title> +<link rel="help" href="https://www.w3.org/TR/css-fonts-5/#font-size-adjust-prop"> +<meta name="assert" content="font-size-adjust supports the full grammar 'none | [metric]? [from-font | <number>]'."> <script src="/resources/testharness.js"></script> <script src="/resources/testharnessreport.js"></script> <script src="/css/support/parsing-testcommon.js"></script> @@ -12,12 +12,20 @@ <body> <script> test_valid_value('font-size-adjust', 'none'); + test_valid_value('font-size-adjust', '0.5'); test_valid_value('font-size-adjust', 'ex-height 0.5', '0.5'); // default basis 'ex' omitted from serialization test_valid_value('font-size-adjust', 'cap-height 0.8'); test_valid_value('font-size-adjust', 'ch-width 0.4'); test_valid_value('font-size-adjust', 'ic-width 0.9'); test_valid_value('font-size-adjust', 'ic-height 0.9'); + +test_valid_value('font-size-adjust', 'from-font'); +test_valid_value('font-size-adjust', 'ex-height from-font', 'from-font'); // default basis 'ex' omitted from serialization +test_valid_value('font-size-adjust', 'cap-height from-font'); +test_valid_value('font-size-adjust', 'ch-width from-font'); +test_valid_value('font-size-adjust', 'ic-width from-font'); +test_valid_value('font-size-adjust', 'ic-height from-font'); </script> </body> </html> diff --git a/tests/wpt/web-platform-tests/css/css-grid/parsing/grid-template-columns-computed-nogrid.html b/tests/wpt/web-platform-tests/css/css-grid/parsing/grid-template-columns-computed-nogrid.html index 11b0393a676..b1f80a728c4 100644 --- a/tests/wpt/web-platform-tests/css/css-grid/parsing/grid-template-columns-computed-nogrid.html +++ b/tests/wpt/web-platform-tests/css/css-grid/parsing/grid-template-columns-computed-nogrid.html @@ -26,6 +26,7 @@ test_computed_value("grid-template-columns", "1px repeat(1, 2px) 3px"); test_computed_value("grid-template-columns", "1px repeat(auto-fill, 2px) 3px"); test_computed_value("grid-template-columns", "1px repeat(auto-fit, 2px) 3px"); test_computed_value("grid-template-columns", "1px [a] repeat(1, 2px 3px) [b] 4px"); +test_computed_value("grid-template-columns", "1px [a] repeat(2, 2px 3px) [b] 4px"); test_computed_value("grid-template-columns", "1px [a] repeat(auto-fill, 2px 3px) [b] 4px"); test_computed_value("grid-template-columns", "1px [a] repeat(auto-fit, 2px 3px) [b] 4px"); test_computed_value("grid-template-columns", "1px [a] repeat(1, [b] 2px [c]) [d] 3px"); @@ -33,6 +34,8 @@ test_computed_value("grid-template-columns", "1px [a] repeat(auto-fill, [b] 2px test_computed_value("grid-template-columns", "1px [a] repeat(auto-fit, [b] 2px [c]) [d] 3px"); test_computed_value("grid-template-columns", "[a] 1px repeat(1, 2px [b] 3px) 4px [d]"); test_computed_value("grid-template-columns", "[a] 1px repeat(auto-fill, 2px [b] 3px) 4px [d]"); +test_computed_value("grid-template-columns", "[a] 1px 4px [d]"); +test_computed_value("grid-template-columns", "[a] 1px repeat(auto-fill, 2px [b] 3px) [d] 4px"); test_computed_value("grid-template-columns", "[a] 1px repeat(auto-fit, 2px [b] 3px) 4px [d]"); test_computed_value("grid-template-rows", "100% [a] repeat(1, [b] 200% [c]) [d] 300%"); test_computed_value("grid-template-rows", "100% [a] repeat(auto-fill, [b] 200% [c]) [d] 300%"); @@ -40,4 +43,9 @@ test_computed_value("grid-template-rows", "100% [a] repeat(auto-fit, [b] 200% [c test_computed_value("grid-template-columns", "[a] 1em repeat(1, 2em [b] 3em) 4em [d]", "[a] 1px repeat(1, 2px [b] 3px) 4px [d]"); test_computed_value("grid-template-columns", "[a] 1em repeat(auto-fill, 2em [b] 3em) 4em [d]", "[a] 1px repeat(auto-fill, 2px [b] 3px) 4px [d]"); test_computed_value("grid-template-columns", "[a] 1em repeat(auto-fit, 2em [b] 3em) 4em [d]", "[a] 1px repeat(auto-fit, 2px [b] 3px) 4px [d]"); +test_computed_value("grid-template-columns", "repeat(1, 2px [a] 3px) [b] repeat(auto-fill, [c] 200% [d]) [e] 300%"); +test_computed_value("grid-template-columns", "[a] repeat(auto-fill, [b] 200% [c]) repeat(1, 2px [d] 3px) [e] 300%"); +test_computed_value("grid-template-columns", "repeat(1, [a] 2px [b] 3px) [b] repeat(auto-fill, [c] 200% [d]) [e] 300%"); +test_computed_value("grid-template-columns", "[a] repeat(auto-fill, [b] 200% [c]) repeat(1, 2px [d] 3px [e]) [f] 300%"); +test_computed_value("grid-template-columns", "[a] 1px [b c] repeat(auto-fill, [d] 200% [e f]) [g] 2px repeat(1, 3px [d e] 4px [e f]) [g] 300% [h]"); </script> diff --git a/tests/wpt/web-platform-tests/css/css-grid/subgrid/grid-template-computed-nogrid.html b/tests/wpt/web-platform-tests/css/css-grid/subgrid/grid-template-computed-nogrid.html index ccfe67a5c0f..1f37ce860ac 100644 --- a/tests/wpt/web-platform-tests/css/css-grid/subgrid/grid-template-computed-nogrid.html +++ b/tests/wpt/web-platform-tests/css/css-grid/subgrid/grid-template-computed-nogrid.html @@ -48,5 +48,22 @@ test_computed_value("grid-template-columns", "subgrid [a] repeat(auto-fill, [c] test_computed_value("grid-template-columns", "subgrid [a b] repeat(auto-fill, [c] [d e]) [g]"); test_computed_value("grid-template-columns", "subgrid [a] [b] repeat(auto-fill, [c] [d e]) [g h]"); test_computed_value("grid-template-columns", "subgrid [a] [b] repeat(auto-fill, [c] [d e])"); - +test_computed_value("grid-template-columns", "subgrid [a] repeat(2, [c] [d e])"); +test_computed_value("grid-template-columns", "subgrid repeat(1, [])"); +test_computed_value("grid-template-columns", "subgrid repeat(2, [])"); +test_computed_value("grid-template-columns", "subgrid repeat(2, [a])"); +test_computed_value("grid-template-columns", "subgrid repeat(2, [a] [])"); +test_computed_value("grid-template-columns", "subgrid repeat(2, [] [a] [])"); +test_computed_value("grid-template-columns", "subgrid repeat(2, [] [] []) repeat(auto-fill, [] [] [])"); +test_computed_value("grid-template-columns", "subgrid repeat(1, [a b])"); +test_computed_value("grid-template-columns", "subgrid repeat(2, [a b])"); +test_computed_value("grid-template-columns", "subgrid repeat(1, [a] [b])"); +test_computed_value("grid-template-columns", "subgrid repeat(2, [a] [b])"); +test_computed_value("grid-template-columns", "subgrid [a] repeat(2, [b])"); +test_computed_value("grid-template-columns", "subgrid repeat(2, [a]) [b]"); +test_computed_value("grid-template-columns", "subgrid [a] repeat(2, [b] [c d]) [e]"); +test_computed_value("grid-template-columns", "subgrid repeat(2, [a b]) repeat(auto-fill, [c] [d e])"); +test_computed_value("grid-template-columns", "subgrid repeat(auto-fill, [a] [b c]) repeat(2, [d e])"); +test_computed_value("grid-template-columns", "subgrid repeat(2, [a b]) repeat(auto-fill, [c] [d e]) repeat(2, [f g])"); +test_computed_value("grid-template-columns", "subgrid [a] [b c] repeat(2, [d e]) [f] [g h] repeat(auto-fill, [i] [j k]) [l] repeat(2, [m n]) [o]"); </script> diff --git a/tests/wpt/web-platform-tests/css/css-grid/subgrid/orthogonal-writing-mode-005-ref.html b/tests/wpt/web-platform-tests/css/css-grid/subgrid/orthogonal-writing-mode-005-ref.html new file mode 100644 index 00000000000..f8fa0ab81b9 --- /dev/null +++ b/tests/wpt/web-platform-tests/css/css-grid/subgrid/orthogonal-writing-mode-005-ref.html @@ -0,0 +1,286 @@ +<!DOCTYPE HTML> +<html><head> + <meta charset="utf-8"> + <title>Reference: line names in orthogonal parent subgrid</title> + <link rel="author" title="Kurt Catti-Schmidt" href="mailto:kschmi@microsoft.com"> + <style> + body { + font:10px monospace; padding:0; margin:0; line-height:0; + } + + .grid { + display: inline-grid; + grid-auto-columns: 15px; + border: 1px solid; + vertical-align: bottom; + } + + .subgrid { + display: grid; + grid-template-columns: subgrid; + grid-column: 3 / span 4; + background: grey; + } + .grid > .subgrid > .subgrid { + writing-mode: vertical-lr; + grid-template-rows: subgrid; + grid-template-columns: initial; + grid-column: 1 / span 4; + grid-auto-columns: 8px; + grid-auto-flow: column; + } + + .fill-1a { grid-template-columns: subgrid repeat(auto-fill, [y]) [z] [z] [z] [z] } /* [y] [z] [z] [z] [z] */ + .fill-1b { grid-template-columns: subgrid [x] repeat(auto-fill, [y]) [z] [z] [z] } /* [x] [y] [z] [z] [z] */ + .fill-1c { grid-template-columns: subgrid [x] [x] repeat(auto-fill, [y]) [z] [z] } /* [x] [x] [y] [z] [z] */ + .fill-1d { grid-template-columns: subgrid [x] [x] [x] repeat(auto-fill, [y]) [z] } /* [x] [x] [x] [y] [z] */ + .fill-1e { grid-template-columns: subgrid [x] [x] [x] [x] repeat(auto-fill, [y]) } /* [x] [x] [x] [x] [y] */ + + .areas-1a { grid-template-areas: 'x x x x' } + .areas-1b { grid-template-areas: '. x x x' } + .areas-1c { grid-template-areas: 'x x x .' } + .areas-1d { grid-template-areas: '. . x x' } + .areas-1e { grid-template-areas: '. . x .' } + + .subgrid > .subgrid > :nth-child(2n) { background: black; } + .subgrid > .subgrid > :nth-child(2n+1) { background: pink; } + .subgrid > .subgrid > * { writing-mode: horizontal-tb; } + + </style> + </head> + <body> + + <!-- Line names before/after auto repeat --> + <div class="grid"><div class="subgrid fill-1a"><div class="subgrid"> + <div style="grid-row:4"></div> + <div style="grid-row:4"></div> + <div style="grid-row:4"></div> + <div style="grid-row:3"></div> + <div style="grid-row:2"></div> + <div style="grid-row:4"></div> + <div style="grid-row:4"></div> + <div style="grid-row:3"></div> + <div style="grid-row:2"></div> + <div style="grid-row:1"></div> + </div></div></div> + + <div class="grid"><div class="subgrid fill-1b"><div class="subgrid"> + <div style="grid-row:4"></div> + <div style="grid-row:4"></div> + <div style="grid-row:4"></div> + <div style="grid-row:4"></div> + <div style="grid-row:1"></div> + <div style="grid-row:1"></div> + <div style="grid-row:1"></div> + <div style="grid-row:1"></div> + <div style="grid-row:1"></div> + <div style="grid-row:1"></div> + </div></div></div> + + <div class="grid"><div class="subgrid fill-1c"><div class="subgrid"> + <div style="grid-row:4"></div> + <div style="grid-row:4"></div> + <div style="grid-row:4"></div> + <div style="grid-row:2"></div> + <div style="grid-row:1"></div> + <div style="grid-row:2"></div> + <div style="grid-row:1"></div> + <div style="grid-row:1"></div> + <div style="grid-row:1"></div> + <div style="grid-row:1"></div> + </div></div></div> + + <div class="grid"><div class="subgrid fill-1d"><div class="subgrid"> + <div style="grid-row:4"></div> + <div style="grid-row:4"></div> + <div style="grid-row:3"></div> + <div style="grid-row:2"></div> + <div style="grid-row:1"></div> + <div style="grid-row:3"></div> + <div style="grid-row:2"></div> + <div style="grid-row:1"></div> + <div style="grid-row:1"></div> + <div style="grid-row:1"></div> + </div></div></div> + + <div class="grid"><div class="subgrid fill-1e"><div class="subgrid"> + <div style="grid-row:4"></div> + <div style="grid-row:4"></div> + <div style="grid-row:3"></div> + <div style="grid-row:2"></div> + <div style="grid-row:1"></div> + <div style="grid-row:4"></div> + <div style="grid-row:3"></div> + <div style="grid-row:2"></div> + <div style="grid-row:1"></div> + <div style="grid-row:1"></div> + </div></div></div> + + <div class="grid"><div class="subgrid fill-1a"><div class="subgrid"> + <div style="grid-row:4"></div> + <div style="grid-row:4"></div> + <div style="grid-row:4"></div> + <div style="grid-row:4"></div> + <div style="grid-row:1"></div> + <div style="grid-row:1"></div> + <div style="grid-row:1"></div> + <div style="grid-row:1"></div> + <div style="grid-row:1"></div> + <div style="grid-row:1"></div> + </div></div></div> + + <!-- Auto repeat line names --> + <div class="grid"><div class="subgrid fill-1b"><div class="subgrid"> + <div style="grid-row:4"></div> + <div style="grid-row:4"></div> + <div style="grid-row:4"></div> + <div style="grid-row:4"></div> + <div style="grid-row:2"></div> + <div style="grid-row:2"></div> + <div style="grid-row:1"></div> + <div style="grid-row:1"></div> + <div style="grid-row:1"></div> + <div style="grid-row:1"></div> + </div></div></div> + + <div class="grid"><div class="subgrid fill-1c"><div class="subgrid"> + <div style="grid-row:4"></div> + <div style="grid-row:4"></div> + <div style="grid-row:4"></div> + <div style="grid-row:4"></div> + <div style="grid-row:3"></div> + <div style="grid-row:3"></div> + <div style="grid-row:1"></div> + <div style="grid-row:1"></div> + <div style="grid-row:1"></div> + <div style="grid-row:1"></div> + </div></div></div> + + <div class="grid"><div class="subgrid fill-1d"><div class="subgrid"> + <div style="grid-row:4"></div> + <div style="grid-row:4"></div> + <div style="grid-row:4"></div> + <div style="grid-row:4"></div> + <div style="grid-row:4"></div> + <div style="grid-row:4"></div> + <div style="grid-row:1"></div> + <div style="grid-row:1"></div> + <div style="grid-row:1"></div> + <div style="grid-row:1"></div> + </div></div></div> + + <div class="grid"><div class="subgrid fill-1e"><div class="subgrid"> + <div style="grid-row:4"></div> + <div style="grid-row:4"></div> + <div style="grid-row:4"></div> + <div style="grid-row:4"></div> + <div style="grid-row:4"></div> + <div style="grid-row:4"></div> + <div style="grid-row:1"></div> + <div style="grid-row:1"></div> + <div style="grid-row:1"></div> + <div style="grid-row:1"></div> + </div></div></div> + + <div class="grid"><div class="subgrid fill-1a"><div class="subgrid"> + <div style="grid-row:4"></div> + <div style="grid-row:4"></div> + <div style="grid-row:4"></div> + <div style="grid-row:3"></div> + <div style="grid-row:2"></div> + <div style="grid-row:4"></div> + <div style="grid-row:4"></div> + <div style="grid-row:3"></div> + <div style="grid-row:2"></div> + <div style="grid-row:1"></div> + </div></div></div> + + <div class="grid"><div class="subgrid fill-1b"><div class="subgrid"> + <div style="grid-row:4"></div> + <div style="grid-row:4"></div> + <div style="grid-row:4"></div> + <div style="grid-row:4"></div> + <div style="grid-row:3"></div> + <div style="grid-row:4"></div> + <div style="grid-row:4"></div> + <div style="grid-row:3"></div> + <div style="grid-row:1"></div> + <div style="grid-row:1"></div> + </div></div></div> + + <div class="grid"><div class="subgrid fill-1c"><div class="subgrid"> + <div style="grid-row:4"></div> + <div style="grid-row:4"></div> + <div style="grid-row:4"></div> + <div style="grid-row:4"></div> + <div style="grid-row:4"></div> + <div style="grid-row:4"></div> + <div style="grid-row:4"></div> + <div style="grid-row:1"></div> + <div style="grid-row:1"></div> + <div style="grid-row:1"></div> + </div></div></div> + + <div class="grid"><div class="subgrid fill-1d"><div class="subgrid"> + <div style="grid-row:4"></div> + <div style="grid-row:4"></div> + <div style="grid-row:4"></div> + <div style="grid-row:4"></div> + <div style="grid-row:4"></div> + <div style="grid-row:4"></div> + <div style="grid-row:1"></div> + <div style="grid-row:1"></div> + <div style="grid-row:1"></div> + <div style="grid-row:1"></div> + </div></div></div> + + <div class="grid"><div class="subgrid fill-1e"><div class="subgrid"> + <div style="grid-row:4"></div> + <div style="grid-row:4"></div> + <div style="grid-row:4"></div> + <div style="grid-row:4"></div> + <div style="grid-row:4"></div> + <div style="grid-row:1"></div> + <div style="grid-row:1"></div> + <div style="grid-row:1"></div> + <div style="grid-row:1"></div> + <div style="grid-row:1"></div> + </div></div></div> + + <!-- Named grid areas --> + <div class="grid"><div class="subgrid areas-1a"><div class="subgrid"> + <div style="grid-row:1"></div> + <div style="grid-row:1"></div> + <div style="grid-row:1"></div> + <div style="grid-row:2"></div> + </div></div></div> + + <div class="grid"><div class="subgrid areas-1b"><div class="subgrid"> + <div style="grid-row:1"></div> + <div style="grid-row:1"></div> + <div style="grid-row:1"></div> + <div style="grid-row:2"></div> + </div></div></div> + + <div class="grid"><div class="subgrid areas-1c"><div class="subgrid"> + <div style="grid-row:1"></div> + <div style="grid-row:1"></div> + <div style="grid-row:1"></div> + <div style="grid-row:2"></div> + </div></div></div> + + <div class="grid"><div class="subgrid areas-1d"><div class="subgrid"> + <div style="grid-row:1"></div> + <div style="grid-row:1"></div> + <div style="grid-row:1"></div> + <div style="grid-row:2"></div> + </div></div></div> + + <div class="grid"><div class="subgrid areas-1e"><div class="subgrid"> + <div style="grid-row:1"></div> + <div style="grid-row:1"></div> + <div style="grid-row:1"></div> + <div style="grid-row:2"></div> + </div></div></div> + </body> + </html> diff --git a/tests/wpt/web-platform-tests/css/css-grid/subgrid/orthogonal-writing-mode-005.html b/tests/wpt/web-platform-tests/css/css-grid/subgrid/orthogonal-writing-mode-005.html new file mode 100644 index 00000000000..d5bd1781610 --- /dev/null +++ b/tests/wpt/web-platform-tests/css/css-grid/subgrid/orthogonal-writing-mode-005.html @@ -0,0 +1,288 @@ +<!DOCTYPE HTML> +<html><head> + <meta charset="utf-8"> + <title>CSS Grid Test: line names in orthogonal parent subgrid</title> + <link rel="author" title="Kurt Catti-Schmidt" href="mailto:kschmi@microsoft.com"> + <link rel="help" href="https://drafts.csswg.org/css-grid-2/#subgrid-listing"> + <link rel="match" href="orthogonal-writing-mode-005-ref.html"> + <style> +body { + color:black; background-color:white; font:10px monospace; padding:0; margin:0; line-height:0; +} + +.grid { + display: inline-grid; + grid-auto-columns: 15px; + border: 1px solid; + vertical-align: bottom; +} + +.subgrid { + display: grid; + grid-template-columns: subgrid; + grid-column: 3 / span 4; + background: grey; +} +.grid > .subgrid > .subgrid { + writing-mode: vertical-lr; + grid-template-rows: subgrid; + grid-template-columns: initial; + grid-column: 1 / span 4; + grid-auto-columns: 8px; + grid-auto-flow: column; +} + +.fill-1a { grid-template-columns: subgrid repeat(auto-fill, [y]) [z] [z] [z] [z] } /* [y] [z] [z] [z] [z] */ +.fill-1b { grid-template-columns: subgrid [x] repeat(auto-fill, [y]) [z] [z] [z] } /* [x] [y] [z] [z] [z] */ +.fill-1c { grid-template-columns: subgrid [x] [x] repeat(auto-fill, [y]) [z] [z] } /* [x] [x] [y] [z] [z] */ +.fill-1d { grid-template-columns: subgrid [x] [x] [x] repeat(auto-fill, [y]) [z] } /* [x] [x] [x] [y] [z] */ +.fill-1e { grid-template-columns: subgrid [x] [x] [x] [x] repeat(auto-fill, [y]) } /* [x] [x] [x] [x] [y] */ + +.areas-1a { grid-template-areas: 'x x x x' } +.areas-1b { grid-template-areas: '. x x x' } +.areas-1c { grid-template-areas: 'x x x .' } +.areas-1d { grid-template-areas: '. . x x' } +.areas-1e { grid-template-areas: '. . x .' } + +.subgrid > .subgrid > :nth-child(2n) { background: black; } +.subgrid > .subgrid > :nth-child(2n+1) { background: pink; } +.subgrid > .subgrid > * { writing-mode: horizontal-tb; } + + </style> +</head> +<body> + +<!-- Line names before auto repeat --> +<div class="grid"><div class="subgrid fill-1a"><div class="subgrid"> + <div style="grid-row:z 5"></div> + <div style="grid-row:z 4"></div> + <div style="grid-row:z 3"></div> + <div style="grid-row:z 2"></div> + <div style="grid-row:z 1"></div> + <div style="grid-row:z -1"></div> + <div style="grid-row:z -2"></div> + <div style="grid-row:z -3"></div> + <div style="grid-row:z -4"></div> + <div style="grid-row:z -5"></div> +</div></div></div> + +<div class="grid"><div class="subgrid fill-1b"><div class="subgrid"> + <div style="grid-row:x 5"></div> + <div style="grid-row:x 4"></div> + <div style="grid-row:x 3"></div> + <div style="grid-row:x 2"></div> + <div style="grid-row:x 1"></div> + <div style="grid-row:x -1"></div> + <div style="grid-row:x -2"></div> + <div style="grid-row:x -3"></div> + <div style="grid-row:x -4"></div> + <div style="grid-row:x -5"></div> +</div></div></div> + +<div class="grid"><div class="subgrid fill-1c"><div class="subgrid"> + <div style="grid-row:x 5"></div> + <div style="grid-row:x 4"></div> + <div style="grid-row:x 3"></div> + <div style="grid-row:x 2"></div> + <div style="grid-row:x 1"></div> + <div style="grid-row:x -1"></div> + <div style="grid-row:x -2"></div> + <div style="grid-row:x -3"></div> + <div style="grid-row:x -4"></div> + <div style="grid-row:x -5"></div> +</div></div></div> + +<div class="grid"><div class="subgrid fill-1d"><div class="subgrid"> + <div style="grid-row:x 5"></div> + <div style="grid-row:x 4"></div> + <div style="grid-row:x 3"></div> + <div style="grid-row:x 2"></div> + <div style="grid-row:x 1"></div> + <div style="grid-row:x -1"></div> + <div style="grid-row:x -2"></div> + <div style="grid-row:x -3"></div> + <div style="grid-row:x -4"></div> + <div style="grid-row:x -5"></div> +</div></div></div> + +<div class="grid"><div class="subgrid fill-1e"><div class="subgrid"> + <div style="grid-row:x 5"></div> + <div style="grid-row:x 4"></div> + <div style="grid-row:x 3"></div> + <div style="grid-row:x 2"></div> + <div style="grid-row:x 1"></div> + <div style="grid-row:x -1"></div> + <div style="grid-row:x -2"></div> + <div style="grid-row:x -3"></div> + <div style="grid-row:x -4"></div> + <div style="grid-row:x -5"></div> +</div></div></div> + +<div class="grid"><div class="subgrid fill-1a"><div class="subgrid"> + <div style="grid-row:y 5"></div> + <div style="grid-row:y 4"></div> + <div style="grid-row:y 3"></div> + <div style="grid-row:y 2"></div> + <div style="grid-row:y 1"></div> + <div style="grid-row:y -1"></div> + <div style="grid-row:y -2"></div> + <div style="grid-row:y -3"></div> + <div style="grid-row:y -4"></div> + <div style="grid-row:y -5"></div> +</div></div></div> + +<!-- Auto repeat line names --> +<div class="grid"><div class="subgrid fill-1b"><div class="subgrid"> + <div style="grid-row:y 5"></div> + <div style="grid-row:y 4"></div> + <div style="grid-row:y 3"></div> + <div style="grid-row:y 2"></div> + <div style="grid-row:y 1"></div> + <div style="grid-row:y -1"></div> + <div style="grid-row:y -2"></div> + <div style="grid-row:y -3"></div> + <div style="grid-row:y -4"></div> + <div style="grid-row:y -5"></div> +</div></div></div> + +<div class="grid"><div class="subgrid fill-1c"><div class="subgrid"> + <div style="grid-row:y 5"></div> + <div style="grid-row:y 4"></div> + <div style="grid-row:y 3"></div> + <div style="grid-row:y 2"></div> + <div style="grid-row:y 1"></div> + <div style="grid-row:y -1"></div> + <div style="grid-row:y -2"></div> + <div style="grid-row:y -3"></div> + <div style="grid-row:y -4"></div> + <div style="grid-row:y -5"></div> +</div></div></div> + +<div class="grid"><div class="subgrid fill-1d"><div class="subgrid"> + <div style="grid-row:y 5"></div> + <div style="grid-row:y 4"></div> + <div style="grid-row:y 3"></div> + <div style="grid-row:y 2"></div> + <div style="grid-row:y 1"></div> + <div style="grid-row:y -1"></div> + <div style="grid-row:y -2"></div> + <div style="grid-row:y -3"></div> + <div style="grid-row:y -4"></div> + <div style="grid-row:y -5"></div> +</div></div></div> + +<div class="grid"><div class="subgrid fill-1e"><div class="subgrid"> + <div style="grid-row:y 5"></div> + <div style="grid-row:y 4"></div> + <div style="grid-row:y 3"></div> + <div style="grid-row:y 2"></div> + <div style="grid-row:y 1"></div> + <div style="grid-row:y -1"></div> + <div style="grid-row:y -2"></div> + <div style="grid-row:y -3"></div> + <div style="grid-row:y -4"></div> + <div style="grid-row:y -5"></div> +</div></div></div> + +<div class="grid"><div class="subgrid fill-1a"><div class="subgrid"> + <div style="grid-row:z 5"></div> + <div style="grid-row:z 4"></div> + <div style="grid-row:z 3"></div> + <div style="grid-row:z 2"></div> + <div style="grid-row:z 1"></div> + <div style="grid-row:z -1"></div> + <div style="grid-row:z -2"></div> + <div style="grid-row:z -3"></div> + <div style="grid-row:z -4"></div> + <div style="grid-row:z -5"></div> +</div></div></div> + +<div class="grid"><div class="subgrid fill-1b"><div class="subgrid"> + <div style="grid-row:z 5"></div> + <div style="grid-row:z 4"></div> + <div style="grid-row:z 3"></div> + <div style="grid-row:z 2"></div> + <div style="grid-row:z 1"></div> + <div style="grid-row:z -1"></div> + <div style="grid-row:z -2"></div> + <div style="grid-row:z -3"></div> + <div style="grid-row:z -4"></div> + <div style="grid-row:z -5"></div> +</div></div></div> + +<div class="grid"><div class="subgrid fill-1c"><div class="subgrid"> + <div style="grid-row:z 5"></div> + <div style="grid-row:z 4"></div> + <div style="grid-row:z 3"></div> + <div style="grid-row:z 2"></div> + <div style="grid-row:z 1"></div> + <div style="grid-row:z -1"></div> + <div style="grid-row:z -2"></div> + <div style="grid-row:z -3"></div> + <div style="grid-row:z -4"></div> + <div style="grid-row:z -5"></div> +</div></div></div> + +<div class="grid"><div class="subgrid fill-1d"><div class="subgrid"> + <div style="grid-row:z 5"></div> + <div style="grid-row:z 4"></div> + <div style="grid-row:z 3"></div> + <div style="grid-row:z 2"></div> + <div style="grid-row:z 1"></div> + <div style="grid-row:z -1"></div> + <div style="grid-row:z -2"></div> + <div style="grid-row:z -3"></div> + <div style="grid-row:z -4"></div> + <div style="grid-row:z -5"></div> +</div></div></div> + +<div class="grid"><div class="subgrid fill-1e"><div class="subgrid"> + <div style="grid-row:z 5"></div> + <div style="grid-row:z 4"></div> + <div style="grid-row:z 3"></div> + <div style="grid-row:z 2"></div> + <div style="grid-row:z 1"></div> + <div style="grid-row:z -1"></div> + <div style="grid-row:z -2"></div> + <div style="grid-row:z -3"></div> + <div style="grid-row:z -4"></div> + <div style="grid-row:z -5"></div> +</div></div></div> + +<!-- Named grid areas --> +<div class="grid"><div class="subgrid areas-1a"><div class="subgrid"> + <div style="grid-row:x-start"></div> + <div style="grid-row:x"></div> + <div style="grid-row:x-start / x-end"></div> + <div style="grid-row:x-end"></div> +</div></div></div> + +<div class="grid"><div class="subgrid areas-1b"><div class="subgrid"> + <div style="grid-row:x-start"></div> + <div style="grid-row:x"></div> + <div style="grid-row:x-start / x-end"></div> + <div style="grid-row:x-end"></div> +</div></div></div> + +<div class="grid"><div class="subgrid areas-1c"><div class="subgrid"> + <div style="grid-row:x-start"></div> + <div style="grid-row:x"></div> + <div style="grid-row:x-start / x-end"></div> + <div style="grid-row:x-end"></div> +</div></div></div> + +<div class="grid"><div class="subgrid areas-1d"><div class="subgrid"> + <div style="grid-row:x-start"></div> + <div style="grid-row:x"></div> + <div style="grid-row:x-start / x-end"></div> + <div style="grid-row:x-end"></div> +</div></div></div> + +<div class="grid"><div class="subgrid areas-1e"><div class="subgrid"> + <div style="grid-row:x-start"></div> + <div style="grid-row:x"></div> + <div style="grid-row:x-start / x-end"></div> + <div style="grid-row:x-end"></div> +</div></div></div> +</body> +</html> diff --git a/tests/wpt/web-platform-tests/css/css-grid/subgrid/repeat-auto-fill-003.html b/tests/wpt/web-platform-tests/css/css-grid/subgrid/repeat-auto-fill-003.html index 3a1d2707c37..df14ed8350b 100644 --- a/tests/wpt/web-platform-tests/css/css-grid/subgrid/repeat-auto-fill-003.html +++ b/tests/wpt/web-platform-tests/css/css-grid/subgrid/repeat-auto-fill-003.html @@ -11,13 +11,14 @@ <link rel="match" href="repeat-auto-fill-001-ref.html"> <style> html,body { - color:black; background-color:white; font:10px/1 monospace; padding:0; margin:0; + color:black; background-color:white; font:10px monospace; padding:0; margin:0; line-height:0; } .grid { display: inline-grid; grid-auto-columns: 15px; border: 1px solid; + vertical-align: top; } .subgrid { diff --git a/tests/wpt/web-platform-tests/css/css-images/image-set/image-set-parsing.html b/tests/wpt/web-platform-tests/css/css-images/image-set/image-set-parsing.html index fc4eed0c7ec..c33652a5fd2 100644 --- a/tests/wpt/web-platform-tests/css/css-images/image-set/image-set-parsing.html +++ b/tests/wpt/web-platform-tests/css/css-images/image-set/image-set-parsing.html @@ -251,6 +251,14 @@ function test_image_type_parsing() { 'background-image', "image-set(url(example.png) type('image/png') type('image/png'))" ); + test_invalid_value_variants( + 'background-image', + "image-set(url(example.png) type('image/png' 'image/png'))" + ); + test_invalid_value_variants( + 'background-image', + "image-set(url(example.png) type(url('image/png')))" + ); test_invalid_value_variants( 'background-image', "image-set(url(example.png) 1xtype('image/png'))" diff --git a/tests/wpt/web-platform-tests/css/css-inline/alignment-baseline-no-interpolation.html b/tests/wpt/web-platform-tests/css/css-inline/alignment-baseline-no-interpolation.html new file mode 100644 index 00000000000..57deaf8abe6 --- /dev/null +++ b/tests/wpt/web-platform-tests/css/css-inline/alignment-baseline-no-interpolation.html @@ -0,0 +1,15 @@ +<!DOCTYPE html> +<link rel=author href="mailto:jarhar@chromium.org"> +<link rel=help href="https://github.com/w3c/csswg-drafts/issues/4441"> +<script src="/resources/testharness.js"></script> +<script src="/resources/testharnessreport.js"></script> +<script src="/css/support/interpolation-testcommon.js"></script> + +<body> +<script> +test_no_interpolation({ + property: 'alignment-baseline', + from: 'initial', + to: 'central' +}); +</script> diff --git a/tests/wpt/web-platform-tests/css/css-inline/baseline-source/baseline-source-no-interpolation.html b/tests/wpt/web-platform-tests/css/css-inline/baseline-source/baseline-source-no-interpolation.html new file mode 100644 index 00000000000..86fede739fc --- /dev/null +++ b/tests/wpt/web-platform-tests/css/css-inline/baseline-source/baseline-source-no-interpolation.html @@ -0,0 +1,15 @@ +<!DOCTYPE html> +<link rel=author href="mailto:jarhar@chromium.org"> +<link rel=help href="https://github.com/w3c/csswg-drafts/issues/4441"> +<script src="/resources/testharness.js"></script> +<script src="/resources/testharnessreport.js"></script> +<script src="/css/support/interpolation-testcommon.js"></script> + +<body> +<script> +test_no_interpolation({ + property: 'baseline-source', + from: 'initial', + to: 'last' +}); +</script> diff --git a/tests/wpt/web-platform-tests/css/css-inline/dominant-baseline-no-interpolation.html b/tests/wpt/web-platform-tests/css/css-inline/dominant-baseline-no-interpolation.html new file mode 100644 index 00000000000..85bc377ba92 --- /dev/null +++ b/tests/wpt/web-platform-tests/css/css-inline/dominant-baseline-no-interpolation.html @@ -0,0 +1,15 @@ +<!DOCTYPE html> +<link rel=author href="mailto:jarhar@chromium.org"> +<link rel=help href="https://github.com/w3c/csswg-drafts/issues/4441"> +<script src="/resources/testharness.js"></script> +<script src="/resources/testharnessreport.js"></script> +<script src="/css/support/interpolation-testcommon.js"></script> + +<body> +<script> +test_no_interpolation({ + property: 'dominant-baseline', + from: 'initial', + to: 'middle' +}); +</script> diff --git a/tests/wpt/web-platform-tests/css/css-logical/animations/caption-side-no-interpolation.html b/tests/wpt/web-platform-tests/css/css-logical/animations/caption-side-no-interpolation.html new file mode 100644 index 00000000000..2eef093e46c --- /dev/null +++ b/tests/wpt/web-platform-tests/css/css-logical/animations/caption-side-no-interpolation.html @@ -0,0 +1,15 @@ +<!DOCTYPE html> +<link rel=author href="mailto:jarhar@chromium.org"> +<link rel=help href="https://github.com/w3c/csswg-drafts/issues/4441"> +<script src="/resources/testharness.js"></script> +<script src="/resources/testharnessreport.js"></script> +<script src="/css/support/interpolation-testcommon.js"></script> + +<body> +<script> +test_no_interpolation({ + property: 'caption-side', + from: 'initial', + to: 'bottom' +}); +</script> diff --git a/tests/wpt/web-platform-tests/css/css-masking/clip-path-svg-content/clip-path-shape-circle-003.svg b/tests/wpt/web-platform-tests/css/css-masking/clip-path-svg-content/clip-path-shape-circle-003.svg index f0110ee0a53..0a0432c1166 100644 --- a/tests/wpt/web-platform-tests/css/css-masking/clip-path-svg-content/clip-path-shape-circle-003.svg +++ b/tests/wpt/web-platform-tests/css/css-masking/clip-path-svg-content/clip-path-shape-circle-003.svg @@ -5,10 +5,11 @@ <html:link rel="help" href="http://www.w3.org/TR/css-masking-1/#svg-clipping-paths"/> <html:link rel="help" href="http://www.w3.org/TR/css-masking-1/#the-clip-path"/> <html:link rel="match" href="reference/clip-path-circle-001-ref.svg" /> + <html:meta name="fuzzy" content="maxDifference=0-64; totalPixels=0-184"/> <metadata class="flags">svg</metadata> <desc class="assert">A basic shape function circle() applied to an SVG rectangle. The specified keyword fill-box defines the reference box (here objectBoundingBox). You should see a full green circle.</desc> </g> <rect width="100" height="100" fill="green" stroke="green" stroke-width="10" style="clip-path: circle() fill-box;"/> -</svg> \ No newline at end of file +</svg> diff --git a/tests/wpt/web-platform-tests/css/css-masking/clip-path-svg-content/clip-path-shape-circle-004.svg b/tests/wpt/web-platform-tests/css/css-masking/clip-path-svg-content/clip-path-shape-circle-004.svg index c3db6d662d8..044b2ecc9e1 100644 --- a/tests/wpt/web-platform-tests/css/css-masking/clip-path-svg-content/clip-path-shape-circle-004.svg +++ b/tests/wpt/web-platform-tests/css/css-masking/clip-path-svg-content/clip-path-shape-circle-004.svg @@ -5,10 +5,11 @@ <html:link rel="help" href="http://www.w3.org/TR/css-masking-1/#svg-clipping-paths"/> <html:link rel="help" href="http://www.w3.org/TR/css-masking-1/#the-clip-path"/> <html:link rel="match" href="reference/clip-path-circle-001-ref.svg" /> + <html:meta name="fuzzy" content="maxDifference=0-64; totalPixels=0-76"/> <metadata class="flags">svg</metadata> <desc class="assert">A basic shape function circle() applied to an SVG rectangle. The specified keyword stroke-box defines the reference box stroking bounding box. You should see a full green circle.</desc> </g> <rect x="10" y="10" width="80" height="80" fill="green" stroke="green" stroke-width="20" style="clip-path: circle() stroke-box;"/> -</svg> \ No newline at end of file +</svg> diff --git a/tests/wpt/web-platform-tests/css/css-masking/clip-path-svg-content/clip-path-text-001.svg b/tests/wpt/web-platform-tests/css/css-masking/clip-path-svg-content/clip-path-text-001.svg index 35f9fa00f0c..6d850b993a6 100644 --- a/tests/wpt/web-platform-tests/css/css-masking/clip-path-svg-content/clip-path-text-001.svg +++ b/tests/wpt/web-platform-tests/css/css-masking/clip-path-svg-content/clip-path-text-001.svg @@ -5,12 +5,13 @@ <html:link rel="help" href="http://www.w3.org/TR/css-masking-1/#svg-clipping-paths"/> <html:link rel="help" href="http://www.w3.org/TR/css-masking-1/#ClipPathElement"/> <html:link rel="match" href="reference/clip-path-text-001-ref.svg" /> + <html:link rel="stylesheet" href="/fonts/ahem.css"/> <metadata class="flags">svg</metadata> <desc class="assert">A clipPath element can contain text. You should - see a green text "CLIP" and nothing else.</desc> + see four adjacent 40x40 green squares and nothing else.</desc> </g> <clipPath id="clip1"> - <text x="20" y="150" style="font-size: 60px; font-weight: bold;">CLIP</text> + <text x="20" y="150" style="font: 40px/1 Ahem">XXXX</text> </clipPath> <rect height="200" width="200" fill="green" clip-path="url(#clip1)"/> </svg> diff --git a/tests/wpt/web-platform-tests/css/css-masking/clip-path-svg-content/clip-path-text-002.svg b/tests/wpt/web-platform-tests/css/css-masking/clip-path-svg-content/clip-path-text-002.svg index d6ae1479415..f40d13c40d4 100644 --- a/tests/wpt/web-platform-tests/css/css-masking/clip-path-svg-content/clip-path-text-002.svg +++ b/tests/wpt/web-platform-tests/css/css-masking/clip-path-svg-content/clip-path-text-002.svg @@ -5,13 +5,15 @@ <html:link rel="help" href="http://www.w3.org/TR/css-masking-1/#svg-clipping-paths"/> <html:link rel="help" href="http://www.w3.org/TR/css-masking-1/#ClipPathElement"/> <html:link rel="match" href="reference/clip-path-text-001-ref.svg" /> + <html:link rel="stylesheet" href="/fonts/ahem.css"/> <metadata class="flags">svg</metadata> <desc class="assert">A clipPath element can contain text. Text styling - should not influence the clipping path. You should see a green text "CLIP" - and nothing else.</desc> + (e.g. stroke/stroke-width) should not influence the clipping path. + You should see four adjacent 40x40 green squares and nothing else. + </desc> </g> <clipPath id="clip1"> - <text x="20" y="150" style="font-size:60px; font-weight:bold;" stroke="red" stroke-width="10">CLIP</text> + <text x="20" y="150" style="font: 40px/1 Ahem" stroke="red" stroke-width="10">XXXX</text> </clipPath> <rect height="200" width="200" fill="green" clip-path="url(#clip1)"/> </svg> diff --git a/tests/wpt/web-platform-tests/css/css-masking/clip-path-svg-content/clip-path-text-003.svg b/tests/wpt/web-platform-tests/css/css-masking/clip-path-svg-content/clip-path-text-003.svg index ec7a613f9c5..7a5e9e7d82c 100644 --- a/tests/wpt/web-platform-tests/css/css-masking/clip-path-svg-content/clip-path-text-003.svg +++ b/tests/wpt/web-platform-tests/css/css-masking/clip-path-svg-content/clip-path-text-003.svg @@ -5,13 +5,14 @@ <html:link rel="help" href="http://www.w3.org/TR/css-masking-1/#svg-clipping-paths"/> <html:link rel="help" href="http://www.w3.org/TR/css-masking-1/#ClipPathElement"/> <html:link rel="match" href="reference/clip-path-text-002-ref.svg" /> + <html:link rel="stylesheet" href="/fonts/ahem.css"/> <metadata class="flags">svg</metadata> <desc class="assert">A clipPath element can contain text. Text can be combined with other clipping shapes like polygons. You should see a green - text "CLIP" through the hole of a green rectangle.</desc> + stripe through the hole of a green rectangle.</desc> </g> <clipPath id="clip1"> - <text x="20" y="150" style="font-size:60px; font-weight:bold;" stroke="red" stroke-width="10">CLIP</text> + <text x="20" y="120" style="font: 40px/1 Ahem" stroke="red" stroke-width="10">XXXX</text> <polygon points="0 0, 200 0, 200 200, 0 200, 0 50, 150 50, 150 150, 50 150, 50 50, 0 50" clip-rule="evenodd" /> </clipPath> <rect height="200" width="200" fill="green" clip-path="url(#clip1)"/> diff --git a/tests/wpt/web-platform-tests/css/css-masking/clip-path-svg-content/clip-path-text-004.svg b/tests/wpt/web-platform-tests/css/css-masking/clip-path-svg-content/clip-path-text-004.svg index 7adbfa2d574..2389320677d 100644 --- a/tests/wpt/web-platform-tests/css/css-masking/clip-path-svg-content/clip-path-text-004.svg +++ b/tests/wpt/web-platform-tests/css/css-masking/clip-path-svg-content/clip-path-text-004.svg @@ -5,14 +5,15 @@ <html:link rel="help" href="http://www.w3.org/TR/css-masking-1/#svg-clipping-paths"/> <html:link rel="help" href="http://www.w3.org/TR/css-masking-1/#ClipPathElement"/> <html:link rel="match" href="reference/clip-path-text-001-ref.svg" /> + <html:link rel="stylesheet" href="/fonts/ahem.css"/> <metadata class="flags">svg</metadata> <desc class="assert">A clipPath element can contain text in a - tspan element. Text styling on text element or tspan element should not influence - the clipping path. You should see a green text "CLIP" and nothing else. - </desc> + tspan element. Text styling on text element or tspan element should + not influence the clipping path. You should see four adjacent 40x40 + green squares and nothing else.</desc> </g> <clipPath id="clip1"> - <text x="20" y="150" style="font-size:60px; font-weight:bold;"><tspan stroke="red" fill="none">CLIP</tspan></text> + <text x="20" y="150" style="font: 40px/1 Ahem"><tspan stroke="red" fill="none">XXXX</tspan></text> </clipPath> <rect height="200" width="200" fill="green" clip-path="url(#clip1)"/> -</svg> \ No newline at end of file +</svg> diff --git a/tests/wpt/web-platform-tests/css/css-masking/clip-path-svg-content/clip-path-text-005.svg b/tests/wpt/web-platform-tests/css/css-masking/clip-path-svg-content/clip-path-text-005.svg index 152f4018354..487e2fead87 100644 --- a/tests/wpt/web-platform-tests/css/css-masking/clip-path-svg-content/clip-path-text-005.svg +++ b/tests/wpt/web-platform-tests/css/css-masking/clip-path-svg-content/clip-path-text-005.svg @@ -6,16 +6,17 @@ <html:link rel="help" href="http://www.w3.org/TR/css-masking-1/#ClipPathElement"/> <html:link rel="match" href="reference/clip-path-text-003-ref.svg" /> <metadata class="flags">svg</metadata> + <html:link rel="stylesheet" href="/fonts/ahem.css"/> <desc class="assert">A clipPath element can contain text. The clipPath element can be clipped itself with the text. You should see - fragments of a green text "CLIP" and nothing else. + fragments of four adjacent 40x40 green squares and nothing else. </desc> </g> <clipPath id="clip2"> <rect x="50" y="50" width="100" height="100"/> </clipPath> <clipPath id="clip1" clip-path="url(#clip2)"> - <text x="20" y="150" style="font-size:60px; font-weight:bold;">CLIP</text> + <text x="20" y="150" style="font: 40px/1 Ahem">XXXX</text> </clipPath> <rect height="200" width="200" fill="green" clip-path="url(#clip1)"/> -</svg> \ No newline at end of file +</svg> diff --git a/tests/wpt/web-platform-tests/css/css-masking/clip-path-svg-content/reference/clip-path-text-001-ref.svg b/tests/wpt/web-platform-tests/css/css-masking/clip-path-svg-content/reference/clip-path-text-001-ref.svg index 4b3f84b8d86..f13bb8ba44f 100644 --- a/tests/wpt/web-platform-tests/css/css-masking/clip-path-svg-content/reference/clip-path-text-001-ref.svg +++ b/tests/wpt/web-platform-tests/css/css-masking/clip-path-svg-content/reference/clip-path-text-001-ref.svg @@ -2,6 +2,7 @@ <g id="testmeta"> <title>CSS Masking: Reftest reference</title> <html:link rel="author" title="Dirk Schulze" href="mailto:dschulze@adobe.com"/> + <html:link rel="stylesheet" href="/fonts/ahem.css"/> </g> -<text x="20" y="150" fill="green" style="font-size:60px; font-weight:bold;">CLIP</text> +<text x="20" y="150" fill="green" style="font: 40px/1 Ahem">XXXX</text> </svg> diff --git a/tests/wpt/web-platform-tests/css/css-masking/clip-path-svg-content/reference/clip-path-text-002-ref.svg b/tests/wpt/web-platform-tests/css/css-masking/clip-path-svg-content/reference/clip-path-text-002-ref.svg index fccd7638af0..d51fd55b4b9 100644 --- a/tests/wpt/web-platform-tests/css/css-masking/clip-path-svg-content/reference/clip-path-text-002-ref.svg +++ b/tests/wpt/web-platform-tests/css/css-masking/clip-path-svg-content/reference/clip-path-text-002-ref.svg @@ -2,7 +2,8 @@ <g id="testmeta"> <title>CSS Masking: Reftest reference</title> <html:link rel="author" title="Dirk Schulze" href="mailto:dschulze@adobe.com"/> + <html:link rel="stylesheet" href="/fonts/ahem.css"/> </g> -<text x="20" y="150" fill="green" style="font-size:60px; font-weight:bold;">CLIP</text> +<text x="20" y="120" fill="green" style="font: 40px/1 Ahem">XXXX</text> <polygon points="0 0, 200 0, 200 200, 0 200, 0 50, 150 50, 150 150, 50 150, 50 50, 0 50" fill-rule="evenodd" fill="green"/> </svg> diff --git a/tests/wpt/web-platform-tests/css/css-masking/clip-path-svg-content/reference/clip-path-text-003-ref.svg b/tests/wpt/web-platform-tests/css/css-masking/clip-path-svg-content/reference/clip-path-text-003-ref.svg index fa2cb815e10..254f361d3e3 100644 --- a/tests/wpt/web-platform-tests/css/css-masking/clip-path-svg-content/reference/clip-path-text-003-ref.svg +++ b/tests/wpt/web-platform-tests/css/css-masking/clip-path-svg-content/reference/clip-path-text-003-ref.svg @@ -2,9 +2,10 @@ <g id="testmeta"> <title>CSS Masking: Reftest reference</title> <html:link rel="author" title="Dirk Schulze" href="mailto:dschulze@adobe.com"/> + <html:link rel="stylesheet" href="/fonts/ahem.css"/> </g> <clipPath id="clip2"> <rect x="50" y="50" width="100" height="100"/> </clipPath> -<text x="20" y="150" style="font-size:60px; font-weight:bold;" clip-path="url(#clip2)" fill="green">CLIP</text> -</svg> \ No newline at end of file +<text x="20" y="150" style="font: 40px/1 Ahem" clip-path="url(#clip2)" fill="green">XXXX</text> +</svg> diff --git a/tests/wpt/web-platform-tests/css/css-masking/clip-path/animations/clip-path-animation-custom-timing-function-ref.html b/tests/wpt/web-platform-tests/css/css-masking/clip-path/animations/clip-path-animation-custom-timing-function-ref.html index 829055a9456..49732d361b3 100644 --- a/tests/wpt/web-platform-tests/css/css-masking/clip-path/animations/clip-path-animation-custom-timing-function-ref.html +++ b/tests/wpt/web-platform-tests/css/css-masking/clip-path/animations/clip-path-animation-custom-timing-function-ref.html @@ -3,11 +3,9 @@ <style> .green { background-color: green; - position: fixed; - left: 0px; - top: 0px; width: 200px; height: 200px; + clip-path: inset(10.59741054822%); } </style> diff --git a/tests/wpt/web-platform-tests/css/css-masking/clip-path/animations/clip-path-animation-custom-timing-function-reverse-ref.html b/tests/wpt/web-platform-tests/css/css-masking/clip-path/animations/clip-path-animation-custom-timing-function-reverse-ref.html new file mode 100644 index 00000000000..edaf92cb8ae --- /dev/null +++ b/tests/wpt/web-platform-tests/css/css-masking/clip-path/animations/clip-path-animation-custom-timing-function-reverse-ref.html @@ -0,0 +1,17 @@ +<!DOCTYPE html> + +<style> + .green { + background-color: green; + width: 200px; + height: 200px; + clip-path: inset(6.850317545375803%); + } + +</style> + +<body> + <div class="green"></div> +</body> + +</html> diff --git a/tests/wpt/web-platform-tests/css/css-masking/clip-path/animations/clip-path-animation-custom-timing-function-reverse.html b/tests/wpt/web-platform-tests/css/css-masking/clip-path/animations/clip-path-animation-custom-timing-function-reverse.html index 7525f674503..d42b2fe5a32 100644 --- a/tests/wpt/web-platform-tests/css/css-masking/clip-path/animations/clip-path-animation-custom-timing-function-reverse.html +++ b/tests/wpt/web-platform-tests/css/css-masking/clip-path/animations/clip-path-animation-custom-timing-function-reverse.html @@ -1,13 +1,11 @@ <!DOCTYPE html> <html class="reftest-wait"> <link rel="help" href="https://drafts.csswg.org/css-shapes-1/#basic-shape-interpolation"> -<link rel="match" href="clip-path-animation-custom-timing-function-ref.html"> +<link rel="match" href="clip-path-animation-custom-timing-function-reverse-ref.html"> +<meta name=fuzzy content="0-1;0-350"> <!-- Test that ensures that the bounding rect for a clip path animation is not - limited to the size of the largest keyframe. - - Test is done by occulsion to prevent flakes. Test succeeds if the extrapolated - clip area (green) is large enough to occlude the entire red area. + limited to the size of the largest keyframe.a. This is the reverse of clip-path-animation-custom-timing-fumction.html, and tests extrapolation in the negative direction @@ -19,7 +17,7 @@ } 25% { - clip-path: inset(49% 459); + clip-path: inset(49% 49%); } 50% { @@ -39,27 +37,10 @@ .green { background-color: green; - position: fixed; - left: 0px; - top: 0px; width: 200px; height: 200px; - } - /* for this test to succeed, the red rect needs to be entirely - occluded by the inner green rect, requiring extrapolation - beyond the largest keyframe. */ - .red { - background-color: red; - position: fixed; - left: 50px; - top: 50px; - width: 100px; - height: 100px; - } - - .anim { - animation: clippath 10000000s -8750000s + animation: clippath 10000000s -8717082s /* halfway between the second to last and last keyframes.*/ ; } @@ -68,11 +49,7 @@ <script src="/common/reftest-wait.js"></script> <body> - <div class="green"> - <div class="red"> - <div class="green anim"></div> - </div> - </div> + <div class="green anim"></div> <script> document.getAnimations()[0].ready.then(takeScreenshot); diff --git a/tests/wpt/web-platform-tests/css/css-masking/clip-path/animations/clip-path-animation-custom-timing-function.html b/tests/wpt/web-platform-tests/css/css-masking/clip-path/animations/clip-path-animation-custom-timing-function.html index e73f01bc403..4dbf3a44a94 100644 --- a/tests/wpt/web-platform-tests/css/css-masking/clip-path/animations/clip-path-animation-custom-timing-function.html +++ b/tests/wpt/web-platform-tests/css/css-masking/clip-path/animations/clip-path-animation-custom-timing-function.html @@ -2,12 +2,10 @@ <html class="reftest-wait"> <link rel="help" href="https://drafts.csswg.org/css-shapes-1/#basic-shape-interpolation"> <link rel="match" href="clip-path-animation-custom-timing-function-ref.html"> +<meta name=fuzzy content="0-2;0-320"> <!-- Test that ensures that the bounding rect for a clip path animation is not limited to the size of the largest keyframe. - - Test is done by occulsion to prevent flakes. Test succeeds if the extrapolated - clip area (green) is large enough to occlude the entire red area. --> <style> @keyframes clippath { @@ -34,28 +32,10 @@ .green { background-color: green; - position: fixed; - left: 0px; - top: 0px; width: 200px; height: 200px; - } - - /* for this test to succeed, the red rect needs to be entirely - occluded by the inner green rect, requiring extrapolation - beyond the largest keyframe. */ - .red { - background-color: red; - position: fixed; - left: 50px; - top: 50px; - width: 100px; - height: 100px; - } - - .anim { - animation: clippath 10000000s -1250000s - /* halfway between the first and second keyframes. */ + animation: clippath 10000000s -1286796s + /* roughly where the derivative of the cubic-bezier is zero */ ; animation-timing-function: cubic-bezier(0, 9, 1, 9); } @@ -64,11 +44,7 @@ <script src="/common/reftest-wait.js"></script> <body> - <div class="green"> - <div class="red"> - <div class="green anim"></div> - </div> - </div> + <div class="green"></div> <script> document.getAnimations()[0].ready.then(takeScreenshot); diff --git a/tests/wpt/web-platform-tests/css/css-masking/clip-path/animations/clip-path-transition-custom-timing-function.html b/tests/wpt/web-platform-tests/css/css-masking/clip-path/animations/clip-path-transition-custom-timing-function.html index 022b1f0484c..47b0cd6e751 100644 --- a/tests/wpt/web-platform-tests/css/css-masking/clip-path/animations/clip-path-transition-custom-timing-function.html +++ b/tests/wpt/web-platform-tests/css/css-masking/clip-path/animations/clip-path-transition-custom-timing-function.html @@ -3,44 +3,23 @@ <link rel="help" href="https://drafts.csswg.org/css-shapes-1/#basic-shape-interpolation"> <link rel="match" href="clip-path-animation-custom-timing-function-ref.html"> <style> - .transition { - clip-path: inset(45%); - transition-property: clip-path; - transition-duration: 1000000s; - transition-timing-function: cubic-bezier(0, 9, 1, 9); - transition-delay: -500000s; - } - .green { background-color: green; - position: fixed; - left: 0px; - top: 0px; width: 200px; height: 200px; - } - /* for this test to succeed, the red rect needs to be entirely - occluded by the inner green rect, requiring extrapolation - beyond the largest keyframe. */ - .red { - background-color: red; - position: fixed; - left: 50px; - top: 50px; - width: 100px; - height: 100px; + clip-path: inset(45%); + transition-property: clip-path; + transition-duration: 10000000s; + transition-timing-function: cubic-bezier(0, 9, 1, 9); + transition-delay: -5220715s; } </style> <script src="/common/reftest-wait.js"></script> <body> - <div class="green"> - <div class="red"> - <div class="green transition" id="target"></div> - </div> - </div> + <div class="green" id="target"></div> <script> function update() { diff --git a/tests/wpt/web-platform-tests/css/css-masking/clip-path/clip-path-round-zero-size.html b/tests/wpt/web-platform-tests/css/css-masking/clip-path/clip-path-round-zero-size.html index d42ee6f5360..32396fa8d24 100644 --- a/tests/wpt/web-platform-tests/css/css-masking/clip-path/clip-path-round-zero-size.html +++ b/tests/wpt/web-platform-tests/css/css-masking/clip-path/clip-path-round-zero-size.html @@ -6,6 +6,8 @@ <link rel="author" title="Emilio Cobos Álvarez" href="mailto:emilio@crisal.io"> <link rel="author" title="Mozilla" href="https://mozilla.org"> <link rel="match" href="clip-path-round-zero-size-ref.html"> +<!-- Allow differences of antialised pixels along rounded edges --> +<meta name="fuzzy" content="0-64;0-28"> <style> #target { margin: 50px; diff --git a/tests/wpt/web-platform-tests/css/css-masking/clip-rule/clip-rule-no-interpolation.html b/tests/wpt/web-platform-tests/css/css-masking/clip-rule/clip-rule-no-interpolation.html new file mode 100644 index 00000000000..066636c5e92 --- /dev/null +++ b/tests/wpt/web-platform-tests/css/css-masking/clip-rule/clip-rule-no-interpolation.html @@ -0,0 +1,15 @@ +<!DOCTYPE html> +<link rel=author href="mailto:jarhar@chromium.org"> +<link rel=help href="https://github.com/w3c/csswg-drafts/issues/4441"> +<script src="/resources/testharness.js"></script> +<script src="/resources/testharnessreport.js"></script> +<script src="/css/support/interpolation-testcommon.js"></script> + +<body> +<script> +test_no_interpolation({ + property: 'clip-rule', + from: 'initial', + to: 'evenodd' +}); +</script> diff --git a/tests/wpt/web-platform-tests/css/css-masking/mask-image/mask-image-2.html b/tests/wpt/web-platform-tests/css/css-masking/mask-image/mask-image-2.html index a071cff3fa3..ba6eb37ef6d 100644 --- a/tests/wpt/web-platform-tests/css/css-masking/mask-image/mask-image-2.html +++ b/tests/wpt/web-platform-tests/css/css-masking/mask-image/mask-image-2.html @@ -7,6 +7,7 @@ <link rel="author" title="Mozilla" href="https://www.mozilla.org"> <link rel="help" href="https://www.w3.org/TR/css-masking-1/#the-mask-image"> <link rel="match" href="mask-image-2-ref.html"> + <meta name="fuzzy" content="maxDifference=0-1; totalPixels=0-2400"> <meta name="assert" content="Test checks whether gradient CSS image as mask layer works correctly or not."> <style type="text/css"> div { diff --git a/tests/wpt/web-platform-tests/css/css-multicol/animation/discrete-no-interpolation.html b/tests/wpt/web-platform-tests/css/css-multicol/animation/discrete-no-interpolation.html new file mode 100644 index 00000000000..6572fd503fd --- /dev/null +++ b/tests/wpt/web-platform-tests/css/css-multicol/animation/discrete-no-interpolation.html @@ -0,0 +1,27 @@ +<!DOCTYPE html> +<link rel=author href="mailto:jarhar@chromium.org"> +<link rel=help href="https://github.com/w3c/csswg-drafts/issues/4441"> +<script src="/resources/testharness.js"></script> +<script src="/resources/testharnessreport.js"></script> +<script src="/css/support/interpolation-testcommon.js"></script> + +<body> +<script> +test_no_interpolation({ + property: 'column-fill', + from: 'initial', + to: 'auto' +}); + +test_no_interpolation({ + property: 'column-rule-style', + from: 'initial', + to: 'dashed' +}); + +test_no_interpolation({ + property: 'column-span', + from: 'initial', + to: 'all' +}); +</script> diff --git a/tests/wpt/web-platform-tests/css/css-multicol/parsing/column-rule-valid.html b/tests/wpt/web-platform-tests/css/css-multicol/parsing/column-rule-valid.html index 473d8f075ca..4743988f7d5 100644 --- a/tests/wpt/web-platform-tests/css/css-multicol/parsing/column-rule-valid.html +++ b/tests/wpt/web-platform-tests/css/css-multicol/parsing/column-rule-valid.html @@ -15,7 +15,7 @@ test_valid_value("column-rule", "10px"); test_valid_value("column-rule", "dotted"); test_valid_value("column-rule", "red"); -test_valid_value("column-rule", "currentcolor hidden medium", "medium hidden currentcolor"); +test_valid_value("column-rule", "currentcolor hidden medium", "hidden"); </script> </body> </html> diff --git a/tests/wpt/web-platform-tests/css/css-overflow/overflow-recalc-001.html b/tests/wpt/web-platform-tests/css/css-overflow/overflow-recalc-001.html index 9c5919a5044..5d0d6f00093 100644 --- a/tests/wpt/web-platform-tests/css/css-overflow/overflow-recalc-001.html +++ b/tests/wpt/web-platform-tests/css/css-overflow/overflow-recalc-001.html @@ -6,6 +6,7 @@ <link rel="help" href="https://drafts.csswg.org/css-overflow/"> <link rel="help" href="https://bugs.chromium.org/p/chromium/issues/detail?id=1036644"> <link rel="match" href="reference/overflow-recalc-001-ref.html"> +<meta name="fuzzy" content="maxDifference=0-1;totalPixels=0-5"> <meta name="assert" content="Checks that overflow of an inline element is properly recomputed after changes on the descendants."> <script src="/common/reftest-wait.js"></script> <link rel="stylesheet" type="text/css" href="/fonts/ahem.css" /> diff --git a/tests/wpt/web-platform-tests/css/css-overflow/text-overflow-ellipsis-002.html b/tests/wpt/web-platform-tests/css/css-overflow/text-overflow-ellipsis-002.html index 019e8902af0..e326967ca37 100644 --- a/tests/wpt/web-platform-tests/css/css-overflow/text-overflow-ellipsis-002.html +++ b/tests/wpt/web-platform-tests/css/css-overflow/text-overflow-ellipsis-002.html @@ -1,7 +1,7 @@ <!doctype html> <meta charset="utf-8"> <title>CSS Overflow: text-overflow with visibility: hidden; and visibility: visible; descendant</title> -<link rel="author" title="Tim Nguyen" href="mailto:ntim.bugs@gmail.com"> +<link rel="author" title="Tim Nguyen" href="https://github.com/nt1m"> <link rel="help" href="https://drafts.csswg.org/css-overflow-3/#ellipsing-details"> <link rel="match" href="reference/text-overflow-ellipsis-002-ref.html"> <link rel="stylesheet" href="/fonts/ahem.css"> diff --git a/tests/wpt/web-platform-tests/css/css-overflow/webkit-line-clamp-034.html b/tests/wpt/web-platform-tests/css/css-overflow/webkit-line-clamp-034.html index acc66952f1a..e0b31d544c2 100644 --- a/tests/wpt/web-platform-tests/css/css-overflow/webkit-line-clamp-034.html +++ b/tests/wpt/web-platform-tests/css/css-overflow/webkit-line-clamp-034.html @@ -1,7 +1,7 @@ <!doctype html> <meta charset="utf-8"> <title>CSS Overflow: -webkit-line-clamp with visibility: hidden;</title> -<link rel="author" title="Tim Nguyen" href="mailto:ntim.bugs@gmail.com"> +<link rel="author" title="Tim Nguyen" href="https://github.com/nt1m"> <link rel="help" href="https://drafts.csswg.org/css-overflow-3/#webkit-line-clamp"> <link rel="match" href="/css/reference/blank.html"> <style> diff --git a/tests/wpt/web-platform-tests/css/css-overflow/webkit-line-clamp-035.html b/tests/wpt/web-platform-tests/css/css-overflow/webkit-line-clamp-035.html index 52b539d505f..5a550e022ec 100644 --- a/tests/wpt/web-platform-tests/css/css-overflow/webkit-line-clamp-035.html +++ b/tests/wpt/web-platform-tests/css/css-overflow/webkit-line-clamp-035.html @@ -1,7 +1,7 @@ <!doctype html> <meta charset="utf-8"> <title>CSS Overflow: -webkit-line-clamp with visibility: hidden; and visibility: visible; descendant</title> -<link rel="author" title="Tim Nguyen" href="mailto:ntim.bugs@gmail.com"> +<link rel="author" title="Tim Nguyen" href="https://github.com/nt1m"> <link rel="help" href="https://drafts.csswg.org/css-overflow-3/#webkit-line-clamp"> <link rel="match" href="reference/webkit-line-clamp-035-ref.html"> <link rel="stylesheet" href="/fonts/ahem.css"> diff --git a/tests/wpt/web-platform-tests/css/css-position/crashtests/inline-containing-block-crash.html b/tests/wpt/web-platform-tests/css/css-position/crashtests/inline-containing-block-crash.html new file mode 100644 index 00000000000..db385e38d18 --- /dev/null +++ b/tests/wpt/web-platform-tests/css/css-position/crashtests/inline-containing-block-crash.html @@ -0,0 +1,9 @@ +<!DOCTYPE html> +<link rel="help" href="https://bugs.chromium.org/p/chromium/issues/detail?id=1431205"> +<span style="position: relative;"> + <div id="target" style="position: absolute; left: 0; top: 0; width: 10px; height: 10px; overflow: hidden;"></div> +</span> +<script> +document.body.offsetTop; +document.getElementById('target').textContent = 'kaboom'; +</script> diff --git a/tests/wpt/web-platform-tests/css/css-shadow-parts/part-mutation-pseudo.html b/tests/wpt/web-platform-tests/css/css-shadow-parts/part-mutation-pseudo.html new file mode 100644 index 00000000000..d0e0072d51e --- /dev/null +++ b/tests/wpt/web-platform-tests/css/css-shadow-parts/part-mutation-pseudo.html @@ -0,0 +1,27 @@ +<!doctype html> +<meta charset="utf-8"> +<title>CSS Shadow Parts - Invalidation Change Part Name on pseudo</title> +<link rel="help" href="https://drafts.csswg.org/css-shadow-parts/"> +<link rel="author" href="mailto:emilio@crisal.io" title="Emilio Cobos Álvarez"> +<link rel="author" href="https://mozilla.org" title="Mozilla"> +<script src="/resources/testharness.js"></script> +<script src="/resources/testharnessreport.js"></script> +<script src="support/shadow-helper.js"></script> +<style>#c-e::part(partp)::before { color: red; }</style> +<script>installCustomElement("custom-element", "custom-element-template");</script> +<template id="custom-element-template"> + <style>span::before { content: ""; color: green; }</style> + <span id="part" part="partp">This text</span> +</template> +The following text should be green: +<div><custom-element id="c-e"></custom-element></div> +<script> + "use strict"; + test(function() { + const part = getElementByShadowIds(document, ["c-e", "part"]); + const before = getComputedStyle(part, "::before").color; + part.setAttribute("part", "somethingelse"); + const after = getComputedStyle(part, "::before").color; + assert_not_equals(before, after); + }, "Part in selected host changed color"); +</script> diff --git a/tests/wpt/web-platform-tests/css/css-sizing/animation/box-sizing-no-interpolation.html b/tests/wpt/web-platform-tests/css/css-sizing/animation/box-sizing-no-interpolation.html new file mode 100644 index 00000000000..d68844561ac --- /dev/null +++ b/tests/wpt/web-platform-tests/css/css-sizing/animation/box-sizing-no-interpolation.html @@ -0,0 +1,15 @@ +<!DOCTYPE html> +<link rel=author href="mailto:jarhar@chromium.org"> +<link rel=help href="https://github.com/w3c/csswg-drafts/issues/4441"> +<script src="/resources/testharness.js"></script> +<script src="/resources/testharnessreport.js"></script> +<script src="/css/support/interpolation-testcommon.js"></script> + +<body> +<script> +test_no_interpolation({ + property: 'box-sizing', + from: 'initial', + to: 'border-box' +}); +</script> diff --git a/tests/wpt/web-platform-tests/css/css-sizing/grid-item-image-percentage-min-height-computes-as-0-ref.html b/tests/wpt/web-platform-tests/css/css-sizing/grid-item-image-percentage-min-height-computes-as-0-ref.html new file mode 100644 index 00000000000..296cc593319 --- /dev/null +++ b/tests/wpt/web-platform-tests/css/css-sizing/grid-item-image-percentage-min-height-computes-as-0-ref.html @@ -0,0 +1,11 @@ +<!DOCTYPE html> +<html> +<head> +<link rel="author" title="Sammy Gill" href="mailto:sammy.gill@apple.com"> +<link rel="help" href="https://w3c.github.io/csswg-drafts/css2/#propdef-min-height"> +<meta name="assert" content="Image percentage min-height cannot be resolved and used value should be 0"> +</head> +<body> + <img src="/css/support/60x60-green.png"> +</body> +</html> diff --git a/tests/wpt/web-platform-tests/css/css-sizing/grid-item-image-percentage-min-height-computes-as-0.html b/tests/wpt/web-platform-tests/css/css-sizing/grid-item-image-percentage-min-height-computes-as-0.html new file mode 100644 index 00000000000..3b5dd2aedd0 --- /dev/null +++ b/tests/wpt/web-platform-tests/css/css-sizing/grid-item-image-percentage-min-height-computes-as-0.html @@ -0,0 +1,28 @@ +<!DOCTYPE html> +<html> +<head> +<link rel="author" title="Sammy Gill" href="mailto:sammy.gill@apple.com"> +<link rel="help" href="https://w3c.github.io/csswg-drafts/css2/#propdef-min-height"> +<link rel="match" href="grid-item-image-percentage-min-height-computes-as-0-ref.html"> +<meta name="assert" content="Image percentage min-height cannot be resolved and used value should be 0"> +<style> +.grid { + display: grid; +} +.grid-item { + display: grid; +} +.grid-item img { + height: var(--grid-item-height, auto); + min-height: 100%; +} +</style> +</head> +<body> +<div class="grid"> + <div class="grid-item"> + <img src="/css/support/60x60-green.png"> + </div> +</div> +</body> +</html> diff --git a/tests/wpt/web-platform-tests/css/css-sizing/nested-flexbox-image-percentage-max-height-computes-as-none-ref.html b/tests/wpt/web-platform-tests/css/css-sizing/nested-flexbox-image-percentage-max-height-computes-as-none-ref.html new file mode 100644 index 00000000000..6a290b23a80 --- /dev/null +++ b/tests/wpt/web-platform-tests/css/css-sizing/nested-flexbox-image-percentage-max-height-computes-as-none-ref.html @@ -0,0 +1,11 @@ +<!DOCTYPE html> +<html> +<head> +<link rel="author" title="Sammy Gill" href="mailto:sammy.gill@apple.com"> +<link rel="help" href="https://w3c.github.io/csswg-drafts/css2/#propdef-max-height"> +<meta name="assert" content="Image percentage max-height cannot be resolved and used value should be none"> +</head> +<body> + <img src="/css/support/60x60-green.png"> +</body> +</html> diff --git a/tests/wpt/web-platform-tests/css/css-sizing/nested-flexbox-image-percentage-max-height-computes-as-none.html b/tests/wpt/web-platform-tests/css/css-sizing/nested-flexbox-image-percentage-max-height-computes-as-none.html new file mode 100644 index 00000000000..afac4641477 --- /dev/null +++ b/tests/wpt/web-platform-tests/css/css-sizing/nested-flexbox-image-percentage-max-height-computes-as-none.html @@ -0,0 +1,47 @@ +<!DOCTYPE html> +<html> +<head> +<link rel="author" title="Sammy Gill" href="mailto:sammy.gill@apple.com"> +<link rel="help" href="https://w3c.github.io/csswg-drafts/css2/#propdef-max-height"> +<link rel="match" href="nested-flexbox-image-percentage-max-height-computes-as-none-ref.html"> +<meta name="assert" content="Image percentage max-height cannot be resolved and used value should be none"> +<style> +body { + height: 100px; +} +svg { + position: relative; + max-width: 100%; + max-height: 100%; + contain: size; + contain-intrinsic-size: 60px 60px; + aspect-ratio: 1/1; +} +.outer-flexbox { + display: flex; + width: 100%; + height: 100%; +} +.outer-flexbox-item { + position: relative; + min-width: 100%; +} +.inner-flexbox { + position: absolute; + display: flex; + inset: 0px; +} +</style> +</head> +<body> + <div class="outer-flexbox"> + <div class="outer-flexbox-item"> + <div class="inner-flexbox"> + <div> + <svg viewBox="0 0 1 1" style="background: green"></svg> + </div> + </div> + </div> + </div> +</body> +</html> diff --git a/tests/wpt/web-platform-tests/css/css-tables/colspan-001.html b/tests/wpt/web-platform-tests/css/css-tables/colspan-001.html new file mode 100644 index 00000000000..e6cb440366c --- /dev/null +++ b/tests/wpt/web-platform-tests/css/css-tables/colspan-001.html @@ -0,0 +1,32 @@ +<!DOCTYPE html> +<link rel="author" title="Morten Stenshorne" href="mailto:mstensho@chromium.org"> +<link rel="help" href="https://bugs.chromium.org/p/chromium/issues/detail?id=1430449"> +<link rel="match" href="../reference/ref-filled-green-100px-square.xht"> +<p>There should be five squares.</p> +<table cellspacing="0" cellpadding="0"> + <tr> + <td colspan="2" style="background:blue;" data-expected-width="75" data-expected-height="75"> + <div style="width:50px; height:75px;"></div> + </td> + <td colspan="2" style="background:green;" data-expected-width="75" data-expected-height="75"> + <div style="width:50px; height:75px;"></div> + </td> + </tr> + <tr> + <td style="background:black;" data-expected-width="50" data-expected-height="50"> + <div style="width:50px; height:50px;"></div> + </td> + <td colspan="2" style="background:lime;" data-expected-width="50" data-expected-height="50"> + <div style="width:50px; height:50px;"></div> + </td> + <td style="background:hotpink;" data-expected-width="50" data-expected-height="50"> + <div style="width:50px; height:50px;"></div> + </td> + </tr> +</table> +<script src="/resources/testharness.js"></script> +<script src="/resources/testharnessreport.js"></script> +<script src="/resources/check-layout-th.js"></script> +<script> + checkLayout('td') +</script> diff --git a/tests/wpt/web-platform-tests/css/css-tables/colspan-002.html b/tests/wpt/web-platform-tests/css/css-tables/colspan-002.html new file mode 100644 index 00000000000..144cbef4850 --- /dev/null +++ b/tests/wpt/web-platform-tests/css/css-tables/colspan-002.html @@ -0,0 +1,32 @@ +<!DOCTYPE html> +<link rel="author" title="Morten Stenshorne" href="mailto:mstensho@chromium.org"> +<link rel="help" href="https://bugs.chromium.org/p/chromium/issues/detail?id=1430449"> +<link rel="match" href="../reference/ref-filled-green-100px-square.xht"> +<p>There should be five squares.</p> +<table cellspacing="0" cellpadding="0"> + <tr> + <td colspan="3" style="background:blue;" data-expected-width="75" data-expected-height="75"> + <div style="width:50px; height:75px;"></div> + </td> + <td colspan="3" style="background:green;" data-expected-width="75" data-expected-height="75"> + <div style="width:50px; height:75px;"></div> + </td> + </tr> + <tr> + <td style="background:black;" data-expected-width="50" data-expected-height="50"> + <div style="width:50px; height:50px;"></div> + </td> + <td colspan="4" style="background:lime;" data-expected-width="50" data-expected-height="50"> + <div style="width:50px; height:50px;"></div> + </td> + <td style="background:hotpink;" data-expected-width="50" data-expected-height="50"> + <div style="width:50px; height:50px;"></div> + </td> + </tr> +</table> +<script src="/resources/testharness.js"></script> +<script src="/resources/testharnessreport.js"></script> +<script src="/resources/check-layout-th.js"></script> +<script> + checkLayout('td') +</script> diff --git a/tests/wpt/web-platform-tests/css/css-tables/colspan-003.html b/tests/wpt/web-platform-tests/css/css-tables/colspan-003.html new file mode 100644 index 00000000000..58e02b92878 --- /dev/null +++ b/tests/wpt/web-platform-tests/css/css-tables/colspan-003.html @@ -0,0 +1,32 @@ +<!DOCTYPE html> +<link rel="author" title="Morten Stenshorne" href="mailto:mstensho@chromium.org"> +<link rel="help" href="https://bugs.chromium.org/p/chromium/issues/detail?id=1430449"> +<link rel="match" href="../reference/ref-filled-green-100px-square.xht"> +<p>There should be five squares.</p> +<table cellspacing="0" cellpadding="0"> + <tr> + <td colspan="10" style="background:blue;" data-expected-width="75" data-expected-height="75"> + <div style="width:50px; height:75px;"></div> + </td> + <td colspan="10" style="background:green;" data-expected-width="75" data-expected-height="75"> + <div style="width:50px; height:75px;"></div> + </td> + </tr> + <tr> + <td style="background:black;" data-expected-width="50" data-expected-height="50"> + <div style="width:50px; height:50px;"></div> + </td> + <td colspan="18" style="background:lime;" data-expected-width="50" data-expected-height="50"> + <div style="width:50px; height:50px;"></div> + </td> + <td style="background:hotpink;" data-expected-width="50" data-expected-height="50"> + <div style="width:50px; height:50px;"></div> + </td> + </tr> +</table> +<script src="/resources/testharness.js"></script> +<script src="/resources/testharnessreport.js"></script> +<script src="/resources/check-layout-th.js"></script> +<script> + checkLayout('td') +</script> diff --git a/tests/wpt/web-platform-tests/css/css-tables/colspan-004.html b/tests/wpt/web-platform-tests/css/css-tables/colspan-004.html new file mode 100644 index 00000000000..cbe7f96ec2c --- /dev/null +++ b/tests/wpt/web-platform-tests/css/css-tables/colspan-004.html @@ -0,0 +1,20 @@ +<!DOCTYPE html> +<link rel="author" title="Morten Stenshorne" href="mailto:mstensho@chromium.org"> +<link rel="help" href="https://bugs.chromium.org/p/chromium/issues/detail?id=1430449"> +<link rel="match" href="../reference/ref-filled-green-100px-square.xht"> +<p>Test passes if there is a filled green square and <strong>no red</strong>.</p> +<div style="width:100px; height:100px; background:red;"> + <table style="margin-left:-5px; width:110px;" cellspacing="0" cellpadding="0"> + <tr> + <td colspan="2" style="width:100px;"></td> + <td colspan="2"></td> + </tr> + <tr> + <td style="width:5px;"></td> + <td colspan="2" style="background:green;"> + <div style="height:100px;"></div> + </td> + <td style="width:5px;"></td> + </tr> + </table> +</div> diff --git a/tests/wpt/web-platform-tests/css/css-text/parsing/white-space-collapse-computed.html b/tests/wpt/web-platform-tests/css/css-text/parsing/white-space-collapse-computed.html new file mode 100644 index 00000000000..506e257cbe7 --- /dev/null +++ b/tests/wpt/web-platform-tests/css/css-text/parsing/white-space-collapse-computed.html @@ -0,0 +1,21 @@ +<!DOCTYPE html> +<html> +<head> +<meta charset="utf-8"> +<title>CSS Text: getComputedStyle().whiteSpace</title> +<link rel="help" href="https://www.w3.org/TR/css-text-3/#propdef-white-space"> +<meta name="assert" content="white-space computed value is specified keyword."> +<script src="/resources/testharness.js"></script> +<script src="/resources/testharnessreport.js"></script> +<script src="/css/support/computed-testcommon.js"></script> +</head> +<body> +<div id="target"></div> +<script> +test_computed_value("white-space-collapse", "collapse"); +test_computed_value("white-space-collapse", "preserve"); +test_computed_value("white-space-collapse", "preserve-breaks"); +test_computed_value("white-space-collapse", "break-spaces"); +</script> +</body> +</html> diff --git a/tests/wpt/web-platform-tests/css/css-text/parsing/white-space-collapse-invalid copy.html b/tests/wpt/web-platform-tests/css/css-text/parsing/white-space-collapse-invalid copy.html new file mode 100644 index 00000000000..6c18ecec21c --- /dev/null +++ b/tests/wpt/web-platform-tests/css/css-text/parsing/white-space-collapse-invalid copy.html @@ -0,0 +1,23 @@ +<!DOCTYPE html> +<html> +<head> +<meta charset="utf-8"> +<title>CSS Text Module Test: parsing text-wrap with invalid values</title> +<link rel="author" title="Tim Nguyen" href="https://github.com/nt1m"> +<link rel="help" href="https://drafts.csswg.org/css-text-4/#text-wrap"> +<meta name="assert" content="text-wrap supports only the grammar 'wrap | nowrap | balance | stable | pretty'."> +<script src="/resources/testharness.js"></script> +<script src="/resources/testharnessreport.js"></script> +<script src="/css/support/parsing-testcommon.js"></script> +</head> +<body> +<script> +test_invalid_value("white-space-collapse", "auto"); +test_invalid_value("white-space-collapse", "none"); +test_invalid_value("white-space-collapse", "collapse preserve"); +test_invalid_value("white-space-collapse", "preserve preserve-breaks"); +test_invalid_value("white-space-collapse", "delicious collapse"); +test_invalid_value("white-space-collapse", "5px"); +</script> +</body> +</html> diff --git a/tests/wpt/web-platform-tests/css/css-text/parsing/white-space-collapse-valid.html b/tests/wpt/web-platform-tests/css/css-text/parsing/white-space-collapse-valid.html new file mode 100644 index 00000000000..2191167527b --- /dev/null +++ b/tests/wpt/web-platform-tests/css/css-text/parsing/white-space-collapse-valid.html @@ -0,0 +1,26 @@ +<!DOCTYPE html> +<html> +<head> +<meta charset="utf-8"> +<title>CSS Text Module Test: parsing text-wrap with valid values</title> +<link rel="author" title="Tim Nguyen" href="https://github.com/nt1m"> +<link rel="help" href="https://drafts.csswg.org/css-text-4/#text-wrap"> +<meta name="assert" content="text-wrap supports the full grammar 'wrap | nowrap | balance | stable | pretty'."> +<script src="/resources/testharness.js"></script> +<script src="/resources/testharnessreport.js"></script> +<script src="/css/support/parsing-testcommon.js"></script> +</head> +<body> +<script> +test_valid_value("white-space-collapse", "collapse"); +test_valid_value("white-space-collapse", "preserve"); +test_valid_value("white-space-collapse", "preserve-breaks"); +test_valid_value("white-space-collapse", "break-spaces"); +test_valid_value("white-space-collapse", "initial"); +test_valid_value("white-space-collapse", "inherit"); +test_valid_value("white-space-collapse", "unset"); +test_valid_value("white-space-collapse", "revert"); +test_valid_value("white-space-collapse", "revert-layer"); +</script> +</body> +</html> diff --git a/tests/wpt/web-platform-tests/css/css-text/white-space/text-wrap-white-space-001.html b/tests/wpt/web-platform-tests/css/css-text/parsing/white-space-shorthand-text-wrap.html similarity index 100% rename from tests/wpt/web-platform-tests/css/css-text/white-space/text-wrap-white-space-001.html rename to tests/wpt/web-platform-tests/css/css-text/parsing/white-space-shorthand-text-wrap.html diff --git a/tests/wpt/web-platform-tests/css/css-text/parsing/white-space-shorthand.html b/tests/wpt/web-platform-tests/css/css-text/parsing/white-space-shorthand.html new file mode 100644 index 00000000000..518f81fdbf2 --- /dev/null +++ b/tests/wpt/web-platform-tests/css/css-text/parsing/white-space-shorthand.html @@ -0,0 +1,49 @@ +<!DOCTYPE html> +<title>CSS Text Module Test: parsing white-space as a shorthand</title> +<link rel="help" href="https://w3c.github.io/csswg-drafts/css-text-4/#propdef-white-space"> +<script src="/resources/testharness.js"></script> +<script src="/resources/testharnessreport.js"></script> +<script src="/css/support/parsing-testcommon.js"></script> +<script src="/css/support/computed-testcommon.js"></script> +<div id="target"></div> +<script> +function test_valid_and_computed_value(property, specified, serialized) { + test_valid_value(property, specified, serialized); + test_computed_value(property, specified, serialized); +} + +test_valid_and_computed_value("white-space", "collapse", "normal"); +test_valid_and_computed_value("white-space", "wrap", "normal"); +test_valid_and_computed_value("white-space", "collapse wrap", "normal"); +test_valid_and_computed_value("white-space", "wrap collapse", "normal"); + +test_valid_and_computed_value("white-space", "preserve nowrap", "pre"); +test_valid_and_computed_value("white-space", "nowrap preserve", "pre"); + +test_valid_and_computed_value("white-space", "nowrap", "nowrap"); +test_valid_and_computed_value("white-space", "collapse nowrap", "nowrap"); +test_valid_and_computed_value("white-space", "nowrap collapse", "nowrap"); + +test_valid_and_computed_value("white-space", "preserve", "pre-wrap"); +test_valid_and_computed_value("white-space", "preserve wrap", "pre-wrap"); +test_valid_and_computed_value("white-space", "wrap preserve", "pre-wrap"); + +test_valid_and_computed_value("white-space", "break-spaces", "break-spaces"); +test_valid_and_computed_value("white-space", "break-spaces wrap", "break-spaces"); +test_valid_and_computed_value("white-space", "wrap break-spaces", "break-spaces"); + +test_valid_and_computed_value("white-space", "preserve-breaks", "pre-line"); +test_valid_and_computed_value("white-space", "preserve-breaks wrap", "pre-line"); +test_valid_and_computed_value("white-space", "wrap preserve-breaks", "pre-line"); + +// Combinations of existing values that are not pre-defined. +test_valid_and_computed_value("white-space", "preserve-breaks nowrap", "preserve-breaks nowrap"); +test_valid_and_computed_value("white-space", "nowrap preserve-breaks", "preserve-breaks nowrap"); + +// Values not used in the pre-defined set. +test_valid_and_computed_value("white-space", "balance", "balance"); +test_valid_and_computed_value("white-space", "collapse balance", "balance"); +test_valid_and_computed_value("white-space", "balance collapse", "balance"); +test_valid_and_computed_value("white-space", "preserve balance", "preserve balance"); +test_valid_and_computed_value("white-space", "balance preserve", "preserve balance"); +</script> diff --git a/tests/wpt/web-platform-tests/css/css-text/text-align/text-align-last-015-ref.html b/tests/wpt/web-platform-tests/css/css-text/text-align/text-align-last-015-ref.html new file mode 100644 index 00000000000..75fc7d22c66 --- /dev/null +++ b/tests/wpt/web-platform-tests/css/css-text/text-align/text-align-last-015-ref.html @@ -0,0 +1,21 @@ +<!DOCTYPE html> +<meta charset="utf-8"> +<title>CSS Text Reference: text-align-last applied to last line in the second column</title> +<link rel="author" title="Ting-Yu Lin" href="mailto:tlin@mozilla.com"> +<link rel="author" title="Mozilla" href="https://www.mozilla.org/"> +<link rel="stylesheet" type="text/css" href="/fonts/ahem.css"> + +<style> +:root { + font: 25px/1 Ahem; +} +.multicol { + width: 200px; + border: 5px solid orange; +} +</style> + +<div class="multicol"> + <div>ab ab</div> + <div>ab ab</div> +</div> diff --git a/tests/wpt/web-platform-tests/css/css-text/text-align/text-align-last-015.html b/tests/wpt/web-platform-tests/css/css-text/text-align/text-align-last-015.html new file mode 100644 index 00000000000..a0d8fa4df92 --- /dev/null +++ b/tests/wpt/web-platform-tests/css/css-text/text-align/text-align-last-015.html @@ -0,0 +1,29 @@ +<!DOCTYPE html> +<meta charset="utf-8"> +<title>CSS Text Test: text-align-last applied to last line in the second column</title> +<link rel="author" title="Ting-Yu Lin" href="mailto:tlin@mozilla.com"> +<link rel="author" title="Mozilla" href="https://www.mozilla.org/"> +<link rel="help" href="https://drafts.csswg.org/css-text-3/#text-align-last-property"> +<link rel="help" href="https://bugzilla.mozilla.org/show_bug.cgi?id=1817235"> +<link rel="stylesheet" type="text/css" href="/fonts/ahem.css"> +<link rel="match" href="text-align-last-015-ref.html"> + +<style> +:root { + font: 25px/1 Ahem; +} +.multicol { + width: 200px; + column-count: 2; + column-gap: 0; + border: 5px solid orange; +} +.multicol > div { + text-align: start; + text-align-last: end; +} +</style> + +<div class="multicol"> + <div>ab ab ab ab</div> +</div> diff --git a/tests/wpt/web-platform-tests/css/css-text/white-space/pre-wrap-align-center-001.html b/tests/wpt/web-platform-tests/css/css-text/white-space/pre-wrap-align-center-001.html new file mode 100644 index 00000000000..0d923665b24 --- /dev/null +++ b/tests/wpt/web-platform-tests/css/css-text/white-space/pre-wrap-align-center-001.html @@ -0,0 +1,28 @@ +<!DOCTYPE html> +<html> +<head> +<meta charset="utf-8"> +<title>CSS Text test: white-space:pre-wrap vs text-align</title> +<link rel="author" title="Jonathan Kew" href="mailto:jkew@mozilla.com"> +<link rel="help" href="https://drafts.csswg.org/css-text-3/#white-space-phase-2"> +<meta name="assert" content="white-space at end of line must hang"> +<link rel="match" href="reference/pre-wrap-align-center-001-ref.html"> +<link rel="stylesheet" type="text/css" href="/fonts/ahem.css"> +<style> +.test { + font: 20px Ahem, monospace; + width: 15ch; + border: 1px solid gray; + padding: 5px; + white-space: pre-wrap; + text-align: center; +} +</style> +</head> + +<p>The text on each line should be neatly centered:</p> + +<div class=test>one two three four five +six seven eight nine ten. +un deux trois quatre cinq +six sept huit neuf dix</div> diff --git a/tests/wpt/web-platform-tests/css/css-text/white-space/pre-wrap-align-center-002.html b/tests/wpt/web-platform-tests/css/css-text/white-space/pre-wrap-align-center-002.html new file mode 100644 index 00000000000..9e28158fdc7 --- /dev/null +++ b/tests/wpt/web-platform-tests/css/css-text/white-space/pre-wrap-align-center-002.html @@ -0,0 +1,28 @@ +<!DOCTYPE html> +<html> +<head> +<meta charset="utf-8"> +<title>CSS Text test: white-space:pre-wrap vs text-align</title> +<link rel="author" title="Jonathan Kew" href="mailto:jkew@mozilla.com"> +<link rel="help" href="https://drafts.csswg.org/css-text-3/#white-space-phase-2"> +<meta name="assert" content="white-space at end of line must hang"> +<link rel="match" href="reference/pre-wrap-align-center-002-ref.html"> +<link rel="stylesheet" type="text/css" href="/fonts/ahem.css"> +<style> +.test { + font: 20px Ahem, monospace; + width: 15ch; + border: 1px solid gray; + padding: 5px; + white-space: pre-wrap; + text-align: center; +} +</style> +</head> + +<p>The text on each line should be neatly centered:</p> + +<div class=test dir=rtl>one two three four five +six seven eight nine ten. +un deux trois quatre cinq +six sept huit neuf dix</div> diff --git a/tests/wpt/web-platform-tests/css/css-text/white-space/pre-wrap-align-center-003.html b/tests/wpt/web-platform-tests/css/css-text/white-space/pre-wrap-align-center-003.html new file mode 100644 index 00000000000..8225e80fe01 --- /dev/null +++ b/tests/wpt/web-platform-tests/css/css-text/white-space/pre-wrap-align-center-003.html @@ -0,0 +1,29 @@ +<!DOCTYPE html> +<html> +<head> +<meta charset="utf-8"> +<title>CSS Text test: white-space:pre-wrap vs text-align</title> +<link rel="author" title="Jonathan Kew" href="mailto:jkew@mozilla.com"> +<link rel="help" href="https://drafts.csswg.org/css-text-3/#white-space-phase-2"> +<meta name="assert" content="white-space at end of line must hang"> +<link rel="match" href="reference/pre-wrap-align-center-003-ref.html"> +<link rel="stylesheet" type="text/css" href="/fonts/ahem.css"> +<style> +.test { + font: 20px Ahem, monospace; + width: 15ch; + border: 1px solid gray; + padding: 5px; + white-space: pre-wrap; + text-align: center; + unicode-bidi: bidi-override; +} +</style> +</head> + +<p>The text on each line should be neatly centered:</p> + +<div class=test dir=rtl>one two three four five +six seven eight nine ten. +un deux trois quatre cinq +six sept huit neuf dix</div> diff --git a/tests/wpt/web-platform-tests/css/css-text/white-space/pre-wrap-align-end-001.html b/tests/wpt/web-platform-tests/css/css-text/white-space/pre-wrap-align-end-001.html new file mode 100644 index 00000000000..3d002c20df6 --- /dev/null +++ b/tests/wpt/web-platform-tests/css/css-text/white-space/pre-wrap-align-end-001.html @@ -0,0 +1,28 @@ +<!DOCTYPE html> +<html> +<head> +<meta charset="utf-8"> +<title>CSS Text test: white-space:pre-wrap vs text-align</title> +<link rel="author" title="Jonathan Kew" href="mailto:jkew@mozilla.com"> +<link rel="help" href="https://drafts.csswg.org/css-text-3/#white-space-phase-2"> +<meta name="assert" content="white-space at end of line must hang"> +<link rel="match" href="reference/pre-wrap-align-right-001-ref.html"> +<link rel="stylesheet" type="text/css" href="/fonts/ahem.css"> +<style> +.test { + font: 20px Ahem, monospace; + width: 15ch; + border: 1px solid gray; + padding: 5px; + white-space: pre-wrap; + text-align: end; +} +</style> +</head> + +<p>The text on each line should be neatly right-aligned:</p> + +<div class=test>one two three four five +six seven eight nine ten. +un deux trois quatre cinq +six sept huit neuf dix</div> diff --git a/tests/wpt/web-platform-tests/css/css-text/white-space/pre-wrap-align-end-002.html b/tests/wpt/web-platform-tests/css/css-text/white-space/pre-wrap-align-end-002.html new file mode 100644 index 00000000000..c1bd5902d7e --- /dev/null +++ b/tests/wpt/web-platform-tests/css/css-text/white-space/pre-wrap-align-end-002.html @@ -0,0 +1,28 @@ +<!DOCTYPE html> +<html> +<head> +<meta charset="utf-8"> +<title>CSS Text test: white-space:pre-wrap vs text-align</title> +<link rel="author" title="Jonathan Kew" href="mailto:jkew@mozilla.com"> +<link rel="help" href="https://drafts.csswg.org/css-text-3/#white-space-phase-2"> +<meta name="assert" content="white-space at end of line must hang"> +<link rel="match" href="reference/pre-wrap-align-left-002-ref.html"> +<link rel="stylesheet" type="text/css" href="/fonts/ahem.css"> +<style> +.test { + font: 20px Ahem, monospace; + width: 15ch; + border: 1px solid gray; + padding: 5px; + white-space: pre-wrap; + text-align: end; +} +</style> +</head> + +<p>The text on each line should be neatly left-aligned:</p> + +<div class=test dir=rtl>one two three four five +six seven eight nine ten. +un deux trois quatre cinq +six sept huit neuf dix</div> diff --git a/tests/wpt/web-platform-tests/css/css-text/white-space/pre-wrap-align-end-003.html b/tests/wpt/web-platform-tests/css/css-text/white-space/pre-wrap-align-end-003.html new file mode 100644 index 00000000000..72530985f3a --- /dev/null +++ b/tests/wpt/web-platform-tests/css/css-text/white-space/pre-wrap-align-end-003.html @@ -0,0 +1,29 @@ +<!DOCTYPE html> +<html> +<head> +<meta charset="utf-8"> +<title>CSS Text test: white-space:pre-wrap vs text-align</title> +<link rel="author" title="Jonathan Kew" href="mailto:jkew@mozilla.com"> +<link rel="help" href="https://drafts.csswg.org/css-text-3/#white-space-phase-2"> +<meta name="assert" content="white-space at end of line must hang"> +<link rel="match" href="reference/pre-wrap-align-left-003-ref.html"> +<link rel="stylesheet" type="text/css" href="/fonts/ahem.css"> +<style> +.test { + font: 20px Ahem, monospace; + width: 15ch; + border: 1px solid gray; + padding: 5px; + white-space: pre-wrap; + text-align: end; + unicode-bidi: bidi-override; +} +</style> +</head> + +<p>The text on each line should be neatly left-aligned:</p> + +<div class=test dir=rtl>one two three four five +six seven eight nine ten. +un deux trois quatre cinq +six sept huit neuf dix</div> diff --git a/tests/wpt/web-platform-tests/css/css-text/white-space/pre-wrap-align-left-001.html b/tests/wpt/web-platform-tests/css/css-text/white-space/pre-wrap-align-left-001.html new file mode 100644 index 00000000000..a6a286b9c4f --- /dev/null +++ b/tests/wpt/web-platform-tests/css/css-text/white-space/pre-wrap-align-left-001.html @@ -0,0 +1,28 @@ +<!DOCTYPE html> +<html> +<head> +<meta charset="utf-8"> +<title>CSS Text test: white-space:pre-wrap vs text-align</title> +<link rel="author" title="Jonathan Kew" href="mailto:jkew@mozilla.com"> +<link rel="help" href="https://drafts.csswg.org/css-text-3/#white-space-phase-2"> +<meta name="assert" content="white-space at end of line must hang"> +<link rel="match" href="reference/pre-wrap-align-left-001-ref.html"> +<link rel="stylesheet" type="text/css" href="/fonts/ahem.css"> +<style> +.test { + font: 20px Ahem, monospace; + width: 15ch; + border: 1px solid gray; + padding: 5px; + white-space: pre-wrap; + text-align: left; +} +</style> +</head> + +<p>The text on each line should be neatly left-aligned:</p> + +<div class=test>one two three four five +six seven eight nine ten. +un deux trois quatre cinq +six sept huit neuf dix</div> diff --git a/tests/wpt/web-platform-tests/css/css-text/white-space/pre-wrap-align-left-002.html b/tests/wpt/web-platform-tests/css/css-text/white-space/pre-wrap-align-left-002.html new file mode 100644 index 00000000000..0671b0e7eb1 --- /dev/null +++ b/tests/wpt/web-platform-tests/css/css-text/white-space/pre-wrap-align-left-002.html @@ -0,0 +1,28 @@ +<!DOCTYPE html> +<html> +<head> +<meta charset="utf-8"> +<title>CSS Text test: white-space:pre-wrap vs text-align</title> +<link rel="author" title="Jonathan Kew" href="mailto:jkew@mozilla.com"> +<link rel="help" href="https://drafts.csswg.org/css-text-3/#white-space-phase-2"> +<meta name="assert" content="white-space at end of line must hang"> +<link rel="match" href="reference/pre-wrap-align-left-002-ref.html"> +<link rel="stylesheet" type="text/css" href="/fonts/ahem.css"> +<style> +.test { + font: 20px Ahem, monospace; + width: 15ch; + border: 1px solid gray; + padding: 5px; + white-space: pre-wrap; + text-align: left; +} +</style> +</head> + +<p>The text on each line should be neatly left-aligned:</p> + +<div class=test dir=rtl>one two three four five +six seven eight nine ten. +un deux trois quatre cinq +six sept huit neuf dix</div> diff --git a/tests/wpt/web-platform-tests/css/css-text/white-space/pre-wrap-align-left-003.html b/tests/wpt/web-platform-tests/css/css-text/white-space/pre-wrap-align-left-003.html new file mode 100644 index 00000000000..bdef8ada0bf --- /dev/null +++ b/tests/wpt/web-platform-tests/css/css-text/white-space/pre-wrap-align-left-003.html @@ -0,0 +1,29 @@ +<!DOCTYPE html> +<html> +<head> +<meta charset="utf-8"> +<title>CSS Text test: white-space:pre-wrap vs text-align</title> +<link rel="author" title="Jonathan Kew" href="mailto:jkew@mozilla.com"> +<link rel="help" href="https://drafts.csswg.org/css-text-3/#white-space-phase-2"> +<meta name="assert" content="white-space at end of line must hang"> +<link rel="match" href="reference/pre-wrap-align-left-003-ref.html"> +<link rel="stylesheet" type="text/css" href="/fonts/ahem.css"> +<style> +.test { + font: 20px Ahem, monospace; + width: 15ch; + border: 1px solid gray; + padding: 5px; + white-space: pre-wrap; + text-align: left; + unicode-bidi: bidi-override; +} +</style> +</head> + +<p>The text on each line should be neatly left-aligned:</p> + +<div class=test dir=rtl>one two three four five +six seven eight nine ten. +un deux trois quatre cinq +six sept huit neuf dix</div> diff --git a/tests/wpt/web-platform-tests/css/css-text/white-space/pre-wrap-align-right-001.html b/tests/wpt/web-platform-tests/css/css-text/white-space/pre-wrap-align-right-001.html new file mode 100644 index 00000000000..878b297df44 --- /dev/null +++ b/tests/wpt/web-platform-tests/css/css-text/white-space/pre-wrap-align-right-001.html @@ -0,0 +1,28 @@ +<!DOCTYPE html> +<html> +<head> +<meta charset="utf-8"> +<title>CSS Text test: white-space:pre-wrap vs text-align</title> +<link rel="author" title="Jonathan Kew" href="mailto:jkew@mozilla.com"> +<link rel="help" href="https://drafts.csswg.org/css-text-3/#white-space-phase-2"> +<meta name="assert" content="white-space at end of line must hang"> +<link rel="match" href="reference/pre-wrap-align-right-001-ref.html"> +<link rel="stylesheet" type="text/css" href="/fonts/ahem.css"> +<style> +.test { + font: 20px Ahem, monospace; + width: 15ch; + border: 1px solid gray; + padding: 5px; + white-space: pre-wrap; + text-align: right; +} +</style> +</head> + +<p>The text on each line should be neatly right-aligned:</p> + +<div class=test>one two three four five +six seven eight nine ten. +un deux trois quatre cinq +six sept huit neuf dix</div> diff --git a/tests/wpt/web-platform-tests/css/css-text/white-space/pre-wrap-align-right-002.html b/tests/wpt/web-platform-tests/css/css-text/white-space/pre-wrap-align-right-002.html new file mode 100644 index 00000000000..0c13f9ca182 --- /dev/null +++ b/tests/wpt/web-platform-tests/css/css-text/white-space/pre-wrap-align-right-002.html @@ -0,0 +1,28 @@ +<!DOCTYPE html> +<html> +<head> +<meta charset="utf-8"> +<title>CSS Text test: white-space:pre-wrap vs text-align</title> +<link rel="author" title="Jonathan Kew" href="mailto:jkew@mozilla.com"> +<link rel="help" href="https://drafts.csswg.org/css-text-3/#white-space-phase-2"> +<meta name="assert" content="white-space at end of line must hang"> +<link rel="match" href="reference/pre-wrap-align-right-002-ref.html"> +<link rel="stylesheet" type="text/css" href="/fonts/ahem.css"> +<style> +.test { + font: 20px Ahem, monospace; + width: 15ch; + border: 1px solid gray; + padding: 5px; + white-space: pre-wrap; + text-align: right; +} +</style> +</head> + +<p>The text on each line should be neatly right-aligned:</p> + +<div class=test dir=rtl>one two three four five +six seven eight nine ten. +un deux trois quatre cinq +six sept huit neuf dix</div> diff --git a/tests/wpt/web-platform-tests/css/css-text/white-space/pre-wrap-align-right-003.html b/tests/wpt/web-platform-tests/css/css-text/white-space/pre-wrap-align-right-003.html new file mode 100644 index 00000000000..e3cae167204 --- /dev/null +++ b/tests/wpt/web-platform-tests/css/css-text/white-space/pre-wrap-align-right-003.html @@ -0,0 +1,29 @@ +<!DOCTYPE html> +<html> +<head> +<meta charset="utf-8"> +<title>CSS Text test: white-space:pre-wrap vs text-align</title> +<link rel="author" title="Jonathan Kew" href="mailto:jkew@mozilla.com"> +<link rel="help" href="https://drafts.csswg.org/css-text-3/#white-space-phase-2"> +<meta name="assert" content="white-space at end of line must hang"> +<link rel="match" href="reference/pre-wrap-align-right-003-ref.html"> +<link rel="stylesheet" type="text/css" href="/fonts/ahem.css"> +<style> +.test { + font: 20px Ahem, monospace; + width: 15ch; + border: 1px solid gray; + padding: 5px; + white-space: pre-wrap; + text-align: right; + unicode-bidi: bidi-override; +} +</style> +</head> + +<p>The text on each line should be neatly right-aligned:</p> + +<div class=test dir=rtl>one two three four five +six seven eight nine ten. +un deux trois quatre cinq +six sept huit neuf dix</div> diff --git a/tests/wpt/web-platform-tests/css/css-text/white-space/pre-wrap-align-start-001.html b/tests/wpt/web-platform-tests/css/css-text/white-space/pre-wrap-align-start-001.html new file mode 100644 index 00000000000..c9b884e892d --- /dev/null +++ b/tests/wpt/web-platform-tests/css/css-text/white-space/pre-wrap-align-start-001.html @@ -0,0 +1,28 @@ +<!DOCTYPE html> +<html> +<head> +<meta charset="utf-8"> +<title>CSS Text test: white-space:pre-wrap vs text-align</title> +<link rel="author" title="Jonathan Kew" href="mailto:jkew@mozilla.com"> +<link rel="help" href="https://drafts.csswg.org/css-text-3/#white-space-phase-2"> +<meta name="assert" content="white-space at end of line must hang"> +<link rel="match" href="reference/pre-wrap-align-left-001-ref.html"> +<link rel="stylesheet" type="text/css" href="/fonts/ahem.css"> +<style> +.test { + font: 20px Ahem, monospace; + width: 15ch; + border: 1px solid gray; + padding: 5px; + white-space: pre-wrap; + text-align: start; +} +</style> +</head> + +<p>The text on each line should be neatly left-aligned:</p> + +<div class=test>one two three four five +six seven eight nine ten. +un deux trois quatre cinq +six sept huit neuf dix</div> diff --git a/tests/wpt/web-platform-tests/css/css-text/white-space/pre-wrap-align-start-002.html b/tests/wpt/web-platform-tests/css/css-text/white-space/pre-wrap-align-start-002.html new file mode 100644 index 00000000000..e226a19c940 --- /dev/null +++ b/tests/wpt/web-platform-tests/css/css-text/white-space/pre-wrap-align-start-002.html @@ -0,0 +1,28 @@ +<!DOCTYPE html> +<html> +<head> +<meta charset="utf-8"> +<title>CSS Text test: white-space:pre-wrap vs text-align</title> +<link rel="author" title="Jonathan Kew" href="mailto:jkew@mozilla.com"> +<link rel="help" href="https://drafts.csswg.org/css-text-3/#white-space-phase-2"> +<meta name="assert" content="white-space at end of line must hang"> +<link rel="match" href="reference/pre-wrap-align-right-002-ref.html"> +<link rel="stylesheet" type="text/css" href="/fonts/ahem.css"> +<style> +.test { + font: 20px Ahem, monospace; + width: 15ch; + border: 1px solid gray; + padding: 5px; + white-space: pre-wrap; + text-align: start; +} +</style> +</head> + +<p>The text on each line should be neatly right-aligned:</p> + +<div class=test dir=rtl>one two three four five +six seven eight nine ten. +un deux trois quatre cinq +six sept huit neuf dix</div> diff --git a/tests/wpt/web-platform-tests/css/css-text/white-space/pre-wrap-align-start-003.html b/tests/wpt/web-platform-tests/css/css-text/white-space/pre-wrap-align-start-003.html new file mode 100644 index 00000000000..f91b38c6ac1 --- /dev/null +++ b/tests/wpt/web-platform-tests/css/css-text/white-space/pre-wrap-align-start-003.html @@ -0,0 +1,29 @@ +<!DOCTYPE html> +<html> +<head> +<meta charset="utf-8"> +<title>CSS Text test: white-space:pre-wrap vs text-align</title> +<link rel="author" title="Jonathan Kew" href="mailto:jkew@mozilla.com"> +<link rel="help" href="https://drafts.csswg.org/css-text-3/#white-space-phase-2"> +<meta name="assert" content="white-space at end of line must hang"> +<link rel="match" href="reference/pre-wrap-align-right-003-ref.html"> +<link rel="stylesheet" type="text/css" href="/fonts/ahem.css"> +<style> +.test { + font: 20px Ahem, monospace; + width: 15ch; + border: 1px solid gray; + padding: 5px; + white-space: pre-wrap; + text-align: start; + unicode-bidi: bidi-override; +} +</style> +</head> + +<p>The text on each line should be neatly right-aligned:</p> + +<div class=test dir=rtl>one two three four five +six seven eight nine ten. +un deux trois quatre cinq +six sept huit neuf dix</div> diff --git a/tests/wpt/web-platform-tests/css/css-text/white-space/reference/pre-wrap-align-center-001-ref.html b/tests/wpt/web-platform-tests/css/css-text/white-space/reference/pre-wrap-align-center-001-ref.html new file mode 100644 index 00000000000..c06d4ce4ca1 --- /dev/null +++ b/tests/wpt/web-platform-tests/css/css-text/white-space/reference/pre-wrap-align-center-001-ref.html @@ -0,0 +1,28 @@ +<!DOCTYPE html> +<html> +<head> +<meta charset="utf-8"> +<title>CSS Text reference</title> +<link rel="stylesheet" type="text/css" href="/fonts/ahem.css"> +<style> +.test { + font: 20px Ahem, monospace; + width: 15ch; + border: 1px solid gray; + padding: 5px; + white-space: normal; + text-align: center; +} +</style> +</head> + +<p>The text on each line should be neatly centered:</p> + +<div class=test>one two three<br> +four five<br> +six seven eight<br> +nine ten.<br> +un deux trois<br> +quatre cinq<br> +six sept huit<br> +neuf dix</div> diff --git a/tests/wpt/web-platform-tests/css/css-text/white-space/reference/pre-wrap-align-center-002-ref.html b/tests/wpt/web-platform-tests/css/css-text/white-space/reference/pre-wrap-align-center-002-ref.html new file mode 100644 index 00000000000..ea211e2fa07 --- /dev/null +++ b/tests/wpt/web-platform-tests/css/css-text/white-space/reference/pre-wrap-align-center-002-ref.html @@ -0,0 +1,29 @@ +<!DOCTYPE html> +<html> +<head> +<meta charset="utf-8"> +<title>CSS Text reference</title> +<link rel="stylesheet" type="text/css" href="/fonts/ahem.css"> +<style> +.test { + font: 20px Ahem, monospace; + width: 15ch; + border: 1px solid gray; + padding: 5px; + white-space: normal; + text-align: center; +} +</style> +</head> + +<p>The text on each line should be neatly centered:</p> + +<!-- testcase has dir=rtl --> +<div class=test>one two three<br> +four five<br> +six seven eight<br> +.nine ten<br> +un deux trois<br> +quatre cinq<br> +six sept huit<br> +neuf dix</div> diff --git a/tests/wpt/web-platform-tests/css/css-text/white-space/reference/pre-wrap-align-center-003-ref.html b/tests/wpt/web-platform-tests/css/css-text/white-space/reference/pre-wrap-align-center-003-ref.html new file mode 100644 index 00000000000..1970d9045b4 --- /dev/null +++ b/tests/wpt/web-platform-tests/css/css-text/white-space/reference/pre-wrap-align-center-003-ref.html @@ -0,0 +1,29 @@ +<!DOCTYPE html> +<html> +<head> +<meta charset="utf-8"> +<title>CSS Text reference</title> +<link rel="stylesheet" type="text/css" href="/fonts/ahem.css"> +<style> +.test { + font: 20px Ahem, monospace; + width: 15ch; + border: 1px solid gray; + padding: 5px; + white-space: normal; + text-align: center; +} +</style> +</head> + +<p>The text on each line should be neatly centered:</p> + +<!-- testcase has dir=rtl and bidi-override --> +<div class=test>eerht owt eno<br> +evif ruof<br> +thgie neves xis<br> +.net enin<br> +siort xued nu<br> +qnic ertauq<br> +tiuh tpes xis<br> +xid fuen</div> diff --git a/tests/wpt/web-platform-tests/css/css-text/white-space/reference/pre-wrap-align-left-001-ref.html b/tests/wpt/web-platform-tests/css/css-text/white-space/reference/pre-wrap-align-left-001-ref.html new file mode 100644 index 00000000000..ee7153726d9 --- /dev/null +++ b/tests/wpt/web-platform-tests/css/css-text/white-space/reference/pre-wrap-align-left-001-ref.html @@ -0,0 +1,28 @@ +<!DOCTYPE html> +<html> +<head> +<meta charset="utf-8"> +<title>CSS Text reference</title> +<link rel="stylesheet" type="text/css" href="/fonts/ahem.css"> +<style> +.test { + font: 20px Ahem, monospace; + width: 15ch; + border: 1px solid gray; + padding: 5px; + white-space: normal; + text-align: left; +} +</style> +</head> + +<p>The text on each line should be neatly left-aligned:</p> + +<div class=test>one two three<br> +four five<br> +six seven eight<br> +nine ten.<br> +un deux trois<br> +quatre cinq<br> +six sept huit<br> +neuf dix</div> diff --git a/tests/wpt/web-platform-tests/css/css-text/white-space/reference/pre-wrap-align-left-002-ref.html b/tests/wpt/web-platform-tests/css/css-text/white-space/reference/pre-wrap-align-left-002-ref.html new file mode 100644 index 00000000000..ace8924065c --- /dev/null +++ b/tests/wpt/web-platform-tests/css/css-text/white-space/reference/pre-wrap-align-left-002-ref.html @@ -0,0 +1,29 @@ +<!DOCTYPE html> +<html> +<head> +<meta charset="utf-8"> +<title>CSS Text reference</title> +<link rel="stylesheet" type="text/css" href="/fonts/ahem.css"> +<style> +.test { + font: 20px Ahem, monospace; + width: 15ch; + border: 1px solid gray; + padding: 5px; + white-space: normal; + text-align: left; +} +</style> +</head> + +<p>The text on each line should be neatly left-aligned:</p> + +<!-- testcase has dir=rtl --> +<div class=test>one two three<br> +four five<br> +six seven eight<br> +.nine ten<br> +un deux trois<br> +quatre cinq<br> +six sept huit<br> +neuf dix</div> diff --git a/tests/wpt/web-platform-tests/css/css-text/white-space/reference/pre-wrap-align-left-003-ref.html b/tests/wpt/web-platform-tests/css/css-text/white-space/reference/pre-wrap-align-left-003-ref.html new file mode 100644 index 00000000000..d86c035115f --- /dev/null +++ b/tests/wpt/web-platform-tests/css/css-text/white-space/reference/pre-wrap-align-left-003-ref.html @@ -0,0 +1,29 @@ +<!DOCTYPE html> +<html> +<head> +<meta charset="utf-8"> +<title>CSS Text reference</title> +<link rel="stylesheet" type="text/css" href="/fonts/ahem.css"> +<style> +.test { + font: 20px Ahem, monospace; + width: 15ch; + border: 1px solid gray; + padding: 5px; + white-space: normal; + text-align: left; +} +</style> +</head> + +<p>The text on each line should be neatly left-aligned:</p> + +<!-- testcase has dir=rtl and bidi-override --> +<div class=test>eerht owt eno<br> +evif ruof<br> +thgie neves xis<br> +.net enin<br> +siort xued nu<br> +qnic ertauq<br> +tiuh tpes xis<br> +xid fuen</div> diff --git a/tests/wpt/web-platform-tests/css/css-text/white-space/reference/pre-wrap-align-right-001-ref.html b/tests/wpt/web-platform-tests/css/css-text/white-space/reference/pre-wrap-align-right-001-ref.html new file mode 100644 index 00000000000..45782ddceae --- /dev/null +++ b/tests/wpt/web-platform-tests/css/css-text/white-space/reference/pre-wrap-align-right-001-ref.html @@ -0,0 +1,28 @@ +<!DOCTYPE html> +<html> +<head> +<meta charset="utf-8"> +<title>CSS Text reference</title> +<link rel="stylesheet" type="text/css" href="/fonts/ahem.css"> +<style> +.test { + font: 20px Ahem, monospace; + width: 15ch; + border: 1px solid gray; + padding: 5px; + white-space: normal; + text-align: right; +} +</style> +</head> + +<p>The text on each line should be neatly right-aligned:</p> + +<div class=test>one two three<br> +four five<br> +six seven eight<br> +nine ten.<br> +un deux trois<br> +quatre cinq<br> +six sept huit<br> +neuf dix</div> diff --git a/tests/wpt/web-platform-tests/css/css-text/white-space/reference/pre-wrap-align-right-002-ref.html b/tests/wpt/web-platform-tests/css/css-text/white-space/reference/pre-wrap-align-right-002-ref.html new file mode 100644 index 00000000000..45f59e3b5fb --- /dev/null +++ b/tests/wpt/web-platform-tests/css/css-text/white-space/reference/pre-wrap-align-right-002-ref.html @@ -0,0 +1,29 @@ +<!DOCTYPE html> +<html> +<head> +<meta charset="utf-8"> +<title>CSS Text reference</title> +<link rel="stylesheet" type="text/css" href="/fonts/ahem.css"> +<style> +.test { + font: 20px Ahem, monospace; + width: 15ch; + border: 1px solid gray; + padding: 5px; + white-space: normal; + text-align: right; +} +</style> +</head> + +<p>The text on each line should be neatly right-aligned:</p> + +<!-- testcase has dir=rtl --> +<div class=test>one two three<br> +four five<br> +six seven eight<br> +.nine ten<br> +un deux trois<br> +quatre cinq<br> +six sept huit<br> +neuf dix</div> diff --git a/tests/wpt/web-platform-tests/css/css-text/white-space/reference/pre-wrap-align-right-003-ref.html b/tests/wpt/web-platform-tests/css/css-text/white-space/reference/pre-wrap-align-right-003-ref.html new file mode 100644 index 00000000000..4d294b22d33 --- /dev/null +++ b/tests/wpt/web-platform-tests/css/css-text/white-space/reference/pre-wrap-align-right-003-ref.html @@ -0,0 +1,29 @@ +<!DOCTYPE html> +<html> +<head> +<meta charset="utf-8"> +<title>CSS Text reference</title> +<link rel="stylesheet" type="text/css" href="/fonts/ahem.css"> +<style> +.test { + font: 20px Ahem, monospace; + width: 15ch; + border: 1px solid gray; + padding: 5px; + white-space: normal; + text-align: right; +} +</style> +</head> + +<p>The text on each line should be neatly right-aligned:</p> + +<!-- testcase has dir=rtl and bidi-override --> +<div class=test>eerht owt eno<br> +evif ruof<br> +thgie neves xis<br> +.net enin<br> +siort xued nu<br> +qnic ertauq<br> +tiuh tpes xis<br> +xid fuen</div> diff --git a/tests/wpt/web-platform-tests/css/css-transforms/animation/backface-visibility-no-interpolation.html b/tests/wpt/web-platform-tests/css/css-transforms/animation/backface-visibility-no-interpolation.html new file mode 100644 index 00000000000..b7b9f2d5f00 --- /dev/null +++ b/tests/wpt/web-platform-tests/css/css-transforms/animation/backface-visibility-no-interpolation.html @@ -0,0 +1,15 @@ +<!DOCTYPE html> +<link rel=author href="mailto:jarhar@chromium.org"> +<link rel=help href="https://github.com/w3c/csswg-drafts/issues/4441"> +<script src="/resources/testharness.js"></script> +<script src="/resources/testharnessreport.js"></script> +<script src="/css/support/interpolation-testcommon.js"></script> + +<body> +<script> +test_no_interpolation({ + property: 'backface-visibility', + from: 'initial', + to: 'hidden' +}); +</script> diff --git a/tests/wpt/web-platform-tests/css/css-transitions/transition-events-with-document-change.html b/tests/wpt/web-platform-tests/css/css-transitions/transition-events-with-document-change.html new file mode 100644 index 00000000000..90b79f0c1d0 --- /dev/null +++ b/tests/wpt/web-platform-tests/css/css-transitions/transition-events-with-document-change.html @@ -0,0 +1,32 @@ +<!DOCTYPE html> +<title>CSS Transitions: transition events for an element changing document</title> +<link rel="help" href="https://drafts.csswg.org/css-transitions"> +<script src="/resources/testharness.js" type="text/javascript"></script> +<script src="/resources/testharnessreport.js" type="text/javascript"></script> +<div id="target"></div> +<iframe src="about:blank"></iframe> +<script> +promise_test(async () => { + const target = document.getElementById("target"); + target.style.transition = "margin-left 100ms"; + + const transitionMarginLeft = async value => { + getComputedStyle(target).marginLeft; + target.style.marginLeft = value; + await target.getAnimations()[0].ready; + } + + // start an initial transition. + await transitionMarginLeft("100px"); + + // move the target to new frame, this should cancel the transition. + const transitionWasCanceled = new Promise(resolve => target.addEventListener("transitioncancel", resolve, { once: true })); + document.querySelector("iframe").contentDocument.body.appendChild(target); + await transitionWasCanceled; + + // Start a new transition and ensure it triggers a transitionend event. + const transitionEnded = new Promise(resolve => target.addEventListener("transitionend", resolve, { once: true })); + await transitionMarginLeft("0px"); + await transitionEnded; +}, "transition events for an element changing document"); +</script> diff --git a/tests/wpt/web-platform-tests/css/css-ui/animation/appearance-no-interpolation.html b/tests/wpt/web-platform-tests/css/css-ui/animation/appearance-no-interpolation.html new file mode 100644 index 00000000000..5ddfcd4f8d6 --- /dev/null +++ b/tests/wpt/web-platform-tests/css/css-ui/animation/appearance-no-interpolation.html @@ -0,0 +1,15 @@ +<!DOCTYPE html> +<link rel=author href="mailto:jarhar@chromium.org"> +<link rel=help href="https://github.com/w3c/csswg-drafts/issues/4441"> +<script src="/resources/testharness.js"></script> +<script src="/resources/testharnessreport.js"></script> +<script src="/css/support/interpolation-testcommon.js"></script> + +<body> +<script> +test_no_interpolation({ + property: 'appearance', + from: 'initial', + to: 'none' +}); +</script> diff --git a/tests/wpt/web-platform-tests/css/css-ui/animation/cursor-no-interpolation.html b/tests/wpt/web-platform-tests/css/css-ui/animation/cursor-no-interpolation.html new file mode 100644 index 00000000000..8d56dcb83cf --- /dev/null +++ b/tests/wpt/web-platform-tests/css/css-ui/animation/cursor-no-interpolation.html @@ -0,0 +1,15 @@ +<!DOCTYPE html> +<link rel=author href="mailto:jarhar@chromium.org"> +<link rel=help href="https://github.com/w3c/csswg-drafts/issues/4441"> +<script src="/resources/testharness.js"></script> +<script src="/resources/testharnessreport.js"></script> +<script src="/css/support/interpolation-testcommon.js"></script> + +<body> +<script> +test_no_interpolation({ + property: 'cursor', + from: 'initial', + to: 'none' +}); +</script> diff --git a/tests/wpt/web-platform-tests/css/css-ui/appearance-cssom-001.html b/tests/wpt/web-platform-tests/css/css-ui/appearance-cssom-001.html index 2da20a0ac92..36402da51cf 100644 --- a/tests/wpt/web-platform-tests/css/css-ui/appearance-cssom-001.html +++ b/tests/wpt/web-platform-tests/css/css-ui/appearance-cssom-001.html @@ -2,7 +2,7 @@ <title>CSS Basic User Interface Test: appearance CSSOM</title> <link rel="help" href="https://drafts.csswg.org/css-ui-4/#appearance-switching"> <meta name="assert" content="CSSOM for the appearance/-webkit-appearance property is correct."> -<meta name="variant" content=""> +<meta name="variant" content="?include=Invalid"> <meta name="variant" content="?exclude=Invalid"> <script src=/resources/testharness.js></script> <script src=/resources/testharnessreport.js></script> diff --git a/tests/wpt/web-platform-tests/css/css-ui/parsing/outline-valid-mandatory.html b/tests/wpt/web-platform-tests/css/css-ui/parsing/outline-valid-mandatory.html index 3c79f52712c..94d87cb1125 100644 --- a/tests/wpt/web-platform-tests/css/css-ui/parsing/outline-valid-mandatory.html +++ b/tests/wpt/web-platform-tests/css/css-ui/parsing/outline-valid-mandatory.html @@ -7,6 +7,7 @@ <link rel="help" href="https://drafts.csswg.org/css-ui-3/#outline"> <link rel="help" href="https://drafts.csswg.org/cssom/#serializing-css-values"> <meta name="assert" content="outline supports the full grammar '<outline-color> || <outline> || <outline>'."> +<meta name="assert" content="outline serializes in canonical order, with shortest possible serialization."> <script src="/resources/testharness.js"></script> <script src="/resources/testharnessreport.js"></script> <script src="/css/support/parsing-testcommon.js"></script> @@ -16,7 +17,7 @@ test_valid_value("outline", "rgba(10, 20, 30, 0.4)"); test_valid_value("outline", "auto"); -test_valid_value("outline", "none", ["none", "medium"]); // Edge serializes as "invert" +test_valid_value("outline", "none", ["invert", "currentcolor", "none", "medium"]); test_valid_value("outline", "dotted"); test_valid_value("outline", "dashed"); test_valid_value("outline", "solid"); @@ -30,7 +31,7 @@ test_valid_value("outline", "0", "0px"); test_valid_value("outline", "1px"); test_valid_value("outline", "calc(2em + 3ex)"); test_valid_value("outline", "thin"); -test_valid_value("outline", "medium", ["none", "medium"]); // Edge serializes as "invert" +test_valid_value("outline", "medium", ["invert", "currentcolor", "none", "medium"]); test_valid_value("outline", "thick"); test_valid_value("outline", "dashed thin"); diff --git a/tests/wpt/web-platform-tests/css/css-values/calc-infinity-nan-serialize-length.html b/tests/wpt/web-platform-tests/css/css-values/calc-infinity-nan-serialize-length.html index e08e050c6bd..f0ae43679b2 100644 --- a/tests/wpt/web-platform-tests/css/css-values/calc-infinity-nan-serialize-length.html +++ b/tests/wpt/web-platform-tests/css/css-values/calc-infinity-nan-serialize-length.html @@ -51,6 +51,11 @@ var test_map = { "1px * clamp(-Infinity, 0, infinity)" :"calc(0px)", "1px * clamp(-inFinity, infinity, 10)" :"calc(10px)", + + "1 * min(NaN * 1pt, NaN * 1cm)" :"calc(NaN * 1px)", + "1 * max(NaN * 1cm, NaN * 2Q)" :"calc(NaN * 1px)", + "1 * min(NaN * 2px, NaN * 4em)" :"min(NaN * 1px, NaN * 1em)", + "1 * clamp(NaN * 2em, NaN * 4px, NaN * 8pt)" :"clamp(NaN * 1em, NaN * 1px, NaN * 1px)", }; for (var exp in test_map) { diff --git a/tests/wpt/web-platform-tests/css/css-values/getComputedStyle-calc-bg-height-percent-001.html b/tests/wpt/web-platform-tests/css/css-values/getComputedStyle-calc-mixed-units-001.html similarity index 100% rename from tests/wpt/web-platform-tests/css/css-values/getComputedStyle-calc-bg-height-percent-001.html rename to tests/wpt/web-platform-tests/css/css-values/getComputedStyle-calc-mixed-units-001.html diff --git a/tests/wpt/web-platform-tests/css/css-view-transitions/content-with-object-view-box-ref.html b/tests/wpt/web-platform-tests/css/css-view-transitions/content-with-object-view-box-ref.html new file mode 100644 index 00000000000..7aa2014397b --- /dev/null +++ b/tests/wpt/web-platform-tests/css/css-view-transitions/content-with-object-view-box-ref.html @@ -0,0 +1,16 @@ +<!DOCTYPE html> +<title>View transitions: capture elements with object view box on the pseudo (ref)</title> +<link rel="help" href="https://github.com/WICG/view-transitions"> +<link rel="author" href="mailto:vmpstr@chromium.org"> +<style> +body { background: pink } +#target { + position: relative; + top: 93.75px; + left: 71px; + background: green; + width: 143px; + height: 125px; +} +</style> +<div id=target></div> diff --git a/tests/wpt/web-platform-tests/css/css-view-transitions/element-is-grouping-during-animation-ref.html b/tests/wpt/web-platform-tests/css/css-view-transitions/element-is-grouping-during-animation-ref.html new file mode 100644 index 00000000000..38fca3c5288 --- /dev/null +++ b/tests/wpt/web-platform-tests/css/css-view-transitions/element-is-grouping-during-animation-ref.html @@ -0,0 +1,23 @@ +<!DOCTYPE html> +<html> +<title>View transitions: element remains grouping during transition</title> +<link rel="help" href="https://www.w3.org/TR/css-view-transitions-1/"> +<link rel="author" href="mailto:vmpstr@chromium.org"> + +<style> +.parent { + top: 0; + width: 100px; + height: 100px; + position: absolute; + background: green; +} +body { + perspective: 1000px; + height: 500px; + background: pink +} +</style> + +<div class=parent></div> + diff --git a/tests/wpt/web-platform-tests/css/css-view-transitions/element-is-grouping-during-animation.html b/tests/wpt/web-platform-tests/css/css-view-transitions/element-is-grouping-during-animation.html new file mode 100644 index 00000000000..87a35ae9a22 --- /dev/null +++ b/tests/wpt/web-platform-tests/css/css-view-transitions/element-is-grouping-during-animation.html @@ -0,0 +1,72 @@ +<!DOCTYPE html> +<html class=reftest-wait> +<title>View transitions: view transition element remains grouping during animation</title> +<link rel="help" href="https://www.w3.org/TR/css-view-transitions-1/"> +<link rel="author" href="mailto:vmpstr@chromium.org"> +<link rel="match" href="element-is-grouping-during-animation-ref.html"> +<script src="/common/reftest-wait.js"></script> + +<style> +.parent { + top: 0; + width: 100px; + height: 100px; + position: absolute; + background: red; + transform-style: preserve-3d; +} +.named { + view-transition-name: target; +} + +.child { + background: green; + width: 100px; + height: 100px; + top: 0; + left: 0; + position: absolute; + transform: translateZ(-500px); +} + +body { + perspective: 1000px; + height: 500px; +} + +::view-transition-group(root) { + animation-duration: 500s; + opacity: 0; +} +::view-transition-group(target) { + animation-duration: 0s; +} +::view-transition-new(target) { + animation: unset; + opacity: 1; +} +::view-transition-old(target) { + animation: unset; + opacity: 0; +} + +::view-transition { + background: pink; +} +</style> + +<div id=target class="parent named"><div class=child></div></div> + +<script> +function runTest() { + let transition = document.startViewTransition(); + transition.ready.then(() => { + requestAnimationFrame(() => { + target.classList.remove("named"); + requestAnimationFrame(takeScreenshot); + }); + }); +} + +onload = () => requestAnimationFrame(() => requestAnimationFrame(runTest)); +</script> diff --git a/tests/wpt/web-platform-tests/css/css-view-transitions/element-stops-grouping-after-animation-ref.html b/tests/wpt/web-platform-tests/css/css-view-transitions/element-stops-grouping-after-animation-ref.html new file mode 100644 index 00000000000..ccbb794b009 --- /dev/null +++ b/tests/wpt/web-platform-tests/css/css-view-transitions/element-stops-grouping-after-animation-ref.html @@ -0,0 +1,32 @@ +<!DOCTYPE html> +<html> +<title>View transitions: element remains grouping during transition</title> +<link rel="help" href="https://www.w3.org/TR/css-view-transitions-1/"> +<link rel="author" href="mailto:vmpstr@chromium.org"> + +<style> +.parent { + top: 0; + width: 100px; + height: 100px; + position: absolute; + background: blue; + transform-style: preserve-3d; +} +.child { + background: green; + width: 100px; + height: 100px; + top: 0; + left: 0; + position: absolute; + transform: translateZ(-500px); +} +body { + perspective: 1000px; + height: 500px; +} +</style> + +<div class=parent><div class=child></div></div> + diff --git a/tests/wpt/web-platform-tests/css/css-view-transitions/element-stops-grouping-after-animation.html b/tests/wpt/web-platform-tests/css/css-view-transitions/element-stops-grouping-after-animation.html new file mode 100644 index 00000000000..8793313d6dc --- /dev/null +++ b/tests/wpt/web-platform-tests/css/css-view-transitions/element-stops-grouping-after-animation.html @@ -0,0 +1,72 @@ +<!DOCTYPE html> +<html class=reftest-wait> +<title>View transitions: view transition element remains grouping during animation</title> +<link rel="help" href="https://www.w3.org/TR/css-view-transitions-1/"> +<link rel="author" href="mailto:vmpstr@chromium.org"> +<link rel="match" href="element-stops-grouping-after-animation-ref.html"> +<script src="/common/reftest-wait.js"></script> + +<style> +.parent { + top: 0; + width: 100px; + height: 100px; + position: absolute; + background: blue; + transform-style: preserve-3d; +} +.named { + view-transition-name: target; +} + +.child { + background: green; + width: 100px; + height: 100px; + top: 0; + left: 0; + position: absolute; + transform: translateZ(-500px); +} + +body { + perspective: 1000px; + height: 500px; +} + +::view-transition-group(root) { + animation-duration: 50ms; + opacity: 0; +} +::view-transition-group(target) { + animation-duration: 0s; +} +::view-transition-new(target) { + animation: unset; + opacity: 1; +} +::view-transition-old(target) { + animation: unset; + opacity: 0; +} + +::view-transition { + background: pink; +} +</style> + +<div id=target class="parent named"><div class=child></div></div> + +<script> +function runTest() { + let transition = document.startViewTransition(); + transition.ready.then(() => { + requestAnimationFrame(() => { + target.classList.remove("named"); + }); + }); + transition.finished.then(takeScreenshot); +} + +onload = () => requestAnimationFrame(() => requestAnimationFrame(runTest)); +</script> diff --git a/tests/wpt/web-platform-tests/css/css-view-transitions/new-content-changes-overflow-ref.html b/tests/wpt/web-platform-tests/css/css-view-transitions/new-content-changes-overflow-ref.html new file mode 100644 index 00000000000..5f75909e82a --- /dev/null +++ b/tests/wpt/web-platform-tests/css/css-view-transitions/new-content-changes-overflow-ref.html @@ -0,0 +1,27 @@ +<!DOCTYPE html> +<title>View transitions: capture elements and then change overflow (ref)</title> +<link rel="help" href="https://github.com/WICG/view-transitions"> +<link rel="author" href="mailto:vmpstr@chromium.org"> +<style> +body { background: pink } +#target { + position: relative; + background: green; + width: 100px; + height: 100px; + view-transition-name: target; +} +#child { + background: blue; + position: relative; + top: 20px; + left: 30px; + width: 50px; + height: 100px; +} +#child.large { + height: 200px; +} +</style> + +<div id=target><div id=child class=large></div></div> diff --git a/tests/wpt/web-platform-tests/css/css-view-transitions/new-content-changes-overflow.html b/tests/wpt/web-platform-tests/css/css-view-transitions/new-content-changes-overflow.html new file mode 100644 index 00000000000..a8e2fa8c6b0 --- /dev/null +++ b/tests/wpt/web-platform-tests/css/css-view-transitions/new-content-changes-overflow.html @@ -0,0 +1,53 @@ +<!DOCTYPE html> +<meta name="timeout" content="long"> +<html class=reftest-wait> +<title>View transitions: capture elements and then change overflow</title> +<link rel="help" href="https://github.com/WICG/view-transitions"> +<link rel="author" href="mailto:vmpstr@chromium.org"> +<link rel="match" href="new-content-changes-overflow-ref.html"> +<script src="/common/reftest-wait.js"></script> +<style> +#target { + position: relative; + background: green; + width: 100px; + height: 100px; + view-transition-name: target; +} +#child { + background: blue; + position: relative; + top: 20px; + left: 30px; + width: 50px; + height: 100px; +} +#child.large { + height: 200px; +} + +html::view-transition-group(*) { animation-duration: 300s; } +html::view-transition-new(*) { animation: unset; opacity: 1; } +html::view-transition-old(*) { animation: unset; opacity: 0; } +html::view-transition-group(root) { animation: unset; opacity: 0; } +html::view-transition { background: pink; } +</style> + +<div id=target><div id=child></div></div> +<script> +failIfNot(document.startViewTransition, "Missing document.startViewTransition"); + +async function runTest() { + document.startViewTransition().ready.then(() => { + requestAnimationFrame(() => { + requestAnimationFrame(() => { + child.classList.add("large"); + requestAnimationFrame(takeScreenshot); + }); + }); + }); +} +onload = () => requestAnimationFrame(() => requestAnimationFrame(runTest)); +</script> + + diff --git a/tests/wpt/web-platform-tests/css/css-view-transitions/new-content-with-object-view-box.html b/tests/wpt/web-platform-tests/css/css-view-transitions/new-content-with-object-view-box.html new file mode 100644 index 00000000000..47917e90f30 --- /dev/null +++ b/tests/wpt/web-platform-tests/css/css-view-transitions/new-content-with-object-view-box.html @@ -0,0 +1,42 @@ +<!DOCTYPE html> +<meta name="timeout" content="long"> +<html class=reftest-wait> +<title>View transitions: capture elements with object view box on the pseudo</title> +<link rel="help" href="https://github.com/WICG/view-transitions"> +<link rel="author" href="mailto:vmpstr@chromium.org"> +<link rel="match" href="content-with-object-view-box-ref.html"> +<script src="/common/reftest-wait.js"></script> +<style> +#target { + position: relative; + top: 100px; + left: 100px; + background: green; + width: 100px; + height: 100px; + view-transition-name: target; +} + +html::view-transition-group(*) { animation-duration: 300s; } +html::view-transition-new(*) { + object-view-box: inset(5px 10px 15px 20px); + /* Set explicit width height so that we can check the object view box math */ + width: 100px; + height: 100px; + animation: unset; + opacity: 1; +} +html::view-transition-old(*) { animation: unset; opacity: 0; } +html::view-transition-group(root) { animation: unset; opacity: 0; } +html::view-transition { background: pink; } +</style> +<div id=target></div> +<script> +failIfNot(document.startViewTransition, "Missing document.startViewTransition"); + +async function runTest() { + document.startViewTransition().ready.then(takeScreenshot); +} +onload = () => requestAnimationFrame(() => requestAnimationFrame(runTest)); +</script> + diff --git a/tests/wpt/web-platform-tests/css/css-view-transitions/offscreen-element-modified-before-coming-onscreen-ref.html b/tests/wpt/web-platform-tests/css/css-view-transitions/offscreen-element-modified-before-coming-onscreen-ref.html new file mode 100644 index 00000000000..171f9995540 --- /dev/null +++ b/tests/wpt/web-platform-tests/css/css-view-transitions/offscreen-element-modified-before-coming-onscreen-ref.html @@ -0,0 +1,20 @@ +<!DOCTYPE html> +<html> +<title>View transitions: new element is modified while offscren and brought onscreen using pseudo (ref)</title> +<link rel="help" href="https://github.com/WICG/view-transitions"> +<link rel="author" href="mailto:khushalsagar@chromium.org"> + +<style> +#target { + width: 100px; + height: 100px; + view-transition-name: target; + position: fixed; + background: blue; + left: 0; + top: 0; +} +</style> + +<div id="target" class="target"> + diff --git a/tests/wpt/web-platform-tests/css/css-view-transitions/offscreen-element-modified-before-coming-onscreen.html b/tests/wpt/web-platform-tests/css/css-view-transitions/offscreen-element-modified-before-coming-onscreen.html new file mode 100644 index 00000000000..77c35ab5834 --- /dev/null +++ b/tests/wpt/web-platform-tests/css/css-view-transitions/offscreen-element-modified-before-coming-onscreen.html @@ -0,0 +1,73 @@ +<!DOCTYPE html> +<html class=reftest-wait> +<title>View transitions: new element is modified while offscren and brought onscreen using pseudo</title> +<link rel="help" href="https://github.com/WICG/view-transitions"> +<link rel="author" href="mailto:khushalsagar@chromium.org"> +<link rel="match" href="offscreen-element-modified-before-coming-onscreen-ref.html"> + +<script src="/common/reftest-wait.js"></script> +<style> +#target { + width: 100px; + height: 100px; + view-transition-name: target; + position: fixed; + background: green; + left: 0; + top: 200vh; +} + +.hidden { + width: 10px; + height: 10px; + background: grey; + view-transition-name: hidden; +} + +.onscreen::view-transition-group(target) { + transform: unset; + position: fixed; + top: 0; + left: 0; + animation: unset; +} + +html::view-transition-group(hidden) { animation-duration: 300s; } +html::view-transition-image-pair(hidden) { animation: unset; opacity: 0; } + +html::view-transition-old(target) { animation: unset; opacity: 0; } +html::view-transition-new(target) { animation: unset; opacity: 1; } + +</style> + +<div id=target class=target> +<div id=hidden class=hidden></div> + +<script> +failIfNot(document.startViewTransition, "Missing document.startViewTransition"); + +function bringOnscreenAndScreenshot() { + document.documentElement.classList.add("onscreen"); + + requestAnimationFrame(() => requestAnimationFrame(() => + requestAnimationFrame(() => requestAnimationFrame(takeScreenshot)) + )); +} + +async function runTest() { + // Start the transition while the element is offscreen. + let transition = document.startViewTransition(); + await transition.ready; + + // Change the element's color while its still offscreen. + target.style.background = "blue"; + + // Bring the element onscreen and ensure the color change is presented. + requestAnimationFrame(() => requestAnimationFrame(() => + requestAnimationFrame(() => requestAnimationFrame( + bringOnscreenAndScreenshot)) + )); +} +onload = () => requestAnimationFrame(() => requestAnimationFrame(runTest)); +</script> + diff --git a/tests/wpt/web-platform-tests/css/css-view-transitions/old-content-with-object-view-box.html b/tests/wpt/web-platform-tests/css/css-view-transitions/old-content-with-object-view-box.html new file mode 100644 index 00000000000..f24c8e60d1e --- /dev/null +++ b/tests/wpt/web-platform-tests/css/css-view-transitions/old-content-with-object-view-box.html @@ -0,0 +1,42 @@ +<!DOCTYPE html> +<meta name="timeout" content="long"> +<html class=reftest-wait> +<title>View transitions: capture elements with object view box on the pseudo</title> +<link rel="help" href="https://github.com/WICG/view-transitions"> +<link rel="author" href="mailto:vmpstr@chromium.org"> +<link rel="match" href="content-with-object-view-box-ref.html"> +<script src="/common/reftest-wait.js"></script> +<style> +#target { + position: relative; + top: 100px; + left: 100px; + background: green; + width: 100px; + height: 100px; + view-transition-name: target; +} + +html::view-transition-group(*) { animation-duration: 300s; } +html::view-transition-old(*) { + object-view-box: inset(5px 10px 15px 20px); + /* Need to specify explicit dimensions since view box changes intrinsic size */ + width: 100px; + height: 100px; + animation: unset; + opacity: 1; +} +html::view-transition-new(*) { animation: unset; opacity: 0; } +html::view-transition-group(root) { animation: unset; opacity: 0; } +html::view-transition { background: pink; } +</style> +<div id=target></div> +<script> +failIfNot(document.startViewTransition, "Missing document.startViewTransition"); + +async function runTest() { + document.startViewTransition().ready.then(takeScreenshot); +} +onload = () => requestAnimationFrame(() => requestAnimationFrame(runTest)); +</script> + diff --git a/tests/wpt/web-platform-tests/css/css-view-transitions/pseudo-computed-style-stays-in-sync-with-new-element.html b/tests/wpt/web-platform-tests/css/css-view-transitions/pseudo-computed-style-stays-in-sync-with-new-element.html index 576b7525cc6..0a34a4b73ff 100644 --- a/tests/wpt/web-platform-tests/css/css-view-transitions/pseudo-computed-style-stays-in-sync-with-new-element.html +++ b/tests/wpt/web-platform-tests/css/css-view-transitions/pseudo-computed-style-stays-in-sync-with-new-element.html @@ -34,7 +34,7 @@ promise_test(async t => { first.style.filter = "blur(5px)"; viewbox = window.getComputedStyle( document.documentElement, "::view-transition-new(target)").objectViewBox; - assert_not_equals(viewbox, "none", "incorrect viewbox " + viewbox); + assert_equals(viewbox, "none", "incorrect viewbox " + viewbox); transition.finished.then(resolve, reject); }); diff --git a/tests/wpt/web-platform-tests/css/filter-effects/animation/color-interpolation-filters-no-interpolation.html b/tests/wpt/web-platform-tests/css/filter-effects/animation/color-interpolation-filters-no-interpolation.html new file mode 100644 index 00000000000..d256ef3e738 --- /dev/null +++ b/tests/wpt/web-platform-tests/css/filter-effects/animation/color-interpolation-filters-no-interpolation.html @@ -0,0 +1,15 @@ +<!DOCTYPE html> +<link rel=author href="mailto:jarhar@chromium.org"> +<link rel=help href="https://github.com/w3c/csswg-drafts/issues/4441"> +<script src="/resources/testharness.js"></script> +<script src="/resources/testharnessreport.js"></script> +<script src="/css/support/interpolation-testcommon.js"></script> + +<body> +<script> +test_no_interpolation({ + property: 'color-interpolation-filters', + from: 'initial', + to: 'auto' +}); +</script> diff --git a/tests/wpt/web-platform-tests/css/filter-effects/svg-external-filter-resource.html b/tests/wpt/web-platform-tests/css/filter-effects/svg-external-filter-resource.html new file mode 100644 index 00000000000..6df5fc281f0 --- /dev/null +++ b/tests/wpt/web-platform-tests/css/filter-effects/svg-external-filter-resource.html @@ -0,0 +1,9 @@ +<!doctype html> +<title>Filter Effects: Referencing an external SVG filter from an SVG element</title> +<link rel="help" href="https://drafts.fxtf.org/filter-effects-1/#FilterProperty"> +<link rel="help" href="https://drafts.fxtf.org/filter-effects-1/#funcdef-filter-hue-rotate"> +<link rel="match" href="reference/green-100x100.html"> +<svg> + <rect width="100" height="100" fill="rgb(71.79%, 28.82%, 0%)" + filter="url(support/hueRotate.svg#MyFilter)"/> +</svg> diff --git a/tests/wpt/web-platform-tests/css/mediaqueries/scripting-print-noscript-ref.html b/tests/wpt/web-platform-tests/css/mediaqueries/scripting-print-noscript-ref.html new file mode 100644 index 00000000000..d0bf78f8d59 --- /dev/null +++ b/tests/wpt/web-platform-tests/css/mediaqueries/scripting-print-noscript-ref.html @@ -0,0 +1,4 @@ +<!DOCTYPE html> +<noscript> + Script is disabled +</noscript> \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/css/mediaqueries/scripting-print-noscript.html b/tests/wpt/web-platform-tests/css/mediaqueries/scripting-print-noscript.html new file mode 100644 index 00000000000..701013bd715 --- /dev/null +++ b/tests/wpt/web-platform-tests/css/mediaqueries/scripting-print-noscript.html @@ -0,0 +1,13 @@ +<!DOCTYPE html> +<link rel="help" href="https://drafts.csswg.org/mediaqueries/#scripting"> +<link rel="match" href="scripting-print-noscript-ref.html"> +<style> + @media (scripting) { + #noscript { + display: none; + } + } +</style> +<div id="noscript"> + Script is disabled +</div> \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/css/mediaqueries/scripting-print-script-ref.html b/tests/wpt/web-platform-tests/css/mediaqueries/scripting-print-script-ref.html new file mode 100644 index 00000000000..0e3b6fc3e59 --- /dev/null +++ b/tests/wpt/web-platform-tests/css/mediaqueries/scripting-print-script-ref.html @@ -0,0 +1,4 @@ +<!DOCTYPE html> +<div> + Script is enabled +</div> \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/css/mediaqueries/scripting-print-script.html b/tests/wpt/web-platform-tests/css/mediaqueries/scripting-print-script.html new file mode 100644 index 00000000000..25f064ba204 --- /dev/null +++ b/tests/wpt/web-platform-tests/css/mediaqueries/scripting-print-script.html @@ -0,0 +1,17 @@ +<!DOCTYPE html> +<link rel="help" href="https://drafts.csswg.org/mediaqueries/#scripting"> +<link rel="match" href="scripting-print-script-ref.html"> +<style> + #script { + display: none; + } + + @media (scripting) { + #script { + display: block; + } + } +</style> +<div id="script"> + Script is enabled +</div> \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/css/mediaqueries/scripting.html b/tests/wpt/web-platform-tests/css/mediaqueries/scripting.html new file mode 100644 index 00000000000..5606b9fc680 --- /dev/null +++ b/tests/wpt/web-platform-tests/css/mediaqueries/scripting.html @@ -0,0 +1,26 @@ +<!DOCTYPE html> +<link rel="help" href="https://drafts.csswg.org/mediaqueries-5/#scripting"> +<script type="text/javascript" src="/resources/testharness.js"></script> +<script type="text/javascript" src="/resources/testharnessreport.js"></script> +<script type="text/javascript" src="resources/matchmedia-utils.js"></script> + +<script> +query_should_be_known("(scripting)"); +query_should_be_known("(scripting: enabled)"); +query_should_be_known("(scripting: initial-only)"); +query_should_be_known("(scripting: none)"); + +query_should_be_unknown("(scripting: 0)"); +query_should_be_unknown("(scripting: 10px)"); +query_should_be_unknown("(scripting: invalid)"); + +test(() => { + let match_enabled = window.matchMedia("(scripting: enabled)"); + assert_true(match_enabled.matches); +}, "Check that scripting currently matches 'enabled'"); + +test(() => { + let booleanContext = window.matchMedia("(scripting)"); + assert_true(booleanContext.matches); +}, "Check that scripting currently evaluates to true in the boolean context"); +</script> \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/css/printing/monolithic-overflow-001-print-ref.html b/tests/wpt/web-platform-tests/css/printing/monolithic-overflow-001-print-ref.html new file mode 100644 index 00000000000..9edc5d9ed0d --- /dev/null +++ b/tests/wpt/web-platform-tests/css/printing/monolithic-overflow-001-print-ref.html @@ -0,0 +1,7 @@ +<!DOCTYPE html> +<link rel="author" title="Morten Stenshorne" href="mailto:mstensho@chromium.org"> +<style> + body { margin: 0; } +</style> +<div style="height:150vh;"></div> +This text should be at the middle of the second page. diff --git a/tests/wpt/web-platform-tests/css/printing/monolithic-overflow-001-print.html b/tests/wpt/web-platform-tests/css/printing/monolithic-overflow-001-print.html new file mode 100644 index 00000000000..f4121c34225 --- /dev/null +++ b/tests/wpt/web-platform-tests/css/printing/monolithic-overflow-001-print.html @@ -0,0 +1,9 @@ +<!DOCTYPE html> +<link rel="author" title="Morten Stenshorne" href="mailto:mstensho@chromium.org"> +<link rel="help" href="https://bugs.chromium.org/p/chromium/issues/detail?id=1402540"> +<link rel="match" href="monolithic-overflow-001-print-ref.html"> +<style> + body { margin: 0; } +</style> +<div style="height:150vh; contain:size;"></div> +This text should be at the middle of the second page. diff --git a/tests/wpt/web-platform-tests/css/printing/monolithic-overflow-002-print-ref.html b/tests/wpt/web-platform-tests/css/printing/monolithic-overflow-002-print-ref.html new file mode 100644 index 00000000000..5478362b066 --- /dev/null +++ b/tests/wpt/web-platform-tests/css/printing/monolithic-overflow-002-print-ref.html @@ -0,0 +1,7 @@ +<!DOCTYPE html> +<link rel="author" title="Morten Stenshorne" href="mailto:mstensho@chromium.org"> +<style> + body { margin: 0; } +</style> +<div style="height:250vh;"></div> +This text should be at the middle of the third page. diff --git a/tests/wpt/web-platform-tests/css/printing/monolithic-overflow-002-print.html b/tests/wpt/web-platform-tests/css/printing/monolithic-overflow-002-print.html new file mode 100644 index 00000000000..8f76af16a9e --- /dev/null +++ b/tests/wpt/web-platform-tests/css/printing/monolithic-overflow-002-print.html @@ -0,0 +1,9 @@ +<!DOCTYPE html> +<link rel="author" title="Morten Stenshorne" href="mailto:mstensho@chromium.org"> +<link rel="help" href="https://bugs.chromium.org/p/chromium/issues/detail?id=1402540"> +<link rel="match" href="monolithic-overflow-002-print-ref.html"> +<style> + body { margin: 0; } +</style> +<div style="height:250vh; contain:size;"></div> +This text should be at the middle of the third page. diff --git a/tests/wpt/web-platform-tests/css/printing/monolithic-overflow-003-print.html b/tests/wpt/web-platform-tests/css/printing/monolithic-overflow-003-print.html new file mode 100644 index 00000000000..76905b180a1 --- /dev/null +++ b/tests/wpt/web-platform-tests/css/printing/monolithic-overflow-003-print.html @@ -0,0 +1,14 @@ +<!DOCTYPE html> +<link rel="author" title="Morten Stenshorne" href="mailto:mstensho@chromium.org"> +<link rel="help" href="https://bugs.chromium.org/p/chromium/issues/detail?id=1402540"> +<link rel="match" href="reference/monolithic-overflow-4-pages-print-ref.html"> +<style> + body { margin: 0; } +</style> +<div style="background:yellow;"> + <div style="contain:size; width:50px; height:350vh; background:hotpink;"></div> + Yellow background, page 4. +</div> +White background, page 4. There should be a hotpink rectangle inside a yellow +block, starting at the first page, and ending right before the first piece of +text. diff --git a/tests/wpt/web-platform-tests/css/printing/monolithic-overflow-004-print.html b/tests/wpt/web-platform-tests/css/printing/monolithic-overflow-004-print.html new file mode 100644 index 00000000000..ea5a659bd84 --- /dev/null +++ b/tests/wpt/web-platform-tests/css/printing/monolithic-overflow-004-print.html @@ -0,0 +1,16 @@ +<!DOCTYPE html> +<link rel="author" title="Morten Stenshorne" href="mailto:mstensho@chromium.org"> +<link rel="help" href="https://bugs.chromium.org/p/chromium/issues/detail?id=1402540"> +<link rel="match" href="reference/monolithic-overflow-4-pages-print-ref.html"> +<style> + body { margin: 0; } +</style> +<div style="height:390vh;"> + <div style="background:yellow;"> + <div style="contain:size; width:50px; height:350vh; background:hotpink;"></div> + Yellow background, page 4. + </div> + White background, page 4. There should be a hotpink rectangle inside a yellow + block, starting at the first page, and ending right before the first piece of + text. +</div> diff --git a/tests/wpt/web-platform-tests/css/printing/monolithic-overflow-005-print.html b/tests/wpt/web-platform-tests/css/printing/monolithic-overflow-005-print.html new file mode 100644 index 00000000000..bb0fc212fc0 --- /dev/null +++ b/tests/wpt/web-platform-tests/css/printing/monolithic-overflow-005-print.html @@ -0,0 +1,14 @@ +<!DOCTYPE html> +<link rel="author" title="Morten Stenshorne" href="mailto:mstensho@chromium.org"> +<link rel="help" href="https://bugs.chromium.org/p/chromium/issues/detail?id=1402540"> +<link rel="match" href="reference/monolithic-overflow-4-pages-print-ref.html"> +<style> + body { margin: 0; } +</style> +<div style="display:flex; flex-flow:column; background:yellow;"> + <div style="contain:size; height:350vh; width:50px; background:hotpink;"></div> + Yellow background, page 4. +</div> +White background, page 4. There should be a hotpink rectangle inside a yellow +block, starting at the first page, and ending right before the first piece of +text. diff --git a/tests/wpt/web-platform-tests/css/printing/monolithic-overflow-006-print.html b/tests/wpt/web-platform-tests/css/printing/monolithic-overflow-006-print.html new file mode 100644 index 00000000000..1cbcdbbe1e5 --- /dev/null +++ b/tests/wpt/web-platform-tests/css/printing/monolithic-overflow-006-print.html @@ -0,0 +1,16 @@ +<!DOCTYPE html> +<link rel="author" title="Morten Stenshorne" href="mailto:mstensho@chromium.org"> +<link rel="help" href="https://bugs.chromium.org/p/chromium/issues/detail?id=1402540"> +<link rel="match" href="reference/monolithic-overflow-4-pages-print-ref.html"> +<style> + body { margin: 0; } +</style> +<div style="display:flex; flex-flow:column; background:yellow;"> + <div> + <div style="contain:size; height:350vh; width:50px; background:hotpink;"></div> + Yellow background, page 4. + </div> +</div> +White background, page 4. There should be a hotpink rectangle inside a yellow +block, starting at the first page, and ending right before the first piece of +text. diff --git a/tests/wpt/web-platform-tests/css/printing/monolithic-overflow-007-print.html b/tests/wpt/web-platform-tests/css/printing/monolithic-overflow-007-print.html new file mode 100644 index 00000000000..14a6f051fec --- /dev/null +++ b/tests/wpt/web-platform-tests/css/printing/monolithic-overflow-007-print.html @@ -0,0 +1,14 @@ +<!DOCTYPE html> +<link rel="author" title="Morten Stenshorne" href="mailto:mstensho@chromium.org"> +<link rel="help" href="https://bugs.chromium.org/p/chromium/issues/detail?id=1402540"> +<link rel="match" href="reference/monolithic-overflow-4-pages-print-ref.html"> +<style> + body { margin: 0; } +</style> +<div style="display:grid; background:yellow;"> + <div style="contain:size; height:350vh; width:50px; background:hotpink;"></div> + Yellow background, page 4. +</div> +White background, page 4. There should be a hotpink rectangle inside a yellow +block, starting at the first page, and ending right before the first piece of +text. diff --git a/tests/wpt/web-platform-tests/css/printing/monolithic-overflow-008-print.html b/tests/wpt/web-platform-tests/css/printing/monolithic-overflow-008-print.html new file mode 100644 index 00000000000..ff302dc30ca --- /dev/null +++ b/tests/wpt/web-platform-tests/css/printing/monolithic-overflow-008-print.html @@ -0,0 +1,16 @@ +<!DOCTYPE html> +<link rel="author" title="Morten Stenshorne" href="mailto:mstensho@chromium.org"> +<link rel="help" href="https://bugs.chromium.org/p/chromium/issues/detail?id=1402540"> +<link rel="match" href="reference/monolithic-overflow-4-pages-print-ref.html"> +<style> + body { margin: 0; } +</style> +<div style="display:grid; background:yellow;"> + <div> + <div style="contain:size; height:350vh; width:50px; background:hotpink;"></div> + Yellow background, page 4. + </div> +</div> +White background, page 4. There should be a hotpink rectangle inside a yellow +block, starting at the first page, and ending right before the first piece of +text. diff --git a/tests/wpt/web-platform-tests/css/printing/monolithic-overflow-009-print.html b/tests/wpt/web-platform-tests/css/printing/monolithic-overflow-009-print.html new file mode 100644 index 00000000000..bdff66e791c --- /dev/null +++ b/tests/wpt/web-platform-tests/css/printing/monolithic-overflow-009-print.html @@ -0,0 +1,14 @@ +<!DOCTYPE html> +<link rel="author" title="Morten Stenshorne" href="mailto:mstensho@chromium.org"> +<link rel="help" href="https://bugs.chromium.org/p/chromium/issues/detail?id=1402540"> +<link rel="match" href="reference/monolithic-overflow-4-pages-print-ref.html"> +<style> + body { margin: 0; } +</style> +<div style="display:table; width:100%; background:yellow;"> + <div style="contain:size; height:350vh; width:50px; background:hotpink;"></div> + Yellow background, page 4. +</div> +White background, page 4. There should be a hotpink rectangle inside a yellow +block, starting at the first page, and ending right before the first piece of +text. diff --git a/tests/wpt/web-platform-tests/css/printing/monolithic-overflow-010-print.html b/tests/wpt/web-platform-tests/css/printing/monolithic-overflow-010-print.html new file mode 100644 index 00000000000..a75c932d30b --- /dev/null +++ b/tests/wpt/web-platform-tests/css/printing/monolithic-overflow-010-print.html @@ -0,0 +1,16 @@ +<!DOCTYPE html> +<link rel="author" title="Morten Stenshorne" href="mailto:mstensho@chromium.org"> +<link rel="help" href="https://bugs.chromium.org/p/chromium/issues/detail?id=1402540"> +<link rel="match" href="reference/monolithic-overflow-4-pages-print-ref.html"> +<style> + body { margin: 0; } +</style> +<div style="display:table; width:100%; background:yellow;"> + <div style="display:table-row;"> + <div style="contain:size; height:350vh; width:50px; background:hotpink;"></div> + </div> + Yellow background, page 4. +</div> +White background, page 4. There should be a hotpink rectangle inside a yellow +block, starting at the first page, and ending right before the first piece of +text. diff --git a/tests/wpt/web-platform-tests/css/printing/monolithic-overflow-011-print.html b/tests/wpt/web-platform-tests/css/printing/monolithic-overflow-011-print.html new file mode 100644 index 00000000000..973a3aff4dc --- /dev/null +++ b/tests/wpt/web-platform-tests/css/printing/monolithic-overflow-011-print.html @@ -0,0 +1,16 @@ +<!DOCTYPE html> +<link rel="author" title="Morten Stenshorne" href="mailto:mstensho@chromium.org"> +<link rel="help" href="https://bugs.chromium.org/p/chromium/issues/detail?id=1402540"> +<link rel="match" href="reference/monolithic-overflow-4-pages-print-ref.html"> +<style> + body { margin: 0; } +</style> +<div style="display:table; width:100%; background:yellow;"> + <div style="display:table-row-group;"> + <div style="contain:size; height:350vh; width:50px; background:hotpink;"></div> + </div> + Yellow background, page 4. +</div> +White background, page 4. There should be a hotpink rectangle inside a yellow +block, starting at the first page, and ending right before the first piece of +text. diff --git a/tests/wpt/web-platform-tests/css/printing/monolithic-overflow-012-print-ref.html b/tests/wpt/web-platform-tests/css/printing/monolithic-overflow-012-print-ref.html new file mode 100644 index 00000000000..e47ca880f93 --- /dev/null +++ b/tests/wpt/web-platform-tests/css/printing/monolithic-overflow-012-print-ref.html @@ -0,0 +1,9 @@ +<!DOCTYPE html> +<link rel="author" title="Morten Stenshorne" href="mailto:mstensho@chromium.org"> +<style> + body { margin: 0; } +</style> +<div style="background:yellow;"> + <div style="width:50px; height:350vh; background:hotpink;"></div> + This text should be at the middle of the fourth page. +</div> diff --git a/tests/wpt/web-platform-tests/css/printing/monolithic-overflow-012-print.html b/tests/wpt/web-platform-tests/css/printing/monolithic-overflow-012-print.html new file mode 100644 index 00000000000..53ed74bc728 --- /dev/null +++ b/tests/wpt/web-platform-tests/css/printing/monolithic-overflow-012-print.html @@ -0,0 +1,11 @@ +<!DOCTYPE html> +<link rel="author" title="Morten Stenshorne" href="mailto:mstensho@chromium.org"> +<link rel="help" href="https://bugs.chromium.org/p/chromium/issues/detail?id=1402540"> +<link rel="match" href="monolithic-overflow-012-print-ref.html"> +<style> + body { margin: 0; } +</style> +<div style="float:left; width:100%; background:yellow;"> + <div style="contain:size; width:50px; height:350vh; background:hotpink;"></div> + This text should be at the middle of the fourth page. +</div> diff --git a/tests/wpt/web-platform-tests/css/printing/monolithic-overflow-013-print-ref.html b/tests/wpt/web-platform-tests/css/printing/monolithic-overflow-013-print-ref.html new file mode 100644 index 00000000000..e47ca880f93 --- /dev/null +++ b/tests/wpt/web-platform-tests/css/printing/monolithic-overflow-013-print-ref.html @@ -0,0 +1,9 @@ +<!DOCTYPE html> +<link rel="author" title="Morten Stenshorne" href="mailto:mstensho@chromium.org"> +<style> + body { margin: 0; } +</style> +<div style="background:yellow;"> + <div style="width:50px; height:350vh; background:hotpink;"></div> + This text should be at the middle of the fourth page. +</div> diff --git a/tests/wpt/web-platform-tests/css/printing/monolithic-overflow-013-print.html b/tests/wpt/web-platform-tests/css/printing/monolithic-overflow-013-print.html new file mode 100644 index 00000000000..b9a174879d7 --- /dev/null +++ b/tests/wpt/web-platform-tests/css/printing/monolithic-overflow-013-print.html @@ -0,0 +1,11 @@ +<!DOCTYPE html> +<link rel="author" title="Morten Stenshorne" href="mailto:mstensho@chromium.org"> +<link rel="help" href="https://bugs.chromium.org/p/chromium/issues/detail?id=1402540"> +<link rel="match" href="monolithic-overflow-013-print-ref.html"> +<style> + body { margin: 0; } +</style> +<div style="position:absolute; width:100%; background:yellow;"> + <div style="contain:size; width:50px; height:350vh; background:hotpink;"></div> + This text should be at the middle of the fourth page. +</div> diff --git a/tests/wpt/web-platform-tests/css/printing/monolithic-overflow-014-print-ref.html b/tests/wpt/web-platform-tests/css/printing/monolithic-overflow-014-print-ref.html new file mode 100644 index 00000000000..a74e0d19a55 --- /dev/null +++ b/tests/wpt/web-platform-tests/css/printing/monolithic-overflow-014-print-ref.html @@ -0,0 +1,10 @@ +<!DOCTYPE html> +<link rel="author" title="Morten Stenshorne" href="mailto:mstensho@chromium.org"> +<style> + body { margin: 0; } +</style> +<div style="display:flow-root; background:yellow;"> + <div style="float:left; width:50px; height:350vh; background:hotpink;"></div> + On the first page +</div> +This text should be at the middle of the fourth page. diff --git a/tests/wpt/web-platform-tests/css/printing/monolithic-overflow-014-print.html b/tests/wpt/web-platform-tests/css/printing/monolithic-overflow-014-print.html new file mode 100644 index 00000000000..d12ddf4c684 --- /dev/null +++ b/tests/wpt/web-platform-tests/css/printing/monolithic-overflow-014-print.html @@ -0,0 +1,12 @@ +<!DOCTYPE html> +<link rel="author" title="Morten Stenshorne" href="mailto:mstensho@chromium.org"> +<link rel="help" href="https://bugs.chromium.org/p/chromium/issues/detail?id=1402540"> +<link rel="match" href="monolithic-overflow-014-print-ref.html"> +<style> + body { margin: 0; } +</style> +<div style="background:yellow;"> + <div style="display:inline-block; vertical-align:top; width:50px; height:350vh; background:hotpink;"></div> + On the first page +</div> +This text should be at the middle of the fourth page. diff --git a/tests/wpt/web-platform-tests/css/printing/monolithic-overflow-015-print-ref.html b/tests/wpt/web-platform-tests/css/printing/monolithic-overflow-015-print-ref.html new file mode 100644 index 00000000000..db44a3ee21e --- /dev/null +++ b/tests/wpt/web-platform-tests/css/printing/monolithic-overflow-015-print-ref.html @@ -0,0 +1,7 @@ +<!DOCTYPE html> +<link rel="author" title="Morten Stenshorne" href="mailto:mstensho@chromium.org"> +<style> + body { margin: 0; } +</style> +<div style="width:50px; height:350vh; background:hotpink;"></div> +This text should be at the middle of the fourth page. diff --git a/tests/wpt/web-platform-tests/css/printing/monolithic-overflow-015-print.html b/tests/wpt/web-platform-tests/css/printing/monolithic-overflow-015-print.html new file mode 100644 index 00000000000..d52605605c9 --- /dev/null +++ b/tests/wpt/web-platform-tests/css/printing/monolithic-overflow-015-print.html @@ -0,0 +1,9 @@ +<!DOCTYPE html> +<link rel="author" title="Morten Stenshorne" href="mailto:mstensho@chromium.org"> +<link rel="help" href="https://bugs.chromium.org/p/chromium/issues/detail?id=1402540"> +<link rel="match" href="monolithic-overflow-015-print-ref.html"> +<style> + body { margin: 0; } +</style> +<div style="display:inline-block; vertical-align:top; width:50px; height:350vh; background:hotpink;"></div><br> +This text should be at the middle of the fourth page. diff --git a/tests/wpt/web-platform-tests/css/printing/monolithic-overflow-016-print-ref.html b/tests/wpt/web-platform-tests/css/printing/monolithic-overflow-016-print-ref.html new file mode 100644 index 00000000000..a675fb966c5 --- /dev/null +++ b/tests/wpt/web-platform-tests/css/printing/monolithic-overflow-016-print-ref.html @@ -0,0 +1,22 @@ +<!DOCTYPE html> +<link rel="author" title="Morten Stenshorne" href="mailto:mstensho@chromium.org"> +<style> + body { + margin: 0; + line-height: 20px; + } +</style> +<div style="position:absolute; top:100vh;">header</div> +<div style="position:absolute; top:200vh;">header</div> +<div style="position:absolute; top:300vh;">header</div> +<div style="position:absolute; bottom:0;">footer</div> +<div style="position:absolute; bottom:-100vh;">footer</div> +<div style="position:absolute; bottom:-200vh;">footer</div> +<div style="width:80%; padding-bottom:5px; background:hotpink;"> + header + <div style="height:320vh; padding:3px; background:cyan;"></div> + On the fourth page, right after a cyan box.<br> + footer +</div> +Right after the hotpink box. Still fourth page.<br> +Each page should have a header and footer. diff --git a/tests/wpt/web-platform-tests/css/printing/monolithic-overflow-016-print.html b/tests/wpt/web-platform-tests/css/printing/monolithic-overflow-016-print.html new file mode 100644 index 00000000000..029523e924a --- /dev/null +++ b/tests/wpt/web-platform-tests/css/printing/monolithic-overflow-016-print.html @@ -0,0 +1,18 @@ +<!DOCTYPE html> +<link rel="author" title="Morten Stenshorne" href="mailto:mstensho@chromium.org"> +<link rel="help" href="https://bugs.chromium.org/p/chromium/issues/detail?id=1402540"> +<link rel="match" href="monolithic-overflow-016-print-ref.html"> +<style> + body { + margin: 0; + line-height: 20px; + } +</style> +<div style="display:table; width:80%; padding-bottom:5px; background:hotpink;"> + <div style="display:table-header-group; break-inside:avoid;">header</div> + <div style="display:table-footer-group; break-inside:avoid;">footer</div> + <div style="contain:size; height:320vh; padding:3px; background:cyan;"></div> + On the fourth page, right after a cyan box. +</div> +Right after the hotpink box. Still fourth page.<br> +Each page should have a header and footer. diff --git a/tests/wpt/web-platform-tests/css/printing/monolithic-overflow-017-print-ref.html b/tests/wpt/web-platform-tests/css/printing/monolithic-overflow-017-print-ref.html new file mode 100644 index 00000000000..45f839787e0 --- /dev/null +++ b/tests/wpt/web-platform-tests/css/printing/monolithic-overflow-017-print-ref.html @@ -0,0 +1,17 @@ +<!DOCTYPE html> +<link rel="author" title="Morten Stenshorne" href="mailto:mstensho@chromium.org"> +<style> + body { margin: 0; } +</style> +<div style="line-height:20px;"> + <div style="position:absolute; width:100%; bottom:0; background:hotpink;">footer</div> + <div style="position:absolute; width:100%; bottom:-100vh; background:hotpink;">footer</div> + <div style="position:absolute; width:100%; bottom:-200vh; background:hotpink;">footer</div> + <div style="height:calc(300vh - 25px); background:black;"></div> + <div style="break-before:page;">PASS</div> + <div style="background:hotpink;"> + footer + </div> +</div> +There should be a footer on every page, and the word PASS should be seen here, +on the fourth page, just above the final footer.<br> diff --git a/tests/wpt/web-platform-tests/css/printing/monolithic-overflow-017-print.html b/tests/wpt/web-platform-tests/css/printing/monolithic-overflow-017-print.html new file mode 100644 index 00000000000..c8ce9060fff --- /dev/null +++ b/tests/wpt/web-platform-tests/css/printing/monolithic-overflow-017-print.html @@ -0,0 +1,15 @@ +<!DOCTYPE html> +<link rel="author" title="Morten Stenshorne" href="mailto:mstensho@chromium.org"> +<link rel="help" href="https://bugs.chromium.org/p/chromium/issues/detail?id=1402540"> +<link rel="match" href="monolithic-overflow-017-print-ref.html"> +<style> + body { margin: 0; } +</style> +<div style="display:table; width:100%; line-height:20px;"> + <div style="display:table-footer-group; break-inside:avoid; background:hotpink;">footer</div> + <!-- Monolithic content that ends 5px above the table footer on the third page. --> + <div style="contain:size; height:calc(300vh - 25px); background:black;"></div> + PASS +</div> +There should be a footer on every page, and the word PASS should be seen here, +on the fourth page, just above the final footer. diff --git a/tests/wpt/web-platform-tests/css/printing/monolithic-overflow-018-print-ref.html b/tests/wpt/web-platform-tests/css/printing/monolithic-overflow-018-print-ref.html new file mode 100644 index 00000000000..cf31737d6c3 --- /dev/null +++ b/tests/wpt/web-platform-tests/css/printing/monolithic-overflow-018-print-ref.html @@ -0,0 +1,9 @@ +<!DOCTYPE html> +<link rel="author" title="Morten Stenshorne" href="mailto:mstensho@chromium.org"> +<style> + body { margin: 0; } +</style> +<div style="width:20px; height:280vh; background:blue;"></div> +<div style="break-before:page; width:50vh; height:50vh; background:green;"></div> +There should be four pages. There should be something blue on the first three, +and a green square on the fourth. No red anywhere. diff --git a/tests/wpt/web-platform-tests/css/printing/monolithic-overflow-018-print.html b/tests/wpt/web-platform-tests/css/printing/monolithic-overflow-018-print.html new file mode 100644 index 00000000000..93da11dc62e --- /dev/null +++ b/tests/wpt/web-platform-tests/css/printing/monolithic-overflow-018-print.html @@ -0,0 +1,13 @@ +<!DOCTYPE html> +<link rel="author" title="Morten Stenshorne" href="mailto:mstensho@chromium.org"> +<link rel="help" href="https://bugs.chromium.org/p/chromium/issues/detail?id=1402540"> +<link rel="match" href="monolithic-overflow-018-print-ref.html"> +<style> + body { margin: 0; } +</style> +<div style="contain:size; width:20px; height:280vh; background:blue;"></div> +<div style="width:50vh; background:red;"> + <div style="contain:size; height:50vh; background:green;"></div> +</div> +There should be four pages. There should be something blue on the first three, +and a green square on the fourth. No red anywhere. diff --git a/tests/wpt/web-platform-tests/css/printing/monolithic-overflow-019-print-ref.html b/tests/wpt/web-platform-tests/css/printing/monolithic-overflow-019-print-ref.html new file mode 100644 index 00000000000..f37740ae7e6 --- /dev/null +++ b/tests/wpt/web-platform-tests/css/printing/monolithic-overflow-019-print-ref.html @@ -0,0 +1,10 @@ +<!DOCTYPE html> +<link rel="author" title="Morten Stenshorne" href="mailto:mstensho@chromium.org"> +<style> + body { margin: 0; } +</style> +<div style="height:50vh; border:solid; background:yellow;"> + <div style="width:50%; height:350vh; background:cyan;"></div> + This text should be at the middle of the fourth page. +</div> +This text should be at the middle of the first page, overlapping with stuff. diff --git a/tests/wpt/web-platform-tests/css/printing/monolithic-overflow-019-print.html b/tests/wpt/web-platform-tests/css/printing/monolithic-overflow-019-print.html new file mode 100644 index 00000000000..3740b5d5b0b --- /dev/null +++ b/tests/wpt/web-platform-tests/css/printing/monolithic-overflow-019-print.html @@ -0,0 +1,12 @@ +<!DOCTYPE html> +<link rel="author" title="Morten Stenshorne" href="mailto:mstensho@chromium.org"> +<link rel="help" href="https://bugs.chromium.org/p/chromium/issues/detail?id=1402540"> +<link rel="match" href="monolithic-overflow-019-print-ref.html"> +<style> + body { margin: 0; } +</style> +<div style="height:50vh; border:solid; background:yellow;"> + <div style="contain:size; width:50%; height:350vh; background:cyan;"></div> + This text should be at the middle of the fourth page. +</div> +This text should be at the middle of the first page, overlapping with stuff. diff --git a/tests/wpt/web-platform-tests/css/printing/monolithic-overflow-020-print-ref.html b/tests/wpt/web-platform-tests/css/printing/monolithic-overflow-020-print-ref.html new file mode 100644 index 00000000000..528c4980de5 --- /dev/null +++ b/tests/wpt/web-platform-tests/css/printing/monolithic-overflow-020-print-ref.html @@ -0,0 +1,21 @@ +<!DOCTYPE html> +<link rel="author" title="Morten Stenshorne" href="mailto:mstensho@chromium.org"> +<style> + body { margin: 0; } +</style> +<div style="float:right; width:20%; border:3px solid;"> + <div style="width:50%; height:calc(100vh - 3px); background:brown;"></div> + <div style="width:50%; height:100vh; background:blue;"></div> + <div style="width:50%; height:50vh; background:cyan;"></div> +</div> +<div style="background:yellow;"> + <div style="width:20%; height:225vh; background:hotpink;"></div> + <div style="height:75vh;"></div> +</div> +This text should start on the fourth page. The first three pages should have a +yellow background. On the left hand side there should be a hotpink rectangle, +starting at the beginning on the first page, and ending 25% from the top of the +third page. On the right hand side there should a figure with a black border. It +should end around the middle of the third page. Inside there should be a brown +rectangle on the first page, a blue rectangle on the second page, and a cyan +rectangle on the third page. diff --git a/tests/wpt/web-platform-tests/css/printing/monolithic-overflow-020-print.html b/tests/wpt/web-platform-tests/css/printing/monolithic-overflow-020-print.html new file mode 100644 index 00000000000..403d932d643 --- /dev/null +++ b/tests/wpt/web-platform-tests/css/printing/monolithic-overflow-020-print.html @@ -0,0 +1,25 @@ +<!DOCTYPE html> +<link rel="author" title="Morten Stenshorne" href="mailto:mstensho@chromium.org"> +<link rel="help" href="https://bugs.chromium.org/p/chromium/issues/detail?id=1402540"> +<link rel="match" href="monolithic-overflow-020-print-ref.html"> +<style> + body { margin: 0; } +</style> +<!-- Check that monolithic overflow doesn't disrupt layout of a sibling + float. --> +<div style="float:right; width:20%; border:3px solid;"> + <div style="width:50%; height:calc(100vh - 3px); background:brown;"></div> + <div style="width:50%; height:100vh; background:blue;"></div> + <div style="width:50%; height:50vh; background:cyan;"></div> +</div> +<div style="background:yellow;"> + <div style="contain:size; width:20%; height:225vh; background:hotpink;"></div> + <div style="height:75vh;"></div> +</div> +This text should start on the fourth page. The first three pages should have a +yellow background. On the left hand side there should be a hotpink rectangle, +starting at the beginning on the first page, and ending 25% from the top of the +third page. On the right hand side there should a figure with a black border. It +should end around the middle of the third page. Inside there should be a brown +rectangle on the first page, a blue rectangle on the second page, and a cyan +rectangle on the third page. diff --git a/tests/wpt/web-platform-tests/css/printing/page-name-003-print-ref.html b/tests/wpt/web-platform-tests/css/printing/page-name-003-print-ref.html new file mode 100644 index 00000000000..52ea6bfffcb --- /dev/null +++ b/tests/wpt/web-platform-tests/css/printing/page-name-003-print-ref.html @@ -0,0 +1,6 @@ +<!DOCTYPE html> +<link rel="author" title="Morten Stenshorne" href="mailto:mstensho@chromium.org"> +1st page +<div style="break-before:page;"> + 2nd page +</div> diff --git a/tests/wpt/web-platform-tests/css/printing/page-name-003-print.html b/tests/wpt/web-platform-tests/css/printing/page-name-003-print.html new file mode 100644 index 00000000000..9ef4db8c754 --- /dev/null +++ b/tests/wpt/web-platform-tests/css/printing/page-name-003-print.html @@ -0,0 +1,9 @@ +<!DOCTYPE html> +<link rel="author" title="Morten Stenshorne" href="mailto:mstensho@chromium.org"> +<link rel="help" href="https://drafts.csswg.org/css-page-3/#using-named-pages"> +<link rel="help" href="https://bugs.chromium.org/p/chromium/issues/detail?id=1428011"> +<link rel="match" href="page-name-003-print-ref.html"> +<div style="position:absolute;"> + <div style="page:a;">1st page</div> + <div style="page:b;">2nd page</div> +</div> diff --git a/tests/wpt/web-platform-tests/css/printing/reference/monolithic-overflow-4-pages-print-ref.html b/tests/wpt/web-platform-tests/css/printing/reference/monolithic-overflow-4-pages-print-ref.html new file mode 100644 index 00000000000..c115782d6ad --- /dev/null +++ b/tests/wpt/web-platform-tests/css/printing/reference/monolithic-overflow-4-pages-print-ref.html @@ -0,0 +1,12 @@ +<!DOCTYPE html> +<link rel="author" title="Morten Stenshorne" href="mailto:mstensho@chromium.org"> +<style> + body { margin: 0; } +</style> +<div style="background:yellow;"> + <div style="width:50px; height:350vh; background:hotpink;"></div> + Yellow background, page 4. +</div> +White background, page 4. There should be a hotpink rectangle inside a yellow +block, starting at the first page, and ending right before the first piece of +text. diff --git a/tests/wpt/web-platform-tests/css/selectors/user-invalid.html b/tests/wpt/web-platform-tests/css/selectors/user-invalid.html index 1f3ad22a231..222f36e33b3 100644 --- a/tests/wpt/web-platform-tests/css/selectors/user-invalid.html +++ b/tests/wpt/web-platform-tests/css/selectors/user-invalid.html @@ -1,16 +1,59 @@ <!doctype html> <title>Support for the :user-invalid pseudo-class</title> +<link rel="author" title="Tim Nguyen" href="https://github.com/nt1m"> <link rel="help" href="https://drafts.csswg.org/selectors/#user-pseudos"> <script src="/resources/testharness.js"></script> <script src="/resources/testharnessreport.js"></script> -<input value="bar" pattern="foo"> +<script src="/resources/testdriver.js"></script> +<script src="/resources/testdriver-vendor.js"></script> + +<style> +input { + border: 2px solid black; +} + +input:user-valid { + border-color: green; +} + +input:user-invalid { + border-color: red; +} +</style> + +<input id="initially-invalid" type="email" value="foo"> + <script> -test(() => { - const input = document.querySelector('input'); +promise_test(async () => { + const input = document.querySelector("#initially-invalid"); assert_false(input.validity.valid, "Should be invalid"); // The selector can't match because no interaction has happened. assert_false(input.matches(':user-invalid')); -}, ':user-invalid selector should be supported'); + + assert_false(input.matches(":user-valid"), "Initially does not match :user-valid"); + assert_false(input.matches(":user-invalid"), "Initially does not match :user-invalid"); + + await test_driver.click(input); + input.blur(); + + assert_false(input.matches(":user-valid"), "No change happened, still does not match :user-valid"); + assert_false(input.matches(":user-invalid"), "No change happened, still does not match :user-invalid"); + + await test_driver.click(input); + await test_driver.send_keys(input, "not an email"); + input.blur(); + + assert_true(input.matches(":user-invalid"), "Typed an invalid email, :user-invalid now matches"); + assert_false(input.matches(":user-valid"), "Typed an invalid email, :user-valid does not match"); + + input.value = ""; + await test_driver.click(input); + await test_driver.send_keys(input, "test@example.com"); + input.blur(); + + assert_true(input.matches(":user-valid"), "Put a valid email, :user-valid now matches"); + assert_false(input.matches(":user-invalid"), "Put an valid email, :user-invalid no longer matches"); +}, ':user-invalid selector should respond to user action'); // historical: https://github.com/w3c/csswg-drafts/issues/1329 test(() => { diff --git a/tests/wpt/web-platform-tests/css/selectors/user-valid.html b/tests/wpt/web-platform-tests/css/selectors/user-valid.html index 36ca7afe141..12b89282c3e 100644 --- a/tests/wpt/web-platform-tests/css/selectors/user-valid.html +++ b/tests/wpt/web-platform-tests/css/selectors/user-valid.html @@ -1,14 +1,55 @@ <!doctype html> <title>Support for the :user-valid pseudo-class</title> +<link rel="author" title="Tim Nguyen" href="https://github.com/nt1m"> <link rel="help" href="https://drafts.csswg.org/selectors/#user-pseudos"> <script src="/resources/testharness.js"></script> <script src="/resources/testharnessreport.js"></script> -<input> +<script src="/resources/testdriver.js"></script> +<script src="/resources/testdriver-vendor.js"></script> + +<style> +input { + border: 2px solid black; +} + +input:user-valid { + border-color: green; +} + +input:user-invalid { + border-color: red; +} +</style> + +<input id="initially-valid" type="email"> + <script> -test(() => { - const input = document.querySelector('input'); +promise_test(async () => { + const input = document.querySelector("#initially-valid"); assert_true(input.validity.valid); // The selector can't match because no interaction has happened. assert_false(input.matches(':user-valid')); -}, ':user-valid selector should be supported'); + + assert_false(input.matches(":user-valid"), "Initially does not match :user-valid"); + assert_false(input.matches(":user-invalid"), "Initially does not match :user-invalid"); + + await test_driver.click(input); + input.blur(); + + assert_false(input.matches(":user-valid"), "No change happened, still does not match :user-valid"); + assert_false(input.matches(":user-invalid"), "No change happened, still does not match :user-invalid"); + + await test_driver.click(input); + await test_driver.send_keys(input, "test@example.com"); + input.blur(); + + assert_true(input.matches(":user-valid"), "Typed a valid email, :user-valid now matches"); + assert_false(input.matches(":user-invalid"), "Typed a valid email, :user-invalid does not match"); + + input.required = true; + input.value = ""; + + assert_false(input.matches(":user-valid"), "Cleared required input, :user-valid no longer matches"); + assert_true(input.matches(":user-invalid"), "Cleared required input, :user-invalid now matches"); +}, ":user-valid selector should respond to user action"); </script> diff --git a/tests/wpt/web-platform-tests/custom-elements/form-associated/label-delegatesFocus.html b/tests/wpt/web-platform-tests/custom-elements/form-associated/label-delegatesFocus.html index 67f4f61e495..74d31363c98 100644 --- a/tests/wpt/web-platform-tests/custom-elements/form-associated/label-delegatesFocus.html +++ b/tests/wpt/web-platform-tests/custom-elements/form-associated/label-delegatesFocus.html @@ -30,7 +30,10 @@ window.onload = () => { const label = document.querySelector('label'); const customElement = document.querySelector('my-custom-element'); const input = customElement.shadowRoot.querySelector('input'); - await test_driver.click(label); + await new Promise((resolve) => { + input.addEventListener("focus", resolve, {once: true}); + test_driver.click(label); + }); assert_equals(document.activeElement, customElement); assert_equals(customElement.shadowRoot.activeElement, input); }, `Clicking on a label for a form associated custom element with delegatesFocus should focus the custom element's focus delegate.`); diff --git a/tests/wpt/web-platform-tests/dom/events/Event-dispatch-on-disabled-elements.html b/tests/wpt/web-platform-tests/dom/events/Event-dispatch-on-disabled-elements.html index 361006a7240..e7d6b455bbc 100644 --- a/tests/wpt/web-platform-tests/dom/events/Event-dispatch-on-disabled-elements.html +++ b/tests/wpt/web-platform-tests/dom/events/Event-dispatch-on-disabled-elements.html @@ -19,7 +19,7 @@ <body> <script> // HTML elements that can be disabled -const formElements = ["button", "fieldset", "input", "select", "textarea"]; +const formElements = ["button", "input", "select", "textarea"]; test(() => { for (const localName of formElements) { diff --git a/tests/wpt/web-platform-tests/dom/events/scrolling/overscroll-deltas.html b/tests/wpt/web-platform-tests/dom/events/scrolling/overscroll-deltas.html index 6f0b77f22ed..21586322503 100644 --- a/tests/wpt/web-platform-tests/dom/events/scrolling/overscroll-deltas.html +++ b/tests/wpt/web-platform-tests/dom/events/scrolling/overscroll-deltas.html @@ -6,80 +6,142 @@ <script src="/resources/testdriver-vendor.js"></script> <script src="scroll_support.js"></script> <style> -#targetDiv { - width: 500px; - height: 500px; - background: red; -} -html, body { - /* Prevent any built-in browser overscroll features from consuming the scroll - * deltas */ - overscroll-behavior: none; -} + #hspacer { + height: 100px; + width: 100vw; + top: 0; + /* on the right edge of targetDiv */ + left: 200px; + position: absolute; + } + #vspacer { + height: 100vh; + width: 100px; + position: absolute; + } + + #targetDiv { + width: 200px; + height: 200px; + overflow: scroll; + } + + #innerDiv { + width: 400px; + height: 400px; + } </style> -<body style="margin:0;" onload=runTest()> -<div id="targetDiv"> -</div> +<body style="margin:0" onload=runTest()> + <div id="targetDiv"> + <div id="innerDiv"></div> + </div> + <div id="hspacer"></div> + <div id="vspacer"></div> </body> <script> -var target_div = document.getElementById('targetDiv'); -var overscrolled_x_deltas = []; -var overscrolled_y_deltas = []; -var scrollend_received = false; + var target_div = document.getElementById('targetDiv'); + var overscrolled_x_deltas = []; + var overscrolled_y_deltas = []; + var scrollend_received = false; -function onOverscroll(event) { - overscrolled_x_deltas.push(event.deltaX); - overscrolled_y_deltas.push(event.deltaY); -} + function onOverscroll(event) { + overscrolled_x_deltas.push(event.deltaX); + overscrolled_y_deltas.push(event.deltaY); + } -function onScrollend(event) { - scrollend_received = true; -} + async function resetScrollers(test) { + await waitForScrollReset(test, target_div); + await waitForScrollReset(test, document.scrollingElement); + } -document.addEventListener("overscroll", onOverscroll); -document.addEventListener("scrollend", onScrollend); - -function runTest() { - promise_test (async (t) => { - await waitForCompositorCommit(); - - // Scroll up on target div and wait for the doc to get overscroll event. - await touchScrollInTarget(300, target_div, 'up'); - await waitFor(() => { return scrollend_received; }, - 'Document did not receive scrollend event.'); - - // Even though we request 300 pixels of scroll, the API above doesn't - // guarantee how much scroll delta will be generated - different browsers - // can consume different amounts for "touch slop" (for example). Ensure the - // overscroll reaches at least 100 pixels which is a fairly conservative - // value. - assert_greater_than(overscrolled_y_deltas.length, 0, "There should be at least one overscroll events when overscrolling."); - assert_equals(overscrolled_x_deltas.filter(function(x){ return x!=0; }).length, 0, "The deltaX attribute must be 0 when there is no scrolling in x direction."); - assert_less_than_equal(Math.max(...overscrolled_y_deltas), 0, "The deltaY attribute must be <= 0 when there is overscrolling in up direction."); - assert_less_than_equal(Math.min(...overscrolled_y_deltas),-100, "The deltaY attribute must be the number of pixels overscrolled."); - - await waitForCompositorCommit(); + function resetOverScrollDeltas() { overscrolled_x_deltas = []; overscrolled_y_deltas = []; - scrollend_received = false; + } - // Scroll left on target div and wait for the doc to get overscroll event. - await touchScrollInTarget(300, target_div, 'left'); - await waitFor(() => { return scrollend_received; }, - 'Document did not receive scrollend event.'); + function fail() { + assert_true(false); + } - // TODO(bokan): It looks like Chrome inappropriately filters some scroll - // events despite |overscroll-behavior| being set to none. The overscroll - // amount here has been loosened but this should be fixed in Chrome. - // https://crbug.com/1112183. - assert_greater_than(overscrolled_y_deltas.length, 0, "There should be at least one overscroll events when overscrolling."); - assert_equals(overscrolled_y_deltas.filter(function(x){ return x!=0; }).length, 0, "The deltaY attribute must be 0 when there is no scrolling in y direction."); - assert_less_than_equal(Math.max(...overscrolled_x_deltas), 0, "The deltaX attribute must be <= 0 when there is overscrolling in left direction."); - assert_less_than_equal(Math.min(...overscrolled_x_deltas),-50, "The deltaX attribute must be the number of pixels overscrolled."); + document.addEventListener("overscroll", onOverscroll); - }, 'Tests that the document gets overscroll event with right deltaX/Y attributes.'); -} + function runTest() { + promise_test(async (t) => { + await resetScrollers(t); + await waitForCompositorCommit(); + resetOverScrollDeltas(); + + assert_equals(document.scrollingElement.scrollTop, 0, + "document should not be scrolled"); + + let scrollend_promise = waitForScrollendEvent(t, target_div); + let max_target_div_scroll_top = target_div.scrollHeight - target_div.clientHeight; + target_div.scrollTop = target_div.scrollHeight; + await scrollend_promise; + assert_equals(target_div.scrollTop, max_target_div_scroll_top, + "target_div should be fully scrolled down"); + + let overscroll_promise = waitForOverscrollEvent(t, document, 2000); + scrollend_promise = waitForScrollendEvent(t, document, 2000); + target_div.addEventListener("scrollend", fail); + // Scroll target div vertically and wait for the doc to get scrollend event. + await scrollElementDown(target_div, target_div.clientHeight + 300); + await waitForCompositorCommit(); + await overscroll_promise; + await scrollend_promise; + + target_div.removeEventListener("scrollend", fail); + // Even though we request 300 extra pixels of scroll, the API above doesn't + // guarantee how much scroll delta will be generated - different browsers + // can consume different amounts for "touch slop" (for example). Ensure the + // overscroll reaches at least 50 pixels which is a fairly conservative + // value. + assert_greater_than(overscrolled_y_deltas.length, 0, "There should be at least one overscroll events when overscrolling."); + assert_equals(overscrolled_x_deltas.filter(function (x) { return x != 0; }).length, 0, "The deltaX attribute must be 0 when there is no scrolling in x direction."); + assert_greater_than_equal(Math.min(...overscrolled_y_deltas), 50, "The deltaY attribute must be the number of pixels overscrolled."); + assert_less_than_equal(Math.max(...overscrolled_y_deltas), 300, "The deltaY attribute must be <= the number of pixels overscrolled (300)"); + assert_greater_than(document.scrollingElement.scrollTop, target_div.clientHeight - 1, + "document is scrolled by the height of target_div"); + }, "testing, vertical"); + + promise_test(async (t) => { + await resetScrollers(t); + await waitForCompositorCommit(); + resetOverScrollDeltas(); + + assert_equals(document.scrollingElement.scrollLeft, 0, + "document should not be scrolled"); + + let scrollend_promise = waitForScrollendEvent(t, target_div); + let max_target_div_scroll_left = target_div.scrollWidth - target_div.clientWidth; + target_div.scrollLeft = target_div.scrollWidth; + await scrollend_promise; + assert_equals(target_div.scrollLeft, max_target_div_scroll_left, + "target_div should be fully scrolled right"); + + let overscroll_promise = waitForOverscrollEvent(t, document, 2000); + scrollend_promise = waitForScrollendEvent(t, document, 2000); + target_div.addEventListener("scrollend", fail); + // Scroll target div horizontally and wait for the doc to get scrollend event. + await scrollElementLeft(target_div, target_div.clientWidth + 300); + await waitForCompositorCommit(); + await overscroll_promise; + await scrollend_promise; + + target_div.removeEventListener("scrollend", fail); + assert_greater_than(document.scrollingElement.scrollLeft, target_div.clientWidth - 1, + "document is scrolled by the height of target_div"); + // TODO(bokan): It looks like Chrome inappropriately filters some scroll + // events despite |overscroll-behavior| being set to none. The overscroll + // amount here has been loosened but this should be fixed in Chrome. + // https://crbug.com/1112183. + assert_greater_than(overscrolled_x_deltas.length, 0, "There should be at least one overscroll events when overscrolling."); + assert_equals(overscrolled_y_deltas.filter(function(x){ return x!=0; }).length, 0, "The deltaY attribute must be 0 when there is no scrolling in y direction."); + assert_less_than_equal(Math.max(...overscrolled_x_deltas), 300, "The deltaX attribute must be <= number of pixels overscrolled (300)"); + assert_greater_than_equal(Math.min(...overscrolled_x_deltas),50, "The deltaX attribute must be the number of pixels overscrolled."); + }, "testing, horizontal"); + } </script> diff --git a/tests/wpt/web-platform-tests/dom/events/scrolling/scroll_support.js b/tests/wpt/web-platform-tests/dom/events/scrolling/scroll_support.js index f561b699534..52c2f58723a 100644 --- a/tests/wpt/web-platform-tests/dom/events/scrolling/scroll_support.js +++ b/tests/wpt/web-platform-tests/dom/events/scrolling/scroll_support.js @@ -14,10 +14,31 @@ async function waitForScrollendEvent(test, target, timeoutMs = 500) { return waitForEvent("scrollend", test, target, timeoutMs); } +async function waitForOverscrollEvent(test, target, timeoutMs = 500) { + return waitForEvent("overscroll", test, target, timeoutMs); +} + async function waitForPointercancelEvent(test, target, timeoutMs = 500) { return waitForEvent("pointercancel", test, target, timeoutMs); } +// Resets the scroll position to (0,0). If a scroll is required, then the +// promise is not resolved until the scrollend event is received. +async function waitForScrollReset(test, scroller, timeoutMs = 500) { + return new Promise(resolve => { + if (scroller.scrollTop == 0 && + scroller.scrollLeft == 0) { + resolve(); + } else { + const eventTarget = + scroller == document.scrollingElement ? document : scroller; + scroller.scrollTop = 0; + scroller.scrollLeft = 0; + waitForScrollendEvent(test, eventTarget, timeoutMs).then(resolve); + } + }); +} + async function createScrollendPromiseForTarget(test, target_div, timeoutMs = 500) { @@ -235,3 +256,23 @@ function conditionHolds(condition, error_message = 'Condition is not true anymor tick(0); }); } + +function scrollElementDown(element, scroll_amount) { + let x = 0; + let y = 0; + let delta_x = 0; + let delta_y = scroll_amount; + let actions = new test_driver.Actions() + .scroll(x, y, delta_x, delta_y, {origin: element}); + return actions.send(); +} + +function scrollElementLeft(element, scroll_amount) { + let x = 0; + let y = 0; + let delta_x = scroll_amount; + let delta_y = 0; + let actions = new test_driver.Actions() + .scroll(x, y, delta_x, delta_y, {origin: element}); + return actions.send(); +} diff --git a/tests/wpt/web-platform-tests/dom/events/scrolling/scrollend-event-fired-to-document.html b/tests/wpt/web-platform-tests/dom/events/scrolling/scrollend-event-fired-to-document.html index 30904553883..797c2eb53da 100644 --- a/tests/wpt/web-platform-tests/dom/events/scrolling/scrollend-event-fired-to-document.html +++ b/tests/wpt/web-platform-tests/dom/events/scrolling/scrollend-event-fired-to-document.html @@ -7,64 +7,100 @@ <script src="/resources/testdriver-vendor.js"></script> <script src="scroll_support.js"></script> <style> -#targetDiv { - width: 200px; - height: 200px; - overflow: scroll; -} + #hspacer { + height: 100px; + width: 100vw; + top: 0; + left: 200px; + /* on the right edge od targetDiv */ + position: absolute; + } -#innerDiv { - width: 400px; - height: 400px; -} + #vspacer { + height: 100vh; + width: 100px; + position: absolute; + } + + #targetDiv { + width: 200px; + height: 200px; + overflow: scroll; + } + + #innerDiv { + width: 400px; + height: 400px; + } </style> <body style="margin:0" onload=runTest()> -<div id="targetDiv"> - <div id="innerDiv"> + <div id="targetDiv"> + <div id="innerDiv"></div> </div> -</div> + <div id="hspacer"></div> + <div id="vspacer"></div> </body> <script> -var target_div = document.getElementById('targetDiv'); -var horizontal_scrollend_arrived = false; -var vertical_scrollend_arrived = false; -function onHorizontalScrollEnd(event) { - assert_false(event.cancelable); - // scrollend events are bubbled when the target node is document. - assert_true(event.bubbles); - horizontal_scrollend_arrived = true; -} -function onVerticalScrollEnd(event) { - assert_false(event.cancelable); - // scrollend events are bubbled when the target node is document. - assert_true(event.bubbles); - vertical_scrollend_arrived = true; -} + var target_div = document.getElementById('targetDiv'); + async function resetScrollers(test) { + await waitForScrollReset(test, target_div); + await waitForScrollReset(test, document.scrollingElement); + } -function runTest() { - promise_test (async (t) => { - // Make sure that no scrollend event is sent to target_div. - target_div.addEventListener("scrollend", - t.unreached_func("target_div got unexpected scrollend event.")); - await waitForCompositorCommit(); + function fail() { + assert_true(false); + } - // Scroll left on target div and wait for the doc to get scrollend event. - document.addEventListener("scrollend", onHorizontalScrollEnd); - await touchScrollInTarget(300, target_div, 'left'); - await waitFor(() => { return horizontal_scrollend_arrived; }, - 'Document did not receive scrollend event after scroll left on target.'); - assert_equals(target_div.scrollLeft, 0); - document.removeEventListener("scrollend", onHorizontalScrollEnd); + function runTest() { + promise_test(async (t) => { + await resetScrollers(t); + await waitForCompositorCommit(); - // Scroll up on target div and wait for the doc to get scrollend event. - document.addEventListener("scrollend", onVerticalScrollEnd); - await touchScrollInTarget(300, target_div, 'up'); - await waitFor(() => { return vertical_scrollend_arrived; }, - 'Document did not receive scrollend event after scroll up on target.'); - assert_equals(target_div.scrollTop, 0); - }, 'Tests that the document gets scrollend event when no element scrolls by ' + - 'touch.'); -} + assert_equals(document.scrollingElement.scrollTop, 0, + "document should not be scrolled"); + + let scrollend_promise = waitForScrollendEvent(t, target_div); + let max_target_div_scroll_top = target_div.scrollHeight - target_div.clientHeight; + target_div.scrollTo({ top: target_div.scrollHeight, left: 0 }); + await scrollend_promise; + assert_approx_equals(target_div.scrollTop, max_target_div_scroll_top, 1, + "target_div should be fully scrolled down"); + + scrollend_promise = waitForScrollendEvent(t, document, 2000); + target_div.addEventListener("scrollend", fail); + // Scroll up on target div and wait for the doc to get scrollend event. + await scrollElementDown(target_div, target_div.clientHeight + 25); + await scrollend_promise; + + target_div.removeEventListener("scrollend", fail); + assert_greater_than(document.scrollingElement.scrollTop, target_div.clientHeight - 1, + "document is scrolled by the height of target_div"); + }, "testing, vertical"); + + promise_test(async (t) => { + await resetScrollers(t); + await waitForCompositorCommit(); + + assert_equals(document.scrollingElement.scrollLeft, 0, + "document should not be scrolled"); + + let scrollend_promise = waitForScrollendEvent(t, target_div); + let max_target_div_scroll_left = target_div.scrollWidth - target_div.clientWidth; + target_div.scrollTo({ left: target_div.scrollWidth, top: 0 }); + await scrollend_promise; + assert_approx_equals(target_div.scrollLeft, max_target_div_scroll_left, 1, + "target_div should be fully scrolled right"); + + scrollend_promise = waitForScrollendEvent(t, document, 2000); + target_div.addEventListener("scrollend", fail); + await scrollElementLeft(target_div, target_div.clientWidth + 25); + await scrollend_promise; + + target_div.removeEventListener("scrollend", fail); + assert_greater_than(document.scrollingElement.scrollLeft, target_div.clientWidth - 1, + "document is scrolled by the height of target_div"); + }, "testing, horizontal"); + } </script> diff --git a/tests/wpt/web-platform-tests/dom/events/scrolling/scrollend-event-fired-to-window.html b/tests/wpt/web-platform-tests/dom/events/scrolling/scrollend-event-fired-to-window.html index ef72f56d2ba..faacf7e572c 100644 --- a/tests/wpt/web-platform-tests/dom/events/scrolling/scrollend-event-fired-to-window.html +++ b/tests/wpt/web-platform-tests/dom/events/scrolling/scrollend-event-fired-to-window.html @@ -7,49 +7,63 @@ <script src="/resources/testdriver-vendor.js"></script> <script src="scroll_support.js"></script> <style> -#targetDiv { - width: 200px; - height: 200px; - overflow: scroll; -} - -#innerDiv { - width: 400px; - height: 400px; -} + #spacer { + height: 100vh; + width: 100px; + } + #targetDiv { + width: 200px; + height: 200px; + overflow: scroll; + } + #innerDiv { + width: 400px; + height: 400px; + } </style> <body style="margin:0" onload=runTest()> -<div id="targetDiv"> - <div id="innerDiv"> + <div id="targetDiv"> + <div id="innerDiv"></div> </div> -</div> + <div id="spacer"></div> </body> <script> -var target_div = document.getElementById('targetDiv'); -var scrollend_arrived = false; -function onScrollEnd(event) { - assert_false(event.cancelable); - // scrollend events targetting document are bubbled to the window. - assert_true(event.bubbles); - scrollend_arrived = true; -} -window.addEventListener("scrollend", onScrollEnd); + var target_div = document.getElementById('targetDiv'); + async function resetScrollers(test) { + await waitForScrollReset(test, target_div); + await waitForScrollReset(test, document.scrollingElement); + } -function runTest() { - promise_test (async (t) => { - // Make sure that no scrollend event is sent to target_div. - target_div.addEventListener("scrollend", - t.unreached_func("target_div got unexpected scrollend event.")); - await waitForCompositorCommit(); + function fail() { + assert_true(false); + } - // Scroll up on target div and wait for the doc to get scrollend event. - await touchScrollInTarget(300, target_div, 'up'); - await waitFor(() => { return scrollend_arrived; }, - 'Window did not receive scrollend event after scroll up on target.'); - assert_equals(target_div.scrollTop, 0); - }, 'Tests that the window gets scrollend event when no element scrolls ' + - 'after touch scrolling.'); -} + function runTest() { + promise_test(async (t) => { + await resetScrollers(t); + await waitForCompositorCommit(); + + assert_equals(document.scrollingElement.scrollTop, 0, + "document should not be scrolled"); + + let scrollend_promise = waitForScrollendEvent(t, target_div); + let max_target_div_scroll_top = target_div.scrollHeight - target_div.clientHeight; + target_div.scrollTo({ top: target_div.scrollHeight, left: 0 }); + await scrollend_promise; + assert_approx_equals(target_div.scrollTop, max_target_div_scroll_top, 1, + "target_div should be fully scrolled down"); + + scrollend_promise = waitForScrollendEvent(t, window, 2000); + target_div.addEventListener("scrollend", fail); + // Scroll up on target div and wait for the doc to get scrollend event. + await scrollElementDown(target_div, target_div.clientHeight + 25); + await scrollend_promise; + + target_div.removeEventListener("scrollend", fail); + assert_greater_than(document.scrollingElement.scrollTop, target_div.clientHeight - 1, + "document is scrolled by the height of target_div"); + }, "testing, vertical"); + } </script> diff --git a/tests/wpt/web-platform-tests/dom/events/scrolling/scrollend-event-for-user-scroll.html b/tests/wpt/web-platform-tests/dom/events/scrolling/scrollend-event-for-user-scroll.html index 64be2532672..561c90ca94c 100644 --- a/tests/wpt/web-platform-tests/dom/events/scrolling/scrollend-event-for-user-scroll.html +++ b/tests/wpt/web-platform-tests/dom/events/scrolling/scrollend-event-for-user-scroll.html @@ -91,7 +91,9 @@ function runTest() { verifyNoScrollendOnDocument(t); const bounds = target_div.getBoundingClientRect(); - const x = bounds.right - scrollbar_width / 2; + // Some versions of webdriver have been known to frown at non-int arguments + // to pointerMove. + const x = bounds.right - Math.round(scrollbar_width / 2); const y = bounds.bottom - 20; await new test_driver.Actions() .addPointer('TestPointer', 'mouse') @@ -118,11 +120,13 @@ function runTest() { await resetTargetScrollState(t, target_div); await waitForCompositorReady(); - const targetScrollendPromise = createScrollendPromiseForTarget(t, target_div); + const targetScrollendPromise = createScrollendPromiseForTarget(t, target_div, 1000); verifyNoScrollendOnDocument(t); const bounds = target_div.getBoundingClientRect(); - const x = bounds.right - scrollbar_width / 2; + // Some versions of webdriver have been known to frown at non-int arguments + // to pointerMove. + const x = bounds.right - Math.round(scrollbar_width / 2); const y = bounds.top + 30; const dy = 30; await new test_driver.Actions() diff --git a/tests/wpt/web-platform-tests/dom/events/scrolling/scrollend-event-not-fired-on-no-scroll.html b/tests/wpt/web-platform-tests/dom/events/scrolling/scrollend-event-not-fired-on-no-scroll.html new file mode 100644 index 00000000000..eaa345aee92 --- /dev/null +++ b/tests/wpt/web-platform-tests/dom/events/scrolling/scrollend-event-not-fired-on-no-scroll.html @@ -0,0 +1,114 @@ +<!DOCTYPE HTML> +<meta name="viewport" content="width=device-width,initial-scale=1,minimum-scale=1"> +<script src="/resources/testharness.js"></script> +<script src="/resources/testharnessreport.js"></script> +<script src="/resources/testdriver.js"></script> +<script src="/resources/testdriver-actions.js"></script> +<script src="/resources/testdriver-vendor.js"></script> +<script src="scroll_support.js"></script> +<style> + #spacer { + height: 100vh; + width: 100px; + position: relative; + } + + #targetDiv { + width: 200px; + height: 200px; + overflow: scroll; + } + + #innerDiv { + width: 400px; + height: 400px; + } +</style> + +<body style="margin:0" onload=runTest()> + <div id="targetDiv"> + <!-- This test uses button elements as a consistent mechanism for + ensuring that focus is on the correct scrolling element when + scrolling via keys --> + <button id="targetButton">target</button> + <div id="innerDiv"></div> + </div> + <button id="docButton">doc</button> + <div id="spacer"></div> +</body> + +<script> + var target_div = document.getElementById('targetDiv'); + + async function resetScrollers(test) { + await waitForScrollReset(test, target_div); + await waitForScrollReset(test, document.scrollingElement); + } + + function getBoundingClientRect(element) { + if (element == document) { + return document.documentElement.getBoundingClientRect(); + } + return element.getBoundingClientRect(); + } + + async function upwardScroll(scrolling_element, button_element, scroll_type) { + if (scroll_type == "wheel") { + let x = 0; + let y = 0; + let delta_x = 0; + let delta_y = -50; + let actions = new test_driver.Actions() + .scroll(x, y, delta_x, delta_y, {origin: scrolling_element}); + await actions.send(); + } else if (scroll_type == "keys") { + const num_keydowns = 5; + const arrowUp = '\uE013'; + for (let i = 0; i < num_keydowns; i++) { + await test_driver.send_keys(button_element, arrowUp); + } + } + } + + async function testScrollendNotFiredOnNoScroll(test, scrolling_element, + listening_element, + button_element, scroll_type) { + await resetScrollers(test); + await waitForCompositorCommit(); + + assert_greater_than(scrolling_element.scrollHeight, + scrolling_element.clientHeight); + assert_equals(scrolling_element.scrollTop, 0); + + let scrollend_promise = waitForScrollendEvent(test, listening_element); + await upwardScroll(scrolling_element, button_element, scroll_type); + await scrollend_promise.then( + (/*resolve*/) => { + assert_true(false, "no scroll, so no scrollend expected"); + }, + (/*reject*/) => { /* Did not see scrollend, which is okay. */ } + ); + } + + function runTest() { + promise_test(async (t) => { + await testScrollendNotFiredOnNoScroll(t, target_div, target_div, + targetButton, "wheel"); + }, "No scroll via wheel on div shouldn't fire scrollend."); + + promise_test(async (t) => { + await testScrollendNotFiredOnNoScroll(t, target_div, target_div, + targetButton, "keys"); + }, "No scroll via keys on div shouldn't fire scrollend."); + + promise_test(async (t) => { + await testScrollendNotFiredOnNoScroll(t, document.scrollingElement, + document, docButton, "wheel"); + }, "No scroll via wheel on document shouldn't fire scrollend."); + + promise_test(async (t) => { + await testScrollendNotFiredOnNoScroll(t, document.scrollingElement, + document, docButton, "keys"); + }, "No scroll via keys on document shouldn't fire scrollend.") + } +</script> diff --git a/tests/wpt/web-platform-tests/encoding/resources/text-html-meta-charset.py b/tests/wpt/web-platform-tests/encoding/resources/text-html-meta-charset.py new file mode 100644 index 00000000000..f73110743ea --- /dev/null +++ b/tests/wpt/web-platform-tests/encoding/resources/text-html-meta-charset.py @@ -0,0 +1,3 @@ +def main(request, response): + response.headers.set(b"Content-Type", b"text/html") + response.content = b"<meta charset=\"" + request.GET.first(b"label") + b"\">hello encoding" diff --git a/tests/wpt/web-platform-tests/encoding/unsupported-labels.window.js b/tests/wpt/web-platform-tests/encoding/unsupported-labels.window.js index 1668a36f234..0262bbbc61f 100644 --- a/tests/wpt/web-platform-tests/encoding/unsupported-labels.window.js +++ b/tests/wpt/web-platform-tests/encoding/unsupported-labels.window.js @@ -167,11 +167,13 @@ t.add_cleanup(() => { frame.remove(); }); - frame.src = "resources/text-plain-charset.py?label=" + label; + // Intentionally use <meta> as Content-Type results in browser differences + // See /html/syntax/charset/inheritance-bogus-meta.html + frame.src = "resources/text-html-meta-charset.py?label=" + label; frame.onload = t.step_func_done(() => { - // If we ever change this default this needs adjusting accordingly. - assert_equals(frame.contentDocument.characterSet, "windows-1252"); - assert_equals(frame.contentDocument.inputEncoding, "windows-1252"); + // UTF-8 as it inherits from the parent document when unrecognized + assert_equals(frame.contentDocument.characterSet, "UTF-8"); + assert_equals(frame.contentDocument.inputEncoding, "UTF-8"); }); document.body.append(frame); }, `${label} is not supported by the Encoding Standard`); diff --git a/tests/wpt/web-platform-tests/fetch/api/basic/response-null-body.any.js b/tests/wpt/web-platform-tests/fetch/api/basic/response-null-body.any.js index 7824a200067..bb058926572 100644 --- a/tests/wpt/web-platform-tests/fetch/api/basic/response-null-body.any.js +++ b/tests/wpt/web-platform-tests/fetch/api/basic/response-null-body.any.js @@ -29,3 +29,10 @@ promise_test(async () => { const text = await resp.text(); assert_equals(text, "", "null bodies result in empty text"); }, `Response.body is null for responses with method=HEAD`); + +promise_test(async (t) => { + const integrity = "sha384-UT6f7WCFp32YJnp1is4l/ZYnOeQKpE8xjmdkLOwZ3nIP+tmT2aMRFQGJomjVf5cE"; + const url = `${RESOURCES_DIR}status.py?code=204&content=hello-world`; + const promise = fetch(url, { method: "GET", integrity }); + promise_rejects_js(t, TypeError, promise); +}, "Null body status with subresource integrity should abort"); diff --git a/tests/wpt/web-platform-tests/fetch/api/request/request-headers.any.js b/tests/wpt/web-platform-tests/fetch/api/request/request-headers.any.js index 6de5dc16e96..22925e01b69 100644 --- a/tests/wpt/web-platform-tests/fetch/api/request/request-headers.any.js +++ b/tests/wpt/web-platform-tests/fetch/api/request/request-headers.any.js @@ -9,6 +9,7 @@ var validRequestHeaders = [ ["sec", "OK"], ["secb", "OK"], ["Set-Cookie2", "OK"], + ["User-Agent", "OK"], ]; var invalidRequestHeaders = [ ["Accept-Charset", "KO"], diff --git a/tests/wpt/web-platform-tests/fetch/api/response/many-empty-chunks-crash.html b/tests/wpt/web-platform-tests/fetch/api/response/many-empty-chunks-crash.html new file mode 100644 index 00000000000..fe5e7d4c075 --- /dev/null +++ b/tests/wpt/web-platform-tests/fetch/api/response/many-empty-chunks-crash.html @@ -0,0 +1,14 @@ +<!DOCTYPE html> +<meta charset="utf-8"> +<script> + new Response(new ReadableStream({ + start(c) { + + for (const i of new Array(40000).fill()) { + c.enqueue(new Uint8Array(0)); + } + c.close(); + + } + })).text(); +</script> diff --git a/tests/wpt/web-platform-tests/fledge/tentative/TODO b/tests/wpt/web-platform-tests/fledge/tentative/TODO index d1d3930886b..d50e4926116 100644 --- a/tests/wpt/web-platform-tests/fledge/tentative/TODO +++ b/tests/wpt/web-platform-tests/fledge/tentative/TODO @@ -3,8 +3,10 @@ Need tests for (likely not a complete list): * directFromSellerSignals. * All generateBid() and scoreAd() input parameters. * All interest group fields (passed to auction, have effect on auction). - Validation when joining/leaving interest group is covered. -* Updates. + Validation when joining/leaving interest group is already covered. +* Filtering/prioritization (including bidding signals influencing priorities) +* Size restrictions. +* Updates (both after auction and triggered). * All auctionConfig parameters (including invalid auctionConfigs, and ones with no buyers). * Interest group expiration. @@ -15,9 +17,10 @@ Need tests for (likely not a complete list): loading URNs in fencedframes in other frames, loading component ad URNs in fenced frames of other frames, etc) * adAuctionConfig passed to reportResult(). -* trusted bidding / scoring signals. +* trusted scoring signals. * Component ads. * Component auctions. +* browserSignals fields in scoring/bidding methods. * In reporting methods, browserSignals fields: dataVersion, topLevelSeller, componentSeller, modifiedBid, adCost, madeHighestScoringOtherBid (with interest group from another origin). @@ -26,8 +29,20 @@ Need tests for (likely not a complete list): * Calling leaveAdInterestGroup() in the frame of a winning ad (and one of its component ads) * Network timeouts. +* Validate specific escaping behavior logic (still under discussion). There + are a number of different rules for which characters are escaped, and + whether spacess are escaped as "%20" or "+". +* Reports not sent if ad not used. +* Ties. +* Interactions with local network access API, which requires public + networks to send CORS preflights for requests made over local networks. + Needs testing with public publisher pages running auctions with + sellers / buyers / update URLs on local networks. If possible: * Aggregate reporting. * Join/leave permission delegation via .well-known files. * k-anonymity. +* Signals request batching. This is an optional feature, so can't require it, + but maybe a test where batching could be used, and make sure things work, + whether batching is used or not? diff --git a/tests/wpt/web-platform-tests/fledge/tentative/insecure-context.window.js b/tests/wpt/web-platform-tests/fledge/tentative/insecure-context.window.js new file mode 100644 index 00000000000..9016277b731 --- /dev/null +++ b/tests/wpt/web-platform-tests/fledge/tentative/insecure-context.window.js @@ -0,0 +1,8 @@ +"use strict"; + +test(() => { + assert_false('joinAdInterestGroup' in navigator, 'joinAdInterestGroup not available.'); + assert_false('leaveAdInterestGroup' in navigator, 'leaveAdInterestGroup not available.'); + assert_false('runAdAuction' in navigator, 'runAdAuction not available.'); + assert_false('updateAdInterestGroups' in navigator, 'updateAdInterestGroups not available.'); +}, "Fledge requires secure context."); diff --git a/tests/wpt/web-platform-tests/fledge/tentative/join-leave-ad-interest-group.https.sub.window.js b/tests/wpt/web-platform-tests/fledge/tentative/join-leave-ad-interest-group.https.sub.window.js index e967d92618c..9c8433219fd 100644 --- a/tests/wpt/web-platform-tests/fledge/tentative/join-leave-ad-interest-group.https.sub.window.js +++ b/tests/wpt/web-platform-tests/fledge/tentative/join-leave-ad-interest-group.https.sub.window.js @@ -2,6 +2,8 @@ // META: script=/common/utils.js // META: script=resources/fledge-util.js +"use strict;" + // These tests are focused on joinAdInterestGroup() and leaveAdInterestGroup(). // Most join tests do not run auctions, but instead only check the result of // the returned promise, since testing that interest groups are actually @@ -510,9 +512,10 @@ promise_test(async test => { // the previously joined interest group, and re-run the auction. There should // be a winner this time. await joinInterestGroup(test, uuid); - let url = await runBasicFledgeAuction(test, uuid); - assert_true('string' === typeof url, - 'Wrong value type returned from auction: ' + typeof url); + let config = await runBasicFledgeAuction(test, uuid); + assert_true(config instanceof FencedFrameConfig, + 'Wrong value type returned from auction: ' + + config.constructor.name); // Re-join the first interest group, and re-run the auction. The interest // group should be overwritten again, and there should be no winner. @@ -526,9 +529,10 @@ promise_test(async test => { // Join an interest group, run an auction to make sure it was joined. await joinInterestGroup(test, uuid); - let url = await runBasicFledgeAuction(test, uuid); - assert_true('string' === typeof url, - 'Wrong value type returned from auction: ' + typeof url); + let config = await runBasicFledgeAuction(test, uuid); + assert_true(config instanceof FencedFrameConfig, + 'Wrong value type returned from auction: ' + + config.constructor.name); // Leave the interest group, re-run the auction. There should be no winner. await leaveInterestGroup(); diff --git a/tests/wpt/web-platform-tests/fledge/tentative/no-winner.https.sub.window.js b/tests/wpt/web-platform-tests/fledge/tentative/no-winner.https.sub.window.js index a944b860d0c..8fd7df50cde 100644 --- a/tests/wpt/web-platform-tests/fledge/tentative/no-winner.https.sub.window.js +++ b/tests/wpt/web-platform-tests/fledge/tentative/no-winner.https.sub.window.js @@ -3,6 +3,8 @@ // META: script=resources/fledge-util.js // META: timeout=long +"use strict;" + // The tests in this file focus on simple auctions (one bidder, one seller, one // origin, one frame) which have no winning bid, either due to errors or due to // there being no bids, except where tests fit better with another set of tests. diff --git a/tests/wpt/web-platform-tests/fledge/tentative/register-ad-beacon.https.sub.window.js b/tests/wpt/web-platform-tests/fledge/tentative/register-ad-beacon.https.sub.window.js index 3df6b408a57..2284ac85b41 100644 --- a/tests/wpt/web-platform-tests/fledge/tentative/register-ad-beacon.https.sub.window.js +++ b/tests/wpt/web-platform-tests/fledge/tentative/register-ad-beacon.https.sub.window.js @@ -3,6 +3,8 @@ // META: script=resources/fledge-util.js // META: timeout=long +"use strict;" + promise_test(async test => { const uuid = generateUuid(test); await runReportTest( diff --git a/tests/wpt/web-platform-tests/fledge/tentative/reporting-arguments.https.sub.window.js b/tests/wpt/web-platform-tests/fledge/tentative/reporting-arguments.https.sub.window.js index 69b7d2fddda..262e0eb87e6 100644 --- a/tests/wpt/web-platform-tests/fledge/tentative/reporting-arguments.https.sub.window.js +++ b/tests/wpt/web-platform-tests/fledge/tentative/reporting-arguments.https.sub.window.js @@ -3,6 +3,8 @@ // META: script=resources/fledge-util.js // META: timeout=long +"use strict;" + // Simplified version of reportTest() for validating arguments to reporting // methods. Only takes expressions to check in reporting methods. "uuid" is // optional, and one is generated if not passed one. diff --git a/tests/wpt/web-platform-tests/fledge/tentative/resources/fledge-util.js b/tests/wpt/web-platform-tests/fledge/tentative/resources/fledge-util.js index 738764f6519..5a05764e74e 100644 --- a/tests/wpt/web-platform-tests/fledge/tentative/resources/fledge-util.js +++ b/tests/wpt/web-platform-tests/fledge/tentative/resources/fledge-util.js @@ -1,16 +1,25 @@ +"use strict;" + const FULL_URL = window.location.href; const BASE_URL = FULL_URL.substring(0, FULL_URL.lastIndexOf('/') + 1); const BASE_PATH = (new URL(BASE_URL)).pathname; const DEFAULT_INTEREST_GROUP_NAME = 'default name'; +// Unlike other URLs, the trustedBiddingSignalsUrl can't have a query string +// that's set by tests, since FLEDGE controls it entirely, so tests that +// exercise it use a fixed URL string. Special keys and interest group names +// control the response. +const TRUSTED_BIDDING_SIGNALS_URL = + `${BASE_URL}resources/trusted-bidding-signals.py`; + // Creates a URL that will be sent to the URL request tracker script. // `uuid` is used to identify the stash shard to use. // `dispatch` affects what the tracker script does. // `id` can be used to uniquely identify tracked requests. It has no effect // on behavior of the script; it only serves to make the URL unique. function createTrackerUrl(origin, uuid, dispatch, id = null) { - let url = new URL(`${origin}${BASE_PATH}resources/request_tracker.py`); + let url = new URL(`${origin}${BASE_PATH}resources/request-tracker.py`); url.searchParams.append('uuid', uuid); url.searchParams.append('dispatch', dispatch); if (id) @@ -82,7 +91,7 @@ async function waitForObservedRequests(uuid, expectedRequests) { // Fail on errors reported by the tracker script. if (trackerData.errors.length > 0) { - throw 'Errors reported by request_tracker.py:' + + throw 'Errors reported by request-tracker.py:' + JSON.stringify(trackerData.errors); } @@ -208,6 +217,7 @@ async function runBasicFledgeAuction(test, uuid, auctionConfigOverrides = {}) { uuid, { reportResult: `sendReportTo('${createSellerReportUrl(uuid)}');` }), interestGroupBuyers: [window.location.origin], + resolveToConfig: true, ...auctionConfigOverrides }; return await navigator.runAdAuction(auctionConfig); @@ -219,17 +229,29 @@ async function runBasicFledgeAuction(test, uuid, auctionConfigOverrides = {}) { // fenced frame to finish loading, since there's no API that can do that. async function runBasicFledgeAuctionAndNavigate(test, uuid, auctionConfigOverrides = {}) { - let url = await runBasicFledgeAuction(test, uuid, auctionConfigOverrides); - assert_equals(typeof url, 'string', - `Wrong value type returned from auction: ${typeof url}`); + let config = await runBasicFledgeAuction(test, uuid, auctionConfigOverrides); + assert_true(config instanceof FencedFrameConfig, + `Wrong value type returned from auction: ${config.constructor.type}`); let fencedFrame = document.createElement('fencedframe'); fencedFrame.mode = 'opaque-ads'; - fencedFrame.src = url; + fencedFrame.config = config; document.body.appendChild(fencedFrame); test.add_cleanup(() => { document.body.removeChild(fencedFrame); }); } +// Joins an interest group and runs an auction, expecting a winner to be +// returned. "testConfig" can optionally modify the interest group or +// auctionConfig. +async function runBasicFledgeTestExpectingWinner(test, testConfig = {}) { + const uuid = generateUuid(test); + await joinInterestGroup(test, uuid, testConfig.interestGroupOverrides); + let config = await runBasicFledgeAuction( + test, uuid, testConfig.auctionConfigOverrides); + assert_true(config instanceof FencedFrameConfig, + `Wrong value type returned from auction: ${config.constructor.type}`); +} + // Joins an interest group and runs an auction, expecting no winner to be // returned. "testConfig" can optionally modify the interest group or // auctionConfig. diff --git a/tests/wpt/web-platform-tests/fledge/tentative/resources/request_tracker.py b/tests/wpt/web-platform-tests/fledge/tentative/resources/request-tracker.py similarity index 100% rename from tests/wpt/web-platform-tests/fledge/tentative/resources/request_tracker.py rename to tests/wpt/web-platform-tests/fledge/tentative/resources/request-tracker.py diff --git a/tests/wpt/web-platform-tests/fledge/tentative/resources/trusted-bidding-signals.py b/tests/wpt/web-platform-tests/fledge/tentative/resources/trusted-bidding-signals.py new file mode 100644 index 00000000000..cdd7052a96a --- /dev/null +++ b/tests/wpt/web-platform-tests/fledge/tentative/resources/trusted-bidding-signals.py @@ -0,0 +1,124 @@ +import json +from urllib.parse import unquote_plus + +# Script to generate trusted bidding signals. The responses depends on the +# keys and interestGroupNames - some result in entire response failures, others +# affect only their own value. Keys are preferentially used over +# interestGroupName, since keys are composible, but some tests need to cover +# there being no keys. +def main(request, response): + hostname = None + keys = None + interestGroupNames = None + + # Manually parse query params. Can't use request.GET because it unescapes as well as splitting, + # and commas mean very different things from escaped commas. + for param in request.url_parts.query.split("&"): + pair = param.split("=", 1) + if len(pair) != 2: + return fail(response, "Bad query parameter: " + param) + # Browsers should escape query params consistently. + if "%20" in pair[1]: + return fail(response, "Query parameter should escape using '+': " + param) + + # Hostname can't be empty. The empty string can be a key or interest group name, though. + if pair[0] == "hostname" and hostname == None and len(pair[1]) > 0: + hostname = pair[1] + continue + if pair[0] == "keys" and keys == None: + keys = list(map(unquote_plus, pair[1].split(","))) + continue + if pair[0] == "interestGroupNames" and interestGroupNames == None: + interestGroupNames = list(map(unquote_plus, pair[1].split(","))) + continue + return fail(response, "Unexpected query parameter: " + param) + + # "interestGroupNames" and "hostname" are mandatory. + if not hostname: + return fail(response, "hostname missing") + if not interestGroupNames: + return fail(response, "interestGroupNames missing") + + response.status = (200, b"OK") + + # The JSON representation of this is used as the response body. This does + # not currently include a "perInterestGroupData" object. + responseBody = {"keys": {}} + + # Set when certain special keys are observed, used in place of the JSON + # representation of `responseBody`, when set. + body = None + + contentType = "application/json" + xAllowFledge = "true" + dataVersion = None + if keys: + for key in keys: + value = "default value" + if key == "close-connection": + # Close connection without writing anything, to simulate a + # network error. The write call is needed to avoid writing the + # default headers. + response.writer.write("") + response.close_connection = True + return + elif key.startswith("replace-body:"): + # Replace entire response body. Continue to run through other + # keys, to allow them to modify request headers. + body = key.split(':', 1)[1] + elif key.startswith("data-version:"): + dataVersion = key.split(':', 1)[1] + elif key == "http-error": + response.status = (404, b"Not found") + elif key == "no-content-type": + contentType = None + elif key == "wrong-content-type": + contentType = 'text/plain' + elif key == "wrongContentType": + contentType = 'text/plain' + elif key == "bad-allow-fledge": + xAllowFledge = "sometimes" + elif key == "fledge-not-allowed": + xAllowFledge = "false" + elif key == "no-allow-fledge": + xAllowFledge = None + elif key == "no-value": + continue + elif key == "wrong-value": + responseBody["keys"]["another-value"] = "another-value" + continue + elif key == "null-value": + value = None + elif key == "num-value": + value = 1 + elif key == "string-value": + value = "1" + elif key == "array-value": + value = [1, "foo", None] + elif key == "object-value": + value = {"a":"b", "c":["d"]} + elif key == "interest-group-names": + value = json.dumps(interestGroupNames) + elif key == "hostname": + value = request.GET.first(b"hostname", b"not-found").decode("ASCII") + responseBody["keys"][key] = value + + if "data-version" in interestGroupNames: + dataVersion = "4" + + if contentType: + response.headers.set("Content-Type", contentType) + if xAllowFledge: + response.headers.set("X-Allow-FLEDGE", xAllowFledge) + if dataVersion: + response.headers.set("Data-Version", dataVersion) + response.headers.set("X-fledge-bidding-signals-format-version", "2") + + if body != None: + return body + return json.dumps(responseBody) + +def fail(response, body): + response.status = (400, "Bad Request") + response.headers.set(b"Content-Type", b"text/plain") + return body diff --git a/tests/wpt/web-platform-tests/fledge/tentative/send-report-to.https.sub.window.js b/tests/wpt/web-platform-tests/fledge/tentative/send-report-to.https.sub.window.js index bb0e7873a70..de22e827a33 100644 --- a/tests/wpt/web-platform-tests/fledge/tentative/send-report-to.https.sub.window.js +++ b/tests/wpt/web-platform-tests/fledge/tentative/send-report-to.https.sub.window.js @@ -3,6 +3,8 @@ // META: script=resources/fledge-util.js // META: timeout=long +"use strict;" + promise_test(async test => { const uuid = generateUuid(test); await runReportTest( diff --git a/tests/wpt/web-platform-tests/fledge/tentative/trusted-bidding-signals.https.sub.window.js b/tests/wpt/web-platform-tests/fledge/tentative/trusted-bidding-signals.https.sub.window.js new file mode 100644 index 00000000000..0f8b2396392 --- /dev/null +++ b/tests/wpt/web-platform-tests/fledge/tentative/trusted-bidding-signals.https.sub.window.js @@ -0,0 +1,431 @@ +// META: script=/resources/testdriver.js +// META: script=/common/utils.js +// META: script=resources/fledge-util.js +// META: timeout=long + +"use strict"; + +// These tests focus on trustedBiddingSignals: Requesting them, handling network +// errors, handling the keys portion of the response, and passing keys to +// worklet scripts, and handling the Data-Version header +// +// Because of request batching, left over interest groups from +// other tests may result in tests that request TRUSTED_BIDDING_SIGNALS_URL +// with certain special keys failing, if interest groups with names other than +// the default one are not successfully left after previously run tests. + +// Helper for trusted bidding signals test. Runs an auction, and fails the +// test if there's no winner. "generateBidCheck" is an expression that should +// be true when evaluated in generateBid(). "interestGroupOverrides" is a +// set of overridden fields added to the default interestGroup when joining it, +// allowing trusted bidding signals keys and URL to be set, in addition to other +// fields. +async function runTrustedBiddingSignalsTest( + test, generateBidCheck, interestGroupOverrides = {}) { + interestGroupOverrides.biddingLogicUrl = + createBiddingScriptUrl({ + generateBid: `if (!(${generateBidCheck})) return false;` }); + await runBasicFledgeTestExpectingWinner( + test, {interestGroupOverrides: interestGroupOverrides}); +} + +// Much like runTrustedBiddingSignalsTest, but runs auctions through reporting +// as well, and evaluates `check` both in generateBid() and reportWin(). Also +// makes sure browserSignals.dataVersion is undefined in scoreAd() and +// reportResult(). +async function runTrustedBiddingSignalsDataVersionTest( + test, check, interestGroupOverrides = {}) { + const uuid = generateUuid(test); + interestGroupOverrides.biddingLogicUrl = + createBiddingScriptUrl({ + generateBid: + `if (!(${check})) return false;`, + reportWin: + `if (!(${check})) + sendReportTo('${createBidderReportUrl(uuid, 'error')}'); + else + sendReportTo('${createBidderReportUrl(uuid)}');` }); + await joinInterestGroup(test, uuid, interestGroupOverrides); + + const auctionConfigOverrides = { + decisionLogicUrl: createDecisionScriptUrl( + uuid, + { scoreAd: + `if (browserSignals.dataVersion !== undefined) + return false;`, + reportResult: + `if (browserSignals.dataVersion !== undefined) + sendReportTo('${createSellerReportUrl(uuid, 'error')}') + sendReportTo('${createSellerReportUrl(uuid)}')`, + }) + } + await runBasicFledgeAuctionAndNavigate(test, uuid, auctionConfigOverrides); + await waitForObservedRequests( + uuid, [createBidderReportUrl(uuid), createSellerReportUrl(uuid)]); +} + +promise_test(async test => { + await runTrustedBiddingSignalsTest(test, 'trustedBiddingSignals === null'); +}, 'No trustedBiddingSignalsKeys or trustedBiddingSignalsUrl.'); + +promise_test(async test => { + await runTrustedBiddingSignalsTest( + test, 'trustedBiddingSignals === null', + { trustedBiddingSignalsKeys: ['numValue'] }); +}, 'trustedBiddingSignalsKeys but no trustedBiddingSignalsUrl.'); + +promise_test(async test => { + await runTrustedBiddingSignalsTest( + test, 'trustedBiddingSignals === null', + { trustedBiddingSignalsUrl: TRUSTED_BIDDING_SIGNALS_URL }); +}, 'trustedBiddingSignalsUrl without trustedBiddingSignalsKeys.'); + +promise_test(async test => { + await runTrustedBiddingSignalsTest( + test, 'trustedBiddingSignals === null', + { trustedBiddingSignalsKeys: ['close-connection'], + trustedBiddingSignalsUrl: TRUSTED_BIDDING_SIGNALS_URL }); +}, 'trustedBiddingSignalsUrl closes the connection without sending anything.'); + +promise_test(async test => { + await runTrustedBiddingSignalsTest( + test, 'trustedBiddingSignals === null', + { trustedBiddingSignalsKeys: ['http-error'], + trustedBiddingSignalsUrl: TRUSTED_BIDDING_SIGNALS_URL }); +}, 'Trusted bidding signals response is HTTP 404 error.'); + +promise_test(async test => { + await runTrustedBiddingSignalsTest( + test, 'trustedBiddingSignals === null', + { trustedBiddingSignalsKeys: ['no-content-type'], + trustedBiddingSignalsUrl: TRUSTED_BIDDING_SIGNALS_URL }); +}, 'Trusted bidding signals response has no content-type.'); + +promise_test(async test => { + await runTrustedBiddingSignalsTest( + test, 'trustedBiddingSignals === null', + { trustedBiddingSignalsKeys: ['wrong-content-type'], + trustedBiddingSignalsUrl: TRUSTED_BIDDING_SIGNALS_URL }); +}, 'Trusted bidding signals response has wrong content-type.'); + +promise_test(async test => { + await runTrustedBiddingSignalsTest( + test, 'trustedBiddingSignals === null', + { trustedBiddingSignalsKeys: ['fledge-not-allowed'], + trustedBiddingSignalsUrl: TRUSTED_BIDDING_SIGNALS_URL }); +}, 'Trusted bidding signals response does not allow fledge.'); + +promise_test(async test => { + await runTrustedBiddingSignalsTest( + test, 'trustedBiddingSignals === null', + { trustedBiddingSignalsKeys: ['bad-allow-fledge'], + trustedBiddingSignalsUrl: TRUSTED_BIDDING_SIGNALS_URL }); +}, 'Trusted bidding signals response has wrong X-Allow-FLEDGE header.'); + +promise_test(async test => { + await runTrustedBiddingSignalsTest( + test, 'trustedBiddingSignals === null', + { trustedBiddingSignalsKeys: ['no-allow-fledge'], + trustedBiddingSignalsUrl: TRUSTED_BIDDING_SIGNALS_URL }); +}, 'Trusted bidding signals response has no X-Allow-FLEDGE header.'); + +promise_test(async test => { + await runTrustedBiddingSignalsTest( + test, 'trustedBiddingSignals === null', + { trustedBiddingSignalsKeys: ['replace-body:'], + trustedBiddingSignalsUrl: TRUSTED_BIDDING_SIGNALS_URL }); +}, 'Trusted bidding signals response has no body.'); + +promise_test(async test => { + await runTrustedBiddingSignalsTest( + test, 'trustedBiddingSignals === null', + { trustedBiddingSignalsKeys: ['replace-body:Not JSON'], + trustedBiddingSignalsUrl: TRUSTED_BIDDING_SIGNALS_URL }); +}, 'Trusted bidding signals response is not JSON.'); + +promise_test(async test => { + await runTrustedBiddingSignalsTest( + test, 'trustedBiddingSignals === null', + { trustedBiddingSignalsKeys: ['replace-body:[]'], + trustedBiddingSignalsUrl: TRUSTED_BIDDING_SIGNALS_URL }); +}, 'Trusted bidding signals response is a JSON array.'); + +promise_test(async test => { + await runTrustedBiddingSignalsTest( + test, 'trustedBiddingSignals === null', + { trustedBiddingSignalsKeys: ['replace-body:{JSON_keys_need_quotes: 1}'], + trustedBiddingSignalsUrl: TRUSTED_BIDDING_SIGNALS_URL }); +}, 'Trusted bidding signals response in invalid JSON object.'); + +promise_test(async test => { + await runTrustedBiddingSignalsTest( + test, 'trustedBiddingSignals["replace-body:{}"] === null', + { trustedBiddingSignalsKeys: ['replace-body:{}'], + trustedBiddingSignalsUrl: TRUSTED_BIDDING_SIGNALS_URL }); +}, 'Trusted bidding signals response has no keys object.'); + +promise_test(async test => { + await runTrustedBiddingSignalsTest( + test, `trustedBiddingSignals['replace-body:{"keys":{}}'] === null`, + { trustedBiddingSignalsKeys: ['replace-body:{"keys":{}}'], + trustedBiddingSignalsUrl: TRUSTED_BIDDING_SIGNALS_URL }); +}, 'Trusted bidding signals response has no keys.'); + +promise_test(async test => { + await runTrustedBiddingSignalsTest( + test, + `trustedBiddingSignals["0"] === null && + trustedBiddingSignals["1"] === null && + trustedBiddingSignals["2"] === null && + trustedBiddingSignals["length"] === null`, + { trustedBiddingSignalsKeys: + ['replace-body:{"keys":[1,2,3]}', "0", "1", "2", "length"], + trustedBiddingSignalsUrl: TRUSTED_BIDDING_SIGNALS_URL }); +}, 'Trusted bidding signals response keys is incorrectly an array.'); + +promise_test(async test => { + await runTrustedBiddingSignalsTest( + test, + `trustedBiddingSignals["wrong-value"] === null && + trustedBiddingSignals["another-value"] === undefined`, + { trustedBiddingSignalsKeys: ['wrong-value'], + trustedBiddingSignalsUrl: TRUSTED_BIDDING_SIGNALS_URL }); +}, 'Trusted bidding signals response has key not in trustedBiddingSignalsKeys.'); + +promise_test(async test => { + await runTrustedBiddingSignalsTest( + test, 'trustedBiddingSignals["null-value"] === null', + { trustedBiddingSignalsKeys: ['null-value'], + trustedBiddingSignalsUrl: TRUSTED_BIDDING_SIGNALS_URL }); +}, 'Trusted bidding signals response null value for key.'); + +promise_test(async test => { + await runTrustedBiddingSignalsTest( + test, 'trustedBiddingSignals["num-value"] === 1', + { trustedBiddingSignalsKeys: ['num-value'], + trustedBiddingSignalsUrl: TRUSTED_BIDDING_SIGNALS_URL }); +}, 'Trusted bidding signals response has a number value for key.'); + +promise_test(async test => { + await runTrustedBiddingSignalsTest( + test, 'trustedBiddingSignals["string-value"] === "1"', + { trustedBiddingSignalsKeys: ['string-value'], + trustedBiddingSignalsUrl: TRUSTED_BIDDING_SIGNALS_URL }); +}, 'Trusted bidding signals response has string value for key.'); + +promise_test(async test => { + await runTrustedBiddingSignalsTest( + test, + `JSON.stringify(trustedBiddingSignals["array-value"]) === '[1,"foo",null]'`, + { trustedBiddingSignalsKeys: ['array-value'], + trustedBiddingSignalsUrl: TRUSTED_BIDDING_SIGNALS_URL }); +}, 'Trusted bidding signals response has array value for key.'); + +promise_test(async test => { + await runTrustedBiddingSignalsTest( + test, + `Object.keys(trustedBiddingSignals["object-value"]).length === 2 && + trustedBiddingSignals["object-value"]["a"] === "b" && + JSON.stringify(trustedBiddingSignals["object-value"]["c"]) === '["d"]'`, + { trustedBiddingSignalsKeys: ['object-value'], + trustedBiddingSignalsUrl: TRUSTED_BIDDING_SIGNALS_URL }); +}, 'Trusted bidding signals response has object value for key.'); + +promise_test(async test => { + await runTrustedBiddingSignalsTest( + test, + 'trustedBiddingSignals[""] === "default value"', + { trustedBiddingSignalsKeys: [''], + trustedBiddingSignalsUrl: TRUSTED_BIDDING_SIGNALS_URL }); +}, 'Trusted bidding signals receives empty string key.'); + +promise_test(async test => { + await runTrustedBiddingSignalsTest( + test, + `Object.keys(trustedBiddingSignals).length === 6 && + trustedBiddingSignals["wrong-value"] === null && + trustedBiddingSignals["null-value"] === null && + trustedBiddingSignals["num-value"] === 1 && + trustedBiddingSignals["string-value"] === "1" && + JSON.stringify(trustedBiddingSignals["array-value"]) === '[1,"foo",null]' && + trustedBiddingSignals[""] === "default value"`, + { trustedBiddingSignalsKeys: ['wrong-value', 'null-value', 'num-value', + 'string-value', 'array-value', ''], + trustedBiddingSignalsUrl: TRUSTED_BIDDING_SIGNALS_URL }); +}, 'Trusted bidding signals response has multiple keys.'); + +promise_test(async test => { + await runTrustedBiddingSignalsTest( + test, + 'trustedBiddingSignals["+%20 \x00?,3#&"] === "default value"', + { trustedBiddingSignalsKeys: ['+%20 \x00?,3#&'], + trustedBiddingSignalsUrl: TRUSTED_BIDDING_SIGNALS_URL }); +}, 'Trusted bidding signals receives escaped key.'); + +promise_test(async test => { + await runTrustedBiddingSignalsTest( + test, + 'trustedBiddingSignals["\x00"] === "default value"', + { trustedBiddingSignalsKeys: ['\x00'], + trustedBiddingSignalsUrl: TRUSTED_BIDDING_SIGNALS_URL }); +}, 'Trusted bidding signals receives null key.'); + +promise_test(async test => { + await runTrustedBiddingSignalsTest( + test, + `trustedBiddingSignals["interest-group-names"] === '["${DEFAULT_INTEREST_GROUP_NAME}"]'`, + { trustedBiddingSignalsKeys: ['interest-group-names'], + trustedBiddingSignalsUrl: TRUSTED_BIDDING_SIGNALS_URL }); +}, 'Trusted bidding signals receives interest group name.'); + +promise_test(async test => { + await runTrustedBiddingSignalsTest( + test, + // Interest group names is a JSONified list of JSONified names, so the + // null ends up being escaped twice. + `trustedBiddingSignals["interest-group-names"] === '["+%20 \\\\u0000?,3#&"]'`, + { name: '+%20 \x00?,3#&', + trustedBiddingSignalsKeys: ['interest-group-names'], + trustedBiddingSignalsUrl: TRUSTED_BIDDING_SIGNALS_URL }); +}, 'Trusted bidding signals receives escaped interest group name.'); + +promise_test(async test => { + await runTrustedBiddingSignalsTest( + test, + `trustedBiddingSignals["interest-group-names"] === '[""]'`, + { name: '', + trustedBiddingSignalsKeys: ['interest-group-names'], + trustedBiddingSignalsUrl: TRUSTED_BIDDING_SIGNALS_URL }); +}, 'Trusted bidding signals receives empty interest group name.'); + +promise_test(async test => { + await runTrustedBiddingSignalsTest( + test, + `trustedBiddingSignals["hostname"] === "${window.location.hostname}"`, + { trustedBiddingSignalsKeys: ['hostname'], + trustedBiddingSignalsUrl: TRUSTED_BIDDING_SIGNALS_URL }); +}, 'Trusted bidding signals receives hostname field.'); + +///////////////////////////////////////////////////////////////////////////// +// Data-Version tests +///////////////////////////////////////////////////////////////////////////// + +promise_test(async test => { + await runTrustedBiddingSignalsDataVersionTest( + test, + 'browserSignals.dataVersion === undefined', + { trustedBiddingSignalsKeys: ['num-value'], + trustedBiddingSignalsUrl: TRUSTED_BIDDING_SIGNALS_URL }); +}, 'Trusted bidding signals response has no data-version.'); + +promise_test(async test => { + await runTrustedBiddingSignalsDataVersionTest( + test, + 'browserSignals.dataVersion === 3', + { trustedBiddingSignalsKeys: ['data-version:3'], + trustedBiddingSignalsUrl: TRUSTED_BIDDING_SIGNALS_URL }); +}, 'Trusted bidding signals response has numeric Data-Version.'); + +promise_test(async test => { + await runTrustedBiddingSignalsDataVersionTest( + test, + 'browserSignals.dataVersion === 0', + { trustedBiddingSignalsKeys: ['data-version:0'], + trustedBiddingSignalsUrl: TRUSTED_BIDDING_SIGNALS_URL }); +}, 'Trusted bidding signals response has min Data-Version.'); + +promise_test(async test => { + await runTrustedBiddingSignalsDataVersionTest( + test, + 'browserSignals.dataVersion === 4294967295', + { trustedBiddingSignalsKeys: ['data-version:4294967295'], + trustedBiddingSignalsUrl: TRUSTED_BIDDING_SIGNALS_URL }); +}, 'Trusted bidding signals response has max Data-Version.'); + +promise_test(async test => { + await runTrustedBiddingSignalsDataVersionTest( + test, + 'browserSignals.dataVersion === undefined', + { trustedBiddingSignalsKeys: ['data-version:4294967296'], + trustedBiddingSignalsUrl: TRUSTED_BIDDING_SIGNALS_URL }); +}, 'Trusted bidding signals response has too large Data-Version.'); + +promise_test(async test => { + await runTrustedBiddingSignalsDataVersionTest( + test, + 'browserSignals.dataVersion === undefined', + { trustedBiddingSignalsKeys: ['data-version:03'], + trustedBiddingSignalsUrl: TRUSTED_BIDDING_SIGNALS_URL }); +}, 'Trusted bidding signals response has Data-Version with leading 0.'); + +promise_test(async test => { + await runTrustedBiddingSignalsDataVersionTest( + test, + 'browserSignals.dataVersion === undefined', + { trustedBiddingSignalsKeys: ['data-version:-1'], + trustedBiddingSignalsUrl: TRUSTED_BIDDING_SIGNALS_URL }); +}, 'Trusted bidding signals response has negative Data-Version.'); + +promise_test(async test => { + await runTrustedBiddingSignalsDataVersionTest( + test, + 'browserSignals.dataVersion === undefined', + { trustedBiddingSignalsKeys: ['data-version:1.3'], + trustedBiddingSignalsUrl: TRUSTED_BIDDING_SIGNALS_URL }); +}, 'Trusted bidding signals response has decimal in Data-Version.'); + +promise_test(async test => { + await runTrustedBiddingSignalsDataVersionTest( + test, + 'browserSignals.dataVersion === undefined', + { trustedBiddingSignalsKeys: ['data-version:2 2'], + trustedBiddingSignalsUrl: TRUSTED_BIDDING_SIGNALS_URL }); +}, 'Trusted bidding signals response has space in Data-Version.'); + +promise_test(async test => { + await runTrustedBiddingSignalsDataVersionTest( + test, + 'browserSignals.dataVersion === undefined', + { trustedBiddingSignalsKeys: ['data-version:0x4'], + trustedBiddingSignalsUrl: TRUSTED_BIDDING_SIGNALS_URL }); +}, 'Trusted bidding signals response has hex Data-Version.'); + +promise_test(async test => { + await runTrustedBiddingSignalsDataVersionTest( + test, + 'browserSignals.dataVersion === 4', + { name: 'data-version', + trustedBiddingSignalsUrl: TRUSTED_BIDDING_SIGNALS_URL }); +}, 'Trusted bidding signals response has Data-Version and no trustedBiddingSignalsKeys.'); + +promise_test(async test => { + await runTrustedBiddingSignalsDataVersionTest( + test, + 'browserSignals.dataVersion === undefined', + { trustedBiddingSignalsKeys: ['data-version:3', 'replace-body:'], + trustedBiddingSignalsUrl: TRUSTED_BIDDING_SIGNALS_URL }); +}, 'Trusted bidding signals response with Data-Version and empty body.'); + +promise_test(async test => { + await runTrustedBiddingSignalsDataVersionTest( + test, + 'browserSignals.dataVersion === undefined', + { trustedBiddingSignalsKeys: ['data-version:3', 'replace-body:[]'], + trustedBiddingSignalsUrl: TRUSTED_BIDDING_SIGNALS_URL }); +}, 'Trusted bidding signals response with Data-Version and JSON array body.'); + +promise_test(async test => { + await runTrustedBiddingSignalsDataVersionTest( + test, + 'browserSignals.dataVersion === undefined', + { trustedBiddingSignalsKeys: ['data-version:3', 'replace-body:{} {}'], + trustedBiddingSignalsUrl: TRUSTED_BIDDING_SIGNALS_URL }); +}, 'Trusted bidding signals response with Data-Version and double JSON object body.'); + +promise_test(async test => { + await runTrustedBiddingSignalsDataVersionTest( + test, + 'browserSignals.dataVersion === 3', + { trustedBiddingSignalsKeys: ['data-version:3', 'replace-body:{"keys":5}'], + trustedBiddingSignalsUrl: TRUSTED_BIDDING_SIGNALS_URL }); +}, 'Trusted bidding signals response with Data-Version and invalid keys entry'); diff --git a/tests/wpt/web-platform-tests/html/anonymous-iframe/resources/common.js b/tests/wpt/web-platform-tests/html/anonymous-iframe/resources/common.js index fea3ecc5a6f..241df1df242 100644 --- a/tests/wpt/web-platform-tests/html/anonymous-iframe/resources/common.js +++ b/tests/wpt/web-platform-tests/html/anonymous-iframe/resources/common.js @@ -38,9 +38,10 @@ const newFencedFrame = (child_origin) => { "|header(Supports-Loading-Mode,fenced-frame)"; const sub_document_token = token(); const fencedframe = document.createElement('fencedframe'); - fencedframe.src = child_origin + executor_path + + const url = child_origin + executor_path + support_loading_mode_fenced_frame + `&uuid=${sub_document_token}`; + fencedframe.config = new FencedFrameConfig(url); document.body.appendChild(fencedframe); return sub_document_token; }; diff --git a/tests/wpt/web-platform-tests/html/browsers/the-window-object/window-indexed-access-vs-named-access.html b/tests/wpt/web-platform-tests/html/browsers/the-window-object/window-indexed-access-vs-named-access.html new file mode 100644 index 00000000000..23b9124ef75 --- /dev/null +++ b/tests/wpt/web-platform-tests/html/browsers/the-window-object/window-indexed-access-vs-named-access.html @@ -0,0 +1,58 @@ +<!doctype html> +<meta charset=utf-8> +<title>Interactions between indexed and named access on the Window object</title> +<link rel="author" title="Delan Azabani" href="dazabani@igalia.com"> +<link rel="help" href="https://html.spec.whatwg.org/multipage/#accessing-other-browsing-contexts"> +<link rel="help" href="https://html.spec.whatwg.org/multipage/#named-access-on-the-window-object"> +<script src="/resources/testharness.js"></script> +<script src="/resources/testharnessreport.js"></script> +<div id=0></div> +<div id=4></div> +<iframe name=3></iframe> +<iframe name=2></iframe> +<iframe name=1></iframe> +<script> +const divs = document.querySelectorAll("div"); +const iframes = document.querySelectorAll("iframe"); +const wp = Object.getPrototypeOf(window); +test(function() { + assert_equals(window[0], iframes[0].contentWindow); + assert_equals(window["0"], iframes[0].contentWindow); +}, "WindowProxy: document-tree child navigable with index 0 (indexed access)"); +test(function() { + assert_equals(window[1], iframes[1].contentWindow); + assert_equals(window["1"], iframes[1].contentWindow); +}, "WindowProxy: document-tree child navigable with index 1 (indexed access)"); +test(function() { + assert_equals(window[2], iframes[2].contentWindow); + assert_equals(window["2"], iframes[2].contentWindow); +}, "WindowProxy: document-tree child navigable with index 2 (indexed access)"); +test(function() { + assert_equals(window[3], iframes[0].contentWindow); + assert_equals(window["3"], iframes[0].contentWindow); +}, "WindowProxy: document-tree child navigable with target name 3 (named access)"); +test(function() { + assert_equals(window[4], divs[1]); + assert_equals(window["4"], divs[1]); +}, "WindowProxy: element with id 4 (named access)"); +test(function() { + assert_equals(wp[0], divs[0]); + assert_equals(wp["0"], divs[0]); +}, "Window prototype: element with id 0 (named access)"); +test(function() { + assert_equals(wp[1], iframes[2].contentWindow); + assert_equals(wp["1"], iframes[2].contentWindow); +}, "Window prototype: document-tree child navigable with target name 1 (named access)"); +test(function() { + assert_equals(wp[2], iframes[1].contentWindow); + assert_equals(wp["2"], iframes[1].contentWindow); +}, "Window prototype: document-tree child navigable with target name 2 (named access)"); +test(function() { + assert_equals(wp[3], iframes[0].contentWindow); + assert_equals(wp["3"], iframes[0].contentWindow); +}, "Window prototype: document-tree child navigable with target name 3 (named access)"); +test(function() { + assert_equals(wp[4], divs[1]); + assert_equals(wp["4"], divs[1]); +}, "Window prototype: element with id 4 (named access)"); +</script> diff --git a/tests/wpt/web-platform-tests/html/canvas/element/compositing/2d.composite.canvas.clear.html b/tests/wpt/web-platform-tests/html/canvas/element/compositing/2d.composite.canvas.clear.html new file mode 100644 index 00000000000..40685597c95 --- /dev/null +++ b/tests/wpt/web-platform-tests/html/canvas/element/compositing/2d.composite.canvas.clear.html @@ -0,0 +1,38 @@ +<!DOCTYPE html> +<!-- DO NOT EDIT! This test has been generated by /html/canvas/tools/gentest.py. --> +<title>Canvas test: 2d.composite.canvas.clear</title> +<script src="/resources/testharness.js"></script> +<script src="/resources/testharnessreport.js"></script> +<script src="/html/canvas/resources/canvas-tests.js"></script> +<link rel="stylesheet" href="/html/canvas/resources/canvas-tests.css"> +<body class="show_output"> + +<h1>2d.composite.canvas.clear</h1> +<p class="desc"></p> + + +<p class="output">Actual output:</p> +<canvas id="c" class="output" width="100" height="50"><p class="fallback">FAIL (fallback content)</p></canvas> +<p class="output expectedtext">Expected output:<p><img src="2d.composite.canvas.clear.png" class="output expected" id="expected" alt=""> +<ul id="d"></ul> +<script> +var t = async_test(""); +_addTest(function(canvas, ctx) { + + +var canvas2 = document.createElement('canvas'); +canvas2.width = canvas.width; +canvas2.height = canvas.height; +var ctx2 = canvas2.getContext('2d'); +ctx2.drawImage(document.getElementById('yellow75.png'), 0, 0); +ctx.fillStyle = 'rgba(0, 255, 255, 0.5)'; +ctx.fillRect(0, 0, 100, 50); +ctx.globalCompositeOperation = 'clear'; +ctx.drawImage(canvas2, 0, 0); +_assertPixelApprox(canvas, 50,25, 0,0,0,0, 5); + + +}); +</script> +<img src="/images/yellow75.png" id="yellow75.png" class="resource"> + diff --git a/tests/wpt/web-platform-tests/html/canvas/element/compositing/2d.composite.canvas.clear.png b/tests/wpt/web-platform-tests/html/canvas/element/compositing/2d.composite.canvas.clear.png new file mode 100644 index 00000000000..eeedd0ff058 Binary files /dev/null and b/tests/wpt/web-platform-tests/html/canvas/element/compositing/2d.composite.canvas.clear.png differ diff --git a/tests/wpt/web-platform-tests/html/canvas/element/compositing/2d.composite.clip.clear.html b/tests/wpt/web-platform-tests/html/canvas/element/compositing/2d.composite.clip.clear.html new file mode 100644 index 00000000000..1757870e996 --- /dev/null +++ b/tests/wpt/web-platform-tests/html/canvas/element/compositing/2d.composite.clip.clear.html @@ -0,0 +1,36 @@ +<!DOCTYPE html> +<!-- DO NOT EDIT! This test has been generated by /html/canvas/tools/gentest.py. --> +<title>Canvas test: 2d.composite.clip.clear</title> +<script src="/resources/testharness.js"></script> +<script src="/resources/testharnessreport.js"></script> +<script src="/html/canvas/resources/canvas-tests.js"></script> +<link rel="stylesheet" href="/html/canvas/resources/canvas-tests.css"> +<body class="show_output"> + +<h1>2d.composite.clip.clear</h1> +<p class="desc">fill() does not affect pixels outside the clip region.</p> + + +<p class="output">Actual output:</p> +<canvas id="c" class="output" width="100" height="50"><p class="fallback">FAIL (fallback content)</p></canvas> +<p class="output expectedtext">Expected output:<p><img src="/images/green-100x50.png" class="output expected" id="expected" alt=""> +<ul id="d"></ul> +<script> +var t = async_test("fill() does not affect pixels outside the clip region."); +_addTest(function(canvas, ctx) { + + +ctx.fillStyle = '#0f0'; +ctx.fillRect(0, 0, 100, 50); +ctx.globalCompositeOperation = 'clear'; +ctx.rect(-20, -20, 10, 10); +ctx.clip(); +ctx.fillStyle = '#f00'; +ctx.fillRect(0, 0, 50, 50); +_assertPixel(canvas, 25,25, 0,255,0,255); +_assertPixel(canvas, 75,25, 0,255,0,255); + + +}); +</script> + diff --git a/tests/wpt/web-platform-tests/html/canvas/element/compositing/2d.composite.image.clear.html b/tests/wpt/web-platform-tests/html/canvas/element/compositing/2d.composite.image.clear.html new file mode 100644 index 00000000000..b9ab69b8385 --- /dev/null +++ b/tests/wpt/web-platform-tests/html/canvas/element/compositing/2d.composite.image.clear.html @@ -0,0 +1,33 @@ +<!DOCTYPE html> +<!-- DO NOT EDIT! This test has been generated by /html/canvas/tools/gentest.py. --> +<title>Canvas test: 2d.composite.image.clear</title> +<script src="/resources/testharness.js"></script> +<script src="/resources/testharnessreport.js"></script> +<script src="/html/canvas/resources/canvas-tests.js"></script> +<link rel="stylesheet" href="/html/canvas/resources/canvas-tests.css"> +<body class="show_output"> + +<h1>2d.composite.image.clear</h1> +<p class="desc"></p> + + +<p class="output">Actual output:</p> +<canvas id="c" class="output" width="100" height="50"><p class="fallback">FAIL (fallback content)</p></canvas> +<p class="output expectedtext">Expected output:<p><img src="2d.composite.image.clear.png" class="output expected" id="expected" alt=""> +<ul id="d"></ul> +<script> +var t = async_test(""); +_addTest(function(canvas, ctx) { + + +ctx.fillStyle = 'rgba(0, 255, 255, 0.5)'; +ctx.fillRect(0, 0, 100, 50); +ctx.globalCompositeOperation = 'clear'; +ctx.drawImage(document.getElementById('yellow75.png'), 0, 0); +_assertPixelApprox(canvas, 50,25, 0,0,0,0, 5); + + +}); +</script> +<img src="/images/yellow75.png" id="yellow75.png" class="resource"> + diff --git a/tests/wpt/web-platform-tests/html/canvas/element/compositing/2d.composite.image.clear.png b/tests/wpt/web-platform-tests/html/canvas/element/compositing/2d.composite.image.clear.png new file mode 100644 index 00000000000..eeedd0ff058 Binary files /dev/null and b/tests/wpt/web-platform-tests/html/canvas/element/compositing/2d.composite.image.clear.png differ diff --git a/tests/wpt/web-platform-tests/html/canvas/element/compositing/2d.composite.solid.clear.html b/tests/wpt/web-platform-tests/html/canvas/element/compositing/2d.composite.solid.clear.html new file mode 100644 index 00000000000..e270df33aba --- /dev/null +++ b/tests/wpt/web-platform-tests/html/canvas/element/compositing/2d.composite.solid.clear.html @@ -0,0 +1,33 @@ +<!DOCTYPE html> +<!-- DO NOT EDIT! This test has been generated by /html/canvas/tools/gentest.py. --> +<title>Canvas test: 2d.composite.solid.clear</title> +<script src="/resources/testharness.js"></script> +<script src="/resources/testharnessreport.js"></script> +<script src="/html/canvas/resources/canvas-tests.js"></script> +<link rel="stylesheet" href="/html/canvas/resources/canvas-tests.css"> +<body class="show_output"> + +<h1>2d.composite.solid.clear</h1> +<p class="desc"></p> + + +<p class="output">Actual output:</p> +<canvas id="c" class="output" width="100" height="50"><p class="fallback">FAIL (fallback content)</p></canvas> +<p class="output expectedtext">Expected output:<p><img src="2d.composite.solid.clear.png" class="output expected" id="expected" alt=""> +<ul id="d"></ul> +<script> +var t = async_test(""); +_addTest(function(canvas, ctx) { + + +ctx.fillStyle = 'rgba(0, 255, 255, 1.0)'; +ctx.fillRect(0, 0, 100, 50); +ctx.globalCompositeOperation = 'clear'; +ctx.fillStyle = 'rgba(255, 255, 0, 1.0)'; +ctx.fillRect(0, 0, 100, 50); +_assertPixelApprox(canvas, 50,25, 0,0,0,0, 5); + + +}); +</script> + diff --git a/tests/wpt/web-platform-tests/html/canvas/element/compositing/2d.composite.solid.clear.png b/tests/wpt/web-platform-tests/html/canvas/element/compositing/2d.composite.solid.clear.png new file mode 100644 index 00000000000..eeedd0ff058 Binary files /dev/null and b/tests/wpt/web-platform-tests/html/canvas/element/compositing/2d.composite.solid.clear.png differ diff --git a/tests/wpt/web-platform-tests/html/canvas/element/compositing/2d.composite.transparent.clear.html b/tests/wpt/web-platform-tests/html/canvas/element/compositing/2d.composite.transparent.clear.html new file mode 100644 index 00000000000..606d925f10a --- /dev/null +++ b/tests/wpt/web-platform-tests/html/canvas/element/compositing/2d.composite.transparent.clear.html @@ -0,0 +1,33 @@ +<!DOCTYPE html> +<!-- DO NOT EDIT! This test has been generated by /html/canvas/tools/gentest.py. --> +<title>Canvas test: 2d.composite.transparent.clear</title> +<script src="/resources/testharness.js"></script> +<script src="/resources/testharnessreport.js"></script> +<script src="/html/canvas/resources/canvas-tests.js"></script> +<link rel="stylesheet" href="/html/canvas/resources/canvas-tests.css"> +<body class="show_output"> + +<h1>2d.composite.transparent.clear</h1> +<p class="desc"></p> + + +<p class="output">Actual output:</p> +<canvas id="c" class="output" width="100" height="50"><p class="fallback">FAIL (fallback content)</p></canvas> +<p class="output expectedtext">Expected output:<p><img src="2d.composite.transparent.clear.png" class="output expected" id="expected" alt=""> +<ul id="d"></ul> +<script> +var t = async_test(""); +_addTest(function(canvas, ctx) { + + +ctx.fillStyle = 'rgba(0, 255, 0, 0.5)'; +ctx.fillRect(0, 0, 100, 50); +ctx.globalCompositeOperation = 'clear'; +ctx.fillStyle = 'rgba(0, 0, 255, 0.75)'; +ctx.fillRect(0, 0, 100, 50); +_assertPixelApprox(canvas, 50,25, 0,0,0,0, 5); + + +}); +</script> + diff --git a/tests/wpt/web-platform-tests/html/canvas/element/compositing/2d.composite.transparent.clear.png b/tests/wpt/web-platform-tests/html/canvas/element/compositing/2d.composite.transparent.clear.png new file mode 100644 index 00000000000..eeedd0ff058 Binary files /dev/null and b/tests/wpt/web-platform-tests/html/canvas/element/compositing/2d.composite.transparent.clear.png differ diff --git a/tests/wpt/web-platform-tests/html/canvas/element/filters/2d.filter.canvasFilterObject.convolveMatrix.exceptions.tentative.html b/tests/wpt/web-platform-tests/html/canvas/element/filters/2d.filter.canvasFilterObject.convolveMatrix.exceptions.tentative.html index 5cfbbf588a0..b85b742b3eb 100644 --- a/tests/wpt/web-platform-tests/html/canvas/element/filters/2d.filter.canvasFilterObject.convolveMatrix.exceptions.tentative.html +++ b/tests/wpt/web-platform-tests/html/canvas/element/filters/2d.filter.canvasFilterObject.convolveMatrix.exceptions.tentative.html @@ -28,8 +28,14 @@ assert_throws_js(TypeError, function() { new CanvasFilter({filter: "convolveMatr assert_throws_js(TypeError, function() { new CanvasFilter({filter: "convolveMatrix", kernelMatrix: [[1, 0], 0]}); }); assert_throws_js(TypeError, function() { new CanvasFilter({filter: "convolveMatrix", kernelMatrix: [[1, 0], [0, Infinity]]}); }); assert_throws_js(TypeError, function() { new CanvasFilter({filter: "convolveMatrix", kernelMatrix: []}); }); +assert_throws_js(TypeError, function() { new CanvasFilter({filter: "convolveMatrix", kernelMatrix: [1]}); }); +assert_throws_js(TypeError, function() { new CanvasFilter({filter: "convolveMatrix", kernelMatrix: [1, 2, 3, 4]}); }); +assert_throws_js(TypeError, function() { new CanvasFilter({filter: "convolveMatrix", kernelMatrix: [[], []]}); }); +assert_throws_js(TypeError, function() { new CanvasFilter({filter: "convolveMatrix", kernelMatrix: [[1, 2], []]}); }); +assert_throws_js(TypeError, function() { new CanvasFilter({filter: "convolveMatrix", kernelMatrix: [[], [1, 2]]}); }); // This should not throw an error ctx.filter = new CanvasFilter({filter: "convolveMatrix", kernelMatrix: [[]]}); +ctx.filter = new CanvasFilter({filter: "convolveMatrix", kernelMatrix: [[1]]}); }); diff --git a/tests/wpt/web-platform-tests/html/canvas/element/filters/2d.filter.canvasFilterObject.dropShadow.exceptions.tentative.html b/tests/wpt/web-platform-tests/html/canvas/element/filters/2d.filter.canvasFilterObject.dropShadow.exceptions.tentative.html new file mode 100644 index 00000000000..d405213d5b6 --- /dev/null +++ b/tests/wpt/web-platform-tests/html/canvas/element/filters/2d.filter.canvasFilterObject.dropShadow.exceptions.tentative.html @@ -0,0 +1,112 @@ +<!DOCTYPE html> +<!-- DO NOT EDIT! This test has been generated by /html/canvas/tools/gentest.py. --> +<title>Canvas test: 2d.filter.canvasFilterObject.dropShadow.exceptions.tentative</title> +<script src="/resources/testharness.js"></script> +<script src="/resources/testharnessreport.js"></script> +<script src="/html/canvas/resources/canvas-tests.js"></script> +<link rel="stylesheet" href="/html/canvas/resources/canvas-tests.css"> +<body class="show_output"> + +<h1>2d.filter.canvasFilterObject.dropShadow.exceptions.tentative</h1> +<p class="desc">Test exceptions on CanvasFilter() dropShadow object</p> + + +<p class="output">Actual output:</p> +<canvas id="c" class="output" width="100" height="50"><p class="fallback">FAIL (fallback content)</p></canvas> + +<ul id="d"></ul> +<script> +var t = async_test("Test exceptions on CanvasFilter() dropShadow object"); +_addTest(function(canvas, ctx) { + +// dx +_assert(new CanvasFilter({filter: 'dropShadow', dx: 10}), "new CanvasFilter({filter: 'dropShadow', dx: 10})"); +_assert(new CanvasFilter({filter: 'dropShadow', dx: -1}), "new CanvasFilter({filter: 'dropShadow', dx: -1})"); +_assert(new CanvasFilter({filter: 'dropShadow', dx: 0.5}), "new CanvasFilter({filter: 'dropShadow', dx: 0.5})"); +_assert(new CanvasFilter({filter: 'dropShadow', dx: null}), "new CanvasFilter({filter: 'dropShadow', dx: null})"); +_assert(new CanvasFilter({filter: 'dropShadow', dx: true}), "new CanvasFilter({filter: 'dropShadow', dx: true})"); +_assert(new CanvasFilter({filter: 'dropShadow', dx: false}), "new CanvasFilter({filter: 'dropShadow', dx: false})"); +_assert(new CanvasFilter({filter: 'dropShadow', dx: []}), "new CanvasFilter({filter: 'dropShadow', dx: []})"); +_assert(new CanvasFilter({filter: 'dropShadow', dx: [20]}), "new CanvasFilter({filter: 'dropShadow', dx: [\""+(20)+"\"]})"); +_assert(new CanvasFilter({filter: 'dropShadow', dx: '30'}), "new CanvasFilter({filter: 'dropShadow', dx: '30'})"); +// dy +_assert(new CanvasFilter({filter: 'dropShadow', dy: 10}), "new CanvasFilter({filter: 'dropShadow', dy: 10})"); +_assert(new CanvasFilter({filter: 'dropShadow', dy: -1}), "new CanvasFilter({filter: 'dropShadow', dy: -1})"); +_assert(new CanvasFilter({filter: 'dropShadow', dy: 0.5}), "new CanvasFilter({filter: 'dropShadow', dy: 0.5})"); +_assert(new CanvasFilter({filter: 'dropShadow', dy: null}), "new CanvasFilter({filter: 'dropShadow', dy: null})"); +_assert(new CanvasFilter({filter: 'dropShadow', dy: true}), "new CanvasFilter({filter: 'dropShadow', dy: true})"); +_assert(new CanvasFilter({filter: 'dropShadow', dy: false}), "new CanvasFilter({filter: 'dropShadow', dy: false})"); +_assert(new CanvasFilter({filter: 'dropShadow', dy: []}), "new CanvasFilter({filter: 'dropShadow', dy: []})"); +_assert(new CanvasFilter({filter: 'dropShadow', dy: [20]}), "new CanvasFilter({filter: 'dropShadow', dy: [\""+(20)+"\"]})"); +_assert(new CanvasFilter({filter: 'dropShadow', dy: '30'}), "new CanvasFilter({filter: 'dropShadow', dy: '30'})"); +// stdDeviation +_assert(new CanvasFilter({filter: 'dropShadow', stdDeviation: 10}), "new CanvasFilter({filter: 'dropShadow', stdDeviation: 10})"); +_assert(new CanvasFilter({filter: 'dropShadow', stdDeviation: -1}), "new CanvasFilter({filter: 'dropShadow', stdDeviation: -1})"); +_assert(new CanvasFilter({filter: 'dropShadow', stdDeviation: 0.5}), "new CanvasFilter({filter: 'dropShadow', stdDeviation: 0.5})"); +_assert(new CanvasFilter({filter: 'dropShadow', stdDeviation: null}), "new CanvasFilter({filter: 'dropShadow', stdDeviation: null})"); +_assert(new CanvasFilter({filter: 'dropShadow', stdDeviation: true}), "new CanvasFilter({filter: 'dropShadow', stdDeviation: true})"); +_assert(new CanvasFilter({filter: 'dropShadow', stdDeviation: false}), "new CanvasFilter({filter: 'dropShadow', stdDeviation: false})"); +_assert(new CanvasFilter({filter: 'dropShadow', stdDeviation: []}), "new CanvasFilter({filter: 'dropShadow', stdDeviation: []})"); +_assert(new CanvasFilter({filter: 'dropShadow', stdDeviation: [20]}), "new CanvasFilter({filter: 'dropShadow', stdDeviation: [\""+(20)+"\"]})"); +_assert(new CanvasFilter({filter: 'dropShadow', stdDeviation: '30'}), "new CanvasFilter({filter: 'dropShadow', stdDeviation: '30'})"); +// floodOpacity +_assert(new CanvasFilter({filter: 'dropShadow', floodOpacity: 10}), "new CanvasFilter({filter: 'dropShadow', floodOpacity: 10})"); +_assert(new CanvasFilter({filter: 'dropShadow', floodOpacity: -1}), "new CanvasFilter({filter: 'dropShadow', floodOpacity: -1})"); +_assert(new CanvasFilter({filter: 'dropShadow', floodOpacity: 0.5}), "new CanvasFilter({filter: 'dropShadow', floodOpacity: 0.5})"); +_assert(new CanvasFilter({filter: 'dropShadow', floodOpacity: null}), "new CanvasFilter({filter: 'dropShadow', floodOpacity: null})"); +_assert(new CanvasFilter({filter: 'dropShadow', floodOpacity: true}), "new CanvasFilter({filter: 'dropShadow', floodOpacity: true})"); +_assert(new CanvasFilter({filter: 'dropShadow', floodOpacity: false}), "new CanvasFilter({filter: 'dropShadow', floodOpacity: false})"); +_assert(new CanvasFilter({filter: 'dropShadow', floodOpacity: []}), "new CanvasFilter({filter: 'dropShadow', floodOpacity: []})"); +_assert(new CanvasFilter({filter: 'dropShadow', floodOpacity: [20]}), "new CanvasFilter({filter: 'dropShadow', floodOpacity: [\""+(20)+"\"]})"); +_assert(new CanvasFilter({filter: 'dropShadow', floodOpacity: '30'}), "new CanvasFilter({filter: 'dropShadow', floodOpacity: '30'})"); +// floodColor +_assert(new CanvasFilter({filter: 'dropShadow', floodColor: 'red'}), "new CanvasFilter({filter: 'dropShadow', floodColor: 'red'})"); +_assert(new CanvasFilter({filter: 'dropShadow', floodColor: 'canvas'}), "new CanvasFilter({filter: 'dropShadow', floodColor: 'canvas'})"); +_assert(new CanvasFilter({filter: 'dropShadow', floodColor: 'rgba(4, -3, 0.5, 1)'}), "new CanvasFilter({filter: 'dropShadow', floodColor: 'rgba(4, -3, 0.5, 1)'})"); +_assert(new CanvasFilter({filter: 'dropShadow', floodColor: '#aabbccdd'}), "new CanvasFilter({filter: 'dropShadow', floodColor: '#aabbccdd'})"); +_assert(new CanvasFilter({filter: 'dropShadow', floodColor: '#abcd'}), "new CanvasFilter({filter: 'dropShadow', floodColor: '#abcd'})"); + +// dx +assert_throws_js(TypeError, function() { new CanvasFilter({filter: 'dropShadow', dx: NaN}); }); +assert_throws_js(TypeError, function() { new CanvasFilter({filter: 'dropShadow', dx: Infinity}); }); +assert_throws_js(TypeError, function() { new CanvasFilter({filter: 'dropShadow', dx: -Infinity}); }); +assert_throws_js(TypeError, function() { new CanvasFilter({filter: 'dropShadow', dx: undefined}); }); +assert_throws_js(TypeError, function() { new CanvasFilter({filter: 'dropShadow', dx: 'test'}); }); +assert_throws_js(TypeError, function() { new CanvasFilter({filter: 'dropShadow', dx: {}}); }); +assert_throws_js(TypeError, function() { new CanvasFilter({filter: 'dropShadow', dx: [1, 2]}); }); +// dy +assert_throws_js(TypeError, function() { new CanvasFilter({filter: 'dropShadow', dy: NaN}); }); +assert_throws_js(TypeError, function() { new CanvasFilter({filter: 'dropShadow', dy: Infinity}); }); +assert_throws_js(TypeError, function() { new CanvasFilter({filter: 'dropShadow', dy: -Infinity}); }); +assert_throws_js(TypeError, function() { new CanvasFilter({filter: 'dropShadow', dy: undefined}); }); +assert_throws_js(TypeError, function() { new CanvasFilter({filter: 'dropShadow', dy: 'test'}); }); +assert_throws_js(TypeError, function() { new CanvasFilter({filter: 'dropShadow', dy: {}}); }); +assert_throws_js(TypeError, function() { new CanvasFilter({filter: 'dropShadow', dy: [1, 2]}); }); +// stdDeviation +assert_throws_js(TypeError, function() { new CanvasFilter({filter: 'dropShadow', stdDeviation: NaN}); }); +assert_throws_js(TypeError, function() { new CanvasFilter({filter: 'dropShadow', stdDeviation: Infinity}); }); +assert_throws_js(TypeError, function() { new CanvasFilter({filter: 'dropShadow', stdDeviation: -Infinity}); }); +assert_throws_js(TypeError, function() { new CanvasFilter({filter: 'dropShadow', stdDeviation: undefined}); }); +assert_throws_js(TypeError, function() { new CanvasFilter({filter: 'dropShadow', stdDeviation: 'test'}); }); +assert_throws_js(TypeError, function() { new CanvasFilter({filter: 'dropShadow', stdDeviation: {}}); }); +assert_throws_js(TypeError, function() { new CanvasFilter({filter: 'dropShadow', stdDeviation: [1, 2]}); }); +// floodOpacity +assert_throws_js(TypeError, function() { new CanvasFilter({filter: 'dropShadow', floodOpacity: NaN}); }); +assert_throws_js(TypeError, function() { new CanvasFilter({filter: 'dropShadow', floodOpacity: Infinity}); }); +assert_throws_js(TypeError, function() { new CanvasFilter({filter: 'dropShadow', floodOpacity: -Infinity}); }); +assert_throws_js(TypeError, function() { new CanvasFilter({filter: 'dropShadow', floodOpacity: undefined}); }); +assert_throws_js(TypeError, function() { new CanvasFilter({filter: 'dropShadow', floodOpacity: 'test'}); }); +assert_throws_js(TypeError, function() { new CanvasFilter({filter: 'dropShadow', floodOpacity: {}}); }); +assert_throws_js(TypeError, function() { new CanvasFilter({filter: 'dropShadow', floodOpacity: [1, 2]}); }); +// floodColor +assert_throws_js(TypeError, function() { new CanvasFilter({filter: 'dropShadow', floodColor: 'test'}); }); +assert_throws_js(TypeError, function() { new CanvasFilter({filter: 'dropShadow', floodColor: 'rgba(NaN, 3, 2, 1)'}); }); +assert_throws_js(TypeError, function() { new CanvasFilter({filter: 'dropShadow', floodColor: 10}); }); +assert_throws_js(TypeError, function() { new CanvasFilter({filter: 'dropShadow', floodColor: undefined}); }); +assert_throws_js(TypeError, function() { new CanvasFilter({filter: 'dropShadow', floodColor: null}); }); +assert_throws_js(TypeError, function() { new CanvasFilter({filter: 'dropShadow', floodColor: NaN}); }); + + +}); +</script> + diff --git a/tests/wpt/web-platform-tests/html/canvas/element/filters/2d.filter.canvasFilterObject.dropShadow.tentative-expected.html b/tests/wpt/web-platform-tests/html/canvas/element/filters/2d.filter.canvasFilterObject.dropShadow.tentative-expected.html new file mode 100644 index 00000000000..90f406fed9f --- /dev/null +++ b/tests/wpt/web-platform-tests/html/canvas/element/filters/2d.filter.canvasFilterObject.dropShadow.tentative-expected.html @@ -0,0 +1,74 @@ +<!DOCTYPE html> +<!-- DO NOT EDIT! This test has been generated by /html/canvas/tools/gentest.py. --> +<title>Canvas test: 2d.filter.canvasFilterObject.dropShadow.tentative</title> +<h1>2d.filter.canvasFilterObject.dropShadow.tentative</h1> +<p class="desc">Test CanvasFilter() dropShadow object.</p> + +<style> + .background { + background-color: teal; + position: absolute; + left: 0px; + width: 620px; + height: 50px; + } + + .testcase { + position: absolute; + background-color: crimson; + width: 80px; + height: 80px; + } +</style> + +<div style="position: relative"> + <div class='background' style="top: 0px;"></div> + <div class='background' style="top: 100px;"></div> + <div class='background' style="top: 200px;"></div> + + <div class='testcase' + style="left: 10px; top: 10px; + filter: drop-shadow(2px 2px 2px black);"> + </div> + <div class='testcase' + style="left: 110px; top: 10px; + filter: drop-shadow(15px 10px 5px rgba(128, 0, 128, 0.7));"> + </div> + <div class='testcase' + style="left: 10px; top: 110px; + filter: drop-shadow(10px 10px 3px purple)"> + </div> + <div class='testcase' + style="left: 110px; top: 110px; + filter: drop-shadow(15px 10px 3px LinkText)"> + </div> + <div class='testcase' + style="left: 210px; top: 110px; + filter: drop-shadow(10px 15px 0px purple)"> + </div> + <div class='testcase' + style="left: 310px; top: 110px; + filter: drop-shadow(9px 12px 3px rgba(20, 50, 130, 1))"> + </div> + <div class='testcase' + style="left: 410px; top: 110px; + filter: drop-shadow(15px 10px 3px rgba(20, 50, 130, 0.7))"> + </div> + <div class='testcase' + style="left: 510px; top: 110px; + filter: drop-shadow(15px 10px 3px rgba(20, 50, 130, 0.49))"> + </div> + + <div class='testcase' + style="left: 10px; top: 210px; + filter: drop-shadow(-5px 0px 0px purple);"> + </div> + <div class='testcase' + style="left: 110px; top: 210px; + filter: drop-shadow(0px 5px 0px rgba(128, 0, 128, 0.8));"> + </div> + <div class='testcase' + style="left: 210px; top: 210px; + filter: drop-shadow(1px 10px 0px rgba(128, 0, 128, 0.4));"> + </div> +</div> diff --git a/tests/wpt/web-platform-tests/html/canvas/element/filters/2d.filter.canvasFilterObject.dropShadow.tentative.html b/tests/wpt/web-platform-tests/html/canvas/element/filters/2d.filter.canvasFilterObject.dropShadow.tentative.html new file mode 100644 index 00000000000..22c6a6547f2 --- /dev/null +++ b/tests/wpt/web-platform-tests/html/canvas/element/filters/2d.filter.canvasFilterObject.dropShadow.tentative.html @@ -0,0 +1,82 @@ +<!DOCTYPE html> +<!-- DO NOT EDIT! This test has been generated by /html/canvas/tools/gentest.py. --> +<link rel="match" href="2d.filter.canvasFilterObject.dropShadow.tentative-expected.html"> +<title>Canvas test: 2d.filter.canvasFilterObject.dropShadow.tentative</title> +<h1>2d.filter.canvasFilterObject.dropShadow.tentative</h1> +<p class="desc">Test CanvasFilter() dropShadow object.</p> +<canvas id="canvas" width="620" height="320"> + <p class="fallback">FAIL (fallback content)</p> +</canvas> +<script> + const canvas = document.getElementById("canvas"); + const ctx = canvas.getContext('2d'); + + ctx.fillStyle = 'teal'; + ctx.fillRect(0, 0, 620, 50); + ctx.fillRect(0, 100, 620, 50); + ctx.fillRect(0, 200, 620, 50); + + ctx.fillStyle = 'crimson'; + + // Parameter defaults. + ctx.filter = new CanvasFilter({filter: "dropShadow"}); + ctx.fillRect(10, 10, 80, 80); + + // All parameters specified. + ctx.filter = new CanvasFilter( + {filter: "dropShadow", dx: 15, dy: 10, stdDeviation: 5, + floodColor: "purple", floodOpacity: 0.7}); + ctx.fillRect(110, 10, 80, 80); + + // Named color. + ctx.filter = new CanvasFilter( + {filter: "dropShadow", dx: 10, dy: 10, stdDeviation: 3, + floodColor: "purple"}); + ctx.fillRect(10, 110, 80, 80); + + // System color. + ctx.filter = new CanvasFilter( + {filter: "dropShadow", dx: 15, dy: 10, stdDeviation: 3, + floodColor: "LinkText"}); + ctx.fillRect(110, 110, 80, 80); + + // No blur. + ctx.filter = new CanvasFilter( + {filter: "dropShadow", dx: 10, dy: 15, stdDeviation: 0, + floodColor: "purple"}); + ctx.fillRect(210, 110, 80, 80); + + // Numerical color. + ctx.filter = new CanvasFilter( + {filter: "dropShadow", dx: 9, dy: 12, stdDeviation: 3, + floodColor: "rgba(20, 50, 130, 1)"}); + ctx.fillRect(310, 110, 80, 80); + + // Transparent floodColor. + ctx.filter = new CanvasFilter( + {filter: "dropShadow", dx: 15, dy: 10, stdDeviation: 3, + floodColor: "rgba(20, 50, 130, 0.7)"}); + ctx.fillRect(410, 110, 80, 80); + + // Transparent floodColor and floodOpacity. + ctx.filter = new CanvasFilter( + {filter: "dropShadow", dx: 15, dy: 10, stdDeviation: 3, + floodColor: "rgba(20, 50, 130, 0.7)", floodOpacity: 0.7}); + ctx.fillRect(510, 110, 80, 80); + + // Degenerate parameter values. + ctx.filter = new CanvasFilter( + {filter: "dropShadow", dx: [-5], dy: [], stdDeviation: null, + floodColor: "purple", floodOpacity: [2]}); + ctx.fillRect(10, 210, 80, 80); + + ctx.filter = new CanvasFilter( + {filter: "dropShadow", dx: null, dy: '5', stdDeviation: -5, + floodColor: "purple", floodOpacity: '0.8'}); + ctx.fillRect(110, 210, 80, 80); + + ctx.filter = new CanvasFilter( + {filter: "dropShadow", dx: true, dy: ['10'], stdDeviation: false, + floodColor: "purple", floodOpacity: ['0.4']}); + ctx.fillRect(210, 210, 80, 80); +</script> diff --git a/tests/wpt/web-platform-tests/html/canvas/element/filters/2d.filter.canvasFilterObject.turbulence.inputTypes.tentative.html b/tests/wpt/web-platform-tests/html/canvas/element/filters/2d.filter.canvasFilterObject.turbulence.inputTypes.tentative.html index c5df23f93de..1f9d978ac8c 100644 --- a/tests/wpt/web-platform-tests/html/canvas/element/filters/2d.filter.canvasFilterObject.turbulence.inputTypes.tentative.html +++ b/tests/wpt/web-platform-tests/html/canvas/element/filters/2d.filter.canvasFilterObject.turbulence.inputTypes.tentative.html @@ -116,7 +116,7 @@ const workingTestCases = [ for (testCase of errorTestCases) { const filterOptions = {...{filter: "turbulence"}, ...testCase}; - assert_throws_js(TypeError, function() { CanvasFilter(filterOptions); }); + assert_throws_js(TypeError, function() { new CanvasFilter(filterOptions); }); } for (testCase of workingTestCases) { diff --git a/tests/wpt/web-platform-tests/html/canvas/offscreen/compositing/2d.composite.canvas.clear.html b/tests/wpt/web-platform-tests/html/canvas/offscreen/compositing/2d.composite.canvas.clear.html new file mode 100644 index 00000000000..0dad0853d3c --- /dev/null +++ b/tests/wpt/web-platform-tests/html/canvas/offscreen/compositing/2d.composite.canvas.clear.html @@ -0,0 +1,47 @@ +<!DOCTYPE html> +<!-- DO NOT EDIT! This test has been generated by /html/canvas/tools/gentest.py. --> +<title>OffscreenCanvas test: 2d.composite.canvas.clear</title> +<script src="/resources/testharness.js"></script> +<script src="/resources/testharnessreport.js"></script> +<script src="/html/canvas/resources/canvas-tests.js"></script> + +<h1>2d.composite.canvas.clear</h1> +<p class="desc"></p> + + +<script> +var t = async_test(""); +var t_pass = t.done.bind(t); +var t_fail = t.step_func(function(reason) { + throw reason; +}); +t.step(function() { + +var canvas = new OffscreenCanvas(100, 50); +var ctx = canvas.getContext('2d'); + + +var offscreenCanvas2 = new OffscreenCanvas(canvas.width, canvas.height); +var ctx2 = offscreenCanvas2.getContext('2d'); +var promise = new Promise(function(resolve, reject) { + var xhr = new XMLHttpRequest(); + xhr.open("GET", '/images/yellow75.png'); + xhr.responseType = 'blob'; + xhr.send(); + xhr.onload = function() { + resolve(xhr.response); + }; +}); +promise.then(function(response) { + createImageBitmap(response).then(bitmap => { + ctx2.drawImage(bitmap, 0, 0); + ctx.fillStyle = 'rgba(0, 255, 255, 0.5)'; + ctx.fillRect(0, 0, 100, 50); + ctx.globalCompositeOperation = 'clear'; + ctx.drawImage(offscreenCanvas2, 0, 0); + _assertPixelApprox(canvas, 50,25, 0,0,0,0, 5); + }, t_fail); +}).then(t_pass, t_fail); + +}); +</script> diff --git a/tests/wpt/web-platform-tests/html/canvas/offscreen/compositing/2d.composite.canvas.clear.worker.js b/tests/wpt/web-platform-tests/html/canvas/offscreen/compositing/2d.composite.canvas.clear.worker.js new file mode 100644 index 00000000000..a06cbdc206a --- /dev/null +++ b/tests/wpt/web-platform-tests/html/canvas/offscreen/compositing/2d.composite.canvas.clear.worker.js @@ -0,0 +1,43 @@ +// DO NOT EDIT! This test has been generated by /html/canvas/tools/gentest.py. +// OffscreenCanvas test in a worker:2d.composite.canvas.clear +// Description: +// Note: + +importScripts("/resources/testharness.js"); +importScripts("/html/canvas/resources/canvas-tests.js"); + +var t = async_test(""); +var t_pass = t.done.bind(t); +var t_fail = t.step_func(function(reason) { + throw reason; +}); +t.step(function() { + +var canvas = new OffscreenCanvas(100, 50); +var ctx = canvas.getContext('2d'); + + +var offscreenCanvas2 = new OffscreenCanvas(canvas.width, canvas.height); +var ctx2 = offscreenCanvas2.getContext('2d'); +var promise = new Promise(function(resolve, reject) { + var xhr = new XMLHttpRequest(); + xhr.open("GET", '/images/yellow75.png'); + xhr.responseType = 'blob'; + xhr.send(); + xhr.onload = function() { + resolve(xhr.response); + }; +}); +promise.then(function(response) { + createImageBitmap(response).then(bitmap => { + ctx2.drawImage(bitmap, 0, 0); + ctx.fillStyle = 'rgba(0, 255, 255, 0.5)'; + ctx.fillRect(0, 0, 100, 50); + ctx.globalCompositeOperation = 'clear'; + ctx.drawImage(offscreenCanvas2, 0, 0); + _assertPixelApprox(canvas, 50,25, 0,0,0,0, 5); + }, t_fail); +}).then(t_pass, t_fail); + +}); +done(); diff --git a/tests/wpt/web-platform-tests/html/canvas/offscreen/compositing/2d.composite.clip.clear.html b/tests/wpt/web-platform-tests/html/canvas/offscreen/compositing/2d.composite.clip.clear.html new file mode 100644 index 00000000000..842bcf19c58 --- /dev/null +++ b/tests/wpt/web-platform-tests/html/canvas/offscreen/compositing/2d.composite.clip.clear.html @@ -0,0 +1,36 @@ +<!DOCTYPE html> +<!-- DO NOT EDIT! This test has been generated by /html/canvas/tools/gentest.py. --> +<title>OffscreenCanvas test: 2d.composite.clip.clear</title> +<script src="/resources/testharness.js"></script> +<script src="/resources/testharnessreport.js"></script> +<script src="/html/canvas/resources/canvas-tests.js"></script> + +<h1>2d.composite.clip.clear</h1> +<p class="desc">fill() does not affect pixels outside the clip region.</p> + + +<script> +var t = async_test("fill() does not affect pixels outside the clip region."); +var t_pass = t.done.bind(t); +var t_fail = t.step_func(function(reason) { + throw reason; +}); +t.step(function() { + +var canvas = new OffscreenCanvas(100, 50); +var ctx = canvas.getContext('2d'); + + +ctx.fillStyle = '#0f0'; +ctx.fillRect(0, 0, 100, 50); +ctx.globalCompositeOperation = 'clear'; +ctx.rect(-20, -20, 10, 10); +ctx.clip(); +ctx.fillStyle = '#f00'; +ctx.fillRect(0, 0, 50, 50); +_assertPixel(canvas, 25,25, 0,255,0,255); +_assertPixel(canvas, 75,25, 0,255,0,255); +t.done(); + +}); +</script> diff --git a/tests/wpt/web-platform-tests/html/canvas/offscreen/compositing/2d.composite.clip.clear.worker.js b/tests/wpt/web-platform-tests/html/canvas/offscreen/compositing/2d.composite.clip.clear.worker.js new file mode 100644 index 00000000000..7365ecc3a7b --- /dev/null +++ b/tests/wpt/web-platform-tests/html/canvas/offscreen/compositing/2d.composite.clip.clear.worker.js @@ -0,0 +1,32 @@ +// DO NOT EDIT! This test has been generated by /html/canvas/tools/gentest.py. +// OffscreenCanvas test in a worker:2d.composite.clip.clear +// Description:fill() does not affect pixels outside the clip region. +// Note: + +importScripts("/resources/testharness.js"); +importScripts("/html/canvas/resources/canvas-tests.js"); + +var t = async_test("fill() does not affect pixels outside the clip region."); +var t_pass = t.done.bind(t); +var t_fail = t.step_func(function(reason) { + throw reason; +}); +t.step(function() { + +var canvas = new OffscreenCanvas(100, 50); +var ctx = canvas.getContext('2d'); + + +ctx.fillStyle = '#0f0'; +ctx.fillRect(0, 0, 100, 50); +ctx.globalCompositeOperation = 'clear'; +ctx.rect(-20, -20, 10, 10); +ctx.clip(); +ctx.fillStyle = '#f00'; +ctx.fillRect(0, 0, 50, 50); +_assertPixel(canvas, 25,25, 0,255,0,255); +_assertPixel(canvas, 75,25, 0,255,0,255); +t.done(); + +}); +done(); diff --git a/tests/wpt/web-platform-tests/html/canvas/offscreen/compositing/2d.composite.image.clear.html b/tests/wpt/web-platform-tests/html/canvas/offscreen/compositing/2d.composite.image.clear.html new file mode 100644 index 00000000000..5858e8f4b5f --- /dev/null +++ b/tests/wpt/web-platform-tests/html/canvas/offscreen/compositing/2d.composite.image.clear.html @@ -0,0 +1,44 @@ +<!DOCTYPE html> +<!-- DO NOT EDIT! This test has been generated by /html/canvas/tools/gentest.py. --> +<title>OffscreenCanvas test: 2d.composite.image.clear</title> +<script src="/resources/testharness.js"></script> +<script src="/resources/testharnessreport.js"></script> +<script src="/html/canvas/resources/canvas-tests.js"></script> + +<h1>2d.composite.image.clear</h1> +<p class="desc"></p> + + +<script> +var t = async_test(""); +var t_pass = t.done.bind(t); +var t_fail = t.step_func(function(reason) { + throw reason; +}); +t.step(function() { + +var canvas = new OffscreenCanvas(100, 50); +var ctx = canvas.getContext('2d'); + + +ctx.fillStyle = 'rgba(0, 255, 255, 0.5)'; +ctx.fillRect(0, 0, 100, 50); +ctx.globalCompositeOperation = 'clear'; +var promise = new Promise(function(resolve, reject) { + var xhr = new XMLHttpRequest(); + xhr.open("GET", '/images/yellow75.png'); + xhr.responseType = 'blob'; + xhr.send(); + xhr.onload = function() { + resolve(xhr.response); + }; +}); +promise.then(function(response) { + createImageBitmap(response).then(bitmap => { + ctx.drawImage(bitmap, 0, 0); + _assertPixelApprox(canvas, 50,25, 0,0,0,0, 5); + }, t_fail); +}).then(t_pass, t_fail); + +}); +</script> diff --git a/tests/wpt/web-platform-tests/html/canvas/offscreen/compositing/2d.composite.image.clear.worker.js b/tests/wpt/web-platform-tests/html/canvas/offscreen/compositing/2d.composite.image.clear.worker.js new file mode 100644 index 00000000000..137654742c1 --- /dev/null +++ b/tests/wpt/web-platform-tests/html/canvas/offscreen/compositing/2d.composite.image.clear.worker.js @@ -0,0 +1,40 @@ +// DO NOT EDIT! This test has been generated by /html/canvas/tools/gentest.py. +// OffscreenCanvas test in a worker:2d.composite.image.clear +// Description: +// Note: + +importScripts("/resources/testharness.js"); +importScripts("/html/canvas/resources/canvas-tests.js"); + +var t = async_test(""); +var t_pass = t.done.bind(t); +var t_fail = t.step_func(function(reason) { + throw reason; +}); +t.step(function() { + +var canvas = new OffscreenCanvas(100, 50); +var ctx = canvas.getContext('2d'); + + +ctx.fillStyle = 'rgba(0, 255, 255, 0.5)'; +ctx.fillRect(0, 0, 100, 50); +ctx.globalCompositeOperation = 'clear'; +var promise = new Promise(function(resolve, reject) { + var xhr = new XMLHttpRequest(); + xhr.open("GET", '/images/yellow75.png'); + xhr.responseType = 'blob'; + xhr.send(); + xhr.onload = function() { + resolve(xhr.response); + }; +}); +promise.then(function(response) { + createImageBitmap(response).then(bitmap => { + ctx.drawImage(bitmap, 0, 0); + _assertPixelApprox(canvas, 50,25, 0,0,0,0, 5); + }, t_fail); +}).then(t_pass, t_fail); + +}); +done(); diff --git a/tests/wpt/web-platform-tests/html/canvas/offscreen/compositing/2d.composite.solid.clear.html b/tests/wpt/web-platform-tests/html/canvas/offscreen/compositing/2d.composite.solid.clear.html new file mode 100644 index 00000000000..a06565d6d8d --- /dev/null +++ b/tests/wpt/web-platform-tests/html/canvas/offscreen/compositing/2d.composite.solid.clear.html @@ -0,0 +1,33 @@ +<!DOCTYPE html> +<!-- DO NOT EDIT! This test has been generated by /html/canvas/tools/gentest.py. --> +<title>OffscreenCanvas test: 2d.composite.solid.clear</title> +<script src="/resources/testharness.js"></script> +<script src="/resources/testharnessreport.js"></script> +<script src="/html/canvas/resources/canvas-tests.js"></script> + +<h1>2d.composite.solid.clear</h1> +<p class="desc"></p> + + +<script> +var t = async_test(""); +var t_pass = t.done.bind(t); +var t_fail = t.step_func(function(reason) { + throw reason; +}); +t.step(function() { + +var canvas = new OffscreenCanvas(100, 50); +var ctx = canvas.getContext('2d'); + + +ctx.fillStyle = 'rgba(0, 255, 255, 1.0)'; +ctx.fillRect(0, 0, 100, 50); +ctx.globalCompositeOperation = 'clear'; +ctx.fillStyle = 'rgba(255, 255, 0, 1.0)'; +ctx.fillRect(0, 0, 100, 50); +_assertPixelApprox(canvas, 50,25, 0,0,0,0, 5); +t.done(); + +}); +</script> diff --git a/tests/wpt/web-platform-tests/html/canvas/offscreen/compositing/2d.composite.solid.clear.worker.js b/tests/wpt/web-platform-tests/html/canvas/offscreen/compositing/2d.composite.solid.clear.worker.js new file mode 100644 index 00000000000..983a3b03e3f --- /dev/null +++ b/tests/wpt/web-platform-tests/html/canvas/offscreen/compositing/2d.composite.solid.clear.worker.js @@ -0,0 +1,29 @@ +// DO NOT EDIT! This test has been generated by /html/canvas/tools/gentest.py. +// OffscreenCanvas test in a worker:2d.composite.solid.clear +// Description: +// Note: + +importScripts("/resources/testharness.js"); +importScripts("/html/canvas/resources/canvas-tests.js"); + +var t = async_test(""); +var t_pass = t.done.bind(t); +var t_fail = t.step_func(function(reason) { + throw reason; +}); +t.step(function() { + +var canvas = new OffscreenCanvas(100, 50); +var ctx = canvas.getContext('2d'); + + +ctx.fillStyle = 'rgba(0, 255, 255, 1.0)'; +ctx.fillRect(0, 0, 100, 50); +ctx.globalCompositeOperation = 'clear'; +ctx.fillStyle = 'rgba(255, 255, 0, 1.0)'; +ctx.fillRect(0, 0, 100, 50); +_assertPixelApprox(canvas, 50,25, 0,0,0,0, 5); +t.done(); + +}); +done(); diff --git a/tests/wpt/web-platform-tests/html/canvas/offscreen/compositing/2d.composite.transparent.clear.html b/tests/wpt/web-platform-tests/html/canvas/offscreen/compositing/2d.composite.transparent.clear.html new file mode 100644 index 00000000000..91ba094fe88 --- /dev/null +++ b/tests/wpt/web-platform-tests/html/canvas/offscreen/compositing/2d.composite.transparent.clear.html @@ -0,0 +1,33 @@ +<!DOCTYPE html> +<!-- DO NOT EDIT! This test has been generated by /html/canvas/tools/gentest.py. --> +<title>OffscreenCanvas test: 2d.composite.transparent.clear</title> +<script src="/resources/testharness.js"></script> +<script src="/resources/testharnessreport.js"></script> +<script src="/html/canvas/resources/canvas-tests.js"></script> + +<h1>2d.composite.transparent.clear</h1> +<p class="desc"></p> + + +<script> +var t = async_test(""); +var t_pass = t.done.bind(t); +var t_fail = t.step_func(function(reason) { + throw reason; +}); +t.step(function() { + +var canvas = new OffscreenCanvas(100, 50); +var ctx = canvas.getContext('2d'); + + +ctx.fillStyle = 'rgba(0, 255, 0, 0.5)'; +ctx.fillRect(0, 0, 100, 50); +ctx.globalCompositeOperation = 'clear'; +ctx.fillStyle = 'rgba(0, 0, 255, 0.75)'; +ctx.fillRect(0, 0, 100, 50); +_assertPixelApprox(canvas, 50,25, 0,0,0,0, 5); +t.done(); + +}); +</script> diff --git a/tests/wpt/web-platform-tests/html/canvas/offscreen/compositing/2d.composite.transparent.clear.worker.js b/tests/wpt/web-platform-tests/html/canvas/offscreen/compositing/2d.composite.transparent.clear.worker.js new file mode 100644 index 00000000000..6624bbc17d2 --- /dev/null +++ b/tests/wpt/web-platform-tests/html/canvas/offscreen/compositing/2d.composite.transparent.clear.worker.js @@ -0,0 +1,29 @@ +// DO NOT EDIT! This test has been generated by /html/canvas/tools/gentest.py. +// OffscreenCanvas test in a worker:2d.composite.transparent.clear +// Description: +// Note: + +importScripts("/resources/testharness.js"); +importScripts("/html/canvas/resources/canvas-tests.js"); + +var t = async_test(""); +var t_pass = t.done.bind(t); +var t_fail = t.step_func(function(reason) { + throw reason; +}); +t.step(function() { + +var canvas = new OffscreenCanvas(100, 50); +var ctx = canvas.getContext('2d'); + + +ctx.fillStyle = 'rgba(0, 255, 0, 0.5)'; +ctx.fillRect(0, 0, 100, 50); +ctx.globalCompositeOperation = 'clear'; +ctx.fillStyle = 'rgba(0, 0, 255, 0.75)'; +ctx.fillRect(0, 0, 100, 50); +_assertPixelApprox(canvas, 50,25, 0,0,0,0, 5); +t.done(); + +}); +done(); diff --git a/tests/wpt/web-platform-tests/html/canvas/offscreen/filters/2d.filter.canvasFilterObject.convolveMatrix.exceptions.tentative.html b/tests/wpt/web-platform-tests/html/canvas/offscreen/filters/2d.filter.canvasFilterObject.convolveMatrix.exceptions.tentative.html index e5efa9cafc5..0a6bddc56d7 100644 --- a/tests/wpt/web-platform-tests/html/canvas/offscreen/filters/2d.filter.canvasFilterObject.convolveMatrix.exceptions.tentative.html +++ b/tests/wpt/web-platform-tests/html/canvas/offscreen/filters/2d.filter.canvasFilterObject.convolveMatrix.exceptions.tentative.html @@ -30,8 +30,14 @@ assert_throws_js(TypeError, function() { new CanvasFilter({filter: "convolveMatr assert_throws_js(TypeError, function() { new CanvasFilter({filter: "convolveMatrix", kernelMatrix: [[1, 0], 0]}); }); assert_throws_js(TypeError, function() { new CanvasFilter({filter: "convolveMatrix", kernelMatrix: [[1, 0], [0, Infinity]]}); }); assert_throws_js(TypeError, function() { new CanvasFilter({filter: "convolveMatrix", kernelMatrix: []}); }); +assert_throws_js(TypeError, function() { new CanvasFilter({filter: "convolveMatrix", kernelMatrix: [1]}); }); +assert_throws_js(TypeError, function() { new CanvasFilter({filter: "convolveMatrix", kernelMatrix: [1, 2, 3, 4]}); }); +assert_throws_js(TypeError, function() { new CanvasFilter({filter: "convolveMatrix", kernelMatrix: [[], []]}); }); +assert_throws_js(TypeError, function() { new CanvasFilter({filter: "convolveMatrix", kernelMatrix: [[1, 2], []]}); }); +assert_throws_js(TypeError, function() { new CanvasFilter({filter: "convolveMatrix", kernelMatrix: [[], [1, 2]]}); }); // This should not throw an error ctx.filter = new CanvasFilter({filter: "convolveMatrix", kernelMatrix: [[]]}); +ctx.filter = new CanvasFilter({filter: "convolveMatrix", kernelMatrix: [[1]]}); })(canvas, ctx); t.done(); diff --git a/tests/wpt/web-platform-tests/html/canvas/offscreen/filters/2d.filter.canvasFilterObject.convolveMatrix.exceptions.tentative.worker.js b/tests/wpt/web-platform-tests/html/canvas/offscreen/filters/2d.filter.canvasFilterObject.convolveMatrix.exceptions.tentative.worker.js index be361ee7aae..bce4c0be158 100644 --- a/tests/wpt/web-platform-tests/html/canvas/offscreen/filters/2d.filter.canvasFilterObject.convolveMatrix.exceptions.tentative.worker.js +++ b/tests/wpt/web-platform-tests/html/canvas/offscreen/filters/2d.filter.canvasFilterObject.convolveMatrix.exceptions.tentative.worker.js @@ -25,8 +25,14 @@ assert_throws_js(TypeError, function() { new CanvasFilter({filter: "convolveMatr assert_throws_js(TypeError, function() { new CanvasFilter({filter: "convolveMatrix", kernelMatrix: [[1, 0], 0]}); }); assert_throws_js(TypeError, function() { new CanvasFilter({filter: "convolveMatrix", kernelMatrix: [[1, 0], [0, Infinity]]}); }); assert_throws_js(TypeError, function() { new CanvasFilter({filter: "convolveMatrix", kernelMatrix: []}); }); +assert_throws_js(TypeError, function() { new CanvasFilter({filter: "convolveMatrix", kernelMatrix: [1]}); }); +assert_throws_js(TypeError, function() { new CanvasFilter({filter: "convolveMatrix", kernelMatrix: [1, 2, 3, 4]}); }); +assert_throws_js(TypeError, function() { new CanvasFilter({filter: "convolveMatrix", kernelMatrix: [[], []]}); }); +assert_throws_js(TypeError, function() { new CanvasFilter({filter: "convolveMatrix", kernelMatrix: [[1, 2], []]}); }); +assert_throws_js(TypeError, function() { new CanvasFilter({filter: "convolveMatrix", kernelMatrix: [[], [1, 2]]}); }); // This should not throw an error ctx.filter = new CanvasFilter({filter: "convolveMatrix", kernelMatrix: [[]]}); +ctx.filter = new CanvasFilter({filter: "convolveMatrix", kernelMatrix: [[1]]}); t.done(); }); diff --git a/tests/wpt/web-platform-tests/html/canvas/offscreen/filters/2d.filter.canvasFilterObject.dropShadow.exceptions.tentative.html b/tests/wpt/web-platform-tests/html/canvas/offscreen/filters/2d.filter.canvasFilterObject.dropShadow.exceptions.tentative.html new file mode 100644 index 00000000000..7acc1e492d0 --- /dev/null +++ b/tests/wpt/web-platform-tests/html/canvas/offscreen/filters/2d.filter.canvasFilterObject.dropShadow.exceptions.tentative.html @@ -0,0 +1,114 @@ +<!DOCTYPE html> +<!-- DO NOT EDIT! This test has been generated by /html/canvas/tools/gentest.py. --> +<title>OffscreenCanvas test: 2d.filter.canvasFilterObject.dropShadow.exceptions.tentative</title> +<script src="/resources/testharness.js"></script> +<script src="/resources/testharnessreport.js"></script> +<script src="/html/canvas/resources/canvas-tests.js"></script> + +<h1>2d.filter.canvasFilterObject.dropShadow.exceptions.tentative</h1> +<p class="desc">Test exceptions on CanvasFilter() dropShadow object</p> + + +<script> +var t = async_test("Test exceptions on CanvasFilter() dropShadow object"); +var t_pass = t.done.bind(t); +var t_fail = t.step_func(function(reason) { + throw reason; +}); +t.step(async function() { + +var canvas = new OffscreenCanvas(100, 50); +var ctx = canvas.getContext('2d'); + +await (function(canvas, ctx) { +// dx +_assert(new CanvasFilter({filter: 'dropShadow', dx: 10}), "new CanvasFilter({filter: 'dropShadow', dx: 10})"); +_assert(new CanvasFilter({filter: 'dropShadow', dx: -1}), "new CanvasFilter({filter: 'dropShadow', dx: -1})"); +_assert(new CanvasFilter({filter: 'dropShadow', dx: 0.5}), "new CanvasFilter({filter: 'dropShadow', dx: 0.5})"); +_assert(new CanvasFilter({filter: 'dropShadow', dx: null}), "new CanvasFilter({filter: 'dropShadow', dx: null})"); +_assert(new CanvasFilter({filter: 'dropShadow', dx: true}), "new CanvasFilter({filter: 'dropShadow', dx: true})"); +_assert(new CanvasFilter({filter: 'dropShadow', dx: false}), "new CanvasFilter({filter: 'dropShadow', dx: false})"); +_assert(new CanvasFilter({filter: 'dropShadow', dx: []}), "new CanvasFilter({filter: 'dropShadow', dx: []})"); +_assert(new CanvasFilter({filter: 'dropShadow', dx: [20]}), "new CanvasFilter({filter: 'dropShadow', dx: [\""+(20)+"\"]})"); +_assert(new CanvasFilter({filter: 'dropShadow', dx: '30'}), "new CanvasFilter({filter: 'dropShadow', dx: '30'})"); +// dy +_assert(new CanvasFilter({filter: 'dropShadow', dy: 10}), "new CanvasFilter({filter: 'dropShadow', dy: 10})"); +_assert(new CanvasFilter({filter: 'dropShadow', dy: -1}), "new CanvasFilter({filter: 'dropShadow', dy: -1})"); +_assert(new CanvasFilter({filter: 'dropShadow', dy: 0.5}), "new CanvasFilter({filter: 'dropShadow', dy: 0.5})"); +_assert(new CanvasFilter({filter: 'dropShadow', dy: null}), "new CanvasFilter({filter: 'dropShadow', dy: null})"); +_assert(new CanvasFilter({filter: 'dropShadow', dy: true}), "new CanvasFilter({filter: 'dropShadow', dy: true})"); +_assert(new CanvasFilter({filter: 'dropShadow', dy: false}), "new CanvasFilter({filter: 'dropShadow', dy: false})"); +_assert(new CanvasFilter({filter: 'dropShadow', dy: []}), "new CanvasFilter({filter: 'dropShadow', dy: []})"); +_assert(new CanvasFilter({filter: 'dropShadow', dy: [20]}), "new CanvasFilter({filter: 'dropShadow', dy: [\""+(20)+"\"]})"); +_assert(new CanvasFilter({filter: 'dropShadow', dy: '30'}), "new CanvasFilter({filter: 'dropShadow', dy: '30'})"); +// stdDeviation +_assert(new CanvasFilter({filter: 'dropShadow', stdDeviation: 10}), "new CanvasFilter({filter: 'dropShadow', stdDeviation: 10})"); +_assert(new CanvasFilter({filter: 'dropShadow', stdDeviation: -1}), "new CanvasFilter({filter: 'dropShadow', stdDeviation: -1})"); +_assert(new CanvasFilter({filter: 'dropShadow', stdDeviation: 0.5}), "new CanvasFilter({filter: 'dropShadow', stdDeviation: 0.5})"); +_assert(new CanvasFilter({filter: 'dropShadow', stdDeviation: null}), "new CanvasFilter({filter: 'dropShadow', stdDeviation: null})"); +_assert(new CanvasFilter({filter: 'dropShadow', stdDeviation: true}), "new CanvasFilter({filter: 'dropShadow', stdDeviation: true})"); +_assert(new CanvasFilter({filter: 'dropShadow', stdDeviation: false}), "new CanvasFilter({filter: 'dropShadow', stdDeviation: false})"); +_assert(new CanvasFilter({filter: 'dropShadow', stdDeviation: []}), "new CanvasFilter({filter: 'dropShadow', stdDeviation: []})"); +_assert(new CanvasFilter({filter: 'dropShadow', stdDeviation: [20]}), "new CanvasFilter({filter: 'dropShadow', stdDeviation: [\""+(20)+"\"]})"); +_assert(new CanvasFilter({filter: 'dropShadow', stdDeviation: '30'}), "new CanvasFilter({filter: 'dropShadow', stdDeviation: '30'})"); +// floodOpacity +_assert(new CanvasFilter({filter: 'dropShadow', floodOpacity: 10}), "new CanvasFilter({filter: 'dropShadow', floodOpacity: 10})"); +_assert(new CanvasFilter({filter: 'dropShadow', floodOpacity: -1}), "new CanvasFilter({filter: 'dropShadow', floodOpacity: -1})"); +_assert(new CanvasFilter({filter: 'dropShadow', floodOpacity: 0.5}), "new CanvasFilter({filter: 'dropShadow', floodOpacity: 0.5})"); +_assert(new CanvasFilter({filter: 'dropShadow', floodOpacity: null}), "new CanvasFilter({filter: 'dropShadow', floodOpacity: null})"); +_assert(new CanvasFilter({filter: 'dropShadow', floodOpacity: true}), "new CanvasFilter({filter: 'dropShadow', floodOpacity: true})"); +_assert(new CanvasFilter({filter: 'dropShadow', floodOpacity: false}), "new CanvasFilter({filter: 'dropShadow', floodOpacity: false})"); +_assert(new CanvasFilter({filter: 'dropShadow', floodOpacity: []}), "new CanvasFilter({filter: 'dropShadow', floodOpacity: []})"); +_assert(new CanvasFilter({filter: 'dropShadow', floodOpacity: [20]}), "new CanvasFilter({filter: 'dropShadow', floodOpacity: [\""+(20)+"\"]})"); +_assert(new CanvasFilter({filter: 'dropShadow', floodOpacity: '30'}), "new CanvasFilter({filter: 'dropShadow', floodOpacity: '30'})"); +// floodColor +_assert(new CanvasFilter({filter: 'dropShadow', floodColor: 'red'}), "new CanvasFilter({filter: 'dropShadow', floodColor: 'red'})"); +_assert(new CanvasFilter({filter: 'dropShadow', floodColor: 'canvas'}), "new CanvasFilter({filter: 'dropShadow', floodColor: 'canvas'})"); +_assert(new CanvasFilter({filter: 'dropShadow', floodColor: 'rgba(4, -3, 0.5, 1)'}), "new CanvasFilter({filter: 'dropShadow', floodColor: 'rgba(4, -3, 0.5, 1)'})"); +_assert(new CanvasFilter({filter: 'dropShadow', floodColor: '#aabbccdd'}), "new CanvasFilter({filter: 'dropShadow', floodColor: '#aabbccdd'})"); +_assert(new CanvasFilter({filter: 'dropShadow', floodColor: '#abcd'}), "new CanvasFilter({filter: 'dropShadow', floodColor: '#abcd'})"); + +// dx +assert_throws_js(TypeError, function() { new CanvasFilter({filter: 'dropShadow', dx: NaN}); }); +assert_throws_js(TypeError, function() { new CanvasFilter({filter: 'dropShadow', dx: Infinity}); }); +assert_throws_js(TypeError, function() { new CanvasFilter({filter: 'dropShadow', dx: -Infinity}); }); +assert_throws_js(TypeError, function() { new CanvasFilter({filter: 'dropShadow', dx: undefined}); }); +assert_throws_js(TypeError, function() { new CanvasFilter({filter: 'dropShadow', dx: 'test'}); }); +assert_throws_js(TypeError, function() { new CanvasFilter({filter: 'dropShadow', dx: {}}); }); +assert_throws_js(TypeError, function() { new CanvasFilter({filter: 'dropShadow', dx: [1, 2]}); }); +// dy +assert_throws_js(TypeError, function() { new CanvasFilter({filter: 'dropShadow', dy: NaN}); }); +assert_throws_js(TypeError, function() { new CanvasFilter({filter: 'dropShadow', dy: Infinity}); }); +assert_throws_js(TypeError, function() { new CanvasFilter({filter: 'dropShadow', dy: -Infinity}); }); +assert_throws_js(TypeError, function() { new CanvasFilter({filter: 'dropShadow', dy: undefined}); }); +assert_throws_js(TypeError, function() { new CanvasFilter({filter: 'dropShadow', dy: 'test'}); }); +assert_throws_js(TypeError, function() { new CanvasFilter({filter: 'dropShadow', dy: {}}); }); +assert_throws_js(TypeError, function() { new CanvasFilter({filter: 'dropShadow', dy: [1, 2]}); }); +// stdDeviation +assert_throws_js(TypeError, function() { new CanvasFilter({filter: 'dropShadow', stdDeviation: NaN}); }); +assert_throws_js(TypeError, function() { new CanvasFilter({filter: 'dropShadow', stdDeviation: Infinity}); }); +assert_throws_js(TypeError, function() { new CanvasFilter({filter: 'dropShadow', stdDeviation: -Infinity}); }); +assert_throws_js(TypeError, function() { new CanvasFilter({filter: 'dropShadow', stdDeviation: undefined}); }); +assert_throws_js(TypeError, function() { new CanvasFilter({filter: 'dropShadow', stdDeviation: 'test'}); }); +assert_throws_js(TypeError, function() { new CanvasFilter({filter: 'dropShadow', stdDeviation: {}}); }); +assert_throws_js(TypeError, function() { new CanvasFilter({filter: 'dropShadow', stdDeviation: [1, 2]}); }); +// floodOpacity +assert_throws_js(TypeError, function() { new CanvasFilter({filter: 'dropShadow', floodOpacity: NaN}); }); +assert_throws_js(TypeError, function() { new CanvasFilter({filter: 'dropShadow', floodOpacity: Infinity}); }); +assert_throws_js(TypeError, function() { new CanvasFilter({filter: 'dropShadow', floodOpacity: -Infinity}); }); +assert_throws_js(TypeError, function() { new CanvasFilter({filter: 'dropShadow', floodOpacity: undefined}); }); +assert_throws_js(TypeError, function() { new CanvasFilter({filter: 'dropShadow', floodOpacity: 'test'}); }); +assert_throws_js(TypeError, function() { new CanvasFilter({filter: 'dropShadow', floodOpacity: {}}); }); +assert_throws_js(TypeError, function() { new CanvasFilter({filter: 'dropShadow', floodOpacity: [1, 2]}); }); +// floodColor +assert_throws_js(TypeError, function() { new CanvasFilter({filter: 'dropShadow', floodColor: 'test'}); }); +assert_throws_js(TypeError, function() { new CanvasFilter({filter: 'dropShadow', floodColor: 'rgba(NaN, 3, 2, 1)'}); }); +assert_throws_js(TypeError, function() { new CanvasFilter({filter: 'dropShadow', floodColor: 10}); }); +assert_throws_js(TypeError, function() { new CanvasFilter({filter: 'dropShadow', floodColor: undefined}); }); +assert_throws_js(TypeError, function() { new CanvasFilter({filter: 'dropShadow', floodColor: null}); }); +assert_throws_js(TypeError, function() { new CanvasFilter({filter: 'dropShadow', floodColor: NaN}); }); +})(canvas, ctx); +t.done(); + +}); +</script> diff --git a/tests/wpt/web-platform-tests/html/canvas/offscreen/filters/2d.filter.canvasFilterObject.dropShadow.exceptions.tentative.worker.js b/tests/wpt/web-platform-tests/html/canvas/offscreen/filters/2d.filter.canvasFilterObject.dropShadow.exceptions.tentative.worker.js new file mode 100644 index 00000000000..2746428a884 --- /dev/null +++ b/tests/wpt/web-platform-tests/html/canvas/offscreen/filters/2d.filter.canvasFilterObject.dropShadow.exceptions.tentative.worker.js @@ -0,0 +1,108 @@ +// DO NOT EDIT! This test has been generated by /html/canvas/tools/gentest.py. +// OffscreenCanvas test in a worker:2d.filter.canvasFilterObject.dropShadow.exceptions.tentative +// Description:Test exceptions on CanvasFilter() dropShadow object +// Note: + +importScripts("/resources/testharness.js"); +importScripts("/html/canvas/resources/canvas-tests.js"); + +var t = async_test("Test exceptions on CanvasFilter() dropShadow object"); +var t_pass = t.done.bind(t); +var t_fail = t.step_func(function(reason) { + throw reason; +}); +t.step(function() { + +var canvas = new OffscreenCanvas(100, 50); +var ctx = canvas.getContext('2d'); + +// dx +_assert(new CanvasFilter({filter: 'dropShadow', dx: 10}), "new CanvasFilter({filter: 'dropShadow', dx: 10})"); +_assert(new CanvasFilter({filter: 'dropShadow', dx: -1}), "new CanvasFilter({filter: 'dropShadow', dx: -1})"); +_assert(new CanvasFilter({filter: 'dropShadow', dx: 0.5}), "new CanvasFilter({filter: 'dropShadow', dx: 0.5})"); +_assert(new CanvasFilter({filter: 'dropShadow', dx: null}), "new CanvasFilter({filter: 'dropShadow', dx: null})"); +_assert(new CanvasFilter({filter: 'dropShadow', dx: true}), "new CanvasFilter({filter: 'dropShadow', dx: true})"); +_assert(new CanvasFilter({filter: 'dropShadow', dx: false}), "new CanvasFilter({filter: 'dropShadow', dx: false})"); +_assert(new CanvasFilter({filter: 'dropShadow', dx: []}), "new CanvasFilter({filter: 'dropShadow', dx: []})"); +_assert(new CanvasFilter({filter: 'dropShadow', dx: [20]}), "new CanvasFilter({filter: 'dropShadow', dx: [\""+(20)+"\"]})"); +_assert(new CanvasFilter({filter: 'dropShadow', dx: '30'}), "new CanvasFilter({filter: 'dropShadow', dx: '30'})"); +// dy +_assert(new CanvasFilter({filter: 'dropShadow', dy: 10}), "new CanvasFilter({filter: 'dropShadow', dy: 10})"); +_assert(new CanvasFilter({filter: 'dropShadow', dy: -1}), "new CanvasFilter({filter: 'dropShadow', dy: -1})"); +_assert(new CanvasFilter({filter: 'dropShadow', dy: 0.5}), "new CanvasFilter({filter: 'dropShadow', dy: 0.5})"); +_assert(new CanvasFilter({filter: 'dropShadow', dy: null}), "new CanvasFilter({filter: 'dropShadow', dy: null})"); +_assert(new CanvasFilter({filter: 'dropShadow', dy: true}), "new CanvasFilter({filter: 'dropShadow', dy: true})"); +_assert(new CanvasFilter({filter: 'dropShadow', dy: false}), "new CanvasFilter({filter: 'dropShadow', dy: false})"); +_assert(new CanvasFilter({filter: 'dropShadow', dy: []}), "new CanvasFilter({filter: 'dropShadow', dy: []})"); +_assert(new CanvasFilter({filter: 'dropShadow', dy: [20]}), "new CanvasFilter({filter: 'dropShadow', dy: [\""+(20)+"\"]})"); +_assert(new CanvasFilter({filter: 'dropShadow', dy: '30'}), "new CanvasFilter({filter: 'dropShadow', dy: '30'})"); +// stdDeviation +_assert(new CanvasFilter({filter: 'dropShadow', stdDeviation: 10}), "new CanvasFilter({filter: 'dropShadow', stdDeviation: 10})"); +_assert(new CanvasFilter({filter: 'dropShadow', stdDeviation: -1}), "new CanvasFilter({filter: 'dropShadow', stdDeviation: -1})"); +_assert(new CanvasFilter({filter: 'dropShadow', stdDeviation: 0.5}), "new CanvasFilter({filter: 'dropShadow', stdDeviation: 0.5})"); +_assert(new CanvasFilter({filter: 'dropShadow', stdDeviation: null}), "new CanvasFilter({filter: 'dropShadow', stdDeviation: null})"); +_assert(new CanvasFilter({filter: 'dropShadow', stdDeviation: true}), "new CanvasFilter({filter: 'dropShadow', stdDeviation: true})"); +_assert(new CanvasFilter({filter: 'dropShadow', stdDeviation: false}), "new CanvasFilter({filter: 'dropShadow', stdDeviation: false})"); +_assert(new CanvasFilter({filter: 'dropShadow', stdDeviation: []}), "new CanvasFilter({filter: 'dropShadow', stdDeviation: []})"); +_assert(new CanvasFilter({filter: 'dropShadow', stdDeviation: [20]}), "new CanvasFilter({filter: 'dropShadow', stdDeviation: [\""+(20)+"\"]})"); +_assert(new CanvasFilter({filter: 'dropShadow', stdDeviation: '30'}), "new CanvasFilter({filter: 'dropShadow', stdDeviation: '30'})"); +// floodOpacity +_assert(new CanvasFilter({filter: 'dropShadow', floodOpacity: 10}), "new CanvasFilter({filter: 'dropShadow', floodOpacity: 10})"); +_assert(new CanvasFilter({filter: 'dropShadow', floodOpacity: -1}), "new CanvasFilter({filter: 'dropShadow', floodOpacity: -1})"); +_assert(new CanvasFilter({filter: 'dropShadow', floodOpacity: 0.5}), "new CanvasFilter({filter: 'dropShadow', floodOpacity: 0.5})"); +_assert(new CanvasFilter({filter: 'dropShadow', floodOpacity: null}), "new CanvasFilter({filter: 'dropShadow', floodOpacity: null})"); +_assert(new CanvasFilter({filter: 'dropShadow', floodOpacity: true}), "new CanvasFilter({filter: 'dropShadow', floodOpacity: true})"); +_assert(new CanvasFilter({filter: 'dropShadow', floodOpacity: false}), "new CanvasFilter({filter: 'dropShadow', floodOpacity: false})"); +_assert(new CanvasFilter({filter: 'dropShadow', floodOpacity: []}), "new CanvasFilter({filter: 'dropShadow', floodOpacity: []})"); +_assert(new CanvasFilter({filter: 'dropShadow', floodOpacity: [20]}), "new CanvasFilter({filter: 'dropShadow', floodOpacity: [\""+(20)+"\"]})"); +_assert(new CanvasFilter({filter: 'dropShadow', floodOpacity: '30'}), "new CanvasFilter({filter: 'dropShadow', floodOpacity: '30'})"); +// floodColor +_assert(new CanvasFilter({filter: 'dropShadow', floodColor: 'red'}), "new CanvasFilter({filter: 'dropShadow', floodColor: 'red'})"); +_assert(new CanvasFilter({filter: 'dropShadow', floodColor: 'canvas'}), "new CanvasFilter({filter: 'dropShadow', floodColor: 'canvas'})"); +_assert(new CanvasFilter({filter: 'dropShadow', floodColor: 'rgba(4, -3, 0.5, 1)'}), "new CanvasFilter({filter: 'dropShadow', floodColor: 'rgba(4, -3, 0.5, 1)'})"); +_assert(new CanvasFilter({filter: 'dropShadow', floodColor: '#aabbccdd'}), "new CanvasFilter({filter: 'dropShadow', floodColor: '#aabbccdd'})"); +_assert(new CanvasFilter({filter: 'dropShadow', floodColor: '#abcd'}), "new CanvasFilter({filter: 'dropShadow', floodColor: '#abcd'})"); + +// dx +assert_throws_js(TypeError, function() { new CanvasFilter({filter: 'dropShadow', dx: NaN}); }); +assert_throws_js(TypeError, function() { new CanvasFilter({filter: 'dropShadow', dx: Infinity}); }); +assert_throws_js(TypeError, function() { new CanvasFilter({filter: 'dropShadow', dx: -Infinity}); }); +assert_throws_js(TypeError, function() { new CanvasFilter({filter: 'dropShadow', dx: undefined}); }); +assert_throws_js(TypeError, function() { new CanvasFilter({filter: 'dropShadow', dx: 'test'}); }); +assert_throws_js(TypeError, function() { new CanvasFilter({filter: 'dropShadow', dx: {}}); }); +assert_throws_js(TypeError, function() { new CanvasFilter({filter: 'dropShadow', dx: [1, 2]}); }); +// dy +assert_throws_js(TypeError, function() { new CanvasFilter({filter: 'dropShadow', dy: NaN}); }); +assert_throws_js(TypeError, function() { new CanvasFilter({filter: 'dropShadow', dy: Infinity}); }); +assert_throws_js(TypeError, function() { new CanvasFilter({filter: 'dropShadow', dy: -Infinity}); }); +assert_throws_js(TypeError, function() { new CanvasFilter({filter: 'dropShadow', dy: undefined}); }); +assert_throws_js(TypeError, function() { new CanvasFilter({filter: 'dropShadow', dy: 'test'}); }); +assert_throws_js(TypeError, function() { new CanvasFilter({filter: 'dropShadow', dy: {}}); }); +assert_throws_js(TypeError, function() { new CanvasFilter({filter: 'dropShadow', dy: [1, 2]}); }); +// stdDeviation +assert_throws_js(TypeError, function() { new CanvasFilter({filter: 'dropShadow', stdDeviation: NaN}); }); +assert_throws_js(TypeError, function() { new CanvasFilter({filter: 'dropShadow', stdDeviation: Infinity}); }); +assert_throws_js(TypeError, function() { new CanvasFilter({filter: 'dropShadow', stdDeviation: -Infinity}); }); +assert_throws_js(TypeError, function() { new CanvasFilter({filter: 'dropShadow', stdDeviation: undefined}); }); +assert_throws_js(TypeError, function() { new CanvasFilter({filter: 'dropShadow', stdDeviation: 'test'}); }); +assert_throws_js(TypeError, function() { new CanvasFilter({filter: 'dropShadow', stdDeviation: {}}); }); +assert_throws_js(TypeError, function() { new CanvasFilter({filter: 'dropShadow', stdDeviation: [1, 2]}); }); +// floodOpacity +assert_throws_js(TypeError, function() { new CanvasFilter({filter: 'dropShadow', floodOpacity: NaN}); }); +assert_throws_js(TypeError, function() { new CanvasFilter({filter: 'dropShadow', floodOpacity: Infinity}); }); +assert_throws_js(TypeError, function() { new CanvasFilter({filter: 'dropShadow', floodOpacity: -Infinity}); }); +assert_throws_js(TypeError, function() { new CanvasFilter({filter: 'dropShadow', floodOpacity: undefined}); }); +assert_throws_js(TypeError, function() { new CanvasFilter({filter: 'dropShadow', floodOpacity: 'test'}); }); +assert_throws_js(TypeError, function() { new CanvasFilter({filter: 'dropShadow', floodOpacity: {}}); }); +assert_throws_js(TypeError, function() { new CanvasFilter({filter: 'dropShadow', floodOpacity: [1, 2]}); }); +// floodColor +assert_throws_js(TypeError, function() { new CanvasFilter({filter: 'dropShadow', floodColor: 'test'}); }); +assert_throws_js(TypeError, function() { new CanvasFilter({filter: 'dropShadow', floodColor: 'rgba(NaN, 3, 2, 1)'}); }); +assert_throws_js(TypeError, function() { new CanvasFilter({filter: 'dropShadow', floodColor: 10}); }); +assert_throws_js(TypeError, function() { new CanvasFilter({filter: 'dropShadow', floodColor: undefined}); }); +assert_throws_js(TypeError, function() { new CanvasFilter({filter: 'dropShadow', floodColor: null}); }); +assert_throws_js(TypeError, function() { new CanvasFilter({filter: 'dropShadow', floodColor: NaN}); }); +t.done(); + +}); +done(); diff --git a/tests/wpt/web-platform-tests/html/canvas/offscreen/filters/2d.filter.canvasFilterObject.dropShadow.tentative-expected.html b/tests/wpt/web-platform-tests/html/canvas/offscreen/filters/2d.filter.canvasFilterObject.dropShadow.tentative-expected.html new file mode 100644 index 00000000000..90f406fed9f --- /dev/null +++ b/tests/wpt/web-platform-tests/html/canvas/offscreen/filters/2d.filter.canvasFilterObject.dropShadow.tentative-expected.html @@ -0,0 +1,74 @@ +<!DOCTYPE html> +<!-- DO NOT EDIT! This test has been generated by /html/canvas/tools/gentest.py. --> +<title>Canvas test: 2d.filter.canvasFilterObject.dropShadow.tentative</title> +<h1>2d.filter.canvasFilterObject.dropShadow.tentative</h1> +<p class="desc">Test CanvasFilter() dropShadow object.</p> + +<style> + .background { + background-color: teal; + position: absolute; + left: 0px; + width: 620px; + height: 50px; + } + + .testcase { + position: absolute; + background-color: crimson; + width: 80px; + height: 80px; + } +</style> + +<div style="position: relative"> + <div class='background' style="top: 0px;"></div> + <div class='background' style="top: 100px;"></div> + <div class='background' style="top: 200px;"></div> + + <div class='testcase' + style="left: 10px; top: 10px; + filter: drop-shadow(2px 2px 2px black);"> + </div> + <div class='testcase' + style="left: 110px; top: 10px; + filter: drop-shadow(15px 10px 5px rgba(128, 0, 128, 0.7));"> + </div> + <div class='testcase' + style="left: 10px; top: 110px; + filter: drop-shadow(10px 10px 3px purple)"> + </div> + <div class='testcase' + style="left: 110px; top: 110px; + filter: drop-shadow(15px 10px 3px LinkText)"> + </div> + <div class='testcase' + style="left: 210px; top: 110px; + filter: drop-shadow(10px 15px 0px purple)"> + </div> + <div class='testcase' + style="left: 310px; top: 110px; + filter: drop-shadow(9px 12px 3px rgba(20, 50, 130, 1))"> + </div> + <div class='testcase' + style="left: 410px; top: 110px; + filter: drop-shadow(15px 10px 3px rgba(20, 50, 130, 0.7))"> + </div> + <div class='testcase' + style="left: 510px; top: 110px; + filter: drop-shadow(15px 10px 3px rgba(20, 50, 130, 0.49))"> + </div> + + <div class='testcase' + style="left: 10px; top: 210px; + filter: drop-shadow(-5px 0px 0px purple);"> + </div> + <div class='testcase' + style="left: 110px; top: 210px; + filter: drop-shadow(0px 5px 0px rgba(128, 0, 128, 0.8));"> + </div> + <div class='testcase' + style="left: 210px; top: 210px; + filter: drop-shadow(1px 10px 0px rgba(128, 0, 128, 0.4));"> + </div> +</div> diff --git a/tests/wpt/web-platform-tests/html/canvas/offscreen/filters/2d.filter.canvasFilterObject.dropShadow.tentative.html b/tests/wpt/web-platform-tests/html/canvas/offscreen/filters/2d.filter.canvasFilterObject.dropShadow.tentative.html new file mode 100644 index 00000000000..04cf86d204c --- /dev/null +++ b/tests/wpt/web-platform-tests/html/canvas/offscreen/filters/2d.filter.canvasFilterObject.dropShadow.tentative.html @@ -0,0 +1,85 @@ +<!DOCTYPE html> +<!-- DO NOT EDIT! This test has been generated by /html/canvas/tools/gentest.py. --> +<link rel="match" href="2d.filter.canvasFilterObject.dropShadow.tentative-expected.html"> +<title>Canvas test: 2d.filter.canvasFilterObject.dropShadow.tentative</title> +<h1>2d.filter.canvasFilterObject.dropShadow.tentative</h1> +<p class="desc">Test CanvasFilter() dropShadow object.</p> +<canvas id="canvas" width="620" height="320"> + <p class="fallback">FAIL (fallback content)</p> +</canvas> +<script> + const offscreen_canvas = new OffscreenCanvas(620, 320); + const ctx = offscreen_canvas.getContext('2d'); + + ctx.fillStyle = 'teal'; + ctx.fillRect(0, 0, 620, 50); + ctx.fillRect(0, 100, 620, 50); + ctx.fillRect(0, 200, 620, 50); + + ctx.fillStyle = 'crimson'; + + // Parameter defaults. + ctx.filter = new CanvasFilter({filter: "dropShadow"}); + ctx.fillRect(10, 10, 80, 80); + + // All parameters specified. + ctx.filter = new CanvasFilter( + {filter: "dropShadow", dx: 15, dy: 10, stdDeviation: 5, + floodColor: "purple", floodOpacity: 0.7}); + ctx.fillRect(110, 10, 80, 80); + + // Named color. + ctx.filter = new CanvasFilter( + {filter: "dropShadow", dx: 10, dy: 10, stdDeviation: 3, + floodColor: "purple"}); + ctx.fillRect(10, 110, 80, 80); + + // System color. + ctx.filter = new CanvasFilter( + {filter: "dropShadow", dx: 15, dy: 10, stdDeviation: 3, + floodColor: "LinkText"}); + ctx.fillRect(110, 110, 80, 80); + + // No blur. + ctx.filter = new CanvasFilter( + {filter: "dropShadow", dx: 10, dy: 15, stdDeviation: 0, + floodColor: "purple"}); + ctx.fillRect(210, 110, 80, 80); + + // Numerical color. + ctx.filter = new CanvasFilter( + {filter: "dropShadow", dx: 9, dy: 12, stdDeviation: 3, + floodColor: "rgba(20, 50, 130, 1)"}); + ctx.fillRect(310, 110, 80, 80); + + // Transparent floodColor. + ctx.filter = new CanvasFilter( + {filter: "dropShadow", dx: 15, dy: 10, stdDeviation: 3, + floodColor: "rgba(20, 50, 130, 0.7)"}); + ctx.fillRect(410, 110, 80, 80); + + // Transparent floodColor and floodOpacity. + ctx.filter = new CanvasFilter( + {filter: "dropShadow", dx: 15, dy: 10, stdDeviation: 3, + floodColor: "rgba(20, 50, 130, 0.7)", floodOpacity: 0.7}); + ctx.fillRect(510, 110, 80, 80); + + // Degenerate parameter values. + ctx.filter = new CanvasFilter( + {filter: "dropShadow", dx: [-5], dy: [], stdDeviation: null, + floodColor: "purple", floodOpacity: [2]}); + ctx.fillRect(10, 210, 80, 80); + + ctx.filter = new CanvasFilter( + {filter: "dropShadow", dx: null, dy: '5', stdDeviation: -5, + floodColor: "purple", floodOpacity: '0.8'}); + ctx.fillRect(110, 210, 80, 80); + + ctx.filter = new CanvasFilter( + {filter: "dropShadow", dx: true, dy: ['10'], stdDeviation: false, + floodColor: "purple", floodOpacity: ['0.4']}); + ctx.fillRect(210, 210, 80, 80); + + const canvas = document.getElementById("canvas"); + canvas.getContext('2d').drawImage(offscreen_canvas, 0, 0); +</script> diff --git a/tests/wpt/web-platform-tests/html/canvas/offscreen/filters/2d.filter.canvasFilterObject.dropShadow.tentative.w.html b/tests/wpt/web-platform-tests/html/canvas/offscreen/filters/2d.filter.canvasFilterObject.dropShadow.tentative.w.html new file mode 100644 index 00000000000..8d5e2da1586 --- /dev/null +++ b/tests/wpt/web-platform-tests/html/canvas/offscreen/filters/2d.filter.canvasFilterObject.dropShadow.tentative.w.html @@ -0,0 +1,99 @@ +<!DOCTYPE html> +<!-- DO NOT EDIT! This test has been generated by /html/canvas/tools/gentest.py. --> +<html class="reftest-wait"> +<link rel="match" href="2d.filter.canvasFilterObject.dropShadow.tentative-expected.html"> +<title>Canvas test: 2d.filter.canvasFilterObject.dropShadow.tentative</title> +<h1>2d.filter.canvasFilterObject.dropShadow.tentative</h1> +<p class="desc">Test CanvasFilter() dropShadow object.</p> +<canvas id="canvas" width="620" height="320"> + <p class="fallback">FAIL (fallback content)</p> +</canvas> +<script id='myWorker' type='text/worker'> + self.onmessage = function(e) { + const oc = new OffscreenCanvas(620, 320); + const ctx = oc.getContext('2d'); + + ctx.fillStyle = 'teal'; + ctx.fillRect(0, 0, 620, 50); + ctx.fillRect(0, 100, 620, 50); + ctx.fillRect(0, 200, 620, 50); + + ctx.fillStyle = 'crimson'; + + // Parameter defaults. + ctx.filter = new CanvasFilter({filter: "dropShadow"}); + ctx.fillRect(10, 10, 80, 80); + + // All parameters specified. + ctx.filter = new CanvasFilter( + {filter: "dropShadow", dx: 15, dy: 10, stdDeviation: 5, + floodColor: "purple", floodOpacity: 0.7}); + ctx.fillRect(110, 10, 80, 80); + + // Named color. + ctx.filter = new CanvasFilter( + {filter: "dropShadow", dx: 10, dy: 10, stdDeviation: 3, + floodColor: "purple"}); + ctx.fillRect(10, 110, 80, 80); + + // System color. + ctx.filter = new CanvasFilter( + {filter: "dropShadow", dx: 15, dy: 10, stdDeviation: 3, + floodColor: "LinkText"}); + ctx.fillRect(110, 110, 80, 80); + + // No blur. + ctx.filter = new CanvasFilter( + {filter: "dropShadow", dx: 10, dy: 15, stdDeviation: 0, + floodColor: "purple"}); + ctx.fillRect(210, 110, 80, 80); + + // Numerical color. + ctx.filter = new CanvasFilter( + {filter: "dropShadow", dx: 9, dy: 12, stdDeviation: 3, + floodColor: "rgba(20, 50, 130, 1)"}); + ctx.fillRect(310, 110, 80, 80); + + // Transparent floodColor. + ctx.filter = new CanvasFilter( + {filter: "dropShadow", dx: 15, dy: 10, stdDeviation: 3, + floodColor: "rgba(20, 50, 130, 0.7)"}); + ctx.fillRect(410, 110, 80, 80); + + // Transparent floodColor and floodOpacity. + ctx.filter = new CanvasFilter( + {filter: "dropShadow", dx: 15, dy: 10, stdDeviation: 3, + floodColor: "rgba(20, 50, 130, 0.7)", floodOpacity: 0.7}); + ctx.fillRect(510, 110, 80, 80); + + // Degenerate parameter values. + ctx.filter = new CanvasFilter( + {filter: "dropShadow", dx: [-5], dy: [], stdDeviation: null, + floodColor: "purple", floodOpacity: [2]}); + ctx.fillRect(10, 210, 80, 80); + + ctx.filter = new CanvasFilter( + {filter: "dropShadow", dx: null, dy: '5', stdDeviation: -5, + floodColor: "purple", floodOpacity: '0.8'}); + ctx.fillRect(110, 210, 80, 80); + + ctx.filter = new CanvasFilter( + {filter: "dropShadow", dx: true, dy: ['10'], stdDeviation: false, + floodColor: "purple", floodOpacity: ['0.4']}); + ctx.fillRect(210, 210, 80, 80); + + const bitmap = oc.transferToImageBitmap(); + self.postMessage(bitmap, bitmap); + }; +</script> +<script> + const blob = new Blob([document.getElementById('myWorker').textContent]); + const worker = new Worker(URL.createObjectURL(blob)); + worker.addEventListener('message', msg => { + const outputCtx = document.getElementById("canvas").getContext('2d'); + outputCtx.drawImage(msg.data, 0, 0); + document.documentElement.classList.remove("reftest-wait"); + }); + worker.postMessage(null); +</script> +</html> diff --git a/tests/wpt/web-platform-tests/html/canvas/offscreen/filters/2d.filter.canvasFilterObject.turbulence.inputTypes.tentative.html b/tests/wpt/web-platform-tests/html/canvas/offscreen/filters/2d.filter.canvasFilterObject.turbulence.inputTypes.tentative.html index 7882e95a694..610dca9feaf 100644 --- a/tests/wpt/web-platform-tests/html/canvas/offscreen/filters/2d.filter.canvasFilterObject.turbulence.inputTypes.tentative.html +++ b/tests/wpt/web-platform-tests/html/canvas/offscreen/filters/2d.filter.canvasFilterObject.turbulence.inputTypes.tentative.html @@ -118,7 +118,7 @@ const workingTestCases = [ for (testCase of errorTestCases) { const filterOptions = {...{filter: "turbulence"}, ...testCase}; - assert_throws_js(TypeError, function() { CanvasFilter(filterOptions); }); + assert_throws_js(TypeError, function() { new CanvasFilter(filterOptions); }); } for (testCase of workingTestCases) { diff --git a/tests/wpt/web-platform-tests/html/canvas/offscreen/filters/2d.filter.canvasFilterObject.turbulence.inputTypes.tentative.worker.js b/tests/wpt/web-platform-tests/html/canvas/offscreen/filters/2d.filter.canvasFilterObject.turbulence.inputTypes.tentative.worker.js index bd1cd162fe1..76673fab9a7 100644 --- a/tests/wpt/web-platform-tests/html/canvas/offscreen/filters/2d.filter.canvasFilterObject.turbulence.inputTypes.tentative.worker.js +++ b/tests/wpt/web-platform-tests/html/canvas/offscreen/filters/2d.filter.canvasFilterObject.turbulence.inputTypes.tentative.worker.js @@ -113,7 +113,7 @@ const workingTestCases = [ for (testCase of errorTestCases) { const filterOptions = {...{filter: "turbulence"}, ...testCase}; - assert_throws_js(TypeError, function() { CanvasFilter(filterOptions); }); + assert_throws_js(TypeError, function() { new CanvasFilter(filterOptions); }); } for (testCase of workingTestCases) { diff --git a/tests/wpt/web-platform-tests/html/canvas/tools/gentestutilsunion.py b/tests/wpt/web-platform-tests/html/canvas/tools/gentestutilsunion.py index fdb6a390cf4..bb734b31c66 100644 --- a/tests/wpt/web-platform-tests/html/canvas/tools/gentestutilsunion.py +++ b/tests/wpt/web-platform-tests/html/canvas/tools/gentestutilsunion.py @@ -28,13 +28,14 @@ # # * Test the tests, add new ones to Git, remove deleted ones from Git, etc. -from typing import Any, List, Mapping, MutableMapping, Optional +from typing import Any, List, Mapping, MutableMapping, Optional, Tuple import re import collections import dataclasses import enum import importlib +import itertools import os import pathlib import sys @@ -71,6 +72,43 @@ def _escapeJS(string: str) -> str: return string +def _unroll(text: str) -> str: + """Unrolls text with all possible permutations of the parameter lists. + + Example: + >>> print _unroll('f = {<a | b>: <1 | 2 | 3>};') + // a + f = {a: 1}; + f = {a: 2}; + f = {a: 3}; + // b + f = {b: 1}; + f = {b: 2}; + f = {b: 3}; + """ + patterns = [] # type: List[Tuple[str, List[str]]] + while match := re.search(r'<([^>]+)>', text): + key = f'@unroll_pattern_{len(patterns)}' + values = text[match.start(1):match.end(1)] + text = text[:match.start(0)] + key + text[match.end(0):] + patterns.append((key, [value.strip() for value in values.split('|')])) + + def unroll_patterns(text: str, + patterns: List[Tuple[str, List[str]]], + label: Optional[str] = None) -> List[str]: + if not patterns: + return [text] + patterns = patterns.copy() + key, values = patterns.pop(0) + return (['// ' + label] if label else []) + list( + itertools.chain.from_iterable( + unroll_patterns(text.replace(key, value), patterns, value) + for value in values)) + + result = '\n'.join(unroll_patterns(text, patterns)) + return result + + def _expand_nonfinite(method: str, argstr: str, tail: str) -> str: """ >>> print _expand_nonfinite('f', '<0 a>, <0 b>', ';') @@ -133,6 +171,12 @@ def _get_test_sub_dir(name: str, name_to_sub_dir: Mapping[str, str]) -> str: def _expand_test_code(code: str) -> str: + # Remove newlines if a backslash is found at end of line. + code = re.sub(r'\\\n\s*', '', code, flags=re.MULTILINE | re.DOTALL) + + # Unroll expressions with a cross-product-style parameter expansion. + code = re.sub(r'@unroll ([^;]*;)', lambda m: _unroll(m.group(1)), code) + code = re.sub(r'@nonfinite ([^(]+)\(([^)]+)\)(.*)', lambda m: _expand_nonfinite(m.group(1), m.group(2), m.group(3)), code) # Must come before '@assert throws'. @@ -210,11 +254,14 @@ def _get_canvas_size(test: Mapping[str, Any]): return match.group('width'), match.group('height') -def _write_reference_test(templates: Mapping[str, str], +def _write_reference_test(is_js_ref: bool, templates: Mapping[str, str], template_params: MutableMapping[str, str], - reference: str, - canvas_path: Optional[str], + ref_code: str, canvas_path: Optional[str], offscreen_path: Optional[str]): + ref_code = ref_code.strip() + ref_code = textwrap.indent(ref_code, ' ') if is_js_ref else ref_code + ref_template_name = 'element_ref_test' if is_js_ref else 'html_ref_test' + code = template_params['code'] template_params['code'] = textwrap.indent(code, ' ') if canvas_path: @@ -227,15 +274,15 @@ def _write_reference_test(templates: Mapping[str, str], pathlib.Path(f'{offscreen_path}.w.html').write_text( templates['worker_ref_test'] % template_params, 'utf-8') - template_params['code'] = textwrap.indent(reference.strip(), ' ') + template_params['code'] = ref_code template_params['links'] = '' template_params['fuzzy'] = '' if canvas_path: pathlib.Path(f'{canvas_path}-expected.html').write_text( - templates['element_ref_test'] % template_params, 'utf-8') + templates[ref_template_name] % template_params, 'utf-8') if offscreen_path: pathlib.Path(f'{offscreen_path}-expected.html').write_text( - templates['element_ref_test'] % template_params, 'utf-8') + templates[ref_template_name] % template_params, 'utf-8') def _write_testharness_test(templates: Mapping[str, str], @@ -389,10 +436,17 @@ def _generate_test(test: Mapping[str, Any], templates: Mapping[str, str], canvas_path += '-manual' offscreen_path += '-manual' - reference = test.get('reference') - if reference is not None: + js_reference = test.get('reference') + html_reference = test.get('html_reference') + if js_reference is not None and html_reference is not None: + raise InvalidTestDefinitionError( + f'Test {name} is invalid, "reference" and "html_reference" can\'t ' + 'both be specified at the same time.') + + ref_code = js_reference or html_reference + if ref_code is not None: _write_reference_test( - templates, template_params, reference, + js_reference is not None, templates, template_params, ref_code, canvas_path if html_canvas_cfg.enabled else None, offscreen_path if offscreen_canvas_cfg.enabled else None) else: @@ -456,7 +510,10 @@ def genTestUtils_union(TEMPLATEFILE: str, NAME2DIRFILE: str) -> None: test['name'] += '.' + variant_name test['code'] = test['code'] % variant_params if 'reference' in test: - test['reference'] = test['reference'] % variant_params + test['reference'] = test['reference'] % variant_params + if 'html_reference' in test: + test['html_reference'] = ( + test['html_reference'] % variant_params) test.update(variant_params) name = test['name'] diff --git a/tests/wpt/web-platform-tests/html/canvas/tools/templates-new.yaml b/tests/wpt/web-platform-tests/html/canvas/tools/templates-new.yaml index 0a2de9f0b43..703af3c2cb3 100644 --- a/tests/wpt/web-platform-tests/html/canvas/tools/templates-new.yaml +++ b/tests/wpt/web-platform-tests/html/canvas/tools/templates-new.yaml @@ -157,3 +157,14 @@ element_ref_test: |- %(code)s </script> %(images)s + + +html_ref_test: |- + <!DOCTYPE html> + <!-- DO NOT EDIT! This test has been generated by /html/canvas/tools/gentest.py. -->%(links)s%(fuzzy)s%(timeout)s + <title>Canvas test: %(name)s</title> + <h1>%(name)s</h1> + <p class="desc">%(desc)s</p> + %(fonts)s%(fonthack)s%(notes)s + %(code)s + %(images)s diff --git a/tests/wpt/web-platform-tests/html/canvas/tools/yaml-new/filters.yaml b/tests/wpt/web-platform-tests/html/canvas/tools/yaml-new/filters.yaml index cc5dfe7fefb..bdf3dcfe9fc 100644 --- a/tests/wpt/web-platform-tests/html/canvas/tools/yaml-new/filters.yaml +++ b/tests/wpt/web-platform-tests/html/canvas/tools/yaml-new/filters.yaml @@ -154,8 +154,14 @@ @assert throws TypeError new CanvasFilter({filter: "convolveMatrix", kernelMatrix: [[1, 0], 0]}); @assert throws TypeError new CanvasFilter({filter: "convolveMatrix", kernelMatrix: [[1, 0], [0, Infinity]]}); @assert throws TypeError new CanvasFilter({filter: "convolveMatrix", kernelMatrix: []}); + @assert throws TypeError new CanvasFilter({filter: "convolveMatrix", kernelMatrix: [1]}); + @assert throws TypeError new CanvasFilter({filter: "convolveMatrix", kernelMatrix: [1, 2, 3, 4]}); + @assert throws TypeError new CanvasFilter({filter: "convolveMatrix", kernelMatrix: [[], []]}); + @assert throws TypeError new CanvasFilter({filter: "convolveMatrix", kernelMatrix: [[1, 2], []]}); + @assert throws TypeError new CanvasFilter({filter: "convolveMatrix", kernelMatrix: [[], [1, 2]]}); // This should not throw an error ctx.filter = new CanvasFilter({filter: "convolveMatrix", kernelMatrix: [[]]}); + ctx.filter = new CanvasFilter({filter: "convolveMatrix", kernelMatrix: [[1]]}); - name: 2d.filter.canvasFilterObject.componentTransfer.linear.tentative desc: Test pixels on CanvasFilter() componentTransfer with linear type @@ -341,6 +347,169 @@ _assertPixelApprox(canvas, 5, 5, outputColor[0],outputColor[1],outputColor[2],255, 2); } +- name: 2d.filter.canvasFilterObject.dropShadow.tentative + desc: Test CanvasFilter() dropShadow object. + size: 620, 320 + code: | + ctx.fillStyle = 'teal'; + ctx.fillRect(0, 0, 620, 50); + ctx.fillRect(0, 100, 620, 50); + ctx.fillRect(0, 200, 620, 50); + + ctx.fillStyle = 'crimson'; + + // Parameter defaults. + ctx.filter = new CanvasFilter({filter: "dropShadow"}); + ctx.fillRect(10, 10, 80, 80); + + // All parameters specified. + ctx.filter = new CanvasFilter( + {filter: "dropShadow", dx: 15, dy: 10, stdDeviation: 5, + floodColor: "purple", floodOpacity: 0.7}); + ctx.fillRect(110, 10, 80, 80); + + // Named color. + ctx.filter = new CanvasFilter( + {filter: "dropShadow", dx: 10, dy: 10, stdDeviation: 3, + floodColor: "purple"}); + ctx.fillRect(10, 110, 80, 80); + + // System color. + ctx.filter = new CanvasFilter( + {filter: "dropShadow", dx: 15, dy: 10, stdDeviation: 3, + floodColor: "LinkText"}); + ctx.fillRect(110, 110, 80, 80); + + // No blur. + ctx.filter = new CanvasFilter( + {filter: "dropShadow", dx: 10, dy: 15, stdDeviation: 0, + floodColor: "purple"}); + ctx.fillRect(210, 110, 80, 80); + + // Numerical color. + ctx.filter = new CanvasFilter( + {filter: "dropShadow", dx: 9, dy: 12, stdDeviation: 3, + floodColor: "rgba(20, 50, 130, 1)"}); + ctx.fillRect(310, 110, 80, 80); + + // Transparent floodColor. + ctx.filter = new CanvasFilter( + {filter: "dropShadow", dx: 15, dy: 10, stdDeviation: 3, + floodColor: "rgba(20, 50, 130, 0.7)"}); + ctx.fillRect(410, 110, 80, 80); + + // Transparent floodColor and floodOpacity. + ctx.filter = new CanvasFilter( + {filter: "dropShadow", dx: 15, dy: 10, stdDeviation: 3, + floodColor: "rgba(20, 50, 130, 0.7)", floodOpacity: 0.7}); + ctx.fillRect(510, 110, 80, 80); + + // Degenerate parameter values. + ctx.filter = new CanvasFilter( + {filter: "dropShadow", dx: [-5], dy: [], stdDeviation: null, + floodColor: "purple", floodOpacity: [2]}); + ctx.fillRect(10, 210, 80, 80); + + ctx.filter = new CanvasFilter( + {filter: "dropShadow", dx: null, dy: '5', stdDeviation: -5, + floodColor: "purple", floodOpacity: '0.8'}); + ctx.fillRect(110, 210, 80, 80); + + ctx.filter = new CanvasFilter( + {filter: "dropShadow", dx: true, dy: ['10'], stdDeviation: false, + floodColor: "purple", floodOpacity: ['0.4']}); + ctx.fillRect(210, 210, 80, 80); + html_reference: | + <style> + .background { + background-color: teal; + position: absolute; + left: 0px; + width: 620px; + height: 50px; + } + + .testcase { + position: absolute; + background-color: crimson; + width: 80px; + height: 80px; + } + </style> + + <div style="position: relative"> + <div class='background' style="top: 0px;"></div> + <div class='background' style="top: 100px;"></div> + <div class='background' style="top: 200px;"></div> + + <div class='testcase' + style="left: 10px; top: 10px; + filter: drop-shadow(2px 2px 2px black);"> + </div> + <div class='testcase' + style="left: 110px; top: 10px; + filter: drop-shadow(15px 10px 5px rgba(128, 0, 128, 0.7));"> + </div> + <div class='testcase' + style="left: 10px; top: 110px; + filter: drop-shadow(10px 10px 3px purple)"> + </div> + <div class='testcase' + style="left: 110px; top: 110px; + filter: drop-shadow(15px 10px 3px LinkText)"> + </div> + <div class='testcase' + style="left: 210px; top: 110px; + filter: drop-shadow(10px 15px 0px purple)"> + </div> + <div class='testcase' + style="left: 310px; top: 110px; + filter: drop-shadow(9px 12px 3px rgba(20, 50, 130, 1))"> + </div> + <div class='testcase' + style="left: 410px; top: 110px; + filter: drop-shadow(15px 10px 3px rgba(20, 50, 130, 0.7))"> + </div> + <div class='testcase' + style="left: 510px; top: 110px; + filter: drop-shadow(15px 10px 3px rgba(20, 50, 130, 0.49))"> + </div> + + <div class='testcase' + style="left: 10px; top: 210px; + filter: drop-shadow(-5px 0px 0px purple);"> + </div> + <div class='testcase' + style="left: 110px; top: 210px; + filter: drop-shadow(0px 5px 0px rgba(128, 0, 128, 0.8));"> + </div> + <div class='testcase' + style="left: 210px; top: 210px; + filter: drop-shadow(1px 10px 0px rgba(128, 0, 128, 0.4));"> + </div> + </div> + +- name: 2d.filter.canvasFilterObject.dropShadow.exceptions.tentative + desc: Test exceptions on CanvasFilter() dropShadow object + code: | + @unroll @assert new CanvasFilter({\ + filter: 'dropShadow', \ + <dx | dy | stdDeviation | floodOpacity>: \ + <10 | -1 | 0.5 | null | true | false | [] | [20] | '30'>}); + @unroll @assert new CanvasFilter({\ + filter: 'dropShadow', \ + <floodColor>: \ + <'red' | 'canvas' | 'rgba(4, -3, 0.5, 1)' | '#aabbccdd' | '#abcd'>}); + + @unroll @assert throws TypeError new CanvasFilter({\ + filter: 'dropShadow', \ + <dx | dy | stdDeviation | floodOpacity>: \ + <NaN | Infinity | -Infinity | undefined | 'test' | {} | [1, 2]>}); + @unroll @assert throws TypeError new CanvasFilter({\ + filter: 'dropShadow', \ + <floodColor>: \ + <'test' | 'rgba(NaN, 3, 2, 1)' | 10 | undefined | null | NaN>}); + - name: 2d.filter.canvasFilterObject.turbulence.inputTypes.tentative desc: Test exceptions on CanvasFilter() turbulence object code: | @@ -441,7 +610,7 @@ for (testCase of errorTestCases) { const filterOptions = {...{filter: "turbulence"}, ...testCase}; - @assert throws TypeError CanvasFilter(filterOptions); + @assert throws TypeError new CanvasFilter(filterOptions); } for (testCase of workingTestCases) { diff --git a/tests/wpt/web-platform-tests/html/canvas/tools/yaml/element/meta.yaml b/tests/wpt/web-platform-tests/html/canvas/tools/yaml/element/meta.yaml index ea78fe302cb..e8c42504266 100644 --- a/tests/wpt/web-platform-tests/html/canvas/tools/yaml/element/meta.yaml +++ b/tests/wpt/web-platform-tests/html/canvas/tools/yaml/element/meta.yaml @@ -133,6 +133,7 @@ ('xor', '1-aB', '1-aA'), ('copy', '1', '0'), ('lighter', '1', '1'), + ('clear', '0', '0'), ] # The ones that change the output when src = (0,0,0,0): diff --git a/tests/wpt/web-platform-tests/html/canvas/tools/yaml/offscreen/meta.yaml b/tests/wpt/web-platform-tests/html/canvas/tools/yaml/offscreen/meta.yaml index aa850d4e48f..43a67d54ab4 100644 --- a/tests/wpt/web-platform-tests/html/canvas/tools/yaml/offscreen/meta.yaml +++ b/tests/wpt/web-platform-tests/html/canvas/tools/yaml/offscreen/meta.yaml @@ -69,6 +69,7 @@ ('xor', '1-aB', '1-aA'), ('copy', '1', '0'), ('lighter', '1', '1'), + ('clear', '0', '0'), ] # The ones that change the output when src = (0,0,0,0): diff --git a/tests/wpt/web-platform-tests/html/dom/elements/elements-in-the-dom/unknown-element.html b/tests/wpt/web-platform-tests/html/dom/elements/elements-in-the-dom/unknown-element.html index 907b14837a6..16a53e5e88b 100644 --- a/tests/wpt/web-platform-tests/html/dom/elements/elements-in-the-dom/unknown-element.html +++ b/tests/wpt/web-platform-tests/html/dom/elements/elements-in-the-dom/unknown-element.html @@ -6,11 +6,17 @@ <script src="/resources/testharnessreport.js"></script> <div id="log"></div> <script> -test(function() { - var elt = document.createElement("xxx"); - assert_true(window.HTMLUnknownElement && elt instanceof HTMLUnknownElement, - "not an instance of HTMLUnknownElement"); - assert_true(window.HTMLSpanElement && !(elt instanceof HTMLSpanElement), - "an instance of HTMLSpanElement"); +[ + "applet", + "attachment", + "layer", + "nolayer", + "xxx" +].forEach(name => { + test(() => { + const elt = document.createElement("xxx"); + assert_true(window.HTMLUnknownElement && elt instanceof HTMLUnknownElement, "not an instance of HTMLUnknownElement"); + assert_true(window.HTMLSpanElement && !(elt instanceof HTMLSpanElement), "an instance of HTMLSpanElement"); + }, `<${name}> is an HTMLUnknownElement`); }); </script> diff --git a/tests/wpt/web-platform-tests/html/dom/historical.html b/tests/wpt/web-platform-tests/html/dom/historical.html index b79d35f0b8a..396e57a3911 100644 --- a/tests/wpt/web-platform-tests/html/dom/historical.html +++ b/tests/wpt/web-platform-tests/html/dom/historical.html @@ -3,16 +3,29 @@ <script src=/resources/testharness.js></script> <script src=/resources/testharnessreport.js></script> <div id=log></div> +<attachment></attachment> <applet name=war align=left></applet> +<layer></layer> +<nolayer></nolayer> <script> test(() => { assert_array_equals(document.applets, []); }, "document.applets is always empty"); +[ + "attachment", + "applet", + "layer", + "nolayer" +].forEach(name => { + test(() => { + const ap = document.getElementsByTagName(name)[0]; + assert_true(ap instanceof window.HTMLUnknownElement); + }, `<${name}> is HTMLUnknownElement`); +}); + test(() => { - const ap = document.getElementsByTagName("applet")[0]; assert_equals(self.HTMLAppletElement, undefined); - assert_true(ap instanceof window.HTMLUnknownElement); }, "HTMLAppletElement is no more") test(() => { diff --git a/tests/wpt/web-platform-tests/html/rendering/widgets/button-layout/propagate-text-decoration.html b/tests/wpt/web-platform-tests/html/rendering/widgets/button-layout/propagate-text-decoration.html index 9bdbbef0c27..83608402c12 100644 --- a/tests/wpt/web-platform-tests/html/rendering/widgets/button-layout/propagate-text-decoration.html +++ b/tests/wpt/web-platform-tests/html/rendering/widgets/button-layout/propagate-text-decoration.html @@ -1,6 +1,7 @@ <!DOCTYPE html> <title>propagating text-decoration into buttons</title> <link rel=match href=propagate-text-decoration-ref.html> +<meta name=fuzzy content="maxDifference=0-40;totalPixels=0-50"> <style> button, input { font: inherit } .inline > u > * { display: inline } diff --git a/tests/wpt/web-platform-tests/html/semantics/disabled-elements/fieldset-event-propagation.tentative.html b/tests/wpt/web-platform-tests/html/semantics/disabled-elements/fieldset-event-propagation.tentative.html new file mode 100644 index 00000000000..11822e4dd48 --- /dev/null +++ b/tests/wpt/web-platform-tests/html/semantics/disabled-elements/fieldset-event-propagation.tentative.html @@ -0,0 +1,48 @@ +<!DOCTYPE html> +<link rel=author href="mailto:jarhar@chromium.org"> +<link rel=help href="https://html.spec.whatwg.org/multipage/form-control-infrastructure.html#concept-fe-disabled"> +<link rel=help href="https://github.com/whatwg/html/issues/5886#issuecomment-1460425364"> +<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> + +<div id=target1parent> + <fieldset disabled id=target1fieldset> + <div id=target1child>hello world</div> + </fieldset> +</div> + +<div id=target2parent> + <fieldset disabled id=target2fieldset>hello world</div> +</div> + +<script> +promise_test(async () => { + let target1parentClicked = false; + let target1childClicked = false; + let target1fieldsetClicked = false; + target1parent.onclick = () => target1parentClicked = true; + target1child.onclick = () => target1childClicked = true; + target1fieldset.onclick = () => target1fieldsetClicked = true; + + await test_driver.click(target1child); + + assert_true(target1parentClicked, 'The parent of the fieldset should receive a click event.'); + assert_true(target1childClicked, 'The child of the fieldset should receive a click event.'); + assert_true(target1fieldsetClicked, 'The fieldset element should receive a click event.'); +}, 'Disabled fieldset elements should not prevent click event propagation.'); + +promise_test(async () => { + let target2parentClicked = false; + let target2fieldsetClicked = false; + target2parent.onclick = () => target2parentClicked = true; + target2fieldset.onclick = () => target2fieldsetClicked = true; + + await test_driver.click(target2fieldset); + + assert_true(target2parentClicked, 'The parent of the fieldset should receive a click event.'); + assert_true(target2fieldsetClicked, 'The fieldset element should receive a click event.'); +}, 'Disabled fieldset elements should not block click events.'); +</script> diff --git a/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-img-element/document-destroyed-crash.html b/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-img-element/document-destroyed-crash.html new file mode 100644 index 00000000000..da43099f71f --- /dev/null +++ b/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-img-element/document-destroyed-crash.html @@ -0,0 +1,18 @@ +<!doctype html> +<title><img> loading in destroyed document</title> +<iframe></iframe> +<script> +onload = function() { + const img = new Image(); + img.onload = function() { + const iframe = document.querySelector('iframe'); + iframe.contentDocument.createElement('div').innerHTML = + `<picture> + <source srcset="nonexistent.png"> + <img src="data:image/gif;base64,R0lGODlhCgAKAIAAAP/MAAAAACH5BAAAAAAALAAAAAAKAAoAAAIIhI+py+0PYysAOw=="> + </picture>`; + iframe.remove(); + }; + img.src = 'data:image/gif;base64,R0lGODlhCgAKAIAAAP/MAAAAACH5BAAAAAAALAAAAAAKAAoAAAIIhI+py+0PYysAOw=='; +}; +</script> diff --git a/tests/wpt/web-platform-tests/html/semantics/forms/form-submission-0/multipart-formdata.window.js b/tests/wpt/web-platform-tests/html/semantics/forms/form-submission-0/multipart-formdata.window.js index d21eec9eeb0..ca69c7dac75 100644 --- a/tests/wpt/web-platform-tests/html/semantics/forms/form-submission-0/multipart-formdata.window.js +++ b/tests/wpt/web-platform-tests/html/semantics/forms/form-submission-0/multipart-formdata.window.js @@ -344,3 +344,14 @@ formTest({ }, description: "character not in encoding in filename", }); + +formTest({ + name: "\uD800", + value: "\uD800", + formEncoding: "windows-1252", + expected: { + name: "�", + value: "�" + }, + description: "lone surrogate in name and value", +}); diff --git a/tests/wpt/web-platform-tests/html/semantics/forms/form-submission-0/text-plain.window.js b/tests/wpt/web-platform-tests/html/semantics/forms/form-submission-0/text-plain.window.js index 508f9884bfd..9ff77aed12f 100644 --- a/tests/wpt/web-platform-tests/html/semantics/forms/form-submission-0/text-plain.window.js +++ b/tests/wpt/web-platform-tests/html/semantics/forms/form-submission-0/text-plain.window.js @@ -213,3 +213,11 @@ formTest({ expected: "\xE1=💩\r\n", description: "character not in encoding in filename", }); + +formTest({ + name: "\uD800", + value: "\uD800", + formEncoding: "windows-1252", + expected: "�=�\r\n", + description: "lone surrogate in name and value", +}); diff --git a/tests/wpt/web-platform-tests/html/semantics/forms/form-submission-0/urlencoded2.window.js b/tests/wpt/web-platform-tests/html/semantics/forms/form-submission-0/urlencoded2.window.js index 503391dd6bb..7818f686196 100644 --- a/tests/wpt/web-platform-tests/html/semantics/forms/form-submission-0/urlencoded2.window.js +++ b/tests/wpt/web-platform-tests/html/semantics/forms/form-submission-0/urlencoded2.window.js @@ -213,3 +213,11 @@ formTest({ expected: "%E1=%26%23128169%3B", description: "character not in encoding in filename", }); + +formTest({ + name: "\uD800", + value: "\uD800", + formEncoding: "windows-1252", + expected: "%26%2365533%3B=%26%2365533%3B", + description: "lone surrogate in name and value", +}); diff --git a/tests/wpt/web-platform-tests/html/semantics/forms/the-selectmenu-element/selectmenu-parts-structure.tentative.html b/tests/wpt/web-platform-tests/html/semantics/forms/the-selectmenu-element/selectmenu-parts-structure.tentative.html index 4f49d3f0ea9..08c283322d5 100644 --- a/tests/wpt/web-platform-tests/html/semantics/forms/the-selectmenu-element/selectmenu-parts-structure.tentative.html +++ b/tests/wpt/web-platform-tests/html/semantics/forms/the-selectmenu-element/selectmenu-parts-structure.tentative.html @@ -208,13 +208,13 @@ const selectMenu1Popover = document.getElementById("selectMenu1-popover"); const selectMenu1Button = document.getElementById("selectMenu1-button"); const selectMenu1Child2 = document.getElementById("selectMenu1-child2"); - assert_false(selectMenu1Popover.matches(':open')); + assert_false(selectMenu1Popover.matches(':popover-open')); selectMenu1Button.click(); - assert_false(selectMenu1Popover.matches(':open'), "Clicking a button part that is a descendant of the listbox part should have no effect"); + assert_false(selectMenu1Popover.matches(':popover-open'), "Clicking a button part that is a descendant of the listbox part should have no effect"); assert_equals(selectMenu1.value, "one"); await clickOn(selectMenu1); - assert_true(selectMenu1Popover.matches(':open')); + assert_true(selectMenu1Popover.matches(':popover-open')); await clickOn(selectMenu1Child2); assert_equals(selectMenu1.value, "two", "Clicking an <option> should change the value"); }, "To receive button part controller code, an element labeled as a button must not be a descendant of the listbox part in a flat tree traversal"); @@ -226,9 +226,9 @@ const selectMenu2Child2 = document.getElementById("selectMenu2-child2"); const selectMenu2Child4 = document.getElementById("selectMenu2-child4"); - assert_false(selectMenu2Popover.matches(':open')); + assert_false(selectMenu2Popover.matches(':popover-open')); await clickOn(selectMenu2Button); - assert_false(selectMenu2Popover.matches(':open'), "Clicking a button part should not show an invalid listbox part"); + assert_false(selectMenu2Popover.matches(':popover-open'), "Clicking a button part should not show an invalid listbox part"); assert_equals(selectMenu2.value, "three"); await clickOn(selectMenu2Button); diff --git a/tests/wpt/web-platform-tests/html/semantics/forms/the-selectmenu-element/selectmenu-popup-position-with-zoom.tentative.html b/tests/wpt/web-platform-tests/html/semantics/forms/the-selectmenu-element/selectmenu-popover-position-with-zoom.tentative.html similarity index 100% rename from tests/wpt/web-platform-tests/html/semantics/forms/the-selectmenu-element/selectmenu-popup-position-with-zoom.tentative.html rename to tests/wpt/web-platform-tests/html/semantics/forms/the-selectmenu-element/selectmenu-popover-position-with-zoom.tentative.html diff --git a/tests/wpt/web-platform-tests/html/semantics/forms/the-selectmenu-element/selectmenu-popup-position.tentative.html b/tests/wpt/web-platform-tests/html/semantics/forms/the-selectmenu-element/selectmenu-popover-position.tentative.html similarity index 100% rename from tests/wpt/web-platform-tests/html/semantics/forms/the-selectmenu-element/selectmenu-popup-position.tentative.html rename to tests/wpt/web-platform-tests/html/semantics/forms/the-selectmenu-element/selectmenu-popover-position.tentative.html diff --git a/tests/wpt/web-platform-tests/html/semantics/forms/the-selectmenu-element/selectmenu-popup.tentative.html b/tests/wpt/web-platform-tests/html/semantics/forms/the-selectmenu-element/selectmenu-popover.tentative.html similarity index 100% rename from tests/wpt/web-platform-tests/html/semantics/forms/the-selectmenu-element/selectmenu-popup.tentative.html rename to tests/wpt/web-platform-tests/html/semantics/forms/the-selectmenu-element/selectmenu-popover.tentative.html diff --git a/tests/wpt/web-platform-tests/html/semantics/forms/the-selectmenu-element/selectmenu-pseudo-open-closed.tentative.html b/tests/wpt/web-platform-tests/html/semantics/forms/the-selectmenu-element/selectmenu-pseudo-open-closed.tentative.html new file mode 100644 index 00000000000..b1400e04265 --- /dev/null +++ b/tests/wpt/web-platform-tests/html/semantics/forms/the-selectmenu-element/selectmenu-pseudo-open-closed.tentative.html @@ -0,0 +1,61 @@ +<!DOCTYPE html> +<link rel=author href="mailto:jarhar@chromium.org"> +<link rel=help href="https://github.com/openui/open-ui/issues/547"> +<link rel=help href="https://drafts.csswg.org/selectors/#open-state"> +<script src="/resources/testharness.js"></script> +<script src="/resources/testharnessreport.js"></script> + +<selectmenu id=myselectmenu> + <button id=custombutton slot=button behavior=button>button</button> + <option>one</option> + <option>two</option> +</selectmenu> + +<script> +test(() => { + assert_false(myselectmenu.matches(':open'), + 'Selectmenu should not match :open while it is closed.'); + assert_true(myselectmenu.matches(':closed'), + 'Selectmenu should match :closed while it is closed.'); + + custombutton.click(); + + assert_true(myselectmenu.matches(':open'), + 'Selectmenu should match :open while it is open.'); + assert_false(myselectmenu.matches(':closed'), + 'Selectmenu should not match :closed while it is open.'); +}, 'Selectmenu should support :open and :closed pseudo selectors.'); +</script> + +<selectmenu id=selectmenuinvalidation> + <button slot=button behavior=button>button</button> + <option>one</option> + <option>two</option> +</selectmenu> +<style> +selectmenu:closed { + background-color: red; +} +selectmenu:open { + background-color: green; +} +</style> + +<script> +test(() => { + const selectmenu = document.getElementById('selectmenuinvalidation'); + const button = selectmenu.querySelector('button'); + const option = selectmenu.querySelector('option'); + + assert_equals(getComputedStyle(selectmenu).backgroundColor, 'rgb(255, 0, 0)', + 'The style rules from :closed should apply when the selectmenu is closed.'); + + button.click(); + assert_equals(getComputedStyle(selectmenu).backgroundColor, 'rgb(0, 128, 0)', + 'The style rules from :open should apply when the selectmenu is open.'); + + option.click(); + assert_equals(getComputedStyle(selectmenu).backgroundColor, 'rgb(255, 0, 0)', + 'The style rules from :closed should apply when the selectmenu is opened and closed again.'); +}, 'Selectmenu :open and :closed should invalidate correctly.'); +</script> diff --git a/tests/wpt/web-platform-tests/html/semantics/forms/the-selectmenu-element/selectmenu-user-select.tentative.html b/tests/wpt/web-platform-tests/html/semantics/forms/the-selectmenu-element/selectmenu-user-select.tentative.html new file mode 100644 index 00000000000..dc6e2e230c0 --- /dev/null +++ b/tests/wpt/web-platform-tests/html/semantics/forms/the-selectmenu-element/selectmenu-user-select.tentative.html @@ -0,0 +1,63 @@ +<!DOCTYPE html> +<link rel=author href="mailto:jarhar@chromium.org"> +<link rel=help href="https://github.com/openui/open-ui/issues/687"> +<script src="/resources/testharness.js"></script> +<script src="/resources/testharnessreport.js"></script> + +<selectmenu id=useragent> + <option id=useragentoptionone>one</option> + <option id=useragentoptiontwo>two</option> +</selectmenu> + +<selectmenu id=custom> + <div id=custombutton slot=button behavior=button>button</div> + <div id=customlistbox popover=auto slot=listbox behavior=listbox>listbox</div> +</selectmenu> + +<selectmenu id=customwithselection style="user-select:auto"> + <div id=custombuttonwithselection slot=button behavior=button>button</div> + <div id=customlistboxwithselection popover=auto slot=listbox behavior=listbox>listbox</div> +</selectmenu> + +<selectmenu id=customwithmixedselection> + <div id=custombuttonwithmixedselection slot=button behavior=button style="user-select:auto">button</div> + <div id=customlistboxwithmixedselection popover=auto slot=listbox behavior=listbox style="user-select:auto">listbox</div> +</selectmenu> + +<script> +test(() => { + assert_equals(getComputedStyle(useragent).userSelect, 'none', + 'The selectmenu should have user-select:none.'); + assert_equals(getComputedStyle(useragentoptionone).userSelect, 'none', + 'The first option should have user-select:none.'); + assert_equals(getComputedStyle(useragentoptiontwo).userSelect, 'none', + 'The second option should have user-select:none.'); +}, 'Option elements should have user-select:none without slotting buttons or listboxes.'); + +test(() => { + assert_equals(getComputedStyle(custom).userSelect, 'none', + 'The selectmenu should have user-select:none.'); + assert_equals(getComputedStyle(custombutton).userSelect, 'none', + 'The custom button should have user-select:none.'); + assert_equals(getComputedStyle(customlistbox).userSelect, 'none', + 'The custom listbox should have user-select:none.'); +}, 'Slotted in buttons and listboxes should have user-select:none.'); + +test(() => { + assert_equals(getComputedStyle(customwithselection).userSelect, 'auto', + 'The selectmenu should have user-select:auto.'); + assert_equals(getComputedStyle(custombuttonwithselection).userSelect, 'auto', + 'The custom button should have user-select:auto.'); + assert_equals(getComputedStyle(customlistboxwithselection).userSelect, 'auto', + 'The custom listbox should have user-select:auto.'); +}, 'Setting user-select:auto on selectmenus should re-enable selection.'); + +test(() => { + assert_equals(getComputedStyle(customwithmixedselection).userSelect, 'none', + 'The selectmenu should have user-select:none.'); + assert_equals(getComputedStyle(custombuttonwithmixedselection).userSelect, 'auto', + 'The custom button should have user-select:auto.'); + assert_equals(getComputedStyle(customlistboxwithmixedselection).userSelect, 'auto', + 'The custom listbox should have user-select:auto.'); +}, 'Children of selectmenu should be able to opt-in to user-select.'); +</script> diff --git a/tests/wpt/web-platform-tests/html/semantics/popovers/hide-other-popover-side-effects.html b/tests/wpt/web-platform-tests/html/semantics/popovers/hide-other-popover-side-effects.html index 9fe6673d2ee..7cc95a95e90 100644 --- a/tests/wpt/web-platform-tests/html/semantics/popovers/hide-other-popover-side-effects.html +++ b/tests/wpt/web-platform-tests/html/semantics/popovers/hide-other-popover-side-effects.html @@ -16,6 +16,6 @@ test(() => { }); assert_throws_dom('InvalidStateError', () => popover2.showPopover(), "popover1's beforetoggle event handler removes popover2 so showPopover should throw."); - assert_false(popover2.matches(':open'), 'popover2 should not match :open once it is closed.'); + assert_false(popover2.matches(':popover-open'), 'popover2 should not match :popover-open once it is closed.'); }, 'Removing a popover while it is opening and force closing another popover should throw an exception.'); </script> diff --git a/tests/wpt/web-platform-tests/html/semantics/popovers/light-dismiss-event-ordering.html b/tests/wpt/web-platform-tests/html/semantics/popovers/light-dismiss-event-ordering.html index 4bfcecc4b05..be39050ac6b 100644 --- a/tests/wpt/web-platform-tests/html/semantics/popovers/light-dismiss-event-ordering.html +++ b/tests/wpt/web-platform-tests/html/semantics/popovers/light-dismiss-event-ordering.html @@ -28,7 +28,7 @@ for (const capture of [true, false]) { }, {capture, once: true}); // Click away from the popover to activate light dismiss. await clickOn(target); - assert_equals(document.querySelectorAll(':open').length, 0, + assert_equals(document.querySelectorAll(':popover-open').length, 0, 'The popover should be closed via light dismiss even when preventDefault is called.'); popover.showPopover(); @@ -37,7 +37,7 @@ for (const capture of [true, false]) { }, {capture, once: true}); // Click away from the popover to activate light dismiss. await clickOn(target); - assert_equals(document.querySelectorAll(':open').length, 0, + assert_equals(document.querySelectorAll(':popover-open').length, 0, 'The popover should be closed via light dismiss even when stopPropagation is called.'); }, `Tests the interactions between popover light dismiss and pointer/mouse events. eventName: ${eventName}, capture: ${capture}`); @@ -75,7 +75,7 @@ promise_test(async t => { assert_array_equals(events, expectedEvents, 'pointer and popover events should be fired in the correct order.'); - assert_equals(document.querySelectorAll(':open').length, 0, + assert_equals(document.querySelectorAll(':popover-open').length, 0, 'The popover should be closed via light dismiss.'); }, 'Tests the order of pointer/mouse events during popover light dismiss.'); diff --git a/tests/wpt/web-platform-tests/html/semantics/popovers/popover-anchor-nesting.html b/tests/wpt/web-platform-tests/html/semantics/popovers/popover-anchor-nesting.html index e3e712b937a..c3ea4f21658 100644 --- a/tests/wpt/web-platform-tests/html/semantics/popovers/popover-anchor-nesting.html +++ b/tests/wpt/web-platform-tests/html/semantics/popovers/popover-anchor-nesting.html @@ -40,15 +40,15 @@ setup({ explicit_done: true }); popover2.showPopover(); - assert_false(popover1.matches(':open')); - assert_true(popover2.matches(':open')); + assert_false(popover1.matches(':popover-open')); + assert_true(popover2.matches(':popover-open')); await clickOn(button1); test(t => { // Button1 is the anchor for popover1, and an ancestor of popover2. // Since popover2 is open, but not popover1, button1 should not be // the anchor of any open popover. So popover2 should be closed. - assert_false(popover2.matches(':open')); - assert_true(popover1.matches(':open')); + assert_false(popover2.matches(':popover-open')); + assert_true(popover1.matches(':popover-open')); },'Nested popovers (inside anchor elements) do not affect light dismiss'); done(); diff --git a/tests/wpt/web-platform-tests/html/semantics/popovers/popover-attribute-basic.html b/tests/wpt/web-platform-tests/html/semantics/popovers/popover-attribute-basic.html index 56d746e9dbe..335f817e75d 100644 --- a/tests/wpt/web-platform-tests/html/semantics/popovers/popover-attribute-basic.html +++ b/tests/wpt/web-platform-tests/html/semantics/popovers/popover-attribute-basic.html @@ -154,25 +154,25 @@ window.onload = () => { test((t) => { const popover = createPopover(t); popover.showPopover(); - assert_true(popover.matches(':open')); + assert_true(popover.matches(':popover-open')); if (popoverHintSupported()) { popover.setAttribute('popover','hint'); // Change popover type - assert_false(popover.matches(':open')); + assert_false(popover.matches(':popover-open')); popover.showPopover(); - assert_true(popover.matches(':open')); + assert_true(popover.matches(':popover-open')); } popover.setAttribute('popover','manual'); - assert_false(popover.matches(':open')); + assert_false(popover.matches(':popover-open')); popover.showPopover(); - assert_true(popover.matches(':open')); + assert_true(popover.matches(':popover-open')); popover.setAttribute('popover','invalid'); - assert_true(popover.matches(':open'),'From "manual" to "invalid" (which is interpreted as "manual") should not close the popover'); + assert_true(popover.matches(':popover-open'),'From "manual" to "invalid" (which is interpreted as "manual") should not close the popover'); popover.setAttribute('popover','auto'); - assert_false(popover.matches(':open'),'From "invalid" ("manual") to "auto" should hide the popover'); + assert_false(popover.matches(':popover-open'),'From "invalid" ("manual") to "auto" should hide the popover'); popover.showPopover(); - assert_true(popover.matches(':open')); + assert_true(popover.matches(':popover-open')); popover.setAttribute('popover','invalid'); - assert_false(popover.matches(':open'),'From "auto" to "invalid" (which is interpreted as "manual") should close the popover'); + assert_false(popover.matches(':popover-open'),'From "auto" to "invalid" (which is interpreted as "manual") should close the popover'); },'Changing attribute values should close open popovers'); const validTypes = popoverHintSupported() ? ["auto","hint","manual"] : ["auto","manual"]; @@ -181,21 +181,37 @@ window.onload = () => { const popover = createPopover(t); popover.setAttribute('popover',type); popover.showPopover(); - assert_true(popover.matches(':open')); + assert_true(popover.matches(':popover-open')); popover.remove(); - assert_false(popover.matches(':open')); + assert_false(popover.matches(':popover-open')); document.body.appendChild(popover); - assert_false(popover.matches(':open')); + assert_false(popover.matches(':popover-open')); },`Removing a visible popover=${type} element from the document should close the popover`); test((t) => { const popover = createPopover(t); popover.setAttribute('popover',type); popover.showPopover(); - assert_true(popover.matches(':open')); + assert_true(popover.matches(':popover-open')); assert_false(popover.matches(':modal')); popover.hidePopover(); },`A showing popover=${type} does not match :modal`); + + test((t) => { + const popover = createPopover(t); + popover.setAttribute('popover',type); + assert_false(popover.matches(':popover-open')); + // FIXME: Once :open/:closed are defined in HTML we should remove these two constants. + const openPseudoClassIsSupported = CSS.supports('selector(:open))'); + const closePseudoClassIsSupported = CSS.supports('selector(:closed))'); + assert_false(openPseudoClassIsSupported && popover.matches(':open'),'popovers never match :open'); + assert_false(closePseudoClassIsSupported && popover.matches(':closed'),'popovers never match :closed'); + popover.showPopover(); + assert_true(popover.matches(':popover-open')); + assert_false(openPseudoClassIsSupported && popover.matches(':open'),'popovers never match :open'); + assert_false(closePseudoClassIsSupported && popover.matches(':closed'),'popovers never match :closed'); + popover.hidePopover(); + },`A popover=${type} never matches :open or :closed`); }); test((t) => { @@ -209,11 +225,11 @@ window.onload = () => { return; popover.setAttribute('popover','manual'); },{once: true}); - assert_true(other_popover.matches(':open')); - assert_false(popover.matches(':open')); + assert_true(other_popover.matches(':popover-open')); + assert_false(popover.matches(':popover-open')); assert_throws_dom('InvalidStateError', () => popover.showPopover()); - assert_false(other_popover.matches(':open'),'unrelated popover is hidden'); - assert_false(popover.matches(':open'),'popover is not shown if its type changed during show'); + assert_false(other_popover.matches(':popover-open'),'unrelated popover is hidden'); + assert_false(popover.matches(':popover-open'),'popover is not shown if its type changed during show'); },`Changing the popover type in a "beforetoggle" event handler should throw an exception (during showPopover())`); test((t) => { @@ -236,11 +252,11 @@ window.onload = () => { return; assert_true(nested_popover_hidden,'The nested popover should be hidden first'); },{once: true}); - assert_true(popover.matches(':open')); - assert_true(other_popover.matches(':open')); + assert_true(popover.matches(':popover-open')); + assert_true(other_popover.matches(':popover-open')); assert_throws_dom('InvalidStateError', () => popover.hidePopover()); - assert_false(other_popover.matches(':open'),'unrelated popover is hidden'); - assert_false(popover.matches(':open'),'popover is still hidden if its type changed during hide event'); + assert_false(other_popover.matches(':popover-open'),'unrelated popover is hidden'); + assert_false(popover.matches(':popover-open'),'popover is still hidden if its type changed during hide event'); assert_throws_dom("InvalidStateError",() => other_popover.hidePopover(),'Nested popover should already be hidden'); },`Changing the popover type in a "beforetoggle" event handler should throw an exception (during hidePopover())`); @@ -277,7 +293,7 @@ window.onload = () => { const popover = createPopover(t); setPopoverValue(popover,type,method); popover.showPopover(); - assert_true(popover.matches(':open')); + assert_true(popover.matches(':popover-open')); let gotEvent = false; popover.addEventListener('beforetoggle', (e) => { if (e.newState !== "closed") @@ -288,7 +304,7 @@ window.onload = () => { setPopoverValue(popover,newType,method); if (type===interpretedType(newType,method)) { // Keeping the type the same should not hide it or fire events. - assert_true(popover.matches(':open'),'popover should remain open when not changing the type'); + assert_true(popover.matches(':popover-open'),'popover should remain open when not changing the type'); assert_false(gotEvent); try { popover.hidePopover(); // Cleanup @@ -297,7 +313,7 @@ window.onload = () => { // Changing the type at all should hide the popover. The hide event // handler should run, set a new type, and that type should end up // as the final result. - assert_false(popover.matches(':open')); + assert_false(popover.matches(':popover-open')); if (inEventType === undefined || (method ==="idl" && inEventType === null)) { assert_throws_dom("NotSupportedError",() => popover.showPopover(),'We should have removed the popover attribute, so showPopover should throw'); } else { @@ -306,16 +322,16 @@ window.onload = () => { assert_equals(popover.popover, interpretedType(inEventType,method),'IDL attribute'); // Make sure the type is really correct, via behavior. popover.showPopover(); // Show it - assert_true(popover.matches(':open'),'Popover should function'); + assert_true(popover.matches(':popover-open'),'Popover should function'); await clickOn(outsideElement); // Try to light dismiss switch (interpretedType(inEventType,method)) { case 'manual': - assert_true(popover.matches(':open'),'A popover=manual should not light-dismiss'); + assert_true(popover.matches(':popover-open'),'A popover=manual should not light-dismiss'); popover.hidePopover(); break; case 'auto': case 'hint': - assert_false(popover.matches(':open'),'A popover=auto should light-dismiss'); + assert_false(popover.matches(':popover-open'),'A popover=auto should light-dismiss'); break; } } diff --git a/tests/wpt/web-platform-tests/html/semantics/popovers/popover-document-open.html b/tests/wpt/web-platform-tests/html/semantics/popovers/popover-document-open.html index db43fd02b92..80ac86aceda 100644 --- a/tests/wpt/web-platform-tests/html/semantics/popovers/popover-document-open.html +++ b/tests/wpt/web-platform-tests/html/semantics/popovers/popover-document-open.html @@ -13,17 +13,17 @@ test((t) => { const popover1 = document.querySelector('#popover1'); popover1.showPopover(); - assert_true(popover1.matches(':open')); + assert_true(popover1.matches(':popover-open')); assert_true(!document.querySelector('#popover2')); document.open(); document.write('<!DOCTYPE html><div popover id=popover2>Popover</div>'); document.close(); assert_true(!document.querySelector('#popover1'),'popover1 should be removed from the document'); assert_true(!!document.querySelector('#popover2'),'popover2 should be in the document'); - assert_false(popover1.matches(':open'),'popover1 should have been hidden when it was removed from the document'); - assert_false(popover1.matches(':open'),'popover2 shouldn\'t be showing yet'); + assert_false(popover1.matches(':popover-open'),'popover1 should have been hidden when it was removed from the document'); + assert_false(popover1.matches(':popover-open'),'popover2 shouldn\'t be showing yet'); popover2.showPopover(); - assert_true(popover2.matches(':open'),'popover2 should be able to be shown'); + assert_true(popover2.matches(':popover-open'),'popover2 should be able to be shown'); popover2.hidePopover(); },'document.open should not break popovers'); }; diff --git a/tests/wpt/web-platform-tests/html/semantics/popovers/popover-events.html b/tests/wpt/web-platform-tests/html/semantics/popovers/popover-events.html index 95cd5ad2add..4d58001f7dd 100644 --- a/tests/wpt/web-platform-tests/html/semantics/popovers/popover-events.html +++ b/tests/wpt/web-platform-tests/html/semantics/popovers/popover-events.html @@ -22,7 +22,7 @@ window.onload = () => { for(const method of ["listener","attribute"]) { promise_test(async t => { const {popover,signal} = getPopoverAndSignal(t); - assert_false(popover.matches(':open')); + assert_false(popover.matches(':popover-open')); let showCount = 0; let afterShowCount = 0; let hideCount = 0; @@ -33,15 +33,13 @@ window.onload = () => { if (e.newState === "open") { ++showCount; assert_equals(e.oldState,"closed",'The "beforetoggle" event should be fired before the popover is open'); - assert_true(e.target.matches(':closed'),'The popover should be in the :closed state when the opening event fires.'); - assert_false(e.target.matches(':open'),'The popover should *not* be in the :open state when the opening event fires.'); + assert_false(e.target.matches(':popover-open'),'The popover should *not* be in the :popover-open state when the opening event fires.'); assert_true(e.cancelable,'beforetoggle should be cancelable only for the "show" transition'); } else { ++hideCount; assert_equals(e.newState,"closed",'Popover toggleevent states should be "open" and "closed"'); assert_equals(e.oldState,"open",'The "beforetoggle" event should be fired before the popover is closed') - assert_true(e.target.matches(':open'),'The popover should be in the :open state when the hiding event fires.'); - assert_false(e.target.matches(':closed'),'The popover should *not* be in the :closed state when the hiding event fires.'); + assert_true(e.target.matches(':popover-open'),'The popover should be in the :popover-open state when the hiding event fires.'); assert_false(e.cancelable,'beforetoggle should be cancelable only for the "show" transition'); e.preventDefault(); // beforetoggle should be cancelable only for the "show" transition } @@ -52,14 +50,12 @@ window.onload = () => { if (e.newState === "open") { ++afterShowCount; if (document.body.contains(e.target)) { - assert_true(e.target.matches(':open'),'The popover should be in the :open state when the after opening event fires.'); - assert_false(e.target.matches(':closed'),'The popover should *not* be in the :closed state when the after opening event fires.'); + assert_true(e.target.matches(':popover-open'),'The popover should be in the :popover-open state when the after opening event fires.'); } } else { ++afterHideCount; assert_equals(e.newState,"closed",'Popover toggleevent states should be "open" and "closed"'); - assert_true(e.target.matches(':closed'),'The popover should be in the :closed state when the after hiding event fires.'); - assert_false(e.target.matches(':open'),'The popover should *not* be in the :open state when the after hiding event fires.'); + assert_false(e.target.matches(':popover-open'),'The popover should *not* be in the :popover-open state when the after hiding event fires.'); } e.preventDefault(); // "toggle" should not be cancelable. } @@ -85,7 +81,7 @@ window.onload = () => { assert_equals(0,afterShowCount); assert_equals(0,afterHideCount); popover.showPopover(); - assert_true(popover.matches(':open')); + assert_true(popover.matches(':popover-open')); assert_equals(1,showCount); assert_equals(0,hideCount); assert_equals(0,afterShowCount); @@ -93,9 +89,9 @@ window.onload = () => { await waitForRender(); assert_equals(1,afterShowCount,'toggle show is fired asynchronously'); assert_equals(0,afterHideCount); - assert_true(popover.matches(':open')); + assert_true(popover.matches(':popover-open')); popover.hidePopover(); - assert_false(popover.matches(':open')); + assert_false(popover.matches(':popover-open')); assert_equals(1,showCount); assert_equals(1,hideCount); assert_equals(1,afterShowCount); @@ -106,7 +102,7 @@ window.onload = () => { // No additional events await waitForRender(); await waitForRender(); - assert_false(popover.matches(':open')); + assert_false(popover.matches(':popover-open')); assert_equals(1,showCount); assert_equals(1,hideCount); assert_equals(1,afterShowCount); @@ -123,14 +119,14 @@ window.onload = () => { if (cancel) e.preventDefault(); }, {signal}); - assert_false(popover.matches(':open')); + assert_false(popover.matches(':popover-open')); popover.showPopover(); - assert_false(popover.matches(':open'),'The "beforetoggle" event should be cancelable for the "opening" transition'); + assert_false(popover.matches(':popover-open'),'The "beforetoggle" event should be cancelable for the "opening" transition'); cancel = false; popover.showPopover(); - assert_true(popover.matches(':open')); + assert_true(popover.matches(':popover-open')); popover.hidePopover(); - assert_false(popover.matches(':open')); + assert_false(popover.matches(':popover-open')); }, 'The "beforetoggle" event is cancelable for the "opening" transition'); promise_test(async t => { @@ -138,14 +134,14 @@ window.onload = () => { popover.addEventListener('beforetoggle',(e) => { assert_not_equals(e.newState,"closed",'The "beforetoggle" event was fired for the closing transition'); }, {signal}); - assert_false(popover.matches(':open')); + assert_false(popover.matches(':popover-open')); popover.showPopover(); - assert_true(popover.matches(':open')); + assert_true(popover.matches(':popover-open')); t.add_cleanup(() => {document.body.appendChild(popover);}); popover.remove(); await waitForRender(); // Check for async events also await waitForRender(); // Check for async events also - assert_false(popover.matches(':open')); + assert_false(popover.matches(':popover-open')); }, 'The "beforetoggle" event is not fired for element removal'); promise_test(async t => { @@ -190,31 +186,31 @@ window.onload = () => { resetEvents(); assertOnly('none'); - assert_false(popover.matches(':open')); + assert_false(popover.matches(':popover-open')); popover.showPopover(); await waitForRender(); - assert_true(popover.matches(':open')); + assert_true(popover.matches(':popover-open')); assertOnly('singleShow','Single event should have been fired, which is a "show"'); resetEvents(); popover.hidePopover(); popover.showPopover(); // Immediate re-show await waitForRender(); - assert_true(popover.matches(':open')); + assert_true(popover.matches(':popover-open')); assertOnly('coalescedShow','Single coalesced event should have been fired, which is a "show"'); resetEvents(); popover.hidePopover(); await waitForRender(); assertOnly('singleHide','Single event should have been fired, which is a "hide"'); - assert_false(popover.matches(':open')); + assert_false(popover.matches(':popover-open')); resetEvents(); popover.showPopover(); popover.hidePopover(); // Immediate re-hide await waitForRender(); assertOnly('coalescedHide','Single coalesced event should have been fired, which is a "hide"'); - assert_false(popover.matches(':open')); + assert_false(popover.matches(':popover-open')); }, 'The "toggle" event is coalesced'); }; </script> diff --git a/tests/wpt/web-platform-tests/html/semantics/popovers/popover-focus-2.html b/tests/wpt/web-platform-tests/html/semantics/popovers/popover-focus-2.html index 74ccc456ab6..5a7f5da8f7b 100644 --- a/tests/wpt/web-platform-tests/html/semantics/popovers/popover-focus-2.html +++ b/tests/wpt/web-platform-tests/html/semantics/popovers/popover-focus-2.html @@ -61,7 +61,7 @@ promise_test(async t => { await sendTab(); assert_equals(document.activeElement,invoker1); await sendEnter(); // Activate the invoker - assert_true(popover1.matches(':open'), 'popover1 should be invoked by invoker1'); + assert_true(popover1.matches(':popover-open'), 'popover1 should be invoked by invoker1'); assert_equals(document.activeElement,invoker1,'Focus should not move when popover is shown'); await sendTab(); assert_equals(document.activeElement,inside_popover1,'Focus should move from invoker into the open popover'); @@ -70,14 +70,14 @@ promise_test(async t => { await verifyFocusOrder([button1, button2, invoker1, inside_popover1, invoker2, inside_popover2, button3, button4]); invoker2.focus(); await sendEnter(); // Activate the nested invoker - assert_true(popover2.matches(':open'), 'popover2 should be invoked by nested invoker'); + assert_true(popover2.matches(':popover-open'), 'popover2 should be invoked by nested invoker'); assert_equals(document.activeElement,invoker2,'Focus should stay on the invoker'); await sendTab(); assert_equals(document.activeElement,inside_popover3,'Focus should move into nested popover'); await sendTab(); assert_equals(document.activeElement,invoker3); await sendEnter(); // Activate the (empty) nested invoker - assert_true(popover3.matches(':open'), 'popover3 should be invoked by nested invoker'); + assert_true(popover3.matches(':popover-open'), 'popover3 should be invoked by nested invoker'); assert_equals(document.activeElement,invoker3,'Focus should stay on the invoker'); await sendTab(); assert_equals(document.activeElement,inside_popover2,'Focus should skip popover without focusable content, going back to higher scope'); @@ -120,10 +120,10 @@ promise_test(async t => { invoker.focus(); // Make sure button is focused. assert_equals(document.activeElement,invoker); await sendEnter(); // Activate the invoker - assert_true(popover.matches(':open'), 'popover should be invoked by invoker'); + assert_true(popover.matches(':popover-open'), 'popover should be invoked by invoker'); assert_equals(document.activeElement,hideButton,'Hide button should be focused due to autofocus attribute'); await sendEnter(); // Activate the hide invoker - assert_false(popover.matches(':open'), 'popover should be hidden by invoker'); + assert_false(popover.matches(':popover-open'), 'popover should be hidden by invoker'); assert_equals(document.activeElement,invoker,'Focus should be returned to the invoker'); }, "Popover focus returns when popover is hidden by invoker"); </script> @@ -141,14 +141,14 @@ promise_test(async t => { invoker.focus(); // Make sure button is focused. assert_equals(document.activeElement,invoker); invoker.click(); // Activate the invoker - assert_true(popover.matches(':open'), 'popover should be invoked by invoker'); + assert_true(popover.matches(':popover-open'), 'popover should be invoked by invoker'); assert_equals(document.activeElement,invoker,'invoker should still be focused'); await sendTab(); assert_equals(document.activeElement,popover.querySelector('button'),'next up is the popover'); await sendTab(); assert_equals(document.activeElement,otherElement,'next focus stop is outside the popover'); await sendEscape(); // Close the popover via ESC - assert_false(popover.matches(':open'), 'popover should be hidden'); + assert_false(popover.matches(':popover-open'), 'popover should be hidden'); assert_equals(document.activeElement,otherElement,'focus does not move because it was not inside the popover'); }, "Popover focus only returns to invoker when focus is within the popover"); </script> diff --git a/tests/wpt/web-platform-tests/html/semantics/popovers/popover-focus-child-dialog.html b/tests/wpt/web-platform-tests/html/semantics/popovers/popover-focus-child-dialog.html index c07d313c9e9..051eef14a7c 100644 --- a/tests/wpt/web-platform-tests/html/semantics/popovers/popover-focus-child-dialog.html +++ b/tests/wpt/web-platform-tests/html/semantics/popovers/popover-focus-child-dialog.html @@ -25,7 +25,7 @@ test(t => { document.activeElement.blur(); popover1.showPopover(); - assert_true(popover1.matches(':open'), 'The popover should be open.'); + assert_true(popover1.matches(':popover-open'), 'The popover should be open.'); assert_true(childdialog.hasAttribute('open'), 'The dialog should be open.'); assert_equals(document.activeElement, document.body, 'Nothing should have gotten focused.'); }, 'Popovers should not initially focus child dialog elements.'); @@ -38,8 +38,8 @@ test(t => { document.activeElement.blur(); popover2.showPopover(); - assert_true(popover2.matches(':open'), 'The parent popover should be open.'); - assert_true(childpopover.matches(':open'), 'The child popover should be open.'); + assert_true(popover2.matches(':popover-open'), 'The parent popover should be open.'); + assert_true(childpopover.matches(':popover-open'), 'The child popover should be open.'); assert_equals(document.activeElement, document.body, 'Nothing should have gotten focused.'); }, 'Popovers should not initially focus child popover elements.'); </script> diff --git a/tests/wpt/web-platform-tests/html/semantics/popovers/popover-focus.html b/tests/wpt/web-platform-tests/html/semantics/popovers/popover-focus.html index aad9ab99dc2..915a1bcade3 100644 --- a/tests/wpt/web-platform-tests/html/semantics/popovers/popover-focus.html +++ b/tests/wpt/web-platform-tests/html/semantics/popovers/popover-focus.html @@ -91,7 +91,7 @@ expectedFocusedElement = priorFocus; } assert_true(!!expectedFocusedElement); - assert_false(popover.matches(':open')); + assert_false(popover.matches(':popover-open')); // Directly show and hide the popover: priorFocus.focus(); @@ -130,7 +130,7 @@ assert_equals(document.activeElement, expectedFocusedElement, `${testName} activated by popover.showPopover()`); assert_equals(popover.popover, 'auto', 'All popovers in this test should start as popover=auto'); popover.popover = 'manual'; - assert_false(popover.matches(':open'), 'Changing the popover type should hide the popover'); + assert_false(popover.matches(':popover-open'), 'Changing the popover type should hide the popover'); assert_equals(document.activeElement, priorFocus, 'prior element should get focus when the type is changed'); assert_false(isElementVisible(popover)); popover.popover = 'auto'; @@ -152,7 +152,7 @@ assert_equals(document.activeElement, expectedFocusedElement, `${testName} activated by popover.showPopover()`); const dialog = document.body.appendChild(document.createElement('dialog')); dialog.showModal(); - assert_false(popover.matches(':open'), 'Opening a modal dialog should hide the popover'); + assert_false(popover.matches(':popover-open'), 'Opening a modal dialog should hide the popover'); assert_not_equals(document.activeElement, priorFocus, 'prior element should *not* get focus when a modal dialog is shown'); assert_false(isElementVisible(popover)); dialog.close(); @@ -162,7 +162,7 @@ const button = addInvoker(t, popover); priorFocus.focus(); button.click(); - assert_true(popover.matches(':open')); + assert_true(popover.matches(':popover-open')); assert_equals(document.activeElement, expectedFocusedElement, `${testName} activated by button.click()`); // Make sure Escape works in the invoker case: @@ -173,19 +173,19 @@ // Make sure we can directly focus the (already open) popover: priorFocus.focus(); button.click(); - assert_true(popover.matches(':open')); + assert_true(popover.matches(':popover-open')); assert_equals(document.activeElement, expectedFocusedElement, `${testName} activated by button.click()`); popover.focus(); assert_equals(document.activeElement, popover.hasAttribute('tabindex') ? popover : expectedFocusedElement, `${testName} directly focus with popover.focus()`); button.click(); // Button is set to toggle the popover - assert_false(popover.matches(':open')); + assert_false(popover.matches(':popover-open')); assert_equals(document.activeElement, priorFocus, 'prior element should get focus on button-toggled hide'); assert_false(isElementVisible(popover)); }, "Popover focus test: " + testName); promise_test(async t => { const priorFocus = addPriorFocus(t); - assert_false(popover.matches(':open'), 'popover should start out hidden'); + assert_false(popover.matches(':popover-open'), 'popover should start out hidden'); let button = addInvoker(t, popover); assert_equals(button.getAttribute('popovertarget'), popover.id, 'This test assumes the button uses `popovertarget`.'); assert_not_equals(button, priorFocus, 'Stranger things have happened'); @@ -193,9 +193,9 @@ priorFocus.focus(); assert_equals(document.activeElement, priorFocus); popover.showPopover(); - assert_true(popover.matches(':open')); + assert_true(popover.matches(':popover-open')); await clickOn(button); // This will *not* light dismiss, but will "toggle" the popover. - assert_false(popover.matches(':open')); + assert_false(popover.matches(':popover-open')); assert_equals(document.activeElement, button, 'focus should move to the button when clicked, and should stay there when the popover closes'); assert_false(isElementVisible(popover)); @@ -206,13 +206,13 @@ t.add_cleanup(() => button.remove()); priorFocus.focus(); popover.showPopover(); - assert_true(popover.matches(':open')); + assert_true(popover.matches(':popover-open')); const changesFocus = !popover.hasAttribute('data-no-focus'); if (changesFocus) { assert_not_equals(document.activeElement, priorFocus, 'focus should shift for this element'); } await clickOn(button); - assert_false(popover.matches(':open'), 'clicking button should hide the popover'); + assert_false(popover.matches(':popover-open'), 'clicking button should hide the popover'); assert_equals(document.activeElement, priorFocus, 'Contained button should return focus to the previously focused element'); assert_false(isElementVisible(popover)); @@ -221,9 +221,9 @@ document.body.appendChild(button); priorFocus.focus(); popover.showPopover(); - assert_true(popover.matches(':open')); + assert_true(popover.matches(':popover-open')); await clickOn(button); // This will light dismiss the popover, focus the prior focus, then focus this button. - assert_false(popover.matches(':open'), 'clicking button should hide the popover (via light dismiss)'); + assert_false(popover.matches(':popover-open'), 'clicking button should hide the popover (via light dismiss)'); assert_equals(document.activeElement, button, 'Focus should go to unrelated button on light dismiss'); assert_false(isElementVisible(popover)); }, "Popover button click focus test: " + testName); @@ -234,12 +234,12 @@ return; } const priorFocus = addPriorFocus(t); - assert_false(popover.matches(':open'), 'popover should start out hidden'); + assert_false(popover.matches(':popover-open'), 'popover should start out hidden'); // Move the prior focus out of the document priorFocus.focus(); popover.showPopover(); - assert_true(popover.matches(':open')); + assert_true(popover.matches(':popover-open')); const newFocus = document.activeElement; assert_not_equals(newFocus, priorFocus, 'focus should shift for this element'); priorFocus.remove(); @@ -252,11 +252,11 @@ // Move the prior focus inside the (already open) popover priorFocus.focus(); popover.showPopover(); - assert_true(popover.matches(':open')); + assert_true(popover.matches(':popover-open')); assert_false(popover.contains(priorFocus), 'Start with a non-contained prior focus'); popover.appendChild(priorFocus); // Move inside the popover assert_true(popover.contains(priorFocus)); - assert_true(popover.matches(':open'), 'popover should stay open'); + assert_true(popover.matches(':popover-open'), 'popover should stay open'); popover.hidePopover(); assert_false(isElementVisible(popover)); assert_not_equals(document.activeElement, priorFocus, 'focused element is display:none inside the popover'); diff --git a/tests/wpt/web-platform-tests/html/semantics/popovers/popover-hidden-display.html b/tests/wpt/web-platform-tests/html/semantics/popovers/popover-hidden-display.html index 936c57fc17e..db61802db60 100644 --- a/tests/wpt/web-platform-tests/html/semantics/popovers/popover-hidden-display.html +++ b/tests/wpt/web-platform-tests/html/semantics/popovers/popover-hidden-display.html @@ -24,10 +24,10 @@ [popover].toplayer { background: red; } - [popover].toplayer:open { + [popover].toplayer:popover-open { background: green; } - [popover].nottoplayer:open { + [popover].nottoplayer:popover-open { background: red; } </style> diff --git a/tests/wpt/web-platform-tests/html/semantics/popovers/popover-inside-display-none.html b/tests/wpt/web-platform-tests/html/semantics/popovers/popover-inside-display-none.html index a25cf14d1ce..24ce7c6fc6c 100644 --- a/tests/wpt/web-platform-tests/html/semantics/popovers/popover-inside-display-none.html +++ b/tests/wpt/web-platform-tests/html/semantics/popovers/popover-inside-display-none.html @@ -14,6 +14,6 @@ No popover should be displayed here.<p> <script> const popover = document.querySelector('[popover]'); popover.showPopover(); - if (!popover.matches(':open')) + if (!popover.matches(':popover-open')) document.body.appendChild(document.createTextNode('FAIL')); </script> diff --git a/tests/wpt/web-platform-tests/html/semantics/popovers/popover-invoking-attribute.html b/tests/wpt/web-platform-tests/html/semantics/popovers/popover-invoking-attribute.html index 9b7a714f6dc..22e7dc14a17 100644 --- a/tests/wpt/web-platform-tests/html/semantics/popovers/popover-invoking-attribute.html +++ b/tests/wpt/web-platform-tests/html/semantics/popovers/popover-invoking-attribute.html @@ -90,19 +90,19 @@ window.addEventListener('load', () => { document.body.appendChild(popover); test.add_cleanup(() => {popover.remove();}); assert_equals(invoker.popoverTargetElement,popover,'target element should be returned once it\'s in the document'); - assert_false(popover.matches(':open')); + assert_false(popover.matches(':popover-open')); await testcase.invokeFn(invoker); assert_equals(document.activeElement,invoker,'Focus should end up on the invoker'); expectedBehavior = testcase.getExpectedLogic(action); switch (expectedBehavior) { case "toggle": case "show": - assert_true(popover.matches(':open'),'Toggle or show should show the popover'); + assert_true(popover.matches(':popover-open'),'Toggle or show should show the popover'); popover.hidePopover(); // Hide the popover break; case "hide": case "none": - assert_false(popover.matches(':open'),'Hide or none should leave the popover hidden'); + assert_false(popover.matches(':popover-open'),'Hide or none should leave the popover hidden'); break; default: assert_unreached(); @@ -112,18 +112,18 @@ window.addEventListener('load', () => { // a control that has no expected behavior may hide an open popover via light dismiss. return; } - assert_false(popover.matches(':open')); + assert_false(popover.matches(':popover-open')); popover.showPopover(); // Show the popover directly assert_equals(document.activeElement,invoker,'The popover should not shift focus'); - assert_true(popover.matches(':open')); + assert_true(popover.matches(':popover-open')); await testcase.invokeFn(invoker); switch (expectedBehavior) { case "toggle": case "hide": - assert_false(popover.matches(':open'),'Toggle or hide should hide the popover'); + assert_false(popover.matches(':popover-open'),'Toggle or hide should hide the popover'); break; case "show": - assert_true(popover.matches(':open'),'Show should leave the popover showing'); + assert_true(popover.matches(':popover-open'),'Show should leave the popover showing'); break; default: assert_unreached(); @@ -163,7 +163,7 @@ popover.addEventListener('beforetoggle',(e) => { }); async function assertState(expectOpen,expectShow,expectHide) { - assert_equals(popover.matches(':open'),expectOpen,'Popover open state is incorrect'); + assert_equals(popover.matches(':popover-open'),expectOpen,'Popover open state is incorrect'); await new Promise(resolve => requestAnimationFrame(resolve)); assert_equals(showCount,expectShow,'Show count is incorrect'); assert_equals(hideCount,expectHide,'Hide count is incorrect'); diff --git a/tests/wpt/web-platform-tests/html/semantics/popovers/popover-light-dismiss-on-scroll.html b/tests/wpt/web-platform-tests/html/semantics/popovers/popover-light-dismiss-on-scroll.html index a4bb4b452b0..382addadef1 100644 --- a/tests/wpt/web-platform-tests/html/semantics/popovers/popover-light-dismiss-on-scroll.html +++ b/tests/wpt/web-platform-tests/html/semantics/popovers/popover-light-dismiss-on-scroll.html @@ -40,7 +40,7 @@ const popovers = document.querySelectorAll('[popover]'); function assertAll(showing) { for(let popover of popovers) { - assert_equals(popover.matches(':open'),showing); + assert_equals(popover.matches(':popover-open'),showing); } } async_test(t => { diff --git a/tests/wpt/web-platform-tests/html/semantics/popovers/popover-light-dismiss.html b/tests/wpt/web-platform-tests/html/semantics/popovers/popover-light-dismiss.html index dce9561f55f..0cb13979407 100644 --- a/tests/wpt/web-platform-tests/html/semantics/popovers/popover-light-dismiss.html +++ b/tests/wpt/web-platform-tests/html/semantics/popovers/popover-light-dismiss.html @@ -61,12 +61,12 @@ e.preventDefault(); // 'beforetoggle' should not be cancellable. }); promise_test(async () => { - assert_false(popover1.matches(':open')); + assert_false(popover1.matches(':popover-open')); popover1.showPopover(); - assert_true(popover1.matches(':open')); + assert_true(popover1.matches(':popover-open')); let p1HideCount = popover1HideCount; await clickOn(outside); - assert_false(popover1.matches(':open')); + assert_false(popover1.matches(':popover-open')); assert_equals(popover1HideCount,p1HideCount+1); },'Clicking outside a popover will dismiss the popover'); @@ -80,69 +80,69 @@ addListener('pointerup'); addListener('mousedown'); addListener('mouseup'); - assert_false(popover1.matches(':open')); + assert_false(popover1.matches(':popover-open')); popover1.showPopover(); - assert_true(popover1.matches(':open')); + assert_true(popover1.matches(':popover-open')); let p1HideCount = popover1HideCount; await clickOn(outside); - assert_false(popover1.matches(':open'),'preventDefault should not prevent light dismiss'); + assert_false(popover1.matches(':popover-open'),'preventDefault should not prevent light dismiss'); assert_equals(popover1HideCount,p1HideCount+1); },'Canceling pointer events should not keep clicks from light dismissing popovers'); promise_test(async () => { - assert_false(popover1.matches(':open')); + assert_false(popover1.matches(':popover-open')); popover1.showPopover(); await waitForRender(); p1HideCount = popover1HideCount; await clickOn(inside1); - assert_true(popover1.matches(':open')); + assert_true(popover1.matches(':popover-open')); assert_equals(popover1HideCount,p1HideCount); popover1.hidePopover(); },'Clicking inside a popover does not close that popover'); promise_test(async () => { - assert_false(popover1.matches(':open')); + assert_false(popover1.matches(':popover-open')); popover1.showPopover(); await waitForRender(); - assert_true(popover1.matches(':open')); + assert_true(popover1.matches(':popover-open')); const actions = new test_driver.Actions(); await actions.pointerMove(0, 0, {origin: outside}) .pointerDown({button: actions.ButtonType.LEFT}) .send(); await waitForRender(); - assert_true(popover1.matches(':open'),'pointerdown (outside the popover) should not hide the popover'); + assert_true(popover1.matches(':popover-open'),'pointerdown (outside the popover) should not hide the popover'); await actions.pointerUp({button: actions.ButtonType.LEFT}) .send(); await waitForRender(); - assert_false(popover1.matches(':open'),'pointerup (outside the popover) should trigger light dismiss'); + assert_false(popover1.matches(':popover-open'),'pointerup (outside the popover) should trigger light dismiss'); },'Popovers close on pointerup, not pointerdown'); - promise_test(async () => { - assert_false(popover1.matches(':open')); + promise_test(async (t) => { + t.add_cleanup(() => popover1.hidePopover()); + assert_false(popover1.matches(':popover-open')); popover1.showPopover(); - assert_true(popover1.matches(':open')); + assert_true(popover1.matches(':popover-open')); async function testOne(eventName) { document.body.dispatchEvent(new PointerEvent(eventName)); document.body.dispatchEvent(new MouseEvent(eventName)); document.body.dispatchEvent(new ProgressEvent(eventName)); await waitForRender(); - assert_true(popover1.matches(':open'),`A synthetic "${eventName}" event should not hide the popover`); + assert_true(popover1.matches(':popover-open'),`A synthetic "${eventName}" event should not hide the popover`); } await testOne('pointerup'); await testOne('pointerdown'); await testOne('mouseup'); await testOne('mousedown'); - popover1.hidePopover(); },'Synthetic events can\'t close popovers'); - promise_test(async () => { + promise_test(async (t) => { + t.add_cleanup(() => popover1.hidePopover()); popover1.showPopover(); await clickOn(inside1After); - assert_true(popover1.matches(':open')); + assert_true(popover1.matches(':popover-open')); await sendTab(); assert_equals(document.activeElement,afterp1,'Focus should move to a button outside the popover'); - assert_true(popover1.matches(':open')); - popover1.hidePopover(); + assert_true(popover1.matches(':popover-open')); },'Moving focus outside the popover should not dismiss the popover'); promise_test(async () => { @@ -152,13 +152,13 @@ p1HideCount = popover1HideCount; let p2HideCount = popover2HideCount; await clickOn(inside2); - assert_true(popover1.matches(':open'),'popover1 should be open'); - assert_true(popover2.matches(':open'),'popover2 should be open'); + assert_true(popover1.matches(':popover-open'),'popover1 should be open'); + assert_true(popover2.matches(':popover-open'),'popover2 should be open'); assert_equals(popover1HideCount,p1HideCount,'popover1'); assert_equals(popover2HideCount,p2HideCount,'popover2'); popover1.hidePopover(); - assert_false(popover1.matches(':open')); - assert_false(popover2.matches(':open')); + assert_false(popover1.matches(':popover-open')); + assert_false(popover2.matches(':popover-open')); },'Clicking inside a child popover shouldn\'t close either popover'); promise_test(async () => { @@ -168,89 +168,89 @@ p1HideCount = popover1HideCount; p2HideCount = popover2HideCount; await clickOn(inside1); - assert_true(popover1.matches(':open')); + assert_true(popover1.matches(':popover-open')); assert_equals(popover1HideCount,p1HideCount); - assert_false(popover2.matches(':open')); + assert_false(popover2.matches(':popover-open')); assert_equals(popover2HideCount,p2HideCount+1); popover1.hidePopover(); },'Clicking inside a parent popover should close child popover'); promise_test(async () => { await clickOn(button1show); - assert_true(popover1.matches(':open')); + assert_true(popover1.matches(':popover-open')); await waitForRender(); p1HideCount = popover1HideCount; await clickOn(button1show); - assert_true(popover1.matches(':open'),'popover1 should stay open'); + assert_true(popover1.matches(':popover-open'),'popover1 should stay open'); assert_equals(popover1HideCount,p1HideCount,'popover1 should not get hidden and reshown'); popover1.hidePopover(); // Cleanup - assert_false(popover1.matches(':open')); + assert_false(popover1.matches(':popover-open')); },'Clicking on invoking element, after using it for activation, shouldn\'t close its popover'); promise_test(async () => { popover1.showPopover(); - assert_true(popover1.matches(':open')); - assert_false(popover2.matches(':open')); + assert_true(popover1.matches(':popover-open')); + assert_false(popover2.matches(':popover-open')); await clickOn(button2); - assert_true(popover2.matches(':open'),'button2 should activate popover2'); + assert_true(popover2.matches(':popover-open'),'button2 should activate popover2'); p2HideCount = popover2HideCount; await clickOn(button2); - assert_true(popover2.matches(':open'),'popover2 should stay open'); + assert_true(popover2.matches(':popover-open'),'popover2 should stay open'); assert_equals(popover2HideCount,p2HideCount,'popover2 should not get hidden and reshown'); popover1.hidePopover(); // Cleanup - assert_false(popover1.matches(':open')); - assert_false(popover2.matches(':open')); + assert_false(popover1.matches(':popover-open')); + assert_false(popover2.matches(':popover-open')); },'Clicking on invoking element, after using it for activation, shouldn\'t close its popover (nested case)'); promise_test(async () => { popover1.showPopover(); popover2.showPopover(); - assert_true(popover1.matches(':open')); - assert_true(popover2.matches(':open')); + assert_true(popover1.matches(':popover-open')); + assert_true(popover2.matches(':popover-open')); p2HideCount = popover2HideCount; await clickOn(button2); - assert_true(popover2.matches(':open'),'popover2 should stay open'); + assert_true(popover2.matches(':popover-open'),'popover2 should stay open'); assert_equals(popover2HideCount,p2HideCount,'popover2 should not get hidden and reshown'); popover1.hidePopover(); // Cleanup - assert_false(popover1.matches(':open')); - assert_false(popover2.matches(':open')); + assert_false(popover1.matches(':popover-open')); + assert_false(popover2.matches(':popover-open')); },'Clicking on invoking element, after using it for activation, shouldn\'t close its popover (nested case, not used for invocation)'); promise_test(async () => { popover1.showPopover(); // Directly show the popover - assert_true(popover1.matches(':open')); + assert_true(popover1.matches(':popover-open')); await waitForRender(); p1HideCount = popover1HideCount; await clickOn(button1show); - assert_true(popover1.matches(':open'),'popover1 should stay open'); + assert_true(popover1.matches(':popover-open'),'popover1 should stay open'); assert_equals(popover1HideCount,p1HideCount,'popover1 should not get hidden and reshown'); popover1.hidePopover(); // Cleanup - assert_false(popover1.matches(':open')); + assert_false(popover1.matches(':popover-open')); },'Clicking on invoking element, even if it wasn\'t used for activation, shouldn\'t close its popover'); promise_test(async () => { popover1.showPopover(); // Directly show the popover - assert_true(popover1.matches(':open')); + assert_true(popover1.matches(':popover-open')); await waitForRender(); p1HideCount = popover1HideCount; await clickOn(button1toggle); - assert_false(popover1.matches(':open'),'popover1 should be hidden by popovertarget'); + assert_false(popover1.matches(':popover-open'),'popover1 should be hidden by popovertarget'); assert_equals(popover1HideCount,p1HideCount+1,'popover1 should get hidden only once by popovertarget'); },'Clicking on popovertarget element, even if it wasn\'t used for activation, should hide it exactly once'); promise_test(async () => { popover1.showPopover(); - assert_true(popover1.matches(':open')); + assert_true(popover1.matches(':popover-open')); await waitForRender(); await clickOn(popover1anchor); - assert_false(popover1.matches(':open'),'popover1 should close'); + assert_false(popover1.matches(':popover-open'),'popover1 should close'); },'Clicking on anchor element (that isn\'t an invoking element) shouldn\'t prevent its popover from being closed'); promise_test(async () => { popover1.showPopover(); popover2.showPopover(); // Popover1 is an ancestral element for popover2. - assert_true(popover1.matches(':open')); - assert_true(popover2.matches(':open')); + assert_true(popover1.matches(':popover-open')); + assert_true(popover2.matches(':popover-open')); const drag_actions = new test_driver.Actions(); // Drag *from* popover2 *to* popover1 (its ancestor). await drag_actions.pointerMove(0,0,{origin: popover2}) @@ -258,10 +258,10 @@ .pointerMove(0,0,{origin: popover1}) .pointerUp({button: drag_actions.ButtonType.LEFT}) .send(); - assert_true(popover1.matches(':open'),'popover1 should be open'); - assert_true(popover2.matches(':open'),'popover1 should be open'); + assert_true(popover1.matches(':popover-open'),'popover1 should be open'); + assert_true(popover2.matches(':popover-open'),'popover1 should be open'); popover1.hidePopover(); - assert_false(popover2.matches(':open')); + assert_false(popover2.matches(':popover-open')); },'Dragging from an open popover outside an open popover should leave the popover open'); </script> @@ -284,24 +284,24 @@ const button3 = document.querySelector('#b3'); promise_test(async () => { await clickOn(button3); - assert_true(popover3.matches(':open'),'invoking element should open popover'); + assert_true(popover3.matches(':popover-open'),'invoking element should open popover'); popover4.showPopover(); - assert_true(popover4.matches(':open')); - assert_false(popover3.matches(':open'),'popover3 is unrelated to popover4'); + assert_true(popover4.matches(':popover-open')); + assert_false(popover3.matches(':popover-open'),'popover3 is unrelated to popover4'); popover4.hidePopover(); // Cleanup - assert_false(popover4.matches(':open')); + assert_false(popover4.matches(':popover-open')); },'A popover inside an invoking element doesn\'t participate in that invoker\'s ancestor chain'); promise_test(async () => { popover5.showPopover(); - assert_true(popover5.matches(':open')); - assert_false(popover3.matches(':open')); + assert_true(popover5.matches(':popover-open')); + assert_false(popover3.matches(':popover-open')); popover3.showPopover(); - assert_true(popover3.matches(':open')); - assert_true(popover5.matches(':open')); + assert_true(popover3.matches(':popover-open')); + assert_true(popover5.matches(':popover-open')); popover5.hidePopover(); - assert_false(popover3.matches(':open')); - assert_false(popover5.matches(':open')); + assert_false(popover3.matches(':popover-open')); + assert_false(popover5.matches(':popover-open')); },'An invoking element that was not used to invoke the popover can still be part of the ancestor chain'); </script> @@ -325,7 +325,7 @@ await new test_driver.Actions() .scroll(0, 0, 0, 50, {origin: popover6}) .send(); - assert_true(popover6.matches(':open'),'popover6 should stay open'); + assert_true(popover6.matches(':popover-open'),'popover6 should stay open'); assert_equals(popover6.scrollTop,50,'popover6 should be scrolled'); popover6.hidePopover(); },'Scrolling within a popover should not close the popover'); @@ -349,18 +349,18 @@ } promise_test(async () => { button7.click(); - assert_true(popover7.matches(':open'),'invoking element should open popover'); + assert_true(popover7.matches(':popover-open'),'invoking element should open popover'); inside7.click(); - assert_true(popover7.matches(':open')); + assert_true(popover7.matches(':popover-open')); popover7.hidePopover(); },'Clicking inside a shadow DOM popover does not close that popover'); promise_test(async () => { button7.click(); inside7.click(); - assert_true(popover7.matches(':open')); + assert_true(popover7.matches(':popover-open')); await clickOn(outside); - assert_false(popover7.matches(':open')); + assert_false(popover7.matches(':popover-open')); },'Clicking outside a shadow DOM popover should close that popover'); </script> @@ -374,13 +374,13 @@ const popover8 = document.querySelector('#p8'); const inside8After = document.querySelector('#inside8after'); const popover8Anchor = document.querySelector('#p8anchor'); - assert_false(popover8.matches(':open')); + assert_false(popover8.matches(':popover-open')); popover8.showPopover(); await clickOn(inside8After); - assert_true(popover8.matches(':open')); + assert_true(popover8.matches(':popover-open')); await sendTab(); assert_equals(document.activeElement,popover8Anchor,'Focus should move to the anchor element'); - assert_true(popover8.matches(':open'),'popover should stay open'); + assert_true(popover8.matches(':popover-open'),'popover should stay open'); popover8.hidePopover(); },'Moving focus back to the anchor element should not dismiss the popover'); </script> @@ -413,51 +413,51 @@ const convPopover3 = document.querySelector('#convoluted_p3'); const convPopover4 = document.querySelector('#convoluted_p4'); promise_test(async () => { convPopover1.showPopover(); // Programmatically open p1 - assert_true(convPopover1.matches(':open')); + assert_true(convPopover1.matches(':popover-open')); convPopover1.querySelector('button').click(); // Click to invoke p2 - assert_true(convPopover1.matches(':open')); - assert_true(convPopover2.matches(':open')); + assert_true(convPopover1.matches(':popover-open')); + assert_true(convPopover2.matches(':popover-open')); convPopover2.querySelector('button').click(); // Click to invoke p3 - assert_true(convPopover1.matches(':open')); - assert_true(convPopover2.matches(':open')); - assert_true(convPopover3.matches(':open')); + assert_true(convPopover1.matches(':popover-open')); + assert_true(convPopover2.matches(':popover-open')); + assert_true(convPopover3.matches(':popover-open')); convPopover3.querySelector('button').click(); // Click to invoke p4 - assert_true(convPopover1.matches(':open')); - assert_true(convPopover2.matches(':open')); - assert_true(convPopover3.matches(':open')); - assert_true(convPopover4.matches(':open')); + assert_true(convPopover1.matches(':popover-open')); + assert_true(convPopover2.matches(':popover-open')); + assert_true(convPopover3.matches(':popover-open')); + assert_true(convPopover4.matches(':popover-open')); convPopover4.firstElementChild.click(); // Click within p4 - assert_true(convPopover1.matches(':open')); - assert_true(convPopover2.matches(':open')); - assert_true(convPopover3.matches(':open')); - assert_true(convPopover4.matches(':open')); + assert_true(convPopover1.matches(':popover-open')); + assert_true(convPopover2.matches(':popover-open')); + assert_true(convPopover3.matches(':popover-open')); + assert_true(convPopover4.matches(':popover-open')); convPopover1.hidePopover(); - assert_false(convPopover1.matches(':open')); - assert_false(convPopover2.matches(':open')); - assert_false(convPopover3.matches(':open')); - assert_false(convPopover4.matches(':open')); + assert_false(convPopover1.matches(':popover-open')); + assert_false(convPopover2.matches(':popover-open')); + assert_false(convPopover3.matches(':popover-open')); + assert_false(convPopover4.matches(':popover-open')); },'Ensure circular/convoluted ancestral relationships are functional'); promise_test(async () => { convPopover1.showPopover(); // Programmatically open p1 convPopover1.querySelector('button').click(); // Click to invoke p2 - assert_true(convPopover1.matches(':open')); - assert_true(convPopover2.matches(':open')); - assert_false(convPopover3.matches(':open')); - assert_false(convPopover4.matches(':open')); + assert_true(convPopover1.matches(':popover-open')); + assert_true(convPopover2.matches(':popover-open')); + assert_false(convPopover3.matches(':popover-open')); + assert_false(convPopover4.matches(':popover-open')); convPopover4.showPopover(); // Programmatically open p4 - assert_true(convPopover1.matches(':open'),'popover1 stays open because it is a DOM ancestor of popover4'); - assert_false(convPopover2.matches(':open'),'popover2 closes because it isn\'t connected to popover4 via active invokers'); - assert_true(convPopover4.matches(':open')); + assert_true(convPopover1.matches(':popover-open'),'popover1 stays open because it is a DOM ancestor of popover4'); + assert_false(convPopover2.matches(':popover-open'),'popover2 closes because it isn\'t connected to popover4 via active invokers'); + assert_true(convPopover4.matches(':popover-open')); convPopover4.firstElementChild.click(); // Click within p4 - assert_true(convPopover1.matches(':open'),'nothing changes'); - assert_false(convPopover2.matches(':open')); - assert_true(convPopover4.matches(':open')); + assert_true(convPopover1.matches(':popover-open'),'nothing changes'); + assert_false(convPopover2.matches(':popover-open')); + assert_true(convPopover4.matches(':popover-open')); convPopover1.hidePopover(); - assert_false(convPopover1.matches(':open')); - assert_false(convPopover2.matches(':open')); - assert_false(convPopover3.matches(':open')); - assert_false(convPopover4.matches(':open')); + assert_false(convPopover1.matches(':popover-open')); + assert_false(convPopover2.matches(':popover-open')); + assert_false(convPopover3.matches(':popover-open')); + assert_false(convPopover4.matches(':popover-open')); },'Ensure circular/convoluted ancestral relationships are functional, with a direct showPopover()'); </script> @@ -479,31 +479,31 @@ if (popoverHintSupported()) { auto.showPopover(); hint.showPopover(); manual.showPopover(); - assert_true(auto.matches(':open')); - assert_true(hint.matches(':open')); - assert_true(manual.matches(':open')); + assert_true(auto.matches(':popover-open')); + assert_true(hint.matches(':popover-open')); + assert_true(manual.matches(':popover-open')); // Clicking the hint will close the auto, but not the manual. await clickOn(hint); - assert_false(auto.matches(':open'),'auto should be hidden'); - assert_true(hint.matches(':open'),'hint should stay open'); - assert_true(manual.matches(':open'),'manual does not light dismiss'); + assert_false(auto.matches(':popover-open'),'auto should be hidden'); + assert_true(hint.matches(':popover-open'),'hint should stay open'); + assert_true(manual.matches(':popover-open'),'manual does not light dismiss'); // Clicking outside should close the hint, but not the manual: await clickOn(outside); - assert_false(auto.matches(':open')); - assert_false(hint.matches(':open'),'hint should close'); - assert_true(manual.matches(':open'),'manual does not light dismiss'); + assert_false(auto.matches(':popover-open')); + assert_false(hint.matches(':popover-open'),'hint should close'); + assert_true(manual.matches(':popover-open'),'manual does not light dismiss'); manual.hidePopover(); - assert_false(manual.matches(':open')); + assert_false(manual.matches(':popover-open')); auto.showPopover(); hint.showPopover(); - assert_true(auto.matches(':open')); - assert_true(hint.matches(':open')); + assert_true(auto.matches(':popover-open')); + assert_true(hint.matches(':popover-open')); // Clicking on the auto should close the hint: await clickOn(auto); - assert_true(auto.matches(':open'),'auto should stay open'); - assert_false(hint.matches(':open'),'hint should light dismiss'); + assert_true(auto.matches(':popover-open'),'auto should stay open'); + assert_false(hint.matches(':popover-open'),'hint should light dismiss'); auto.hidePopover(); - assert_false(auto.matches(':open')); + assert_false(auto.matches(':popover-open')); },'Light dismiss of mixed popover types including hints'); } </script> @@ -530,10 +530,10 @@ promise_test(async () => { return; p14.hidePopover(); },{once:true}); - assert_true(p13.matches(':open') && p14.matches(':open') && p15.matches(':open'),'all three should be open'); + assert_true(p13.matches(':popover-open') && p14.matches(':popover-open') && p15.matches(':popover-open'),'all three should be open'); assert_throws_dom('InvalidStateError',() => p14.hidePopover(),'should throw because the event listener has already hidden the popover'); - assert_true(p13.matches(':open'),'p13 should still be open'); - assert_false(p14.matches(':open')); - assert_false(p15.matches(':open')); + assert_true(p13.matches(':popover-open'),'p13 should still be open'); + assert_false(p14.matches(':popover-open')); + assert_false(p15.matches(':popover-open')); },'Hide the target popover during "hide all popovers until"'); </script> diff --git a/tests/wpt/web-platform-tests/html/semantics/popovers/popover-not-keyboard-focusable.html b/tests/wpt/web-platform-tests/html/semantics/popovers/popover-not-keyboard-focusable.html index cd0b60c3ce6..5246073c960 100644 --- a/tests/wpt/web-platform-tests/html/semantics/popovers/popover-not-keyboard-focusable.html +++ b/tests/wpt/web-platform-tests/html/semantics/popovers/popover-not-keyboard-focusable.html @@ -24,12 +24,12 @@ promise_test(async () => { b1.focus(); assert_equals(document.activeElement,b1); popover.showPopover(); - assert_true(popover.matches(':open')); + assert_true(popover.matches(':popover-open')); assert_equals(document.activeElement,b1); // Tab once await new test_driver.send_keys(document.body,'\uE004'); // Tab assert_equals(document.activeElement, b2, 'Keyboard focus should skip the open popover'); - assert_true(popover.matches(':open'),'changing focus should not close the popover'); + assert_true(popover.matches(':popover-open'),'changing focus should not close the popover'); popover.hidePopover(); // Add a focusable button to the popover and make sure we can focus that @@ -41,8 +41,8 @@ promise_test(async () => { // Tab once await new test_driver.send_keys(document.body,'\uE004'); // Tab assert_equals(document.activeElement, button, 'Keyboard focus should go to the contained button'); - assert_true(popover.matches(':open'),'changing focus to the popover should leave it showing'); + assert_true(popover.matches(':popover-open'),'changing focus to the popover should leave it showing'); popover.hidePopover(); - assert_false(popover.matches(':open')); + assert_false(popover.matches(':popover-open')); }, "Popover should not be keyboard focusable"); </script> diff --git a/tests/wpt/web-platform-tests/html/semantics/popovers/popover-removal-2.html b/tests/wpt/web-platform-tests/html/semantics/popovers/popover-removal-2.html index e84124d8bef..b21c0bb557f 100644 --- a/tests/wpt/web-platform-tests/html/semantics/popovers/popover-removal-2.html +++ b/tests/wpt/web-platform-tests/html/semantics/popovers/popover-removal-2.html @@ -17,13 +17,13 @@ const frame2Doc = document.getElementById('frame2').contentDocument; const popover = frame1Doc.querySelector('[popover]'); assert_true(!!popover); - assert_false(popover.matches(':open')); + assert_false(popover.matches(':popover-open')); popover.showPopover(); - assert_true(popover.matches(':open')); + assert_true(popover.matches(':popover-open')); frame2Doc.body.appendChild(popover); - assert_false(popover.matches(':open')); + assert_false(popover.matches(':popover-open')); popover.showPopover(); - assert_true(popover.matches(':open')); + assert_true(popover.matches(':popover-open')); }, 'Moving popover between documents shouldn\'t cause issues'); }; </script> diff --git a/tests/wpt/web-platform-tests/html/semantics/popovers/popover-removal.html b/tests/wpt/web-platform-tests/html/semantics/popovers/popover-removal.html index e6ad5d9c004..d2b664b4642 100644 --- a/tests/wpt/web-platform-tests/html/semantics/popovers/popover-removal.html +++ b/tests/wpt/web-platform-tests/html/semantics/popovers/popover-removal.html @@ -17,9 +17,9 @@ promise_test(async t => { }); } const popover = document.querySelector('[popover]'); - assert_false(popover.matches(':open')); + assert_false(popover.matches(':popover-open')); popover.showPopover(); - assert_true(popover.matches(':open')); + assert_true(popover.matches(':popover-open')); popover.remove(); // Shouldn't cause any issues document.body.click(); // Shouldn't cause light dismiss problems await loadCompleted(); // The document should finish loading diff --git a/tests/wpt/web-platform-tests/html/semantics/popovers/popover-shadow-dom.html b/tests/wpt/web-platform-tests/html/semantics/popovers/popover-shadow-dom.html index 2be3b124989..9279a121bea 100644 --- a/tests/wpt/web-platform-tests/html/semantics/popovers/popover-shadow-dom.html +++ b/tests/wpt/web-platform-tests/html/semantics/popovers/popover-shadow-dom.html @@ -58,7 +58,7 @@ test(function() { const popover = getPopoverReferences('test1')[0]; popover.showPopover(); - assert_true(popover.matches(':open')); + assert_true(popover.matches(':popover-open')); assert_true(isElementVisible(popover)); popover.hidePopover(); // Cleanup }, "Popovers located inside shadow DOM can still be shown"); @@ -85,12 +85,12 @@ test(function() { const [popover1,popover2] = getPopoverReferences('test2'); popover1.showPopover(); - assert_true(popover1.matches(':open')); + assert_true(popover1.matches(':popover-open')); assert_true(isElementVisible(popover1)); popover2.showPopover(); - assert_false(popover1.matches(':open'), 'popover1 open'); // P1 was closed by P2 + assert_false(popover1.matches(':popover-open'), 'popover1 open'); // P1 was closed by P2 assert_false(isElementVisible(popover1), 'popover1 visible'); - assert_true(popover2.matches(':open'), 'popover2 open'); // P2 is open + assert_true(popover2.matches(':popover-open'), 'popover2 open'); // P2 is open assert_true(isElementVisible(popover2), 'popover2 visible'); popover2.hidePopover(); // Cleanup }, "anchor references do not cross shadow boundaries"); @@ -115,20 +115,20 @@ promise_test(async function() { const [popover1,popover2] = getPopoverReferences('test3'); popover1.showPopover(); - assert_true(popover1.matches(':open')); + assert_true(popover1.matches(':popover-open')); assert_true(isElementVisible(popover1)); // Showing popover2 should not close popover1, since it is a flat // tree ancestor of popover2's anchor button. popover2.showPopover(); - assert_true(popover2.matches(':open')); + assert_true(popover2.matches(':popover-open')); assert_true(isElementVisible(popover2)); - assert_true(popover1.matches(':open')); + assert_true(popover1.matches(':popover-open')); assert_true(isElementVisible(popover1)); popover1.hidePopover(); await waitForRender(); - assert_false(popover1.matches(':open')); + assert_false(popover1.matches(':popover-open')); assert_false(isElementVisible(popover1)); - assert_false(popover2.matches(':open')); + assert_false(popover2.matches(':popover-open')); assert_false(isElementVisible(popover2)); }, "anchor references use the flat tree not the DOM tree"); </script> @@ -155,16 +155,16 @@ popover1.showPopover(); popover2.showPopover(); // Both 1 and 2 should be open at this point. - assert_true(popover1.matches(':open'), 'popover1 not open'); + assert_true(popover1.matches(':popover-open'), 'popover1 not open'); assert_true(isElementVisible(popover1)); - assert_true(popover2.matches(':open'), 'popover2 not open'); + assert_true(popover2.matches(':popover-open'), 'popover2 not open'); assert_true(isElementVisible(popover2)); // This should hide both of them. popover1.hidePopover(); await waitForRender(); - assert_false(popover1.matches(':open')); + assert_false(popover1.matches(':popover-open')); assert_false(isElementVisible(popover1)); - assert_false(popover2.matches(':open')); + assert_false(popover2.matches(':popover-open')); assert_false(isElementVisible(popover2)); }, "The popover stack is preserved across shadow-inclusive ancestors"); </script> @@ -189,16 +189,16 @@ popover1.showPopover(); popover2.showPopover(); // Both 1 and 2 should be open at this point. - assert_true(popover1.matches(':open'), 'popover1 not open'); + assert_true(popover1.matches(':popover-open'), 'popover1 not open'); assert_true(isElementVisible(popover1)); - assert_true(popover2.matches(':open'), 'popover2 not open'); + assert_true(popover2.matches(':popover-open'), 'popover2 not open'); assert_true(isElementVisible(popover2)); // This should hide both of them. popover1.hidePopover(); await waitForRender(); - assert_false(popover1.matches(':open')); + assert_false(popover1.matches(':popover-open')); assert_false(isElementVisible(popover1)); - assert_false(popover2.matches(':open')); + assert_false(popover2.matches(':popover-open')); assert_false(isElementVisible(popover2)); }, "Popover ancestor relationships are within a root, not within the document"); </script> diff --git a/tests/wpt/web-platform-tests/html/semantics/popovers/popover-stacking.html b/tests/wpt/web-platform-tests/html/semantics/popovers/popover-stacking.html index a18333577c0..7452fae7da3 100644 --- a/tests/wpt/web-platform-tests/html/semantics/popovers/popover-stacking.html +++ b/tests/wpt/web-platform-tests/html/semantics/popovers/popover-stacking.html @@ -90,18 +90,18 @@ const clickToActivate = example.querySelector('.clickme'); test(function() { assert_true(!!descr && !!ancestor && !!child); - assert_false(ancestor.matches(':open')); - assert_false(child.matches(':open')); + assert_false(ancestor.matches(':popover-open')); + assert_false(child.matches(':popover-open')); ancestor.showPopover(); if (clickToActivate) clickToActivate.click(); else child.showPopover(); - assert_true(child.matches(':open')); - assert_true(ancestor.matches(':open')); + assert_true(child.matches(':popover-open')); + assert_true(ancestor.matches(':popover-open')); ancestor.hidePopover(); - assert_false(ancestor.matches(':open')); - assert_false(child.matches(':open')); + assert_false(ancestor.matches(':popover-open')); + assert_false(child.matches(':popover-open')); },descr); } @@ -110,7 +110,7 @@ function assertState(...states) { assert_equals(popovers.length,states.length); for(let i=0;i<popovers.length;++i) { - assert_equals(popovers[i].matches(':open'),states[i],`Popover #${i+1} incorrect state`); + assert_equals(popovers[i].matches(':popover-open'),states[i],`Popover #${i+1} incorrect state`); } } test(function() { diff --git a/tests/wpt/web-platform-tests/html/semantics/popovers/popover-target-element-disabled.html b/tests/wpt/web-platform-tests/html/semantics/popovers/popover-target-element-disabled.html index 59392f428ae..bf1f2971484 100644 --- a/tests/wpt/web-platform-tests/html/semantics/popovers/popover-target-element-disabled.html +++ b/tests/wpt/web-platform-tests/html/semantics/popovers/popover-target-element-disabled.html @@ -12,9 +12,9 @@ test(() => { outerpopover.showPopover(); innerpopover.showPopover(); - assert_true(innerpopover.matches(':open'), + assert_true(innerpopover.matches(':popover-open'), 'The inner popover should be able to open successfully.'); - assert_false(outerpopover.matches(':open'), + assert_false(outerpopover.matches(':popover-open'), 'The outer popover should be closed by opening the inner one.'); }, 'Disabled popover*target buttons should not affect the popover heirarchy.'); </script> @@ -27,15 +27,15 @@ test(() => { test(() => { outerpopover2.showPopover(); innerpopover2.showPopover(); - assert_true(innerpopover2.matches(':open'), + assert_true(innerpopover2.matches(':popover-open'), 'The inner popover should be able to open successfully.'); - assert_true(outerpopover2.matches(':open'), + assert_true(outerpopover2.matches(':popover-open'), 'The outer popover should stay open when opening the inner one.'); togglebutton2.disabled = true; - assert_false(innerpopover2.matches(':open'), + assert_false(innerpopover2.matches(':popover-open'), 'The inner popover should be closed when the hierarchy is broken.'); - assert_false(outerpopover2.matches(':open'), + assert_false(outerpopover2.matches(':popover-open'), 'The outer popover should be closed when the hierarchy is broken.'); }, 'Disabling popover*target buttons when popovers are open should still cause all popovers to be closed when the formerly outer popover is closed.'); </script> @@ -48,15 +48,15 @@ test(() => { test(() => { outerpopover3.showPopover(); innerpopover3.showPopover(); - assert_true(innerpopover3.matches(':open'), + assert_true(innerpopover3.matches(':popover-open'), 'The inner popover should be able to open successfully.'); - assert_true(outerpopover3.matches(':open'), + assert_true(outerpopover3.matches(':popover-open'), 'The outer popover should stay open when opening the inner one.'); togglebutton3.disabled = true; - assert_false(innerpopover3.matches(':open'), + assert_false(innerpopover3.matches(':popover-open'), 'The inner popover be should be closed when the hierarchy is broken.'); - assert_false(outerpopover3.matches(':open'), + assert_false(outerpopover3.matches(':popover-open'), 'The outer popover be should be closed when the hierarchy is broken.'); }, 'Disabling popover*target buttons when popovers are open should still cause all popovers to be closed when the formerly inner popover is closed.'); </script> @@ -70,15 +70,15 @@ test(() => { test(() => { outerpopover4.showPopover(); innerpopover4.showPopover(); - assert_true(innerpopover4.matches(':open'), + assert_true(innerpopover4.matches(':popover-open'), 'The inner popover should be able to open successfully.'); - assert_true(outerpopover4.matches(':open'), + assert_true(outerpopover4.matches(':popover-open'), 'The outer popover should stay open when opening the inner one.'); togglebutton4.setAttribute('form', 'submitform'); - assert_false(innerpopover4.matches(':open'), + assert_false(innerpopover4.matches(':popover-open'), 'The inner popover be should be closed when the hierarchy is broken.'); - assert_false(outerpopover4.matches(':open'), + assert_false(outerpopover4.matches(':popover-open'), 'The outer popover be should be closed when the hierarchy is broken.'); }, 'Setting the form attribute on popover*target buttons when popovers are open should close all popovers.'); </script> @@ -91,15 +91,15 @@ test(() => { test(() => { outerpopover5.showPopover(); innerpopover5.showPopover(); - assert_true(innerpopover5.matches(':open'), + assert_true(innerpopover5.matches(':popover-open'), 'The inner popover should be able to open successfully.'); - assert_true(outerpopover5.matches(':open'), + assert_true(outerpopover5.matches(':popover-open'), 'The outer popover should stay open when opening the inner one.'); togglebutton5.setAttribute('type', 'text'); - assert_false(innerpopover5.matches(':open'), + assert_false(innerpopover5.matches(':popover-open'), 'The inner popover be should be closed when the hierarchy is broken.'); - assert_false(outerpopover5.matches(':open'), + assert_false(outerpopover5.matches(':popover-open'), 'The outer popover be should be closed when the hierarchy is broken.'); }, 'Changing the input type on a popover*target button when popovers are open should close all popovers.'); </script> @@ -112,15 +112,15 @@ test(() => { test(() => { outerpopover6.showPopover(); innerpopover6.showPopover(); - assert_true(innerpopover6.matches(':open'), + assert_true(innerpopover6.matches(':popover-open'), 'The inner popover should be able to open successfully.'); - assert_true(outerpopover6.matches(':open'), + assert_true(outerpopover6.matches(':popover-open'), 'The outer popover should stay open when opening the inner one.'); togglebutton6.remove(); - assert_false(innerpopover6.matches(':open'), + assert_false(innerpopover6.matches(':popover-open'), 'The inner popover be should be closed when the hierarchy is broken.'); - assert_false(outerpopover6.matches(':open'), + assert_false(outerpopover6.matches(':popover-open'), 'The outer popover be should be closed when the hierarchy is broken.'); }, 'Disconnecting popover*target buttons when popovers are open should close all popovers.'); </script> @@ -133,15 +133,15 @@ test(() => { test(() => { outerpopover7.showPopover(); innerpopover7.showPopover(); - assert_true(innerpopover7.matches(':open'), + assert_true(innerpopover7.matches(':popover-open'), 'The inner popover should be able to open successfully.'); - assert_true(outerpopover7.matches(':open'), + assert_true(outerpopover7.matches(':popover-open'), 'The outer popover should stay open when opening the inner one.'); togglebutton7.setAttribute('popovertarget', 'otherpopover7'); - assert_false(innerpopover7.matches(':open'), + assert_false(innerpopover7.matches(':popover-open'), 'The inner popover be should be closed when the hierarchy is broken.'); - assert_false(outerpopover7.matches(':open'), + assert_false(outerpopover7.matches(':popover-open'), 'The outer popover be should be closed when the hierarchy is broken.'); }, 'Changing the popovertarget attribute to break the chain should close all popovers.'); </script> @@ -158,19 +158,19 @@ test(() => { outerpopover8.showPopover(); middlepopover8.showPopover(); innerpopover8.showPopover(); - assert_true(innerpopover8.matches(':open'), + assert_true(innerpopover8.matches(':popover-open'), 'The inner popover should be able to open successfully.'); - assert_true(middlepopover8.matches(':open'), + assert_true(middlepopover8.matches(':popover-open'), 'The middle popover should stay open when opening the inner one.'); - assert_true(outerpopover8.matches(':open'), + assert_true(outerpopover8.matches(':popover-open'), 'The outer popover should stay open when opening the inner one.'); togglebutton8.setAttribute('popovertarget', 'otherpopover8'); - assert_true(innerpopover8.matches(':open'), + assert_true(innerpopover8.matches(':popover-open'), 'The inner popover should remain open.'); - assert_true(middlepopover8.matches(':open'), + assert_true(middlepopover8.matches(':popover-open'), 'The middle popover should remain open.'); - assert_true(outerpopover8.matches(':open'), + assert_true(outerpopover8.matches(':popover-open'), 'The outer popover should remain open.'); }, `Modifying popovertarget on a button which doesn't break the chain shouldn't close any popovers.`); </script> diff --git a/tests/wpt/web-platform-tests/html/semantics/popovers/popover-top-layer-combinations.html b/tests/wpt/web-platform-tests/html/semantics/popovers/popover-top-layer-combinations.html index 95f666e0c9d..8db327d7d1f 100644 --- a/tests/wpt/web-platform-tests/html/semantics/popovers/popover-top-layer-combinations.html +++ b/tests/wpt/web-platform-tests/html/semantics/popovers/popover-top-layer-combinations.html @@ -35,16 +35,15 @@ const isDialog = (ex) => ex instanceof HTMLDialogElement; const isFullscreen = (ex) => ex.classList.contains('fullscreen'); function ensureIsOpenPopover(ex,message) { - // Because :open will eventually support <dialog>, this does extra work to - // verify we're dealing with an :open Popover. Note that this will also throw + // Because :popover-open will eventually support <dialog>, this does extra work to + // verify we're dealing with an :popover-open Popover. Note that this will also throw // if this is an element with the `popover` attribute that has been made // visible via an explicit `display:block` style rule. message = message || 'Error'; - assert_true(ex.matches(':open'),`${message}: Popover doesn\'t match :open`); - assert_false(ex.matches(':closed'),`${message}: Popover matches :closed`); + assert_true(ex.matches(':popover-open'),`${message}: Popover doesn\'t match :popover-open`); ex.hidePopover(); // Shouldn't throw if this is a showing popover ex.showPopover(); // Show it again to avoid state change - assert_true(ex.matches(':open') && !ex.matches(':closed'),`${message}: Sanity`); + assert_true(ex.matches(':popover-open'),`${message}: Sanity`); } window.onload = () => requestAnimationFrame(() => requestAnimationFrame(() => { const examples = Array.from(document.querySelectorAll('#examples>*')); @@ -62,7 +61,7 @@ window.onload = () => requestAnimationFrame(() => requestAnimationFrame(() => { ex.showPopover(); // Should not throw ensureIsOpenPopover(ex,'showPopover should work'); ex.hidePopover(); // Should not throw - assert_true(ex.matches(':closed'),'hidePopover should work'); + assert_false(ex.matches(':popover-open'),'hidePopover should work'); } assert_false(isElementVisible(ex)); @@ -120,7 +119,7 @@ window.onload = () => requestAnimationFrame(() => requestAnimationFrame(() => { document.body.appendChild(button); button.popoverTargetElement = ex; button.popoverTargetAction = "toggle"; - assert_true(ex.matches(':closed')); + assert_false(ex.matches(':popover-open')); await clickOn(button); ensureIsOpenPopover(ex,'Invoking element should be able to invoke all popovers'); ex.hidePopover(); @@ -138,7 +137,7 @@ window.onload = () => requestAnimationFrame(() => requestAnimationFrame(() => { } ex.appendChild(button); // Add button to the element, so it's visible to click await clickOn(button); - assert_true(ex.matches(':closed'),'The invoker click should have failed on the already-open dialog/fullscreen'); + assert_false(ex.matches(':popover-open'),'The invoker click should have failed on the already-open dialog/fullscreen'); if (isDialog(ex)) { ex.close(); } else { diff --git a/tests/wpt/web-platform-tests/html/semantics/popovers/popover-top-layer-interactions.html b/tests/wpt/web-platform-tests/html/semantics/popovers/popover-top-layer-interactions.html index 6e707cb45be..95da47a5e20 100644 --- a/tests/wpt/web-platform-tests/html/semantics/popovers/popover-top-layer-interactions.html +++ b/tests/wpt/web-platform-tests/html/semantics/popovers/popover-top-layer-interactions.html @@ -24,7 +24,7 @@ const examples = [ createElement: () => Object.assign(document.createElement('div'), {popover: 'auto'}), trigger: function() {this.element.showPopover()}, close: function() {this.element.hidePopover()}, - isTopLayer: function() {return this.element.matches(':open')}, + isTopLayer: function() {return this.element.matches(':popover-open')}, }, { type: types.modalDialog, diff --git a/tests/wpt/web-platform-tests/html/semantics/popovers/popover-types-with-hints.tentative.html b/tests/wpt/web-platform-tests/html/semantics/popovers/popover-types-with-hints.tentative.html index 39d24a0ad43..06282a2aa1f 100644 --- a/tests/wpt/web-platform-tests/html/semantics/popovers/popover-types-with-hints.tentative.html +++ b/tests/wpt/web-platform-tests/html/semantics/popovers/popover-types-with-hints.tentative.html @@ -17,10 +17,10 @@ const manual = document.currentScript.parentElement.querySelectorAll('[popover=manual]')[0]; const manual2 = document.currentScript.parentElement.querySelectorAll('[popover=manual]')[1]; function assert_state_1(autoOpen,hintOpen,manualOpen,manual2Open) { - assert_equals(auto.matches(':open'),autoOpen,'auto open state is incorrect'); - assert_equals(hint.matches(':open'),hintOpen,'hint open state is incorrect'); - assert_equals(manual.matches(':open'),manualOpen,'manual open state is incorrect'); - assert_equals(manual2.matches(':open'),manual2Open,'manual2 open state is incorrect'); + assert_equals(auto.matches(':popover-open'),autoOpen,'auto open state is incorrect'); + assert_equals(hint.matches(':popover-open'),hintOpen,'hint open state is incorrect'); + assert_equals(manual.matches(':popover-open'),manualOpen,'manual open state is incorrect'); + assert_equals(manual2.matches(':popover-open'),manual2Open,'manual2 open state is incorrect'); } test(() => { assert_state_1(false,false,false,false); @@ -81,10 +81,10 @@ const popover3 = document.currentScript.parentElement.querySelectorAll('[popover=""]')[2]; const hint = document.currentScript.parentElement.querySelector('[popover=hint]'); function assert_state_2(popover1Open,popover2Open,popover3Open,hintOpen) { - assert_equals(popover1.matches(':open'),popover1Open,'popover1 open state is incorrect'); - assert_equals(popover2.matches(':open'),popover2Open,'popover2 open state is incorrect'); - assert_equals(popover3.matches(':open'),popover3Open,'popover3 open state is incorrect'); - assert_equals(hint.matches(':open'),hintOpen,'hint open state is incorrect'); + assert_equals(popover1.matches(':popover-open'),popover1Open,'popover1 open state is incorrect'); + assert_equals(popover2.matches(':popover-open'),popover2Open,'popover2 open state is incorrect'); + assert_equals(popover3.matches(':popover-open'),popover3Open,'popover3 open state is incorrect'); + assert_equals(hint.matches(':popover-open'),hintOpen,'hint open state is incorrect'); } test(() => { assert_state_2(false,false,false,false); @@ -110,11 +110,11 @@ const hint1 = document.currentScript.parentElement.querySelectorAll('[popover=hint]')[0]; const hint2 = document.currentScript.parentElement.querySelectorAll('[popover=hint]')[1]; hint1.showPopover(); - assert_true(hint1.matches(':open')); - assert_false(hint2.matches(':open')); + assert_true(hint1.matches(':popover-open')); + assert_false(hint2.matches(':popover-open')); hint2.showPopover(); - assert_false(hint1.matches(':open')); - assert_true(hint2.matches(':open')); + assert_false(hint1.matches(':popover-open')); + assert_true(hint2.matches(':popover-open')); hint2.hidePopover(); },'If a popover=hint is shown, it should hide any other open popover=hint pop-ups, including ancestral pop-ups. (You can\'t nest popover=hint)'); </script> @@ -129,11 +129,11 @@ const hint = document.currentScript.parentElement.querySelector('[popover=hint]'); const auto = document.currentScript.parentElement.querySelector('[popover=""]'); hint.showPopover(); - assert_true(hint.matches(':open')); - assert_false(auto.matches(':open')); + assert_true(hint.matches(':popover-open')); + assert_false(auto.matches(':popover-open')); auto.showPopover(); - assert_false(hint.matches(':open')); - assert_true(auto.matches(':open')); + assert_false(hint.matches(':popover-open')); + assert_true(auto.matches(':popover-open')); auto.hidePopover(); },'If a popover=auto is shown, it should hide any open popover=hint, including if the popover=hint is an ancestral pop-up of the popover=auto. (You can\'t nest a popover=auto inside a popover=hint)'); </script> @@ -151,15 +151,15 @@ const hint = document.currentScript.parentElement.querySelector('[popover=hint]'); auto.showPopover(); auto2.showPopover(); - assert_true(auto.matches(':open')); - assert_true(auto2.matches(':open')); + assert_true(auto.matches(':popover-open')); + assert_true(auto2.matches(':popover-open')); hint.showPopover(); // This should hide auto2, since it is nested in auto1. - assert_true(auto.matches(':open')); - assert_false(auto2.matches(':open')); - assert_true(hint.matches(':open')); + assert_true(auto.matches(':popover-open')); + assert_false(auto2.matches(':popover-open')); + assert_true(hint.matches(':popover-open')); auto.hidePopover(); // Should hide both auto and hint. - assert_false(auto.matches(':open')); - assert_false(hint.matches(':open')); + assert_false(auto.matches(':popover-open')); + assert_false(hint.matches(':popover-open')); },'If you: a) show a popover=auto (call it D), then b) show a descendent popover=hint of D (call it T), then c) hide D, then T should be hidden. (A popover=hint can be nested inside a popover=auto)'); </script> </div> @@ -173,11 +173,11 @@ const hint = document.currentScript.parentElement.querySelector('[popover=hint]'); auto.showPopover(); hint.showPopover(); - assert_true(auto.matches(':open')); - assert_true(hint.matches(':open')); + assert_true(auto.matches(':popover-open')); + assert_true(hint.matches(':popover-open')); auto.hidePopover(); - assert_false(auto.matches(':open')); - assert_true(hint.matches(':open')); + assert_false(auto.matches(':popover-open')); + assert_true(hint.matches(':popover-open')); hint.hidePopover(); },'If you: a) show a popover=auto (call it D), then b) show a non-descendent popover=hint of D (call it T), then c) hide D, then T should be left showing. (Non-nested popover=hint can stay open when unrelated popover=autos are hidden)'); </script> diff --git a/tests/wpt/web-platform-tests/html/semantics/popovers/popover-types.html b/tests/wpt/web-platform-tests/html/semantics/popovers/popover-types.html index 9941f322828..e6d7d967bbc 100644 --- a/tests/wpt/web-platform-tests/html/semantics/popovers/popover-types.html +++ b/tests/wpt/web-platform-tests/html/semantics/popovers/popover-types.html @@ -15,9 +15,9 @@ const manual = container.querySelectorAll('[popover=manual]')[0]; const manual2 = container.querySelectorAll('[popover=manual]')[1]; function assert_state_1(autoOpen,manualOpen,manual2Open) { - assert_equals(auto.matches(':open'),autoOpen,'auto open state is incorrect'); - assert_equals(manual.matches(':open'),manualOpen,'manual open state is incorrect'); - assert_equals(manual2.matches(':open'),manual2Open,'manual2 open state is incorrect'); + assert_equals(auto.matches(':popover-open'),autoOpen,'auto open state is incorrect'); + assert_equals(manual.matches(':popover-open'),manualOpen,'manual open state is incorrect'); + assert_equals(manual2.matches(':popover-open'),manual2Open,'manual2 open state is incorrect'); } test(() => { assert_state_1(false,false,false); diff --git a/tests/wpt/web-platform-tests/html/semantics/popovers/resources/popover-utils.js b/tests/wpt/web-platform-tests/html/semantics/popovers/resources/popover-utils.js index b8b58178511..04d2a2cbe75 100644 --- a/tests/wpt/web-platform-tests/html/semantics/popovers/resources/popover-utils.js +++ b/tests/wpt/web-platform-tests/html/semantics/popovers/resources/popover-utils.js @@ -90,7 +90,7 @@ function showDefaultopenPopoversOnLoad() { return; switch (p.popover) { case 'auto': - if (!document.querySelector('[popover]:open')) + if (!document.querySelector('[popover]:popover-open')) p.showPopover(); return; case 'manual': @@ -121,12 +121,10 @@ function assertPopoverVisibility(popover, isPopover, expectedVisibility, message // Check other things related to being visible or not: if (isVisible) { assert_not_equals(window.getComputedStyle(popover).display,'none'); - assert_equals(popover.matches(':open'),isPopover,`${message}: Visible popovers should match :open`); - assert_false(popover.matches(':closed'),`${message}: Visible popovers and *all* non-popovers should *not* match :closed`); + assert_equals(popover.matches(':popover-open'),isPopover,`${message}: Visible popovers should match :popover-open`); } else { assert_equals(window.getComputedStyle(popover).display,'none',`${message}: Non-showing popovers should have display:none`); - assert_false(popover.matches(':open'),`${message}: Non-showing popovers should *not* match :open`); - assert_equals(popover.matches(':closed'),isPopover,`${message}: Non-showing popovers should match :closed`); + assert_false(popover.matches(':popover-open'),`${message}: Non-showing popovers should *not* match :popover-open`); } } diff --git a/tests/wpt/web-platform-tests/html/semantics/scripting-1/the-script-element/execution-timing/non-external-no-import.tentative.html b/tests/wpt/web-platform-tests/html/semantics/scripting-1/the-script-element/execution-timing/non-external-no-import.tentative.html new file mode 100644 index 00000000000..50836e0d7be --- /dev/null +++ b/tests/wpt/web-platform-tests/html/semantics/scripting-1/the-script-element/execution-timing/non-external-no-import.tentative.html @@ -0,0 +1,27 @@ +<!DOCTYPE html> +<html> +<head> + <title>Module scripts with no imports always execute asynchronously</title> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <link rel="help" href="https://github.com/whatwg/html/issues/3746"> +</head> +<body> +<script> +async_test(t => { + window.results = []; + window.logExecution = msg => window.results.push(msg); + + const script = document.createElement('script'); + script.type = 'module'; + script.textContent = "window.logExecution('module')"; + document.body.append(script); + window.logExecution('classic'); + + window.onload = t.step_func_done(e => { + assert_array_equals(window.results, ['classic', 'module']); + }); +}); +</script> +</body> +</html> diff --git a/tests/wpt/web-platform-tests/html/semantics/selectors/pseudo-classes/disabled.html b/tests/wpt/web-platform-tests/html/semantics/selectors/pseudo-classes/disabled.html index 8808675eb69..f9600439298 100644 --- a/tests/wpt/web-platform-tests/html/semantics/selectors/pseudo-classes/disabled.html +++ b/tests/wpt/web-platform-tests/html/semantics/selectors/pseudo-classes/disabled.html @@ -26,7 +26,6 @@ </select> <textarea id=textarea1>textarea1</textarea> <textarea disabled id=textarea2>textarea2</textarea> -<fieldset id=fieldset1></fieldset> <fieldset disabled id=fieldset2> <legend><input type=checkbox id=club></legend> <p><label>Name on card: <input id=clubname required></label></p> @@ -40,21 +39,21 @@ <progress disabled></progress> <script> - testSelectorIdsMatch(":disabled", ["button2", "input2", "select2", "optgroup2", "option2", "textarea2", "fieldset2", "clubname", "clubnum"], "':disabled' should match only disabled elements"); + testSelectorIdsMatch(":disabled", ["button2", "input2", "select2", "optgroup2", "option2", "textarea2", "clubname", "clubnum"], "':disabled' should match only disabled elements"); document.getElementById("button2").removeAttribute("disabled"); - testSelectorIdsMatch(":disabled", ["input2", "select2", "optgroup2", "option2", "textarea2", "fieldset2", "clubname", "clubnum"], "':disabled' should not match elements whose disabled attribute has been removed"); + testSelectorIdsMatch(":disabled", ["input2", "select2", "optgroup2", "option2", "textarea2", "clubname", "clubnum"], "':disabled' should not match elements whose disabled attribute has been removed"); document.getElementById("button1").setAttribute("disabled", "disabled"); - testSelectorIdsMatch(":disabled", ["button1", "input2", "select2", "optgroup2", "option2", "textarea2", "fieldset2", "clubname", "clubnum"], "':disabled' should also match elements whose disabled attribute has been set"); + testSelectorIdsMatch(":disabled", ["button1", "input2", "select2", "optgroup2", "option2", "textarea2", "clubname", "clubnum"], "':disabled' should also match elements whose disabled attribute has been set"); document.getElementById("button1").setAttribute("disabled", "disabled"); - testSelectorIdsMatch(":disabled", ["button1", "input2", "select2", "optgroup2", "option2", "textarea2", "fieldset2", "clubname", "clubnum"], "':disabled' should also match elements whose disabled attribute has been set twice"); + testSelectorIdsMatch(":disabled", ["button1", "input2", "select2", "optgroup2", "option2", "textarea2", "clubname", "clubnum"], "':disabled' should also match elements whose disabled attribute has been set twice"); document.getElementById("input2").setAttribute("type", "submit"); // change input type to submit - testSelectorIdsMatch(":disabled", ["button1", "input2", "select2", "optgroup2", "option2", "textarea2", "fieldset2", "clubname", "clubnum"], "':disabled' should also match disabled elements whose type has changed"); + testSelectorIdsMatch(":disabled", ["button1", "input2", "select2", "optgroup2", "option2", "textarea2", "clubname", "clubnum"], "':disabled' should also match disabled elements whose type has changed"); var input = document.createElement("input"); input.setAttribute("disabled", "disabled"); - testSelectorIdsMatch(":disabled", ["button1", "input2", "select2", "optgroup2", "option2", "textarea2", "fieldset2", "clubname", "clubnum"], "':disabled' should not match elements not in the document"); + testSelectorIdsMatch(":disabled", ["button1", "input2", "select2", "optgroup2", "option2", "textarea2", "clubname", "clubnum"], "':disabled' should not match elements not in the document"); </script> diff --git a/tests/wpt/web-platform-tests/html/semantics/selectors/pseudo-classes/enabled.html b/tests/wpt/web-platform-tests/html/semantics/selectors/pseudo-classes/enabled.html index 0ad0e1b402a..1948343c186 100644 --- a/tests/wpt/web-platform-tests/html/semantics/selectors/pseudo-classes/enabled.html +++ b/tests/wpt/web-platform-tests/html/semantics/selectors/pseudo-classes/enabled.html @@ -36,7 +36,6 @@ </menu> </form> <fieldset id=fieldset1></fieldset> -<fieldset disabled id=fieldset2></fieldset> <script> testSelectorIdsMatch(":enabled", ["button1", "input1", "select1", "optgroup1", "option1", "textarea1", "submitbutton", "fieldset1"], "':enabled' elements that are not disabled"); diff --git a/tests/wpt/web-platform-tests/html/syntax/charset/inheritance-bogus-meta-utf-8.html b/tests/wpt/web-platform-tests/html/syntax/charset/inheritance-bogus-meta-utf-8.html new file mode 100644 index 00000000000..fb9e82a1f64 --- /dev/null +++ b/tests/wpt/web-platform-tests/html/syntax/charset/inheritance-bogus-meta-utf-8.html @@ -0,0 +1,35 @@ +<!doctype html> +<meta charset="utf-8" /> +<title>Inheriting from UTF-8 parent</title> +<script src=/resources/testharness.js></script> +<script src=/resources/testharnessreport.js></script> +<div id=log></div> +<script> +[ + { + "title": "Child with bogus <meta charset>", + "url": "resources/bogus-charset.html", + "expected": "\uFFFD\n" // 0x00A2 in windows-1252 is 0xFFFD in UTF-8 + }, + { + "title": "Child with bogus Content-Type charset", + "url": "resources/bogus-charset-http.py", + "expected": "\uFFFD\n" + }, + { + "title": "Child with bogus Content-Type charset, but valid <meta charset>", + "url": "resources/bogus-charset-http-valid-meta.py", + "expected": "\u045E\n" + } +].forEach(({ title, url, expected }) => { + async_test(t => { + const frame = document.createElement("iframe"); + t.add_cleanup(() => frame.remove()); + frame.src = url; + frame.onload = t.step_func_done(() => { + assert_equals(frame.contentDocument.body.textContent, expected); + }); + document.body.append(frame); + }, title); +}); +</script> diff --git a/tests/wpt/web-platform-tests/html/syntax/charset/inheritance-bogus-meta.html b/tests/wpt/web-platform-tests/html/syntax/charset/inheritance-bogus-meta.html new file mode 100644 index 00000000000..616ba51853c --- /dev/null +++ b/tests/wpt/web-platform-tests/html/syntax/charset/inheritance-bogus-meta.html @@ -0,0 +1,46 @@ +<!doctype html> +<meta charset=windows-1253> +<title>Inheriting from windows-1253 parent</title> +<script src=/resources/testharness.js></script> +<script src=/resources/testharnessreport.js></script> +<script src=/common/get-host-info.sub.js></script> +<div id=log></div> +<script> +[ + { + "title": "Child with bogus <meta charset>", + "url": "resources/bogus-charset.html", + "expected": "�\n" // 0x00A2 in windows-1252 is at the same position as 0x0386 in windows-1253 + }, + { + "title": "Child with bogus Content-Type charset", + "url": "resources/bogus-charset-http.py", + "expected": "�\n" + }, + { + "title": "Child with bogus Content-Type charset, but valid <meta charset>", + "url": "resources/bogus-charset-http-valid-meta.py", + "expected": "\u045E\n" + } +].forEach(({ title, url, expected }) => { + async_test(t => { + const frame = document.createElement("iframe"); + t.add_cleanup(() => frame.remove()); + frame.src = url; + frame.onload = t.step_func_done(() => { + assert_equals(frame.contentDocument.body.textContent, expected); + }); + document.body.append(frame); + }, title); +}); + +async_test(t => { + self.onmessage = t.step_func_done(({ data }) => { + assert_equals(data, "\u00A2\n"); + }); + const frame = document.createElement("iframe"); + t.add_cleanup(() => frame.remove()); + frame.src = get_host_info().HTTP_REMOTE_ORIGIN + new URL("resources/bogus-charset.html", location).pathname + "?postMessage"; + document.body.append(frame); +}, "Cross-origin child with bogus <meta charset>"); +</script> diff --git a/tests/wpt/web-platform-tests/html/syntax/charset/resources/bogus-charset-http-valid-meta.py b/tests/wpt/web-platform-tests/html/syntax/charset/resources/bogus-charset-http-valid-meta.py new file mode 100644 index 00000000000..f988bc9f8c7 --- /dev/null +++ b/tests/wpt/web-platform-tests/html/syntax/charset/resources/bogus-charset-http-valid-meta.py @@ -0,0 +1,4 @@ +def main(request, response): + response.headers.set(b"Content-Type", b"text/html;charset=this-is-not-a-charset") + # ¢ + response.content = b"<meta charset=windows-1251>\xA2\n" diff --git a/tests/wpt/web-platform-tests/html/syntax/charset/resources/bogus-charset-http.py b/tests/wpt/web-platform-tests/html/syntax/charset/resources/bogus-charset-http.py new file mode 100644 index 00000000000..1b881a16810 --- /dev/null +++ b/tests/wpt/web-platform-tests/html/syntax/charset/resources/bogus-charset-http.py @@ -0,0 +1,4 @@ +def main(request, response): + response.headers.set(b"Content-Type", b"text/html;charset=this-is-not-a-charset") + # ¢ + response.content = b"\xA2\n" diff --git a/tests/wpt/web-platform-tests/html/syntax/charset/resources/bogus-charset.html b/tests/wpt/web-platform-tests/html/syntax/charset/resources/bogus-charset.html new file mode 100644 index 00000000000..e77e874466c --- /dev/null +++ b/tests/wpt/web-platform-tests/html/syntax/charset/resources/bogus-charset.html @@ -0,0 +1,7 @@ +<!doctype html><meta charset=this-is-not-a-charset><script> +onload = () => { + if (location.search === "?postMessage") { + parent.postMessage(document.body.textContent, "*"); + } +} +</script>� diff --git a/tests/wpt/web-platform-tests/infrastructure/metadata/infrastructure/server/webtransport-h3.https.sub.any.js.ini b/tests/wpt/web-platform-tests/infrastructure/metadata/infrastructure/server/webtransport-h3.https.sub.any.js.ini index 7d3874e36c3..f0041b0aa29 100644 --- a/tests/wpt/web-platform-tests/infrastructure/metadata/infrastructure/server/webtransport-h3.https.sub.any.js.ini +++ b/tests/wpt/web-platform-tests/infrastructure/metadata/infrastructure/server/webtransport-h3.https.sub.any.js.ini @@ -1,28 +1,30 @@ [webtransport-h3.https.sub.any.html] - [WebTransport server should be running and should handle a bidirectional stream] - expected: - if product == "chrome": PASS - FAIL - -[webtransport-h3.https.sub.any.window.html] + disabled: + if product == "firefox": times out [WebTransport server should be running and should handle a bidirectional stream] expected: if product == "chrome": PASS FAIL [webtransport-h3.https.sub.any.worker.html] + disabled: + if product == "firefox": times out [WebTransport server should be running and should handle a bidirectional stream] expected: if product == "chrome": PASS FAIL [webtransport-h3.https.sub.any.sharedworker.html] + disabled: + if product == "firefox": times out [WebTransport server should be running and should handle a bidirectional stream] expected: if product == "chrome": PASS FAIL [webtransport-h3.https.sub.any.serviceworker.html] + disabled: + if product == "firefox": times out [WebTransport server should be running and should handle a bidirectional stream] expected: if product == "chrome": PASS diff --git a/tests/wpt/web-platform-tests/lint.ignore b/tests/wpt/web-platform-tests/lint.ignore index ab06848df53..056bbd0c230 100644 --- a/tests/wpt/web-platform-tests/lint.ignore +++ b/tests/wpt/web-platform-tests/lint.ignore @@ -783,6 +783,8 @@ AHEM SYSTEM FONT: css/css-font-loading/fontface-size-adjust-descriptor-ref.html AHEM SYSTEM FONT: css/css-fonts/ascent-descent-override.html AHEM SYSTEM FONT: css/css-fonts/font-size-adjust-012.html AHEM SYSTEM FONT: css/css-fonts/font-size-adjust-012-ref.html +AHEM SYSTEM FONT: css/css-fonts/font-size-adjust-013.html +AHEM SYSTEM FONT: css/css-fonts/font-size-adjust-013-ref.html AHEM SYSTEM FONT: css/css-fonts/line-gap-override.html AHEM SYSTEM FONT: html/dom/render-blocking/remove-attr-unblocks-rendering.optional.html AHEM SYSTEM FONT: html/dom/render-blocking/remove-element-unblocks-rendering.optional.html diff --git a/tests/wpt/web-platform-tests/long-animation-frame/tentative/loaf-desired-exec-time.html b/tests/wpt/web-platform-tests/long-animation-frame/tentative/loaf-desired-exec-time.html index d47ca28c303..dd350078b60 100644 --- a/tests/wpt/web-platform-tests/long-animation-frame/tentative/loaf-desired-exec-time.html +++ b/tests/wpt/web-platform-tests/long-animation-frame/tentative/loaf-desired-exec-time.html @@ -14,6 +14,8 @@ <div id="log"></div> <script> +const INTERNAL_OVERHEAD_DELAY_EPSILON = 5; + promise_test(async t => { const button = document.createElement("button"); button.innerText = "Click"; @@ -53,8 +55,8 @@ promise_test(async t => { timeAfterSetup = performance.now(); }); const entry = await entryPromise; - const script = entry.scripts.find(s => s.name === "Window.setTimeout"); - assert_greater_than_equal(script.desiredExecutionStart, timeBeforeSetup + delay); + const script = entry.scripts.find(s => s.name === "TimerHandler:setTimeout"); + assert_greater_than_equal(script.desiredExecutionStart, timeBeforeSetup + delay - 5); assert_less_than_equal(script.desiredExecutionStart, timeAfterSetup + delay); }, "desiredExecutionStart for setTimeout should be the setup time + delay"); @@ -70,7 +72,7 @@ promise_test(async t => { timeAfterSetup = performance.now(); }); const entry = await entryPromise; - const script = entry.scripts.find(s => s.name === "Scheduler.postTask"); + const script = entry.scripts.find(s => s.name === "SchedulerPostTaskCallback"); assert_greater_than_equal(script.desiredExecutionStart, timeBeforeSetup); assert_less_than_equal(script.desiredExecutionStart, timeAfterSetup); }, "desiredExecutionStart for Scheduler.postTask should be the time it was called"); @@ -80,7 +82,7 @@ promise_test(async t => { const rafPromise = new Promise(resolve => { // We fire two rAFs to ensure both of them receive the same // desiredExecutionStart - requestAnimationFrame(rafTime => { + requestAnimationFrame(rafTime => { busy_wait(); }) requestAnimationFrame(rafTime => { @@ -91,11 +93,11 @@ promise_test(async t => { const entry = await entryPromise; const rafTime = await rafPromise; const scripts = entry.scripts.filter( - s => s.name === "Window.requestAnimationFrame"); + s => s.name === "FrameRequestCallback"); for (const script of scripts) { - assert_approx_equals(script.desiredExecutionStart, rafTime, 5); + assert_approx_equals(script.desiredExecutionStart, rafTime, INTERNAL_OVERHEAD_DELAY_EPSILON); } - assert_approx_equals(entry.desiredRenderStart, rafTime, 5); + assert_approx_equals(entry.desiredRenderStart, rafTime, INTERNAL_OVERHEAD_DELAY_EPSILON); }, "desiredExecutionStart & desiredRenderStart for requestAnimationFrame " + "should be the same as the rAF argument"); @@ -113,7 +115,7 @@ promise_test(async t => { timeAfterWait = performance.now(); }), 0); const [entry, rafTime] = await Promise.all([entryPromise, rafPromise]); - assert_approx_equals(entry.desiredRenderStart, rafTime, 5); + assert_approx_equals(entry.desiredRenderStart, rafTime, INTERNAL_OVERHEAD_DELAY_EPSILON); }, "desiredRenderStart and renderStart should reflect main thread delays"); </script> </body> diff --git a/tests/wpt/web-platform-tests/long-animation-frame/tentative/loaf-first-ui-event.html b/tests/wpt/web-platform-tests/long-animation-frame/tentative/loaf-first-ui-event.html index b30b645d2fa..47a3a51de21 100644 --- a/tests/wpt/web-platform-tests/long-animation-frame/tentative/loaf-first-ui-event.html +++ b/tests/wpt/web-platform-tests/long-animation-frame/tentative/loaf-first-ui-event.html @@ -93,8 +93,8 @@ promise_test(async t => { return promise; }, s => s.name === "IMG[src=/images/green.png].onload", t); - const [entry] = await entryPromise; - assert_equals(entry.firstUIEventTimestamp, 0); + const [entry, script] = await entryPromise; + assert_not_equals(entry.firstUIEventTimestamp, script.desiredExecutionStart); }, "Non-UI events don't affect firstUIEventTimestamp"); </script> diff --git a/tests/wpt/web-platform-tests/long-animation-frame/tentative/loaf-pause-duration.html b/tests/wpt/web-platform-tests/long-animation-frame/tentative/loaf-pause-duration.html new file mode 100644 index 00000000000..6894164fbfd --- /dev/null +++ b/tests/wpt/web-platform-tests/long-animation-frame/tentative/loaf-pause-duration.html @@ -0,0 +1,30 @@ +<!DOCTYPE HTML> +<meta charset=utf-8> +<title>Long Animation Frame Timing: pause</title> +<meta name="timeout" content="long"> +<script src="/resources/testharness.js"></script> +<script src="/resources/testharnessreport.js"></script> +<script src="resources/utils.js"></script> + +<body> +<h1>Long Animation Frame: pause</h1> +<div id="log"></div> +<script> + +promise_test(async t => { + const pause_duration = very_long_frame_duration / 2; + [entry, script] = await expect_long_frame_with_script(() => t.step_timeout(() => { + busy_wait(pause_duration); + const sync_xhr = new XMLHttpRequest(); + sync_xhr.open("GET", `/xhr/resources/delay.py?ms=${pause_duration}`, /*async=*/false); + sync_xhr.send(); + }, 0), script => ( + script.name === "TimerHandler:setTimeout" && + script.duration >= very_long_frame_duration), t); + assert_true("pauseDuration" in script); + assert_greater_than(script.pauseDuration, pause_duration); +}, "Synchronous XHR should be counted as pauseDuration"); + +// TODO: Test for alert/confirm, requires WPT infra changes. +</script> +</body> diff --git a/tests/wpt/web-platform-tests/long-animation-frame/tentative/loaf-script-block.html b/tests/wpt/web-platform-tests/long-animation-frame/tentative/loaf-script-block.html index f896a737ce7..866eea09e09 100644 --- a/tests/wpt/web-platform-tests/long-animation-frame/tentative/loaf-script-block.html +++ b/tests/wpt/web-platform-tests/long-animation-frame/tentative/loaf-script-block.html @@ -4,6 +4,7 @@ <meta name="timeout" content="long"> <script src="/resources/testharness.js"></script> <script src="/resources/testharnessreport.js"></script> +<script src="/common/utils.js"></script> <script src="resources/utils.js"></script> <body> @@ -30,16 +31,18 @@ test_self_script_block(t => { }, new URL("resources/busy.js", location.href).href, "classic-script"); test_self_script_block(t => { + const uid = token(); const script = document.createElement("script"); - script.src = "resources/busy.js"; + script.src = `resources/busy.js?token=${uid}`; script.type = "module"; document.body.appendChild(script); }, new URL("resources/busy.js", location.href).href, "module-script"); test_self_script_block(t => { + const uid = token(); const script = document.createElement("script"); script.type = "module"; - script.innerHTML = `import("./resources/busy.js?import");`; + script.innerHTML = `import("./resources/busy.js?import=${uid}");`; document.body.appendChild(script); }, new URL("resources/busy.js?import", location.href).href, "execute-script"); diff --git a/tests/wpt/web-platform-tests/long-animation-frame/tentative/loaf-source-location-bound.html b/tests/wpt/web-platform-tests/long-animation-frame/tentative/loaf-source-location-bound.html new file mode 100644 index 00000000000..8e8019104af --- /dev/null +++ b/tests/wpt/web-platform-tests/long-animation-frame/tentative/loaf-source-location-bound.html @@ -0,0 +1,24 @@ +<!DOCTYPE HTML> +<meta charset=utf-8> +<title>Long Animation Frame Timing: source location extraction</title> +<meta name="timeout" content="long"> +<script src="/resources/testharness.js"></script> +<script src="/resources/testharnessreport.js"></script> +<script src="resources/utils.js"></script> + +<body> +<h1>Long Animation Frame: source location extraction</h1> +<div id="log"></div> +<script> + +promise_test(async t => { + const [entry, script] = await expect_long_frame_with_script(() => { + const object = {}; + requestAnimationFrame((function my_bound_function() { + busy_wait(); + }).bind(object)); + }, script => script.name === "FrameRequestCallback", t); + assert_true(script.sourceLocation.startsWith("my_bound_function")); +}, "Source location should be extracted from bound functions"); +</script> +</body> diff --git a/tests/wpt/web-platform-tests/long-animation-frame/tentative/loaf-user-callback.html b/tests/wpt/web-platform-tests/long-animation-frame/tentative/loaf-user-callback.html index bc8fdd05e10..3d868af87f3 100644 --- a/tests/wpt/web-platform-tests/long-animation-frame/tentative/loaf-user-callback.html +++ b/tests/wpt/web-platform-tests/long-animation-frame/tentative/loaf-user-callback.html @@ -11,18 +11,17 @@ <div id="log"></div> <script> - test_self_user_callback(t => - t.step_timeout(() => busy_wait()), "Window.setTimeout"); + t.step_timeout(() => busy_wait()), "TimerHandler:setTimeout"); test_self_user_callback(() => { const interval = setInterval(() => { busy_wait(); clearInterval(interval); }, 10); -}, "Window.setInterval"); +}, "TimerHandler:setInterval"); test_self_user_callback(() => - requestAnimationFrame(() => busy_wait()), "Window.requestAnimationFrame"); + requestAnimationFrame(() => busy_wait()), "FrameRequestCallback"); test_self_user_callback(t => { const element = document.createElement("div"); @@ -32,7 +31,7 @@ test_self_user_callback(t => { busy_wait(very_long_frame_duration); observer.disconnect(); }).observe(element); -}, "ResizeObserver.callback"); +}, "ResizeObserverCallback"); test_self_user_callback(t => { const element = document.createElement("div"); @@ -43,10 +42,15 @@ test_self_user_callback(t => { observer.disconnect(); }).observe(element); document.body.appendChild(element); -}, "IntersectionObserver.callback"); +}, "IntersectionObserverCallback"); test_self_user_callback(t => - scheduler.postTask(() => busy_wait()), "Scheduler.postTask"); + scheduler.postTask(() => busy_wait()), "SchedulerPostTaskCallback"); + + test_self_user_callback(t => { + new PerformanceObserver(() => busy_wait()).observe( + {type: "navigation", buffered: true}); +}, "PerformanceObserverCallback"); </script> </body> diff --git a/tests/wpt/web-platform-tests/long-animation-frame/tentative/resources/utils.js b/tests/wpt/web-platform-tests/long-animation-frame/tentative/resources/utils.js index 394d81706cc..8781252e941 100644 --- a/tests/wpt/web-platform-tests/long-animation-frame/tentative/resources/utils.js +++ b/tests/wpt/web-platform-tests/long-animation-frame/tentative/resources/utils.js @@ -97,10 +97,12 @@ function test_loaf_script(cb, name, type, label) { promise_test(async t => { let [entry, script] = []; [entry, script] = await expect_long_frame_with_script(cb, - script => (script.type === type && script.duration >= very_long_frame_duration), t); + script => ( + script.type === type && + script.name.startsWith(name) && + script.duration >= very_long_frame_duration), t); assert_true(!!entry, "Entry detected"); - assert_equals(script.name, name); assert_greater_than_equal(script.duration, very_long_frame_duration); assert_greater_than_equal(entry.duration, script.duration); assert_greater_than_equal(script.executionStart, script.startTime); @@ -112,8 +114,8 @@ function test_loaf_script(cb, name, type, label) { } -function test_self_user_callback(cb, name) { - test_loaf_script(cb, name, "user-callback"); +function test_self_user_callback(cb, name, label) { + test_loaf_script(cb, name, "user-callback", label); } function test_self_event_listener(cb, name) { diff --git a/tests/wpt/web-platform-tests/mediacapture-record/MediaRecorder-stop.html b/tests/wpt/web-platform-tests/mediacapture-record/MediaRecorder-stop.html index 73eb2999adb..2b49a4cb6c4 100644 --- a/tests/wpt/web-platform-tests/mediacapture-record/MediaRecorder-stop.html +++ b/tests/wpt/web-platform-tests/mediacapture-record/MediaRecorder-stop.html @@ -26,7 +26,9 @@ assert_greater_than_equal( j, 0, "Sequence element " + event + " is not included in " + expected.slice(i)); - i = j; + // Ensure duplicates in actual aren't silently accepted by skipping + // past the matched element. + i = j + 1; } return true; } @@ -146,6 +148,19 @@ assert_array_equals(events, ["start", "error", "data", "stop"]); }, "MediaRecorder will fire start event even if a track is removed synchronously"); + promise_test(async t => { + const {stream} = createFlowingAudioVideoStream(t); + const recorder = new MediaRecorder(stream); + const events = recordEvents(recorder, + ["start", "stop", "dataavailable", "pause", "resume", "error"]); + const dataPromise = new Promise(r => recorder.ondataavailable = r); + recorder.start(0); + await dataPromise; + recorder.stop(); + await new Promise (r => recorder.onstop = r); + assertSequenceIn(events, ["start", "dataavailable", "stop"]); + }, "MediaRecorder will fire only start and stop events in a basic recording flow."); + </script> </body> </html> diff --git a/tests/wpt/web-platform-tests/mediacapture-streams/MediaStreamTrack-MediaElement-disabled-video-is-black.https.html b/tests/wpt/web-platform-tests/mediacapture-streams/MediaStreamTrack-MediaElement-disabled-video-is-black.https.html index 3652362b848..5bb168ee544 100644 --- a/tests/wpt/web-platform-tests/mediacapture-streams/MediaStreamTrack-MediaElement-disabled-video-is-black.https.html +++ b/tests/wpt/web-platform-tests/mediacapture-streams/MediaStreamTrack-MediaElement-disabled-video-is-black.https.html @@ -10,7 +10,7 @@ <p class="instructions">When prompted, accept to share your video stream.</p> <h1 class="instructions">Description</h1> <p class="instructions">This test checks that a disabled video track in a -MediaStream is rendered as blackness.</p> +MediaStream is handled correctly by HTMLVideoElement.</p> <video id="vid"></video> <div id='log'></div> @@ -22,35 +22,54 @@ MediaStream is rendered as blackness.</p> <script> const vid = document.getElementById("vid"); const cv = document.createElement("canvas"); -promise_test(async () => { +promise_test(async t => { await setMediaPermission("granted", ["camera"]); const stream = await navigator.mediaDevices.getUserMedia({video: true}); - if (stream.getVideoTracks()[0].enabled) { - stream.getVideoTracks()[0].enabled = false; - } - - let resolveLoadedPromise; - const videoLoaded = new Promise(res => resolveLoadedPromise = res) - var testOnceLoadeddata = function() { - vid.removeEventListener("loadeddata", testOnceLoadeddata, false); - cv.width = vid.offsetWidth; - cv.height = vid.offsetHeight; - var ctx = cv.getContext("2d"); - ctx.drawImage(vid,0,0); - var imageData = ctx.getImageData(0, 0, cv.width, cv.height); - for (var i = 0; i < imageData.data.length; i+=4) { - assert_equals(imageData.data[i], 0, "No red component in pixel #" + i); - assert_equals(imageData.data[i + 1], 0, "No green component in pixel #" + i); - assert_equals(imageData.data[i + 2], 0, "No blue component in pixel #" + i); - assert_equals(imageData.data[i + 3], 255, "No transparency in pixel #" + i); - } - resolveLoadedPromise(); - }; + t.add_cleanup(() => { + for (let track of stream.getTracks()) { + track.stop(); + } + vid.srcObject = null; + }); + stream.getTracks()[0].enabled = false; vid.srcObject = stream; vid.play(); - vid.addEventListener("loadeddata", testOnceLoadeddata, false); + await new Promise(r => vid.onloadeddata = r); + + cv.width = vid.videoWidth; + cv.height = vid.videoHeight; + const ctx = cv.getContext("2d"); + ctx.drawImage(vid,0,0); + const imageData = ctx.getImageData(0, 0, cv.width, cv.height); + for (let i = 0; i < imageData.data.length / 4; ++i) { + assert_equals(imageData.data[i * 4], 0, "No red component in pixel #" + i); + assert_equals(imageData.data[i * 4 + 1], 0, "No green component in pixel #" + i); + assert_equals(imageData.data[i * 4 + 2], 0, "No blue component in pixel #" + i); + assert_equals(imageData.data[i * 4 + 3], 255, "No transparency in pixel #" + i); + } }, "Tests that a disabled video track in a MediaStream is rendered as blackness"); + +promise_test(async t => { + const ctx = cv.getContext("2d"); + ctx.fillStyle = "red"; + ctx.fillRect(0, 0, cv.width, cv.height); + const stream = cv.captureStream(); + t.add_cleanup(() => { + for (let track of stream.getTracks()) { + track.stop(); + } + vid.srcObject = null; + }); + + stream.getTracks()[0].enabled = false; + vid.srcObject = stream; + vid.play(); + await new Promise(r => vid.onloadeddata = r); + + assert_equals(vid.videoWidth, cv.width); + assert_equals(vid.videoHeight, cv.height); +}, "Test that a video element rendering a disabled video track reports correct intrinsic dimensions"); </script> </body> </html> diff --git a/tests/wpt/web-platform-tests/mixed-content/nested-iframes.window.js b/tests/wpt/web-platform-tests/mixed-content/nested-iframes.window.js new file mode 100644 index 00000000000..daa0110471c --- /dev/null +++ b/tests/wpt/web-platform-tests/mixed-content/nested-iframes.window.js @@ -0,0 +1,25 @@ +// META: script=/common/get-host-info.sub.js + +const t1 = async_test("HTTP fetch"); +const t2 = async_test("HTTPS fetch"); + +onmessage = function(e) { + const {protocol, success} = e.data; + if (protocol == "http:") { + t1.step(() => assert_false(success, "success")); + t1.done(); + } else if (protocol == "https:") { + t2.step(() => assert_true(success, "success")); + t2.done(); + } else { + [t1, t2].forEach(t => { + t.step(() => assert_unreached("Unknown message")); + t.done(); + }); + } +}; + +const httpsFrame = document.createElement("iframe"); +httpsFrame.src = get_host_info().HTTPS_ORIGIN + "/mixed-content/resources/middle-frame.html"; + +document.body.appendChild(httpsFrame); diff --git a/tests/wpt/web-platform-tests/mixed-content/resources/middle-frame.html b/tests/wpt/web-platform-tests/mixed-content/resources/middle-frame.html new file mode 100644 index 00000000000..58d14d61ef9 --- /dev/null +++ b/tests/wpt/web-platform-tests/mixed-content/resources/middle-frame.html @@ -0,0 +1,39 @@ +<!DOCTYPE html> +<html> + <head> + <script src="/common/get-host-info.sub.js"></script> + </head> + <body> + <script> + onmessage = e => parent.postMessage(e.data, "*"); + + const path = "/fetch/api/resources/cors-top.txt"; + const http_url = get_host_info().HTTP_ORIGIN + path; + const https_url = get_host_info().HTTPS_ORIGIN + path; + + const ifr = document.createElement("iframe"); + ifr.src = `data:text/html, + <!DOCTYPE html> + <script> + async function try_fetch(url) { + try { + const response = await fetch(url); + return response.ok; + } catch(e) { + return false; + } + } + async function try_fetch_and_report(url) { + parent.postMessage({ + protocol: new URL(url).protocol, + success: await try_fetch(url), + }, "*"); + } + try_fetch_and_report("${http_url}"); + try_fetch_and_report("${https_url}"); + <\/script> + `; + document.body.appendChild(ifr); + </script> + </body> +</html> diff --git a/tests/wpt/web-platform-tests/navigation-api/commit-behavior/after-transition-new-navigation-before-commit.html b/tests/wpt/web-platform-tests/navigation-api/commit-behavior/after-transition-new-navigation-before-commit.html new file mode 100644 index 00000000000..2d09d40dc95 --- /dev/null +++ b/tests/wpt/web-platform-tests/navigation-api/commit-behavior/after-transition-new-navigation-before-commit.html @@ -0,0 +1,25 @@ +<!doctype html> +<script src="/resources/testharness.js"></script> +<script src="/resources/testharnessreport.js"></script> +<script src="../navigation-methods/return-value/resources/helpers.js"></script> +<body> +<script> +promise_test(async t => { + navigation.addEventListener("navigate", e => e.intercept({ commit: "after-transition" }), { once: "true" }); + + let navigateerror_called = false; + navigation.onnavigateerror = t.step_func(() => { + navigateerror_called = true; + assert_equals(location.hash, ""); + }); + + let promises_should_not_commit = navigation.navigate("#ShouldNotCommit"); + let promises_fulfilled = navigation.navigate("#1"); + await assertBothRejectDOM(t, promises_should_not_commit, "AbortError"); + await assertBothFulfill(t, promises_fulfilled, navigation.currentEntry); + + assert_equals(location.hash, "#1"); + assert_true(navigateerror_called); +}, "Cancel a { commit: 'after-transition' } navigation before commit() by starting a new navigation"); +</script> +</body> diff --git a/tests/wpt/web-platform-tests/navigation-api/commit-behavior/after-transition-push.html b/tests/wpt/web-platform-tests/navigation-api/commit-behavior/after-transition-push.html new file mode 100644 index 00000000000..34bdcf7cac7 --- /dev/null +++ b/tests/wpt/web-platform-tests/navigation-api/commit-behavior/after-transition-push.html @@ -0,0 +1,23 @@ +<!doctype html> +<script src="/resources/testharness.js"></script> +<script src="/resources/testharnessreport.js"></script> +<script src="../navigation-methods/return-value/resources/helpers.js"></script> +<script src="resources/after-transition-commit-helpers.js"></script> +<body> +<script> +let tests = [ + { mode: "rejectBeforeCommit", description: "{ commit: 'after-transition' } for a push navigation, reject before commit" }, + { mode: "rejectAfterCommit", description: "{ commit: 'after-transition' } for a push navigation, reject after commit" }, + { mode: "successExplicitCommit", description: "{ commit: 'after-transition' } for a push navigation, explicit commit()" }, + { mode: "successNoExplicitCommit", description: "{ commit: 'after-transition' } for a push navigation, commit when handler resolves" } +]; + +let onload_promise = new Promise(resolve => window.onload = resolve); +for (let test of tests) { + promise_test(async t => { + await onload_promise; + await testAfterTransitionCommit(t, "push", test.mode); + }, test.description); +} +</script> +</body> diff --git a/tests/wpt/web-platform-tests/navigation-api/commit-behavior/after-transition-reload.html b/tests/wpt/web-platform-tests/navigation-api/commit-behavior/after-transition-reload.html new file mode 100644 index 00000000000..203150eb051 --- /dev/null +++ b/tests/wpt/web-platform-tests/navigation-api/commit-behavior/after-transition-reload.html @@ -0,0 +1,19 @@ +<!doctype html> +<script src="/resources/testharness.js"></script> +<script src="/resources/testharnessreport.js"></script> +<script src="../navigation-methods/return-value/resources/helpers.js"></script> +<script src="resources/after-transition-commit-helpers.js"></script> +<body> +<script> +let tests = [ + { mode: "rejectBeforeCommit", description: "{ commit: 'after-transition' } for a reload navigation, reject before commit" }, + { mode: "rejectAfterCommit", description: "{ commit: 'after-transition' } for a reload navigation, reject after commit" }, + { mode: "successExplicitCommit", description: "{ commit: 'after-transition' } for a reload navigation, explicit commit()" }, + { mode: "successNoExplicitCommit", description: "{ commit: 'after-transition' } for a reload navigation, commit when handler resolves" } +]; + +for (let test of tests) { + promise_test(t => testAfterTransitionCommit(t, "reload", test.mode), test.description); +} +</script> +</body> diff --git a/tests/wpt/web-platform-tests/navigation-api/commit-behavior/after-transition-replace.html b/tests/wpt/web-platform-tests/navigation-api/commit-behavior/after-transition-replace.html new file mode 100644 index 00000000000..2fd48736a34 --- /dev/null +++ b/tests/wpt/web-platform-tests/navigation-api/commit-behavior/after-transition-replace.html @@ -0,0 +1,19 @@ +<!doctype html> +<script src="/resources/testharness.js"></script> +<script src="/resources/testharnessreport.js"></script> +<script src="../navigation-methods/return-value/resources/helpers.js"></script> +<script src="resources/after-transition-commit-helpers.js"></script> +<body> +<script> +let tests = [ + { mode: "rejectBeforeCommit", description: "{ commit: 'after-transition' } for a replace navigation, reject before commit" }, + { mode: "rejectAfterCommit", description: "{ commit: 'after-transition' } for a replace navigation, reject after commit" }, + { mode: "successExplicitCommit", description: "{ commit: 'after-transition' } for a replace navigation, explicit commit()" }, + { mode: "successNoExplicitCommit", description: "{ commit: 'after-transition' } for a replace navigation, commit when handler resolves" } +]; + +for (let test of tests) { + promise_test(t => testAfterTransitionCommit(t, "replace", test.mode), test.description); +} +</script> +</body> diff --git a/tests/wpt/web-platform-tests/navigation-api/commit-behavior/after-transition-traversal-commit-new-navigation-before-commit.html b/tests/wpt/web-platform-tests/navigation-api/commit-behavior/after-transition-traversal-commit-new-navigation-before-commit.html new file mode 100644 index 00000000000..9e74e10676d --- /dev/null +++ b/tests/wpt/web-platform-tests/navigation-api/commit-behavior/after-transition-traversal-commit-new-navigation-before-commit.html @@ -0,0 +1,36 @@ +<!doctype html> +<script src="/resources/testharness.js"></script> +<script src="/resources/testharnessreport.js"></script> +<script src="../navigation-methods/return-value/resources/helpers.js"></script> +<body> +<script> +promise_test(async t => { + // Wait for after the load event so that the navigation doesn't get converted + // into a replace navigation. + await new Promise(resolve => window.onload = () => t.step_timeout(resolve, 0)); + + await navigation.navigate("#1").finished; + + let navigateerror_called = false; + navigation.onnavigateerror = t.step_func(() => { + navigateerror_called = true; + assert_equals(location.hash, "#1"); + }); + + // Go back and wait for the navigate event to fire. This traversal will be deferred. + let promises_should_not_commit = assertBothRejectDOM(t, navigation.back(), "AbortError"); + navigation.addEventListener("navigate", e => e.intercept({ commit: "after-transition", handler: () => new Promise(r => t.step_timeout(r, 1000)) }), { once: "true" }); + await new Promise(resolve => navigation.addEventListener("navigate", resolve, { once: "true" })); + + // While the traversal is deferred, start a new navigation and commit immediately. + navigation.addEventListener("navigate", e => e.intercept(), { once: "true" }); + let promises_fulfilled = navigation.navigate("#2"); + + await promises_should_not_commit; + await assertBothFulfill(t, promises_fulfilled, navigation.currentEntry); + + assert_equals(location.hash, "#2"); + assert_true(navigateerror_called); +}, "Cancel a { commit: 'after-transition' } traversal before commit() by starting a new navigation"); +</script> +</body> diff --git a/tests/wpt/web-platform-tests/navigation-api/commit-behavior/after-transition-traverse.html b/tests/wpt/web-platform-tests/navigation-api/commit-behavior/after-transition-traverse.html new file mode 100644 index 00000000000..7dd1226e54c --- /dev/null +++ b/tests/wpt/web-platform-tests/navigation-api/commit-behavior/after-transition-traverse.html @@ -0,0 +1,29 @@ +<!doctype html> +<script src="/resources/testharness.js"></script> +<script src="/resources/testharnessreport.js"></script> +<script src="../navigation-methods/return-value/resources/helpers.js"></script> +<script src="resources/after-transition-commit-helpers.js"></script> +<body> +<script> +let tests = [ + { mode: "rejectBeforeCommit", destinationIndex: 0, description: "{ commit: 'after-transition' } for a traverse navigation, reject before commit" }, + { mode: "rejectAfterCommit", destinationIndex: 1, description: "{ commit: 'after-transition' } for a traverse navigation, reject after commit" }, + { mode: "successExplicitCommit", destinationIndex: 2, description: "{ commit: 'after-transition' } for a traverse navigation, explicit commit()" }, + { mode: "successNoExplicitCommit", destinationIndex: 3, description: "{ commit: 'after-transition' } for a traverse navigation, commit when handler resolves" } +]; + +// Push a bunch of history entries so each test case can target a unique entry. +history.pushState("", "", "#1"); +history.pushState("", "", "#2"); +history.pushState("", "", "#3"); +history.pushState("", "", "#4"); + +let onload_promise = new Promise(resolve => window.onload = resolve); +for (let test of tests) { + promise_test(async t => { + await onload_promise; + await testAfterTransitionCommit(t, "traverse", test.mode, test.destinationIndex); + }, test.description); +} +</script> +</body> diff --git a/tests/wpt/web-platform-tests/navigation-api/commit-behavior/after-transition-uncancelable.html b/tests/wpt/web-platform-tests/navigation-api/commit-behavior/after-transition-uncancelable.html new file mode 100644 index 00000000000..45bde9f0900 --- /dev/null +++ b/tests/wpt/web-platform-tests/navigation-api/commit-behavior/after-transition-uncancelable.html @@ -0,0 +1,23 @@ +<!doctype html> +<script src="/resources/testharness.js"></script> +<script src="/resources/testharnessreport.js"></script> +<iframe id="i" src="/common/blank.html"></iframe> +<body> +<script> +promise_test(async t => { + // Wait for after the load event so that the navigation doesn't get converted + // into a replace navigation. + await new Promise(resolve => window.onload = () => t.step_timeout(resolve, 0)); + + await i.contentWindow.navigation.navigate("#1").finished; + + i.contentWindow.navigation.onnavigate = t.step_func(e => { + assert_false(e.cancelable); + // intercept() should throw with commit: "after-transition" because e.cancelable is false. + let iframe_constructor = i.contentWindow.DOMException; + assert_throws_dom("InvalidStateError", iframe_constructor, () => e.intercept({ commit: "after-transition" })); + }); + await i.contentWindow.navigation.back().finished; +}, "{ commit: 'after-transition' } for an uncancelable traverse navigation"); +</script> +</body> diff --git a/tests/wpt/web-platform-tests/navigation-api/commit-behavior/after-transition-window-stop-before-commit.html b/tests/wpt/web-platform-tests/navigation-api/commit-behavior/after-transition-window-stop-before-commit.html new file mode 100644 index 00000000000..0f5e57d5b66 --- /dev/null +++ b/tests/wpt/web-platform-tests/navigation-api/commit-behavior/after-transition-window-stop-before-commit.html @@ -0,0 +1,33 @@ +<!doctype html> +<script src="/resources/testharness.js"></script> +<script src="/resources/testharnessreport.js"></script> +<script src="../navigation-methods/return-value/resources/helpers.js"></script> +<body> +<script> +promise_test(async t => { + // Wait for after the load event because window.stop() hangs the test harness + // if called before the load event. + await new Promise(resolve => window.onload = () => t.step_timeout(resolve, 0)); + + navigation.onnavigate = e => { + e.intercept({ commit: "after-transition" }); + }; + + navigation.onnavigatesuccess = t.unreached_func("navigatesuccess must not fire"); + let navigateerror_called = false; + navigation.onnavigateerror = t.step_func(() => { + navigateerror_called = true; + assert_equals(location.hash, ""); + }); + + let promises = navigation.navigate("#ShouldNotCommit"); + assert_equals(location.hash, ""); + + window.stop(); + await assertBothRejectDOM(t, promises, "AbortError"); + + assert_equals(location.hash, ""); + assert_true(navigateerror_called); +}, " { commit: 'after-transition' } with window.stop() before commit"); +</script> +</body> diff --git a/tests/wpt/web-platform-tests/navigation-api/commit-behavior/commit-throws.html b/tests/wpt/web-platform-tests/navigation-api/commit-behavior/commit-throws.html new file mode 100644 index 00000000000..54abdbfd0fb --- /dev/null +++ b/tests/wpt/web-platform-tests/navigation-api/commit-behavior/commit-throws.html @@ -0,0 +1,95 @@ +<!doctype html> +<script src="/resources/testharness.js"></script> +<script src="/resources/testharnessreport.js"></script> +<body> +<script> +promise_test(async t => { + navigation.onnavigate = t.step_func(e => { + assert_throws_dom("InvalidStateError", () => e.commit()); + }); + await navigation.navigate("#").finished; +}, "commit() before intercept()"); + +promise_test(async t => { + navigation.onnavigate = t.step_func(e => { + e.intercept({ handler: t.step_func(() => { + assert_throws_dom("InvalidStateError", () => e.commit()); + }) }); + }); + await navigation.navigate("#").finished; +}, "commit() without commit behavior specified"); + +promise_test(async t => { + navigation.onnavigate = t.step_func(e => { + e.intercept({ + handler: t.step_func(() => { + assert_throws_dom("InvalidStateError", () => e.commit()); + }), + commit: "immediate" + }); + }); + await navigation.navigate("#").finished; +}, "commit() with { commit: immediate }"); + +promise_test(async t => { + navigation.onnavigate = t.step_func(e => { + e.intercept({ commit: "after-transition" }); + assert_throws_dom("InvalidStateError", () => e.commit()); + }); + await navigation.navigate("#").finished; +}, "commit() during event dispatch"); + +promise_test(async t => { + let navigate_event; + navigation.onnavigate = t.step_func(e => { + e.intercept({ commit: "after-transition" }); + navigate_event = e; + }); + await navigation.navigate("#").finished; + assert_throws_dom("InvalidStateError", () => navigate_event.commit()); +}, "commit() after finish"); + +promise_test(async t => { + navigation.onnavigate = t.step_func(e => { + e.intercept({ + handler: t.step_func(() => { + e.commit(); + assert_throws_dom("InvalidStateError", () => e.commit()); + }), + commit: "after-transition" + }); + }); + await navigation.navigate("#").finished; +}, "commit() twice"); + +promise_test(async t => { + // We need to grab an NavigationDestination to construct the event. + navigation.onnavigate = t.step_func(e => { + const event = new NavigateEvent("navigate", { + destination: e.destination, + signal: (new AbortController()).signal + }); + + assert_throws_dom("SecurityError", () => event.commit()); + }); + await navigation.navigate("#").finished; +}, "commit() on synthetic NavigateEvent"); + +promise_test(async t => { + let i = document.createElement("iframe"); + i.src = "about:blank"; + document.body.appendChild(i); + i.contentWindow.navigation.onnavigate = t.step_func(e => { + e.intercept({ + handler: t.step_func(() => { + let iframe_constructor = i.contentWindow.DOMException; + i.remove(); + assert_throws_dom("InvalidStateError", iframe_constructor, () => e.commit()); + }), + commit: "after-transition" + }); + }); + i.contentWindow.navigation.navigate("#"); +}, "commit() in detached iframe"); +</script> +</body> diff --git a/tests/wpt/web-platform-tests/navigation-api/commit-behavior/multiple-intercept.html b/tests/wpt/web-platform-tests/navigation-api/commit-behavior/multiple-intercept.html new file mode 100644 index 00000000000..848af6a65d8 --- /dev/null +++ b/tests/wpt/web-platform-tests/navigation-api/commit-behavior/multiple-intercept.html @@ -0,0 +1,83 @@ +<!doctype html> +<script src="/resources/testharness.js"></script> +<script src="/resources/testharnessreport.js"></script> +<body> +<div style="height: 1000px; width: 1000px;"></div> +<div id="frag"></div> +<script> +let i = 0; +async function urlDidChangeImmediately(listener, expected) { + navigation.addEventListener("navigate", listener, { once: true }); + let expected_hash = "#" + ++i; + assert_not_equals(location.hash, expected_hash); + let finished = navigation.navigate(expected_hash).finished; + assert_equals(location.hash === expected_hash, expected); + await finished; + assert_equals(location.hash, expected_hash); +} + +async function testUrlDidChangeImmediately(listener) { + await urlDidChangeImmediately(listener, true); +} + +async function testUrlDidNotChangeImmediately(listener) { + await urlDidChangeImmediately(listener, false); +} + +promise_test(async t => { + await testUrlDidNotChangeImmediately(e => { + e.intercept({ commit: "after-transition" }); + e.intercept({ commit: "after-transition" }); + }); +}, "after-transition + after-transition"); + +promise_test(async t => { + await testUrlDidNotChangeImmediately(e => { + e.intercept({ commit: "after-transition" }); + e.intercept(); + }); +}, "after-transition + (not provided)"); + +promise_test(async t => { + await testUrlDidChangeImmediately(e => { + e.intercept({ commit: "after-transition" }); + e.intercept({ commit: "immediate" }); + }); +}, "after-transition + immediate"); + +promise_test(async t => { + await testUrlDidNotChangeImmediately(e => { + e.intercept({ commit: "immediate" }); + e.intercept({ commit: "after-transition" }); + }); +}, "immediate + after-transition"); + +promise_test(async t => { + await testUrlDidChangeImmediately(e => { + e.intercept({ commit: "immediate" }); + e.intercept(); + }); +}, "immediate + (not provided)"); + +promise_test(async t => { + await testUrlDidChangeImmediately(e => { + e.intercept({ commit: "immediate" }); + e.intercept({ commit: "immediate" }); + }); +}, "immediate + immediate"); + +promise_test(async t => { + await testUrlDidNotChangeImmediately(e => { + e.intercept(); + e.intercept({ commit: "after-transition" }); + }); +}, "(not provided) + after-transition"); + +promise_test(async t => { + await testUrlDidChangeImmediately(e => { + e.intercept(); + e.intercept({ commit: "immediate" }); + }); +}, "(not provided) + immediate"); +</script> +</body> diff --git a/tests/wpt/web-platform-tests/navigation-api/commit-behavior/resources/after-transition-commit-helpers.js b/tests/wpt/web-platform-tests/navigation-api/commit-behavior/resources/after-transition-commit-helpers.js new file mode 100644 index 00000000000..664e8d7280e --- /dev/null +++ b/tests/wpt/web-platform-tests/navigation-api/commit-behavior/resources/after-transition-commit-helpers.js @@ -0,0 +1,90 @@ +window.testAfterTransitionCommit = async (t, navigationType, mode, destinationIndex = 0) => { + let startHash = location.hash; + let destinationHash; + const err = new Error("boo!"); + + let popstate_fired = false; + window.addEventListener("popstate", () => popstate_fired = true, { once : true }); + let navigatesuccess_fired = false; + navigation.addEventListener("navigatesuccess", () => navigatesuccess_fired = true, { once : true }); + let navigateerror_fired = false; + navigation.addEventListener("navigateerror", () => navigateerror_fired = true, { once : true }); + + // mode-specific logic for the navigate event handler + let navigate_helpers = { + rejectBeforeCommit : async (e) => { + return Promise.reject(err); + }, + rejectAfterCommit : async (e) => { + e.commit(); + assert_equals(location.hash, destinationHash, "hash after commit"); + assert_true(popstate_fired, "popstate fired after commit"); + await new Promise(resolve => t.step_timeout(resolve, 0)); + return Promise.reject(err); + }, + successExplicitCommit : async (e) => { + e.commit(); + assert_equals(location.hash, destinationHash, "hash after commit"); + assert_true(popstate_fired, "popstate fired after commit"); + return new Promise(resolve => t.step_timeout(resolve, 0)); + }, + successNoExplicitCommit : async (e) => { + assert_equals(location.hash, startHash, "start has after first async step"); + assert_false(popstate_fired, "popstate fired after first async step"); + await new Promise(resolve => t.step_timeout(resolve, 0)); + assert_equals(location.hash, startHash, "start has after second async step"); + assert_false(popstate_fired, "popstate fired after second async step"); + return new Promise(resolve => t.step_timeout(resolve, 0)); + } + } + + navigation.addEventListener("navigate", e => { + e.intercept({ commit: "after-transition", + handler: t.step_func(async () => { + assert_equals(e.navigationType, navigationType); + assert_equals(location.hash, startHash, "start hash"); + assert_false(popstate_fired, "popstate fired at handler start"); + + await new Promise(resolve => t.step_timeout(resolve, 0)); + assert_equals(location.hash, startHash, "hash after first async step"); + assert_false(popstate_fired, "popstate fired after first async step"); + + return navigate_helpers[mode](e); + })}); + }, { once: true }); + + let promises; + if (navigationType === "push" || navigationType === "replace") { + destinationHash = (startHash === "" ? "#" : startHash) + "a"; + promises = navigation.navigate(destinationHash, { history: navigationType }); + } else if (navigationType === "reload") { + destinationHash = startHash; + promises = navigation.reload(); + } else if (navigationType === "traverse") { + let destinationEntry = navigation.entries()[destinationIndex]; + destinationHash = new URL(destinationEntry.url).hash; + promises = navigation.traverseTo(destinationEntry.key); + } + + if (mode === "rejectBeforeCommit") { + await assertBothRejectExactly(t, promises, err); + assert_equals(location.hash, startHash, "hash after promise resolution"); + assert_false(popstate_fired, "popstate fired after promise resolution"); + assert_false(navigatesuccess_fired, "navigatesuccess fired"); + assert_true(navigateerror_fired, "navigateerror fired"); + } else if (mode === "rejectAfterCommit") { + await promises.committed; + await assertCommittedFulfillsFinishedRejectsExactly(t, promises, navigation.currentEntry, err); + assert_equals(location.hash, destinationHash, "hash after promise resolution"); + assert_true(popstate_fired, "popstate fired after promise resolution"); + assert_false(navigatesuccess_fired, "navigatesuccess fired"); + assert_true(navigateerror_fired, "navigateerror fired"); + } else { + await promises.committed; + await assertBothFulfill(t, promises, navigation.currentEntry); + assert_equals(location.hash, destinationHash, "hash after promise resolution"); + assert_true(popstate_fired, "popstate fired after promise resolution"); + assert_true(navigatesuccess_fired, "navigatesuccess fired"); + assert_false(navigateerror_fired, "navigateerror fired"); + } +} diff --git a/tests/wpt/web-platform-tests/navigation-api/navigate-event/defaultPrevented-navigation-preempted.html b/tests/wpt/web-platform-tests/navigation-api/navigate-event/defaultPrevented-navigation-preempted.html new file mode 100644 index 00000000000..1df4f56c5e4 --- /dev/null +++ b/tests/wpt/web-platform-tests/navigation-api/navigate-event/defaultPrevented-navigation-preempted.html @@ -0,0 +1,19 @@ +<!doctype html> +<script src="/resources/testharness.js"></script> +<script src="/resources/testharnessreport.js"></script> +<script> +test(() => { + let navigateEvent; + let navigateError_called = false; + navigation.onnavigate = e => navigateEvent = e; + navigation.onnavigateerror = () => navigateError_called = true; + + navigation.navigate("#1"); + assert_false(navigateEvent.defaultPrevented); + assert_false(navigateError_called); + + navigation.navigate("#2"); + assert_false(navigateEvent.defaultPrevented); + assert_true(navigateError_called); +}, "navigateEvent.defaultPrevented isn't affected when the navigation is preempted after dispatch"); +</script> diff --git a/tests/wpt/web-platform-tests/navigation-api/navigate-event/defaultPrevented-window-stop-after-dispatch.html b/tests/wpt/web-platform-tests/navigation-api/navigate-event/defaultPrevented-window-stop-after-dispatch.html new file mode 100644 index 00000000000..da5de10ddd8 --- /dev/null +++ b/tests/wpt/web-platform-tests/navigation-api/navigate-event/defaultPrevented-window-stop-after-dispatch.html @@ -0,0 +1,16 @@ +<!doctype html> +<script src="/resources/testharness.js"></script> +<script src="/resources/testharnessreport.js"></script> +<script> +async_test(t => { + window.onload = t.step_func_done(() => { + let navigateEvent; + navigation.onnavigate = e => navigateEvent = e; + navigation.navigate("?1"); + assert_false(navigateEvent.defaultPrevented); + + window.stop(); + assert_false(navigateEvent.defaultPrevented); + }); +}, "window.stop() doesn't affect navigateEvent.defaultPrevented after dispatch"); +</script> diff --git a/tests/wpt/web-platform-tests/navigation-api/navigate-event/replaceState-in-unload-then-remove-iframe.html b/tests/wpt/web-platform-tests/navigation-api/navigate-event/replaceState-in-unload-then-remove-iframe.html new file mode 100644 index 00000000000..e97b72b1571 --- /dev/null +++ b/tests/wpt/web-platform-tests/navigation-api/navigate-event/replaceState-in-unload-then-remove-iframe.html @@ -0,0 +1,16 @@ +<!doctype html> +<script src="/resources/testharness.js"></script> +<script src="/resources/testharnessreport.js"></script> +<iframe id="i" src="/common/blank.html"></iframe> +<script> +async_test(t => { + window.onload = t.step_func(() => { + i.contentWindow.onunload = t.step_func(() => { + i.contentWindow.history.replaceState(null, "", "#"); + i.remove(); + t.step_timeout(t.step_func_done(), 0); + }); + i.contentWindow.location = "/common/blank.html?1"; + }); +}, "reacting to the navigate event doesn't crash when replaceState is called in onunload"); +</script> diff --git a/tests/wpt/web-platform-tests/navigation-api/navigate-event/replaceState-inside-back-handler.html b/tests/wpt/web-platform-tests/navigation-api/navigate-event/replaceState-inside-back-handler.html new file mode 100644 index 00000000000..29409b5e2bc --- /dev/null +++ b/tests/wpt/web-platform-tests/navigation-api/navigate-event/replaceState-inside-back-handler.html @@ -0,0 +1,15 @@ +<!doctype html> +<script src="/resources/testharness.js"></script> +<script src="/resources/testharnessreport.js"></script> +<script src="../navigation-methods/return-value/resources/helpers.js"></script> +<script> +promise_test(async t => { + // Wait for after the load event so that the navigation doesn't get converted + // into a replace navigation. + await new Promise(resolve => window.onload = () => t.step_timeout(resolve, 0)); + + await navigation.navigate("#push").finished; + navigation.onnavigate = () => history.replaceState(null, "", "#"); + await assertBothRejectDOM(t, navigation.back(), "AbortError"); +}, "replaceState inside a navigate event for navigation.back()"); +</script> diff --git a/tests/wpt/web-platform-tests/navigation-api/navigation-methods/return-value/resources/helpers.js b/tests/wpt/web-platform-tests/navigation-api/navigation-methods/return-value/resources/helpers.js index 67cd1ccb62e..63d706ed285 100644 --- a/tests/wpt/web-platform-tests/navigation-api/navigation-methods/return-value/resources/helpers.js +++ b/tests/wpt/web-platform-tests/navigation-api/navigation-methods/return-value/resources/helpers.js @@ -19,6 +19,23 @@ window.assertNeverSettles = (t, result, w = window) => { ); }; +window.assertBothFulfillEntryNotAvailable = async (t, result, w = window) => { + assertReturnValue(result, w); + + // Don't use await here so that we can catch out-of-order settlements. + let committedValue; + result.committed.then( + t.step_func(v => { committedValue = v;}), + t.unreached_func("committed must not reject") + ); + + const finishedValue = await result.finished; + + assert_not_equals(committedValue, undefined, "committed must fulfill before finished"); + assert_equals(finishedValue, committedValue, "committed and finished must fulfill with the same value"); + assert_true(finishedValue instanceof w.NavigationHistoryEntry, "fulfillment value must be a NavigationHistoryEntry"); +}; + window.assertBothFulfill = async (t, result, expected, w = window) => { assertReturnValue(result, w); @@ -57,7 +74,6 @@ window.assertCommittedFulfillsFinishedRejectsExactly = async (t, result, expecte window.assertCommittedFulfillsFinishedRejectsDOM = async (t, result, expectedEntry, expectedDOMExceptionCode, w = window, domExceptionConstructor = w.DOMException, navigationHistoryEntryConstuctor = w.NavigationHistoryEntry) => { assertReturnValue(result, w); - // Don't use await here so that we can catch out-of-order settlements. let committedValue; result.committed.then( t.step_func(v => { committedValue = v; }), @@ -71,6 +87,25 @@ window.assertCommittedFulfillsFinishedRejectsDOM = async (t, result, expectedEnt assert_equals(committedValue, expectedEntry); }; +window.assertBothRejectExactly = async (t, result, expectedRejection, w = window) => { + assertReturnValue(result, w); + + let committedReason, finishedReason; + await Promise.all([ + result.committed.then( + t.unreached_func("committed must not fulfill"), + t.step_func(r => { committedReason = r; }) + ), + result.finished.then( + t.unreached_func("finished must not fulfill"), + t.step_func(r => { finishedReason = r; }) + ) + ]); + + assert_equals(committedReason, finishedReason, "committed and finished must reject with the same value"); + assert_equals(expectedRejection, committedReason); +}; + window.assertBothRejectDOM = async (t, result, expectedDOMExceptionCode, w = window, domExceptionConstructor = w.DOMException) => { assertReturnValue(result, w); diff --git a/tests/wpt/web-platform-tests/navigation-api/ordering-and-transition/navigate-commit-after-transition-intercept.html b/tests/wpt/web-platform-tests/navigation-api/ordering-and-transition/navigate-commit-after-transition-intercept.html new file mode 100644 index 00000000000..70a840e6923 --- /dev/null +++ b/tests/wpt/web-platform-tests/navigation-api/ordering-and-transition/navigate-commit-after-transition-intercept.html @@ -0,0 +1,60 @@ +<!doctype html> +<script src="/resources/testharness.js"></script> +<script src="/resources/testharnessreport.js"></script> +<meta name="variant" content=""> +<meta name="variant" content="?currententrychange"> + +<script type="module"> +import { Recorder, hasVariant } from "./resources/helpers.mjs"; + +promise_test(async t => { + // Wait for after the load event so that the navigation doesn't get converted + // into a replace navigation. + await new Promise(resolve => window.onload = () => t.step_timeout(resolve, 0)); + + const from = navigation.currentEntry; + + const recorder = new Recorder({ + skipCurrentChange: !hasVariant("currententrychange"), + finalExpectedEvent: "transition.finished fulfilled" + }); + + recorder.setUpNavigationAPIListeners(); + + navigation.addEventListener("navigate", e => { + e.intercept({ commit: "after-transition", + async handler() { + recorder.record("handler start"); + await new Promise(r => t.step_timeout(r, 0)); + recorder.record("handler async step 1a"); + e.commit(); + recorder.record("handler async step 1b"); + await new Promise(r => t.step_timeout(r, 0)); + recorder.record("handler async step 2"); + } + }); + }); + + const result = navigation.navigate("#1"); + recorder.setUpResultListeners(result); + + Promise.resolve().then(() => recorder.record("promise microtask")); + + await recorder.readyToAssert; + + recorder.assert([ + /* event name, location.hash value, navigation.transition properties */ + ["navigate", "", null], + ["handler start", "", { from, navigationType: "push" }], + ["promise microtask", "", { from, navigationType: "push" }], + ["handler async step 1a", "", { from, navigationType: "push" }], + ["currententrychange", "#1", { from, navigationType: "push" }], + ["handler async step 1b", "#1", { from, navigationType: "push" }], + ["committed fulfilled", "#1", { from, navigationType: "push" }], + ["handler async step 2", "#1", { from, navigationType: "push" }], + ["navigatesuccess", "#1", { from, navigationType: "push" }], + ["finished fulfilled", "#1", null], + ["transition.finished fulfilled", "#1", null], + ]); +}, "event and promise ordering for same-document navigation.navigate() intercepted by intercept() with { commit: 'after-transition' }"); +</script> diff --git a/tests/wpt/web-platform-tests/navigation-api/scroll-behavior/manual-scroll-before-after-transition-commit.html b/tests/wpt/web-platform-tests/navigation-api/scroll-behavior/manual-scroll-before-after-transition-commit.html new file mode 100644 index 00000000000..3b32e72bb11 --- /dev/null +++ b/tests/wpt/web-platform-tests/navigation-api/scroll-behavior/manual-scroll-before-after-transition-commit.html @@ -0,0 +1,32 @@ +<!doctype html> +<script src="/resources/testharness.js"></script> +<script src="/resources/testharnessreport.js"></script> +<body> +<div style="height: 1000px; width: 1000px;"></div> +<div id="frag"></div> +<script> +promise_test(async t => { + // Wait for after the load event so that the navigation doesn't get converted + // into a replace navigation. + await new Promise(resolve => window.onload = () => t.step_timeout(resolve, 0)); + assert_equals(window.scrollY, 0); + await navigation.navigate("#frag").finished; + assert_not_equals(window.scrollY, 0); + navigation.onnavigate = e => { + e.intercept({ + scroll: "manual", + commit: "after-transition", + handler: t.step_func(() => { + assert_throws_dom("InvalidStateError", () => e.scroll()); + assert_not_equals(window.scrollY, 0); + e.commit(); + e.scroll(); + assert_equals(window.scrollY, 0); + }) + }); + } + await navigation.back().finished; + assert_equals(window.scrollY, 0); +}, "scroll: scroll() before commit()"); +</script> +</body> diff --git a/tests/wpt/web-platform-tests/resources/chromium/webxr-test.js b/tests/wpt/web-platform-tests/resources/chromium/webxr-test.js index 679343764a0..ab2c6faa0ee 100644 --- a/tests/wpt/web-platform-tests/resources/chromium/webxr-test.js +++ b/tests/wpt/web-platform-tests/resources/chromium/webxr-test.js @@ -1966,6 +1966,7 @@ class MockXRInputSource { timestamp: 0n, axes: [], buttons: [], + touchEvents: [], mapping: GamepadMapping.GamepadMappingStandard, displayId: 0, }; diff --git a/tests/wpt/web-platform-tests/resources/declarative-shadow-dom-polyfill.js b/tests/wpt/web-platform-tests/resources/declarative-shadow-dom-polyfill.js index 8ab08b0294c..99a3e911eb6 100644 --- a/tests/wpt/web-platform-tests/resources/declarative-shadow-dom-polyfill.js +++ b/tests/wpt/web-platform-tests/resources/declarative-shadow-dom-polyfill.js @@ -16,7 +16,8 @@ function polyfill_declarative_shadow_dom(root) { return; root.querySelectorAll("template[shadowrootmode]").forEach(template => { const mode = template.getAttribute("shadowrootmode"); - const shadowRoot = template.parentNode.attachShadow({ mode }); + const delegatesFocus = template.hasAttribute("shadowrootdelegatesfocus"); + const shadowRoot = template.parentNode.attachShadow({ mode, delegatesFocus }); shadowRoot.appendChild(template.content); template.remove(); polyfill_declarative_shadow_dom(shadowRoot); diff --git a/tests/wpt/web-platform-tests/scroll-animations/css/animation-range-ignored.html b/tests/wpt/web-platform-tests/scroll-animations/css/animation-range-ignored.html new file mode 100644 index 00000000000..f08659635ea --- /dev/null +++ b/tests/wpt/web-platform-tests/scroll-animations/css/animation-range-ignored.html @@ -0,0 +1,229 @@ +<!DOCTYPE html> +<html> +<head> +<meta charset="utf-8"> +<link rel="help" src="https://www.w3.org/TR/scroll-animations-1/#named-range-animation-declaration"> +<script src="/resources/testharness.js"></script> +<script src="/resources/testharnessreport.js"></script> +<script src="/web-animations/testcommon.js"></script> +<script src="/web-animations/resources/keyframe-utils.js"></script> +<script src="support/testcommon.js"></script> +<script src="/scroll-animations/scroll-timelines/testcommon.js"></script> +<title>Programmatic API overrides animation-range-*</title> +</head> +<style type="text/css"> + #scroller { + border: 10px solid lightgray; + overflow-y: scroll; + overflow-x: hidden; + width: 300px; + height: 200px; + } + @keyframes anim { + from { margin-left: 0px; } + to { margin-left: 100px; } + } + #target { + margin: 800px 0px; + width: 100px; + height: 100px; + z-index: -1; + background-color: green; + } + .animate { + animation: anim auto linear; + view-timeline: timeline; + animation-timeline: timeline; + animation-range-start: entry 0%; + animation-range-end: entry 100%; + } +</style> +<body> + <div id=scroller> + <div id=target></div> + </div> +</body> +<script type="text/javascript"> + async function runTest() { + function startAnimation(t) { + target.classList.add('animate'); + t.add_cleanup(async () => { + target.classList.remove('animate'); + await waitForNextFrame(); + }); + return target.getAnimations()[0]; + } + + promise_test(async t => { + // Points of interest: + // entry 0% @ 600 + // entry 100% / contain 0% @ 700 + // exit 0% / contain 100% @ 800 + // exit 100% @ 900 + const anim = startAnimation(t); + await anim.ready; + + await waitForNextFrame(); + scroller.scrollTop = 650; + await waitForNextFrame(); + + // Timline time = (scroll pos - cover 0%) / (cover 100% - cover 0%) * 100% + // = (650 - 600)/(900 - 600) * 100% = 100/6% + assert_percents_equal(anim.timeline.currentTime, 100/6, + 'timeline\'s current time before style change'); + assert_percents_equal(anim.startTime, 0, + 'animation\'s start time before style change'); + // Range start of entry 0% aligns with timeline start. Thus, animation's + // and timeline's current time are equal. + assert_percents_equal(anim.currentTime, 100/6, + 'animation\'s current time before style change'); + // Iteration duration = + // (range end - range start) / (cover 100% - cover 0%) * 100% + // = (700 - 600) / (900 - 600) = 33.3333% + assert_percents_equal(anim.effect.getComputedTiming().duration, + 100/3, + 'iteration duration before first style change'); + assert_equals(getComputedStyle(target).marginLeft, '50px', + 'margin-left before style change'); + + // Step 1: Set the range end programmatically and range start via CSS. + // The start time will be respected since not previously set via the + // animation API. + anim.rangeEnd = 'contain 100%'; + target.style.animationRangeStart = 'entry 50%'; + await waitForNextFrame(); + + // Animation range does not affect timeline's currentTime. + assert_percents_equal( + anim.timeline.currentTime, 100/6, + 'timeline\'s current time after first set of range updates'); + assert_percents_equal( + anim.startTime, 100/6, + 'animation\'s start time after first set of range updates'); + // Scroll position aligns with range start. + assert_percents_equal( + anim.currentTime, 0, + 'animation\'s current time after first set of range updates'); + // Iteration duration = + // (range end - range start) / (cover 100% - cover 0%) * 100% + // = (800 - 650) / (900 - 600) = 50% + assert_percents_equal( + anim.effect.getComputedTiming().duration, 50, + 'iteration duration after first style change'); + assert_equals(getComputedStyle(target).marginLeft, '0px', + 'margin-left after first set of range updates'); + + // Step 2: Programmatically set the range start. + // Scroll position is current at entry 50%, thus the animation's current + // time is negative. + anim.rangeStart = 'contain 0%'; + // animation current time = + // (scroll pos - range start) / (cover 100% - cover 0%) * 100% + // = (650 - 700) / (900 - 600) * 100% = -100/6% + assert_percents_equal( + anim.currentTime, -100/6, + 'animation\'s current time after second set of range updates'); + // Iteration duration = + // (range end - range start) / (cover 100% - cover 0%) * 100% + // = (800 - 700) / (900 - 600) = 33.3333% + assert_percents_equal( + anim.effect.getComputedTiming().duration, 100/3, + 'iteration duration after second style change'); + assert_equals(getComputedStyle(target).marginLeft, '0px', + 'margin-left after second set of range updates'); + + // Jump to contain / cover 50% + scroller.scrollTop = 750; + await waitForNextFrame(); + + // animation current time = + // (scroll pos - range start) / (cover 100% - cover 0%) * 100% + // = (750 - 700) / (900 - 600) * 100% = 100/6% + assert_percents_equal( + anim.currentTime, 100/6, + 'animation\'s current time after bumping scroll position'); + assert_equals(getComputedStyle(target).marginLeft, '50px'); + + // Step 3: Try to update the range start via CSS. This change must be + // ignored since previously set programmatically. + target.style.animationRangeStart = "entry 50%"; + await waitForNextFrame(); + assert_percents_equal( + anim.currentTime, 100/6, + 'Current time unchanged after change to ignored CSS property'); + assert_equals( + getComputedStyle(target).marginLeft, '50px', + 'Margin-left unaffected by change to ignored CSS property'); + + }, 'Animation API call rangeStart overrides animation-range-start'); + + promise_test(async t => { + const anim = startAnimation(t); + await anim.ready; + + await waitForNextFrame(); + scroller.scrollTop = 650; + await waitForNextFrame(); + + // Step 1: Set the range start programmatically and range end via CSS. + // The start time will be respected since not previously set via the + // animation API. + anim.rangeStart = "entry 50%"; + target.style.animationRangeEnd = "contain 100%"; + await waitForNextFrame(); + + assert_percents_equal( + anim.timeline.currentTime, 100/6, + 'timeline\'s current time after first set of range updates'); + assert_percents_equal( + anim.startTime, 100/6, + 'animation\'s start time after first set of range updates'); + assert_percents_equal( + anim.currentTime, 0, + 'animation\'s current time after first set of range updates'); + assert_percents_equal( + anim.effect.getComputedTiming().duration, 50, + 'iteration duration after first style change'); + assert_equals(getComputedStyle(target).marginLeft, "0px", + 'margin-left after first set of range updates'); + + // Step 2: Programmatically set the range. + // Scroll position is current at entry 50%, thus the animation's current + // time is negative. + anim.rangeStart = "contain 0%"; + anim.rangeEnd = "contain 100%"; + + assert_percents_equal( + anim.currentTime, -100/6, + 'animation\'s current time after second set of range updates'); + assert_percents_equal( + anim.effect.getComputedTiming().duration, 100/3, + 'iteration duration after second style change'); + assert_equals(getComputedStyle(target).marginLeft, "0px", + 'margin-left after second set of range updates'); + + // Jump to contain / cover 50% + scroller.scrollTop = 750; + await waitForNextFrame(); + + assert_percents_equal( + anim.currentTime, 100/6, + 'animation\'s current time after bumping scroll position'); + assert_equals(getComputedStyle(target).marginLeft, "50px"); + + // Step 3: Try to update the range end via CSS. This change must be + // ignored since previously set programmatically. + target.style.animationRangeEnd = "cover 100%"; + await waitForNextFrame(); + assert_percents_equal( + anim.currentTime, 100/6, + 'Current time unchanged after change to ignored CSS property'); + assert_equals( + getComputedStyle(target).marginLeft, '50px', + 'Margin-left unaffected by change to ignored CSS property'); + + }, 'Animation API call rangeEnd overrides animation-range-end'); + } + + window.onload = runTest; +</script> diff --git a/tests/wpt/web-platform-tests/scroll-animations/css/animation-range-normal-matches-cover.html b/tests/wpt/web-platform-tests/scroll-animations/css/animation-range-normal-matches-cover.html new file mode 100644 index 00000000000..44b08cab969 --- /dev/null +++ b/tests/wpt/web-platform-tests/scroll-animations/css/animation-range-normal-matches-cover.html @@ -0,0 +1,92 @@ +<!DOCTYPE html> +<html> +<head> +<meta charset="utf-8"> +<link rel="help" src="https://drafts.csswg.org/scroll-animations-1/#named-timeline-range"> +<script src="/resources/testharness.js"></script> +<script src="/resources/testharnessreport.js"></script> +<script src="/web-animations/testcommon.js"></script> +<script src="support/testcommon.js"></script> +<script src="/scroll-animations/scroll-timelines/testcommon.js"></script> +<title>Animation range 'normal' is equivalent to animation range 'cover'</title> +</head> +<style type="text/css"> + @keyframes anim-1 { + from { background-color: blue; } + to { background-color: white; } + } + @keyframes anim-2 { + from { opacity: 0.3; } + to { opacity: 1; } + } + #scroller { + border: 10px solid lightgray; + overflow-y: scroll; + overflow-x: hidden; + width: 300px; + height: 200px; + } + #target { + margin-top: 800px; + margin-bottom: 800px; + margin-left: 10px; + margin-right: 10px; + width: 100px; + height: 100px; + z-index: -1; + background-color: green; + animation: anim-1 auto linear, anim-2 auto linear; + animation-range: normal, cover; + view-timeline: t1; + animation-timeline: t1, t1; + } +</style> +<body> + <div id="scroller"> + <div id="target"></div> + </div> +</body> +<script type="text/javascript"> + async function runTest() { + function assert_range_equals(actual, expected) { + if (typeof expected == 'string') { + assert_equals(actual, expected); + } else { + assert_equals(actual.rangeName, expected.rangeName); + assert_equals(actual.offset.value, expected.offset.value); + } + } + + promise_test(async t => { + anims = target.getAnimations(); + assert_equals(anims.length, 2, "Expecting 2 animations"); + await anims[0].ready; + await anims[1].ready; + + assert_range_equals(anims[0].rangeStart, "normal"); + assert_range_equals(anims[0].rangeEnd, "normal"); + assert_range_equals(anims[1].rangeStart, + { rangeName: 'cover', offset: CSS.percent(0) }); + assert_range_equals(anims[1].rangeEnd, + { rangeName: 'cover', offset: CSS.percent(100) }); + + scroller.scrollTop = 600; // Start boundary for cover range. + await waitForNextFrame(); + + assert_percents_equal(anims[0].currentTime, 0, + 'currentTime at start of normal range'); + assert_percents_equal(anims[1].currentTime, 0, + 'currentTime at cover 0%'); + + scroller.scrollTop = 900; // End boundary for cover range. + await waitForNextFrame(); + + assert_percents_equal(anims[0].currentTime, 100, + 'currentTime at end of normal range'); + assert_percents_equal(anims[1].currentTime, 100, + 'currentTime at cover 100%'); + }, 'Changing the animation range updates the play state'); + } + + window.onload = runTest; +</script> diff --git a/tests/wpt/web-platform-tests/scroll-animations/css/animation-shorthand.html b/tests/wpt/web-platform-tests/scroll-animations/css/animation-shorthand.html index 87e66d0f532..7bd17b99190 100644 --- a/tests/wpt/web-platform-tests/scroll-animations/css/animation-shorthand.html +++ b/tests/wpt/web-platform-tests/scroll-animations/css/animation-shorthand.html @@ -38,7 +38,9 @@ test_shorthand_value('animation', 'animation-fill-mode': 'forwards, forwards, forwards', 'animation-play-state': 'paused, paused, paused', 'animation-name': 'anim1, anim2, anim3', - 'animation-timeline': 'auto, auto, auto' + 'animation-timeline': 'auto, auto, auto', + 'animation-range-start': 'normal, normal, normal', + 'animation-range-end': 'normal, normal, normal', }); test((t) => { @@ -89,4 +91,52 @@ test((t) => { assert_equals(getComputedStyle(target).animationDuration, '1s'); }, 'Animation shorthand can not represent non-initial animation-delay-end (computed)'); +test((t) => { + t.add_cleanup(() => { + target.style = ''; + }); + + target.style.animation = 'anim 1s'; + target.style.animationRangeStart = 'entry'; + assert_equals(target.style.animation, ''); + assert_equals(target.style.animationName, 'anim'); + assert_equals(target.style.animationDuration, '1s'); +}, 'Animation shorthand can not represent non-initial animation-range-start (specified)'); + +test((t) => { + t.add_cleanup(() => { + target.style = ''; + }); + + target.style.animation = 'anim 1s'; + target.style.animationRangeStart = 'entry'; + assert_equals(getComputedStyle(target).animation, ''); + assert_equals(getComputedStyle(target).animationName, 'anim'); + assert_equals(getComputedStyle(target).animationDuration, '1s'); +}, 'Animation shorthand can not represent non-initial animation-range-start (computed)'); + +test((t) => { + t.add_cleanup(() => { + target.style = ''; + }); + + target.style.animation = 'anim 1s'; + target.style.animationRangeEnd = 'entry'; + assert_equals(target.style.animation, ''); + assert_equals(target.style.animationName, 'anim'); + assert_equals(target.style.animationDuration, '1s'); +}, 'Animation shorthand can not represent non-initial animation-range-end (specified)'); + +test((t) => { + t.add_cleanup(() => { + target.style = ''; + }); + + target.style.animation = 'anim 1s'; + target.style.animationRangeEnd = 'entry'; + assert_equals(getComputedStyle(target).animation, ''); + assert_equals(getComputedStyle(target).animationName, 'anim'); + assert_equals(getComputedStyle(target).animationDuration, '1s'); +}, 'Animation shorthand can not represent non-initial animation-range-end (computed)'); + </script> diff --git a/tests/wpt/web-platform-tests/scroll-animations/css/animation-timeline-computed.html b/tests/wpt/web-platform-tests/scroll-animations/css/animation-timeline-computed.html index aaff44ecc91..289ccf3c472 100644 --- a/tests/wpt/web-platform-tests/scroll-animations/css/animation-timeline-computed.html +++ b/tests/wpt/web-platform-tests/scroll-animations/css/animation-timeline-computed.html @@ -48,6 +48,8 @@ test_computed_value('animation-timeline', 'scroll(horizontal)'); test_computed_value('animation-timeline', 'scroll(vertical)'); test_computed_value('animation-timeline', 'scroll(root)'); test_computed_value('animation-timeline', 'scroll(nearest)', 'scroll()'); +test_computed_value('animation-timeline', 'scroll(self)'); +test_computed_value('animation-timeline', 'scroll(self), scroll(nearest)', 'scroll(self), scroll()'); test_computed_value('animation-timeline', 'scroll(inline nearest)', 'scroll(inline)'); test_computed_value('animation-timeline', 'scroll(vertical root)'); diff --git a/tests/wpt/web-platform-tests/scroll-animations/css/animation-timeline-parsing.html b/tests/wpt/web-platform-tests/scroll-animations/css/animation-timeline-parsing.html index a1e9963f1fa..5513efb60ff 100644 --- a/tests/wpt/web-platform-tests/scroll-animations/css/animation-timeline-parsing.html +++ b/tests/wpt/web-platform-tests/scroll-animations/css/animation-timeline-parsing.html @@ -41,6 +41,7 @@ test_valid_value('animation-timeline', 'scroll(horizontal)'); test_valid_value('animation-timeline', 'scroll(vertical)'); test_valid_value('animation-timeline', 'scroll(root)'); test_valid_value('animation-timeline', 'scroll(nearest)', 'scroll()'); +test_valid_value('animation-timeline', 'scroll(self)'); test_valid_value('animation-timeline', 'scroll(inline nearest)', 'scroll(inline)'); test_valid_value('animation-timeline', 'scroll(vertical root)'); diff --git a/tests/wpt/web-platform-tests/scroll-animations/css/animation-timeline-scroll-functional-notation.tentative.html b/tests/wpt/web-platform-tests/scroll-animations/css/animation-timeline-scroll-functional-notation.tentative.html index e28e85245e1..09917b4ba56 100644 --- a/tests/wpt/web-platform-tests/scroll-animations/css/animation-timeline-scroll-functional-notation.tentative.html +++ b/tests/wpt/web-platform-tests/scroll-animations/css/animation-timeline-scroll-functional-notation.tentative.html @@ -112,6 +112,24 @@ promise_test(async t => { await scrollTop(root, 0); }, 'animation-timeline: scroll(root)'); +promise_test(async t => { + let [container, div] = createTargetWithStuff(t, 'block-content'); + container.style.animation = "anim 10s linear"; + container.style.animationTimeline = "scroll(self)"; + + await scrollTop(container, 50); + assert_equals(getComputedStyle(container).translate, '100px'); +}, 'animation-timeline: scroll(self)'); + +promise_test(async t => { + let [container, div] = createTargetWithStuff(t, 'block-content'); + div.style.animation = "anim 10s linear"; + div.style.animationTimeline = "scroll(self)"; + + await scrollTop(container, 50); + assert_equals(getComputedStyle(div).translate, 'none'); +}, 'animation-timeline: scroll(self), on non-scroller'); + promise_test(async t => { let [container, div] = createTargetWithStuff(t, 'inline-content'); div.style.animation = "anim 10s linear"; diff --git a/tests/wpt/web-platform-tests/scroll-animations/css/merge-timeline-offset-keyframes.html b/tests/wpt/web-platform-tests/scroll-animations/css/merge-timeline-offset-keyframes.html new file mode 100644 index 00000000000..3a766de0c85 --- /dev/null +++ b/tests/wpt/web-platform-tests/scroll-animations/css/merge-timeline-offset-keyframes.html @@ -0,0 +1,132 @@ +<!DOCTYPE html> +<html> +<head> +<meta charset="utf-8"> +<title>Merge timeline offset keyframes</title> +<script src="/resources/testharness.js"></script> +<script src="/resources/testharnessreport.js"></script> +<script src="/web-animations/testcommon.js"></script> +<script src="support/testcommon.js"></script> +<script src="/web-animations/resources/keyframe-utils.js"></script> +</head> +<style> + @keyframes anim-1 { + entry 0% { opacity: 0 } + entry 100% { opacity: 1 } + contain 0% { opacity: 0.8 } + entry 100% { opacity: 0.5 } + } + @keyframes anim-2 { + entry 0% { opacity: 0 } + entry 100% { opacity: 1 } + contain 0% { opacity: 0.8 } + entry 100% { opacity: 0.5; animation-timing-function: ease } + } + + #scroller { + border: 10px solid lightgray; + overflow-y: scroll; + overflow-x: hidden; + width: 300px; + height: 200px; + } + #target { + margin-bottom: 800px; + margin-top: 800px; + margin-left: 10px; + margin-right: 10px; + width: 100px; + height: 100px; + z-index: -1; + background-color: green; + animation-duration: auto; + animation-fill-mode: both; + animation-timing-function: linear; + view-timeline: target; + animation-timeline: target; + } + #target.anim-1 { + animation-name: anim-1; + } + #target.anim-2 { + animation-name: anim-2; + } +</style> +<body> + <div id="scroller"> + <div id="target"></div> + </div> +</body> +<script> + async function runTests() { + promise_test(async t => { + target.classList.add('anim-1'); + const anim = target.getAnimations()[0]; + t.add_cleanup(() => { + target.classList.remove('anim-1'); + }); + const keyframes = anim.effect.getKeyframes(); + const expected = [ + { + offset: 1, easing: "linear", composite: "replace", opacity: "1", + computedOffset: 1 + }, + { + offset: { rangeName: "entry", offset: CSS.percent(0) }, + easing: "linear", composite: "auto", opacity: "0", + computedOffset: 0 + }, + { + offset: { rangeName: "contain", offset: CSS.percent(0) }, + easing: "linear", composite: "auto", opacity: "0.8", + computedOffset: 1/3 + }, + { + offset: { rangeName: "entry", offset: CSS.percent(100) }, + easing: "linear", composite: "auto", opacity: "0.5", + computedOffset : 1/3 + }]; + assert_frame_lists_equal(keyframes, expected); + }, 'Keyframes with same easing and timeline offset are merged.'); + + promise_test(async t => { + target.classList.add('anim-2'); + const anim = target.getAnimations()[0]; + t.add_cleanup(() => { + target.classList.remove('anim-2'); + }); + + const keyframes = anim.effect.getKeyframes(); + const expected = [ + { + offset: 1, easing: "linear", composite: "replace", opacity: "1", + computedOffset: 1 + }, + { + offset: { rangeName: "entry", offset: CSS.percent(0) }, + easing: "linear", composite: "auto", opacity: "0", + computedOffset: 0 + }, + { + offset: { rangeName: "entry", offset: CSS.percent(100) }, + easing: "linear", composite: "auto", opacity: "1", + computedOffset: 1/3 + }, + { + offset: { rangeName: "contain", offset: CSS.percent(0) }, + easing: "linear", composite: "auto", opacity: "0.8", + computedOffset: 1/3 + }, + { + offset: { rangeName: "entry", offset: CSS.percent(100) }, + easing: "ease", composite: "auto", opacity: "0.5", + computedOffset : 1/3 + }]; + assert_frame_lists_equal(keyframes, expected); + }, 'Keyframes with same timeline offset but different easing function ' + + 'are not merged.'); + } + + window.onload = runTests(); +</script> +</html> diff --git a/tests/wpt/web-platform-tests/scroll-animations/css/timeline-offset-in-keyframe-change-timeline.tentative.html b/tests/wpt/web-platform-tests/scroll-animations/css/timeline-offset-in-keyframe-change-timeline.tentative.html index 6456e8aa779..5ac54081845 100644 --- a/tests/wpt/web-platform-tests/scroll-animations/css/timeline-offset-in-keyframe-change-timeline.tentative.html +++ b/tests/wpt/web-platform-tests/scroll-animations/css/timeline-offset-in-keyframe-change-timeline.tentative.html @@ -76,7 +76,14 @@ // Initially using a document timeline, so the keyframes should be // ignored. let frames = anim.effect.getKeyframes(); - let expected = []; + let expected = [ + { offset: { rangeName: 'cover', offset: CSS.percent(0) }, + computedOffset: null, easing: "linear", composite: "auto", + marginLeft: "0px", opacity: "0" }, + { offset: { rangeName: 'cover', offset: CSS.percent(100) }, + computedOffset: null, easing: "linear", composite: "auto", + marginRight: "0px", opacity: "1" } + ]; assert_frame_lists_equal(frames, expected); // Once a view-timeline is added, the kefyrames must update to reflect @@ -88,13 +95,15 @@ frames = anim.effect.getKeyframes(); expected = [ - { offset: -1, computedOffset: -1, easing: "linear", composite: "auto", - marginLeft: "0px", opacity: "0" }, { offset: 0, computedOffset: 0, easing: "linear", composite: "replace", marginRight: "10px" }, { offset: 1, computedOffset: 1, easing: "linear", composite: "replace", marginLeft: "10px" }, - { offset: 2, computedOffset: 2, easing: "linear", composite: "auto", + { offset: { rangeName: 'cover', offset: CSS.percent(0) }, + computedOffset: -1, easing: "linear", composite: "auto", + marginLeft: "0px", opacity: "0" }, + { offset: { rangeName: 'cover', offset: CSS.percent(100) }, + computedOffset: 2, easing: "linear", composite: "auto", marginRight: "0px", opacity: "1" }, ]; assert_frame_lists_equal(frames, expected); @@ -105,13 +114,15 @@ await waitForNextFrame(); frames = anim.effect.getKeyframes(); expected = [ - { offset: -1/3, computedOffset: -1/3, easing: "linear", - composite: "auto", marginLeft: "0px", opacity: "0" }, { offset: 0, computedOffset: 0, easing: "linear", composite: "replace", marginRight: "10px" }, { offset: 1, computedOffset: 1, easing: "linear", composite: "replace", marginLeft: "10px" }, - { offset: 4/3, computedOffset: 4/3, easing: "linear", composite: "auto", + { offset: { rangeName: 'cover', offset: CSS.percent(0) }, + computedOffset: -1/3, easing: "linear", + composite: "auto", marginLeft: "0px", opacity: "0" }, + { offset: { rangeName: 'cover', offset: CSS.percent(100) }, + computedOffset: 4/3, easing: "linear", composite: "auto", marginRight: "0px", opacity: "1" }, ]; assert_frame_lists_equal(frames, expected); @@ -120,9 +131,15 @@ assert_equals(getComputedStyle(target).animationTimeline, 'auto', 'Switch back to document timeline'); frames = anim.effect.getKeyframes(); - expected = []; + expected = [ + { offset: { rangeName: 'cover', offset: CSS.percent(0) }, + computedOffset: null, easing: "linear", composite: "auto", + marginLeft: "0px", opacity: "0" }, + { offset: { rangeName: 'cover', offset: CSS.percent(100) }, + computedOffset: null, easing: "linear", composite: "auto", + marginRight: "0px", opacity: "1" } + ]; assert_frame_lists_equal(frames, expected); - }, 'getKeyframes with timeline-offsets'); } diff --git a/tests/wpt/web-platform-tests/scroll-animations/css/timeline-offset-keyframes-hidden-subject.html b/tests/wpt/web-platform-tests/scroll-animations/css/timeline-offset-keyframes-hidden-subject.html index d3b124ba18e..047acfed33f 100644 --- a/tests/wpt/web-platform-tests/scroll-animations/css/timeline-offset-keyframes-hidden-subject.html +++ b/tests/wpt/web-platform-tests/scroll-animations/css/timeline-offset-keyframes-hidden-subject.html @@ -68,15 +68,17 @@ let frames = anim.effect.getKeyframes(); let expected_resolved_offsets = [ - { offset: -1/3, computedOffset: -1/3, easing: "linear", - composite: "auto", marginLeft: "0px" }, { offset: 0, computedOffset: 0, easing: "linear", composite: "replace", marginRight: "10px", opacity: "1" }, { offset: 1/2, computedOffset: 1/2, easing: "linear", composite: "auto", opacity: "0.5" }, { offset: 1, computedOffset: 1, easing: "linear", composite: "replace", marginLeft: "10px", opacity: "1" }, - { offset: 4/3, computedOffset: 4/3, easing: "linear", composite: "auto", + { offset: { rangeName: 'cover', offset: CSS.percent(0) }, + computedOffset: -1/3, easing: "linear", + composite: "auto", marginLeft: "0px" }, + { offset: { rangeName: 'cover', offset: CSS.percent(100) }, + computedOffset: 4/3, easing: "linear", composite: "auto", marginRight: "0px" }, ]; assert_frame_lists_equal(frames, expected_resolved_offsets, @@ -92,7 +94,13 @@ { offset: 0.5, computedOffset: 0.5, opacity: "0.5", easing: "linear", composite: "auto", }, { offset: 1, computedOffset: 1, opacity: "1", easing: "linear", - composite: "replace" } + composite: "replace" }, + { offset: { rangeName: 'cover', offset: CSS.percent(0) }, + computedOffset: null, easing: "linear", + composite: "auto", marginLeft: "0px" }, + { offset: { rangeName: 'cover', offset: CSS.percent(100) }, + computedOffset: null, easing: "linear", composite: "auto", + marginRight: "0px" } ]; assert_frame_lists_equal(frames, expected_unresolved_offsets, 'Keyframes with invalid view timeline'); diff --git a/tests/wpt/web-platform-tests/scroll-animations/css/timeline-offset-keyframes-with-document-timeline.html b/tests/wpt/web-platform-tests/scroll-animations/css/timeline-offset-keyframes-with-document-timeline.html index 95a0ea4eae0..03ee381fd92 100644 --- a/tests/wpt/web-platform-tests/scroll-animations/css/timeline-offset-keyframes-with-document-timeline.html +++ b/tests/wpt/web-platform-tests/scroll-animations/css/timeline-offset-keyframes-with-document-timeline.html @@ -12,15 +12,15 @@ </head> <style type="text/css"> @keyframes anim { + cover 100% { + margin-right: 0px; + } cover 0% { margin-left: 0px; } 50% { opacity: 0.5; } - cover 100% { - margin-right: 0px; - } } #scroller { border: 10px solid lightgray; @@ -61,13 +61,19 @@ { offset: 0, computedOffset: 0, opacity: "1", easing: "linear", composite: "replace" }, { offset: 0.5, computedOffset: 0.5, opacity: "0.5", easing: "linear", - composite: "auto", }, + composite: "auto" }, { offset: 1, computedOffset: 1, opacity: "1", easing: "linear", - composite: "replace" } + composite: "replace" }, + { offset: { rangeName: "cover", offset: CSS.percent(100) }, + computedOffset: null, marginRight: "0px", composite: "auto", + easing: "linear" }, + { offset: { rangeName: "cover", offset: CSS.percent(0) }, + computedOffset: null, marginLeft: "0px", composite: "auto", + easing: "linear" } ]; assert_frame_lists_equal(frames, expected); - }, 'Keyframes with timeline-offsets ignored when using document ' + - 'timeline'); + }, 'Keyframes with timeline-offsets reported but not reachable when ' + + 'using a document timeline'); } window.onload = runTest; diff --git a/tests/wpt/web-platform-tests/scroll-animations/css/view-timeline-animation-range-update.tentative.html b/tests/wpt/web-platform-tests/scroll-animations/css/view-timeline-animation-range-update.tentative.html index 41386bd7c55..6c2a792aeec 100644 --- a/tests/wpt/web-platform-tests/scroll-animations/css/view-timeline-animation-range-update.tentative.html +++ b/tests/wpt/web-platform-tests/scroll-animations/css/view-timeline-animation-range-update.tentative.html @@ -19,7 +19,8 @@ width: 200px; height: 200px; } - #target { + /* Reset specificity to allow animation-range-* from .restrict-range to win. */ + :where(#target) { margin: 800px 0px; width: 100px; height: 100px; diff --git a/tests/wpt/web-platform-tests/scroll-animations/css/view-timeline-inset-computed.html b/tests/wpt/web-platform-tests/scroll-animations/css/view-timeline-inset-computed.html index 77683a46782..d9e1c9d790d 100644 --- a/tests/wpt/web-platform-tests/scroll-animations/css/view-timeline-inset-computed.html +++ b/tests/wpt/web-platform-tests/scroll-animations/css/view-timeline-inset-computed.html @@ -13,10 +13,10 @@ <div id=target></div> </div> <script> -test_computed_value('view-timeline-inset', 'initial', '0px'); +test_computed_value('view-timeline-inset', 'initial', 'auto'); test_computed_value('view-timeline-inset', 'inherit', '1px 2px, auto 3px'); -test_computed_value('view-timeline-inset', 'unset', '0px'); -test_computed_value('view-timeline-inset', 'revert', '0px'); +test_computed_value('view-timeline-inset', 'unset', 'auto'); +test_computed_value('view-timeline-inset', 'revert', 'auto'); test_computed_value('view-timeline-inset', '1px'); test_computed_value('view-timeline-inset', '1%'); test_computed_value('view-timeline-inset', 'calc(1% + 1px)'); diff --git a/tests/wpt/web-platform-tests/scroll-animations/view-timelines/change-animation-range-updates-play-state.html b/tests/wpt/web-platform-tests/scroll-animations/view-timelines/change-animation-range-updates-play-state.html new file mode 100644 index 00000000000..ecc80aea72a --- /dev/null +++ b/tests/wpt/web-platform-tests/scroll-animations/view-timelines/change-animation-range-updates-play-state.html @@ -0,0 +1,72 @@ +<!DOCTYPE html> +<html> +<head> +<meta charset="utf-8"> +<link rel="help" src="https://drafts.csswg.org/scroll-animations-1/#named-timeline-range"> +<script src="/resources/testharness.js"></script> +<script src="/resources/testharnessreport.js"></script> +<script src="/web-animations/testcommon.js"></script> +<script src="support/testcommon.js"></script> +<script src="/web-animations/resources/keyframe-utils.js"></script> +<script src="/scroll-animations/scroll-timelines/testcommon.js"></script> +<title>Animation range updates play state</title> +</head> +<style type="text/css"> + @keyframes anim { + from { background-color: blue; } + to { background-color: white; } + } + #scroller { + border: 10px solid lightgray; + overflow-y: scroll; + overflow-x: hidden; + width: 300px; + height: 200px; + } + #target { + margin-top: 800px; + margin-bottom: 800px; + margin-left: 10px; + margin-right: 10px; + width: 100px; + height: 100px; + z-index: -1; + background-color: green; + animation: anim auto both linear; + animation-timeline: t1; + view-timeline: t1; + } +</style> +<body> + <div id="scroller"> + <div id="target"></div> + </div> +</body> +<script type="text/javascript"> + async function runTest() { + promise_test(async t => { + anim = target.getAnimations()[0]; + await anim.ready; + + scroller.scrollTop = 750; + await waitForNextFrame(); + + // Animation is running in the active phase. + anim.rangeStart = 'contain 0%'; // 700px + anim.rangeEnd = 'contain 100%'; // 800px + assert_equals(anim.playState, 'running'); + + // Animation in the after phase and switches to the finished state. + anim.rangeStart = 'entry 0%'; // 600px + anim.rangeEnd = 'entry 100%'; // 700px + assert_equals(anim.playState, 'finished'); + + // Animation in the before phase and switches back to the running state. + anim.rangeStart = 'exit 0%'; // 800px + anim.rangeEnd = 'exit 100%'; // 900px + assert_equals(anim.playState, 'running'); + }, 'Changing the animation range updates the play state'); + } + + window.onload = runTest; +</script> diff --git a/tests/wpt/web-platform-tests/scroll-animations/view-timelines/get-keyframes-with-timeline-offset.html b/tests/wpt/web-platform-tests/scroll-animations/view-timelines/get-keyframes-with-timeline-offset.html new file mode 100644 index 00000000000..02f910d04e3 --- /dev/null +++ b/tests/wpt/web-platform-tests/scroll-animations/view-timelines/get-keyframes-with-timeline-offset.html @@ -0,0 +1,203 @@ +<!DOCTYPE html> +<html> +<head> +<meta charset="utf-8"> +<!-- TODO(kevers): Insert link once resolutions present in spec --> +<script src="/resources/testharness.js"></script> +<script src="/resources/testharnessreport.js"></script> +<script src="/web-animations/testcommon.js"></script> +<script src="/web-animations/resources/keyframe-utils.js"></script> +<script src="support/testcommon.js"></script> +<title>Reported keyframes containing timeline offset</title> +</head> +<style type="text/css"> + #scroller { + border: 10px solid lightgray; + overflow-y: scroll; + overflow-x: hidden; + width: 300px; + height: 200px; + } + #target { + margin: 800px 10px; + width: 100px; + height: 100px; + z-index: -1; + background-color: green; + } +</style> +<body> + <div id=scroller> + <div id=target></div> + </div> +</body> +<script type="text/javascript"> + async function runTest() { + function createAnimation(t, keyframes, use_view_timeline = true) { + const options = { + rangeStart: { rangeName: 'contain', offset: CSS.percent(0) }, + rangeEnd: { rangeName: 'contain', offset: CSS.percent(100) }, + duration: 'auto', + fill: 'both' + }; + if (use_view_timeline) { + options.timeline = new ViewTimeline( { subject: target }); + } + const anim = target.animate(keyframes, options); + t.add_cleanup(() => { + anim.cancel(); + }); + return anim; + } + + promise_test(async t => { + let anim = createAnimation(t, [ + { offset: "contain 25%", marginLeft: "0px", opacity: "0" }, + { offset: "contain 75%", marginRight: "0px", opacity: "1" } + ]); + let frames = anim.effect.getKeyframes(); + let expected = [ + { offset: { rangeName: 'contain', offset: CSS.percent(25) }, + computedOffset: 0.25, easing: "linear", composite: "auto", + marginLeft: "0px", opacity: "0" }, + { offset: { rangeName: 'contain', offset: CSS.percent(75) }, + computedOffset: 0.75, easing: "linear", composite: "auto", + marginRight: "0px", opacity: "1" } + ]; + assert_frame_lists_equal(frames, expected); + }, 'Report specified timeline offsets'); + + promise_test(async t => { + let anim = createAnimation(t, [ + { offset: "cover 0%", marginLeft: "0px", opacity: "0" }, + { offset: "cover 100%", marginRight: "0px", opacity: "1" } + ]); + let frames = anim.effect.getKeyframes(); + let expected = [ + { offset: { rangeName: 'cover', offset: CSS.percent(0) }, + computedOffset: -1, easing: "linear", composite: "auto", + marginLeft: "0px", opacity: "0" }, + { offset: { rangeName: 'cover', offset: CSS.percent(100) }, + computedOffset: 2, easing: "linear", composite: "auto", + marginRight: "0px", opacity: "1" } + ]; + assert_frame_lists_equal(frames, expected); + }, 'Computed offsets can be outside [0,1] for keyframes with timeline ' + + 'offsets'); + + promise_test(async t => { + let anim = createAnimation(t, [ + { offset: "contain 75%", marginLeft: "0px", opacity: "0" }, + { offset: "contain 25%", marginRight: "0px", opacity: "1" } + ]); + let frames = anim.effect.getKeyframes(); + let expected = [ + { offset: { rangeName: 'contain', offset: CSS.percent(75) }, + computedOffset: 0.75, easing: "linear", composite: "auto", + marginLeft: "0px", opacity: "0" }, + { offset: { rangeName: 'contain', offset: CSS.percent(25) }, + computedOffset: 0.25, easing: "linear", composite: "auto", + marginRight: "0px", opacity: "1" } + ]; + assert_frame_lists_equal(frames, expected); + }, 'Retain specified ordering of keyframes with timeline offsets'); + + promise_test(async t => { + let anim = createAnimation(t, [ + { offset: "cover 0%", marginLeft: "0px", opacity: "0" }, + { offset: "cover 100%", marginRight: "0px", opacity: "1" } + ], /* use_view_timeline */ false); + let frames = anim.effect.getKeyframes(); + let expected = [ + { offset: { rangeName: 'cover', offset: CSS.percent(0) }, + computedOffset: null, easing: "linear", composite: "auto", + marginLeft: "0px", opacity: "0" }, + { offset: { rangeName: 'cover', offset: CSS.percent(100) }, + computedOffset: null, easing: "linear", composite: "auto", + marginRight: "0px", opacity: "1" } + ]; + assert_frame_lists_equal(frames, expected); + }, 'Include unreachable keyframes'); + + + promise_test(async t => { + let anim = createAnimation(t, [ + { offset: "cover 0%", marginLeft: "0px", opacity: 0 }, + { offset: "cover 100%", marginRight: "0px", opacity: 1 }, + { opacity: 0 }, + { opacity: 0.5 }, + { opacity: 1.0 } + ]); + let frames = anim.effect.getKeyframes(); + let expected = [ + { offset: { rangeName: 'cover', offset: CSS.percent(0) }, + computedOffset: -1, easing: "linear", composite: "auto", + marginLeft: "0px", opacity: "0" }, + { offset: { rangeName: 'cover', offset: CSS.percent(100) }, + computedOffset: 2, easing: "linear", composite: "auto", + marginRight: "0px", opacity: "1" }, + { offset: null, computedOffset: 0, easing: "linear", composite: "auto", + opacity: "0" }, + { offset: null, computedOffset: 0.5, easing: "linear", + composite: "auto", opacity: "0.5" }, + { offset: null, computedOffset: 1.0, easing: "linear", + composite: "auto", opacity: "1" } + ]; + assert_frame_lists_equal(frames, expected); + + anim = createAnimation(t, [ + { opacity: 0 }, + { offset: "cover 0%", marginLeft: "0px", opacity: 0 }, + { opacity: 0.5 }, + { offset: "cover 100%", marginRight: "0px", opacity: 1 }, + { opacity: 1.0 } + ]); + frames = anim.effect.getKeyframes(); + expected = [ + { offset: null, computedOffset: 0, easing: "linear", composite: "auto", + opacity: "0" }, + { offset: { rangeName: 'cover', offset: CSS.percent(0) }, + computedOffset: -1, easing: "linear", composite: "auto", + marginLeft: "0px", opacity: "0" }, + { offset: null, computedOffset: 0.5, easing: "linear", + composite: "auto", opacity: "0.5" }, + { offset: { rangeName: 'cover', offset: CSS.percent(100) }, + computedOffset: 2, easing: "linear", composite: "auto", + marginRight: "0px", opacity: "1" }, + { offset: null, computedOffset: 1.0, easing: "linear", + composite: "auto", opacity: "1" } + ]; + assert_frame_lists_equal(frames, expected); + + anim = createAnimation(t, [ + { opacity: 0.2, offset: 0.2 }, + { offset: "cover 0%", marginLeft: "0px", opacity: 0 }, + { opacity: 0.4 }, + { opacity: 0.6 }, + { offset: "cover 100%", marginRight: "0px", opacity: 1 }, + { opacity: 0.8, offset: 0.8 } + ]); + frames = anim.effect.getKeyframes(); + expected = [ + { offset: 0.2, computedOffset: 0.2, easing: "linear", composite: "auto", + opacity: "0.2" }, + { offset: { rangeName: 'cover', offset: CSS.percent(0) }, + computedOffset: -1, easing: "linear", composite: "auto", + marginLeft: "0px", opacity: "0" }, + { offset: null, computedOffset: 0.4, easing: "linear", + composite: "auto", opacity: "0.4" }, + { offset: null, computedOffset: 0.6, easing: "linear", + composite: "auto", opacity: "0.6" }, + { offset: { rangeName: 'cover', offset: CSS.percent(100) }, + computedOffset: 2, easing: "linear", composite: "auto", + marginRight: "0px", opacity: "1" }, + { offset: 0.8, computedOffset: 0.8, easing: "linear", composite: "auto", + opacity: "0.8" } + ]; + assert_frame_lists_equal(frames, expected); + }, 'Mix of computed and timeline offsets.'); + } + + window.onload = runTest; +</script> +</html> diff --git a/tests/wpt/web-platform-tests/scroll-animations/view-timelines/view-timeline-get-set-range.html b/tests/wpt/web-platform-tests/scroll-animations/view-timelines/view-timeline-get-set-range.html index e80ef57afe0..6de2d84df73 100644 --- a/tests/wpt/web-platform-tests/scroll-animations/view-timelines/view-timeline-get-set-range.html +++ b/tests/wpt/web-platform-tests/scroll-animations/view-timelines/view-timeline-get-set-range.html @@ -60,14 +60,14 @@ container.scrollLeft = 750; await waitForNextFrame(); - // auto ==> cover 0% to cover 100% + // normal ==> cover 0% to cover 100% // cover 0% @ 600px // cover 100% @ 900px // expected opacity = (750 - 600) / (900 - 600) = 0.5 - assert_equals(anim.rangeStart, 'auto', 'Initial value for rangeStart'); - assert_equals(anim.rangeEnd, 'auto', 'Initial value for rangeEnd'); + assert_equals(anim.rangeStart, 'normal', 'Initial value for rangeStart'); + assert_equals(anim.rangeEnd, 'normal', 'Initial value for rangeEnd'); assert_equals(getComputedStyle(target).opacity, '0.5', - 'Opacity with range set to [auto, auto]'); + 'Opacity with range set to [normal, normal]'); // contain 0% @ 700px // cover 100% @ 900px @@ -103,18 +103,18 @@ parseFloat(getComputedStyle(target).opacity), 0.739130, 1e-6, 'opacity with range set to [entry -20px, exit-crossing 10%]'); - // auto [start] @ 600px + // normal [start] @ 600px // contain 100% @ 800px // expected opacity = (750 - 600) / (800 - 600) = 0.75 - anim.rangeStart = "auto"; + anim.rangeStart = "normal"; anim.rangeEnd = "contain calc(60% + 40%)"; - assert_equals(anim.rangeStart, 'auto','rangeStart set to auto'); + assert_equals(anim.rangeStart, 'normal','rangeStart set to normal'); assert_timeline_offset( anim.rangeEnd, { rangeName: 'contain', offset: CSS.percent(100) }, 'rangeEnd set to contain 100%'); assert_equals(getComputedStyle(target).opacity, '0.75', - 'opacity with range set to [auto, contain 100%]'); + 'opacity with range set to [normal, contain 100%]'); }, 'Getting and setting the animation range'); </script> </html> diff --git a/tests/wpt/web-platform-tests/scroll-animations/view-timelines/zero-intrinsic-iteration-duration.tentative.html b/tests/wpt/web-platform-tests/scroll-animations/view-timelines/zero-intrinsic-iteration-duration.tentative.html new file mode 100644 index 00000000000..e77cf4629cb --- /dev/null +++ b/tests/wpt/web-platform-tests/scroll-animations/view-timelines/zero-intrinsic-iteration-duration.tentative.html @@ -0,0 +1,106 @@ +<!DOCTYPE html> +<html> +<head> +<meta charset="utf-8"> +<link rel="help" src="https://drafts.csswg.org/scroll-animations-1/#named-timeline-range"> +<script src="/resources/testharness.js"></script> +<script src="/resources/testharnessreport.js"></script> +<script src="/web-animations/testcommon.js"></script> +<script src="support/testcommon.js"></script> +<script src="/web-animations/resources/keyframe-utils.js"></script> +<script src="/scroll-animations/scroll-timelines/testcommon.js"></script> +<title>Animation range updates play state</title> +</head> +<style type="text/css"> + @keyframes anim { + from { background-color: blue; } + to { background-color: white; } + } + #scroller { + border: 10px solid lightgray; + overflow-y: scroll; + overflow-x: hidden; + width: 300px; + height: 200px; + } + #target { + margin-top: 800px; + margin-bottom: 800px; + margin-left: 10px; + margin-right: 10px; + width: 100px; + height: 100px; + z-index: -1; + background-color: green; + animation: anim auto linear; + animation-timeline: t1; + view-timeline: t1; + } +</style> +<body> + <div id="scroller"> + <div id="target"></div> + </div> +</body> +<script type="text/javascript"> + async function runTest() { + promise_test(async t => { + const anim = target.getAnimations()[0]; + await anim.ready; + + let duration = anim.effect.getComputedTiming().duration; + assert_percents_equal(duration, CSS.percent(100), + 'Default duration is 100%'); + + // Start and end boundaries coincide. + anim.rangeStart = "entry 100%"; + anim.rangeEnd = "contain 0%"; + duration = anim.effect.getComputedTiming().duration; + assert_percents_equal(duration, CSS.percent(0), + "Duration is zero when boundaries coincide"); + + // Start > end, clamp at zero duration. + anim.rangeEnd = "entry 0%" + duration = anim.effect.getComputedTiming().duration; + assert_percents_equal(duration, CSS.percent(0), + "Duration is zero when start > end"); + + anim.rangeStart = "normal"; + anim.rangeEnd = "normal"; + duration = anim.effect.getComputedTiming().duration; + assert_percents_equal(duration, CSS.percent(100), + "Duration is 100% after range reset"); + + // Consumed 100% of timeline duration with delays + anim.effect.updateTiming({ + delay: CSS.percent(60), + endDelay: CSS.percent(40) + }); + duration = anim.effect.getComputedTiming().duration; + assert_percents_equal(duration, CSS.percent(0), + "Duration is 0% after delays sum to 100%"); + + // Delays sum to > 100% + anim.effect.updateTiming({ + delay: CSS.percent(60), + endDelay: CSS.percent(60) + }); + duration = anim.effect.getComputedTiming().duration; + assert_percents_equal(duration, CSS.percent(0), + "Duration is 0% after delays sum to > 100%"); + + anim.effect.updateTiming({ + delay: CSS.percent(40), + endDelay: CSS.percent(40) + }); + duration = anim.effect.getComputedTiming().duration; + assert_percents_equal( + duration, CSS.percent(20), + "Duration is 20% if normal range and delays sum to 80%"); + + }, 'Intrinsic iteration duration is non-negative'); + } + + + window.onload = runTest; +</script> diff --git a/tests/wpt/web-platform-tests/secure-contexts/basic-dedicated-worker.html b/tests/wpt/web-platform-tests/secure-contexts/basic-dedicated-worker.html index ecd6138ac25..043b5b8dd64 100644 --- a/tests/wpt/web-platform-tests/secure-contexts/basic-dedicated-worker.html +++ b/tests/wpt/web-platform-tests/secure-contexts/basic-dedicated-worker.html @@ -16,6 +16,7 @@ var t4 = async_test("HTTPS nested worker"); var t5 = async_test("HTTP worker from HTTPS subframe"); var t6 = async_test("HTTPS worker from HTTPS subframe"); + var t7 = async_test("Worker from data URL"); var w1 = new Worker(http_dir + "support/dedicated-worker-script.js"); w1.onmessage = t1.step_func_done(function(e) { @@ -89,6 +90,14 @@ var ifr = document.createElement("iframe"); ifr.src = https_dir + "support/https-subframe-dedicated.html"; document.body.appendChild(ifr); + + var w7 = new Worker("data:text/javascript,postMessage(isSecureContext);"); + w7.onmessage = t7.step_func_done(function(e) { + assert_false(e.data); + }); + w7.onerror = t7.step_func_done(function(e) { + assert_unreached("isSecureContext should be supported"); + }); </script> </body> </html> diff --git a/tests/wpt/web-platform-tests/secure-contexts/basic-dedicated-worker.https.html b/tests/wpt/web-platform-tests/secure-contexts/basic-dedicated-worker.https.html index e794755cdf9..17c9345146f 100644 --- a/tests/wpt/web-platform-tests/secure-contexts/basic-dedicated-worker.https.html +++ b/tests/wpt/web-platform-tests/secure-contexts/basic-dedicated-worker.https.html @@ -16,6 +16,7 @@ var t4 = async_test("HTTPS nested worker"); var t5 = async_test("HTTP worker from HTTPS subframe"); var t6 = async_test("HTTPS worker from HTTPS subframe"); + var t7 = async_test("Worker from data URL"); try { var w1 = new Worker(http_dir + "support/dedicated-worker-script.js"); @@ -89,6 +90,14 @@ var ifr = document.createElement("iframe"); ifr.src = https_dir + "support/https-subframe-dedicated.html"; document.body.appendChild(ifr); + + var w7 = new Worker("data:text/javascript,postMessage(isSecureContext);"); + w7.onmessage = t7.step_func_done(function(e) { + assert_true(e.data); + }); + w7.onerror = t7.step_func_done(function(e) { + assert_unreached("isSecureContext should be supported"); + }); </script> </body> </html> diff --git a/tests/wpt/web-platform-tests/secure-contexts/basic-shared-worker.html b/tests/wpt/web-platform-tests/secure-contexts/basic-shared-worker.html index 76c28a36e4f..7f421b0523b 100644 --- a/tests/wpt/web-platform-tests/secure-contexts/basic-shared-worker.html +++ b/tests/wpt/web-platform-tests/secure-contexts/basic-shared-worker.html @@ -14,6 +14,7 @@ var t2 = async_test("Nested worker in shared worker"); var t3 = async_test("Shared worker from https subframe"); var t4 = async_test("Nested worker from shared worker from https subframe"); + var t5 = async_test("Shared worker from data URL"); // Tests for SharedWorkers used from other workers (not supported right // now) would go here. @@ -64,6 +65,20 @@ var ifr = document.createElement("iframe"); ifr.src = https_dir2 + "support/https-subframe-shared.html"; document.body.appendChild(ifr); + + t5.step(function() { + var w = new SharedWorker( + `data:text/javascript,addEventListener("connect", function (e) { + var port = e.ports[0]; + port.start(); + port.postMessage(isSecureContext); + });` + ); + w.port.onmessage = t5.step_func_done(function(e) { + assert_false(e.data); + }); + w.port.start(); + }); </script> </body> </html> diff --git a/tests/wpt/web-platform-tests/secure-contexts/basic-shared-worker.https.html b/tests/wpt/web-platform-tests/secure-contexts/basic-shared-worker.https.html index e7c78383a82..7c43cd965f6 100644 --- a/tests/wpt/web-platform-tests/secure-contexts/basic-shared-worker.https.html +++ b/tests/wpt/web-platform-tests/secure-contexts/basic-shared-worker.https.html @@ -14,6 +14,7 @@ var t2 = async_test("Nested worker in shared worker"); var t3 = async_test("Shared worker from https subframe"); var t4 = async_test("Nested worker from shared worker from https subframe"); + var t5 = async_test("Shared worker from data URL"); t1.step(function() { var w = new SharedWorker("support/shared-worker-script.js"); @@ -62,6 +63,20 @@ var ifr = document.createElement("iframe"); ifr.src = https_dir3 + "support/https-subframe-shared.html"; document.body.appendChild(ifr); + + t5.step(function() { + var w = new SharedWorker( + `data:text/javascript,addEventListener("connect", function (e) { + var port = e.ports[0]; + port.start(); + port.postMessage(isSecureContext); + });` + ); + w.port.onmessage = t5.step_func_done(function(e) { + assert_true(e.data); + }); + w.port.start(); + }); </script> </body> </html> diff --git a/tests/wpt/web-platform-tests/service-workers/service-worker/fetch-event-respond-with-readable-stream.https.html b/tests/wpt/web-platform-tests/service-workers/service-worker/fetch-event-respond-with-readable-stream.https.html index 439e5476834..4651258e6ab 100644 --- a/tests/wpt/web-platform-tests/service-workers/service-worker/fetch-event-respond-with-readable-stream.https.html +++ b/tests/wpt/web-platform-tests/service-workers/service-worker/fetch-event-respond-with-readable-stream.https.html @@ -53,17 +53,36 @@ iframeTest(SCOPE + '?stream&use-fetch-stream', (t, iwin) => { assert_equals(iwin.document.body.textContent, 'PASS\n'); }, 'Main resource built from a ReadableStream - fetch stream'); -iframeTest(SCOPE, async (t, iwin) => { - const id = token(); - let response = await iwin.fetch('?stream&observe-cancel&id=${id}'); - response.body.cancel(); +for (const enqueue of [true, false]) { + const withStream = enqueue ? 'with nonempty stream' : 'with empty stream'; + iframeTest(SCOPE, async (t, iwin) => { + const id = token(); + let response = await iwin.fetch(`?stream&observe-cancel&id=${id}&enqueue=${enqueue}`); + response.body.cancel(); - // Wait for a while to avoid a race between the cancel handling and the - // second fetch request. - await new Promise(r => step_timeout(r, 10)); + // Wait for a while to avoid a race between the cancel handling and the + // second fetch request. + await new Promise(r => step_timeout(r, 10)); - response = await iwin.fetch('?stream&query-cancel&id=${id}'); - assert_equals(await response.text(), 'cancelled'); -}, 'Cancellation in the page should be observable in the service worker'); + response = await iwin.fetch(`?stream&query-cancel&id=${id}`); + assert_equals(await response.text(), 'cancelled'); + }, `Cancellation in the page should be observable in the service worker ${withStream}`); + + iframeTest(SCOPE, async (t, iwin) => { + const id = token(); + const controller = new AbortController(); + let response = await iwin.fetch(`?stream&observe-cancel&id=${id}&enqueue=${enqueue}`, { + signal: controller.signal + }); + controller.abort(); + + // Wait for a while to avoid a race between the cancel handling and the + // second fetch request. + await new Promise(r => step_timeout(r, 10)); + + response = await iwin.fetch(`?stream&query-cancel&id=${id}`); + assert_equals(await response.text(), 'cancelled'); + }, `Abort in the page should be observable in the service worker ${withStream}`); +} </script> diff --git a/tests/wpt/web-platform-tests/service-workers/service-worker/resources/fetch-event-respond-with-readable-stream-worker.js b/tests/wpt/web-platform-tests/service-workers/service-worker/resources/fetch-event-respond-with-readable-stream-worker.js index e54cb6ddd96..056351322c6 100644 --- a/tests/wpt/web-platform-tests/service-workers/service-worker/resources/fetch-event-respond-with-readable-stream-worker.js +++ b/tests/wpt/web-platform-tests/service-workers/service-worker/resources/fetch-event-respond-with-readable-stream-worker.js @@ -18,6 +18,12 @@ self.addEventListener('fetch', event => { })); const stream = new ReadableStream({ + pull(c) { + if (url.searchParams.get('enqueue') === 'true') { + url.searchParams.delete('enqueue'); + c.enqueue(new Uint8Array([65])); + } + }, cancel() { map.get(id).label = 'cancelled'; } diff --git a/tests/wpt/web-platform-tests/shadow-dom/focus-navigation/focus-navigation-scroller-delegatesFocus.html b/tests/wpt/web-platform-tests/shadow-dom/focus-navigation/focus-navigation-scroller-delegatesFocus.html new file mode 100644 index 00000000000..5fc4f84a7b9 --- /dev/null +++ b/tests/wpt/web-platform-tests/shadow-dom/focus-navigation/focus-navigation-scroller-delegatesFocus.html @@ -0,0 +1,75 @@ +<!DOCTYPE html> +<script src="/resources/testharness.js"></script> +<script src="/resources/testharnessreport.js"></script> +<script src="/resources/testdriver.js"></script> +<script src="/resources/testdriver-vendor.js"></script> +<script src="/resources/testdriver-actions.js"></script> +<script src="/resources/declarative-shadow-dom-polyfill.js"></script> +<script src="resources/shadow-dom.js"></script> +<script src="resources/focus-utils.js"></script> + +<style> + div.scroll { + overflow: auto; + width: 20em; + height: 5em; + display: block; + } +</style> + +<p>Tests for moving focus on scrollable element by pressing tab key.</p> +<button id="start">START</button> + +<p>Where host has delegatesFocus false.</p> +<div id="host-no-delegates-focus" class="scroll"> + <template shadowrootmode="open"> + <div style="width: 40em"></div> + <button id="A">BUTTON A</button> + <div>Text</div> + </template> +</div> + +<div id="host-no-delegates-focus-2" class="scroll"> + <template shadowrootmode="open"> + <div style="width: 40em"></div> + <div>Text</div> + </template> +</div> + +<p>Where host has delegatesFocus true.</p> +<div id="host-delegates-focus" class="scroll"> + <template shadowrootmode="open" shadowrootdelegatesfocus> + <div style="width: 40em"></div> + <button id="B">BUTTON B</button> + <div>Text</div> + </template> +</div> + +<div id="host-delegates-focus-2" class="scroll"> + <template shadowrootmode="open" shadowrootdelegatesfocus> + <div style="width: 40em"></div> + <div>Text</div> + </template> +</div> + +<button id="end">END</button> + +<script> + +promise_test(async () => { + polyfill_declarative_shadow_dom(document); + + let elements = [ + 'start', + 'host-no-delegates-focus/A', + 'host-no-delegates-focus-2', + 'host-delegates-focus/B', + 'end' + ]; + + await assert_focus_navigation_forward(elements); + elements.reverse(); + await assert_focus_navigation_backward(elements); +}, 'Should focus on scroller across shadow boundaries depending on delegatesFocus value.'); + +</script> diff --git a/tests/wpt/web-platform-tests/shadow-dom/focus-navigation/focus-navigation-scroller-tabindex.html b/tests/wpt/web-platform-tests/shadow-dom/focus-navigation/focus-navigation-scroller-tabindex.html new file mode 100644 index 00000000000..0b5b66eb48d --- /dev/null +++ b/tests/wpt/web-platform-tests/shadow-dom/focus-navigation/focus-navigation-scroller-tabindex.html @@ -0,0 +1,83 @@ +<!DOCTYPE html> +<script src="/resources/testharness.js"></script> +<script src="/resources/testharnessreport.js"></script> +<script src="/resources/testdriver.js"></script> +<script src="/resources/testdriver-vendor.js"></script> +<script src="/resources/testdriver-actions.js"></script> +<script src="resources/shadow-dom.js"></script> +<script src="resources/focus-utils.js"></script> + +<style> + div.scroll { + overflow: auto; + width: 20em; + height: 5em; + display: block; + } + + div.long { + width: 40em; + } +</style> + +<p>Tests for moving focus on scrollable element by pressing tab key.</p> +<button id="start">START</button> + +<p>Where element has positive tabindex.</p> +<div id="scroller-positive" class="scroll" tabindex="0"> + <div class="long"></div> + <button id="A">BUTTON A</button> + <div>Text</div> +</div> + +<div id="scroller-positive-2" class="scroll" tabindex="0"> + <div class="long"></div> + <div>Text</div> +</div> + +<p>Where element has no tabindex.</p> +<div id="scroller-none" class="scroll"> + <div class="long"></div> + <button id="B">BUTTON B</button> + <div>Text</div> +</div> + +<div id="scroller-none-2" class="scroll"> + <div class="long"></div> + <div>Text</div> +</div> + +<p>Where element has negative tabindex.</p> +<div id="scroller-negative" class="scroll" tabindex="-1"> + <div class="long"></div> + <button id="C">BUTTON C</button> + <div>Text</div> +</div> + +<div id="scroller-negative-2" class="scroll" tabindex="-1"> + <div class="long"></div> + <div>Text</div> +</div> + +<button id="end">END</button> + +<script> + +promise_test(async () => { + let elements = [ + 'start', + 'scroller-positive', + 'A', + 'scroller-positive-2', + 'B', + 'scroller-none-2', + 'C', + 'end', + ]; + + await assert_focus_navigation_forward(elements); + elements.reverse(); + await assert_focus_navigation_backward(elements); +}, 'Should focus on scroller depending on tabindex value.'); + +</script> diff --git a/tests/wpt/web-platform-tests/shadow-dom/selection-collapse-and-extend.tentative.html b/tests/wpt/web-platform-tests/shadow-dom/selection-collapse-and-extend.tentative.html new file mode 100644 index 00000000000..36cc036b384 --- /dev/null +++ b/tests/wpt/web-platform-tests/shadow-dom/selection-collapse-and-extend.tentative.html @@ -0,0 +1,82 @@ +<!DOCTYPE html> +<html> +<body> +<meta name="author" title="Ryosuke Niwa" href="mailto:rniwa@webkit.org"> +<meta name="assert" content="Selection's collapse and extend should abort only when the node's root is not connected"> +<link rel="help" href="https://w3c.github.io/selection-api/#dom-selection-collapse"> +<link rel="help" href="https://w3c.github.io/selection-api/#dom-selection-extend"> +<script src="/resources/testharness.js"></script> +<script src="/resources/testharnessreport.js"></script> +<div id="container"></div> +<script> + +test(() => { + const host = document.createElement('div'); + container.appendChild(host); + const shadowRoot = host.attachShadow({mode: 'closed'}); + shadowRoot.innerHTML = '<div contenteditable><p>hello, world</p></div>'; + const textNode = shadowRoot.querySelector('p').firstChild; + getSelection().removeAllRanges(); + getSelection().collapse(textNode, 5); + const ranges = getSelection().getComposedRanges(shadowRoot); + assert_equals(ranges.length, 1); + assert_equals(ranges[0].startContainer, textNode); + assert_equals(ranges[0].startOffset, 5); + assert_equals(ranges[0].endContainer, textNode); + assert_equals(ranges[0].endOffset, 5); + assert_true(ranges[0].collapsed); +}, 'collapse can set selection to a node inside a shadow tree'); + +test(() => { + const host = document.createElement('div'); + const shadowRoot = host.attachShadow({mode: 'closed'}); + shadowRoot.innerHTML = '<div contenteditable><p>hello, world</p></div>'; + const textNode = shadowRoot.querySelector('p').firstChild; + getSelection().removeAllRanges(); + getSelection().collapse(textNode, 5); + const ranges = getSelection().getComposedRanges(shadowRoot); + assert_equals(ranges.length, 0); +}, 'collapse abort steps when called with a disconnected node inside a shadow tree'); + +test(() => { + const host = document.createElement('div'); + container.appendChild(host); + const shadowRoot = host.attachShadow({mode: 'closed'}); + shadowRoot.innerHTML = '<div contenteditable><p>hello, world</p></div>'; + const textNode = shadowRoot.querySelector('p').firstChild; + getSelection().removeAllRanges(); + getSelection().collapse(textNode, 5); + let ranges = getSelection().getComposedRanges(shadowRoot); + assert_equals(ranges.length, 1); + getSelection().extend(textNode, 11); + ranges = getSelection().getComposedRanges(shadowRoot); + assert_equals(ranges.length, 1); + assert_equals(ranges[0].startContainer, textNode); + assert_equals(ranges[0].startOffset, 5); + assert_equals(ranges[0].endContainer, textNode); + assert_equals(ranges[0].endOffset, 11); + assert_false(ranges[0].collapsed); +}, 'extend can set selection to a node inside a shadow tree'); + +test(() => { + const host = document.createElement('div'); + const shadowRoot = host.attachShadow({mode: 'closed'}); + shadowRoot.innerHTML = '<div contenteditable><p>hello, world</p></div>'; + const textNode = shadowRoot.querySelector('p').firstChild; + getSelection().removeAllRanges(); + getSelection().collapse(container, 0); + getSelection().extend(textNode, 5); + const ranges = getSelection().getComposedRanges(shadowRoot); + assert_equals(ranges.length, 1); + assert_equals(ranges[0].startContainer, container); + assert_equals(ranges[0].startOffset, 0); + assert_equals(ranges[0].endContainer, container); + assert_equals(ranges[0].endOffset, 0); + assert_true(ranges[0].collapsed); +}, 'extend abort steps when called with a disconnected node inside a shadow tree'); + +container.remove(); + +</script> +</body> +</html> \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/soft-navigation-heuristics/navigation-api-after-transition-commit.tentative.html b/tests/wpt/web-platform-tests/soft-navigation-heuristics/navigation-api-after-transition-commit.tentative.html new file mode 100644 index 00000000000..5c7d8f4f7a4 --- /dev/null +++ b/tests/wpt/web-platform-tests/soft-navigation-heuristics/navigation-api-after-transition-commit.tentative.html @@ -0,0 +1,28 @@ +<!DOCTYPE HTML> +<html> +<head> +<meta charset="utf-8"> +<title>Detect intercepted navigate event with after-transition commit.</title> +<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/soft-navigation-helper.js"></script> +</head> +<body> + <main id=main> + <a href="foobar.html" id=link>Click me!</a> + </main> + <script> + const link = document.getElementById("link"); + testNavigationApi("Test soft navigation when navigate event intecepts with { commit: 'after-transition' }", e => { + timestamps[counter]["eventStart"] = performance.now(); + e.intercept({commit: "after-transition", handler: async () => { + await addImageToMain(); + e.commit(); + }}); + }, link); + </script> +</body> +</html> + diff --git a/tests/wpt/web-platform-tests/soft-navigation-heuristics/navigation-api-view-transition.tentative.html b/tests/wpt/web-platform-tests/soft-navigation-heuristics/navigation-api-view-transition.tentative.html index 38298bbe3dc..2755f9f9ac7 100644 --- a/tests/wpt/web-platform-tests/soft-navigation-heuristics/navigation-api-view-transition.tentative.html +++ b/tests/wpt/web-platform-tests/soft-navigation-heuristics/navigation-api-view-transition.tentative.html @@ -26,17 +26,19 @@ timestamps[counter]["eventStart"] = performance.now(); e.intercept({ async handler() { - await document.startViewTransition(async () => { + const lcp_promise = new Promise(resolve => { + (new PerformanceObserver(list => resolve())).observe( + {type: 'largest-contentful-paint', + includeSoftNavigationObservations: true}); + }); + const transition = document.startViewTransition(async () => { const main = document.getElementById('main'); main.innerHTML = '<img id="image" src="/images/blue.png?' + Math.random() + '">'; const img = document.getElementById("image"); - await new Promise(resolve => { - (new PerformanceObserver(list => resolve())).observe( - {type: 'largest-contentful-paint', - includeSoftNavigationObservations: true}); - }); }); + await transition.updateCallbackDone; + await lcp_promise; } }); }; diff --git a/tests/wpt/web-platform-tests/soft-navigation-heuristics/navigation-api.tentative.html b/tests/wpt/web-platform-tests/soft-navigation-heuristics/navigation-api.tentative.html index c4f2786ccf3..ca11f684f49 100644 --- a/tests/wpt/web-platform-tests/soft-navigation-heuristics/navigation-api.tentative.html +++ b/tests/wpt/web-platform-tests/soft-navigation-heuristics/navigation-api.tentative.html @@ -19,7 +19,6 @@ timestamps[counter]["eventStart"] = performance.now(); e.intercept({handler: async () => { await addImageToMain(); - main.appendChild(img); }}); }, link); </script> diff --git a/tests/wpt/web-platform-tests/soft-navigation-heuristics/resources/soft-navigation-helper.js b/tests/wpt/web-platform-tests/soft-navigation-heuristics/resources/soft-navigation-helper.js index c24af60274d..e8e5846c93b 100644 --- a/tests/wpt/web-platform-tests/soft-navigation-heuristics/resources/soft-navigation-helper.js +++ b/tests/wpt/web-platform-tests/soft-navigation-heuristics/resources/soft-navigation-helper.js @@ -2,6 +2,8 @@ var counter = 0; var clicked; var timestamps = [] const MAX_CLICKS = 50; +// Entries for one hard navigation + 50 soft navigations. +const MAX_PAINT_ENTRIES = 51; const URL = "foobar.html"; const readValue = (value, defaultValue) => { return value != undefined ? value : defaultValue; @@ -41,7 +43,7 @@ const testSoftNavigation = await validateSoftNavigationEntry( clicks, extraValidations, pushUrl); - await runEntryValidations(preClickLcp); + await runEntryValidations(preClickLcp, clicks + 1); }, testName); }; @@ -49,12 +51,17 @@ const testNavigationApi = (testName, navigateEventHandler, link) => { promise_test(async t => { const preClickLcp = await getLcpEntries(); navigation.addEventListener('navigate', navigateEventHandler); + const navigated = new Promise(resolve => { + navigation.addEventListener('navigatesuccess', resolve); + navigation.addEventListener('navigateerror', resolve); + }); click(link); await new Promise(resolve => { (new PerformanceObserver(() => resolve())).observe({ type: 'soft-navigation' }); }); + await navigated; assert_equals(document.softNavigations, 1, 'Soft Navigation detected'); await validateSoftNavigationEntry(1, () => {}, 'foobar.html'); @@ -80,10 +87,9 @@ const testSoftNavigationNotDetected = options => { }, options.testName); }; -const runEntryValidations = async preClickLcp => { - await doubleRaf(); - validatePaintEntries('first-contentful-paint'); - validatePaintEntries('first-paint'); +const runEntryValidations = async (preClickLcp, entries_expected_number = 2) => { + await validatePaintEntries('first-contentful-paint', entries_expected_number); + await validatePaintEntries('first-paint', entries_expected_number); const postClickLcp = await getLcpEntries(); const postClickLcpWithoutSoftNavs = await getLcpEntriesWithoutSoftNavs(); assert_greater_than( @@ -107,12 +113,6 @@ const click = link => { } } -const doubleRaf = () => { - return new Promise(r => { - requestAnimationFrame(()=>requestAnimationFrame(r)); - }); -}; - const setEvent = (t, button, pushState, addContent, pushUrl, eventType) => { const eventObject = (eventType == "click") ? button : window; eventObject.addEventListener(eventType, async e => { @@ -175,10 +175,16 @@ const validateSoftNavigationEntry = async (clicks, extraValidations, }; -const validatePaintEntries = async (type, entries_number = 2) => { +const validatePaintEntries = async (type, entries_number) => { + const expected_entries_number = Math.min(entries_number, MAX_PAINT_ENTRIES); const entries = await new Promise(resolve => { - (new PerformanceObserver(list => resolve( - list.getEntriesByName(type)))).observe( + const entries = []; + (new PerformanceObserver(list => { + entries.push(...list.getEntriesByName(type)); + if (entries.length >= expected_entries_number) { + resolve(entries); + } + })).observe( {type: 'paint', buffered: true, includeSoftNavigationObservations: true}); }); const entries_without_softnavs = await new Promise(resolve => { @@ -186,10 +192,7 @@ const validatePaintEntries = async (type, entries_number = 2) => { list.getEntriesByName(type)))).observe( {type: 'paint', buffered: true}); }); - // TODO(crbug/1372997): investigate why this is not failing when multiple - // clicks are fired. Also, make sure the observer waits on the number of - // required clicks, instead of counting on double rAF. - assert_equals(entries.length, entries_number, + assert_equals(entries.length, expected_entries_number, `There are ${entries_number} entries for ${type}`); assert_equals(entries_without_softnavs.length, 1, `There is one non-softnav entry for ${type}`); diff --git a/tests/wpt/web-platform-tests/speculation-rules/prefetch/different-initiators.sub.https.html b/tests/wpt/web-platform-tests/speculation-rules/prefetch/different-initiators.sub.https.html new file mode 100644 index 00000000000..74e79323d94 --- /dev/null +++ b/tests/wpt/web-platform-tests/speculation-rules/prefetch/different-initiators.sub.https.html @@ -0,0 +1,80 @@ +<!DOCTYPE html> +<meta name="variant" content="?cross-site-1"> +<meta name="variant" content="?cross-site-2"> +<meta name="variant" content="?same-site"> +<script src="/resources/testharness.js"></script> +<script src="/resources/testharnessreport.js"></script> +<script src="/common/utils.js"></script> +<script src="/common/dispatcher/dispatcher.js"></script> +<script src="resources/utils.sub.js"></script> +<script src="/service-workers/service-worker/resources/test-helpers.sub.js"></script> +<script> +// Regression test for https://crbug.com/1423234. +promise_test(async t => { + assert_implements(HTMLScriptElement.supports('speculationrules'), + "Speculation Rules not supported"); + + // Open 2 windows. + const hostname1 = + location.search === '?cross-site-1' ? '{{hosts[alt][www]}}' : undefined; + const hostname2 = + location.search === '?cross-site-2' ? '{{hosts[alt][www]}}' : undefined; + const initiator1 = await spawnWindow( + t, { protocol: 'https', hostname: hostname1 }); + const initiator2 = await spawnWindow( + t, { protocol: 'https', hostname: hostname2 }); + + // Start speculation rules prefetch from `initiator1`. + const nextUrl = initiator1.getExecutorURL({ protocol: 'https', page: 2 }); + await initiator1.forceSinglePrefetch(nextUrl); + + // Register a SW for `nextUrl` -- this is a trick to make the prefetched + // result to put in `PrefetchService::prefetches_ready_to_serve_` in + // Chromium implementation but actually not used by this navigation. + const r = await service_worker_unregister_and_register( + t, 'resources/sw.js', nextUrl); + await wait_for_state(t, r.installing, 'activated'); + + // Navigate `initiator1`. + // This doesn't use the prefetched result due to the ServiceWorker. + await initiator1.navigate(nextUrl); + + // Navigate `initiator1` away from `nextUrl`. + const headers1 = await initiator1.execute_script(() => { + window.executor.suspend(() => { + location.href = 'about:blank'; + }); + return requestHeaders; + }, []); + + // Unregister the SW. + await service_worker_unregister(t, nextUrl); + + // Navigate `initiator2`. + // This shouldn't use the prefetched result because the initiator Documents + // (even sites) are different. + await initiator2.execute_script((url) => { + window.executor.suspend(() => { + location.href = url; + }); + }, [nextUrl]); + + // Note: while the Window for `initiator2` remains open, the executor ID of + // the page is the ID of `nextUrl`, which is `initiator1.context_id`. + // So `initiator1` is used below for manipulating the Window for `initiator2`. + assert_equals( + await initiator1.execute_script(() => location.href), + nextUrl.toString(), + "expected navigation to reach destination URL"); + + const headers2 = await initiator1.execute_script(() => { + return requestHeaders; + }, []); + + assert_not_prefetched(headers1, + "Prefetch should not work due to ServiceWorker."); + + assert_not_prefetched(headers2, + "Prefetch should not work for different initiators."); +}, "Cross-initiator prefetches using ServiceWorker tricks"); +</script> diff --git a/tests/wpt/web-platform-tests/speculation-rules/prefetch/resources/sw.js b/tests/wpt/web-platform-tests/speculation-rules/prefetch/resources/sw.js new file mode 100644 index 00000000000..db774f9d5b8 --- /dev/null +++ b/tests/wpt/web-platform-tests/speculation-rules/prefetch/resources/sw.js @@ -0,0 +1 @@ +self.addEventListener('fetch', () => event.respondWith(fetch(event.request))); diff --git a/tests/wpt/web-platform-tests/speculation-rules/prefetch/resources/utils.sub.js b/tests/wpt/web-platform-tests/speculation-rules/prefetch/resources/utils.sub.js index aaa73c2135d..9b3b630733e 100644 --- a/tests/wpt/web-platform-tests/speculation-rules/prefetch/resources/utils.sub.js +++ b/tests/wpt/web-platform-tests/speculation-rules/prefetch/resources/utils.sub.js @@ -129,7 +129,7 @@ async function isUrlPrefetched(url) { // Must also include /common/utils.js and /common/dispatcher/dispatcher.js to use this. async function spawnWindow(t, options = {}, uuid = token()) { let agent = new PrefetchAgent(uuid, t); - let w = window.open(agent.getExecutorURL(options), options); + let w = window.open(agent.getExecutorURL(options), '_blank', options); t.add_cleanup(() => w.close()); return agent; } diff --git a/tests/wpt/web-platform-tests/speculation-rules/prerender/csp-script-src-strict-dynamic.html b/tests/wpt/web-platform-tests/speculation-rules/prerender/csp-script-src-strict-dynamic.html new file mode 100644 index 00000000000..5e08877a495 --- /dev/null +++ b/tests/wpt/web-platform-tests/speculation-rules/prerender/csp-script-src-strict-dynamic.html @@ -0,0 +1,28 @@ +<!DOCTYPE html> +<meta name="timeout" content="long"> +<script src="/common/utils.js"></script> +<script src="/resources/testharness.js"></script> +<script src="/resources/testharnessreport.js"></script> +<script src="resources/utils.js"></script> + +<body> + <script> + setup(() => assertSpeculationRulesIsSupported()); + + promise_test(async t => { + // The key used for storing a test result in the server. + const key = token(); + + // Open the test runner in a popup - it will prerender itself, record the + // test results, and send them back to this harness. + const url = + `resources/csp-script-src-strict-dynamic.html?key=${key}`; + window.open(url, '_blank', 'noopener'); + + // Wait until the test sends us the results. + const result = await nextValueFromServer(key); + + assert_equals(result, "true", ""); + }, 'Test if CSP script-src strict-dynamic allows inline speculationrules injected from the permitted scripts.'); + </script> +</body> diff --git a/tests/wpt/web-platform-tests/speculation-rules/prerender/resources/csp-script-src-strict-dynamic.html b/tests/wpt/web-platform-tests/speculation-rules/prerender/resources/csp-script-src-strict-dynamic.html new file mode 100644 index 00000000000..00db373c47a --- /dev/null +++ b/tests/wpt/web-platform-tests/speculation-rules/prerender/resources/csp-script-src-strict-dynamic.html @@ -0,0 +1,15 @@ +<!DOCTYPE html> + +<head> + <meta http-equiv="Content-Security-Policy" + content="script-src 'nonce-1' 'nonce-2' 'nonce-3' 'nonce-4' 'nonce-5' 'strict-dynamic'"> +</head> +<script src="/common/utils.js" nonce="1"></script> +<script src="/resources/testharness.js" nonce="2"></script> +<script src="/resources/testharnessreport.js" nonce="3"></script> +<script src="utils.js" nonce="4"></script> +<script src="csp-script-src.js" nonce="5"></script> +<script> + const params = new URLSearchParams(location.search); + writeValueToServer(params.get('key'), "csp is ignored unexpectedly"); +</script> diff --git a/tests/wpt/web-platform-tests/speculation-rules/prerender/resources/csp-script-src.js b/tests/wpt/web-platform-tests/speculation-rules/prerender/resources/csp-script-src.js index 52419f9b4c2..866acaa09ba 100644 --- a/tests/wpt/web-platform-tests/speculation-rules/prerender/resources/csp-script-src.js +++ b/tests/wpt/web-platform-tests/speculation-rules/prerender/resources/csp-script-src.js @@ -3,7 +3,7 @@ const params = new URLSearchParams(location.search); // Take a key used for storing a test result in the server. const key = params.get('key'); -// Speculation rules injection is not blocked in the csp-script-src 'self' test. +// Speculation rules injection is blocked in the csp-script-src 'self' test. const block = location.pathname.endsWith('csp-script-src-self.html'); // The main test page (csp-script-src-*.html) in the parent directory) will load diff --git a/tests/wpt/web-platform-tests/storage-access-api/hasStorageAccess-insecure.sub.window.js b/tests/wpt/web-platform-tests/storage-access-api/hasStorageAccess-insecure.sub.window.js index 2f9f9f4f389..866bd97f273 100644 --- a/tests/wpt/web-platform-tests/storage-access-api/hasStorageAccess-insecure.sub.window.js +++ b/tests/wpt/web-platform-tests/storage-access-api/hasStorageAccess-insecure.sub.window.js @@ -4,7 +4,7 @@ const {testPrefix, topLevelDocument} = processQueryParams(); // Common tests to run in all frames. -test(() => { +promise_test(async () => { assert_not_equals(document.hasStorageAccess, undefined); }, "[" + testPrefix + "] document.hasStorageAccess() should be supported on the document interface"); diff --git a/tests/wpt/web-platform-tests/storage-access-api/hasStorageAccess.sub.https.window.js b/tests/wpt/web-platform-tests/storage-access-api/hasStorageAccess.sub.https.window.js index f10258e4a14..d7ed42baa0d 100644 --- a/tests/wpt/web-platform-tests/storage-access-api/hasStorageAccess.sub.https.window.js +++ b/tests/wpt/web-platform-tests/storage-access-api/hasStorageAccess.sub.https.window.js @@ -4,7 +4,7 @@ const {testPrefix, topLevelDocument} = processQueryParams(); // Common tests to run in all frames. -test(() => { +promise_test(async () => { assert_not_equals(document.hasStorageAccess, undefined); }, "[" + testPrefix + "] document.hasStorageAccess() should exist on the document interface"); diff --git a/tests/wpt/web-platform-tests/storage-access-api/helpers.js b/tests/wpt/web-platform-tests/storage-access-api/helpers.js index f718f637cd9..728b098087e 100644 --- a/tests/wpt/web-platform-tests/storage-access-api/helpers.js +++ b/tests/wpt/web-platform-tests/storage-access-api/helpers.js @@ -57,18 +57,18 @@ function RunTestsInNestedIFrame(sourceURL) { }, true); } -function RunRequestStorageAccessInDetachedFrame() { +function CreateDetachedFrame() { const frame = document.createElement('iframe'); document.body.append(frame); const inner_doc = frame.contentDocument; frame.remove(); - return inner_doc.requestStorageAccess(); + return inner_doc; } -function RunRequestStorageAccessViaDomParser() { +function CreateDocumentViaDOMParser() { const parser = new DOMParser(); const doc = parser.parseFromString('<html></html>', 'text/html'); - return doc.requestStorageAccess(); + return doc; } function RunCallbackWithGesture(callback) { @@ -150,6 +150,35 @@ async function CanFrameWriteCookies(frame, keep_after_writing = false) { return can_write; } +// Tests whether the current frame can read and write cookies via HTTP headers. +// This deletes, writes, reads, then deletes a cookie named "cookie". +async function CanAccessCookiesViaHTTP() { + await create_cookie(window.location.origin, "cookie", "1", "samesite=None;Secure"); + const http_cookies = await fetch(`${window.location.origin}/storage-access-api/resources/echo-cookie-header.py`) + .then((resp) => resp.text()); + const can_access = cookieStringHasCookie("cookie", "1", http_cookies); + + erase_cookie_from_js("cookie", "SameSite=None;Secure;Path=/"); + + return can_access; +} + +// Tests whether the current frame can read and write cookies via +// document.cookie. This deletes, writes, reads, then deletes a cookie named +// "cookie". +function CanAccessCookiesViaJS() { + erase_cookie_from_js("cookie", "SameSite=None;Secure;Path=/"); + assert_false(cookieStringHasCookie("cookie", "1", document.cookie)); + + document.cookie = "cookie=1;SameSite=None;Secure;Path=/"; + const can_access = cookieStringHasCookie("cookie", "1", document.cookie); + + erase_cookie_from_js("cookie", "SameSite=None;Secure;Path=/"); + assert_false(cookieStringHasCookie("cookie", "1", document.cookie)); + + return can_access; +} + // Reads cookies via the `httpCookies` variable in the given frame. function GetHTTPCookiesFromFrame(frame) { return PostMessageAndAwaitReply( diff --git a/tests/wpt/web-platform-tests/storage-access-api/requestStorageAccess-insecure.sub.window.js b/tests/wpt/web-platform-tests/storage-access-api/requestStorageAccess-insecure.sub.window.js index 34d275b5ae8..1b00aee00a5 100644 --- a/tests/wpt/web-platform-tests/storage-access-api/requestStorageAccess-insecure.sub.window.js +++ b/tests/wpt/web-platform-tests/storage-access-api/requestStorageAccess-insecure.sub.window.js @@ -13,7 +13,7 @@ const {testPrefix, topLevelDocument} = processQueryParams(); // Common tests to run in all frames. -test(() => { +promise_test(async () => { assert_not_equals(document.requestStorageAccess, undefined); }, "[" + testPrefix + "] document.requestStorageAccess() should exist on the document interface"); @@ -30,14 +30,14 @@ if (topLevelDocument) { promise_test(t => { const description = "document.requestStorageAccess() call in a detached frame"; // Can't use `promise_rejects_dom` here, since the error comes from the wrong global. - return RunRequestStorageAccessInDetachedFrame() + return CreateDetachedFrame().requestStorageAccess() .then(t.unreached_func("Should have rejected: " + description), (e) => { assert_equals(e.name, 'InvalidStateError', description); }); }, "[non-fully-active] document.requestStorageAccess() should reject when run in a detached frame"); promise_test(t => { - return promise_rejects_dom(t, 'InvalidStateError', RunRequestStorageAccessViaDomParser(), + return promise_rejects_dom(t, 'InvalidStateError', CreateDocumentViaDOMParser().requestStorageAccess(), "document.requestStorageAccess() in a detached DOMParser result"); }, "[non-fully-active] document.requestStorageAccess() should reject when run in a detached DOMParser document"); diff --git a/tests/wpt/web-platform-tests/storage-access-api/requestStorageAccess-non-fully-active.sub.https.window.js b/tests/wpt/web-platform-tests/storage-access-api/requestStorageAccess-non-fully-active.sub.https.window.js index b3aa19c25c0..18f451975ad 100644 --- a/tests/wpt/web-platform-tests/storage-access-api/requestStorageAccess-non-fully-active.sub.https.window.js +++ b/tests/wpt/web-platform-tests/storage-access-api/requestStorageAccess-non-fully-active.sub.https.window.js @@ -4,7 +4,7 @@ 'use strict'; promise_test(t => { - const promise = RunRequestStorageAccessInDetachedFrame(); + const promise = CreateDetachedFrame().requestStorageAccess(); const description = "document.requestStorageAccess() call in a detached frame"; // Can't use `promise_rejects_dom` here, since the error comes from the wrong global. return promise.then(t.unreached_func("Should have rejected: " + description), (e) => { @@ -13,6 +13,6 @@ promise_test(t => { }, "[non-fully-active] document.requestStorageAccess() should not resolve when run in a detached frame"); promise_test(t => { - return promise_rejects_dom(t, 'InvalidStateError', RunRequestStorageAccessViaDomParser(), + return promise_rejects_dom(t, 'InvalidStateError', CreateDocumentViaDOMParser().requestStorageAccess(), "document.requestStorageAccess() in a detached DOMParser result"); }, "[non-fully-active] document.requestStorageAccess() should not resolve when run in a detached DOMParser document"); diff --git a/tests/wpt/web-platform-tests/storage-access-api/requestStorageAccess.sub.https.window.js b/tests/wpt/web-platform-tests/storage-access-api/requestStorageAccess.sub.https.window.js index 306bf462328..e1a8b934503 100644 --- a/tests/wpt/web-platform-tests/storage-access-api/requestStorageAccess.sub.https.window.js +++ b/tests/wpt/web-platform-tests/storage-access-api/requestStorageAccess.sub.https.window.js @@ -1,4 +1,5 @@ // META: script=helpers.js +// META: script=/cookies/resources/cookie-helper.sub.js // META: script=/resources/testdriver.js // META: script=/resources/testdriver-vendor.js 'use strict'; @@ -19,22 +20,25 @@ if (!topLevelDocument) { } // Common tests to run in all frames. -test(() => { +promise_test(async () => { assert_not_equals(document.requestStorageAccess, undefined); }, "[" + testPrefix + "] document.requestStorageAccess() should exist on the document interface"); -// Promise tests should all start with the feature in "prompt" state. -promise_setup(async () => { - await test_driver.set_permission( - { name: 'storage-access' }, 'prompt'); -}); +// Most tests need to start with the feature in "prompt" state. +async function CommonSetup() { + await test_driver.set_permission({ name: 'storage-access' }, 'prompt'); +} promise_test( async t => { + await CommonSetup(); if (topLevelDocument || !testPrefix.includes('cross-site') || testPrefix.includes('ABA')) { await document.requestStorageAccess().catch(t.unreached_func( 'document.requestStorageAccess() call should resolve in top-level frame or same-site iframe.')); + + assert_true(await CanAccessCookiesViaHTTP(), 'After obtaining storage access, subresource requests from the frame should send and set cookies.'); + assert_true(CanAccessCookiesViaJS(), 'After obtaining storage access, scripts in the frame should be able to access cookies.'); } else { return promise_rejects_dom( t, "NotAllowedError", document.requestStorageAccess(), @@ -46,6 +50,7 @@ promise_test( promise_test( async (t) => { + await CommonSetup(); await MaybeSetStorageAccess("*", "*", "blocked"); await test_driver.set_permission({name: 'storage-access'}, 'granted'); t.add_cleanup(async () => { @@ -54,12 +59,8 @@ promise_test( await document.requestStorageAccess(); - await fetch(`${window.location.origin}/cookies/resources/set-cookie.py?name=cookie&path=/&samesite=None&secure=`) - .then((resp) => resp.text()); - const httpCookies = await fetch(`${window.location.origin}/storage-access-api/resources/echo-cookie-header.py`) - .then((resp) => resp.text()); - assert_true(httpCookies.includes('cookie=1'), - 'After obtaining storage access, subresource requests from the frame should send and set cookies.'); + assert_true(await CanAccessCookiesViaHTTP(), 'After obtaining storage access, subresource requests from the frame should send and set cookies.'); + assert_true(CanAccessCookiesViaJS(), 'After obtaining storage access, scripts in the frame should be able to access cookies.'); }, '[' + testPrefix + '] document.requestStorageAccess() should be resolved with no user gesture when a permission grant exists, and ' + @@ -68,6 +69,7 @@ promise_test( if (testPrefix.includes('cross-site')) { promise_test( async t => { + await CommonSetup(); await RunCallbackWithGesture(() => { return promise_rejects_dom(t, "NotAllowedError", document.requestStorageAccess(), "document.requestStorageAccess() call without permission"); @@ -91,7 +93,11 @@ if (testPrefix.includes('cross-site')) { } else { promise_test( async () => { + await CommonSetup(); await document.requestStorageAccess(); + + assert_true(await CanAccessCookiesViaHTTP(), 'After obtaining storage access, subresource requests from the frame should send and set cookies.'); + assert_true(CanAccessCookiesViaJS(), 'After obtaining storage access, scripts in the frame should be able to access cookies.'); }, `[${testPrefix}] document.requestStorageAccess() should resolve without permission grant or user gesture`); @@ -101,6 +107,9 @@ if (testPrefix.includes('cross-site')) { {name: 'storage-access'}, 'denied'); await document.requestStorageAccess(); + + assert_true(await CanAccessCookiesViaHTTP(), 'After obtaining storage access, subresource requests from the frame should send and set cookies.'); + assert_true(CanAccessCookiesViaJS(), 'After obtaining storage access, scripts in the frame should be able to access cookies.'); }, `[${testPrefix}] document.requestStorageAccess() should resolve with denied permission`); } diff --git a/tests/wpt/web-platform-tests/storage-access-api/resources/embedded_responder.js b/tests/wpt/web-platform-tests/storage-access-api/resources/embedded_responder.js index 6d4209608e4..ab1ab30f696 100644 --- a/tests/wpt/web-platform-tests/storage-access-api/resources/embedded_responder.js +++ b/tests/wpt/web-platform-tests/storage-access-api/resources/embedded_responder.js @@ -34,7 +34,7 @@ window.addEventListener("message", async (event) => { case "observe_permission_change": const status = await navigator.permissions.query({name: "storage-access"}); status.addEventListener("change", (event) => { - reply(status.state) + reply(event.target.state) }, { once: true }); break; case "reload": diff --git a/tests/wpt/web-platform-tests/storage-access-api/resources/requestStorageAccess-iframe.https.html b/tests/wpt/web-platform-tests/storage-access-api/resources/requestStorageAccess-iframe.https.html index 4880464a257..828af799e6c 100644 --- a/tests/wpt/web-platform-tests/storage-access-api/resources/requestStorageAccess-iframe.https.html +++ b/tests/wpt/web-platform-tests/storage-access-api/resources/requestStorageAccess-iframe.https.html @@ -6,5 +6,6 @@ <script src="/resources/testdriver-vendor.js"></script> <!-- no testharnessreport.js --> <script src="../helpers.js"></script> +<script src="/cookies/resources/cookie-helper.sub.js"></script> <div id=log></div> <script src="/storage-access-api/requestStorageAccess.sub.https.window.js"></script> diff --git a/tests/wpt/web-platform-tests/storage/partitioned-estimate-usage-details-caches.tentative.https.sub.html b/tests/wpt/web-platform-tests/storage/partitioned-estimate-usage-details-caches.tentative.https.sub.html index 2eac826eb10..dc2af7c213c 100644 --- a/tests/wpt/web-platform-tests/storage/partitioned-estimate-usage-details-caches.tentative.https.sub.html +++ b/tests/wpt/web-platform-tests/storage/partitioned-estimate-usage-details-caches.tentative.https.sub.html @@ -28,19 +28,23 @@ `/resources/partitioned-estimate-usage-details-caches-helper-frame.html` document.body.appendChild(iframe); + async_test(test => { if (location.origin === alt_origin) return; - let cache, cache_url; - test.step(async () => { - details.init = await usageDetails(); - [cache, cache_url] = await createSomeUsage(test); - details.after = await usageDetails(); - assert_greater_than(details.after, details.init); - iframe.contentWindow.postMessage("get-details", iframe.origin); - }); + let cache, cache_url; + window.addEventListener("message", test.step_func(async event => { + if (event.data === "iframe-is-ready") { + details.init = await usageDetails(); + [cache, cache_url] = await createSomeUsage(test); + details.after = await usageDetails(); + assert_greater_than(details.after, details.init); + + iframe.contentWindow.postMessage("get-details", iframe.origin); + } + })); window.addEventListener("message", test.step_func(event => { if (event.data.source === "same-site") { @@ -48,6 +52,7 @@ const cross_site_window = window .open(`${alt_origin}${location.pathname}`, "", "noopener=false"); + test.add_cleanup(() => cross_site_window.close()); } if (event.data.source === "cross-site") { diff --git a/tests/wpt/web-platform-tests/storage/partitioned-estimate-usage-details-indexeddb.tentative.https.sub.html b/tests/wpt/web-platform-tests/storage/partitioned-estimate-usage-details-indexeddb.tentative.https.sub.html index a58d5426543..98a1ed8da25 100644 --- a/tests/wpt/web-platform-tests/storage/partitioned-estimate-usage-details-indexeddb.tentative.https.sub.html +++ b/tests/wpt/web-platform-tests/storage/partitioned-estimate-usage-details-indexeddb.tentative.https.sub.html @@ -46,14 +46,16 @@ return; let db; - test.step(async () => { - details.init = await usageDetails(); - db = await createSomeUsage(test); - details.after = await usageDetails(); - assert_greater_than(details.after, details.init); + window.addEventListener("message", test.step_func(async event => { + if (event.data === "iframe-is-ready") { + details.init = await usageDetails(); + db = await createSomeUsage(test); + details.after = await usageDetails(); + assert_greater_than(details.after, details.init); - iframe.contentWindow.postMessage("get-details", iframe.origin); - }); + iframe.contentWindow.postMessage("get-details", iframe.origin); + } + })); window.addEventListener("message", test.step_func(event => { if (event.data.source === "same-site") { diff --git a/tests/wpt/web-platform-tests/storage/partitioned-estimate-usage-details-service-workers.tentative.https.sub.html b/tests/wpt/web-platform-tests/storage/partitioned-estimate-usage-details-service-workers.tentative.https.sub.html index 9f283e300a6..c52ca34e68e 100644 --- a/tests/wpt/web-platform-tests/storage/partitioned-estimate-usage-details-service-workers.tentative.https.sub.html +++ b/tests/wpt/web-platform-tests/storage/partitioned-estimate-usage-details-service-workers.tentative.https.sub.html @@ -41,8 +41,8 @@ let details = {}; const iframe = document.createElement("iframe"); - iframe.src = `https://{{host}}:{{ports[https][0]}}${testPath()}/resources`+ - `/partitioned-estimate-usage-details-service-workers-helper-frame.html` + iframe.src = `https://{{host}}:{{ports[https][0]}}${testPath()}/resources` + + `/partitioned-estimate-usage-details-service-workers-helper-frame.html` document.body.appendChild(iframe); async_test(test => { @@ -50,14 +50,16 @@ return; let service_worker_registration; - test.step(async () => { - details.init = await usageDetails(); - service_worker_registration = await createSomeUsage(); - details.after = await usageDetails(); - assert_greater_than(details.after, details.init); + window.addEventListener("message", test.step_func(async event => { + if (event.data === "iframe-is-ready") { + details.init = await usageDetails(); + service_worker_registration = await createSomeUsage(); + details.after = await usageDetails(); + assert_greater_than(details.after, details.init); - iframe.contentWindow.postMessage("get-details", iframe.origin); - }); + iframe.contentWindow.postMessage("get-details", iframe.origin); + } + })); window.addEventListener("message", test.step_func(event => { if (event.data.source === "same-site") { diff --git a/tests/wpt/web-platform-tests/storage/resources/partitioned-estimate-usage-details-caches-helper-frame.html b/tests/wpt/web-platform-tests/storage/resources/partitioned-estimate-usage-details-caches-helper-frame.html index 13786d7ceaf..0679c1decf5 100644 --- a/tests/wpt/web-platform-tests/storage/resources/partitioned-estimate-usage-details-caches-helper-frame.html +++ b/tests/wpt/web-platform-tests/storage/resources/partitioned-estimate-usage-details-caches-helper-frame.html @@ -25,4 +25,6 @@ parent.opener.postMessage(details, parent.opener.origin); } }); + + window.parent.postMessage("iframe-is-ready", window.parent.origin); </script> diff --git a/tests/wpt/web-platform-tests/storage/resources/partitioned-estimate-usage-details-indexeddb-helper-frame.html b/tests/wpt/web-platform-tests/storage/resources/partitioned-estimate-usage-details-indexeddb-helper-frame.html index 80f9cca27d6..fd2cfb669bd 100644 --- a/tests/wpt/web-platform-tests/storage/resources/partitioned-estimate-usage-details-indexeddb-helper-frame.html +++ b/tests/wpt/web-platform-tests/storage/resources/partitioned-estimate-usage-details-indexeddb-helper-frame.html @@ -23,4 +23,6 @@ parent.opener.postMessage(details, parent.opener.origin); } }); + + window.parent.postMessage("iframe-is-ready", window.parent.origin); </script> diff --git a/tests/wpt/web-platform-tests/storage/resources/partitioned-estimate-usage-details-service-workers-helper-frame.html b/tests/wpt/web-platform-tests/storage/resources/partitioned-estimate-usage-details-service-workers-helper-frame.html index 29d91a95d71..25d7554868f 100644 --- a/tests/wpt/web-platform-tests/storage/resources/partitioned-estimate-usage-details-service-workers-helper-frame.html +++ b/tests/wpt/web-platform-tests/storage/resources/partitioned-estimate-usage-details-service-workers-helper-frame.html @@ -25,4 +25,6 @@ parent.opener.postMessage(details, parent.opener.origin); } }); + + window.parent.postMessage("iframe-is-ready", window.parent.origin); </script> diff --git a/tests/wpt/web-platform-tests/streams/transform-streams/invalid-realm.tentative.window.js b/tests/wpt/web-platform-tests/streams/transform-streams/invalid-realm.tentative.window.js new file mode 100644 index 00000000000..57cdfd94862 --- /dev/null +++ b/tests/wpt/web-platform-tests/streams/transform-streams/invalid-realm.tentative.window.js @@ -0,0 +1,17 @@ +// TransformStream should still work even if the realm is detached. + +// Adds an iframe to the document and returns it. +function addIframe() { + const iframe = document.createElement('iframe'); + document.body.appendChild(iframe); + return iframe; +} + +promise_test(async t => { + const iframe = addIframe(); + const stream = new iframe.contentWindow.TransformStream(); + const readPromise = stream.readable.getReader().read(); + const writer = stream.writable.getWriter(); + iframe.remove(); + return Promise.all([writer.write('A'), readPromise]); +}, 'TransformStream: write in detached realm should succeed'); diff --git a/tests/wpt/web-platform-tests/svg/embedded/image-embedding-svg-with-near-integral-width-ref.html b/tests/wpt/web-platform-tests/svg/embedded/image-embedding-svg-with-near-integral-width-ref.html new file mode 100644 index 00000000000..655d982b16c --- /dev/null +++ b/tests/wpt/web-platform-tests/svg/embedded/image-embedding-svg-with-near-integral-width-ref.html @@ -0,0 +1,7 @@ +<!doctype html> +<title>Rendering of an <img> embedding an SVG with a near-integral width (reference)</title> +<img src="data:image/svg+xml, + <svg xmlns='http://www.w3.org/2000/svg' width='100' height='100'> + <rect width='100%' height='100%' fill='green'/> + </svg> +" style="left: 7.5px; top: 8px; position: absolute"> diff --git a/tests/wpt/web-platform-tests/svg/embedded/image-embedding-svg-with-near-integral-width.html b/tests/wpt/web-platform-tests/svg/embedded/image-embedding-svg-with-near-integral-width.html new file mode 100644 index 00000000000..8f3ecab4410 --- /dev/null +++ b/tests/wpt/web-platform-tests/svg/embedded/image-embedding-svg-with-near-integral-width.html @@ -0,0 +1,14 @@ +<!doctype html> +<title>Rendering of an <img> embedding an SVG with a near-integral width</title> +<link rel="help" href="https://crbug.com/1392140"> +<link rel="match" href="image-embedding-svg-with-near-integral-width-ref.html"> +<img src="data:image/svg+xml, + <svg xmlns='http://www.w3.org/2000/svg' width='100' height='100'> + <rect width='100%' height='100%' fill='red'/> + </svg> +" style="left: 7.5px; top: 8px; position: absolute"> +<img src="data:image/svg+xml, + <svg xmlns='http://www.w3.org/2000/svg' width='99.99999' height='100'> + <rect width='100%' height='100%' fill='green'/> + </svg> +" style="left: 7.5px; top: 8px; position: absolute"> diff --git a/tests/wpt/web-platform-tests/svg/painting/color-interpolation-animation.html b/tests/wpt/web-platform-tests/svg/painting/color-interpolation-animation.html new file mode 100644 index 00000000000..14a3fd65fe5 --- /dev/null +++ b/tests/wpt/web-platform-tests/svg/painting/color-interpolation-animation.html @@ -0,0 +1,15 @@ +<!DOCTYPE html> +<link rel=author href="mailto:jarhar@chromium.org"> +<link rel=help href="https://github.com/w3c/csswg-drafts/issues/4441"> +<script src="/resources/testharness.js"></script> +<script src="/resources/testharnessreport.js"></script> +<script src="/css/support/interpolation-testcommon.js"></script> + +<body> +<script> +test_no_interpolation({ + property: 'color-interpolation', + from: 'initial', + to: 'auto' +}); +</script> diff --git a/tests/wpt/web-platform-tests/svg/painting/fill-rule-no-interpolation.html b/tests/wpt/web-platform-tests/svg/painting/fill-rule-no-interpolation.html new file mode 100644 index 00000000000..85f563e1502 --- /dev/null +++ b/tests/wpt/web-platform-tests/svg/painting/fill-rule-no-interpolation.html @@ -0,0 +1,15 @@ +<!DOCTYPE html> +<link rel=author href="mailto:jarhar@chromium.org"> +<link rel=help href="https://github.com/w3c/csswg-drafts/issues/4441"> +<script src="/resources/testharness.js"></script> +<script src="/resources/testharnessreport.js"></script> +<script src="/css/support/interpolation-testcommon.js"></script> + +<body> +<script> +test_no_interpolation({ + property: 'fill-rule', + from: 'initial', + to: 'evenodd' +}); +</script> diff --git a/tests/wpt/web-platform-tests/svg/styling/invalidation/nth-child-of-class.svg b/tests/wpt/web-platform-tests/svg/styling/invalidation/nth-child-of-class.svg index e51cd2cf392..a91f421337c 100644 --- a/tests/wpt/web-platform-tests/svg/styling/invalidation/nth-child-of-class.svg +++ b/tests/wpt/web-platform-tests/svg/styling/invalidation/nth-child-of-class.svg @@ -1,4 +1,4 @@ -<svg xmlns="http://www.w3.org/2000/svg" xmlns:h="http://www.w3.org/1999/xhtml"> +<svg xmlns="http://www.w3.org/2000/svg" xmlns:h="http://www.w3.org/1999/xhtml" class="reftest-wait"> <title>CSS Selectors Invalidation: :nth-child(... of class) in SVG</title> <h:link rel="match" href="nth-child-of-class-ref.svg"/> <h:link rel="help" href="https://drafts.csswg.org/selectors-4/#nth-child-pseudo"/> diff --git a/tests/wpt/web-platform-tests/svg/styling/invalidation/nth-last-child-of-class.svg b/tests/wpt/web-platform-tests/svg/styling/invalidation/nth-last-child-of-class.svg index 2af65076859..ff439bf17b1 100644 --- a/tests/wpt/web-platform-tests/svg/styling/invalidation/nth-last-child-of-class.svg +++ b/tests/wpt/web-platform-tests/svg/styling/invalidation/nth-last-child-of-class.svg @@ -1,4 +1,4 @@ -<svg xmlns="http://www.w3.org/2000/svg" xmlns:h="http://www.w3.org/1999/xhtml"> +<svg xmlns="http://www.w3.org/2000/svg" xmlns:h="http://www.w3.org/1999/xhtml" class="reftest-wait"> <title>CSS Selectors Invalidation: :nth-last-child(... of class) in SVG</title> <h:link rel="match" href="nth-child-of-class-ref.svg"/> <h:link rel="help" href="https://drafts.csswg.org/selectors-4/#nth-last-child-pseudo"/> diff --git a/tests/wpt/web-platform-tests/tools/ci/requirements_tc.txt b/tests/wpt/web-platform-tests/tools/ci/requirements_tc.txt index 95753d91681..53b10f8dcaa 100644 --- a/tests/wpt/web-platform-tests/tools/ci/requirements_tc.txt +++ b/tests/wpt/web-platform-tests/tools/ci/requirements_tc.txt @@ -1,4 +1,4 @@ pygithub==1.58.1 pyyaml==6.0 requests==2.28.2 -taskcluster==47.0.2 +taskcluster==48.2.1 diff --git a/tests/wpt/web-platform-tests/tools/lint/lint.py b/tests/wpt/web-platform-tests/tools/lint/lint.py index f51e451a4d1..89ecee8035c 100644 --- a/tests/wpt/web-platform-tests/tools/lint/lint.py +++ b/tests/wpt/web-platform-tests/tools/lint/lint.py @@ -1134,7 +1134,7 @@ file_lints = [check_regexp_line, check_parsed, check_python_ast, check_script_me try: subprocess.check_output(["git", "--version"]) all_paths_lints += [check_git_ignore] -except subprocess.CalledProcessError: +except (subprocess.CalledProcessError, FileNotFoundError): print('No git present; skipping .gitignore lint.') if __name__ == "__main__": diff --git a/tests/wpt/web-platform-tests/tools/manifest/tests/test_manifest.py b/tests/wpt/web-platform-tests/tools/manifest/tests/test_manifest.py index 5e10d9f06ad..73a6c7e1421 100644 --- a/tests/wpt/web-platform-tests/tools/manifest/tests/test_manifest.py +++ b/tests/wpt/web-platform-tests/tools/manifest/tests/test_manifest.py @@ -121,8 +121,8 @@ def manifest_tree(draw): return output -@pytest.mark.skipif(sys.version_info.major == 3 and sys.version_info.minor == 10, - reason="Deadlock on shutdown with Python 3.10") +@pytest.mark.skipif(sys.version_info[:3] in ((3, 10, 10), (3, 11, 2)), + reason="https://github.com/python/cpython/issues/102126") @h.given(manifest_tree()) # FIXME: Workaround for https://github.com/web-platform-tests/wpt/issues/22758 @h.settings(suppress_health_check=(h.HealthCheck.too_slow,)) @@ -142,8 +142,8 @@ def test_manifest_to_json(s): assert loaded.to_json() == json_str -@pytest.mark.skipif(sys.version_info.major == 3 and sys.version_info.minor == 10, - reason="Deadlock on shutdown with Python 3.10") +@pytest.mark.skipif(sys.version_info[:3] in ((3, 10, 10), (3, 11, 2)), + reason="https://github.com/python/cpython/issues/102126") @h.given(manifest_tree()) # FIXME: Workaround for https://github.com/web-platform-tests/wpt/issues/22758 @h.settings(suppress_health_check=(h.HealthCheck.too_slow,)) diff --git a/tests/wpt/web-platform-tests/tools/requirements_mypy.txt b/tests/wpt/web-platform-tests/tools/requirements_mypy.txt index c870f081863..ff878deb613 100644 --- a/tests/wpt/web-platform-tests/tools/requirements_mypy.txt +++ b/tests/wpt/web-platform-tests/tools/requirements_mypy.txt @@ -4,9 +4,9 @@ toml==0.10.2 typed-ast==1.5.4 types-atomicwrites==1.4.5 types-python-dateutil==2.8.19 -types-PyYAML==6.0.12.3 +types-PyYAML==6.0.12.9 types-requests==2.28.11.16 types-setuptools==67.6.0.5 -types-six==1.16.21.7 +types-six==1.16.21.8 types-ujson==4.2.1 typing-extensions==4.1.1 diff --git a/tests/wpt/web-platform-tests/tools/requirements_pytest.txt b/tests/wpt/web-platform-tests/tools/requirements_pytest.txt index a724ff23e51..0bb151cb644 100644 --- a/tests/wpt/web-platform-tests/tools/requirements_pytest.txt +++ b/tests/wpt/web-platform-tests/tools/requirements_pytest.txt @@ -1,3 +1,3 @@ -pytest==7.0.1 +pytest==7.2.2 pytest-cov==4.0.0 -hypothesis==6.70.0 +hypothesis==6.70.1 diff --git a/tests/wpt/web-platform-tests/tools/requirements_tests.txt b/tests/wpt/web-platform-tests/tools/requirements_tests.txt index 8871b8c7d2a..26bf23a7f5e 100644 --- a/tests/wpt/web-platform-tests/tools/requirements_tests.txt +++ b/tests/wpt/web-platform-tests/tools/requirements_tests.txt @@ -2,4 +2,4 @@ httpx[http2]==0.23.3 json-e==4.5.1 jsonschema==4.17.3 pyyaml==6.0 -taskcluster==47.0.2 +taskcluster==48.2.1 diff --git a/tests/wpt/web-platform-tests/tools/webtransport/META.yml b/tests/wpt/web-platform-tests/tools/webtransport/META.yml index b0e446dd5f9..9fd58ced3ec 100644 --- a/tests/wpt/web-platform-tests/tools/webtransport/META.yml +++ b/tests/wpt/web-platform-tests/tools/webtransport/META.yml @@ -1,3 +1,3 @@ suggested_reviewers: - bashi - - yutakahirano + - nidhijaju diff --git a/tests/wpt/web-platform-tests/tools/webtransport/h3/capsule.py b/tests/wpt/web-platform-tests/tools/webtransport/h3/capsule.py index 8844dbc8c73..74ca71ade9c 100644 --- a/tests/wpt/web-platform-tests/tools/webtransport/h3/capsule.py +++ b/tests/wpt/web-platform-tests/tools/webtransport/h3/capsule.py @@ -10,11 +10,14 @@ from aioquic.buffer import UINT_VAR_MAX_SIZE, Buffer, BufferReadError # type: i class CapsuleType(IntEnum): # Defined in - # https://www.ietf.org/archive/id/draft-ietf-masque-h3-datagram-03.html. - DATAGRAM = 0xff37a0 - REGISTER_DATAGRAM_CONTEXT = 0xff37a1 - REGISTER_DATAGRAM_NO_CONTEXT = 0xff37a2 - CLOSE_DATAGRAM_CONTEXT = 0xff37a3 + # https://datatracker.ietf.org/doc/html/draft-ietf-masque-h3-datagram-04#section-8.2 + DATAGRAM_DRAFT04 = 0xff37a0 + REGISTER_DATAGRAM_CONTEXT_DRAFT04 = 0xff37a1 + REGISTER_DATAGRAM_NO_CONTEXT_DRAFT04 = 0xff37a2 + CLOSE_DATAGRAM_CONTEXT_DRAFT04 = 0xff37a3 + # Defined in + # https://datatracker.ietf.org/doc/html/rfc9297#section-5.4 + DATAGRAM_RFC = 0x00 # Defined in # https://www.ietf.org/archive/id/draft-ietf-webtrans-http3-01.html. CLOSE_WEBTRANSPORT_SESSION = 0x2843 @@ -25,6 +28,7 @@ class H3Capsule: Represents the Capsule concept defined in https://ietf-wg-masque.github.io/draft-ietf-masque-h3-datagram/draft-ietf-masque-h3-datagram.html#name-capsules. """ + def __init__(self, type: int, data: bytes) -> None: """ :param type the type of this Capsule. We don't use CapsuleType here @@ -50,6 +54,7 @@ class H3CapsuleDecoder: A decoder of H3Capsule. This is a streaming decoder and can handle multiple decoders. """ + def __init__(self) -> None: self._buffer: Optional[Buffer] = None self._type: Optional[int] = None diff --git a/tests/wpt/web-platform-tests/tools/webtransport/h3/webtransport_h3_server.py b/tests/wpt/web-platform-tests/tools/webtransport/h3/webtransport_h3_server.py index c59ffcbffc9..6384a5aefb2 100644 --- a/tests/wpt/web-platform-tests/tools/webtransport/h3/webtransport_h3_server.py +++ b/tests/wpt/web-platform-tests/tools/webtransport/h3/webtransport_h3_server.py @@ -7,6 +7,7 @@ import ssl import sys import threading import traceback +from enum import IntEnum from urllib.parse import urlparse from typing import Any, Dict, List, Optional, Tuple @@ -14,7 +15,7 @@ from typing import Any, Dict, List, Optional, Tuple from aioquic.buffer import Buffer # type: ignore from aioquic.asyncio import QuicConnectionProtocol, serve # type: ignore from aioquic.asyncio.client import connect # type: ignore -from aioquic.h3.connection import H3_ALPN, FrameType, H3Connection, ProtocolError, Setting # type: ignore +from aioquic.h3.connection import H3_ALPN, FrameType, H3Connection, ProtocolError # type: ignore from aioquic.h3.events import H3Event, HeadersReceived, WebTransportStreamDataReceived, DatagramReceived, DataReceived # type: ignore from aioquic.quic.configuration import QuicConfiguration # type: ignore from aioquic.quic.connection import logger as quic_connection_logger # type: ignore @@ -44,46 +45,49 @@ _doc_root: str = "" quic_connection_logger.setLevel(logging.WARNING) -class H3ConnectionWithDatagram04(H3Connection): +class H3DatagramSetting(IntEnum): + # https://datatracker.ietf.org/doc/html/draft-ietf-masque-h3-datagram-04#section-8.1 + DRAFT04 = 0xffd277 + # https://datatracker.ietf.org/doc/html/rfc9220#section-5-2.2.1 + RFC = 0x33 + + +class H3ConnectionWithDatagram(H3Connection): """ A H3Connection subclass, to make it work with the latest HTTP Datagram protocol. """ - H3_DATAGRAM_04 = 0xffd277 - # https://datatracker.ietf.org/doc/html/draft-ietf-httpbis-h3-websockets-00#section-5 + # https://datatracker.ietf.org/doc/html/rfc9220#name-iana-considerations ENABLE_CONNECT_PROTOCOL = 0x08 def __init__(self, *args: Any, **kwargs: Any) -> None: super().__init__(*args, **kwargs) - self._supports_h3_datagram_04 = False + self._datagram_setting: Optional[H3DatagramSetting] = None def _validate_settings(self, settings: Dict[int, int]) -> None: - H3_DATAGRAM_04 = H3ConnectionWithDatagram04.H3_DATAGRAM_04 - if H3_DATAGRAM_04 in settings and settings[H3_DATAGRAM_04] == 1: - settings[Setting.H3_DATAGRAM] = 1 - self._supports_h3_datagram_04 = True - return super()._validate_settings(settings) + super()._validate_settings(settings) + if settings.get(H3DatagramSetting.RFC) == 1: + self._datagram_setting = H3DatagramSetting.RFC + elif settings.get(H3DatagramSetting.DRAFT04) == 1: + self._datagram_setting = H3DatagramSetting.DRAFT04 def _get_local_settings(self) -> Dict[int, int]: - H3_DATAGRAM_04 = H3ConnectionWithDatagram04.H3_DATAGRAM_04 settings = super()._get_local_settings() - settings[H3_DATAGRAM_04] = 1 - settings[H3ConnectionWithDatagram04.ENABLE_CONNECT_PROTOCOL] = 1 + settings[H3DatagramSetting.RFC] = 1 + settings[H3DatagramSetting.DRAFT04] = 1 + settings[H3ConnectionWithDatagram.ENABLE_CONNECT_PROTOCOL] = 1 return settings @property - def supports_h3_datagram_04(self) -> bool: - """ - True if the client supports the latest HTTP Datagram protocol. - """ - return self._supports_h3_datagram_04 + def datagram_setting(self) -> Optional[H3DatagramSetting]: + return self._datagram_setting class WebTransportH3Protocol(QuicConnectionProtocol): def __init__(self, *args: Any, **kwargs: Any) -> None: super().__init__(*args, **kwargs) self._handler: Optional[Any] = None - self._http: Optional[H3ConnectionWithDatagram04] = None + self._http: Optional[H3ConnectionWithDatagram] = None self._session_stream_id: Optional[int] = None self._close_info: Optional[Tuple[int, bytes]] = None self._capsule_decoder_for_session_stream: H3CapsuleDecoder =\ @@ -93,9 +97,9 @@ class WebTransportH3Protocol(QuicConnectionProtocol): def quic_event_received(self, event: QuicEvent) -> None: if isinstance(event, ProtocolNegotiated): - self._http = H3ConnectionWithDatagram04( + self._http = H3ConnectionWithDatagram( self._quic, enable_webtransport=True) - if not self._http.supports_h3_datagram_04: + if self._http.datagram_setting != H3DatagramSetting.DRAFT04: self._allow_datagrams = True if self._http is not None: @@ -130,7 +134,7 @@ class WebTransportH3Protocol(QuicConnectionProtocol): if isinstance(event, DataReceived) and\ self._session_stream_id == event.stream_id: - if self._http and not self._http.supports_h3_datagram_04 and\ + if self._http and not self._http.datagram_setting and\ len(event.data) > 0: raise ProtocolError('Unexpected data on the session stream') self._receive_data_on_session_stream( @@ -146,47 +150,74 @@ class WebTransportH3Protocol(QuicConnectionProtocol): self._handler.datagram_received(data=event.data) def _receive_data_on_session_stream(self, data: bytes, fin: bool) -> None: - self._capsule_decoder_for_session_stream.append(data) + assert self._http is not None + if len(data) > 0: + self._capsule_decoder_for_session_stream.append(data) if fin: self._capsule_decoder_for_session_stream.final() for capsule in self._capsule_decoder_for_session_stream: - if capsule.type in {CapsuleType.DATAGRAM, - CapsuleType.REGISTER_DATAGRAM_CONTEXT, - CapsuleType.CLOSE_DATAGRAM_CONTEXT}: - raise ProtocolError( - f"Unimplemented capsule type: {capsule.type}") - if capsule.type in {CapsuleType.REGISTER_DATAGRAM_NO_CONTEXT, - CapsuleType.CLOSE_WEBTRANSPORT_SESSION}: - # We'll handle this case below. - pass - else: - # We should ignore unknown capsules. - continue - if self._close_info is not None: raise ProtocolError(( "Receiving a capsule with type = {} after receiving " + "CLOSE_WEBTRANSPORT_SESSION").format(capsule.type)) + assert self._http.datagram_setting is not None + if self._http.datagram_setting == H3DatagramSetting.RFC: + self._receive_h3_datagram_rfc_capsule_data( + capsule=capsule, fin=fin) + elif self._http.datagram_setting == H3DatagramSetting.DRAFT04: + self._receive_h3_datagram_draft04_capsule_data( + capsule=capsule, fin=fin) - if capsule.type == CapsuleType.REGISTER_DATAGRAM_NO_CONTEXT: - buffer = Buffer(data=capsule.data) - format_type = buffer.pull_uint_var() - # https://ietf-wg-webtrans.github.io/draft-ietf-webtrans-http3/draft-ietf-webtrans-http3.html#name-datagram-format-type - WEBTRANPORT_FORMAT_TYPE = 0xff7c00 - if format_type != WEBTRANPORT_FORMAT_TYPE: - raise ProtocolError( - "Unexpected datagram format type: {}".format( - format_type)) - self._allow_datagrams = True - elif capsule.type == CapsuleType.CLOSE_WEBTRANSPORT_SESSION: - buffer = Buffer(data=capsule.data) - code = buffer.pull_uint32() - # 4 bytes for the uint32. - reason = buffer.pull_bytes(len(capsule.data) - 4) - # TODO(yutakahirano): Make sure `reason` is a UTF-8 text. - self._close_info = (code, reason) - if fin: - self._call_session_closed(self._close_info, abruptly=False) + def _receive_h3_datagram_rfc_capsule_data(self, capsule: H3Capsule, fin: bool) -> None: + if capsule.type == CapsuleType.DATAGRAM_RFC: + raise ProtocolError( + f"Unimplemented capsule type: {capsule.type}") + elif capsule.type == CapsuleType.CLOSE_WEBTRANSPORT_SESSION: + self._set_close_info_and_may_close_session( + data=capsule.data, fin=fin) + else: + # Ignore unknown capsules. + return + + def _receive_h3_datagram_draft04_capsule_data( + self, capsule: H3Capsule, fin: bool) -> None: + if capsule.type in {CapsuleType.DATAGRAM_DRAFT04, + CapsuleType.REGISTER_DATAGRAM_CONTEXT_DRAFT04, + CapsuleType.CLOSE_DATAGRAM_CONTEXT_DRAFT04}: + raise ProtocolError( + f"Unimplemented capsule type: {capsule.type}") + if capsule.type in {CapsuleType.REGISTER_DATAGRAM_NO_CONTEXT_DRAFT04, + CapsuleType.CLOSE_WEBTRANSPORT_SESSION}: + # We'll handle this case below. + pass + else: + # We should ignore unknown capsules. + return + + if capsule.type == CapsuleType.REGISTER_DATAGRAM_NO_CONTEXT_DRAFT04: + buffer = Buffer(data=capsule.data) + format_type = buffer.pull_uint_var() + # https://ietf-wg-webtrans.github.io/draft-ietf-webtrans-http3/draft-ietf-webtrans-http3.html#name-datagram-format-type + WEBTRANPORT_FORMAT_TYPE = 0xff7c00 + if format_type != WEBTRANPORT_FORMAT_TYPE: + raise ProtocolError( + "Unexpected datagram format type: {}".format( + format_type)) + self._allow_datagrams = True + elif capsule.type == CapsuleType.CLOSE_WEBTRANSPORT_SESSION: + self._set_close_info_and_may_close_session( + data=capsule.data, fin=fin) + + def _set_close_info_and_may_close_session( + self, data: bytes, fin: bool) -> None: + buffer = Buffer(data=data) + code = buffer.pull_uint32() + # 4 bytes for the uint32. + reason = buffer.pull_bytes(len(data) - 4) + # TODO(bashi): Make sure `reason` is a UTF-8 text. + self._close_info = (code, reason) + if fin: + self._call_session_closed(self._close_info, abruptly=False) def _send_error_response(self, stream_id: int, status_code: int) -> None: assert self._http is not None @@ -308,7 +339,8 @@ class WebTransportSession: buffer.push_bytes(reason) capsule =\ H3Capsule(CapsuleType.CLOSE_WEBTRANSPORT_SESSION, buffer.data) - self._http.send_data(session_stream_id, capsule.encode(), end_stream=False) + self._http.send_data( + session_stream_id, capsule.encode(), end_stream=False) self._http.send_data(session_stream_id, b'', end_stream=True) # TODO(yutakahirano): Reset all other streams. @@ -366,9 +398,9 @@ class WebTransportSession: "Sending a datagram while that's now allowed - discarding it") return flow_id = self.session_id - if self._http.supports_h3_datagram_04: - # The REGISTER_DATAGRAM_NO_CONTEXT capsule was on the session - # stream, so we must have the ID of the stream. + if self._http.datagram_setting is not None: + # We must have a WebTransport Session ID at this point because + # an extended CONNECT request is already received. assert self._protocol._session_stream_id is not None # TODO(yutakahirano): Make sure if this is the correct logic. # Chrome always use 0 for the initial stream and the initial flow @@ -439,6 +471,7 @@ class SessionTicketStore: """ Simple in-memory store for session tickets. """ + def __init__(self) -> None: self.tickets: Dict[bytes, SessionTicket] = {} @@ -460,6 +493,7 @@ class WebTransportH3Server: :param key_path: Path to key file to use. :param logger: a Logger object for this server. """ + def __init__(self, host: str, port: int, doc_root: str, cert_path: str, key_path: str, logger: Optional[logging.Logger]) -> None: self.host = host diff --git a/tests/wpt/web-platform-tests/tools/wpt/browser.py b/tests/wpt/web-platform-tests/tools/wpt/browser.py index 7d789f6a71c..d6c238a1f27 100644 --- a/tests/wpt/web-platform-tests/tools/wpt/browser.py +++ b/tests/wpt/web-platform-tests/tools/wpt/browser.py @@ -201,6 +201,7 @@ class Firefox(Browser): ("win", "x86"): "win", ("win", "AMD64"): "win64", ("macos", "x86_64"): "osx", + ("macos", "arm64"): "osx", } os_key = (self.platform, uname[4]) diff --git a/tests/wpt/web-platform-tests/tools/wpt/tests/test_install.py b/tests/wpt/web-platform-tests/tools/wpt/tests/test_install.py index 2ee8f2bc0a6..076db33e812 100644 --- a/tests/wpt/web-platform-tests/tools/wpt/tests/test_install.py +++ b/tests/wpt/web-platform-tests/tools/wpt/tests/test_install.py @@ -57,7 +57,7 @@ def test_install_chrome_chromedriver_by_version(): if os.path.exists(chromedriver_path): os.unlink(chromedriver_path) # This is a stable version. - binary_path = chrome.install_webdriver_by_version(dest=dest, version="84.0.4147.89") + binary_path = chrome.install_webdriver_by_version(dest=dest, version="111.0.5563.146") assert binary_path == chromedriver_path assert os.path.exists(chromedriver_path) os.unlink(chromedriver_path) diff --git a/tests/wpt/web-platform-tests/tools/wptrunner/requirements_edge.txt b/tests/wpt/web-platform-tests/tools/wptrunner/requirements_edge.txt index dfbdc6d9e34..96c17ff3c65 100644 --- a/tests/wpt/web-platform-tests/tools/wptrunner/requirements_edge.txt +++ b/tests/wpt/web-platform-tests/tools/wptrunner/requirements_edge.txt @@ -1 +1 @@ -selenium==4.8.2 +selenium==4.8.3 diff --git a/tests/wpt/web-platform-tests/tools/wptrunner/requirements_ie.txt b/tests/wpt/web-platform-tests/tools/wptrunner/requirements_ie.txt index 83948c668e4..e10c3e9564b 100644 --- a/tests/wpt/web-platform-tests/tools/wptrunner/requirements_ie.txt +++ b/tests/wpt/web-platform-tests/tools/wptrunner/requirements_ie.txt @@ -1,2 +1,2 @@ mozprocess==1.3.0 -selenium==4.8.2 +selenium==4.8.3 diff --git a/tests/wpt/web-platform-tests/tools/wptrunner/requirements_opera.txt b/tests/wpt/web-platform-tests/tools/wptrunner/requirements_opera.txt index 83948c668e4..e10c3e9564b 100644 --- a/tests/wpt/web-platform-tests/tools/wptrunner/requirements_opera.txt +++ b/tests/wpt/web-platform-tests/tools/wptrunner/requirements_opera.txt @@ -1,2 +1,2 @@ mozprocess==1.3.0 -selenium==4.8.2 +selenium==4.8.3 diff --git a/tests/wpt/web-platform-tests/tools/wptrunner/requirements_sauce.txt b/tests/wpt/web-platform-tests/tools/wptrunner/requirements_sauce.txt index 64fb1390c04..438bf984643 100644 --- a/tests/wpt/web-platform-tests/tools/wptrunner/requirements_sauce.txt +++ b/tests/wpt/web-platform-tests/tools/wptrunner/requirements_sauce.txt @@ -1,2 +1,2 @@ -selenium==4.8.2 +selenium==4.8.3 requests==2.28.2 diff --git a/tests/wpt/web-platform-tests/top-level-storage-access-api/tentative/requestStorageAccessFor-insecure.sub.window.js b/tests/wpt/web-platform-tests/top-level-storage-access-api/tentative/requestStorageAccessFor-insecure.sub.window.js index cd8e78f8f4b..0852483ce54 100644 --- a/tests/wpt/web-platform-tests/top-level-storage-access-api/tentative/requestStorageAccessFor-insecure.sub.window.js +++ b/tests/wpt/web-platform-tests/top-level-storage-access-api/tentative/requestStorageAccessFor-insecure.sub.window.js @@ -3,107 +3,60 @@ // META: script=/resources/testdriver-vendor.js 'use strict'; -// Note that this file follows the pattern in: -// storage-access-api/requestStorageAccess.sub.window.js -// -// Some tests are run at the top-level, and an iframe is added to validate API -// behavior in that context. +promise_test(async () => { + assert_not_equals(document.requestStorageAccessFor, undefined); +}, '[top-level-context] document.requestStorageAccessFor() should be supported on the document interface'); -// Prefix each test case with an indicator so we know what context they are run -// in if they are used in multiple iframes. -let testPrefix = 'insecure-context'; - -// Keep track of if we run these tests in a nested context, we don't want to -// recurse forever. -let topLevelDocument = true; - -// The query string allows derivation of test conditions, like whether the tests -// are running in a top-level context. -const queryParams = window.location.search.substring(1).split('&'); -queryParams.forEach((param) => { - if (param.toLowerCase() == 'rootdocument=false') { - topLevelDocument = false; - } else if (param.split('=')[0].toLowerCase() == 'testcase') { - testPrefix = param.split('=')[1]; - } -}); - -// TODO(crbug.com/1410556): when/if requestStorageAccessFor is standardized, -// we should consider upstreaming these helpers. -function RunRequestStorageAccessForInDetachedFrame(origin) { - const nestedFrame = document.createElement('iframe'); - document.body.append(nestedFrame); - const inner_doc = nestedFrame.contentDocument; - nestedFrame.remove(); - return inner_doc.requestStorageAccessFor(origin); -} - -function RunRequestStorageAccessForViaDomParser(origin) { - const parser = new DOMParser(); - const doc = parser.parseFromString('<html></html>', 'text/html'); - return doc.requestStorageAccessFor(origin); -} - -// Common tests to run in all frames. -test( - () => { - assert_not_equals(document.requestStorageAccessFor, undefined); +promise_test( + t => { + return promise_rejects_dom(t, 'NotAllowedError', + document.requestStorageAccessFor('https://test.com'), + 'document.requestStorageAccessFor() call without user gesture'); }, - '[' + testPrefix + - '] document.requestStorageAccessFor() should be supported on the document interface'); + '[top-level-context] document.requestStorageAccessFor() should be rejected by default with no user gesture'); -if (topLevelDocument) { - promise_test( - t => { - return promise_rejects_dom(t, 'NotAllowedError', - document.requestStorageAccessFor('https://test.com'), - 'document.requestStorageAccessFor() call without user gesture'); - }, - '[' + testPrefix + - '] document.requestStorageAccessFor() should be rejected by default with no user gesture'); +promise_test(async t => { + const description = + 'document.requestStorageAccessFor() call in a detached frame'; + // Can't use promise_rejects_dom here because the exception is from the wrong global. + return CreateDetachedFrame().requestStorageAccessFor('https://foo.com') + .then(t.unreached_func('Should have rejected: ' + description)) + .catch((e) => { + assert_equals(e.name, 'InvalidStateError', description); + }); +}, '[non-fully-active] document.requestStorageAccessFor() should not resolve when run in a detached frame'); - promise_test(async t => { - const description = - 'document.requestStorageAccessFor() call in a detached frame'; - // Can't use promise_rejects_dom here because the exception is from the wrong global. - return RunRequestStorageAccessForInDetachedFrame('https://foo.com') - .then(t.unreached_func('Should have rejected: ' + description)) - .catch((e) => { - assert_equals(e.name, 'InvalidStateError', description); - }); - }, '[non-fully-active] document.requestStorageAccessFor() should not resolve when run in a detached frame'); +promise_test(async t => { + const description = + 'document.requestStorageAccessFor() in a detached DOMParser result'; + return CreateDocumentViaDOMParser().requestStorageAccessFor('https://foo.com') + .then(t.unreached_func('Should have rejected: ' + description)) + .catch((e) => { + assert_equals(e.name, 'InvalidStateError', description); + }); +}, '[non-fully-active] document.requestStorageAccessFor() should not resolve when run in a detached DOMParser document'); - promise_test(async t => { - const description = - 'document.requestStorageAccessFor() in a detached DOMParser result'; - return RunRequestStorageAccessForViaDomParser('https://foo.com') - .then(t.unreached_func('Should have rejected: ' + description)) - .catch((e) => { - assert_equals(e.name, 'InvalidStateError', description); - }); - }, '[non-fully-active] document.requestStorageAccessFor() should not resolve when run in a detached DOMParser document'); +promise_test( + async () => { + const frame = await CreateFrame( + '../storage-access-api/resources/script-with-cookie-header.py?script=embedded_responder.js'); + assert_not_equals(frame.contentWindow.document.requestStorageAccessFor, undefined); + }, + '[frame-on-insecure-page] document.requestStorageAccessFor() should be supported on the document interface in embedded iframes'); - // Create a test with a single-child same-origin iframe. - // This will validate that calls to requestStorageAccessFor are rejected - // in non-top-level contexts. - RunTestsInIFrame( - './resources/requestStorageAccessFor-iframe.html?testCase=frame-on-insecure-page&rootdocument=false'); +promise_test(async (t) => { + const frame = await CreateFrame( + '../storage-access-api/resources/script-with-cookie-header.py?script=embedded_responder.js'); - promise_test( - async t => { - await RunCallbackWithGesture( - () => promise_rejects_dom(t, 'NotAllowedError', document.requestStorageAccessFor(document.location.origin), 'document.requestStorageAccessFor() call in insecure context')); - }, - '[' + testPrefix + - '] document.requestStorageAccessFor() should be rejected when called in an insecure context'); + await RunCallbackWithGesture(() => + promise_rejects_dom(t, 'NotAllowedError', frame.contentWindow.DOMException, + frame.contentWindow.document.requestStorageAccessFor(document.location.origin), + 'document.requestStorageAccessFor() call in a non-top-level context')); +}, '[frame-on-insecure-page] document.requestStorageAccessFor() should be rejected when called in an iframe'); -} else { - promise_test( - async t => { - await RunCallbackWithGesture( - () => promise_rejects_dom(t, 'NotAllowedError', document.requestStorageAccessFor(document.location.origin), - 'document.requestStorageAccessFor() call in a non-top-level context')); - }, - '[' + testPrefix + - '] document.requestStorageAccessFor() should be rejected when called in an iframe'); -} +promise_test( + async t => { + await RunCallbackWithGesture( + () => promise_rejects_dom(t, 'NotAllowedError', document.requestStorageAccessFor(document.location.origin), 'document.requestStorageAccessFor() call in insecure context')); + }, + '[top-level-context] document.requestStorageAccessFor() should be rejected when called in an insecure context'); diff --git a/tests/wpt/web-platform-tests/top-level-storage-access-api/tentative/requestStorageAccessFor.sub.https.window.js b/tests/wpt/web-platform-tests/top-level-storage-access-api/tentative/requestStorageAccessFor.sub.https.window.js index 1d8f22bb982..c573567084d 100644 --- a/tests/wpt/web-platform-tests/top-level-storage-access-api/tentative/requestStorageAccessFor.sub.https.window.js +++ b/tests/wpt/web-platform-tests/top-level-storage-access-api/tentative/requestStorageAccessFor.sub.https.window.js @@ -9,58 +9,22 @@ // Some tests are run at the top-level, and an iframe is added to validate API // behavior in that context. -// Prefix each test case with an indicator so we know what context they are run -// in if they are used in multiple iframes. -let testPrefix = 'top-level-context'; - -// Keep track of if we run these tests in a nested context, we don't want to -// recurse forever. -let topLevelDocument = true; - -// The query string allows derivation of test conditions, like whether the tests -// are running in a top-level context. -const queryParams = window.location.search.substring(1).split('&'); -queryParams.forEach((param) => { - if (param.toLowerCase() == 'rootdocument=false') { - topLevelDocument = false; - } else if (param.split('=')[0].toLowerCase() == 'testcase') { - testPrefix = param.split('=')[1]; - } -}); +const {testPrefix, topLevelDocument} = processQueryParams(); +if (!topLevelDocument) { + test_driver.set_test_context(window.top); +} const requestedOrigin = 'https://foo.com'; - -// TODO(crbug.com/1351540): when/if requestStorageAccessFor is standardized, -// upstream with the Storage Access API helpers file. -function RunRequestStorageAccessForInDetachedFrame(origin) { - const nestedFrame = document.createElement('iframe'); - document.body.append(nestedFrame); - const inner_doc = nestedFrame.contentDocument; - nestedFrame.remove(); - return inner_doc.requestStorageAccessFor(origin); -} - -function RunRequestStorageAccessForViaDomParser(origin) { - const parser = new DOMParser(); - const doc = parser.parseFromString('<html></html>', 'text/html'); - return doc.requestStorageAccessFor(origin); -} +const altOrigin = 'https://{{hosts[alt][www]}}:{{ports[https][0]}}'; // Common tests to run in all frames. -test( - () => { +promise_test( + async () => { assert_not_equals(document.requestStorageAccessFor, undefined); }, '[' + testPrefix + '] document.requestStorageAccessFor() should be supported on the document interface'); -// Promise tests should all start with the feature in "prompt" state. -promise_setup(async () => { - await test_driver.set_permission( - { name: 'top-level-storage-access', requestedOrigin }, 'prompt'); - await test_driver.set_permission({name: 'storage-access'}, 'prompt'); -}); - promise_test( t => { return promise_rejects_js(t, TypeError, @@ -70,9 +34,20 @@ promise_test( '[' + testPrefix + '] document.requestStorageAccessFor() should be rejected when called with no argument'); +// Most tests need to start with the feature in "prompt" state. +// For tests that rely on the permission state, this function is intended to be +// run prior to executing test logic, rather than using clean-up functions for +// the permission. +async function CommonSetup() { + await test_driver.set_permission( + { name: 'top-level-storage-access', requestedOrigin }, 'prompt'); + await test_driver.set_permission( + { name: 'top-level-storage-access', requestedOrigin: altOrigin }, 'prompt'); +} + if (topLevelDocument) { - promise_test( - t => { + promise_test(async t => { + await CommonSetup(); return promise_rejects_dom(t, 'NotAllowedError', document.requestStorageAccessFor(requestedOrigin), 'document.requestStorageAccessFor() call without user gesture'); @@ -84,7 +59,7 @@ if (topLevelDocument) { const description = 'document.requestStorageAccessFor() call in a detached frame'; // Can't use promise_rejects_dom here because the exception is from the wrong global. - return RunRequestStorageAccessForInDetachedFrame(requestedOrigin) + return CreateDetachedFrame().requestStorageAccessFor(requestedOrigin) .then(t.unreached_func('Should have rejected: ' + description)) .catch((e) => { assert_equals(e.name, 'InvalidStateError', description); @@ -94,7 +69,7 @@ if (topLevelDocument) { promise_test(async t => { const description = 'document.requestStorageAccessFor() in a detached DOMParser result'; - return RunRequestStorageAccessForViaDomParser(requestedOrigin) + return CreateDocumentViaDOMParser().requestStorageAccessFor(requestedOrigin) .then(t.unreached_func('Should have rejected: ' + description)) .catch((e) => { assert_equals(e.name, 'InvalidStateError', description); @@ -102,31 +77,26 @@ if (topLevelDocument) { }, '[non-fully-active] document.requestStorageAccessFor() should not resolve when run in a detached DOMParser document'); promise_test( - async t => { - await test_driver.set_permission( - { name: 'top-level-storage-access', requestedOrigin }, 'granted'); + async t => { + await CommonSetup(); + await test_driver.set_permission( + {name: 'top-level-storage-access', requestedOrigin}, 'granted'); - await document.requestStorageAccessFor(requestedOrigin); - }, - '[' + testPrefix + - '] document.requestStorageAccessFor() should be resolved without a user gesture with an existing permission'); + await document.requestStorageAccessFor(requestedOrigin); + }, + '[' + testPrefix + + '] document.requestStorageAccessFor() should be resolved without a user gesture with an existing permission'); promise_test( async t => { - const altOrigin = 'https://{{hosts[alt][www]}}:{{ports[https][0]}}'; - t.add_cleanup(async () => { - await test_driver.set_permission( - {name: 'top-level-storage-access', requestedOrigin: altOrigin}, - 'prompt'); - await test_driver.set_permission({name: 'storage-access'}, 'prompt'); - }); + await CommonSetup(); await test_driver.set_permission( {name: 'top-level-storage-access', requestedOrigin: altOrigin}, 'granted'); await RunCallbackWithGesture(() => { - document.requestStorageAccessFor(altOrigin).then(() => { - RunTestsInIFrame( + return document.requestStorageAccessFor(altOrigin).then(() => { + return RunTestsInIFrame( 'https://{{hosts[alt][www]}}:{{ports[https][0]}}/top-level-storage-access-api/tentative/resources/requestStorageAccess-integration-iframe.https.html'); }); }); @@ -134,11 +104,13 @@ if (topLevelDocument) { '[' + testPrefix + '] document.requestStorageAccess() should be resolved without a user gesture after a successful requestStorageAccessFor() call'); + promise_test(() => { // Create a test with a single-child same-origin iframe. // This will validate that calls to requestStorageAccessFor are rejected // in non-top-level contexts. - RunTestsInIFrame( - './resources/requestStorageAccessFor-iframe.https.html?testCase=same-origin-frame&rootdocument=false'); + return RunTestsInIFrame( + './resources/requestStorageAccessFor-iframe.https.html?testCase=same-origin-frame'); + }); promise_test( async t => { @@ -168,18 +140,11 @@ if (topLevelDocument) { promise_test( async (t) => { - const altOrigin = 'https://{{hosts[alt][www]}}:{{ports[https][0]}}'; const altEchoCookieHeaderUrl = `${altOrigin}/storage-access-api/resources/echo-cookie-header.py`; await MaybeSetStorageAccess('*', '*', 'blocked'); - t.add_cleanup(async () => { - await test_driver.delete_all_cookies(); - await test_driver.set_permission( - {name: 'top-level-storage-access', requestedOrigin: altOrigin}, - 'prompt'); - await MaybeSetStorageAccess('*', '*', 'allowed'); - }); + await CommonSetup(); await test_driver.set_permission( {name: 'top-level-storage-access', requestedOrigin: altOrigin}, @@ -222,16 +187,8 @@ if (topLevelDocument) { promise_test( async (t) => { - const altOrigin = 'https://{{hosts[alt][www]}}:{{ports[https][0]}}'; - await MaybeSetStorageAccess('*', '*', 'blocked'); - t.add_cleanup(async () => { - await test_driver.delete_all_cookies(); - await test_driver.set_permission( - {name: 'top-level-storage-access', requestedOrigin: altOrigin}, - 'prompt'); - await MaybeSetStorageAccess('*', '*', 'allowed'); - }); + await CommonSetup(); // Set cross-site cookie for altOrigin. Note that cookie won't be set // even with an existing top-level storage access permission in an diff --git a/tests/wpt/web-platform-tests/trusted-types/Document-execCommand.tentative.html b/tests/wpt/web-platform-tests/trusted-types/Document-execCommand.tentative.html index 0fd7e644b9e..7619133655f 100644 --- a/tests/wpt/web-platform-tests/trusted-types/Document-execCommand.tentative.html +++ b/tests/wpt/web-platform-tests/trusted-types/Document-execCommand.tentative.html @@ -1,6 +1,6 @@ <!DOCTYPE html> <link rel="author" title="Daniel Vogelheim" href="mailto:vogelheim@chromium.org"></link> -<link rel="help" href="https://w3c.github.io/webappsec-trusted-types/dist/spec/"></link> +<link rel="help" href="https://w3c.github.io/trusted-types/dist/spec/"></link> <script src="/resources/testharness.js"></script> <script src="/resources/testharnessreport.js"></script> <body> diff --git a/tests/wpt/web-platform-tests/trusted-types/META.yml b/tests/wpt/web-platform-tests/trusted-types/META.yml index 8cc6a43aa12..04061ac0f66 100644 --- a/tests/wpt/web-platform-tests/trusted-types/META.yml +++ b/tests/wpt/web-platform-tests/trusted-types/META.yml @@ -1,3 +1,3 @@ -spec: https://w3c.github.io/webappsec-trusted-types/dist/spec/ +spec: https://w3c.github.io/trusted-types/dist/spec/ suggested_reviewers: - mikewest diff --git a/tests/wpt/web-platform-tests/trusted-types/TrustedTypePolicyFactory-getPropertyType.tentative.html b/tests/wpt/web-platform-tests/trusted-types/TrustedTypePolicyFactory-getPropertyType.tentative.html index 9c65ef9821b..21aba668ccd 100644 --- a/tests/wpt/web-platform-tests/trusted-types/TrustedTypePolicyFactory-getPropertyType.tentative.html +++ b/tests/wpt/web-platform-tests/trusted-types/TrustedTypePolicyFactory-getPropertyType.tentative.html @@ -24,7 +24,7 @@ }, "sanity check trustedTypes.getTypeMapping"); - // getPropertyType tests adapted from WICG/trusted-types polyfill: + // getPropertyType tests adapted from w3c/trusted-types polyfill: test(t => { // returns the proper type for attribute-related properties assert_equals(trustedTypes.getPropertyType("script", "src"), "TrustedScriptURL"); @@ -46,7 +46,7 @@ ["text", "innerText", "textContent"].forEach((prop) => { assert_equals(trustedTypes.getPropertyType("script", prop), "TrustedScript"); }); - }, "getPropertyType tests adapted from WICG/trusted-types polyfill"); + }, "getPropertyType tests adapted from w3c/trusted-types polyfill"); test(t => { // returns the proper type @@ -69,7 +69,7 @@ // defaults to undefined assert_equals(trustedTypes.getAttributeType('unknown', 'src'), null); assert_equals(trustedTypes.getAttributeType('img', 'bar'), null); - }, "getAttributeType tests adapted from WICG/trusted-types polyfill"); + }, "getAttributeType tests adapted from w3c/trusted-types polyfill"); test(t=> { @@ -87,7 +87,7 @@ ; // Unknown namespaces: assert_equals(trustedTypes.getTypeMapping("http://foo/bar"), null); - }, "getTypeMapping tests adapted from WICG/trusted-types polyfill"); + }, "getTypeMapping tests adapted from w3c/trusted-types polyfill"); // Test case handling for both attributes and properties. for (let attr of ["codeBase", "CODEBASE", "codebase"]) { diff --git a/tests/wpt/web-platform-tests/trusted-types/block-Document-execCommand.tentative.html b/tests/wpt/web-platform-tests/trusted-types/block-Document-execCommand.tentative.html index e25b7dd28a2..87759cdc197 100644 --- a/tests/wpt/web-platform-tests/trusted-types/block-Document-execCommand.tentative.html +++ b/tests/wpt/web-platform-tests/trusted-types/block-Document-execCommand.tentative.html @@ -1,7 +1,7 @@ <!DOCTYPE html> <meta http-equiv="Content-Security-Policy" content="require-trusted-types-for 'script'"> <link rel="author" title="Daniel Vogelheim" href="mailto:vogelheim@chromium.org"></link> -<link rel="help" href="https://w3c.github.io/webappsec-trusted-types/dist/spec/"></link> +<link rel="help" href="https://w3c.github.io/trusted-types/dist/spec/"></link> <script src="/resources/testharness.js"></script> <script src="/resources/testharnessreport.js"></script> <body> diff --git a/tests/wpt/web-platform-tests/trusted-types/block-text-node-insertion-into-script-element.tentative.html b/tests/wpt/web-platform-tests/trusted-types/block-text-node-insertion-into-script-element.tentative.html index 819753652a9..08e3e695530 100644 --- a/tests/wpt/web-platform-tests/trusted-types/block-text-node-insertion-into-script-element.tentative.html +++ b/tests/wpt/web-platform-tests/trusted-types/block-text-node-insertion-into-script-element.tentative.html @@ -18,7 +18,7 @@ const policy = trustedTypes.createPolicy("policy", policy_dict); // Regression tests for 'Bypass via insertAdjacentText', reported at - // https://github.com/WICG/trusted-types/issues/133 + // https://github.com/w3c/trusted-types/issues/133 // We are trying to assert that scripts do _not_ get executed. We // accomplish by having the script under examination containing a diff --git a/tests/wpt/web-platform-tests/trusted-types/trusted-types-from-literal.tentative.html b/tests/wpt/web-platform-tests/trusted-types/trusted-types-from-literal.tentative.html index b59c46fe0fe..a7d5659e16a 100644 --- a/tests/wpt/web-platform-tests/trusted-types/trusted-types-from-literal.tentative.html +++ b/tests/wpt/web-platform-tests/trusted-types/trusted-types-from-literal.tentative.html @@ -1,7 +1,7 @@ <!DOCTYPE html> <head> <link rel="author" title="Daniel Vogelheim" href="mailto:vogelheim@chromium.org"></link> -<link rel="help" href="https://w3c.github.io/webappsec-trusted-types/dist/spec/"></link> +<link rel="help" href="https://w3c.github.io/trusted-types/dist/spec/"></link> <script src="/resources/testharness.js"></script> <script src="/resources/testharnessreport.js"></script> <meta http-equiv="Content-Security-Policy" content="require-trusted-types-for 'script'"> diff --git a/tests/wpt/web-platform-tests/url/README.md b/tests/wpt/web-platform-tests/url/README.md index 50a71bb482d..fa5e3b0dc72 100644 --- a/tests/wpt/web-platform-tests/url/README.md +++ b/tests/wpt/web-platform-tests/url/README.md @@ -1,31 +1,29 @@ ## urltestdata.json -These tests are for browsers, but the data for -`a-element.html`, `url-constructor.html`, `a-element-xhtml.xhtml`, and `failure.html` -is in `resources/urltestdata.json` and can be re-used by non-browser implementations. -This file contains a JSON array of comments as strings and test cases as objects. -The keys for each test case are: +`resources/urltestdata.json` contains URL parsing tests suitable for any URL parser implementation. -* `base`: an absolute URL as a string whose [parsing] without a base of its own must succeed. - This key is always present, - and may have a value like `"about:blank"` when `input` is an absolute URL. -* `input`: an URL as a string to be [parsed][parsing] with `base` as its base URL. -* Either: - * `failure` with the value `true`, indicating that parsing `input` should return failure, - * or `href`, `origin`, `protocol`, `username`, `password`, `host`, `hostname`, `port`, - `pathname`, `search`, and `hash` with string values; - indicating that parsing `input` should return an URL record - and that the getters of each corresponding attribute in that URL’s [API] - should return the corresponding value. +It's used as a source of tests by `a-element.html`, `failure.html`, `url-constructor.any.js`, and +other test files in this directory. - The `origin` key may be missing. - In that case, the API’s `origin` attribute is not tested. +The format of `resources/urltestdata.json` is a JSON array of comments as strings and test cases as +objects. The keys for each test case are: -In addition to testing that parsing `input` against `base` gives the result, a test harness for the -`URL` constructor (or similar APIs) should additionally test the following pattern: if `failure` is -true, parsing `about:blank` against `input` must give failure. This tests that the logic for -converting base URLs into strings properly fails the whole parsing algorithm if the base URL cannot -be parsed. +* `input`: a string to be parsed as URL. +* `base`: null or a serialized URL (i.e., does not fail parsing). +* Then either + + * `failure` whose value is `true`, indicating that parsing `input` relative to `base` returns + failure + * `relativeTo` whose value is "`non-opaque-path-base`" (input does parse against a non-null base + URL without an opaque path) or "`any-base`" (input parses against any non-null base URL), or is + omitted in its entirety (input never parses successfully) + + or `href`, `origin`, `protocol`, `username`, `password`, `host`, `hostname`, `port`, + `pathname`, `search`, and `hash` with string values; indicating that parsing `input` should return + an URL record and that the getters of each corresponding attribute in that URL’s [API] should + return the corresponding value. + + The `origin` key may be missing. In that case, the API’s `origin` attribute is not tested. ## setters_tests.json diff --git a/tests/wpt/web-platform-tests/url/failure.html b/tests/wpt/web-platform-tests/url/failure.html index 67873ea2115..8a408412668 100644 --- a/tests/wpt/web-platform-tests/url/failure.html +++ b/tests/wpt/web-platform-tests/url/failure.html @@ -9,14 +9,15 @@ promise_test(() => fetch("resources/urltestdata.json").then(res => res.json()).then(runTests), "Loading data…") function runTests(testData) { - for(const test of testData) { - if (typeof test === "string" || !test.failure || test.base !== "about:blank") { - continue + for (const test of testData) { + if (typeof test === "string" || !test.failure || test.base !== null) { + continue; } const name = test.input + " should throw" - self.test(() => { // URL's constructor's first argument is tested by url-constructor.html + self.test(() => { + // URL's constructor's first argument is tested by url-constructor.html // If a URL fails to parse with any valid base, it must also fail to parse with no base, i.e. // when used as a base URL itself. assert_throws_js(TypeError, () => new URL("about:blank", test.input)); @@ -30,7 +31,7 @@ function runTests(testData) { // The following use cases resolve the URL input relative to the current // document's URL. If this test input could be construed as a valid URL // when resolved against a base URL, skip these cases. - if (!test.inputCanBeRelative) { + if (test.relativeTo === undefined) { self.test(() => { const client = new XMLHttpRequest() assert_throws_dom("SyntaxError", () => client.open("GET", test.input)) diff --git a/tests/wpt/web-platform-tests/url/resources/a-element-origin.js b/tests/wpt/web-platform-tests/url/resources/a-element-origin.js index cb7d4a895c4..de72988ea93 100644 --- a/tests/wpt/web-platform-tests/url/resources/a-element-origin.js +++ b/tests/wpt/web-platform-tests/url/resources/a-element-origin.js @@ -5,23 +5,28 @@ function setBase(base) { } function bURL(url, base) { - base = base || "about:blank" - setBase(base) - var a = document.createElement("a") - a.setAttribute("href", url) - return a + setBase(base); + const a = document.createElement("a"); + a.setAttribute("href", url); + return a; } -function runURLTests(urltests) { - for(var i = 0, l = urltests.length; i < l; i++) { - var expected = urltests[i] - if (typeof expected === "string" || !("origin" in expected)) continue - // skip without base because you cannot unset the baseURL of a document - if (expected.base === null) continue; +function runURLTests(urlTests) { + for (const expected of urlTests) { + // Skip comments and tests without "origin" expectation + if (typeof expected === "string" || !("origin" in expected)) + continue; + + // Fragments are relative against "about:blank" (this might always be redundant due to requiring "origin" in expected) + if (expected.base === null && expected.input.startsWith("#")) + continue; + + // We cannot use a null base for HTML tests + const base = expected.base === null ? "about:blank" : expected.base; test(function() { - var url = bURL(expected.input, expected.base) + var url = bURL(expected.input, base) assert_equals(url.origin, expected.origin, "origin") - }, "Parsing origin: <" + expected.input + "> against <" + expected.base + ">") + }, "Parsing origin: <" + expected.input + "> against <" + base + ">") } } diff --git a/tests/wpt/web-platform-tests/url/resources/a-element.js b/tests/wpt/web-platform-tests/url/resources/a-element.js index 65c7e852813..d87937d002b 100644 --- a/tests/wpt/web-platform-tests/url/resources/a-element.js +++ b/tests/wpt/web-platform-tests/url/resources/a-element.js @@ -1,23 +1,28 @@ promise_test(() => fetch("resources/urltestdata.json").then(res => res.json()).then(runURLTests), "Loading data…"); function setBase(base) { - document.getElementById("base").href = base + document.getElementById("base").href = base; } function bURL(url, base) { - base = base || "about:blank" - setBase(base) - var a = document.createElement("a") - a.setAttribute("href", url) - return a + setBase(base); + const a = document.createElement("a"); + a.setAttribute("href", url); + return a; } -function runURLTests(urltests) { - for(var i = 0, l = urltests.length; i < l; i++) { - var expected = urltests[i] - if (typeof expected === "string") continue // skip comments - // skip without base because you cannot unset the baseURL of a document - if (expected.base === null) continue; +function runURLTests(urlTests) { + for (const expected of urlTests) { + // Skip comments + if (typeof expected === "string") + continue; + + // Fragments are relative against "about:blank" + if (expected.relativeTo === "any-base") + continue; + + // We cannot use a null base for HTML tests + const base = expected.base === null ? "about:blank" : expected.base; function getKey(expected) { if (expected.protocol) { @@ -30,7 +35,7 @@ function runURLTests(urltests) { } subsetTestByKey(getKey(expected), test, function() { - var url = bURL(expected.input, expected.base) + var url = bURL(expected.input, base) if(expected.failure) { if(url.protocol !== ':') { assert_unreached("Expected URL to fail parsing") @@ -49,6 +54,6 @@ function runURLTests(urltests) { assert_equals(url.pathname, expected.pathname, "pathname") assert_equals(url.search, expected.search, "search") assert_equals(url.hash, expected.hash, "hash") - }, "Parsing: <" + expected.input + "> against <" + expected.base + ">") + }, "Parsing: <" + expected.input + "> against <" + base + ">") } } diff --git a/tests/wpt/web-platform-tests/url/resources/urltestdata.json b/tests/wpt/web-platform-tests/url/resources/urltestdata.json index a3cf976534c..58f6b87a862 100644 --- a/tests/wpt/web-platform-tests/url/resources/urltestdata.json +++ b/tests/wpt/web-platform-tests/url/resources/urltestdata.json @@ -1,5 +1,5 @@ [ - "# Based on http://trac.webkit.org/browser/trunk/LayoutTests/fast/url/script-tests/segments.js", + "See ../README.md for a description of the format.", { "input": "http://example\t.\norg", "base": "http://example.org/foo/bar", @@ -32,7 +32,7 @@ }, { "input": "https://test:@test", - "base": "about:blank", + "base": null, "href": "https://test@test/", "origin": "https://test", "protocol": "https:", @@ -47,7 +47,7 @@ }, { "input": "https://:@test", - "base": "about:blank", + "base": null, "href": "https://test/", "origin": "https://test", "protocol": "https:", @@ -62,7 +62,7 @@ }, { "input": "non-special://test:@test/x", - "base": "about:blank", + "base": null, "href": "non-special://test@test/x", "origin": "null", "protocol": "non-special:", @@ -77,7 +77,7 @@ }, { "input": "non-special://:@test/x", - "base": "about:blank", + "base": null, "href": "non-special://test/x", "origin": "null", "protocol": "non-special:", @@ -167,7 +167,7 @@ }, { "input": "lolscheme:x x#x x", - "base": "about:blank", + "base": null, "href": "lolscheme:x x#x%20x", "protocol": "lolscheme:", "username": "", @@ -1075,22 +1075,22 @@ }, { "input": "file://example:1/", - "base": "about:blank", + "base": null, "failure": true }, { "input": "file://example:test/", - "base": "about:blank", + "base": null, "failure": true }, { "input": "file://example%/", - "base": "about:blank", + "base": null, "failure": true }, { "input": "file://[example]/", - "base": "about:blank", + "base": null, "failure": true }, { @@ -1754,7 +1754,7 @@ "# Based on http://trac.webkit.org/browser/trunk/LayoutTests/fast/url/script-tests/path.js", { "input": "http://example.com/././foo", - "base": "about:blank", + "base": null, "href": "http://example.com/foo", "origin": "http://example.com", "protocol": "http:", @@ -1769,7 +1769,7 @@ }, { "input": "http://example.com/./.foo", - "base": "about:blank", + "base": null, "href": "http://example.com/.foo", "origin": "http://example.com", "protocol": "http:", @@ -1784,7 +1784,7 @@ }, { "input": "http://example.com/foo/.", - "base": "about:blank", + "base": null, "href": "http://example.com/foo/", "origin": "http://example.com", "protocol": "http:", @@ -1799,7 +1799,7 @@ }, { "input": "http://example.com/foo/./", - "base": "about:blank", + "base": null, "href": "http://example.com/foo/", "origin": "http://example.com", "protocol": "http:", @@ -1814,7 +1814,7 @@ }, { "input": "http://example.com/foo/bar/..", - "base": "about:blank", + "base": null, "href": "http://example.com/foo/", "origin": "http://example.com", "protocol": "http:", @@ -1829,7 +1829,7 @@ }, { "input": "http://example.com/foo/bar/../", - "base": "about:blank", + "base": null, "href": "http://example.com/foo/", "origin": "http://example.com", "protocol": "http:", @@ -1844,7 +1844,7 @@ }, { "input": "http://example.com/foo/..bar", - "base": "about:blank", + "base": null, "href": "http://example.com/foo/..bar", "origin": "http://example.com", "protocol": "http:", @@ -1859,7 +1859,7 @@ }, { "input": "http://example.com/foo/bar/../ton", - "base": "about:blank", + "base": null, "href": "http://example.com/foo/ton", "origin": "http://example.com", "protocol": "http:", @@ -1874,7 +1874,7 @@ }, { "input": "http://example.com/foo/bar/../ton/../../a", - "base": "about:blank", + "base": null, "href": "http://example.com/a", "origin": "http://example.com", "protocol": "http:", @@ -1889,7 +1889,7 @@ }, { "input": "http://example.com/foo/../../..", - "base": "about:blank", + "base": null, "href": "http://example.com/", "origin": "http://example.com", "protocol": "http:", @@ -1904,7 +1904,7 @@ }, { "input": "http://example.com/foo/../../../ton", - "base": "about:blank", + "base": null, "href": "http://example.com/ton", "origin": "http://example.com", "protocol": "http:", @@ -1919,7 +1919,7 @@ }, { "input": "http://example.com/foo/%2e", - "base": "about:blank", + "base": null, "href": "http://example.com/foo/", "origin": "http://example.com", "protocol": "http:", @@ -1934,7 +1934,7 @@ }, { "input": "http://example.com/foo/%2e%2", - "base": "about:blank", + "base": null, "href": "http://example.com/foo/%2e%2", "origin": "http://example.com", "protocol": "http:", @@ -1949,7 +1949,7 @@ }, { "input": "http://example.com/foo/%2e./%2e%2e/.%2e/%2e.bar", - "base": "about:blank", + "base": null, "href": "http://example.com/%2e.bar", "origin": "http://example.com", "protocol": "http:", @@ -1964,7 +1964,7 @@ }, { "input": "http://example.com////../..", - "base": "about:blank", + "base": null, "href": "http://example.com//", "origin": "http://example.com", "protocol": "http:", @@ -1979,7 +1979,7 @@ }, { "input": "http://example.com/foo/bar//../..", - "base": "about:blank", + "base": null, "href": "http://example.com/foo/", "origin": "http://example.com", "protocol": "http:", @@ -1994,7 +1994,7 @@ }, { "input": "http://example.com/foo/bar//..", - "base": "about:blank", + "base": null, "href": "http://example.com/foo/bar/", "origin": "http://example.com", "protocol": "http:", @@ -2009,7 +2009,7 @@ }, { "input": "http://example.com/foo", - "base": "about:blank", + "base": null, "href": "http://example.com/foo", "origin": "http://example.com", "protocol": "http:", @@ -2024,7 +2024,7 @@ }, { "input": "http://example.com/%20foo", - "base": "about:blank", + "base": null, "href": "http://example.com/%20foo", "origin": "http://example.com", "protocol": "http:", @@ -2039,7 +2039,7 @@ }, { "input": "http://example.com/foo%", - "base": "about:blank", + "base": null, "href": "http://example.com/foo%", "origin": "http://example.com", "protocol": "http:", @@ -2054,7 +2054,7 @@ }, { "input": "http://example.com/foo%2", - "base": "about:blank", + "base": null, "href": "http://example.com/foo%2", "origin": "http://example.com", "protocol": "http:", @@ -2069,7 +2069,7 @@ }, { "input": "http://example.com/foo%2zbar", - "base": "about:blank", + "base": null, "href": "http://example.com/foo%2zbar", "origin": "http://example.com", "protocol": "http:", @@ -2084,7 +2084,7 @@ }, { "input": "http://example.com/foo%2©zbar", - "base": "about:blank", + "base": null, "href": "http://example.com/foo%2%C3%82%C2%A9zbar", "origin": "http://example.com", "protocol": "http:", @@ -2099,7 +2099,7 @@ }, { "input": "http://example.com/foo%41%7a", - "base": "about:blank", + "base": null, "href": "http://example.com/foo%41%7a", "origin": "http://example.com", "protocol": "http:", @@ -2114,7 +2114,7 @@ }, { "input": "http://example.com/foo\t\u0091%91", - "base": "about:blank", + "base": null, "href": "http://example.com/foo%C2%91%91", "origin": "http://example.com", "protocol": "http:", @@ -2129,7 +2129,7 @@ }, { "input": "http://example.com/foo%00%51", - "base": "about:blank", + "base": null, "href": "http://example.com/foo%00%51", "origin": "http://example.com", "protocol": "http:", @@ -2144,7 +2144,7 @@ }, { "input": "http://example.com/(%28:%3A%29)", - "base": "about:blank", + "base": null, "href": "http://example.com/(%28:%3A%29)", "origin": "http://example.com", "protocol": "http:", @@ -2159,7 +2159,7 @@ }, { "input": "http://example.com/%3A%3a%3C%3c", - "base": "about:blank", + "base": null, "href": "http://example.com/%3A%3a%3C%3c", "origin": "http://example.com", "protocol": "http:", @@ -2174,7 +2174,7 @@ }, { "input": "http://example.com/foo\tbar", - "base": "about:blank", + "base": null, "href": "http://example.com/foobar", "origin": "http://example.com", "protocol": "http:", @@ -2189,7 +2189,7 @@ }, { "input": "http://example.com\\\\foo\\\\bar", - "base": "about:blank", + "base": null, "href": "http://example.com//foo//bar", "origin": "http://example.com", "protocol": "http:", @@ -2204,7 +2204,7 @@ }, { "input": "http://example.com/%7Ffp3%3Eju%3Dduvgw%3Dd", - "base": "about:blank", + "base": null, "href": "http://example.com/%7Ffp3%3Eju%3Dduvgw%3Dd", "origin": "http://example.com", "protocol": "http:", @@ -2219,7 +2219,7 @@ }, { "input": "http://example.com/@asdf%40", - "base": "about:blank", + "base": null, "href": "http://example.com/@asdf%40", "origin": "http://example.com", "protocol": "http:", @@ -2234,7 +2234,7 @@ }, { "input": "http://example.com/你好你好", - "base": "about:blank", + "base": null, "href": "http://example.com/%E4%BD%A0%E5%A5%BD%E4%BD%A0%E5%A5%BD", "origin": "http://example.com", "protocol": "http:", @@ -2249,7 +2249,7 @@ }, { "input": "http://example.com/‥/foo", - "base": "about:blank", + "base": null, "href": "http://example.com/%E2%80%A5/foo", "origin": "http://example.com", "protocol": "http:", @@ -2264,7 +2264,7 @@ }, { "input": "http://example.com//foo", - "base": "about:blank", + "base": null, "href": "http://example.com/%EF%BB%BF/foo", "origin": "http://example.com", "protocol": "http:", @@ -2279,7 +2279,7 @@ }, { "input": "http://example.com//foo//bar", - "base": "about:blank", + "base": null, "href": "http://example.com/%E2%80%AE/foo/%E2%80%AD/bar", "origin": "http://example.com", "protocol": "http:", @@ -2295,7 +2295,7 @@ "# Based on http://trac.webkit.org/browser/trunk/LayoutTests/fast/url/script-tests/relative.js", { "input": "http://www.google.com/foo?bar=baz#", - "base": "about:blank", + "base": null, "href": "http://www.google.com/foo?bar=baz#", "origin": "http://www.google.com", "protocol": "http:", @@ -2310,7 +2310,7 @@ }, { "input": "http://www.google.com/foo?bar=baz# »", - "base": "about:blank", + "base": null, "href": "http://www.google.com/foo?bar=baz#%20%C2%BB", "origin": "http://www.google.com", "protocol": "http:", @@ -2325,7 +2325,7 @@ }, { "input": "data:test# »", - "base": "about:blank", + "base": null, "href": "data:test#%20%C2%BB", "origin": "null", "protocol": "data:", @@ -2340,7 +2340,7 @@ }, { "input": "http://www.google.com", - "base": "about:blank", + "base": null, "href": "http://www.google.com/", "origin": "http://www.google.com", "protocol": "http:", @@ -2355,7 +2355,7 @@ }, { "input": "http://192.0x00A80001", - "base": "about:blank", + "base": null, "href": "http://192.168.0.1/", "origin": "http://192.168.0.1", "protocol": "http:", @@ -2370,7 +2370,7 @@ }, { "input": "http://www/foo%2Ehtml", - "base": "about:blank", + "base": null, "href": "http://www/foo%2Ehtml", "origin": "http://www", "protocol": "http:", @@ -2385,7 +2385,7 @@ }, { "input": "http://www/foo/%2E/html", - "base": "about:blank", + "base": null, "href": "http://www/foo/html", "origin": "http://www", "protocol": "http:", @@ -2400,12 +2400,12 @@ }, { "input": "http://user:pass@/", - "base": "about:blank", + "base": null, "failure": true }, { "input": "http://%25DOMAIN:foobar@foodomain.com/", - "base": "about:blank", + "base": null, "href": "http://%25DOMAIN:foobar@foodomain.com/", "origin": "http://foodomain.com", "protocol": "http:", @@ -2420,7 +2420,7 @@ }, { "input": "http:\\\\www.google.com\\foo", - "base": "about:blank", + "base": null, "href": "http://www.google.com/foo", "origin": "http://www.google.com", "protocol": "http:", @@ -2435,7 +2435,7 @@ }, { "input": "http://foo:80/", - "base": "about:blank", + "base": null, "href": "http://foo/", "origin": "http://foo", "protocol": "http:", @@ -2450,7 +2450,7 @@ }, { "input": "http://foo:81/", - "base": "about:blank", + "base": null, "href": "http://foo:81/", "origin": "http://foo:81", "protocol": "http:", @@ -2465,7 +2465,7 @@ }, { "input": "httpa://foo:80/", - "base": "about:blank", + "base": null, "href": "httpa://foo:80/", "origin": "null", "protocol": "httpa:", @@ -2480,12 +2480,12 @@ }, { "input": "http://foo:-80/", - "base": "about:blank", + "base": null, "failure": true }, { "input": "https://foo:443/", - "base": "about:blank", + "base": null, "href": "https://foo/", "origin": "https://foo", "protocol": "https:", @@ -2500,7 +2500,7 @@ }, { "input": "https://foo:80/", - "base": "about:blank", + "base": null, "href": "https://foo:80/", "origin": "https://foo:80", "protocol": "https:", @@ -2515,7 +2515,7 @@ }, { "input": "ftp://foo:21/", - "base": "about:blank", + "base": null, "href": "ftp://foo/", "origin": "ftp://foo", "protocol": "ftp:", @@ -2530,7 +2530,7 @@ }, { "input": "ftp://foo:80/", - "base": "about:blank", + "base": null, "href": "ftp://foo:80/", "origin": "ftp://foo:80", "protocol": "ftp:", @@ -2545,7 +2545,7 @@ }, { "input": "gopher://foo:70/", - "base": "about:blank", + "base": null, "href": "gopher://foo:70/", "origin": "null", "protocol": "gopher:", @@ -2560,7 +2560,7 @@ }, { "input": "gopher://foo:443/", - "base": "about:blank", + "base": null, "href": "gopher://foo:443/", "origin": "null", "protocol": "gopher:", @@ -2575,7 +2575,7 @@ }, { "input": "ws://foo:80/", - "base": "about:blank", + "base": null, "href": "ws://foo/", "origin": "ws://foo", "protocol": "ws:", @@ -2590,7 +2590,7 @@ }, { "input": "ws://foo:81/", - "base": "about:blank", + "base": null, "href": "ws://foo:81/", "origin": "ws://foo:81", "protocol": "ws:", @@ -2605,7 +2605,7 @@ }, { "input": "ws://foo:443/", - "base": "about:blank", + "base": null, "href": "ws://foo:443/", "origin": "ws://foo:443", "protocol": "ws:", @@ -2620,7 +2620,7 @@ }, { "input": "ws://foo:815/", - "base": "about:blank", + "base": null, "href": "ws://foo:815/", "origin": "ws://foo:815", "protocol": "ws:", @@ -2635,7 +2635,7 @@ }, { "input": "wss://foo:80/", - "base": "about:blank", + "base": null, "href": "wss://foo:80/", "origin": "wss://foo:80", "protocol": "wss:", @@ -2650,7 +2650,7 @@ }, { "input": "wss://foo:81/", - "base": "about:blank", + "base": null, "href": "wss://foo:81/", "origin": "wss://foo:81", "protocol": "wss:", @@ -2665,7 +2665,7 @@ }, { "input": "wss://foo:443/", - "base": "about:blank", + "base": null, "href": "wss://foo/", "origin": "wss://foo", "protocol": "wss:", @@ -2680,7 +2680,7 @@ }, { "input": "wss://foo:815/", - "base": "about:blank", + "base": null, "href": "wss://foo:815/", "origin": "wss://foo:815", "protocol": "wss:", @@ -2695,7 +2695,7 @@ }, { "input": "http:/example.com/", - "base": "about:blank", + "base": null, "href": "http://example.com/", "origin": "http://example.com", "protocol": "http:", @@ -2710,7 +2710,7 @@ }, { "input": "ftp:/example.com/", - "base": "about:blank", + "base": null, "href": "ftp://example.com/", "origin": "ftp://example.com", "protocol": "ftp:", @@ -2725,7 +2725,7 @@ }, { "input": "https:/example.com/", - "base": "about:blank", + "base": null, "href": "https://example.com/", "origin": "https://example.com", "protocol": "https:", @@ -2740,7 +2740,7 @@ }, { "input": "madeupscheme:/example.com/", - "base": "about:blank", + "base": null, "href": "madeupscheme:/example.com/", "origin": "null", "protocol": "madeupscheme:", @@ -2755,7 +2755,7 @@ }, { "input": "file:/example.com/", - "base": "about:blank", + "base": null, "href": "file:///example.com/", "protocol": "file:", "username": "", @@ -2769,7 +2769,7 @@ }, { "input": "ftps:/example.com/", - "base": "about:blank", + "base": null, "href": "ftps:/example.com/", "origin": "null", "protocol": "ftps:", @@ -2784,7 +2784,7 @@ }, { "input": "gopher:/example.com/", - "base": "about:blank", + "base": null, "href": "gopher:/example.com/", "origin": "null", "protocol": "gopher:", @@ -2799,7 +2799,7 @@ }, { "input": "ws:/example.com/", - "base": "about:blank", + "base": null, "href": "ws://example.com/", "origin": "ws://example.com", "protocol": "ws:", @@ -2814,7 +2814,7 @@ }, { "input": "wss:/example.com/", - "base": "about:blank", + "base": null, "href": "wss://example.com/", "origin": "wss://example.com", "protocol": "wss:", @@ -2829,7 +2829,7 @@ }, { "input": "data:/example.com/", - "base": "about:blank", + "base": null, "href": "data:/example.com/", "origin": "null", "protocol": "data:", @@ -2844,7 +2844,7 @@ }, { "input": "javascript:/example.com/", - "base": "about:blank", + "base": null, "href": "javascript:/example.com/", "origin": "null", "protocol": "javascript:", @@ -2859,7 +2859,7 @@ }, { "input": "mailto:/example.com/", - "base": "about:blank", + "base": null, "href": "mailto:/example.com/", "origin": "null", "protocol": "mailto:", @@ -2874,7 +2874,7 @@ }, { "input": "http:example.com/", - "base": "about:blank", + "base": null, "href": "http://example.com/", "origin": "http://example.com", "protocol": "http:", @@ -2889,7 +2889,7 @@ }, { "input": "ftp:example.com/", - "base": "about:blank", + "base": null, "href": "ftp://example.com/", "origin": "ftp://example.com", "protocol": "ftp:", @@ -2904,7 +2904,7 @@ }, { "input": "https:example.com/", - "base": "about:blank", + "base": null, "href": "https://example.com/", "origin": "https://example.com", "protocol": "https:", @@ -2919,7 +2919,7 @@ }, { "input": "madeupscheme:example.com/", - "base": "about:blank", + "base": null, "href": "madeupscheme:example.com/", "origin": "null", "protocol": "madeupscheme:", @@ -2934,7 +2934,7 @@ }, { "input": "ftps:example.com/", - "base": "about:blank", + "base": null, "href": "ftps:example.com/", "origin": "null", "protocol": "ftps:", @@ -2949,7 +2949,7 @@ }, { "input": "gopher:example.com/", - "base": "about:blank", + "base": null, "href": "gopher:example.com/", "origin": "null", "protocol": "gopher:", @@ -2964,7 +2964,7 @@ }, { "input": "ws:example.com/", - "base": "about:blank", + "base": null, "href": "ws://example.com/", "origin": "ws://example.com", "protocol": "ws:", @@ -2979,7 +2979,7 @@ }, { "input": "wss:example.com/", - "base": "about:blank", + "base": null, "href": "wss://example.com/", "origin": "wss://example.com", "protocol": "wss:", @@ -2994,7 +2994,7 @@ }, { "input": "data:example.com/", - "base": "about:blank", + "base": null, "href": "data:example.com/", "origin": "null", "protocol": "data:", @@ -3009,7 +3009,7 @@ }, { "input": "javascript:example.com/", - "base": "about:blank", + "base": null, "href": "javascript:example.com/", "origin": "null", "protocol": "javascript:", @@ -3024,7 +3024,7 @@ }, { "input": "mailto:example.com/", - "base": "about:blank", + "base": null, "href": "mailto:example.com/", "origin": "null", "protocol": "mailto:", @@ -3040,7 +3040,7 @@ "# Based on http://trac.webkit.org/browser/trunk/LayoutTests/fast/url/segments-userinfo-vs-host.html", { "input": "http:@www.example.com", - "base": "about:blank", + "base": null, "href": "http://www.example.com/", "origin": "http://www.example.com", "protocol": "http:", @@ -3055,7 +3055,7 @@ }, { "input": "http:/@www.example.com", - "base": "about:blank", + "base": null, "href": "http://www.example.com/", "origin": "http://www.example.com", "protocol": "http:", @@ -3070,7 +3070,7 @@ }, { "input": "http://@www.example.com", - "base": "about:blank", + "base": null, "href": "http://www.example.com/", "origin": "http://www.example.com", "protocol": "http:", @@ -3085,7 +3085,7 @@ }, { "input": "http:a:b@www.example.com", - "base": "about:blank", + "base": null, "href": "http://a:b@www.example.com/", "origin": "http://www.example.com", "protocol": "http:", @@ -3100,7 +3100,7 @@ }, { "input": "http:/a:b@www.example.com", - "base": "about:blank", + "base": null, "href": "http://a:b@www.example.com/", "origin": "http://www.example.com", "protocol": "http:", @@ -3115,7 +3115,7 @@ }, { "input": "http://a:b@www.example.com", - "base": "about:blank", + "base": null, "href": "http://a:b@www.example.com/", "origin": "http://www.example.com", "protocol": "http:", @@ -3130,7 +3130,7 @@ }, { "input": "http://@pple.com", - "base": "about:blank", + "base": null, "href": "http://pple.com/", "origin": "http://pple.com", "protocol": "http:", @@ -3145,7 +3145,7 @@ }, { "input": "http::b@www.example.com", - "base": "about:blank", + "base": null, "href": "http://:b@www.example.com/", "origin": "http://www.example.com", "protocol": "http:", @@ -3160,7 +3160,7 @@ }, { "input": "http:/:b@www.example.com", - "base": "about:blank", + "base": null, "href": "http://:b@www.example.com/", "origin": "http://www.example.com", "protocol": "http:", @@ -3175,7 +3175,7 @@ }, { "input": "http://:b@www.example.com", - "base": "about:blank", + "base": null, "href": "http://:b@www.example.com/", "origin": "http://www.example.com", "protocol": "http:", @@ -3190,64 +3190,64 @@ }, { "input": "http:/:@/www.example.com", - "base": "about:blank", + "base": null, "failure": true, - "inputCanBeRelative": true + "relativeTo": "non-opaque-path-base" }, { "input": "http://user@/www.example.com", - "base": "about:blank", + "base": null, "failure": true }, { "input": "http:@/www.example.com", - "base": "about:blank", + "base": null, "failure": true, - "inputCanBeRelative": true + "relativeTo": "non-opaque-path-base" }, { "input": "http:/@/www.example.com", - "base": "about:blank", + "base": null, "failure": true, - "inputCanBeRelative": true + "relativeTo": "non-opaque-path-base" }, { "input": "http://@/www.example.com", - "base": "about:blank", + "base": null, "failure": true }, { "input": "https:@/www.example.com", - "base": "about:blank", + "base": null, "failure": true, - "inputCanBeRelative": true + "relativeTo": "non-opaque-path-base" }, { "input": "http:a:b@/www.example.com", - "base": "about:blank", + "base": null, "failure": true, - "inputCanBeRelative": true + "relativeTo": "non-opaque-path-base" }, { "input": "http:/a:b@/www.example.com", - "base": "about:blank", + "base": null, "failure": true, - "inputCanBeRelative": true + "relativeTo": "non-opaque-path-base" }, { "input": "http://a:b@/www.example.com", - "base": "about:blank", + "base": null, "failure": true }, { "input": "http::@/www.example.com", - "base": "about:blank", + "base": null, "failure": true, - "inputCanBeRelative": true + "relativeTo": "non-opaque-path-base" }, { "input": "http:a:@www.example.com", - "base": "about:blank", + "base": null, "href": "http://a@www.example.com/", "origin": "http://www.example.com", "protocol": "http:", @@ -3262,7 +3262,7 @@ }, { "input": "http:/a:@www.example.com", - "base": "about:blank", + "base": null, "href": "http://a@www.example.com/", "origin": "http://www.example.com", "protocol": "http:", @@ -3277,7 +3277,7 @@ }, { "input": "http://a:@www.example.com", - "base": "about:blank", + "base": null, "href": "http://a@www.example.com/", "origin": "http://www.example.com", "protocol": "http:", @@ -3292,7 +3292,7 @@ }, { "input": "http://www.@pple.com", - "base": "about:blank", + "base": null, "href": "http://www.@pple.com/", "origin": "http://pple.com", "protocol": "http:", @@ -3307,24 +3307,24 @@ }, { "input": "http:@:www.example.com", - "base": "about:blank", + "base": null, "failure": true, - "inputCanBeRelative": true + "relativeTo": "non-opaque-path-base" }, { "input": "http:/@:www.example.com", - "base": "about:blank", + "base": null, "failure": true, - "inputCanBeRelative": true + "relativeTo": "non-opaque-path-base" }, { "input": "http://@:www.example.com", - "base": "about:blank", + "base": null, "failure": true }, { "input": "http://:@www.example.com", - "base": "about:blank", + "base": null, "href": "http://www.example.com/", "origin": "http://www.example.com", "protocol": "http:", @@ -3622,7 +3622,7 @@ "Leading and trailing C0 control or space", { "input": "\u0000\u001b\u0004\u0012 http://example.com/\u001f \u000d ", - "base": "about:blank", + "base": null, "href": "http://example.com/", "origin": "http://example.com", "protocol": "http:", @@ -3666,17 +3666,17 @@ "U+FFFD", { "input": "https://\ufffd", - "base": "about:blank", + "base": null, "failure": true }, { "input": "https://%EF%BF%BD", - "base": "about:blank", + "base": null, "failure": true }, { "input": "https://x/\ufffd?\ufffd#\ufffd", - "base": "about:blank", + "base": null, "href": "https://x/%EF%BF%BD?%EF%BF%BD#%EF%BF%BD", "origin": "https://x", "protocol": "https:", @@ -3692,33 +3692,33 @@ "Domain is ASCII, but a label is invalid IDNA", { "input": "http://a.b.c.xn--pokxncvks", - "base": "about:blank", + "base": null, "failure": true }, { "input": "http://10.0.0.xn--pokxncvks", - "base": "about:blank", + "base": null, "failure": true }, "IDNA labels should be matched case-insensitively", { "input": "http://a.b.c.XN--pokxncvks", - "base": "about:blank", + "base": null, "failure": true }, { "input": "http://a.b.c.Xn--pokxncvks", - "base": "about:blank", + "base": null, "failure": true }, { "input": "http://10.0.0.XN--pokxncvks", - "base": "about:blank", + "base": null, "failure": true }, { "input": "http://10.0.0.xN--pokxncvks", - "base": "about:blank", + "base": null, "failure": true }, "Test name prepping, fullwidth input should be converted to ASCII and NOT IDN-ized. This is 'Go' in fullwidth UTF-8/UTF-16.", @@ -3777,7 +3777,7 @@ }, { "input": "https://faß.ExAmPlE/", - "base": "about:blank", + "base": null, "href": "https://xn--fa-hia.example/", "origin": "https://xn--fa-hia.example", "protocol": "https:", @@ -3792,7 +3792,7 @@ }, { "input": "sc://faß.ExAmPlE/", - "base": "about:blank", + "base": null, "href": "sc://fa%C3%9F.ExAmPlE/", "origin": "null", "protocol": "sc:", @@ -3872,7 +3872,7 @@ }, { "input": "https://x x:12", - "base": "about:blank", + "base": null, "failure": true }, "Fullwidth and escaped UTF-8 fullwidth should still be treated as IP", @@ -3894,7 +3894,7 @@ "Domains with empty labels", { "input": "http://./", - "base": "about:blank", + "base": null, "href": "http://./", "origin": "http://.", "protocol": "http:", @@ -3909,7 +3909,7 @@ }, { "input": "http://../", - "base": "about:blank", + "base": null, "href": "http://../", "origin": "http://..", "protocol": "http:", @@ -3925,7 +3925,7 @@ "Non-special domains with empty labels", { "input": "h://.", - "base": "about:blank", + "base": null, "href": "h://.", "origin": "null", "protocol": "h:", @@ -3941,7 +3941,7 @@ "Broken IPv6", { "input": "http://[www.google.com]/", - "base": "about:blank", + "base": null, "failure": true }, { @@ -4066,6 +4066,21 @@ "search": "", "hash": "#x" }, + { + "input": "#x:y", + "base": "about:blank", + "href": "about:blank#x:y", + "origin": "null", + "protocol": "about:", + "username": "", + "password": "", + "host": "", + "hostname": "", + "port": "", + "pathname": "blank", + "search": "", + "hash": "#x:y" + }, { "input": "#", "base": "test:test?test", @@ -4131,7 +4146,7 @@ "byte is ' and url is special", { "input": "http://host/?'", - "base": "about:blank", + "base": null, "href": "http://host/?%27", "origin": "http://host", "protocol": "http:", @@ -4146,7 +4161,7 @@ }, { "input": "notspecial://host/?'", - "base": "about:blank", + "base": null, "href": "notspecial://host/?'", "origin": "null", "protocol": "notspecial:", @@ -4504,7 +4519,7 @@ "# make sure that relative URL logic works on known typically non-relative schemes too", { "input": "about:/../", - "base": "about:blank", + "base": null, "href": "about:/", "origin": "null", "protocol": "about:", @@ -4519,7 +4534,7 @@ }, { "input": "data:/../", - "base": "about:blank", + "base": null, "href": "data:/", "origin": "null", "protocol": "data:", @@ -4534,7 +4549,7 @@ }, { "input": "javascript:/../", - "base": "about:blank", + "base": null, "href": "javascript:/", "origin": "null", "protocol": "javascript:", @@ -4549,7 +4564,7 @@ }, { "input": "mailto:/../", - "base": "about:blank", + "base": null, "href": "mailto:/", "origin": "null", "protocol": "mailto:", @@ -4565,7 +4580,7 @@ "# unknown schemes and their hosts", { "input": "sc://ñ.test/", - "base": "about:blank", + "base": null, "href": "sc://%C3%B1.test/", "origin": "null", "protocol": "sc:", @@ -4580,7 +4595,7 @@ }, { "input": "sc://%/", - "base": "about:blank", + "base": null, "href": "sc://%/", "protocol": "sc:", "username": "", @@ -4594,22 +4609,22 @@ }, { "input": "sc://@/", - "base": "about:blank", + "base": null, "failure": true }, { "input": "sc://te@s:t@/", - "base": "about:blank", + "base": null, "failure": true }, { "input": "sc://:/", - "base": "about:blank", + "base": null, "failure": true }, { "input": "sc://:12/", - "base": "about:blank", + "base": null, "failure": true }, { @@ -4630,7 +4645,7 @@ "# unknown schemes and backslashes", { "input": "sc:\\../", - "base": "about:blank", + "base": null, "href": "sc:\\../", "origin": "null", "protocol": "sc:", @@ -4646,7 +4661,7 @@ "# unknown scheme with path looking like a password", { "input": "sc::a@example.net", - "base": "about:blank", + "base": null, "href": "sc::a@example.net", "origin": "null", "protocol": "sc:", @@ -4662,7 +4677,7 @@ "# unknown scheme with bogus percent-encoding", { "input": "wow:%NBD", - "base": "about:blank", + "base": null, "href": "wow:%NBD", "origin": "null", "protocol": "wow:", @@ -4677,7 +4692,7 @@ }, { "input": "wow:%1G", - "base": "about:blank", + "base": null, "href": "wow:%1G", "origin": "null", "protocol": "wow:", @@ -4693,7 +4708,7 @@ "# unknown scheme with non-URL characters", { "input": "wow:\uFFFF", - "base": "about:blank", + "base": null, "href": "wow:%EF%BF%BF", "origin": "null", "protocol": "wow:", @@ -4708,7 +4723,7 @@ }, { "input": "http://example.com/\uD800\uD801\uDFFE\uDFFF\uFDD0\uFDCF\uFDEF\uFDF0\uFFFE\uFFFF?\uD800\uD801\uDFFE\uDFFF\uFDD0\uFDCF\uFDEF\uFDF0\uFFFE\uFFFF", - "base": "about:blank", + "base": null, "href": "http://example.com/%EF%BF%BD%F0%90%9F%BE%EF%BF%BD%EF%B7%90%EF%B7%8F%EF%B7%AF%EF%B7%B0%EF%BF%BE%EF%BF%BF?%EF%BF%BD%F0%90%9F%BE%EF%BF%BD%EF%B7%90%EF%B7%8F%EF%B7%AF%EF%B7%B0%EF%BF%BE%EF%BF%BF", "origin": "http://example.com", "protocol": "http:", @@ -4724,53 +4739,53 @@ "Forbidden host code points", { "input": "sc://a\u0000b/", - "base": "about:blank", + "base": null, "failure": true }, { "input": "sc://a b/", - "base": "about:blank", + "base": null, "failure": true }, { "input": "sc://a<b", - "base": "about:blank", + "base": null, "failure": true }, { "input": "sc://a>b", - "base": "about:blank", + "base": null, "failure": true }, { "input": "sc://a[b/", - "base": "about:blank", + "base": null, "failure": true }, { "input": "sc://a\\b/", - "base": "about:blank", + "base": null, "failure": true }, { "input": "sc://a]b/", - "base": "about:blank", + "base": null, "failure": true }, { "input": "sc://a^b", - "base": "about:blank", + "base": null, "failure": true }, { "input": "sc://a|b/", - "base": "about:blank", + "base": null, "failure": true }, "Forbidden host codepoints: tabs and newlines are removed during preprocessing", { "input": "foo://ho\u0009st/", - "base": "about:blank", + "base": null, "hash": "", "host": "host", "hostname": "host", @@ -4784,7 +4799,7 @@ }, { "input": "foo://ho\u000Ast/", - "base": "about:blank", + "base": null, "hash": "", "host": "host", "hostname": "host", @@ -4798,7 +4813,7 @@ }, { "input": "foo://ho\u000Dst/", - "base": "about:blank", + "base": null, "hash": "", "host": "host", "hostname": "host", @@ -4813,198 +4828,198 @@ "Forbidden domain code-points", { "input": "http://a\u0000b/", - "base": "about:blank", + "base": null, "failure": true }, { "input": "http://a\u0001b/", - "base": "about:blank", + "base": null, "failure": true }, { "input": "http://a\u0002b/", - "base": "about:blank", + "base": null, "failure": true }, { "input": "http://a\u0003b/", - "base": "about:blank", + "base": null, "failure": true }, { "input": "http://a\u0004b/", - "base": "about:blank", + "base": null, "failure": true }, { "input": "http://a\u0005b/", - "base": "about:blank", + "base": null, "failure": true }, { "input": "http://a\u0006b/", - "base": "about:blank", + "base": null, "failure": true }, { "input": "http://a\u0007b/", - "base": "about:blank", + "base": null, "failure": true }, { "input": "http://a\u0008b/", - "base": "about:blank", + "base": null, "failure": true }, { "input": "http://a\u000Bb/", - "base": "about:blank", + "base": null, "failure": true }, { "input": "http://a\u000Cb/", - "base": "about:blank", + "base": null, "failure": true }, { "input": "http://a\u000Eb/", - "base": "about:blank", + "base": null, "failure": true }, { "input": "http://a\u000Fb/", - "base": "about:blank", + "base": null, "failure": true }, { "input": "http://a\u0010b/", - "base": "about:blank", + "base": null, "failure": true }, { "input": "http://a\u0011b/", - "base": "about:blank", + "base": null, "failure": true }, { "input": "http://a\u0012b/", - "base": "about:blank", + "base": null, "failure": true }, { "input": "http://a\u0013b/", - "base": "about:blank", + "base": null, "failure": true }, { "input": "http://a\u0014b/", - "base": "about:blank", + "base": null, "failure": true }, { "input": "http://a\u0015b/", - "base": "about:blank", + "base": null, "failure": true }, { "input": "http://a\u0016b/", - "base": "about:blank", + "base": null, "failure": true }, { "input": "http://a\u0017b/", - "base": "about:blank", + "base": null, "failure": true }, { "input": "http://a\u0018b/", - "base": "about:blank", + "base": null, "failure": true }, { "input": "http://a\u0019b/", - "base": "about:blank", + "base": null, "failure": true }, { "input": "http://a\u001Ab/", - "base": "about:blank", + "base": null, "failure": true }, { "input": "http://a\u001Bb/", - "base": "about:blank", + "base": null, "failure": true }, { "input": "http://a\u001Cb/", - "base": "about:blank", + "base": null, "failure": true }, { "input": "http://a\u001Db/", - "base": "about:blank", + "base": null, "failure": true }, { "input": "http://a\u001Eb/", - "base": "about:blank", + "base": null, "failure": true }, { "input": "http://a\u001Fb/", - "base": "about:blank", + "base": null, "failure": true }, { "input": "http://a b/", - "base": "about:blank", + "base": null, "failure": true }, { "input": "http://a%b/", - "base": "about:blank", + "base": null, "failure": true }, { "input": "http://a<b", - "base": "about:blank", + "base": null, "failure": true }, { "input": "http://a>b", - "base": "about:blank", + "base": null, "failure": true }, { "input": "http://a[b/", - "base": "about:blank", + "base": null, "failure": true }, { "input": "http://a]b/", - "base": "about:blank", + "base": null, "failure": true }, { "input": "http://a^b", - "base": "about:blank", + "base": null, "failure": true }, { "input": "http://a|b/", - "base": "about:blank", + "base": null, "failure": true }, { "input": "http://a\u007Fb/", - "base": "about:blank", + "base": null, "failure": true }, "Forbidden domain codepoints: tabs and newlines are removed during preprocessing", { "input": "http://ho\u0009st/", - "base": "about:blank", + "base": null, "hash": "", "host": "host", "hostname": "host", @@ -5018,7 +5033,7 @@ }, { "input": "http://ho\u000Ast/", - "base": "about:blank", + "base": null, "hash": "", "host": "host", "hostname": "host", @@ -5032,7 +5047,7 @@ }, { "input": "http://ho\u000Dst/", - "base": "about:blank", + "base": null, "hash": "", "host": "host", "hostname": "host", @@ -5047,238 +5062,238 @@ "Encoded forbidden domain codepoints in special URLs", { "input": "http://ho%00st/", - "base": "about:blank", + "base": null, "failure": true }, { "input": "http://ho%01st/", - "base": "about:blank", + "base": null, "failure": true }, { "input": "http://ho%02st/", - "base": "about:blank", + "base": null, "failure": true }, { "input": "http://ho%03st/", - "base": "about:blank", + "base": null, "failure": true }, { "input": "http://ho%04st/", - "base": "about:blank", + "base": null, "failure": true }, { "input": "http://ho%05st/", - "base": "about:blank", + "base": null, "failure": true }, { "input": "http://ho%06st/", - "base": "about:blank", + "base": null, "failure": true }, { "input": "http://ho%07st/", - "base": "about:blank", + "base": null, "failure": true }, { "input": "http://ho%08st/", - "base": "about:blank", + "base": null, "failure": true }, { "input": "http://ho%09st/", - "base": "about:blank", + "base": null, "failure": true }, { "input": "http://ho%0Ast/", - "base": "about:blank", + "base": null, "failure": true }, { "input": "http://ho%0Bst/", - "base": "about:blank", + "base": null, "failure": true }, { "input": "http://ho%0Cst/", - "base": "about:blank", + "base": null, "failure": true }, { "input": "http://ho%0Dst/", - "base": "about:blank", + "base": null, "failure": true }, { "input": "http://ho%0Est/", - "base": "about:blank", + "base": null, "failure": true }, { "input": "http://ho%0Fst/", - "base": "about:blank", + "base": null, "failure": true }, { "input": "http://ho%10st/", - "base": "about:blank", + "base": null, "failure": true }, { "input": "http://ho%11st/", - "base": "about:blank", + "base": null, "failure": true }, { "input": "http://ho%12st/", - "base": "about:blank", + "base": null, "failure": true }, { "input": "http://ho%13st/", - "base": "about:blank", + "base": null, "failure": true }, { "input": "http://ho%14st/", - "base": "about:blank", + "base": null, "failure": true }, { "input": "http://ho%15st/", - "base": "about:blank", + "base": null, "failure": true }, { "input": "http://ho%16st/", - "base": "about:blank", + "base": null, "failure": true }, { "input": "http://ho%17st/", - "base": "about:blank", + "base": null, "failure": true }, { "input": "http://ho%18st/", - "base": "about:blank", + "base": null, "failure": true }, { "input": "http://ho%19st/", - "base": "about:blank", + "base": null, "failure": true }, { "input": "http://ho%1Ast/", - "base": "about:blank", + "base": null, "failure": true }, { "input": "http://ho%1Bst/", - "base": "about:blank", + "base": null, "failure": true }, { "input": "http://ho%1Cst/", - "base": "about:blank", + "base": null, "failure": true }, { "input": "http://ho%1Dst/", - "base": "about:blank", + "base": null, "failure": true }, { "input": "http://ho%1Est/", - "base": "about:blank", + "base": null, "failure": true }, { "input": "http://ho%1Fst/", - "base": "about:blank", + "base": null, "failure": true }, { "input": "http://ho%20st/", - "base": "about:blank", + "base": null, "failure": true }, { "input": "http://ho%23st/", - "base": "about:blank", + "base": null, "failure": true }, { "input": "http://ho%25st/", - "base": "about:blank", + "base": null, "failure": true }, { "input": "http://ho%2Fst/", - "base": "about:blank", + "base": null, "failure": true }, { "input": "http://ho%3Ast/", - "base": "about:blank", + "base": null, "failure": true }, { "input": "http://ho%3Cst/", - "base": "about:blank", + "base": null, "failure": true }, { "input": "http://ho%3Est/", - "base": "about:blank", + "base": null, "failure": true }, { "input": "http://ho%3Fst/", - "base": "about:blank", + "base": null, "failure": true }, { "input": "http://ho%40st/", - "base": "about:blank", + "base": null, "failure": true }, { "input": "http://ho%5Bst/", - "base": "about:blank", + "base": null, "failure": true }, { "input": "http://ho%5Cst/", - "base": "about:blank", + "base": null, "failure": true }, { "input": "http://ho%5Dst/", - "base": "about:blank", + "base": null, "failure": true }, { "input": "http://ho%7Cst/", - "base": "about:blank", + "base": null, "failure": true }, { "input": "http://ho%7Fst/", - "base": "about:blank", + "base": null, "failure": true }, "Allowed host/domain code points", { "input": "http://!\"$&'()*+,-.;=_`{}~/", - "base": "about:blank", + "base": null, "href": "http://!\"$&'()*+,-.;=_`{}~/", "origin": "http://!\"$&'()*+,-.;=_`{}~", "protocol": "http:", @@ -5293,7 +5308,7 @@ }, { "input": "sc://\u0001\u0002\u0003\u0004\u0005\u0006\u0007\u0008\u000B\u000C\u000E\u000F\u0010\u0011\u0012\u0013\u0014\u0015\u0016\u0017\u0018\u0019\u001A\u001B\u001C\u001D\u001E\u001F\u007F!\"$%&'()*+,-.;=_`{}~/", - "base": "about:blank", + "base": null, "href": "sc://%01%02%03%04%05%06%07%08%0B%0C%0E%0F%10%11%12%13%14%15%16%17%18%19%1A%1B%1C%1D%1E%1F%7F!\"$%&'()*+,-.;=_`{}~/", "origin": "null", "protocol": "sc:", @@ -5309,27 +5324,27 @@ "# Hosts and percent-encoding", { "input": "ftp://example.com%80/", - "base": "about:blank", + "base": null, "failure": true }, { "input": "ftp://example.com%A0/", - "base": "about:blank", + "base": null, "failure": true }, { "input": "https://example.com%80/", - "base": "about:blank", + "base": null, "failure": true }, { "input": "https://example.com%A0/", - "base": "about:blank", + "base": null, "failure": true }, { "input": "ftp://%e2%98%83", - "base": "about:blank", + "base": null, "href": "ftp://xn--n3h/", "origin": "ftp://xn--n3h", "protocol": "ftp:", @@ -5344,7 +5359,7 @@ }, { "input": "https://%e2%98%83", - "base": "about:blank", + "base": null, "href": "https://xn--n3h/", "origin": "https://xn--n3h", "protocol": "https:", @@ -5360,7 +5375,7 @@ "# tests from jsdom/whatwg-url designed for code coverage", { "input": "http://127.0.0.1:10100/relative_import.html", - "base": "about:blank", + "base": null, "href": "http://127.0.0.1:10100/relative_import.html", "origin": "http://127.0.0.1:10100", "protocol": "http:", @@ -5375,7 +5390,7 @@ }, { "input": "http://facebook.com/?foo=%7B%22abc%22", - "base": "about:blank", + "base": null, "href": "http://facebook.com/?foo=%7B%22abc%22", "origin": "http://facebook.com", "protocol": "http:", @@ -5390,7 +5405,7 @@ }, { "input": "https://localhost:3000/jqueryui@1.2.3", - "base": "about:blank", + "base": null, "href": "https://localhost:3000/jqueryui@1.2.3", "origin": "https://localhost:3000", "protocol": "https:", @@ -5406,7 +5421,7 @@ "# tab/LF/CR", { "input": "h\tt\nt\rp://h\to\ns\rt:9\t0\n0\r0/p\ta\nt\rh?q\tu\ne\rry#f\tr\na\rg", - "base": "about:blank", + "base": null, "href": "http://host:9000/path?query#frag", "origin": "http://host:9000", "protocol": "http:", @@ -5493,7 +5508,7 @@ "# Percent encoding of fragments", { "input": "http://foo.bar/baz?qux#foo\bbar", - "base": "about:blank", + "base": null, "href": "http://foo.bar/baz?qux#foo%08bar", "origin": "http://foo.bar", "protocol": "http:", @@ -5509,7 +5524,7 @@ }, { "input": "http://foo.bar/baz?qux#foo\"bar", - "base": "about:blank", + "base": null, "href": "http://foo.bar/baz?qux#foo%22bar", "origin": "http://foo.bar", "protocol": "http:", @@ -5525,7 +5540,7 @@ }, { "input": "http://foo.bar/baz?qux#foo<bar", - "base": "about:blank", + "base": null, "href": "http://foo.bar/baz?qux#foo%3Cbar", "origin": "http://foo.bar", "protocol": "http:", @@ -5541,7 +5556,7 @@ }, { "input": "http://foo.bar/baz?qux#foo>bar", - "base": "about:blank", + "base": null, "href": "http://foo.bar/baz?qux#foo%3Ebar", "origin": "http://foo.bar", "protocol": "http:", @@ -5557,7 +5572,7 @@ }, { "input": "http://foo.bar/baz?qux#foo`bar", - "base": "about:blank", + "base": null, "href": "http://foo.bar/baz?qux#foo%60bar", "origin": "http://foo.bar", "protocol": "http:", @@ -5789,7 +5804,7 @@ }, { "input": "https://0x.0x.0", - "base": "about:blank", + "base": null, "href": "https://0.0.0.0/", "origin": "https://0.0.0.0", "protocol": "https:", @@ -5805,18 +5820,18 @@ "More IPv4 parsing (via https://github.com/jsdom/whatwg-url/issues/92)", { "input": "https://0x100000000/test", - "base": "about:blank", + "base": null, "failure": true }, { "input": "https://256.0.0.1/test", - "base": "about:blank", + "base": null, "failure": true }, "# file URLs containing percent-encoded Windows drive letters (shouldn't work)", { "input": "file:///C%3A/", - "base": "about:blank", + "base": null, "href": "file:///C%3A/", "protocol": "file:", "username": "", @@ -5830,7 +5845,7 @@ }, { "input": "file:///C%7C/", - "base": "about:blank", + "base": null, "href": "file:///C%7C/", "protocol": "file:", "username": "", @@ -5844,42 +5859,42 @@ }, { "input": "file://%43%3A", - "base": "about:blank", + "base": null, "failure": true }, { "input": "file://%43%7C", - "base": "about:blank", + "base": null, "failure": true }, { "input": "file://%43|", - "base": "about:blank", + "base": null, "failure": true }, { "input": "file://C%7C", - "base": "about:blank", + "base": null, "failure": true }, { "input": "file://%43%7C/", - "base": "about:blank", + "base": null, "failure": true }, { "input": "https://%43%7C/", - "base": "about:blank", + "base": null, "failure": true }, { "input": "asdf://%43|/", - "base": "about:blank", + "base": null, "failure": true }, { "input": "asdf://%43%7C/", - "base": "about:blank", + "base": null, "href": "asdf://%43%7C/", "origin": "null", "protocol": "asdf:", @@ -6121,7 +6136,7 @@ "# File URLs and many (back)slashes", { "input": "file:\\\\//", - "base": "about:blank", + "base": null, "href": "file:////", "protocol": "file:", "username": "", @@ -6135,7 +6150,7 @@ }, { "input": "file:\\\\\\\\", - "base": "about:blank", + "base": null, "href": "file:////", "protocol": "file:", "username": "", @@ -6149,7 +6164,7 @@ }, { "input": "file:\\\\\\\\?fox", - "base": "about:blank", + "base": null, "href": "file:////?fox", "protocol": "file:", "username": "", @@ -6163,7 +6178,7 @@ }, { "input": "file:\\\\\\\\#guppy", - "base": "about:blank", + "base": null, "href": "file:////#guppy", "protocol": "file:", "username": "", @@ -6177,7 +6192,7 @@ }, { "input": "file://spider///", - "base": "about:blank", + "base": null, "href": "file://spider///", "protocol": "file:", "username": "", @@ -6191,7 +6206,7 @@ }, { "input": "file:\\\\localhost//", - "base": "about:blank", + "base": null, "href": "file:////", "protocol": "file:", "username": "", @@ -6205,7 +6220,7 @@ }, { "input": "file:///localhost//cat", - "base": "about:blank", + "base": null, "href": "file:///localhost//cat", "protocol": "file:", "username": "", @@ -6219,7 +6234,7 @@ }, { "input": "file://\\/localhost//cat", - "base": "about:blank", + "base": null, "href": "file:////localhost//cat", "protocol": "file:", "username": "", @@ -6233,7 +6248,7 @@ }, { "input": "file://localhost//a//../..//", - "base": "about:blank", + "base": null, "href": "file://///", "protocol": "file:", "username": "", @@ -6545,7 +6560,7 @@ "# Do not drop the host in the presence of a drive letter", { "input": "file://example.net/C:/", - "base": "about:blank", + "base": null, "href": "file://example.net/C:/", "protocol": "file:", "username": "", @@ -6559,7 +6574,7 @@ }, { "input": "file://1.2.3.4/C:/", - "base": "about:blank", + "base": null, "href": "file://1.2.3.4/C:/", "protocol": "file:", "username": "", @@ -6573,7 +6588,7 @@ }, { "input": "file://[1::8]/C:/", - "base": "about:blank", + "base": null, "href": "file://[1::8]/C:/", "protocol": "file:", "username": "", @@ -6702,7 +6717,7 @@ "# Windows drive letter quirk (no host)", { "input": "file:/C|/", - "base": "about:blank", + "base": null, "href": "file:///C:/", "protocol": "file:", "username": "", @@ -6716,7 +6731,7 @@ }, { "input": "file://C|/", - "base": "about:blank", + "base": null, "href": "file:///C:/", "protocol": "file:", "username": "", @@ -6731,7 +6746,7 @@ "# file URLs without base URL by Rimas Misevičius", { "input": "file:", - "base": "about:blank", + "base": null, "href": "file:///", "protocol": "file:", "username": "", @@ -6745,7 +6760,7 @@ }, { "input": "file:?q=v", - "base": "about:blank", + "base": null, "href": "file:///?q=v", "protocol": "file:", "username": "", @@ -6759,7 +6774,7 @@ }, { "input": "file:#frag", - "base": "about:blank", + "base": null, "href": "file:///#frag", "protocol": "file:", "username": "", @@ -6774,7 +6789,7 @@ "# file: drive letter cases from https://crbug.com/1078698", { "input": "file:///Y:", - "base": "about:blank", + "base": null, "href": "file:///Y:", "protocol": "file:", "username": "", @@ -6788,7 +6803,7 @@ }, { "input": "file:///Y:/", - "base": "about:blank", + "base": null, "href": "file:///Y:/", "protocol": "file:", "username": "", @@ -6802,7 +6817,7 @@ }, { "input": "file:///./Y", - "base": "about:blank", + "base": null, "href": "file:///Y", "protocol": "file:", "username": "", @@ -6816,7 +6831,7 @@ }, { "input": "file:///./Y:", - "base": "about:blank", + "base": null, "href": "file:///Y:", "protocol": "file:", "username": "", @@ -6830,14 +6845,14 @@ }, { "input": "\\\\\\.\\Y:", - "base": "about:blank", + "base": null, "failure": true, - "inputCanBeRelative": true + "relativeTo": "non-opaque-path-base" }, "# file: drive letter cases from https://crbug.com/1078698 but lowercased", { "input": "file:///y:", - "base": "about:blank", + "base": null, "href": "file:///y:", "protocol": "file:", "username": "", @@ -6851,7 +6866,7 @@ }, { "input": "file:///y:/", - "base": "about:blank", + "base": null, "href": "file:///y:/", "protocol": "file:", "username": "", @@ -6865,7 +6880,7 @@ }, { "input": "file:///./y", - "base": "about:blank", + "base": null, "href": "file:///y", "protocol": "file:", "username": "", @@ -6879,7 +6894,7 @@ }, { "input": "file:///./y:", - "base": "about:blank", + "base": null, "href": "file:///y:", "protocol": "file:", "username": "", @@ -6893,14 +6908,14 @@ }, { "input": "\\\\\\.\\y:", - "base": "about:blank", + "base": null, "failure": true, - "inputCanBeRelative": true + "relativeTo": "non-opaque-path-base" }, "# Additional file URL tests for (https://github.com/whatwg/url/issues/405)", { "input": "file://localhost//a//../..//foo", - "base": "about:blank", + "base": null, "href": "file://///foo", "protocol": "file:", "username": "", @@ -6914,7 +6929,7 @@ }, { "input": "file://localhost////foo", - "base": "about:blank", + "base": null, "href": "file://////foo", "protocol": "file:", "username": "", @@ -6928,7 +6943,7 @@ }, { "input": "file:////foo", - "base": "about:blank", + "base": null, "href": "file:////foo", "protocol": "file:", "username": "", @@ -7027,7 +7042,7 @@ "File URL tests for https://github.com/whatwg/url/issues/549", { "input": "file:.//p", - "base": "about:blank", + "base": null, "href": "file:////p", "protocol": "file:", "username": "", @@ -7041,7 +7056,7 @@ }, { "input": "file:/.//p", - "base": "about:blank", + "base": null, "href": "file:////p", "protocol": "file:", "username": "", @@ -7076,48 +7091,48 @@ }, { "input": "https://[0::0::0]", - "base": "about:blank", + "base": null, "failure": true }, { "input": "https://[0:.0]", - "base": "about:blank", + "base": null, "failure": true }, { "input": "https://[0:0:]", - "base": "about:blank", + "base": null, "failure": true }, { "input": "https://[0:1:2:3:4:5:6:7.0.0.0.1]", - "base": "about:blank", + "base": null, "failure": true }, { "input": "https://[0:1.00.0.0.0]", - "base": "about:blank", + "base": null, "failure": true }, { "input": "https://[0:1.290.0.0.0]", - "base": "about:blank", + "base": null, "failure": true }, { "input": "https://[0:1.23.23]", - "base": "about:blank", + "base": null, "failure": true }, "# Empty host", { "input": "http://?", - "base": "about:blank", + "base": null, "failure": true }, { "input": "http://#", - "base": "about:blank", + "base": null, "failure": true }, "Port overflow (2^32 + 81)", @@ -7141,7 +7156,7 @@ "# Non-special-URL path tests", { "input": "sc://ñ", - "base": "about:blank", + "base": null, "href": "sc://%C3%B1", "origin": "null", "protocol": "sc:", @@ -7156,7 +7171,7 @@ }, { "input": "sc://ñ?x", - "base": "about:blank", + "base": null, "href": "sc://%C3%B1?x", "origin": "null", "protocol": "sc:", @@ -7171,7 +7186,7 @@ }, { "input": "sc://ñ#x", - "base": "about:blank", + "base": null, "href": "sc://%C3%B1#x", "origin": "null", "protocol": "sc:", @@ -7216,7 +7231,7 @@ }, { "input": "sc://?", - "base": "about:blank", + "base": null, "href": "sc://?", "protocol": "sc:", "username": "", @@ -7230,7 +7245,7 @@ }, { "input": "sc://#", - "base": "about:blank", + "base": null, "href": "sc://#", "protocol": "sc:", "username": "", @@ -7286,7 +7301,7 @@ }, { "input": "tftp://foobar.com/someconfig;mode=netascii", - "base": "about:blank", + "base": null, "href": "tftp://foobar.com/someconfig;mode=netascii", "origin": "null", "protocol": "tftp:", @@ -7301,7 +7316,7 @@ }, { "input": "telnet://user:pass@foobar.com:23/", - "base": "about:blank", + "base": null, "href": "telnet://user:pass@foobar.com:23/", "origin": "null", "protocol": "telnet:", @@ -7316,7 +7331,7 @@ }, { "input": "ut2004://10.10.10.10:7777/Index.ut2", - "base": "about:blank", + "base": null, "href": "ut2004://10.10.10.10:7777/Index.ut2", "origin": "null", "protocol": "ut2004:", @@ -7331,7 +7346,7 @@ }, { "input": "redis://foo:bar@somehost:6379/0?baz=bam&qux=baz", - "base": "about:blank", + "base": null, "href": "redis://foo:bar@somehost:6379/0?baz=bam&qux=baz", "origin": "null", "protocol": "redis:", @@ -7346,7 +7361,7 @@ }, { "input": "rsync://foo@host:911/sup", - "base": "about:blank", + "base": null, "href": "rsync://foo@host:911/sup", "origin": "null", "protocol": "rsync:", @@ -7361,7 +7376,7 @@ }, { "input": "git://github.com/foo/bar.git", - "base": "about:blank", + "base": null, "href": "git://github.com/foo/bar.git", "origin": "null", "protocol": "git:", @@ -7376,7 +7391,7 @@ }, { "input": "irc://myserver.com:6999/channel?passwd", - "base": "about:blank", + "base": null, "href": "irc://myserver.com:6999/channel?passwd", "origin": "null", "protocol": "irc:", @@ -7391,7 +7406,7 @@ }, { "input": "dns://fw.example.org:9999/foo.bar.org?type=TXT", - "base": "about:blank", + "base": null, "href": "dns://fw.example.org:9999/foo.bar.org?type=TXT", "origin": "null", "protocol": "dns:", @@ -7406,7 +7421,7 @@ }, { "input": "ldap://localhost:389/ou=People,o=JNDITutorial", - "base": "about:blank", + "base": null, "href": "ldap://localhost:389/ou=People,o=JNDITutorial", "origin": "null", "protocol": "ldap:", @@ -7421,7 +7436,7 @@ }, { "input": "git+https://github.com/foo/bar", - "base": "about:blank", + "base": null, "href": "git+https://github.com/foo/bar", "origin": "null", "protocol": "git+https:", @@ -7436,7 +7451,7 @@ }, { "input": "urn:ietf:rfc:2648", - "base": "about:blank", + "base": null, "href": "urn:ietf:rfc:2648", "origin": "null", "protocol": "urn:", @@ -7451,7 +7466,7 @@ }, { "input": "tag:joe@example.org,2001:foo/bar", - "base": "about:blank", + "base": null, "href": "tag:joe@example.org,2001:foo/bar", "origin": "null", "protocol": "tag:", @@ -7467,7 +7482,7 @@ "Serialize /. in path", { "input": "non-spec:/.//", - "base": "about:blank", + "base": null, "href": "non-spec:/.//", "protocol": "non-spec:", "username": "", @@ -7481,7 +7496,7 @@ }, { "input": "non-spec:/..//", - "base": "about:blank", + "base": null, "href": "non-spec:/.//", "protocol": "non-spec:", "username": "", @@ -7495,7 +7510,7 @@ }, { "input": "non-spec:/a/..//", - "base": "about:blank", + "base": null, "href": "non-spec:/.//", "protocol": "non-spec:", "username": "", @@ -7509,7 +7524,7 @@ }, { "input": "non-spec:/.//path", - "base": "about:blank", + "base": null, "href": "non-spec:/.//path", "protocol": "non-spec:", "username": "", @@ -7523,7 +7538,7 @@ }, { "input": "non-spec:/..//path", - "base": "about:blank", + "base": null, "href": "non-spec:/.//path", "protocol": "non-spec:", "username": "", @@ -7537,7 +7552,7 @@ }, { "input": "non-spec:/a/..//path", - "base": "about:blank", + "base": null, "href": "non-spec:/.//path", "protocol": "non-spec:", "username": "", @@ -7651,7 +7666,7 @@ "# percent encoded hosts in non-special-URLs", { "input": "non-special://%E2%80%A0/", - "base": "about:blank", + "base": null, "href": "non-special://%E2%80%A0/", "protocol": "non-special:", "username": "", @@ -7665,7 +7680,7 @@ }, { "input": "non-special://H%4fSt/path", - "base": "about:blank", + "base": null, "href": "non-special://H%4fSt/path", "protocol": "non-special:", "username": "", @@ -7680,7 +7695,7 @@ "# IPv6 in non-special-URLs", { "input": "non-special://[1:2:0:0:5:0:0:0]/", - "base": "about:blank", + "base": null, "href": "non-special://[1:2:0:0:5::]/", "protocol": "non-special:", "username": "", @@ -7694,7 +7709,7 @@ }, { "input": "non-special://[1:2:0:0:0:0:0:3]/", - "base": "about:blank", + "base": null, "href": "non-special://[1:2::3]/", "protocol": "non-special:", "username": "", @@ -7708,7 +7723,7 @@ }, { "input": "non-special://[1:2::3]:80/", - "base": "about:blank", + "base": null, "href": "non-special://[1:2::3]:80/", "protocol": "non-special:", "username": "", @@ -7722,12 +7737,12 @@ }, { "input": "non-special://[:80/", - "base": "about:blank", + "base": null, "failure": true }, { "input": "blob:https://example.com:443/", - "base": "about:blank", + "base": null, "href": "blob:https://example.com:443/", "origin": "https://example.com", "protocol": "blob:", @@ -7742,7 +7757,7 @@ }, { "input": "blob:d3958f5c-0777-0845-9dcf-2cb28783acaf", - "base": "about:blank", + "base": null, "href": "blob:d3958f5c-0777-0845-9dcf-2cb28783acaf", "origin": "null", "protocol": "blob:", @@ -7757,7 +7772,7 @@ }, { "input": "blob:", - "base": "about:blank", + "base": null, "href": "blob:", "origin": "null", "protocol": "blob:", @@ -7773,7 +7788,7 @@ "Invalid IPv4 radix digits", { "input": "http://0x7f.0.0.0x7g", - "base": "about:blank", + "base": null, "href": "http://0x7f.0.0.0x7g/", "protocol": "http:", "username": "", @@ -7787,7 +7802,7 @@ }, { "input": "http://0X7F.0.0.0X7G", - "base": "about:blank", + "base": null, "href": "http://0x7f.0.0.0x7g/", "protocol": "http:", "username": "", @@ -7802,13 +7817,13 @@ "Invalid IPv4 portion of IPv6 address", { "input": "http://[::127.0.0.0.1]", - "base": "about:blank", + "base": null, "failure": true }, "Uncompressed IPv6 addresses with 0", { "input": "http://[0:1:0:1:0:1:0:1]", - "base": "about:blank", + "base": null, "href": "http://[0:1:0:1:0:1:0:1]/", "protocol": "http:", "username": "", @@ -7822,7 +7837,7 @@ }, { "input": "http://[1:0:1:0:1:0:1:0]", - "base": "about:blank", + "base": null, "href": "http://[1:0:1:0:1:0:1:0]/", "protocol": "http:", "username": "", @@ -7837,7 +7852,7 @@ "Percent-encoded query and fragment", { "input": "http://example.org/test?\u0022", - "base": "about:blank", + "base": null, "href": "http://example.org/test?%22", "protocol": "http:", "username": "", @@ -7851,7 +7866,7 @@ }, { "input": "http://example.org/test?\u0023", - "base": "about:blank", + "base": null, "href": "http://example.org/test?#", "protocol": "http:", "username": "", @@ -7865,7 +7880,7 @@ }, { "input": "http://example.org/test?\u003C", - "base": "about:blank", + "base": null, "href": "http://example.org/test?%3C", "protocol": "http:", "username": "", @@ -7879,7 +7894,7 @@ }, { "input": "http://example.org/test?\u003E", - "base": "about:blank", + "base": null, "href": "http://example.org/test?%3E", "protocol": "http:", "username": "", @@ -7893,7 +7908,7 @@ }, { "input": "http://example.org/test?\u2323", - "base": "about:blank", + "base": null, "href": "http://example.org/test?%E2%8C%A3", "protocol": "http:", "username": "", @@ -7907,7 +7922,7 @@ }, { "input": "http://example.org/test?%23%23", - "base": "about:blank", + "base": null, "href": "http://example.org/test?%23%23", "protocol": "http:", "username": "", @@ -7921,7 +7936,7 @@ }, { "input": "http://example.org/test?%GH", - "base": "about:blank", + "base": null, "href": "http://example.org/test?%GH", "protocol": "http:", "username": "", @@ -7935,7 +7950,7 @@ }, { "input": "http://example.org/test?a#%EF", - "base": "about:blank", + "base": null, "href": "http://example.org/test?a#%EF", "protocol": "http:", "username": "", @@ -7949,7 +7964,7 @@ }, { "input": "http://example.org/test?a#%GH", - "base": "about:blank", + "base": null, "href": "http://example.org/test?a#%GH", "protocol": "http:", "username": "", @@ -7964,21 +7979,21 @@ "URLs that require a non-about:blank base. (Also serve as invalid base tests.)", { "input": "a", - "base": "about:blank", + "base": null, "failure": true, - "inputCanBeRelative": true + "relativeTo": "non-opaque-path-base" }, { "input": "a/", - "base": "about:blank", + "base": null, "failure": true, - "inputCanBeRelative": true + "relativeTo": "non-opaque-path-base" }, { "input": "a//", - "base": "about:blank", + "base": null, "failure": true, - "inputCanBeRelative": true + "relativeTo": "non-opaque-path-base" }, "Bases that don't fail to parse but fail to be bases", { @@ -8051,7 +8066,7 @@ "Null code point in fragment", { "input": "http://example.org/test?a#b\u0000c", - "base": "about:blank", + "base": null, "href": "http://example.org/test?a#b%00c", "protocol": "http:", "username": "", @@ -8065,7 +8080,7 @@ }, { "input": "non-spec://example.org/test?a#b\u0000c", - "base": "about:blank", + "base": null, "href": "non-spec://example.org/test?a#b%00c", "protocol": "non-spec:", "username": "", @@ -8079,7 +8094,7 @@ }, { "input": "non-spec:/test?a#b\u0000c", - "base": "about:blank", + "base": null, "href": "non-spec:/test?a#b%00c", "protocol": "non-spec:", "username": "", @@ -8139,7 +8154,7 @@ "IDNA ignored code points in file URLs hosts", { "input": "file://a\u00ADb/p", - "base": "about:blank", + "base": null, "href": "file://ab/p", "protocol": "file:", "username": "", @@ -8153,7 +8168,7 @@ }, { "input": "file://a%C2%ADb/p", - "base": "about:blank", + "base": null, "href": "file://ab/p", "protocol": "file:", "username": "", @@ -8168,7 +8183,7 @@ "IDNA hostnames which get mapped to 'localhost'", { "input": "file://loC𝐀𝐋𝐇𝐨𝐬𝐭/usr/bin", - "base": "about:blank", + "base": null, "href": "file:///usr/bin", "protocol": "file:", "username": "", @@ -8183,17 +8198,17 @@ "Empty host after the domain to ASCII", { "input": "file://\u00ad/p", - "base": "about:blank", + "base": null, "failure": true }, { "input": "file://%C2%AD/p", - "base": "about:blank", + "base": null, "failure": true }, { "input": "file://xn--/p", - "base": "about:blank", + "base": null, "failure": true }, "https://bugzilla.mozilla.org/show_bug.cgi?id=1647058", @@ -8214,7 +8229,7 @@ "UTF-8 percent-encode of C0 control percent-encode set and supersets", { "input": "non-special:cannot-be-a-base-url-\u0000\u0001\u001F\u001E\u007E\u007F\u0080", - "base": "about:blank", + "base": null, "hash": "", "host": "", "hostname": "", @@ -8229,7 +8244,7 @@ }, { "input": "https://www.example.com/path{\u007Fpath.html?query'\u007F=query#fragment<\u007Ffragment", - "base": "about:blank", + "base": null, "hash": "#fragment%3C%7Ffragment", "host": "www.example.com", "hostname": "www.example.com", @@ -8260,7 +8275,7 @@ "Tests for the distinct percent-encode sets", { "input": "foo:// !\"$%&'()*+,-.;<=>@[\\]^_`{|}~@host/", - "base": "about:blank", + "base": null, "hash": "", "host": "host", "hostname": "host", @@ -8275,7 +8290,7 @@ }, { "input": "wss:// !\"$%&'()*+,-.;<=>@[]^_`{|}~@host/", - "base": "about:blank", + "base": null, "hash": "", "host": "host", "hostname": "host", @@ -8290,7 +8305,7 @@ }, { "input": "foo://joe: !\"$%&'()*+,-.:;<=>@[\\]^_`{|}~@host/", - "base": "about:blank", + "base": null, "hash": "", "host": "host", "hostname": "host", @@ -8305,7 +8320,7 @@ }, { "input": "wss://joe: !\"$%&'()*+,-.:;<=>@[]^_`{|}~@host/", - "base": "about:blank", + "base": null, "hash": "", "host": "host", "hostname": "host", @@ -8320,7 +8335,7 @@ }, { "input": "foo://!\"$%&'()*+,-.;=_`{}~/", - "base": "about:blank", + "base": null, "hash": "", "host": "!\"$%&'()*+,-.;=_`{}~", "hostname": "!\"$%&'()*+,-.;=_`{}~", @@ -8335,7 +8350,7 @@ }, { "input": "wss://!\"$&'()*+,-.;=_`{}~/", - "base": "about:blank", + "base": null, "hash": "", "host": "!\"$&'()*+,-.;=_`{}~", "hostname": "!\"$&'()*+,-.;=_`{}~", @@ -8350,7 +8365,7 @@ }, { "input": "foo://host/ !\"$%&'()*+,-./:;<=>@[\\]^_`{|}~", - "base": "about:blank", + "base": null, "hash": "", "host": "host", "hostname": "host", @@ -8365,7 +8380,7 @@ }, { "input": "wss://host/ !\"$%&'()*+,-./:;<=>@[\\]^_`{|}~", - "base": "about:blank", + "base": null, "hash": "", "host": "host", "hostname": "host", @@ -8380,7 +8395,7 @@ }, { "input": "foo://host/dir/? !\"$%&'()*+,-./:;<=>?@[\\]^_`{|}~", - "base": "about:blank", + "base": null, "hash": "", "host": "host", "hostname": "host", @@ -8395,7 +8410,7 @@ }, { "input": "wss://host/dir/? !\"$%&'()*+,-./:;<=>?@[\\]^_`{|}~", - "base": "about:blank", + "base": null, "hash": "", "host": "host", "hostname": "host", @@ -8410,7 +8425,7 @@ }, { "input": "foo://host/dir/# !\"#$%&'()*+,-./:;<=>?@[\\]^_`{|}~", - "base": "about:blank", + "base": null, "hash": "#%20!%22#$%&'()*+,-./:;%3C=%3E?@[\\]^_%60{|}~", "host": "host", "hostname": "host", @@ -8425,7 +8440,7 @@ }, { "input": "wss://host/dir/# !\"#$%&'()*+,-./:;<=>?@[\\]^_`{|}~", - "base": "about:blank", + "base": null, "hash": "#%20!%22#$%&'()*+,-./:;%3C=%3E?@[\\]^_%60{|}~", "host": "host", "hostname": "host", @@ -8499,12 +8514,14 @@ { "input": "#", "base": null, - "failure": true + "failure": true, + "relativeTo": "any-base" }, { "input": "?", "base": null, - "failure": true + "failure": true, + "relativeTo": "non-opaque-path-base" }, "Last component looks like a number, but not valid IPv4", { @@ -8519,12 +8536,12 @@ }, { "input": "http://0..0x300/", - "base": "about:blank", + "base": null, "failure": true }, { "input": "http://0..0x300./", - "base": "about:blank", + "base": null, "failure": true }, { @@ -8539,102 +8556,102 @@ }, { "input": "http://1.2.3.08", - "base": "about:blank", + "base": null, "failure": true }, { "input": "http://1.2.3.08.", - "base": "about:blank", + "base": null, "failure": true }, { "input": "http://1.2.3.09", - "base": "about:blank", + "base": null, "failure": true }, { "input": "http://09.2.3.4", - "base": "about:blank", + "base": null, "failure": true }, { "input": "http://09.2.3.4.", - "base": "about:blank", + "base": null, "failure": true }, { "input": "http://01.2.3.4.5", - "base": "about:blank", + "base": null, "failure": true }, { "input": "http://01.2.3.4.5.", - "base": "about:blank", + "base": null, "failure": true }, { "input": "http://0x100.2.3.4", - "base": "about:blank", + "base": null, "failure": true }, { "input": "http://0x100.2.3.4.", - "base": "about:blank", + "base": null, "failure": true }, { "input": "http://0x1.2.3.4.5", - "base": "about:blank", + "base": null, "failure": true }, { "input": "http://0x1.2.3.4.5.", - "base": "about:blank", + "base": null, "failure": true }, { "input": "http://foo.1.2.3.4", - "base": "about:blank", + "base": null, "failure": true }, { "input": "http://foo.1.2.3.4.", - "base": "about:blank", + "base": null, "failure": true }, { "input": "http://foo.2.3.4", - "base": "about:blank", + "base": null, "failure": true }, { "input": "http://foo.2.3.4.", - "base": "about:blank", + "base": null, "failure": true }, { "input": "http://foo.09", - "base": "about:blank", + "base": null, "failure": true }, { "input": "http://foo.09.", - "base": "about:blank", + "base": null, "failure": true }, { "input": "http://foo.0x4", - "base": "about:blank", + "base": null, "failure": true }, { "input": "http://foo.0x4.", - "base": "about:blank", + "base": null, "failure": true }, { "input": "http://foo.09..", - "base": "about:blank", + "base": null, "hash": "", "host": "foo.09..", "hostname": "foo.09..", @@ -8648,33 +8665,33 @@ }, { "input": "http://0999999999999999999/", - "base": "about:blank", + "base": null, "failure": true }, { "input": "http://foo.0x", - "base": "about:blank", + "base": null, "failure": true }, { "input": "http://foo.0XFfFfFfFfFfFfFfFfFfAcE123", - "base": "about:blank", + "base": null, "failure": true }, { "input": "http://💩.123/", - "base": "about:blank", + "base": null, "failure": true }, "U+0000 and U+FFFF in various places", { "input": "https://\u0000y", - "base": "about:blank", + "base": null, "failure": true }, { "input": "https://x/\u0000y", - "base": "about:blank", + "base": null, "hash": "", "host": "x", "hostname": "x", @@ -8688,7 +8705,7 @@ }, { "input": "https://x/?\u0000y", - "base": "about:blank", + "base": null, "hash": "", "host": "x", "hostname": "x", @@ -8702,7 +8719,7 @@ }, { "input": "https://x/?#\u0000y", - "base": "about:blank", + "base": null, "hash": "#%00y", "host": "x", "hostname": "x", @@ -8716,12 +8733,12 @@ }, { "input": "https://\uFFFFy", - "base": "about:blank", + "base": null, "failure": true }, { "input": "https://x/\uFFFFy", - "base": "about:blank", + "base": null, "hash": "", "host": "x", "hostname": "x", @@ -8735,7 +8752,7 @@ }, { "input": "https://x/?\uFFFFy", - "base": "about:blank", + "base": null, "hash": "", "host": "x", "hostname": "x", @@ -8749,7 +8766,7 @@ }, { "input": "https://x/?#\uFFFFy", - "base": "about:blank", + "base": null, "hash": "#%EF%BF%BFy", "host": "x", "hostname": "x", @@ -8763,7 +8780,7 @@ }, { "input": "non-special:\u0000y", - "base": "about:blank", + "base": null, "hash": "", "host": "", "hostname": "", @@ -8777,7 +8794,7 @@ }, { "input": "non-special:x/\u0000y", - "base": "about:blank", + "base": null, "hash": "", "host": "", "hostname": "", @@ -8791,7 +8808,7 @@ }, { "input": "non-special:x/?\u0000y", - "base": "about:blank", + "base": null, "hash": "", "host": "", "hostname": "", @@ -8805,7 +8822,7 @@ }, { "input": "non-special:x/?#\u0000y", - "base": "about:blank", + "base": null, "hash": "#%00y", "host": "", "hostname": "", @@ -8819,7 +8836,7 @@ }, { "input": "non-special:\uFFFFy", - "base": "about:blank", + "base": null, "hash": "", "host": "", "hostname": "", @@ -8833,7 +8850,7 @@ }, { "input": "non-special:x/\uFFFFy", - "base": "about:blank", + "base": null, "hash": "", "host": "", "hostname": "", @@ -8847,7 +8864,7 @@ }, { "input": "non-special:x/?\uFFFFy", - "base": "about:blank", + "base": null, "hash": "", "host": "", "hostname": "", @@ -8861,7 +8878,7 @@ }, { "input": "non-special:x/?#\uFFFFy", - "base": "about:blank", + "base": null, "hash": "#%EF%BF%BFy", "host": "", "hostname": "", @@ -8875,12 +8892,13 @@ }, { "input": "", - "base": "about:blank", - "failure": true + "base": null, + "failure": true, + "relativeTo": "non-opaque-path-base" }, { "input": "https://example.com/\"quoted\"", - "base": "about:blank", + "base": null, "hash": "", "host": "example.com", "hostname": "example.com", @@ -8895,7 +8913,7 @@ }, { "input": "https://a%C2%ADb/", - "base": "about:blank", + "base": null, "hash": "", "host": "ab", "hostname": "ab", @@ -8911,23 +8929,23 @@ { "comment": "Empty host after domain to ASCII", "input": "https://\u00AD/", - "base": "about:blank", + "base": null, "failure": true }, { "input": "https://%C2%AD/", - "base": "about:blank", + "base": null, "failure": true }, { "input": "https://xn--/", - "base": "about:blank", + "base": null, "failure": true }, "Non-special schemes that some implementations might incorrectly treat as special", { "input": "data://example.com:8080/pathname?search#hash", - "base": "about:blank", + "base": null, "href": "data://example.com:8080/pathname?search#hash", "origin": "null", "protocol": "data:", @@ -8942,7 +8960,7 @@ }, { "input": "data:///test", - "base": "about:blank", + "base": null, "href": "data:///test", "origin": "null", "protocol": "data:", @@ -8957,7 +8975,7 @@ }, { "input": "data://test/a/../b", - "base": "about:blank", + "base": null, "href": "data://test/b", "origin": "null", "protocol": "data:", @@ -8972,22 +8990,22 @@ }, { "input": "data://:443", - "base": "about:blank", + "base": null, "failure": true }, { "input": "data://test:test", - "base": "about:blank", + "base": null, "failure": true }, { "input": "data://[:1]", - "base": "about:blank", + "base": null, "failure": true }, { "input": "javascript://example.com:8080/pathname?search#hash", - "base": "about:blank", + "base": null, "href": "javascript://example.com:8080/pathname?search#hash", "origin": "null", "protocol": "javascript:", @@ -9002,7 +9020,7 @@ }, { "input": "javascript:///test", - "base": "about:blank", + "base": null, "href": "javascript:///test", "origin": "null", "protocol": "javascript:", @@ -9017,7 +9035,7 @@ }, { "input": "javascript://test/a/../b", - "base": "about:blank", + "base": null, "href": "javascript://test/b", "origin": "null", "protocol": "javascript:", @@ -9032,22 +9050,22 @@ }, { "input": "javascript://:443", - "base": "about:blank", + "base": null, "failure": true }, { "input": "javascript://test:test", - "base": "about:blank", + "base": null, "failure": true }, { "input": "javascript://[:1]", - "base": "about:blank", + "base": null, "failure": true }, { "input": "mailto://example.com:8080/pathname?search#hash", - "base": "about:blank", + "base": null, "href": "mailto://example.com:8080/pathname?search#hash", "origin": "null", "protocol": "mailto:", @@ -9062,7 +9080,7 @@ }, { "input": "mailto:///test", - "base": "about:blank", + "base": null, "href": "mailto:///test", "origin": "null", "protocol": "mailto:", @@ -9077,7 +9095,7 @@ }, { "input": "mailto://test/a/../b", - "base": "about:blank", + "base": null, "href": "mailto://test/b", "origin": "null", "protocol": "mailto:", @@ -9092,22 +9110,22 @@ }, { "input": "mailto://:443", - "base": "about:blank", + "base": null, "failure": true }, { "input": "mailto://test:test", - "base": "about:blank", + "base": null, "failure": true }, { "input": "mailto://[:1]", - "base": "about:blank", + "base": null, "failure": true }, { "input": "intent://example.com:8080/pathname?search#hash", - "base": "about:blank", + "base": null, "href": "intent://example.com:8080/pathname?search#hash", "origin": "null", "protocol": "intent:", @@ -9122,7 +9140,7 @@ }, { "input": "intent:///test", - "base": "about:blank", + "base": null, "href": "intent:///test", "origin": "null", "protocol": "intent:", @@ -9137,7 +9155,7 @@ }, { "input": "intent://test/a/../b", - "base": "about:blank", + "base": null, "href": "intent://test/b", "origin": "null", "protocol": "intent:", @@ -9152,22 +9170,22 @@ }, { "input": "intent://:443", - "base": "about:blank", + "base": null, "failure": true }, { "input": "intent://test:test", - "base": "about:blank", + "base": null, "failure": true }, { "input": "intent://[:1]", - "base": "about:blank", + "base": null, "failure": true }, { "input": "urn://example.com:8080/pathname?search#hash", - "base": "about:blank", + "base": null, "href": "urn://example.com:8080/pathname?search#hash", "origin": "null", "protocol": "urn:", @@ -9182,7 +9200,7 @@ }, { "input": "urn:///test", - "base": "about:blank", + "base": null, "href": "urn:///test", "origin": "null", "protocol": "urn:", @@ -9197,7 +9215,7 @@ }, { "input": "urn://test/a/../b", - "base": "about:blank", + "base": null, "href": "urn://test/b", "origin": "null", "protocol": "urn:", @@ -9212,22 +9230,22 @@ }, { "input": "urn://:443", - "base": "about:blank", + "base": null, "failure": true }, { "input": "urn://test:test", - "base": "about:blank", + "base": null, "failure": true }, { "input": "urn://[:1]", - "base": "about:blank", + "base": null, "failure": true }, { "input": "turn://example.com:8080/pathname?search#hash", - "base": "about:blank", + "base": null, "href": "turn://example.com:8080/pathname?search#hash", "origin": "null", "protocol": "turn:", @@ -9242,7 +9260,7 @@ }, { "input": "turn:///test", - "base": "about:blank", + "base": null, "href": "turn:///test", "origin": "null", "protocol": "turn:", @@ -9257,7 +9275,7 @@ }, { "input": "turn://test/a/../b", - "base": "about:blank", + "base": null, "href": "turn://test/b", "origin": "null", "protocol": "turn:", @@ -9272,22 +9290,22 @@ }, { "input": "turn://:443", - "base": "about:blank", + "base": null, "failure": true }, { "input": "turn://test:test", - "base": "about:blank", + "base": null, "failure": true }, { "input": "turn://[:1]", - "base": "about:blank", + "base": null, "failure": true }, { "input": "stun://example.com:8080/pathname?search#hash", - "base": "about:blank", + "base": null, "href": "stun://example.com:8080/pathname?search#hash", "origin": "null", "protocol": "stun:", @@ -9302,7 +9320,7 @@ }, { "input": "stun:///test", - "base": "about:blank", + "base": null, "href": "stun:///test", "origin": "null", "protocol": "stun:", @@ -9317,7 +9335,7 @@ }, { "input": "stun://test/a/../b", - "base": "about:blank", + "base": null, "href": "stun://test/b", "origin": "null", "protocol": "stun:", @@ -9332,17 +9350,17 @@ }, { "input": "stun://:443", - "base": "about:blank", + "base": null, "failure": true }, { "input": "stun://test:test", - "base": "about:blank", + "base": null, "failure": true }, { "input": "stun://[:1]", - "base": "about:blank", + "base": null, "failure": true } ] diff --git a/tests/wpt/web-platform-tests/url/url-constructor.any.js b/tests/wpt/web-platform-tests/url/url-constructor.any.js index 297b8ffd9ea..bea06d025b7 100644 --- a/tests/wpt/web-platform-tests/url/url-constructor.any.js +++ b/tests/wpt/web-platform-tests/url/url-constructor.any.js @@ -5,14 +5,13 @@ // META: variant=?include=mailto // META: variant=?exclude=(file|javascript|mailto) -function bURL(url, base) { - return base ? new URL(url, base) : new URL(url) -} +function runURLTests(urlTests) { + for (const expected of urlTests) { + // Skip comments + if (typeof expected === "string") + continue; -function runURLTests(urltests) { - for(var i = 0, l = urltests.length; i < l; i++) { - var expected = urltests[i] - if (typeof expected === "string") continue // skip comments + const base = expected.base !== null ? expected.base : undefined; function getKey(expected) { if (expected.protocol) { @@ -27,12 +26,12 @@ function runURLTests(urltests) { subsetTestByKey(getKey(expected), test, function() { if (expected.failure) { assert_throws_js(TypeError, function() { - bURL(expected.input, expected.base) - }) - return + new URL(expected.input, base); + }); + return; } - var url = bURL(expected.input, expected.base) + const url = new URL(expected.input, base); assert_equals(url.href, expected.href, "href") assert_equals(url.protocol, expected.protocol, "protocol") assert_equals(url.username, expected.username, "username") @@ -47,7 +46,7 @@ function runURLTests(urltests) { assert_equals(url.searchParams.toString(), expected.searchParams, "searchParams") } assert_equals(url.hash, expected.hash, "hash") - }, "Parsing: <" + expected.input + "> against <" + expected.base + ">") + }, `Parsing: <${expected.input}> ${base ? "against <" + base + ">" : "without base"}`) } } diff --git a/tests/wpt/web-platform-tests/url/url-origin.any.js b/tests/wpt/web-platform-tests/url/url-origin.any.js index 9c1f97ed2e5..599984c6c17 100644 --- a/tests/wpt/web-platform-tests/url/url-origin.any.js +++ b/tests/wpt/web-platform-tests/url/url-origin.any.js @@ -1,17 +1,16 @@ promise_test(() => fetch("resources/urltestdata.json").then(res => res.json()).then(runURLTests), "Loading data…"); -function bURL(url, base) { - return base ? new URL(url, base) : new URL(url) -} +function runURLTests(urlTests) { + for (const expected of urlTests) { + // Skip comments and tests without "origin" expectation + if (typeof expected === "string" || !("origin" in expected)) + continue; -function runURLTests(urltests) { - for(var i = 0, l = urltests.length; i < l; i++) { - var expected = urltests[i] - if (typeof expected === "string" || !("origin" in expected)) continue + const base = expected.base !== null ? expected.base : undefined; - test(function() { - var url = bURL(expected.input, expected.base) - assert_equals(url.origin, expected.origin, "origin") - }, "Origin parsing: <" + expected.input + "> against <" + expected.base + ">") + test(() => { + const url = new URL(expected.input, base); + assert_equals(url.origin, expected.origin, "origin"); + }, `Origin parsing: <${expected.input}> ${base ? "against <" + base + ">" : "without base"}`); } } diff --git a/tests/wpt/web-platform-tests/wai-aria/META.yml b/tests/wpt/web-platform-tests/wai-aria/META.yml index 864132a5a36..25ab1c28495 100644 --- a/tests/wpt/web-platform-tests/wai-aria/META.yml +++ b/tests/wpt/web-platform-tests/wai-aria/META.yml @@ -1,5 +1,6 @@ spec: https://w3c.github.io/aria/ suggested_reviewers: + - cookiecrook - halindrome - joanmarie - michael-n-cooper diff --git a/tests/wpt/web-platform-tests/wai-aria/role/ReadMe.md b/tests/wpt/web-platform-tests/wai-aria/role/ReadMe.md new file mode 100644 index 00000000000..189c9f75eb8 --- /dev/null +++ b/tests/wpt/web-platform-tests/wai-aria/role/ReadMe.md @@ -0,0 +1,16 @@ + +# WPT Roles Tests + +/wai-aria/roles/ includes various files broken up by test type + +- **roles.html** covers simple assignment/verification of most core WAI-ARIA roles, and includes a list of cross-references to other specific files and spec directories. +- role testing of *host language* implicit roles (E.g., `<main> -> main`) are in other directories (E.g., [html-aam](https://github.com/web-platform-tests/interop-2023-accessibility-testing/issues/13)) +- role testing of **ARIA extension specs** are in other directories (E.g., [graphics-aria](https://github.com/web-platform-tests/interop-2023-accessibility-testing/issues/9)) +- basic.html was the first to ensure basic test coverage of webdriver getcomputedrole +- other context-dependent role tests, error handling, and edge cases are covered in separate files + - list-roles.html + - region-roles.html + - grid, listbox, menu, tree, etc + - fallback roles + - invalid roles + - error handling, etc. diff --git a/tests/wpt/web-platform-tests/wai-aria/role/basic.html b/tests/wpt/web-platform-tests/wai-aria/role/basic.html index d371aa72dcb..5cb83864701 100644 --- a/tests/wpt/web-platform-tests/wai-aria/role/basic.html +++ b/tests/wpt/web-platform-tests/wai-aria/role/basic.html @@ -11,13 +11,13 @@ promise_test(async t => { const role = await test_driver.get_computed_role(document.getElementById('d')); - assert_true(role == "group"); + assert_equals(role, "group"); }, "tests explicit role"); promise_test(async t => { const role = await test_driver.get_computed_role(document.getElementById('h')); - assert_true(role == "heading"); + assert_equals(role, "heading"); }, "tests implicit role"); </script> diff --git a/tests/wpt/web-platform-tests/wai-aria/role/list-roles.html b/tests/wpt/web-platform-tests/wai-aria/role/list-roles.html new file mode 100644 index 00000000000..5d9787f04bf --- /dev/null +++ b/tests/wpt/web-platform-tests/wai-aria/role/list-roles.html @@ -0,0 +1,24 @@ +<!doctype html> +<html> +<head> + <title>List-related Role Verification Tests</title> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src="/resources/testdriver.js"></script> + <script src="/resources/testdriver-vendor.js"></script> + <script src="/resources/testdriver-actions.js"></script> + <script src="/wai-aria/scripts/aria-utils.js"></script> +</head> +<body> + +<div role="list" data-testname="first simple list" data-expectedrole="list" class="ex"> + <div role="listitem" data-testname="first simple listitem" data-expectedrole="listitem" class="ex">x</div> + <div role="listitem" data-testname="last simple listitem" data-expectedrole="listitem" class="ex">x</div> +</div> + +<script> +AriaUtils.verifyRolesBySelector(".ex"); +</script> + +</body> +</html> \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/wai-aria/role/region-roles.html b/tests/wpt/web-platform-tests/wai-aria/role/region-roles.html new file mode 100644 index 00000000000..d087f8f69bd --- /dev/null +++ b/tests/wpt/web-platform-tests/wai-aria/role/region-roles.html @@ -0,0 +1,25 @@ +<!doctype html> +<html> +<head> + <title>Region Role Verification Tests</title> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src="/resources/testdriver.js"></script> + <script src="/resources/testdriver-vendor.js"></script> + <script src="/resources/testdriver-actions.js"></script> + <script src="/wai-aria/scripts/aria-utils.js"></script> +</head> +<body> + +<!-- no label --> +<nav role="region" data-testname="region without label" data-expectedrole="navigation" class="ex">x</nav> + +<!-- w/ label --> +<nav role="region" data-testname="region with label" data-expectedrole="region" aria-label="x" class="ex">x</nav> + +<script> +AriaUtils.verifyRolesBySelector(".ex"); +</script> + +</body> +</html> \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/wai-aria/role/roles.html b/tests/wpt/web-platform-tests/wai-aria/role/roles.html new file mode 100644 index 00000000000..71946cbffa5 --- /dev/null +++ b/tests/wpt/web-platform-tests/wai-aria/role/roles.html @@ -0,0 +1,137 @@ +<!doctype html> +<html> +<head> + <title>Simple Core ARIA Role Verification Tests</title> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src="/resources/testdriver.js"></script> + <script src="/resources/testdriver-vendor.js"></script> + <script src="/resources/testdriver-actions.js"></script> + <script src="/wai-aria/scripts/aria-utils.js"></script> +</head> +<body> +<script> + +/* + +Tests simple role assignment: <div role="alert">x</div> + +- Nested role structures (table>row>cell, etc) and + Abstract roles (e.g. widget, composite) are + commented with pointers to a separate test file. + +- ARIA extension specs (e.g. doc-*, graphics-*) are + commented with pointers to a separate spec directory. + +*/ + +AriaUtils.assignAndVerifyRolesByRoleNames([ + "alert", + "alertdialog", + "application", + "article", + // "associationlist" [AT-RISK: ARIA #1662] or possibly -> ./list-roles.html + // "associationlistitemkey" [AT-RISK: ARIA #1662] or possibly -> ./list-roles.html + // "associationlistitemvalue" [AT-RISK: ARIA #1662] or possibly -> ./list-roles.html + "banner", + "blockquote", + "button", + "caption", + // "cell" -> ./grid-roles.html + "checkbox", + "code", + // "columnheader" -> ./grid-roles.html + "combobox", + // "command" -> ./abstract-roles.html + // "comment" -> [AT-RISK: ARIA #1885] + "complementary", + // "composite" -> ./abstract-roles.html + "contentinfo", + "definition", + "deletion", + "dialog", + // "directory" -> FAIL. WONTFIX. Deprecated in ARIA 1.2; re-mapped to list role. + "document", + // doc-* roles -> TBD /dpub-aria or /dpub-aam + "emphasis", + "feed", + "figure", + "form", + "generic", + // graphics-* roles -> /graphics-aria + // "grid" -> ./grid-roles.html + // "gridcell" -> ./grid-roles.html + "group", + "heading", + // "image" -> ./synonym-roles.html + // "img" -> ./synonym-roles.html + // "input" -> ./abstract-roles.html + "insertion", + // "landmark" -> ./abstract-roles.html + "link", + // "list" -> ./list-roles.html + // "listitem" -> ./list-roles.html + // "listitemkey" [See: ARIA #1662] or possibly -> ./list-roles.html + // "listitemvalue" [See: ARIA #1662] or possibly -> ./list-roles.html + // "listbox" -> ./listbox-roles.html + "log", + "main", + "marquee", + "math", + // "menu" -> ./menu-roles.html + // "menuitem" -> ./menu-roles.html + // "menuitemcheckbox" -> ./menu-roles.html + // "menuitemradio" -> ./menu-roles.html + // "menubar" -> ./menu-roles.html + "meter", + "navigation", + // "none" -> ./synonym-roles.html + "note", + // "option" -> ./listbox-roles.html + "paragraph", + // "presentation" -> ./synonym-roles.html + "progressbar", + "radio", + "radiogroup", + // "range" -> ./abstract-roles.html + // "region" -> ./region-roles.html + // "roletype" -> ./abstract-roles.html + // "row" -> ./grid-roles.html + // "rowgroup" -> ./grid-roles.html + // "rowheader" -> ./grid-roles.html + "scrollbar", + "search", + "searchbox", + // "section" -> ./abstract-roles.html + // "sectionhead" -> ./abstract-roles.html + // "select" -> ./abstract-roles.html + "separator", + "slider", + "spinbutton", + "status", + "strong", + // "structure" -> ./abstract-roles.html + "subscript", + "suggestion", + "superscript", + "switch", + // "tab" -> ./tab-roles.html + // "table" -> ./grid-roles.html + // "tablist" -> ./tab-roles.html + // "tabpanel" -> ./tab-roles.html + "term", + "textbox", + "time", + "timer", + "toolbar", + "tooltip", + // "tree" -> ./tree-roles.html + // "treeitem" -> ./tree-roles.html + // "treegrid" -> ./treegrid-roles.html + // "widget" -> ./abstract-roles.html + // "window" -> ./abstract-roles.html +]); + +</script> +</body> +</html> \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/wai-aria/scripts/aria-utils.js b/tests/wpt/web-platform-tests/wai-aria/scripts/aria-utils.js new file mode 100644 index 00000000000..41d8535f91b --- /dev/null +++ b/tests/wpt/web-platform-tests/wai-aria/scripts/aria-utils.js @@ -0,0 +1,61 @@ +/* Utilities related to WAI-ARIA */ + +const AriaUtils = { + + /* + Tests simple role assignment: <div role="alert">x</div> + Not intended for nested, context-dependent, or other complex role tests. + */ + assignAndVerifyRolesByRoleNames: function(roleNames) { + for (const role of roleNames) { + promise_test(async t => { + let el = document.createElement("div"); + el.appendChild(document.createTextNode("x")); + el.setAttribute("role", role); // el.role not yet supported by Gecko. + el.id = `role_${role}`; + document.body.appendChild(el); + const computedRole = await test_driver.get_computed_role(document.getElementById(el.id)); + assert_equals(computedRole, role, el.outerHTML); + }, `role: ${role}`); + } + }, + + /* + Tests computed role of all elements matching selector + against the string value of their data-role attribute. + + Ex: <div role="list" + data-testname="optional unique test name" + data-expectedrole="list" + class="ex"> + + AriaUtils.verifyRolesBySelector(".ex") + + */ + verifyRolesBySelector: function(selector) { + const els = document.querySelectorAll(selector); + for (const el of els) { + let role = el.getAttribute("data-expectedrole"); + let testName = el.getAttribute("data-testname") || role; // data-testname optional if role unique per test file + promise_test(async t => { + const expectedRole = el.getAttribute("data-expectedrole"); + + // ensure ID existence and uniqueness for the webdriver callback + if (!el.id) { + let roleCount = 1; + let elID = `${expectedRole}${roleCount}`; + while(document.getElementById(elID)) { + roleCount++; + elID = `${expectedRole}${roleCount}`; + } + el.id = elID; + } + + const computedRole = await test_driver.get_computed_role(document.getElementById(el.id)); + assert_equals(computedRole, expectedRole, el.outerHTML); + }, `${testName}`); + } + }, + +}; + diff --git a/tests/wpt/web-platform-tests/web-animations/resources/keyframe-utils.js b/tests/wpt/web-platform-tests/web-animations/resources/keyframe-utils.js index 8e6e5840f7f..60fb9781a0c 100644 --- a/tests/wpt/web-platform-tests/web-animations/resources/keyframe-utils.js +++ b/tests/wpt/web-platform-tests/web-animations/resources/keyframe-utils.js @@ -31,8 +31,20 @@ function assert_frames_equal(a, b, name) { `properties on ${name} should match`); // Iterates sorted keys to ensure stable failures. for (const p of Object.keys(a).sort()) { - if (typeof a[p] == 'number') + if (typeof b[p] == 'number') assert_approx_equals(a[p], b[p], 1e-6, `value for '${p}' on ${name}`); + else if (typeof b[p] == 'object') { + for (const key in b[p]) { + if (typeof b[p][key] == 'number') { + assert_approx_equals(a[p][key], b[p][key], 1e-6, + `value for '${p}.${key}' on ${name}`); + } else { + assert_equals((a[p][key] || 'undefined').toString(), + b[p][key].toString(), + `value for '${p}.${key}' on ${name}`); + } + } + } else assert_equals(a[p], b[p], `value for '${p}' on ${name}`); } diff --git a/tests/wpt/web-platform-tests/webcodecs/videoDecoder-codec-specific.https.any.js b/tests/wpt/web-platform-tests/webcodecs/videoDecoder-codec-specific.https.any.js index e78ac15cfac..4e0843646b7 100644 --- a/tests/wpt/web-platform-tests/webcodecs/videoDecoder-codec-specific.https.any.js +++ b/tests/wpt/web-platform-tests/webcodecs/videoDecoder-codec-specific.https.any.js @@ -133,6 +133,22 @@ function view(buffer, {offset, size}) { return new Uint8Array(buffer, offset, size); } +async function checkImplements() { + // Don't run any tests if the codec is not supported. + assert_equals("function", typeof VideoDecoder.isConfigSupported); + let supported = false; + try { + // TODO(sandersd): To properly support H.264 in AVC format, this should + // include the `description`. For now this test assumes that H.264 Annex B + // support is the same as H.264 AVC support. + const support = + await VideoDecoder.isConfigSupported({codec: CONFIG.codec}); + supported = support.supported; + } catch (e) { + } + assert_implements_optional(supported, CONFIG.codec + ' unsupported'); +} + let CONFIG = null; let CHUNK_DATA = null; let CHUNKS = null; @@ -145,20 +161,6 @@ promise_setup(async () => { '?h264_annexb': H264_ANNEXB_DATA }[location.search]; - // Don't run any tests if the codec is not supported. - assert_equals("function", typeof VideoDecoder.isConfigSupported); - let supported = false; - try { - // TODO(sandersd): To properly support H.264 in AVC format, this should - // include the `description`. For now this test assumes that H.264 Annex B - // support is the same as H.264 AVC support. - const support = - await VideoDecoder.isConfigSupported({codec: data.config.codec}); - supported = support.supported; - } catch (e) { - } - assert_implements_optional(supported, data.config.codec + ' unsupported'); - // Fetch the media data and prepare buffers. const response = await fetch(data.src); const buf = await response.arrayBuffer(); @@ -176,11 +178,13 @@ promise_setup(async () => { }); promise_test(async t => { + await checkImplements(); const support = await VideoDecoder.isConfigSupported(CONFIG); assert_true(support.supported, 'supported'); }, 'Test isConfigSupported()'); promise_test(async t => { + await checkImplements(); // TODO(sandersd): Create a 1080p `description` for H.264 in AVC format. // This version is testing only the H.264 Annex B path. const config = { @@ -196,6 +200,7 @@ promise_test(async t => { }, 'Test isConfigSupported() with 1080p crop'); promise_test(async t => { + await checkImplements(); // Define a valid config that includes a hypothetical `futureConfigFeature`, // which is not yet recognized by the User Agent. const config = { @@ -233,6 +238,7 @@ promise_test(async t => { }, 'Test that isConfigSupported() returns a parsed configuration'); promise_test(async t => { + await checkImplements(); async function test(t, config, description) { await promise_rejects_js( t, TypeError, VideoDecoder.isConfigSupported(config), description); @@ -247,12 +253,14 @@ promise_test(async t => { }, 'Test invalid configs'); promise_test(async t => { + await checkImplements(); const decoder = createVideoDecoder(t); decoder.configure(CONFIG); assert_equals(decoder.state, 'configured', 'state'); }, 'Test configure()'); promise_test(async t => { + await checkImplements(); const callbacks = {}; const decoder = createVideoDecoder(t, callbacks); decoder.configure(CONFIG); @@ -271,6 +279,7 @@ promise_test(async t => { }, 'Decode a key frame'); promise_test(async t => { + await checkImplements(); const callbacks = {}; const decoder = createVideoDecoder(t, callbacks); decoder.configure(CONFIG); @@ -281,6 +290,7 @@ promise_test(async t => { }, 'Decode a non key frame first fails'); promise_test(async t => { + await checkImplements(); const callbacks = {}; const decoder = createVideoDecoder(t, callbacks); decoder.configure(CONFIG); @@ -323,6 +333,7 @@ promise_test(async t => { }, 'Verify reset() suppresses outputs'); promise_test(async t => { + await checkImplements(); const decoder = createVideoDecoder(t); assert_equals(decoder.state, 'unconfigured'); @@ -334,6 +345,7 @@ promise_test(async t => { }, 'Test unconfigured VideoDecoder operations'); promise_test(async t => { + await checkImplements(); const decoder = createVideoDecoder(t); decoder.close(); assert_equals(decoder.state, 'closed'); @@ -347,6 +359,7 @@ promise_test(async t => { }, 'Test closed VideoDecoder operations'); promise_test(async t => { + await checkImplements(); const callbacks = {}; let errors = 0; @@ -367,6 +380,7 @@ promise_test(async t => { promise_test(async t => { + await checkImplements(); const callbacks = {}; let errors = 0; @@ -391,6 +405,7 @@ promise_test(async t => { }, 'Decode corrupt frame'); promise_test(async t => { + await checkImplements(); const decoder = createVideoDecoder(t); decoder.configure(CONFIG); @@ -406,6 +421,7 @@ promise_test(async t => { }, 'Close while decoding corrupt frame'); promise_test(async t => { + await checkImplements(); const callbacks = {}; const decoder = createVideoDecoder(t, callbacks); @@ -427,6 +443,7 @@ promise_test(async t => { }, 'Test decoding after flush'); promise_test(async t => { + await checkImplements(); const callbacks = {}; const decoder = createVideoDecoder(t, callbacks); @@ -446,6 +463,7 @@ promise_test(async t => { }, 'Test decoding a with negative timestamp'); promise_test(async t => { + await checkImplements(); const callbacks = {}; const decoder = createVideoDecoder(t, callbacks); @@ -473,6 +491,7 @@ promise_test(async t => { }, 'Test reset during flush'); promise_test(async t => { + await checkImplements(); const callbacks = {}; const decoder = createVideoDecoder(t, callbacks); @@ -490,6 +509,7 @@ promise_test(async t => { promise_test(async t => { + await checkImplements(); const callbacks = {}; callbacks.output = frame => { frame.close(); }; const decoder = createVideoDecoder(t, callbacks); diff --git a/tests/wpt/web-platform-tests/webdriver/tests/bidi/browsing_context/dom_content_loaded/dom_content_loaded.py b/tests/wpt/web-platform-tests/webdriver/tests/bidi/browsing_context/dom_content_loaded/dom_content_loaded.py index fe28005ae08..486414aa3cd 100644 --- a/tests/wpt/web-platform-tests/webdriver/tests/bidi/browsing_context/dom_content_loaded/dom_content_loaded.py +++ b/tests/wpt/web-platform-tests/webdriver/tests/bidi/browsing_context/dom_content_loaded/dom_content_loaded.py @@ -1,5 +1,6 @@ import pytest from tests.support.sync import AsyncPoll +from webdriver.bidi.modules.script import ContextTarget from ... import int_interval from .. import assert_navigation_info @@ -119,3 +120,18 @@ async def test_new_context(bidi_session, subscribe_events, wait_for_event, type_ event = await on_entry assert_navigation_info(event, {"context": new_context["context"], "url": "about:blank"}) + + +async def test_document_write(bidi_session, subscribe_events, top_context, wait_for_event): + await subscribe_events(events=[DOM_CONTENT_LOADED_EVENT]) + + on_entry = wait_for_event(DOM_CONTENT_LOADED_EVENT) + + await bidi_session.script.evaluate( + expression="""document.open(); document.write("<h1>Replaced</h1>"); document.close();""", + target=ContextTarget(top_context["context"]), + await_promise=False + ) + + event = await on_entry + assert_navigation_info(event, {"context": top_context["context"]}) diff --git a/tests/wpt/web-platform-tests/webdriver/tests/bidi/browsing_context/load/load.py b/tests/wpt/web-platform-tests/webdriver/tests/bidi/browsing_context/load/load.py index d9a2da09902..878d26eaad8 100644 --- a/tests/wpt/web-platform-tests/webdriver/tests/bidi/browsing_context/load/load.py +++ b/tests/wpt/web-platform-tests/webdriver/tests/bidi/browsing_context/load/load.py @@ -1,5 +1,6 @@ import pytest from tests.support.sync import AsyncPoll +from webdriver.bidi.modules.script import ContextTarget from webdriver.error import TimeoutException from ... import int_interval @@ -108,3 +109,18 @@ async def test_new_context(bidi_session, subscribe_events, wait_for_event, type_ event = await on_entry assert_navigation_info(event, {"context": new_context["context"], "url": "about:blank"}) + + +async def test_document_write(bidi_session, subscribe_events, top_context, wait_for_event): + await subscribe_events(events=[CONTEXT_LOAD_EVENT]) + + on_entry = wait_for_event(CONTEXT_LOAD_EVENT) + + await bidi_session.script.evaluate( + expression="""document.open(); document.write("<h1>Replaced</h1>"); document.close();""", + target=ContextTarget(top_context["context"]), + await_promise=False + ) + + event = await on_entry + assert_navigation_info(event, {"context": top_context["context"]}) diff --git a/tests/wpt/web-platform-tests/webdriver/tests/bidi/network/before_request_sent/before_request_sent_tentative.py b/tests/wpt/web-platform-tests/webdriver/tests/bidi/network/before_request_sent/before_request_sent.py similarity index 98% rename from tests/wpt/web-platform-tests/webdriver/tests/bidi/network/before_request_sent/before_request_sent_tentative.py rename to tests/wpt/web-platform-tests/webdriver/tests/bidi/network/before_request_sent/before_request_sent.py index 0afa439c822..39e5b5a3cfd 100644 --- a/tests/wpt/web-platform-tests/webdriver/tests/bidi/network/before_request_sent/before_request_sent_tentative.py +++ b/tests/wpt/web-platform-tests/webdriver/tests/bidi/network/before_request_sent/before_request_sent.py @@ -15,9 +15,6 @@ PAGE_REDIRECT_HTTP_EQUIV = ( ) PAGE_REDIRECTED_HTML = "/webdriver/tests/bidi/network/support/redirected.html" -# The following tests are marked as tentative until -# https://github.com/w3c/webdriver-bidi/pull/204 is merged. - @pytest.mark.asyncio async def test_subscribe_status(bidi_session, top_context, wait_for_event, url, fetch): diff --git a/tests/wpt/web-platform-tests/webdriver/tests/bidi/network/combined/network_events_tentative.py b/tests/wpt/web-platform-tests/webdriver/tests/bidi/network/combined/network_events.py similarity index 97% rename from tests/wpt/web-platform-tests/webdriver/tests/bidi/network/combined/network_events_tentative.py rename to tests/wpt/web-platform-tests/webdriver/tests/bidi/network/combined/network_events.py index 2defc6c2056..7f8f134af0d 100644 --- a/tests/wpt/web-platform-tests/webdriver/tests/bidi/network/combined/network_events_tentative.py +++ b/tests/wpt/web-platform-tests/webdriver/tests/bidi/network/combined/network_events.py @@ -10,9 +10,6 @@ from .. import ( PAGE_EMPTY_HTML = "/webdriver/tests/bidi/network/support/empty.html" PAGE_EMPTY_TEXT = "/webdriver/tests/bidi/network/support/empty.txt" -# The following tests are marked as tentative until -# https://github.com/w3c/webdriver-bidi/pull/204 is merged. - @pytest.mark.asyncio async def test_same_request_id( diff --git a/tests/wpt/web-platform-tests/webdriver/tests/bidi/network/response_completed/response_completed_tentative.py b/tests/wpt/web-platform-tests/webdriver/tests/bidi/network/response_completed/response_completed.py similarity index 98% rename from tests/wpt/web-platform-tests/webdriver/tests/bidi/network/response_completed/response_completed_tentative.py rename to tests/wpt/web-platform-tests/webdriver/tests/bidi/network/response_completed/response_completed.py index b129859e7ed..1df23cda594 100644 --- a/tests/wpt/web-platform-tests/webdriver/tests/bidi/network/response_completed/response_completed_tentative.py +++ b/tests/wpt/web-platform-tests/webdriver/tests/bidi/network/response_completed/response_completed.py @@ -18,9 +18,6 @@ PAGE_EMPTY_TEXT = "/webdriver/tests/bidi/network/support/empty.txt" RESPONSE_COMPLETED_EVENT = "network.responseCompleted" -# The following tests are marked as tentative until -# https://github.com/w3c/webdriver-bidi/pull/204 is merged. - @pytest.mark.asyncio async def test_subscribe_status(bidi_session, top_context, wait_for_event, url, fetch): diff --git a/tests/wpt/web-platform-tests/webdriver/tests/bidi/network/response_completed/response_completed_cached_tentative.py b/tests/wpt/web-platform-tests/webdriver/tests/bidi/network/response_completed/response_completed_cached.py similarity index 98% rename from tests/wpt/web-platform-tests/webdriver/tests/bidi/network/response_completed/response_completed_cached_tentative.py rename to tests/wpt/web-platform-tests/webdriver/tests/bidi/network/response_completed/response_completed_cached.py index 7621b448100..eb344885087 100644 --- a/tests/wpt/web-platform-tests/webdriver/tests/bidi/network/response_completed/response_completed_cached_tentative.py +++ b/tests/wpt/web-platform-tests/webdriver/tests/bidi/network/response_completed/response_completed_cached.py @@ -7,9 +7,6 @@ from .. import assert_response_event PAGE_EMPTY_TEXT = "/webdriver/tests/bidi/network/support/empty.txt" -# The following tests are marked as tentative until -# https://github.com/w3c/webdriver-bidi/pull/204 is merged. - @pytest.mark.asyncio async def test_cached( diff --git a/tests/wpt/web-platform-tests/webdriver/tests/bidi/network/response_started/response_started_tentative.py b/tests/wpt/web-platform-tests/webdriver/tests/bidi/network/response_started/response_started.py similarity index 98% rename from tests/wpt/web-platform-tests/webdriver/tests/bidi/network/response_started/response_started_tentative.py rename to tests/wpt/web-platform-tests/webdriver/tests/bidi/network/response_started/response_started.py index b1a0741f202..e3fd7a4d35c 100644 --- a/tests/wpt/web-platform-tests/webdriver/tests/bidi/network/response_started/response_started_tentative.py +++ b/tests/wpt/web-platform-tests/webdriver/tests/bidi/network/response_started/response_started.py @@ -18,9 +18,6 @@ PAGE_EMPTY_TEXT = "/webdriver/tests/bidi/network/support/empty.txt" RESPONSE_STARTED_EVENT = "network.responseStarted" -# The following tests are marked as tentative until -# https://github.com/w3c/webdriver-bidi/pull/204 is merged. - @pytest.mark.asyncio async def test_subscribe_status(bidi_session, top_context, wait_for_event, url, fetch): diff --git a/tests/wpt/web-platform-tests/webdriver/tests/bidi/network/response_started/response_started_cached_tentative.py b/tests/wpt/web-platform-tests/webdriver/tests/bidi/network/response_started/response_started_cached.py similarity index 98% rename from tests/wpt/web-platform-tests/webdriver/tests/bidi/network/response_started/response_started_cached_tentative.py rename to tests/wpt/web-platform-tests/webdriver/tests/bidi/network/response_started/response_started_cached.py index 5022511f792..15373b7107b 100644 --- a/tests/wpt/web-platform-tests/webdriver/tests/bidi/network/response_started/response_started_cached_tentative.py +++ b/tests/wpt/web-platform-tests/webdriver/tests/bidi/network/response_started/response_started_cached.py @@ -7,9 +7,6 @@ from .. import assert_response_event PAGE_EMPTY_TEXT = "/webdriver/tests/bidi/network/support/empty.txt" -# The following tests are marked as tentative until -# https://github.com/w3c/webdriver-bidi/pull/204 is merged. - @pytest.mark.asyncio async def test_cached( diff --git a/tests/wpt/web-platform-tests/webdriver/tests/bidi/script/add_preload_script/add_preload_script_tentative.py b/tests/wpt/web-platform-tests/webdriver/tests/bidi/script/add_preload_script/add_preload_script.py similarity index 100% rename from tests/wpt/web-platform-tests/webdriver/tests/bidi/script/add_preload_script/add_preload_script_tentative.py rename to tests/wpt/web-platform-tests/webdriver/tests/bidi/script/add_preload_script/add_preload_script.py diff --git a/tests/wpt/web-platform-tests/webdriver/tests/bidi/script/add_preload_script/invalid_tentative.py b/tests/wpt/web-platform-tests/webdriver/tests/bidi/script/add_preload_script/invalid.py similarity index 100% rename from tests/wpt/web-platform-tests/webdriver/tests/bidi/script/add_preload_script/invalid_tentative.py rename to tests/wpt/web-platform-tests/webdriver/tests/bidi/script/add_preload_script/invalid.py diff --git a/tests/wpt/web-platform-tests/webdriver/tests/bidi/script/add_preload_script/sandbox_tentative.py b/tests/wpt/web-platform-tests/webdriver/tests/bidi/script/add_preload_script/sandbox.py similarity index 100% rename from tests/wpt/web-platform-tests/webdriver/tests/bidi/script/add_preload_script/sandbox_tentative.py rename to tests/wpt/web-platform-tests/webdriver/tests/bidi/script/add_preload_script/sandbox.py diff --git a/tests/wpt/web-platform-tests/webdriver/tests/bidi/script/call_function/result_node.py b/tests/wpt/web-platform-tests/webdriver/tests/bidi/script/call_function/result_node.py index e1575374fd5..8424de8b8d8 100644 --- a/tests/wpt/web-platform-tests/webdriver/tests/bidi/script/call_function/result_node.py +++ b/tests/wpt/web-platform-tests/webdriver/tests/bidi/script/call_function/result_node.py @@ -616,3 +616,45 @@ async def test_node_within_dom_collection( ) recursive_compare(expected, result) + + +@pytest.mark.parametrize("shadow_root_mode", ["open", "closed"]) +@pytest.mark.asyncio +async def test_custom_element_with_shadow_root( + bidi_session, get_test_page, top_context, shadow_root_mode +): + await bidi_session.browsing_context.navigate( + context=top_context["context"], + url=get_test_page(shadow_root_mode=shadow_root_mode), + wait="complete", + ) + + result = await bidi_session.script.call_function( + function_declaration="""() => document.querySelector("#custom-element")""", + target=ContextTarget(top_context["context"]), + await_promise=False, + ) + + recursive_compare({ + "type": "node", + "sharedId": any_string, + "value": { + "attributes": { + "id": "custom-element", + }, + "childNodeCount": 0, + "children": [], + "localName": "custom-element", + "namespaceURI": "http://www.w3.org/1999/xhtml", + "nodeType": 1, + "shadowRoot": { + "sharedId": any_string, + "type": "node", + "value": { + "childNodeCount": 1, + "mode": shadow_root_mode, + "nodeType": 11, + } + }, + } + }, result) diff --git a/tests/wpt/web-platform-tests/webdriver/tests/bidi/script/classic_interop/node_shared_id.py b/tests/wpt/web-platform-tests/webdriver/tests/bidi/script/classic_interop/node_shared_id.py index 410d029207c..82b39b42e1c 100644 --- a/tests/wpt/web-platform-tests/webdriver/tests/bidi/script/classic_interop/node_shared_id.py +++ b/tests/wpt/web-platform-tests/webdriver/tests/bidi/script/classic_interop/node_shared_id.py @@ -5,26 +5,21 @@ from webdriver.bidi.modules.script import ContextTarget pytestmark = pytest.mark.asyncio +DOCUMENT_FRAGMENT_NODE = 11 +ELEMENT_NODE = 1 -@pytest.mark.parametrize( - "expression, expected_node_type", - [ - ("""return document.querySelector("div#with-children")""", 1), - ("""return document.querySelector("custom-element").shadowRoot""", 11), - ], - ids=["Element", "ShadowRoot"], -) -async def test_web_reference_created_in_classic( + +async def test_web_element_reference_created_in_classic( bidi_session, current_session, get_test_page, top_context, - expression, - expected_node_type ): current_session.url = get_test_page() - node = current_session.execute_script(expression) + node = current_session.execute_script( + """return document.querySelector("div#with-children")""" + ) shared_id = node.id # Use element reference from WebDriver classic in WebDriver BiDi @@ -35,38 +30,72 @@ async def test_web_reference_created_in_classic( target=ContextTarget(top_context["context"]), ) - assert result == {"type": "number", "value": expected_node_type} + assert result == {"type": "number", "value": ELEMENT_NODE} -@pytest.mark.parametrize( - "expression, expected", - [ - ("""document.querySelector("div#with-children")""", 1), - ("""document.querySelector("custom-element").shadowRoot""", 11), - ], - ids=["Element", "ShadowRoot"], -) -async def test_web_reference_created_in_bidi( +async def test_web_element_reference_created_in_bidi( bidi_session, current_session, get_test_page, top_context, - expression, - expected ): current_session.url = get_test_page() result = await bidi_session.script.evaluate( - expression=expression, + expression="""document.querySelector("div#with-children")""", target=ContextTarget(top_context["context"]), await_promise=False, ) nodeType = result["value"]["nodeType"] - assert nodeType == expected + assert nodeType == ELEMENT_NODE - # Use web reference from WebDriver BiDi in WebDriver classic - types = {1: Element, 11: ShadowRoot} - node = types[nodeType](current_session, result["sharedId"]) - nodeType = current_session.execute_script("""return arguments[0].nodeType""", args=(node,)) - assert nodeType == expected + # Use element reference from WebDriver BiDi in WebDriver classic + node = Element(current_session, result["sharedId"]) + nodeType = current_session.execute_script( + """return arguments[0].nodeType""", args=(node,) + ) + assert nodeType == ELEMENT_NODE + + +@pytest.mark.parametrize("shadow_root_mode", ["open", "closed"]) +async def test_shadow_root_reference_created_in_classic( + bidi_session, current_session, get_test_page, top_context, shadow_root_mode +): + current_session.url = get_test_page(shadow_root_mode=shadow_root_mode) + + node = current_session.execute_script( + """return document.querySelector("custom-element")""" + ) + shared_id = node.shadow_root.id + + # Use shadow root reference from WebDriver classic in WebDriver BiDi + result = await bidi_session.script.call_function( + function_declaration="(node)=>{return node.nodeType}", + arguments=[{"sharedId": shared_id}], + await_promise=False, + target=ContextTarget(top_context["context"]), + ) + + assert result == {"type": "number", "value": DOCUMENT_FRAGMENT_NODE} + + +@pytest.mark.parametrize("shadow_root_mode", ["open", "closed"]) +async def test_shadow_root_reference_created_in_bidi( + bidi_session, current_session, get_test_page, top_context, shadow_root_mode +): + current_session.url = get_test_page(shadow_root_mode=shadow_root_mode) + + result = await bidi_session.script.evaluate( + expression="""document.querySelector("custom-element")""", + target=ContextTarget(top_context["context"]), + await_promise=False, + ) + shared_id_for_shadow_root = result["value"]["shadowRoot"]["sharedId"] + + # Use shadow root reference from WebDriver BiDi in WebDriver classic + node = ShadowRoot(current_session, shared_id_for_shadow_root) + nodeType = current_session.execute_script( + """return arguments[0].nodeType""", args=(node,) + ) + assert nodeType == DOCUMENT_FRAGMENT_NODE diff --git a/tests/wpt/web-platform-tests/webdriver/tests/bidi/script/evaluate/result_node.py b/tests/wpt/web-platform-tests/webdriver/tests/bidi/script/evaluate/result_node.py index 63915a8f4a4..dbf59f9edcf 100644 --- a/tests/wpt/web-platform-tests/webdriver/tests/bidi/script/evaluate/result_node.py +++ b/tests/wpt/web-platform-tests/webdriver/tests/bidi/script/evaluate/result_node.py @@ -604,3 +604,45 @@ async def test_node_within_dom_collection( ) recursive_compare(expected, result) + + +@pytest.mark.parametrize("shadow_root_mode", ["open", "closed"]) +@pytest.mark.asyncio +async def test_custom_element_with_shadow_root( + bidi_session, get_test_page, top_context, shadow_root_mode +): + await bidi_session.browsing_context.navigate( + context=top_context["context"], + url=get_test_page(shadow_root_mode=shadow_root_mode), + wait="complete", + ) + + result = await bidi_session.script.evaluate( + expression="""document.querySelector("#custom-element");""", + target=ContextTarget(top_context["context"]), + await_promise=False, + ) + + recursive_compare({ + "type": "node", + "sharedId": any_string, + "value": { + "attributes": { + "id": "custom-element", + }, + "childNodeCount": 0, + "children": [], + "localName": "custom-element", + "namespaceURI": "http://www.w3.org/1999/xhtml", + "nodeType": 1, + "shadowRoot": { + "sharedId": any_string, + "type": "node", + "value": { + "childNodeCount": 1, + "mode": shadow_root_mode, + "nodeType": 11, + } + }, + } + }, result) diff --git a/tests/wpt/web-platform-tests/webdriver/tests/bidi/script/remove_preload_script/invalid_tentative.py b/tests/wpt/web-platform-tests/webdriver/tests/bidi/script/remove_preload_script/invalid.py similarity index 100% rename from tests/wpt/web-platform-tests/webdriver/tests/bidi/script/remove_preload_script/invalid_tentative.py rename to tests/wpt/web-platform-tests/webdriver/tests/bidi/script/remove_preload_script/invalid.py diff --git a/tests/wpt/web-platform-tests/webdriver/tests/bidi/script/remove_preload_script/remove_preload_script_tentative.py b/tests/wpt/web-platform-tests/webdriver/tests/bidi/script/remove_preload_script/remove_preload_script.py similarity index 100% rename from tests/wpt/web-platform-tests/webdriver/tests/bidi/script/remove_preload_script/remove_preload_script_tentative.py rename to tests/wpt/web-platform-tests/webdriver/tests/bidi/script/remove_preload_script/remove_preload_script.py diff --git a/tests/wpt/web-platform-tests/webdriver/tests/bidi/script/remove_preload_script/sandbox_tentative.py b/tests/wpt/web-platform-tests/webdriver/tests/bidi/script/remove_preload_script/sandbox.py similarity index 100% rename from tests/wpt/web-platform-tests/webdriver/tests/bidi/script/remove_preload_script/sandbox_tentative.py rename to tests/wpt/web-platform-tests/webdriver/tests/bidi/script/remove_preload_script/sandbox.py diff --git a/tests/wpt/web-platform-tests/webdriver/tests/support/fixtures_bidi.py b/tests/wpt/web-platform-tests/webdriver/tests/support/fixtures_bidi.py index 2c8f5a08fed..9407dc16070 100644 --- a/tests/wpt/web-platform-tests/webdriver/tests/support/fixtures_bidi.py +++ b/tests/wpt/web-platform-tests/webdriver/tests/support/fixtures_bidi.py @@ -75,18 +75,25 @@ def send_blocking_command(bidi_session): @pytest.fixture def wait_for_event(bidi_session, event_loop): - """Wait until the BiDi session emits an event and resolve the event data.""" + """Wait until the BiDi session emits an event and resolve the event data.""" + remove_listeners = [] def wait_for_event(event_name: str): future = event_loop.create_future() async def on_event(method, data): remove_listener() + remove_listeners.remove(remove_listener) future.set_result(data) remove_listener = bidi_session.add_event_listener(event_name, on_event) - + remove_listeners.append(remove_listener) return future - return wait_for_event + + yield wait_for_event + + # Cleanup any leftover callback for which no event was captured. + for remove_listener in remove_listeners: + remove_listener() @pytest.fixture def current_time(bidi_session, top_context): diff --git a/tests/wpt/web-platform-tests/webnn/pad.https.any.js b/tests/wpt/web-platform-tests/webnn/pad.https.any.js new file mode 100644 index 00000000000..f9d13d495f9 --- /dev/null +++ b/tests/wpt/web-platform-tests/webnn/pad.https.any.js @@ -0,0 +1,19 @@ +// META: title=test WebNN API pad operation +// META: global=window,dedicatedworker +// META: script=./resources/utils.js +// META: timeout=long + +'use strict'; + +// https://webmachinelearning.github.io/webnn/#api-mlgraphbuilder-pad + +const buildPad = (operationName, builder, resources) => { + // MLOperand pad(MLOperand input, sequence<unsigned long> beginningPadding, sequence<unsigned long> endingPadding, optional MLPadOptions options = {}); + const namedOutputOperand = {}; + const inputOperand = createSingleInputOperand(builder, resources); + // invoke builder.pad() + namedOutputOperand[resources.expected.name] = builder[operationName](inputOperand, resources.beginningPadding, resources.endingPadding, resources.options); + return namedOutputOperand; +}; + +testWebNNOperation('pad', buildPad); \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/webnn/prelu.https.any.js b/tests/wpt/web-platform-tests/webnn/prelu.https.any.js new file mode 100644 index 00000000000..c1b2e9fa2a0 --- /dev/null +++ b/tests/wpt/web-platform-tests/webnn/prelu.https.any.js @@ -0,0 +1,10 @@ +// META: title=test WebNN API prelu operation +// META: global=window,dedicatedworker +// META: script=./resources/utils.js +// META: timeout=long + +'use strict'; + +// https://webmachinelearning.github.io/webnn/#api-mlgraphbuilder-prelu + +testWebNNOperation('prelu', buildOperationWithTwoInputs); \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/webnn/resources/test_data/pad.json b/tests/wpt/web-platform-tests/webnn/resources/test_data/pad.json new file mode 100644 index 00000000000..ac4834d7f09 --- /dev/null +++ b/tests/wpt/web-platform-tests/webnn/resources/test_data/pad.json @@ -0,0 +1,757 @@ +{ + "tests": [ + { + "name": "pad float32 1D tensor default options", + "inputs": { + "input": { + "shape": [9], + "data": [ + 22.763617617214834, + -21.16852940391331, + -91.66169283838785, + 16.863798710594182, + 60.51471999839896, + -70.56754852642953, + -60.64327110324324, + -47.88219132680065, + 68.7255776612235 + ], + "type": "float32" + } + }, + "beginningPadding": [1], + "endingPadding": [1], + "expected": { + "shape": [11], + "data": [ + 0, + 22.76361846923828, + -21.168529510498047, + -91.66168975830078, + 16.863798141479492, + 60.51472091674805, + -70.56755065917969, + -60.643272399902344, + -47.8821907043457, + 68.72557830810547, + 0 + ], + "type": "float32" + } + }, + { + "name": "pad float32 2D tensor default options", + "inputs": { + "input": { + "shape": [3, 3], + "data": [ + 22.763617617214834, + -21.16852940391331, + -91.66169283838785, + 16.863798710594182, + 60.51471999839896, + -70.56754852642953, + -60.64327110324324, + -47.88219132680065, + 68.7255776612235 + ], + "type": "float32" + } + }, + "beginningPadding": [1, 1], + "endingPadding": [1, 1], + "expected": { + "shape": [5, 5], + "data": [ + 0, + 0, + 0, + 0, + 0, + 0, + 22.76361846923828, + -21.168529510498047, + -91.66168975830078, + 0, + 0, + 16.863798141479492, + 60.51472091674805, + -70.56755065917969, + 0, + 0, + -60.643272399902344, + -47.8821907043457, + 68.72557830810547, + 0, + 0, + 0, + 0, + 0, + 0 + ], + "type": "float32" + } + }, + { + "name": "pad float32 3D tensor default options", + "inputs": { + "input": { + "shape": [1, 3, 3], + "data": [ + 22.763617617214834, + -21.16852940391331, + -91.66169283838785, + 16.863798710594182, + 60.51471999839896, + -70.56754852642953, + -60.64327110324324, + -47.88219132680065, + 68.7255776612235 + ], + "type": "float32" + } + }, + "beginningPadding": [1, 1, 1], + "endingPadding": [1, 1, 1], + "expected": { + "shape": [3, 5, 5], + "data": [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 22.76361846923828, + -21.168529510498047, + -91.66168975830078, + 0, + 0, + 16.863798141479492, + 60.51472091674805, + -70.56755065917969, + 0, + 0, + -60.643272399902344, + -47.8821907043457, + 68.72557830810547, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ], + "type": "float32" + } + }, + { + "name": "pad float32 4D tensor default options", + "inputs": { + "input": { + "shape": [1, 3, 3, 1], + "data": [ + 22.763617617214834, + -21.16852940391331, + -91.66169283838785, + 16.863798710594182, + 60.51471999839896, + -70.56754852642953, + -60.64327110324324, + -47.88219132680065, + 68.7255776612235 + ], + "type": "float32" + } + }, + "beginningPadding": [0, 1, 1, 1], + "endingPadding": [0, 1, 1, 1], + "expected": { + "shape": [1, 5, 5, 3], + "data": [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 22.76361846923828, + 0, + 0, + -21.168529510498047, + 0, + 0, + -91.66168975830078, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 16.863798141479492, + 0, + 0, + 60.51472091674805, + 0, + 0, + -70.56755065917969, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + -60.643272399902344, + 0, + 0, + -47.8821907043457, + 0, + 0, + 68.72557830810547, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ], + "type": "float32" + } + }, + { + "name": "pad float32 5D tensor default options", + "inputs": { + "input": { + "shape": [1, 3, 3, 1, 1], + "data": [ + 22.763617617214834, + -21.16852940391331, + -91.66169283838785, + 16.863798710594182, + 60.51471999839896, + -70.56754852642953, + -60.64327110324324, + -47.88219132680065, + 68.7255776612235 + ], + "type": "float32" + } + }, + "beginningPadding": [0, 1, 1, 0, 1], + "endingPadding": [0, 1, 1, 0, 1], + "expected": { + "shape": [1, 5, 5, 1, 3], + "data": [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 22.76361846923828, + 0, + 0, + -21.168529510498047, + 0, + 0, + -91.66168975830078, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 16.863798141479492, + 0, + 0, + 60.51472091674805, + 0, + 0, + -70.56755065917969, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + -60.643272399902344, + 0, + 0, + -47.8821907043457, + 0, + 0, + 68.72557830810547, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ], + "type": "float32" + } + }, + { + "name": "pad float32 2D tensor explicit options.mode='constant'", + "inputs": { + "input": { + "shape": [3, 3], + "data": [ + 22.763617617214834, + -21.16852940391331, + -91.66169283838785, + 16.863798710594182, + 60.51471999839896, + -70.56754852642953, + -60.64327110324324, + -47.88219132680065, + 68.7255776612235 + ], + "type": "float32" + } + }, + "beginningPadding": [1, 1], + "endingPadding": [1, 1], + "options": { + "mode": "constant" + }, + "expected": { + "shape": [5, 5], + "data": [ + 0, + 0, + 0, + 0, + 0, + 0, + 22.76361846923828, + -21.168529510498047, + -91.66168975830078, + 0, + 0, + 16.863798141479492, + 60.51472091674805, + -70.56755065917969, + 0, + 0, + -60.643272399902344, + -47.8821907043457, + 68.72557830810547, + 0, + 0, + 0, + 0, + 0, + 0 + ], + "type": "float32" + } + }, + { + "name": "pad float32 2D tensor options.value default constant mode", + "inputs": { + "input": { + "shape": [3, 3], + "data": [ + 22.763617617214834, + -21.16852940391331, + -91.66169283838785, + 16.863798710594182, + 60.51471999839896, + -70.56754852642953, + -60.64327110324324, + -47.88219132680065, + 68.7255776612235 + ], + "type": "float32" + } + }, + "beginningPadding": [1, 1], + "endingPadding": [1, 1], + "options": { + "value": 1.0 + }, + "expected": { + "shape": [5, 5], + "data": [ + 1, + 1, + 1, + 1, + 1, + 1, + 22.76361846923828, + -21.168529510498047, + -91.66168975830078, + 1, + 1, + 16.863798141479492, + 60.51472091674805, + -70.56755065917969, + 1, + 1, + -60.643272399902344, + -47.8821907043457, + 68.72557830810547, + 1, + 1, + 1, + 1, + 1, + 1 + ], + "type": "float32" + } + }, + { + "name": "pad float32 4D tensor options.mode='edge'", + "inputs": { + "input": { + "shape": [1, 3, 3, 1], + "data": [ + 22.763617617214834, + -21.16852940391331, + -91.66169283838785, + 16.863798710594182, + 60.51471999839896, + -70.56754852642953, + -60.64327110324324, + -47.88219132680065, + 68.7255776612235 + ], + "type": "float32" + } + }, + "beginningPadding": [0, 2, 2, 0], + "endingPadding": [0, 2, 2, 0], + "options": { + "mode": "edge" + }, + "expected": { + "shape": [1, 7, 7, 1], + "data": [ + 22.76361846923828, + 22.76361846923828, + 22.76361846923828, + -21.168529510498047, + -91.66168975830078, + -91.66168975830078, + -91.66168975830078, + 22.76361846923828, + 22.76361846923828, + 22.76361846923828, + -21.168529510498047, + -91.66168975830078, + -91.66168975830078, + -91.66168975830078, + 22.76361846923828, + 22.76361846923828, + 22.76361846923828, + -21.168529510498047, + -91.66168975830078, + -91.66168975830078, + -91.66168975830078, + 16.863798141479492, + 16.863798141479492, + 16.863798141479492, + 60.51472091674805, + -70.56755065917969, + -70.56755065917969, + -70.56755065917969, + -60.643272399902344, + -60.643272399902344, + -60.643272399902344, + -47.8821907043457, + 68.72557830810547, + 68.72557830810547, + 68.72557830810547, + -60.643272399902344, + -60.643272399902344, + -60.643272399902344, + -47.8821907043457, + 68.72557830810547, + 68.72557830810547, + 68.72557830810547, + -60.643272399902344, + -60.643272399902344, + -60.643272399902344, + -47.8821907043457, + 68.72557830810547, + 68.72557830810547, + 68.72557830810547 + ], + "type": "float32" + } + }, + { + "name": "pad float32 4D tensor options.mode='reflection'", + "inputs": { + "input": { + "shape": [1, 3, 3, 1], + "data": [ + 22.763617617214834, + -21.16852940391331, + -91.66169283838785, + 16.863798710594182, + 60.51471999839896, + -70.56754852642953, + -60.64327110324324, + -47.88219132680065, + 68.7255776612235 + ], + "type": "float32" + } + }, + "beginningPadding": [0, 2, 2, 0], + "endingPadding": [0, 2, 2, 0], + "options": { + "mode": "reflection" + }, + "expected": { + "shape": [1, 7, 7, 1], + "data": [ + 68.72557830810547, + -47.8821907043457, + -60.643272399902344, + -47.8821907043457, + 68.72557830810547, + -47.8821907043457, + -60.643272399902344, + -70.56755065917969, + 60.51472091674805, + 16.863798141479492, + 60.51472091674805, + -70.56755065917969, + 60.51472091674805, + 16.863798141479492, + -91.66168975830078, + -21.168529510498047, + 22.76361846923828, + -21.168529510498047, + -91.66168975830078, + -21.168529510498047, + 22.76361846923828, + -70.56755065917969, + 60.51472091674805, + 16.863798141479492, + 60.51472091674805, + -70.56755065917969, + 60.51472091674805, + 16.863798141479492, + 68.72557830810547, + -47.8821907043457, + -60.643272399902344, + -47.8821907043457, + 68.72557830810547, + -47.8821907043457, + -60.643272399902344, + -70.56755065917969, + 60.51472091674805, + 16.863798141479492, + 60.51472091674805, + -70.56755065917969, + 60.51472091674805, + 16.863798141479492, + -91.66168975830078, + -21.168529510498047, + 22.76361846923828, + -21.168529510498047, + -91.66168975830078, + -21.168529510498047, + 22.76361846923828 + ], + "type": "float32" + } + }, + { + "name": "pad float32 4D tensor options.mode='symmetric'", + "inputs": { + "input": { + "shape": [1, 3, 3, 1], + "data": [ + 22.763617617214834, + -21.16852940391331, + -91.66169283838785, + 16.863798710594182, + 60.51471999839896, + -70.56754852642953, + -60.64327110324324, + -47.88219132680065, + 68.7255776612235 + ], + "type": "float32" + } + }, + "beginningPadding": [0, 2, 2, 0], + "endingPadding": [0, 2, 2, 0], + "options": { + "mode": "symmetric" + }, + "expected": { + "shape": [1, 7, 7, 1], + "data": [ + 60.51472091674805, + 16.863798141479492, + 16.863798141479492, + 60.51472091674805, + -70.56755065917969, + -70.56755065917969, + 60.51472091674805, + -21.168529510498047, + 22.76361846923828, + 22.76361846923828, + -21.168529510498047, + -91.66168975830078, + -91.66168975830078, + -21.168529510498047, + -21.168529510498047, + 22.76361846923828, + 22.76361846923828, + -21.168529510498047, + -91.66168975830078, + -91.66168975830078, + -21.168529510498047, + 60.51472091674805, + 16.863798141479492, + 16.863798141479492, + 60.51472091674805, + -70.56755065917969, + -70.56755065917969, + 60.51472091674805, + -47.8821907043457, + -60.643272399902344, + -60.643272399902344, + -47.8821907043457, + 68.72557830810547, + 68.72557830810547, + -47.8821907043457, + -47.8821907043457, + -60.643272399902344, + -60.643272399902344, + -47.8821907043457, + 68.72557830810547, + 68.72557830810547, + -47.8821907043457, + 60.51472091674805, + 16.863798141479492, + 16.863798141479492, + 60.51472091674805, + -70.56755065917969, + -70.56755065917969, + 60.51472091674805 + ], + "type": "float32" + } + } + ] +} \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/webnn/resources/test_data/prelu.json b/tests/wpt/web-platform-tests/webnn/resources/test_data/prelu.json new file mode 100644 index 00000000000..f3855b0f4e1 --- /dev/null +++ b/tests/wpt/web-platform-tests/webnn/resources/test_data/prelu.json @@ -0,0 +1,783 @@ +{ + "tests": [ + { + "name": "prelu float32 1D tensors", + "inputs": { + "x": { + "shape": [24], + "data": [ + -2.5491681672317235, + -4.794857500523286, + 8.413617520687886, + 6.108623511441287, + -8.492292847462334, + 3.3143364551069876, + 1.1687212422078108, + -0.1417628422981423, + -6.714651930677875, + 5.787421746282195, + -3.7556274239369847, + -4.898286418001732, + 7.329515995865023, + -3.9542297833176665, + 7.067297201348715, + 9.439736453375971, + -2.5581801134299775, + -8.658834185932482, + 8.475073893236225, + 4.551425642121982, + -9.267870491380243, + -0.26217744010265776, + 1.325895534951659, + -7.418311114031475 + ], + "type": "float32" + }, + "slope": { + "shape": [24], + "data": [ + 9.343093097130314, + 0.2800687126385206, + -4.617085001507579, + 1.1202747481570352, + -1.4334710772165593, + -3.157594908065091, + -6.289953987035659, + -5.010787777546328, + -6.899077379471157, + 3.572534824190212, + 6.861966530502535, + -1.9615313732548287, + 4.583203900668886, + 2.664350255679274, + 9.19295531798543, + -9.554700087649, + -5.505102187715796, + -2.3927369956553557, + 3.5821293765315954, + -2.32240037283157, + -1.9816573593209075, + 4.155890213640276, + -1.7995220850663962, + 9.29585020267449 + ], + "type": "float32" + } + }, + "expected": { + "name": "ouput", + "shape": [24], + "data": [ + -23.817113876342773, + -1.342889666557312, + 8.413617134094238, + 6.108623504638672, + 12.173455238342285, + 3.3143365383148193, + 1.1687211990356445, + 0.7103435397148132, + 46.32490539550781, + 5.787421703338623, + -25.7709903717041, + 9.608142852783203, + 7.3295159339904785, + -10.535453796386719, + 7.067296981811523, + 9.439736366271973, + 14.083043098449707, + 20.718313217163086, + 8.47507381439209, + 4.551425457000732, + 18.365745544433594, + -1.0895805358886719, + 1.3258955478668213, + -68.95950317382812 + ], + "type": "float32" + } + }, + { + "name": "prelu float32 2D tensors", + "inputs": { + "x": { + "shape": [4, 6], + "data": [ + -2.5491681672317235, + -4.794857500523286, + 8.413617520687886, + 6.108623511441287, + -8.492292847462334, + 3.3143364551069876, + 1.1687212422078108, + -0.1417628422981423, + -6.714651930677875, + 5.787421746282195, + -3.7556274239369847, + -4.898286418001732, + 7.329515995865023, + -3.9542297833176665, + 7.067297201348715, + 9.439736453375971, + -2.5581801134299775, + -8.658834185932482, + 8.475073893236225, + 4.551425642121982, + -9.267870491380243, + -0.26217744010265776, + 1.325895534951659, + -7.418311114031475 + ], + "type": "float32" + }, + "slope": { + "shape": [4, 6], + "data": [ + 9.343093097130314, + 0.2800687126385206, + -4.617085001507579, + 1.1202747481570352, + -1.4334710772165593, + -3.157594908065091, + -6.289953987035659, + -5.010787777546328, + -6.899077379471157, + 3.572534824190212, + 6.861966530502535, + -1.9615313732548287, + 4.583203900668886, + 2.664350255679274, + 9.19295531798543, + -9.554700087649, + -5.505102187715796, + -2.3927369956553557, + 3.5821293765315954, + -2.32240037283157, + -1.9816573593209075, + 4.155890213640276, + -1.7995220850663962, + 9.29585020267449 + ], + "type": "float32" + } + }, + "expected": { + "name": "ouput", + "shape": [4, 6], + "data": [ + -23.817113876342773, + -1.342889666557312, + 8.413617134094238, + 6.108623504638672, + 12.173455238342285, + 3.3143365383148193, + 1.1687211990356445, + 0.7103435397148132, + 46.32490539550781, + 5.787421703338623, + -25.7709903717041, + 9.608142852783203, + 7.3295159339904785, + -10.535453796386719, + 7.067296981811523, + 9.439736366271973, + 14.083043098449707, + 20.718313217163086, + 8.47507381439209, + 4.551425457000732, + 18.365745544433594, + -1.0895805358886719, + 1.3258955478668213, + -68.95950317382812 + ], + "type": "float32" + } + }, + { + "name": "prelu float32 3D tensors", + "inputs": { + "x": { + "shape": [2, 3, 4], + "data": [ + -2.5491681672317235, + -4.794857500523286, + 8.413617520687886, + 6.108623511441287, + -8.492292847462334, + 3.3143364551069876, + 1.1687212422078108, + -0.1417628422981423, + -6.714651930677875, + 5.787421746282195, + -3.7556274239369847, + -4.898286418001732, + 7.329515995865023, + -3.9542297833176665, + 7.067297201348715, + 9.439736453375971, + -2.5581801134299775, + -8.658834185932482, + 8.475073893236225, + 4.551425642121982, + -9.267870491380243, + -0.26217744010265776, + 1.325895534951659, + -7.418311114031475 + ], + "type": "float32" + }, + "slope": { + "shape": [2, 3, 4], + "data": [ + 9.343093097130314, + 0.2800687126385206, + -4.617085001507579, + 1.1202747481570352, + -1.4334710772165593, + -3.157594908065091, + -6.289953987035659, + -5.010787777546328, + -6.899077379471157, + 3.572534824190212, + 6.861966530502535, + -1.9615313732548287, + 4.583203900668886, + 2.664350255679274, + 9.19295531798543, + -9.554700087649, + -5.505102187715796, + -2.3927369956553557, + 3.5821293765315954, + -2.32240037283157, + -1.9816573593209075, + 4.155890213640276, + -1.7995220850663962, + 9.29585020267449 + ], + "type": "float32" + } + }, + "expected": { + "name": "ouput", + "shape": [2, 3, 4], + "data": [ + -23.817113876342773, + -1.342889666557312, + 8.413617134094238, + 6.108623504638672, + 12.173455238342285, + 3.3143365383148193, + 1.1687211990356445, + 0.7103435397148132, + 46.32490539550781, + 5.787421703338623, + -25.7709903717041, + 9.608142852783203, + 7.3295159339904785, + -10.535453796386719, + 7.067296981811523, + 9.439736366271973, + 14.083043098449707, + 20.718313217163086, + 8.47507381439209, + 4.551425457000732, + 18.365745544433594, + -1.0895805358886719, + 1.3258955478668213, + -68.95950317382812 + ], + "type": "float32" + } + }, + { + "name": "prelu float32 4D tensors", + "inputs": { + "x": { + "shape": [2, 2, 2, 3], + "data": [ + -2.5491681672317235, + -4.794857500523286, + 8.413617520687886, + 6.108623511441287, + -8.492292847462334, + 3.3143364551069876, + 1.1687212422078108, + -0.1417628422981423, + -6.714651930677875, + 5.787421746282195, + -3.7556274239369847, + -4.898286418001732, + 7.329515995865023, + -3.9542297833176665, + 7.067297201348715, + 9.439736453375971, + -2.5581801134299775, + -8.658834185932482, + 8.475073893236225, + 4.551425642121982, + -9.267870491380243, + -0.26217744010265776, + 1.325895534951659, + -7.418311114031475 + ], + "type": "float32" + }, + "slope": { + "shape": [2, 2, 2, 3], + "data": [ + 9.343093097130314, + 0.2800687126385206, + -4.617085001507579, + 1.1202747481570352, + -1.4334710772165593, + -3.157594908065091, + -6.289953987035659, + -5.010787777546328, + -6.899077379471157, + 3.572534824190212, + 6.861966530502535, + -1.9615313732548287, + 4.583203900668886, + 2.664350255679274, + 9.19295531798543, + -9.554700087649, + -5.505102187715796, + -2.3927369956553557, + 3.5821293765315954, + -2.32240037283157, + -1.9816573593209075, + 4.155890213640276, + -1.7995220850663962, + 9.29585020267449 + ], + "type": "float32" + } + }, + "expected": { + "name": "ouput", + "shape": [2, 2, 2, 3], + "data": [ + -23.817113876342773, + -1.342889666557312, + 8.413617134094238, + 6.108623504638672, + 12.173455238342285, + 3.3143365383148193, + 1.1687211990356445, + 0.7103435397148132, + 46.32490539550781, + 5.787421703338623, + -25.7709903717041, + 9.608142852783203, + 7.3295159339904785, + -10.535453796386719, + 7.067296981811523, + 9.439736366271973, + 14.083043098449707, + 20.718313217163086, + 8.47507381439209, + 4.551425457000732, + 18.365745544433594, + -1.0895805358886719, + 1.3258955478668213, + -68.95950317382812 + ], + "type": "float32" + } + }, + { + "name": "prelu float32 5D tensors", + "inputs": { + "x": { + "shape": [2, 2, 1, 2, 3], + "data": [ + -2.5491681672317235, + -4.794857500523286, + 8.413617520687886, + 6.108623511441287, + -8.492292847462334, + 3.3143364551069876, + 1.1687212422078108, + -0.1417628422981423, + -6.714651930677875, + 5.787421746282195, + -3.7556274239369847, + -4.898286418001732, + 7.329515995865023, + -3.9542297833176665, + 7.067297201348715, + 9.439736453375971, + -2.5581801134299775, + -8.658834185932482, + 8.475073893236225, + 4.551425642121982, + -9.267870491380243, + -0.26217744010265776, + 1.325895534951659, + -7.418311114031475 + ], + "type": "float32" + }, + "slope": { + "shape": [2, 2, 1, 2, 3], + "data": [ + 9.343093097130314, + 0.2800687126385206, + -4.617085001507579, + 1.1202747481570352, + -1.4334710772165593, + -3.157594908065091, + -6.289953987035659, + -5.010787777546328, + -6.899077379471157, + 3.572534824190212, + 6.861966530502535, + -1.9615313732548287, + 4.583203900668886, + 2.664350255679274, + 9.19295531798543, + -9.554700087649, + -5.505102187715796, + -2.3927369956553557, + 3.5821293765315954, + -2.32240037283157, + -1.9816573593209075, + 4.155890213640276, + -1.7995220850663962, + 9.29585020267449 + ], + "type": "float32" + } + }, + "expected": { + "name": "ouput", + "shape": [2, 2, 1, 2, 3], + "data": [ + -23.817113876342773, + -1.342889666557312, + 8.413617134094238, + 6.108623504638672, + 12.173455238342285, + 3.3143365383148193, + 1.1687211990356445, + 0.7103435397148132, + 46.32490539550781, + 5.787421703338623, + -25.7709903717041, + 9.608142852783203, + 7.3295159339904785, + -10.535453796386719, + 7.067296981811523, + 9.439736366271973, + 14.083043098449707, + 20.718313217163086, + 8.47507381439209, + 4.551425457000732, + 18.365745544433594, + -1.0895805358886719, + 1.3258955478668213, + -68.95950317382812 + ], + "type": "float32" + } + }, + { + "name": "prelu float32 broadcast 4D x 1D slope", + "inputs": { + "x": { + "shape": [2, 2, 2, 3], + "data": [ + -2.5491681672317235, + -4.794857500523286, + 8.413617520687886, + 6.108623511441287, + -8.492292847462334, + 3.3143364551069876, + 1.1687212422078108, + -0.1417628422981423, + -6.714651930677875, + 5.787421746282195, + -3.7556274239369847, + -4.898286418001732, + 7.329515995865023, + -3.9542297833176665, + 7.067297201348715, + 9.439736453375971, + -2.5581801134299775, + -8.658834185932482, + 8.475073893236225, + 4.551425642121982, + -9.267870491380243, + -0.26217744010265776, + 1.325895534951659, + -7.418311114031475 + ], + "type": "float32" + }, + "slope": { + "shape": [1], + "data": [ + 5.0114545056636395 + ], + "type": "float32" + } + }, + "expected": { + "name": "ouput", + "shape": [2, 2, 2, 3], + "data": [ + -12.775040626525879, + -24.029211044311523, + 8.413617134094238, + 6.108623504638672, + -42.558738708496094, + 3.3143365383148193, + 1.1687211990356445, + -0.7104380130767822, + -33.65017318725586, + 5.787421703338623, + -18.821155548095703, + -24.54753875732422, + 7.3295159339904785, + -19.816442489624023, + 7.067296981811523, + 9.439736366271973, + -12.82020378112793, + -43.39335632324219, + 8.47507381439209, + 4.551425457000732, + -46.44551467895508, + -1.3138903379440308, + 1.3258955478668213, + -37.17652893066406 + ], + "type": "float32" + } + }, + { + "name": "prelu float32 broadcast 4D x 2D slope", + "inputs": { + "x": { + "shape": [2, 2, 2, 3], + "data": [ + -2.5491681672317235, + -4.794857500523286, + 8.413617520687886, + 6.108623511441287, + -8.492292847462334, + 3.3143364551069876, + 1.1687212422078108, + -0.1417628422981423, + -6.714651930677875, + 5.787421746282195, + -3.7556274239369847, + -4.898286418001732, + 7.329515995865023, + -3.9542297833176665, + 7.067297201348715, + 9.439736453375971, + -2.5581801134299775, + -8.658834185932482, + 8.475073893236225, + 4.551425642121982, + -9.267870491380243, + -0.26217744010265776, + 1.325895534951659, + -7.418311114031475 + ], + "type": "float32" + }, + "slope": { + "shape": [2, 3], + "data": [ + 4.8742760041637645, + -8.50163357869285, + 1.1819270477816914, + -9.985190366937573, + -4.424202960837338, + -6.654683521499036 + ], + "type": "float32" + } + }, + "expected": { + "name": "ouput", + "shape": [2, 2, 2, 3], + "data": [ + -12.425349235534668, + 40.764122009277344, + 8.413617134094238, + 6.108623504638672, + 37.571624755859375, + 3.3143365383148193, + 1.1687211990356445, + 1.2052156925201416, + -7.936229228973389, + 5.787421703338623, + 16.615657806396484, + 32.5965461730957, + 7.3295159339904785, + 33.61741256713867, + 7.067296981811523, + 9.439736366271973, + 11.31790828704834, + 57.621803283691406, + 8.47507381439209, + 4.551425457000732, + -10.953948020935059, + 2.617891550064087, + 1.3258955478668213, + 49.366512298583984 + ], + "type": "float32" + } + }, + { + "name": "prelu float32 broadcast 4D x 3D slope", + "inputs": { + "x": { + "shape": [2, 2, 2, 3], + "data": [ + -2.5491681672317235, + -4.794857500523286, + 8.413617520687886, + 6.108623511441287, + -8.492292847462334, + 3.3143364551069876, + 1.1687212422078108, + -0.1417628422981423, + -6.714651930677875, + 5.787421746282195, + -3.7556274239369847, + -4.898286418001732, + 7.329515995865023, + -3.9542297833176665, + 7.067297201348715, + 9.439736453375971, + -2.5581801134299775, + -8.658834185932482, + 8.475073893236225, + 4.551425642121982, + -9.267870491380243, + -0.26217744010265776, + 1.325895534951659, + -7.418311114031475 + ], + "type": "float32" + }, + "slope": { + "shape": [1, 1, 3], + "data": [ + 5.073923296191488, + 0.48077445494619653, + -7.091750168010829 + ], + "type": "float32" + } + }, + "expected": { + "name": "ouput", + "shape": [2, 2, 2, 3], + "data": [ + -12.934283256530762, + -2.3052449226379395, + 8.413617134094238, + 6.108623504638672, + -4.082877159118652, + 3.3143365383148193, + 1.1687211990356445, + -0.06815595179796219, + 47.61863327026367, + 5.787421703338623, + -1.8056097030639648, + 34.737422943115234, + 7.3295159339904785, + -1.901092767715454, + 7.067296981811523, + 9.439736366271973, + -1.2299076318740845, + 61.40629196166992, + 8.47507381439209, + 4.551425457000732, + 65.72542572021484, + -1.330268144607544, + 1.3258955478668213, + 52.60881042480469 + ], + "type": "float32" + } + }, + { + "name": "prelu float32 broadcast 4D x 4D slope", + "inputs": { + "x": { + "shape": [2, 2, 2, 3], + "data": [ + -2.5491681672317235, + -4.794857500523286, + 8.413617520687886, + 6.108623511441287, + -8.492292847462334, + 3.3143364551069876, + 1.1687212422078108, + -0.1417628422981423, + -6.714651930677875, + 5.787421746282195, + -3.7556274239369847, + -4.898286418001732, + 7.329515995865023, + -3.9542297833176665, + 7.067297201348715, + 9.439736453375971, + -2.5581801134299775, + -8.658834185932482, + 8.475073893236225, + 4.551425642121982, + -9.267870491380243, + -0.26217744010265776, + 1.325895534951659, + -7.418311114031475 + ], + "type": "float32" + }, + "slope": { + "shape": [1, 1, 1, 1], + "data": [ + 5.0114545056636395 + ], + "type": "float32" + } + }, + "expected": { + "name": "ouput", + "shape": [2, 2, 2, 3], + "data": [ + -12.775040626525879, + -24.029211044311523, + 8.413617134094238, + 6.108623504638672, + -42.558738708496094, + 3.3143365383148193, + 1.1687211990356445, + -0.7104380130767822, + -33.65017318725586, + 5.787421703338623, + -18.821155548095703, + -24.54753875732422, + 7.3295159339904785, + -19.816442489624023, + 7.067296981811523, + 9.439736366271973, + -12.82020378112793, + -43.39335632324219, + 8.47507381439209, + 4.551425457000732, + -46.44551467895508, + -1.3138903379440308, + 1.3258955478668213, + -37.17652893066406 + ], + "type": "float32" + } + } + ] +} \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/webnn/resources/utils.js b/tests/wpt/web-platform-tests/webnn/resources/utils.js index 0c903998f17..a91dfa04c6e 100644 --- a/tests/wpt/web-platform-tests/webnn/resources/utils.js +++ b/tests/wpt/web-platform-tests/webnn/resources/utils.js @@ -269,10 +269,12 @@ const PrecisionMetrics = { gemm: {ULP: {float32: getGemmPrecisionTolerance, float16: getGemmPrecisionTolerance}}, leakyRelu: {ULP: {float32: 1, float16: 1}}, matmul: {ULP: {float32: getMatmulPrecisionTolerance, float16: getMatmulPrecisionTolerance}}, + pad: {ULP: {float32: 0, float16: 0}}, // Begin Pooling operations averagePool2d: {ULP: {float32: getAveragePool2dPrecisionTolerance, float16: getAveragePool2dPrecisionTolerance}}, maxPool2d: {ULP: {float32: 0, float16: 0}}, // End Pooling operations + prelu: {ULP: {float32: 1, float16: 1}}, // Begin Reduction operations reduceMax: {ULP: {float32: 0, float16: 0}}, reduceMean: {ULP: {float32: getReductionPrecisionTolerance, float16: getReductionPrecisionTolerance}}, diff --git a/tests/wpt/web-platform-tests/webrtc-encoded-transform/RTCPeerConnection-insertable-streams-worker.https.html b/tests/wpt/web-platform-tests/webrtc-encoded-transform/RTCPeerConnection-insertable-streams-worker.https.html index e022bff4de3..cb31057cac9 100644 --- a/tests/wpt/web-platform-tests/webrtc-encoded-transform/RTCPeerConnection-insertable-streams-worker.https.html +++ b/tests/wpt/web-platform-tests/webrtc-encoded-transform/RTCPeerConnection-insertable-streams-worker.https.html @@ -117,6 +117,80 @@ promise_test(async t => { return onmessagePromise; }, 'RTCRtpSender readable stream transferred to a Worker and the Worker sends an RTCEncodedVideoFrame back'); +promise_test(async t => { + const caller = new RTCPeerConnection({encodedInsertableStreams:true}); + t.add_cleanup(() => caller.close()); + const callee = new RTCPeerConnection(); + t.add_cleanup(() => callee.close()); + + const stream = await navigator.mediaDevices.getUserMedia({video:true}); + const videoTrack = stream.getVideoTracks()[0]; + t.add_cleanup(() => videoTrack.stop()); + + const videoSender = caller.addTrack(videoTrack) + const senderStreams = videoSender.createEncodedStreams(); + + const senderWorker = new Worker('RTCPeerConnection-worker-transform.js') + t.add_cleanup(() => senderWorker.terminate()); + senderWorker.postMessage( + { + readableStream: senderStreams.readable, + writableStream: senderStreams.writable, + insertError: true + }, + [senderStreams.readable, senderStreams.writable]); + + const onmessagePromise = new Promise(resolve => { + senderWorker.onmessage = t.step_func(message => { + assert_false(message.data.success); + assert_true(message.data.error instanceof TypeError); + resolve(); + }); + }); + + exchangeIceCandidates(caller, callee); + await exchangeOfferAnswer(caller, callee); + + return onmessagePromise; +}, 'Video RTCRtpSender insertable streams transferred to a worker, which tries to write an invalid frame'); + +promise_test(async t => { + const caller = new RTCPeerConnection({encodedInsertableStreams:true}); + t.add_cleanup(() => caller.close()); + const callee = new RTCPeerConnection(); + t.add_cleanup(() => callee.close()); + + const stream = await navigator.mediaDevices.getUserMedia({audio:true}); + const audioTrack = stream.getAudioTracks()[0]; + t.add_cleanup(() => audioTrack.stop()); + + const audioSender = caller.addTrack(audioTrack) + const senderStreams = audioSender.createEncodedStreams(); + + const senderWorker = new Worker('RTCPeerConnection-worker-transform.js') + t.add_cleanup(() => senderWorker.terminate()); + senderWorker.postMessage( + { + readableStream: senderStreams.readable, + writableStream: senderStreams.writable, + insertError: true + }, + [senderStreams.readable, senderStreams.writable]); + + const onmessagePromise = new Promise(resolve => { + senderWorker.onmessage = t.step_func(message => { + assert_false(message.data.success); + assert_true(message.data.error instanceof TypeError); + resolve(); + }); + }); + + exchangeIceCandidates(caller, callee); + await exchangeOfferAnswer(caller, callee); + + return onmessagePromise; +}, 'Audio RTCRtpSender insertable streams transferred to a worker, which tries to write an invalid frame'); + </script> </body> </html> diff --git a/tests/wpt/web-platform-tests/webrtc-encoded-transform/RTCPeerConnection-worker-transform.js b/tests/wpt/web-platform-tests/webrtc-encoded-transform/RTCPeerConnection-worker-transform.js new file mode 100644 index 00000000000..36e3949e4d5 --- /dev/null +++ b/tests/wpt/web-platform-tests/webrtc-encoded-transform/RTCPeerConnection-worker-transform.js @@ -0,0 +1,22 @@ +onmessage = async (event) => { + const readableStream = event.data.readableStream; + const writableStream = event.data.writableStream; + const insertError = event.data.insertError; + + try { + await readableStream.pipeThrough(new TransformStream({ + transform: (chunk, controller) => { + if (insertError) { + controller.enqueue("This is not a valid frame"); + } else { + controller.enqueue(chunk); + } + } + })).pipeTo(writableStream); + + postMessage({success:true}); + } catch(e) { + postMessage({success:false, error: e}); + } + +} diff --git a/tests/wpt/web-platform-tests/webrtc/RTCRtpTransceiver.https.html b/tests/wpt/web-platform-tests/webrtc/RTCRtpTransceiver.https.html index 9a8fbedc231..943550d4b7f 100644 --- a/tests/wpt/web-platform-tests/webrtc/RTCRtpTransceiver.https.html +++ b/tests/wpt/web-platform-tests/webrtc/RTCRtpTransceiver.https.html @@ -1161,10 +1161,13 @@ pc1.getTransceivers()[1].direction = "sendrecv"; offer = await pc1.createOffer(); await pc2.setRemoteDescription(offer); - await pc1.setLocalDescription(offer); - answer = await pc2.createAnswer(); + // Set these up before sLD, since that sets [[Receptive]] to true, which + // could allow an unmute to occur from a packet that was sent before we + // negotiated inactive! gotUnmuteAudio1 = gotUnmuteEvent(pc1.getTransceivers()[0].receiver.track); gotUnmuteVideo1 = gotUnmuteEvent(pc1.getTransceivers()[1].receiver.track); + await pc1.setLocalDescription(offer); + answer = await pc2.createAnswer(); gotUnmuteAudio2 = gotUnmuteEvent(pc2.getTransceivers()[0].receiver.track); gotUnmuteVideo2 = gotUnmuteEvent(pc2.getTransceivers()[1].receiver.track); await pc1.setRemoteDescription(answer); diff --git a/tests/wpt/web-platform-tests/webtransport/echo-large-bidirectional-streams.https.html b/tests/wpt/web-platform-tests/webtransport/echo-large-bidirectional-streams.https.html new file mode 100644 index 00000000000..daa7c1b9b36 --- /dev/null +++ b/tests/wpt/web-platform-tests/webtransport/echo-large-bidirectional-streams.https.html @@ -0,0 +1,27 @@ +<!DOCTYPE html> +<meta charset="utf-8"/> +<script src="/resources/testharness.js"></script> +<script src="/resources/testharnessreport.js"></script> +<script src="/common/get-host-info.sub.js"></script> +<script src="resources/webtransport-test-helpers.sub.js"></script> +<script> +// A test that aims to reproduce https://crbug.com/1369030 -- note that since +// the bug in question is a race condition, this test will probably be flaky if +// this is actually broken. +promise_test(async t => { + const wt = new WebTransport(webtransport_url('echo.py')); + await wt.ready; + + const numBytes = 1024 * 1024; + const numStreams = 5; + for (let i = 0; i < numStreams; i++) { + const stream = await wt.createBidirectionalStream(); + const writer = stream.writable.getWriter(); + await writer.write(new Uint8Array(numBytes)); + await writer.close(); + const response = await (new Response(stream.readable).arrayBuffer()); + assert_equals(response.byteLength, numBytes); + } +}, 'Ensure large bidirectional streams does not cause race condition'); + +</script> diff --git a/tests/wpt/web-platform-tests/webtransport/server-certificate-hashes.https.any.js b/tests/wpt/web-platform-tests/webtransport/server-certificate-hashes.https.any.js new file mode 100644 index 00000000000..01efab1191b --- /dev/null +++ b/tests/wpt/web-platform-tests/webtransport/server-certificate-hashes.https.any.js @@ -0,0 +1,21 @@ +// META: global=window,worker +// META: script=/common/get-host-info.sub.js +// META: script=resources/webtransport-test-helpers.sub.js + +promise_test(async t => { + const hashValue = new Uint8Array(32); + // The connection fails because the fingerprint does not match. + const wt = new WebTransport(webtransport_url('echo.py'), { + serverCertificateHashes: [ + { + algorithm: "sha-256", + value: hashValue, + } + ] + }); + + const e = await wt.ready.catch(e => e); + await promise_rejects_exactly(t, e, wt.ready, 'ready should be rejected'); + await promise_rejects_exactly(t, e, wt.closed, 'closed should be rejected'); + assert_true(e instanceof WebTransportError); +}, 'Connection fails due to certificate hash mismatch'); diff --git a/tests/wpt/web-platform-tests/workers/interfaces/WorkerUtils/navigator/007.js b/tests/wpt/web-platform-tests/workers/interfaces/WorkerUtils/navigator/007.js index d0879da9088..38849bc8abc 100644 --- a/tests/wpt/web-platform-tests/workers/interfaces/WorkerUtils/navigator/007.js +++ b/tests/wpt/web-platform-tests/workers/interfaces/WorkerUtils/navigator/007.js @@ -1,6 +1,8 @@ var log = []; var neverEncounteredValue = "This is not the value you are looking for."; for (x in navigator) { + // skip functions, as they are writable + if (typeof navigator[x] === 'function') continue; // this should silently fail and not throw per webidl navigator[x] = neverEncounteredValue; if (navigator[x] === neverEncounteredValue) diff --git a/tests/wpt/web-platform-tests/workers/interfaces/WorkerUtils/navigator/008.worker.js b/tests/wpt/web-platform-tests/workers/interfaces/WorkerUtils/navigator/008.worker.js new file mode 100644 index 00000000000..e539d85d763 --- /dev/null +++ b/tests/wpt/web-platform-tests/workers/interfaces/WorkerUtils/navigator/008.worker.js @@ -0,0 +1,12 @@ +"use strict"; +importScripts("/resources/testharness.js"); +test(function () { + for (const x in navigator) { + // skip functions, as they are settable + if (typeof navigator[x] === "function") continue; + assert_throws_js(TypeError, () => { + navigator[x] = ""; + }, `navigator.${x} is read-only`); + } +}, "navigator properties are read-only"); +done(); diff --git a/tests/wpt/webgl/meta/conformance/textures/misc/origin-clean-conformance-offscreencanvas.html.ini b/tests/wpt/webgl/meta/conformance/textures/misc/origin-clean-conformance-offscreencanvas.html.ini index 64701eb4e27..4e4810ca509 100644 --- a/tests/wpt/webgl/meta/conformance/textures/misc/origin-clean-conformance-offscreencanvas.html.ini +++ b/tests/wpt/webgl/meta/conformance/textures/misc/origin-clean-conformance-offscreencanvas.html.ini @@ -3,3 +3,5 @@ [WebGL test #2: Unable to fetch WebGL rendering context for Canvas] expected: FAIL + [WebGL test #0: img was loaded] + expected: FAIL diff --git a/tests/wpt/webgl/meta/conformance/textures/misc/texture-upload-size.html.ini b/tests/wpt/webgl/meta/conformance/textures/misc/texture-upload-size.html.ini index 9b0cee9d527..8ed832b2f12 100644 --- a/tests/wpt/webgl/meta/conformance/textures/misc/texture-upload-size.html.ini +++ b/tests/wpt/webgl/meta/conformance/textures/misc/texture-upload-size.html.ini @@ -47,3 +47,32 @@ [WebGL test #236: could not create image (SVG)] expected: FAIL + [WebGL test #13: Texture was smaller than the expected size 0x0] + expected: FAIL + + [WebGL test #17: Texture was smaller than the expected size 0x0] + expected: FAIL + + [WebGL test #21: Texture was smaller than the expected size 0x0] + expected: FAIL + + [WebGL test #25: Texture was smaller than the expected size 0x0] + expected: FAIL + + [WebGL test #29: Texture was smaller than the expected size 0x0] + expected: FAIL + + [WebGL test #33: Texture was smaller than the expected size 0x0] + expected: FAIL + + [WebGL test #37: Texture was smaller than the expected size 0x0] + expected: FAIL + + [WebGL test #41: Texture was smaller than the expected size 0x0] + expected: FAIL + + [WebGL test #46: Texture was smaller than the expected size 0x0] + expected: FAIL + + [WebGL test #50: Texture was smaller than the expected size 0x0] + expected: FAIL diff --git a/tests/wpt/webgl/meta/conformance2/textures/image/tex-2d-rgb32f-rgb-float.html.ini b/tests/wpt/webgl/meta/conformance2/textures/image/tex-2d-rgb32f-rgb-float.html.ini index d704ce22b0a..48eb5b62294 100644 --- a/tests/wpt/webgl/meta/conformance2/textures/image/tex-2d-rgb32f-rgb-float.html.ini +++ b/tests/wpt/webgl/meta/conformance2/textures/image/tex-2d-rgb32f-rgb-float.html.ini @@ -24,3 +24,44 @@ [WebGL test #12: shouldBe 0,255,0\nat (4, 24) expected: 0,255,0 was 255,0,0] expected: FAIL + [WebGL test #4: shouldBe 0,255,0\nat (4, 4) expected: 0,255,0 was 0,0,0] + expected: FAIL + + [WebGL test #5: shouldBe 255,0,0\nat (4, 24) expected: 255,0,0 was 0,0,0] + expected: FAIL + + [WebGL test #6: getError expected: NO_ERROR. Was INVALID_VALUE : after evaluating: gl.pixelStorei(gl.UNPACK_COLORSPACE_CONVERSION_WEBGL, gl.NONE);] + expected: FAIL + + [WebGL test #7: shouldBe 255,0,0\nat (4, 4) expected: 255,0,0 was 0,0,0] + expected: FAIL + + [WebGL test #8: shouldBe 0,255,0\nat (4, 24) expected: 0,255,0 was 0,0,0] + expected: FAIL + + [WebGL test #9: getError expected: NO_ERROR. Was INVALID_VALUE : after evaluating: gl.pixelStorei(gl.UNPACK_COLORSPACE_CONVERSION_WEBGL, gl.NONE);] + expected: FAIL + + [WebGL test #11: shouldBe 255,0,0\nat (4, 24) expected: 255,0,0 was 0,255,0] + expected: FAIL + + [WebGL test #12: getError expected: NO_ERROR. Was INVALID_ENUM : after evaluating: gl.pixelStorei(gl.UNPACK_COLORSPACE_CONVERSION_WEBGL, gl.NONE);] + expected: FAIL + + [WebGL test #14: shouldBe 0,255,0\nat (4, 24) expected: 0,255,0 was 255,0,0] + expected: FAIL + + [WebGL test #15: getError expected: NO_ERROR. Was INVALID_ENUM : after evaluating: gl.pixelStorei(gl.UNPACK_COLORSPACE_CONVERSION_WEBGL, gl.NONE);] + expected: FAIL + + [WebGL test #16: shouldBe 0,255,0\nat (4, 4) expected: 0,255,0 was 255,0,0] + expected: FAIL + + [WebGL test #18: getError expected: NO_ERROR. Was INVALID_ENUM : after evaluating: gl.pixelStorei(gl.UNPACK_COLORSPACE_CONVERSION_WEBGL, gl.NONE);] + expected: FAIL + + [WebGL test #19: shouldBe 255,0,0\nat (4, 4) expected: 255,0,0 was 0,255,0] + expected: FAIL + + [WebGL test #21: getError expected: NO_ERROR. Was INVALID_ENUM : after evaluating: gl.pixelStorei(gl.UNPACK_COLORSPACE_CONVERSION_WEBGL, gl.NONE);] + expected: FAIL diff --git a/tests/wpt/webgl/meta/conformance2/textures/image/tex-2d-rgba32f-rgba-float.html.ini b/tests/wpt/webgl/meta/conformance2/textures/image/tex-2d-rgba32f-rgba-float.html.ini index a2c4b409cd8..b134ad50450 100644 --- a/tests/wpt/webgl/meta/conformance2/textures/image/tex-2d-rgba32f-rgba-float.html.ini +++ b/tests/wpt/webgl/meta/conformance2/textures/image/tex-2d-rgba32f-rgba-float.html.ini @@ -24,3 +24,44 @@ [WebGL test #12: shouldBe 0,255,0\nat (4, 24) expected: 0,255,0 was 255,0,0] expected: FAIL + [WebGL test #4: shouldBe 0,255,0\nat (4, 4) expected: 0,255,0 was 0,0,0] + expected: FAIL + + [WebGL test #5: shouldBe 255,0,0\nat (4, 24) expected: 255,0,0 was 0,0,0] + expected: FAIL + + [WebGL test #6: getError expected: NO_ERROR. Was INVALID_VALUE : after evaluating: gl.pixelStorei(gl.UNPACK_COLORSPACE_CONVERSION_WEBGL, gl.NONE);] + expected: FAIL + + [WebGL test #7: shouldBe 255,0,0\nat (4, 4) expected: 255,0,0 was 0,0,0] + expected: FAIL + + [WebGL test #8: shouldBe 0,255,0\nat (4, 24) expected: 0,255,0 was 0,0,0] + expected: FAIL + + [WebGL test #9: getError expected: NO_ERROR. Was INVALID_VALUE : after evaluating: gl.pixelStorei(gl.UNPACK_COLORSPACE_CONVERSION_WEBGL, gl.NONE);] + expected: FAIL + + [WebGL test #11: shouldBe 255,0,0\nat (4, 24) expected: 255,0,0 was 0,255,0] + expected: FAIL + + [WebGL test #12: getError expected: NO_ERROR. Was INVALID_ENUM : after evaluating: gl.pixelStorei(gl.UNPACK_COLORSPACE_CONVERSION_WEBGL, gl.NONE);] + expected: FAIL + + [WebGL test #14: shouldBe 0,255,0\nat (4, 24) expected: 0,255,0 was 255,0,0] + expected: FAIL + + [WebGL test #15: getError expected: NO_ERROR. Was INVALID_ENUM : after evaluating: gl.pixelStorei(gl.UNPACK_COLORSPACE_CONVERSION_WEBGL, gl.NONE);] + expected: FAIL + + [WebGL test #16: shouldBe 0,255,0\nat (4, 4) expected: 0,255,0 was 255,0,0] + expected: FAIL + + [WebGL test #18: getError expected: NO_ERROR. Was INVALID_ENUM : after evaluating: gl.pixelStorei(gl.UNPACK_COLORSPACE_CONVERSION_WEBGL, gl.NONE);] + expected: FAIL + + [WebGL test #19: shouldBe 255,0,0\nat (4, 4) expected: 255,0,0 was 0,255,0] + expected: FAIL + + [WebGL test #21: getError expected: NO_ERROR. Was INVALID_ENUM : after evaluating: gl.pixelStorei(gl.UNPACK_COLORSPACE_CONVERSION_WEBGL, gl.NONE);] + expected: FAIL diff --git a/tests/wpt/webgl/meta/conformance2/textures/image/tex-2d-rgba8-rgba-unsigned_byte.html.ini b/tests/wpt/webgl/meta/conformance2/textures/image/tex-2d-rgba8-rgba-unsigned_byte.html.ini index 43911da91c4..bcc3443bb6a 100644 --- a/tests/wpt/webgl/meta/conformance2/textures/image/tex-2d-rgba8-rgba-unsigned_byte.html.ini +++ b/tests/wpt/webgl/meta/conformance2/textures/image/tex-2d-rgba8-rgba-unsigned_byte.html.ini @@ -24,3 +24,44 @@ [WebGL test #12: shouldBe 0,255,0\nat (4, 24) expected: 0,255,0 was 255,0,0] expected: FAIL + [WebGL test #4: shouldBe 0,255,0\nat (4, 4) expected: 0,255,0 was 0,0,0] + expected: FAIL + + [WebGL test #5: shouldBe 255,0,0\nat (4, 24) expected: 255,0,0 was 0,0,0] + expected: FAIL + + [WebGL test #6: getError expected: NO_ERROR. Was INVALID_VALUE : after evaluating: gl.pixelStorei(gl.UNPACK_COLORSPACE_CONVERSION_WEBGL, gl.NONE);] + expected: FAIL + + [WebGL test #7: shouldBe 255,0,0\nat (4, 4) expected: 255,0,0 was 0,0,0] + expected: FAIL + + [WebGL test #8: shouldBe 0,255,0\nat (4, 24) expected: 0,255,0 was 0,0,0] + expected: FAIL + + [WebGL test #9: getError expected: NO_ERROR. Was INVALID_VALUE : after evaluating: gl.pixelStorei(gl.UNPACK_COLORSPACE_CONVERSION_WEBGL, gl.NONE);] + expected: FAIL + + [WebGL test #11: shouldBe 255,0,0\nat (4, 24) expected: 255,0,0 was 0,255,0] + expected: FAIL + + [WebGL test #12: getError expected: NO_ERROR. Was INVALID_ENUM : after evaluating: gl.pixelStorei(gl.UNPACK_COLORSPACE_CONVERSION_WEBGL, gl.NONE);] + expected: FAIL + + [WebGL test #14: shouldBe 0,255,0\nat (4, 24) expected: 0,255,0 was 255,0,0] + expected: FAIL + + [WebGL test #15: getError expected: NO_ERROR. Was INVALID_ENUM : after evaluating: gl.pixelStorei(gl.UNPACK_COLORSPACE_CONVERSION_WEBGL, gl.NONE);] + expected: FAIL + + [WebGL test #16: shouldBe 0,255,0\nat (4, 4) expected: 0,255,0 was 255,0,0] + expected: FAIL + + [WebGL test #18: getError expected: NO_ERROR. Was INVALID_ENUM : after evaluating: gl.pixelStorei(gl.UNPACK_COLORSPACE_CONVERSION_WEBGL, gl.NONE);] + expected: FAIL + + [WebGL test #19: shouldBe 255,0,0\nat (4, 4) expected: 255,0,0 was 0,255,0] + expected: FAIL + + [WebGL test #21: getError expected: NO_ERROR. Was INVALID_ENUM : after evaluating: gl.pixelStorei(gl.UNPACK_COLORSPACE_CONVERSION_WEBGL, gl.NONE);] + expected: FAIL diff --git a/tests/wpt/webgl/meta/conformance2/textures/misc/origin-clean-conformance-offscreencanvas.html.ini b/tests/wpt/webgl/meta/conformance2/textures/misc/origin-clean-conformance-offscreencanvas.html.ini index 64701eb4e27..4e4810ca509 100644 --- a/tests/wpt/webgl/meta/conformance2/textures/misc/origin-clean-conformance-offscreencanvas.html.ini +++ b/tests/wpt/webgl/meta/conformance2/textures/misc/origin-clean-conformance-offscreencanvas.html.ini @@ -3,3 +3,5 @@ [WebGL test #2: Unable to fetch WebGL rendering context for Canvas] expected: FAIL + [WebGL test #0: img was loaded] + expected: FAIL