diff --git a/tests/wpt/meta-legacy-layout/WebCryptoAPI/sign_verify/eddsa.https.any.js.ini b/tests/wpt/meta-legacy-layout/WebCryptoAPI/sign_verify/eddsa.https.any.js.ini index 878a7c3f74a..1d48180b27e 100644 --- a/tests/wpt/meta-legacy-layout/WebCryptoAPI/sign_verify/eddsa.https.any.js.ini +++ b/tests/wpt/meta-legacy-layout/WebCryptoAPI/sign_verify/eddsa.https.any.js.ini @@ -1,5 +1,242 @@ [eddsa.https.any.html] - expected: ERROR + [EdDSA Ed25519 verification] + expected: FAIL + + [EdDSA Ed25519 verification with altered signature after call] + expected: FAIL + + [EdDSA Ed25519 with altered data after call] + expected: FAIL + + [EdDSA Ed25519 using privateKey to verify] + expected: FAIL + + [EdDSA Ed25519 using publicKey to sign] + expected: FAIL + + [EdDSA Ed25519 no verify usage] + expected: FAIL + + [EdDSA Ed25519 round trip] + expected: FAIL + + [EdDSA Ed25519 signing with wrong algorithm name] + expected: FAIL + + [EdDSA Ed25519 verifying with wrong algorithm name] + expected: FAIL + + [EdDSA Ed25519 verification failure due to altered signature] + expected: FAIL + + [EdDSA Ed25519 verification failure due to shortened signature] + expected: FAIL + + [EdDSA Ed25519 verification failure due to altered data] + expected: FAIL + + [Sign and verify using generated Ed25519 keys.] + expected: FAIL + + [EdDSA Ed448 verification] + expected: FAIL + + [EdDSA Ed448 verification with altered signature after call] + expected: FAIL + + [EdDSA Ed448 with altered data after call] + expected: FAIL + + [EdDSA Ed448 using privateKey to verify] + expected: FAIL + + [EdDSA Ed448 using publicKey to sign] + expected: FAIL + + [EdDSA Ed448 no verify usage] + expected: FAIL + + [EdDSA Ed448 round trip] + expected: FAIL + + [EdDSA Ed448 signing with wrong algorithm name] + expected: FAIL + + [EdDSA Ed448 verifying with wrong algorithm name] + expected: FAIL + + [EdDSA Ed448 verification failure due to altered signature] + expected: FAIL + + [EdDSA Ed448 verification failure due to shortened signature] + expected: FAIL + + [EdDSA Ed448 verification failure due to altered data] + expected: FAIL + + [Sign and verify using generated Ed448 keys.] + expected: FAIL + + [Ed25519 Verification checks with small-order key of order - Test 0] + expected: FAIL + + [Ed25519 Verification checks with small-order key of order - Test 1] + expected: FAIL + + [Ed25519 Verification checks with small-order key of order - Test 2] + expected: FAIL + + [Ed25519 Verification checks with small-order key of order - Test 3] + expected: FAIL + + [Ed25519 Verification checks with small-order key of order - Test 4] + expected: FAIL + + [Ed25519 Verification checks with small-order key of order - Test 5] + expected: FAIL + + [Ed25519 Verification checks with small-order key of order - Test 6] + expected: FAIL + + [Ed25519 Verification checks with small-order key of order - Test 7] + expected: FAIL + + [Ed25519 Verification checks with small-order key of order - Test 8] + expected: FAIL + + [Ed25519 Verification checks with small-order key of order - Test 9] + expected: FAIL + + [Ed25519 Verification checks with small-order key of order - Test 10] + expected: FAIL + + [Ed25519 Verification checks with small-order key of order - Test 11] + expected: FAIL + + [Ed25519 Verification checks with small-order key of order - Test 12] + expected: FAIL + + [Ed25519 Verification checks with small-order key of order - Test 13] + expected: FAIL + [eddsa.https.any.worker.html] - expected: ERROR + [EdDSA Ed25519 verification] + expected: FAIL + + [EdDSA Ed25519 verification with altered signature after call] + expected: FAIL + + [EdDSA Ed25519 with altered data after call] + expected: FAIL + + [EdDSA Ed25519 using privateKey to verify] + expected: FAIL + + [EdDSA Ed25519 using publicKey to sign] + expected: FAIL + + [EdDSA Ed25519 no verify usage] + expected: FAIL + + [EdDSA Ed25519 round trip] + expected: FAIL + + [EdDSA Ed25519 signing with wrong algorithm name] + expected: FAIL + + [EdDSA Ed25519 verifying with wrong algorithm name] + expected: FAIL + + [EdDSA Ed25519 verification failure due to altered signature] + expected: FAIL + + [EdDSA Ed25519 verification failure due to shortened signature] + expected: FAIL + + [EdDSA Ed25519 verification failure due to altered data] + expected: FAIL + + [Sign and verify using generated Ed25519 keys.] + expected: FAIL + + [EdDSA Ed448 verification] + expected: FAIL + + [EdDSA Ed448 verification with altered signature after call] + expected: FAIL + + [EdDSA Ed448 with altered data after call] + expected: FAIL + + [EdDSA Ed448 using privateKey to verify] + expected: FAIL + + [EdDSA Ed448 using publicKey to sign] + expected: FAIL + + [EdDSA Ed448 no verify usage] + expected: FAIL + + [EdDSA Ed448 round trip] + expected: FAIL + + [EdDSA Ed448 signing with wrong algorithm name] + expected: FAIL + + [EdDSA Ed448 verifying with wrong algorithm name] + expected: FAIL + + [EdDSA Ed448 verification failure due to altered signature] + expected: FAIL + + [EdDSA Ed448 verification failure due to shortened signature] + expected: FAIL + + [EdDSA Ed448 verification failure due to altered data] + expected: FAIL + + [Sign and verify using generated Ed448 keys.] + expected: FAIL + + [Ed25519 Verification checks with small-order key of order - Test 0] + expected: FAIL + + [Ed25519 Verification checks with small-order key of order - Test 1] + expected: FAIL + + [Ed25519 Verification checks with small-order key of order - Test 2] + expected: FAIL + + [Ed25519 Verification checks with small-order key of order - Test 3] + expected: FAIL + + [Ed25519 Verification checks with small-order key of order - Test 4] + expected: FAIL + + [Ed25519 Verification checks with small-order key of order - Test 5] + expected: FAIL + + [Ed25519 Verification checks with small-order key of order - Test 6] + expected: FAIL + + [Ed25519 Verification checks with small-order key of order - Test 7] + expected: FAIL + + [Ed25519 Verification checks with small-order key of order - Test 8] + expected: FAIL + + [Ed25519 Verification checks with small-order key of order - Test 9] + expected: FAIL + + [Ed25519 Verification checks with small-order key of order - Test 10] + expected: FAIL + + [Ed25519 Verification checks with small-order key of order - Test 11] + expected: FAIL + + [Ed25519 Verification checks with small-order key of order - Test 12] + expected: FAIL + + [Ed25519 Verification checks with small-order key of order - Test 13] + expected: FAIL diff --git a/tests/wpt/meta-legacy-layout/css/compositing/mix-blend-mode/mix-blend-mode-animation.html.ini b/tests/wpt/meta-legacy-layout/css/compositing/mix-blend-mode/mix-blend-mode-animation.html.ini deleted file mode 100644 index 5496474410b..00000000000 --- a/tests/wpt/meta-legacy-layout/css/compositing/mix-blend-mode/mix-blend-mode-animation.html.ini +++ /dev/null @@ -1,2 +0,0 @@ -[mix-blend-mode-animation.html] - expected: FAIL diff --git a/tests/wpt/meta-legacy-layout/css/css-color/parsing/color-computed-relative-color.html.ini b/tests/wpt/meta-legacy-layout/css/css-color/parsing/color-computed-relative-color.html.ini index bf29c753411..7910b706539 100644 --- a/tests/wpt/meta-legacy-layout/css/css-color/parsing/color-computed-relative-color.html.ini +++ b/tests/wpt/meta-legacy-layout/css/css-color/parsing/color-computed-relative-color.html.ini @@ -3370,3 +3370,60 @@ [Property color value 'color(from color-mix(in xyz, color(xyz-d65 0.7 0.5 0.3), color(xyz-d65 0.7 0.5 0.3)) xyz-d65 r g b / alpha)'] expected: FAIL + + [Property color value 'rgb(from rebeccapurple calc((r / 255) * 100%) calc((g / 255) * 100%) calc((b / 255) * 100%) / calc(alpha * 100%))'] + expected: FAIL + + [Property color value 'hsl(from rebeccapurple calc((h / 360) * 360deg) calc((s / 100) * 100%) calc((l / 100) * 100%) / calc(alpha * 100%))'] + expected: FAIL + + [Property color value 'hwb(from rebeccapurple calc((h / 360) * 360deg) calc((w / 100) * 100%) calc((b / 100) * 100%) / calc(alpha * 100%))'] + expected: FAIL + + [Property color value 'lab(from lab(25 20 50) calc((l / 100) * 100%) calc((a / 125) * 100%) calc((b / 125) * 100%) / calc(alpha * 100%))'] + expected: FAIL + + [Property color value 'oklab(from oklab(0.25 0.2 0.5) calc(l * 100%) calc((a / 0.4) * 100%) calc((b / 0.4) * 100%) / calc(alpha * 100%))'] + expected: FAIL + + [Property color value 'lch(from lch(0.7 45 30) calc((l / 100) * 100%) calc((c / 150) * 100%) calc((h / 360) * 360deg) / calc(alpha * 100%))'] + expected: FAIL + + [Property color value 'oklch(from oklch(0.7 0.45 30) calc(l * 100%) calc((c / 0.4) * 100%) calc((h / 360) * 360deg) / calc(alpha * 100%))'] + expected: FAIL + + [Property color value 'color(from color(srgb 0.7 0.5 0.3) srgb calc(r * 100%) calc(g * 100%) calc(b * 100%) / calc(alpha * 100%))'] + expected: FAIL + + [Property color value 'color(from color(srgb-linear 0.7 0.5 0.3) srgb-linear calc(r * 100%) calc(g * 100%) calc(b * 100%) / calc(alpha * 100%))'] + expected: FAIL + + [Property color value 'color(from color(a98-rgb 0.7 0.5 0.3) a98-rgb calc(r * 100%) calc(g * 100%) calc(b * 100%) / calc(alpha * 100%))'] + expected: FAIL + + [Property color value 'color(from color(rec2020 0.7 0.5 0.3) rec2020 calc(r * 100%) calc(g * 100%) calc(b * 100%) / calc(alpha * 100%))'] + expected: FAIL + + [Property color value 'color(from color(prophoto-rgb 0.7 0.5 0.3) prophoto-rgb calc(r * 100%) calc(g * 100%) calc(b * 100%) / calc(alpha * 100%))'] + expected: FAIL + + [Property color value 'color(from color(display-p3 0.7 0.5 0.3) display-p3 calc(r * 100%) calc(g * 100%) calc(b * 100%) / calc(alpha * 100%))'] + expected: FAIL + + [Property color value 'color(from color(xyz 7 -20.5 100) xyz calc(x * 100%) calc(y * 100%) calc(z * 100%) / calc(alpha * 100%))'] + expected: FAIL + + [Property color value 'color(from color-mix(in xyz, color(xyz 0.7 0.5 0.3), color(xyz 0.7 0.5 0.3)) xyz x y z / alpha)'] + expected: FAIL + + [Property color value 'color(from color(xyz-d50 7 -20.5 100) xyz-d50 calc(x * 100%) calc(y * 100%) calc(z * 100%) / calc(alpha * 100%))'] + expected: FAIL + + [Property color value 'color(from color-mix(in xyz, color(xyz-d50 0.7 0.5 0.3), color(xyz-d50 0.7 0.5 0.3)) xyz-d50 x y z / alpha)'] + expected: FAIL + + [Property color value 'color(from color(xyz-d65 7 -20.5 100) xyz-d65 calc(x * 100%) calc(y * 100%) calc(z * 100%) / calc(alpha * 100%))'] + expected: FAIL + + [Property color value 'color(from color-mix(in xyz, color(xyz-d65 0.7 0.5 0.3), color(xyz-d65 0.7 0.5 0.3)) xyz-d65 x y z / alpha)'] + expected: FAIL diff --git a/tests/wpt/meta-legacy-layout/css/css-color/parsing/color-valid-relative-color.html.ini b/tests/wpt/meta-legacy-layout/css/css-color/parsing/color-valid-relative-color.html.ini index 3a3198a2980..3ae55c836b3 100644 --- a/tests/wpt/meta-legacy-layout/css/css-color/parsing/color-valid-relative-color.html.ini +++ b/tests/wpt/meta-legacy-layout/css/css-color/parsing/color-valid-relative-color.html.ini @@ -3283,3 +3283,12 @@ [e.style['color'\] = "color(from color-mix(in xyz, color(xyz-d65 0.7 0.5 0.3), color(xyz-d65 0.7 0.5 0.3)) xyz-d65 r g b / alpha)" should set the property value] expected: FAIL + + [e.style['color'\] = "color(from color-mix(in xyz, color(xyz 0.7 0.5 0.3), color(xyz 0.7 0.5 0.3)) xyz x y z / alpha)" should set the property value] + expected: FAIL + + [e.style['color'\] = "color(from color-mix(in xyz, color(xyz-d50 0.7 0.5 0.3), color(xyz-d50 0.7 0.5 0.3)) xyz-d50 x y z / alpha)" should set the property value] + expected: FAIL + + [e.style['color'\] = "color(from color-mix(in xyz, color(xyz-d65 0.7 0.5 0.3), color(xyz-d65 0.7 0.5 0.3)) xyz-d65 x y z / alpha)" should set the property value] + expected: FAIL diff --git a/tests/wpt/meta-legacy-layout/css/css-flexbox/abspos/position-absolute-013.html.ini b/tests/wpt/meta-legacy-layout/css/css-flexbox/abspos/position-absolute-013.html.ini index 2b2e0fce8eb..80111fb0236 100644 --- a/tests/wpt/meta-legacy-layout/css/css-flexbox/abspos/position-absolute-013.html.ini +++ b/tests/wpt/meta-legacy-layout/css/css-flexbox/abspos/position-absolute-013.html.ini @@ -1,5 +1,4 @@ [position-absolute-013.html] - expected: TIMEOUT [.flexbox 309] expected: FAIL diff --git a/tests/wpt/meta-legacy-layout/css/css-logical/animations/margin-block-interpolation.html.ini b/tests/wpt/meta-legacy-layout/css/css-logical/animations/margin-block-interpolation.html.ini new file mode 100644 index 00000000000..9ed9f243664 --- /dev/null +++ b/tests/wpt/meta-legacy-layout/css/css-logical/animations/margin-block-interpolation.html.ini @@ -0,0 +1,18 @@ +[margin-block-interpolation.html] + [Web Animations: property from [10px\] to [20px\] at (-0.3) should be [7px\]] + expected: FAIL + + [Web Animations: property from [10px\] to [20px\] at (0) should be [10px\]] + expected: FAIL + + [Web Animations: property from [10px\] to [20px\] at (0.3) should be [13px\]] + expected: FAIL + + [Web Animations: property from [10px\] to [20px\] at (0.6) should be [16px\]] + expected: FAIL + + [Web Animations: property from [10px\] to [20px\] at (1) should be [20px\]] + expected: FAIL + + [Web Animations: property from [10px\] to [20px\] at (1.5) should be [25px\]] + expected: FAIL diff --git a/tests/wpt/meta-legacy-layout/css/css-logical/animations/margin-inline-interpolation.html.ini b/tests/wpt/meta-legacy-layout/css/css-logical/animations/margin-inline-interpolation.html.ini new file mode 100644 index 00000000000..e7ff928b03a --- /dev/null +++ b/tests/wpt/meta-legacy-layout/css/css-logical/animations/margin-inline-interpolation.html.ini @@ -0,0 +1,18 @@ +[margin-inline-interpolation.html] + [Web Animations: property from [10px\] to [20px\] at (-0.3) should be [7px\]] + expected: FAIL + + [Web Animations: property from [10px\] to [20px\] at (0) should be [10px\]] + expected: FAIL + + [Web Animations: property from [10px\] to [20px\] at (0.3) should be [13px\]] + expected: FAIL + + [Web Animations: property from [10px\] to [20px\] at (0.6) should be [16px\]] + expected: FAIL + + [Web Animations: property from [10px\] to [20px\] at (1) should be [20px\]] + expected: FAIL + + [Web Animations: property from [10px\] to [20px\] at (1.5) should be [25px\]] + expected: FAIL diff --git a/tests/wpt/meta-legacy-layout/css/css-position/sticky/position-sticky-padding-001.html.ini b/tests/wpt/meta-legacy-layout/css/css-position/sticky/position-sticky-padding-001.html.ini new file mode 100644 index 00000000000..5800d47e755 --- /dev/null +++ b/tests/wpt/meta-legacy-layout/css/css-position/sticky/position-sticky-padding-001.html.ini @@ -0,0 +1,2 @@ +[position-sticky-padding-001.html] + expected: FAIL diff --git a/tests/wpt/meta-legacy-layout/css/css-position/sticky/position-sticky-padding-002.html.ini b/tests/wpt/meta-legacy-layout/css/css-position/sticky/position-sticky-padding-002.html.ini new file mode 100644 index 00000000000..57078a93de2 --- /dev/null +++ b/tests/wpt/meta-legacy-layout/css/css-position/sticky/position-sticky-padding-002.html.ini @@ -0,0 +1,2 @@ +[position-sticky-padding-002.html] + expected: FAIL diff --git a/tests/wpt/meta-legacy-layout/css/css-sizing/dynamic-available-size-iframe.html.ini b/tests/wpt/meta-legacy-layout/css/css-sizing/dynamic-available-size-iframe.html.ini new file mode 100644 index 00000000000..35256741d38 --- /dev/null +++ b/tests/wpt/meta-legacy-layout/css/css-sizing/dynamic-available-size-iframe.html.ini @@ -0,0 +1,2 @@ +[dynamic-available-size-iframe.html] + expected: FAIL diff --git a/tests/wpt/meta-legacy-layout/css/css-ui/parsing/canonical-order-outline-sub-properties-001.html.ini b/tests/wpt/meta-legacy-layout/css/css-ui/parsing/canonical-order-outline-sub-properties-001.html.ini new file mode 100644 index 00000000000..4a1aebd46cb --- /dev/null +++ b/tests/wpt/meta-legacy-layout/css/css-ui/parsing/canonical-order-outline-sub-properties-001.html.ini @@ -0,0 +1,78 @@ +[canonical-order-outline-sub-properties-001.html] + [testing outline: blue] + expected: FAIL + + [testing outline: invert] + expected: FAIL + + [testing outline: 4px] + expected: FAIL + + [testing outline: solid] + expected: FAIL + + [testing outline: solid 5px] + expected: FAIL + + [testing outline: 6px dashed] + expected: FAIL + + [testing outline: dotted blue] + expected: FAIL + + [testing outline: dotted invert] + expected: FAIL + + [testing outline: blue solid] + expected: FAIL + + [testing outline: invert solid] + expected: FAIL + + [testing outline: black 4px] + expected: FAIL + + [testing outline: invert 4px] + expected: FAIL + + [testing outline: 5px blue] + expected: FAIL + + [testing outline: 5px invert] + expected: FAIL + + [testing outline: black solid 6px] + expected: FAIL + + [testing outline: invert solid 6px] + expected: FAIL + + [testing outline: blue 4px dotted] + expected: FAIL + + [testing outline: invert 4px dotted] + expected: FAIL + + [testing outline: dashed 5px black] + expected: FAIL + + [testing outline: dashed 5px invert] + expected: FAIL + + [testing outline: solid blue 6px] + expected: FAIL + + [testing outline: solid invert 6px] + expected: FAIL + + [testing outline: 4px dotted black] + expected: FAIL + + [testing outline: 4px dotted invert] + expected: FAIL + + [testing outline: 5px blue dashed] + expected: FAIL + + [testing outline: 5px invert dashed] + expected: FAIL diff --git a/tests/wpt/meta-legacy-layout/css/css-values/calc-size/animation/calc-size-height-interpolation.tentative.html.ini b/tests/wpt/meta-legacy-layout/css/css-values/calc-size/animation/calc-size-height-interpolation.tentative.html.ini index dad7beac230..c814fd636a2 100644 --- a/tests/wpt/meta-legacy-layout/css/css-values/calc-size/animation/calc-size-height-interpolation.tentative.html.ini +++ b/tests/wpt/meta-legacy-layout/css/css-values/calc-size/animation/calc-size-height-interpolation.tentative.html.ini @@ -334,3 +334,87 @@ [Web Animations: property from [0\] to [calc-size(max-content, size)\] at (1.25) should be [125px\]] expected: FAIL + + [CSS Transitions: property from [calc-size(auto, size)\] to [calc-size(auto, size * 2)\] at (-0.25) should be [75px\]] + expected: FAIL + + [CSS Transitions: property from [calc-size(auto, size)\] to [calc-size(auto, size * 2)\] at (0) should be [100px\]] + expected: FAIL + + [CSS Transitions: property from [calc-size(auto, size)\] to [calc-size(auto, size * 2)\] at (0.25) should be [125px\]] + expected: FAIL + + [CSS Transitions: property from [calc-size(auto, size)\] to [calc-size(auto, size * 2)\] at (0.5) should be [150px\]] + expected: FAIL + + [CSS Transitions: property from [calc-size(auto, size)\] to [calc-size(auto, size * 2)\] at (0.75) should be [175px\]] + expected: FAIL + + [CSS Transitions: property from [calc-size(auto, size)\] to [calc-size(auto, size * 2)\] at (1) should be [200px\]] + expected: FAIL + + [CSS Transitions: property from [calc-size(auto, size)\] to [calc-size(auto, size * 2)\] at (1.25) should be [225px\]] + expected: FAIL + + [CSS Transitions with transition: all: property from [calc-size(auto, size)\] to [calc-size(auto, size * 2)\] at (-0.25) should be [75px\]] + expected: FAIL + + [CSS Transitions with transition: all: property from [calc-size(auto, size)\] to [calc-size(auto, size * 2)\] at (0) should be [100px\]] + expected: FAIL + + [CSS Transitions with transition: all: property from [calc-size(auto, size)\] to [calc-size(auto, size * 2)\] at (0.25) should be [125px\]] + expected: FAIL + + [CSS Transitions with transition: all: property from [calc-size(auto, size)\] to [calc-size(auto, size * 2)\] at (0.5) should be [150px\]] + expected: FAIL + + [CSS Transitions with transition: all: property from [calc-size(auto, size)\] to [calc-size(auto, size * 2)\] at (0.75) should be [175px\]] + expected: FAIL + + [CSS Transitions with transition: all: property from [calc-size(auto, size)\] to [calc-size(auto, size * 2)\] at (1) should be [200px\]] + expected: FAIL + + [CSS Transitions with transition: all: property from [calc-size(auto, size)\] to [calc-size(auto, size * 2)\] at (1.25) should be [225px\]] + expected: FAIL + + [CSS Animations: property from [calc-size(auto, size)\] to [calc-size(auto, size * 2)\] at (-0.25) should be [75px\]] + expected: FAIL + + [CSS Animations: property from [calc-size(auto, size)\] to [calc-size(auto, size * 2)\] at (0) should be [100px\]] + expected: FAIL + + [CSS Animations: property from [calc-size(auto, size)\] to [calc-size(auto, size * 2)\] at (0.25) should be [125px\]] + expected: FAIL + + [CSS Animations: property from [calc-size(auto, size)\] to [calc-size(auto, size * 2)\] at (0.5) should be [150px\]] + expected: FAIL + + [CSS Animations: property from [calc-size(auto, size)\] to [calc-size(auto, size * 2)\] at (0.75) should be [175px\]] + expected: FAIL + + [CSS Animations: property from [calc-size(auto, size)\] to [calc-size(auto, size * 2)\] at (1) should be [200px\]] + expected: FAIL + + [CSS Animations: property from [calc-size(auto, size)\] to [calc-size(auto, size * 2)\] at (1.25) should be [225px\]] + expected: FAIL + + [Web Animations: property from [calc-size(auto, size)\] to [calc-size(auto, size * 2)\] at (-0.25) should be [75px\]] + expected: FAIL + + [Web Animations: property from [calc-size(auto, size)\] to [calc-size(auto, size * 2)\] at (0) should be [100px\]] + expected: FAIL + + [Web Animations: property from [calc-size(auto, size)\] to [calc-size(auto, size * 2)\] at (0.25) should be [125px\]] + expected: FAIL + + [Web Animations: property from [calc-size(auto, size)\] to [calc-size(auto, size * 2)\] at (0.5) should be [150px\]] + expected: FAIL + + [Web Animations: property from [calc-size(auto, size)\] to [calc-size(auto, size * 2)\] at (0.75) should be [175px\]] + expected: FAIL + + [Web Animations: property from [calc-size(auto, size)\] to [calc-size(auto, size * 2)\] at (1) should be [200px\]] + expected: FAIL + + [Web Animations: property from [calc-size(auto, size)\] to [calc-size(auto, size * 2)\] at (1.25) should be [225px\]] + expected: FAIL diff --git a/tests/wpt/meta-legacy-layout/css/css-values/calc-size/animation/calc-size-width-interpolation.tentative.html.ini b/tests/wpt/meta-legacy-layout/css/css-values/calc-size/animation/calc-size-width-interpolation.tentative.html.ini index 0a3d25827ee..7903a1dbc54 100644 --- a/tests/wpt/meta-legacy-layout/css/css-values/calc-size/animation/calc-size-width-interpolation.tentative.html.ini +++ b/tests/wpt/meta-legacy-layout/css/css-values/calc-size/animation/calc-size-width-interpolation.tentative.html.ini @@ -166,3 +166,147 @@ [Web Animations: property from [calc-size(min-content, 0px)\] to [calc-size(min-content, size)\] at (1.25) should be [125px\]] expected: FAIL + + [CSS Transitions: property from [calc-size(auto, size)\] to [calc-size(auto, size * 2)\] at (-0.25) should be [150px\]] + expected: FAIL + + [CSS Transitions: property from [calc-size(auto, size)\] to [calc-size(auto, size * 2)\] at (0) should be [200px\]] + expected: FAIL + + [CSS Transitions: property from [calc-size(auto, size)\] to [calc-size(auto, size * 2)\] at (0.25) should be [250px\]] + expected: FAIL + + [CSS Transitions: property from [calc-size(auto, size)\] to [calc-size(auto, size * 2)\] at (0.5) should be [300px\]] + expected: FAIL + + [CSS Transitions: property from [calc-size(auto, size)\] to [calc-size(auto, size * 2)\] at (0.75) should be [350px\]] + expected: FAIL + + [CSS Transitions: property from [calc-size(auto, size)\] to [calc-size(auto, size * 2)\] at (1) should be [400px\]] + expected: FAIL + + [CSS Transitions: property from [calc-size(auto, size)\] to [calc-size(auto, size * 2)\] at (1.25) should be [450px\]] + expected: FAIL + + [CSS Transitions with transition: all: property from [calc-size(auto, size)\] to [calc-size(auto, size * 2)\] at (-0.25) should be [150px\]] + expected: FAIL + + [CSS Transitions with transition: all: property from [calc-size(auto, size)\] to [calc-size(auto, size * 2)\] at (0) should be [200px\]] + expected: FAIL + + [CSS Transitions with transition: all: property from [calc-size(auto, size)\] to [calc-size(auto, size * 2)\] at (0.25) should be [250px\]] + expected: FAIL + + [CSS Transitions with transition: all: property from [calc-size(auto, size)\] to [calc-size(auto, size * 2)\] at (0.5) should be [300px\]] + expected: FAIL + + [CSS Transitions with transition: all: property from [calc-size(auto, size)\] to [calc-size(auto, size * 2)\] at (0.75) should be [350px\]] + expected: FAIL + + [CSS Transitions with transition: all: property from [calc-size(auto, size)\] to [calc-size(auto, size * 2)\] at (1) should be [400px\]] + expected: FAIL + + [CSS Transitions with transition: all: property from [calc-size(auto, size)\] to [calc-size(auto, size * 2)\] at (1.25) should be [450px\]] + expected: FAIL + + [CSS Animations: property from [calc-size(auto, size)\] to [calc-size(auto, size * 2)\] at (-0.25) should be [150px\]] + expected: FAIL + + [CSS Animations: property from [calc-size(auto, size)\] to [calc-size(auto, size * 2)\] at (0) should be [200px\]] + expected: FAIL + + [CSS Animations: property from [calc-size(auto, size)\] to [calc-size(auto, size * 2)\] at (0.25) should be [250px\]] + expected: FAIL + + [CSS Animations: property from [calc-size(auto, size)\] to [calc-size(auto, size * 2)\] at (0.5) should be [300px\]] + expected: FAIL + + [CSS Animations: property from [calc-size(auto, size)\] to [calc-size(auto, size * 2)\] at (0.75) should be [350px\]] + expected: FAIL + + [CSS Animations: property from [calc-size(auto, size)\] to [calc-size(auto, size * 2)\] at (1) should be [400px\]] + expected: FAIL + + [CSS Animations: property from [calc-size(auto, size)\] to [calc-size(auto, size * 2)\] at (1.25) should be [450px\]] + expected: FAIL + + [Web Animations: property from [calc-size(auto, size)\] to [calc-size(auto, size * 2)\] at (-0.25) should be [150px\]] + expected: FAIL + + [Web Animations: property from [calc-size(auto, size)\] to [calc-size(auto, size * 2)\] at (0) should be [200px\]] + expected: FAIL + + [Web Animations: property from [calc-size(auto, size)\] to [calc-size(auto, size * 2)\] at (0.25) should be [250px\]] + expected: FAIL + + [Web Animations: property from [calc-size(auto, size)\] to [calc-size(auto, size * 2)\] at (0.5) should be [300px\]] + expected: FAIL + + [Web Animations: property from [calc-size(auto, size)\] to [calc-size(auto, size * 2)\] at (0.75) should be [350px\]] + expected: FAIL + + [Web Animations: property from [calc-size(auto, size)\] to [calc-size(auto, size * 2)\] at (1) should be [400px\]] + expected: FAIL + + [Web Animations: property from [calc-size(auto, size)\] to [calc-size(auto, size * 2)\] at (1.25) should be [450px\]] + expected: FAIL + + [CSS Transitions: property from neutral to [calc-size(auto, size * 2)\] at (0.25) should be [250px\]] + expected: FAIL + + [CSS Transitions: property from neutral to [calc-size(auto, size * 2)\] at (0.5) should be [300px\]] + expected: FAIL + + [CSS Transitions: property from neutral to [calc-size(auto, size * 2)\] at (0.75) should be [350px\]] + expected: FAIL + + [CSS Transitions: property from neutral to [calc-size(auto, size * 2)\] at (1) should be [400px\]] + expected: FAIL + + [CSS Transitions: property from neutral to [calc-size(auto, size * 2)\] at (1.25) should be [450px\]] + expected: FAIL + + [CSS Transitions with transition: all: property from neutral to [calc-size(auto, size * 2)\] at (0.25) should be [250px\]] + expected: FAIL + + [CSS Transitions with transition: all: property from neutral to [calc-size(auto, size * 2)\] at (0.5) should be [300px\]] + expected: FAIL + + [CSS Transitions with transition: all: property from neutral to [calc-size(auto, size * 2)\] at (0.75) should be [350px\]] + expected: FAIL + + [CSS Transitions with transition: all: property from neutral to [calc-size(auto, size * 2)\] at (1) should be [400px\]] + expected: FAIL + + [CSS Transitions with transition: all: property from neutral to [calc-size(auto, size * 2)\] at (1.25) should be [450px\]] + expected: FAIL + + [CSS Animations: property from neutral to [calc-size(auto, size * 2)\] at (0.25) should be [250px\]] + expected: FAIL + + [CSS Animations: property from neutral to [calc-size(auto, size * 2)\] at (0.5) should be [300px\]] + expected: FAIL + + [CSS Animations: property from neutral to [calc-size(auto, size * 2)\] at (0.75) should be [350px\]] + expected: FAIL + + [CSS Animations: property from neutral to [calc-size(auto, size * 2)\] at (1) should be [400px\]] + expected: FAIL + + [CSS Animations: property from neutral to [calc-size(auto, size * 2)\] at (1.25) should be [450px\]] + expected: FAIL + + [Web Animations: property from neutral to [calc-size(auto, size * 2)\] at (0.25) should be [250px\]] + expected: FAIL + + [Web Animations: property from neutral to [calc-size(auto, size * 2)\] at (0.5) should be [300px\]] + expected: FAIL + + [Web Animations: property from neutral to [calc-size(auto, size * 2)\] at (0.75) should be [350px\]] + expected: FAIL + + [Web Animations: property from neutral to [calc-size(auto, size * 2)\] at (1) should be [400px\]] + expected: FAIL + + [Web Animations: property from neutral to [calc-size(auto, size * 2)\] at (1.25) should be [450px\]] + expected: FAIL diff --git a/tests/wpt/meta-legacy-layout/css/css-values/calc-size/calc-size-height.tentative.html.ini b/tests/wpt/meta-legacy-layout/css/css-values/calc-size/calc-size-height.tentative.html.ini index 9a753b3a13b..1d0e72e7a8a 100644 --- a/tests/wpt/meta-legacy-layout/css/css-values/calc-size/calc-size-height.tentative.html.ini +++ b/tests/wpt/meta-legacy-layout/css/css-values/calc-size/calc-size-height.tentative.html.ini @@ -88,3 +88,9 @@ [resolved height for height in definite height container: calc-size(any, 31% + 12px)] expected: FAIL + + [resolved height for height in auto height container: calc-size(auto, size * 1.5)] + expected: FAIL + + [resolved height for height in definite height container: calc-size(auto, size * 1.5)] + expected: FAIL diff --git a/tests/wpt/meta-legacy-layout/css/css-values/calc-size/calc-size-parsing.tentative.html.ini b/tests/wpt/meta-legacy-layout/css/css-values/calc-size/calc-size-parsing.tentative.html.ini index 24d7ae6ee1d..718f44321fa 100644 --- a/tests/wpt/meta-legacy-layout/css/css-values/calc-size/calc-size-parsing.tentative.html.ini +++ b/tests/wpt/meta-legacy-layout/css/css-values/calc-size/calc-size-parsing.tentative.html.ini @@ -40,3 +40,15 @@ [e.style['width'\] = "calc-size(calc-size(min-content, size), size)" should set the property value] expected: FAIL + + [e.style['width'\] = "calc-size(auto, size)" should set the property value] + expected: FAIL + + [e.style['min-width'\] = "calc-size(auto, size)" should set the property value] + expected: FAIL + + [e.style['height'\] = "calc-size(auto, size)" should set the property value] + expected: FAIL + + [e.style['min-height'\] = "calc-size(auto, size)" should set the property value] + expected: FAIL diff --git a/tests/wpt/meta-legacy-layout/css/css-values/round-function.html.ini b/tests/wpt/meta-legacy-layout/css/css-values/round-function.html.ini index ec981e25fe1..7bd83004aa4 100644 --- a/tests/wpt/meta-legacy-layout/css/css-values/round-function.html.ini +++ b/tests/wpt/meta-legacy-layout/css/css-values/round-function.html.ini @@ -838,3 +838,27 @@ [calc(0 - round(to-zero, -18, 10)) should be used-value-equivalent to 10] expected: FAIL + + [round(1.5) should be used-value-equivalent to 2] + expected: FAIL + + [round(up, 1.5) should be used-value-equivalent to 2] + expected: FAIL + + [round(down, 1.5) should be used-value-equivalent to 1] + expected: FAIL + + [round(to-zero, 1.5) should be used-value-equivalent to 1] + expected: FAIL + + [round(-1.5) should be used-value-equivalent to -1] + expected: FAIL + + [round(up, -1.5) should be used-value-equivalent to -1] + expected: FAIL + + [round(down, -1.5) should be used-value-equivalent to -2] + expected: FAIL + + [round(to-zero, -1.5) should be used-value-equivalent to -1] + expected: FAIL diff --git a/tests/wpt/meta-legacy-layout/css/css-values/viewport-units-scrollbars-auto-vhw-001.html.ini b/tests/wpt/meta-legacy-layout/css/css-values/viewport-units-scrollbars-auto-vhw-001.html.ini new file mode 100644 index 00000000000..b0b04c01253 --- /dev/null +++ b/tests/wpt/meta-legacy-layout/css/css-values/viewport-units-scrollbars-auto-vhw-001.html.ini @@ -0,0 +1,2 @@ +[viewport-units-scrollbars-auto-vhw-001.html] + expected: FAIL diff --git a/tests/wpt/meta-legacy-layout/css/cssom-view/elementsFromPoint-iframes.html.ini b/tests/wpt/meta-legacy-layout/css/cssom-view/elementsFromPoint-iframes.html.ini index 314c2710dc9..78f6aab8d85 100644 --- a/tests/wpt/meta-legacy-layout/css/cssom-view/elementsFromPoint-iframes.html.ini +++ b/tests/wpt/meta-legacy-layout/css/cssom-view/elementsFromPoint-iframes.html.ini @@ -1,3 +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/meta-legacy-layout/css/cssom/CSSStyleSheet-constructable-insertRule-base-uri.html.ini b/tests/wpt/meta-legacy-layout/css/cssom/CSSStyleSheet-constructable-insertRule-base-uri.html.ini new file mode 100644 index 00000000000..54be6839527 --- /dev/null +++ b/tests/wpt/meta-legacy-layout/css/cssom/CSSStyleSheet-constructable-insertRule-base-uri.html.ini @@ -0,0 +1,2 @@ +[CSSStyleSheet-constructable-insertRule-base-uri.html] + expected: FAIL diff --git a/tests/wpt/meta-legacy-layout/css/cssom/getComputedStyle-pseudo-with-argument.html.ini b/tests/wpt/meta-legacy-layout/css/cssom/getComputedStyle-pseudo-with-argument.html.ini index 4a0d0c68841..a1903ed413d 100644 --- a/tests/wpt/meta-legacy-layout/css/cssom/getComputedStyle-pseudo-with-argument.html.ini +++ b/tests/wpt/meta-legacy-layout/css/cssom/getComputedStyle-pseudo-with-argument.html.ini @@ -40,3 +40,27 @@ [This pseudo-element should not parse: ::view-transition-group(*)] expected: FAIL + + [This pseudo-element should not parse: :highlight(name)] + expected: FAIL + + [This pseudo-element should not parse: ::view-transition-image-pair(*)] + expected: FAIL + + [This pseudo-element should not parse: ::view-transition-old(*)] + expected: FAIL + + [This pseudo-element should not parse: ::view-transition-new(*)] + expected: FAIL + + [This pseudo-element should not parse: :view-transition-group(name)] + expected: FAIL + + [This pseudo-element should not parse: :view-transition-image-pair(name)] + expected: FAIL + + [This pseudo-element should not parse: :view-transition-old(name)] + expected: FAIL + + [This pseudo-element should not parse: :view-transition-new(name)] + expected: FAIL diff --git a/tests/wpt/meta-legacy-layout/dom/nodes/insertion-removing-steps/script-does-not-run-on-child-removal.window.js.ini b/tests/wpt/meta-legacy-layout/dom/nodes/insertion-removing-steps/script-does-not-run-on-child-removal.window.js.ini new file mode 100644 index 00000000000..eb3e0818641 --- /dev/null +++ b/tests/wpt/meta-legacy-layout/dom/nodes/insertion-removing-steps/script-does-not-run-on-child-removal.window.js.ini @@ -0,0 +1,3 @@ +[script-does-not-run-on-child-removal.window.html] + [Script execution is never triggered on child removals] + expected: FAIL diff --git a/tests/wpt/meta-legacy-layout/dom/observable/tentative/observable-from.any.js.ini b/tests/wpt/meta-legacy-layout/dom/observable/tentative/observable-from.any.js.ini new file mode 100644 index 00000000000..511526b2d27 --- /dev/null +++ b/tests/wpt/meta-legacy-layout/dom/observable/tentative/observable-from.any.js.ini @@ -0,0 +1,80 @@ +[observable-from.any.html] + [from(): Observable.from() is a function] + expected: FAIL + + [from(): Failed conversions] + expected: FAIL + + [from(): Given an observable, it returns that exact observable] + expected: FAIL + + [from(): Given an array] + expected: FAIL + + [from(): Iterable converts to Observable] + expected: FAIL + + [from(): [Symbol.iterator\] side-effects (one observable)] + expected: FAIL + + [from(): [Symbol.iterator\] side-effects (many observables)] + expected: FAIL + + [from(): [Symbol.iterator\] next() throws error] + expected: FAIL + + [from(): Converts Promise to Observable] + expected: FAIL + + [from(): Converts rejected Promise to Observable. No `unhandledrejection` event when error is handled by subscription] + expected: FAIL + + [from(): Rejections not handled by subscription are reported to the global, and still not sent as an unhandledrejection event] + expected: FAIL + + [from(): Observable that implements @@iterator protocol gets converted as an Observable, not iterator] + expected: FAIL + + [from(): Promise that implements @@iterator protocol gets converted as an iterable, not Promise] + expected: FAIL + + +[observable-from.any.worker.html] + [from(): Observable.from() is a function] + expected: FAIL + + [from(): Failed conversions] + expected: FAIL + + [from(): Given an observable, it returns that exact observable] + expected: FAIL + + [from(): Given an array] + expected: FAIL + + [from(): Iterable converts to Observable] + expected: FAIL + + [from(): [Symbol.iterator\] side-effects (one observable)] + expected: FAIL + + [from(): [Symbol.iterator\] side-effects (many observables)] + expected: FAIL + + [from(): [Symbol.iterator\] next() throws error] + expected: FAIL + + [from(): Converts Promise to Observable] + expected: FAIL + + [from(): Converts rejected Promise to Observable. No `unhandledrejection` event when error is handled by subscription] + expected: FAIL + + [from(): Rejections not handled by subscription are reported to the global, and still not sent as an unhandledrejection event] + expected: FAIL + + [from(): Observable that implements @@iterator protocol gets converted as an Observable, not iterator] + expected: FAIL + + [from(): Promise that implements @@iterator protocol gets converted as an iterable, not Promise] + expected: FAIL diff --git a/tests/wpt/meta-legacy-layout/dom/ranges/Range-in-shadow-after-the-shadow-removed.html.ini b/tests/wpt/meta-legacy-layout/dom/ranges/Range-in-shadow-after-the-shadow-removed.html.ini new file mode 100644 index 00000000000..15ff6f9f14f --- /dev/null +++ b/tests/wpt/meta-legacy-layout/dom/ranges/Range-in-shadow-after-the-shadow-removed.html.ini @@ -0,0 +1,14 @@ +[Range-in-shadow-after-the-shadow-removed.html?mode=open] + [Range in shadow should stay in the shadow after the host is removed] + expected: FAIL + + [Range in shadow should stay in the shadow after the host parent is removed] + expected: FAIL + + +[Range-in-shadow-after-the-shadow-removed.html?mode=closed] + [Range in shadow should stay in the shadow after the host is removed] + expected: FAIL + + [Range in shadow should stay in the shadow after the host parent is removed] + expected: FAIL diff --git a/tests/wpt/meta-legacy-layout/fetch/metadata/generated/css-images.sub.tentative.html.ini b/tests/wpt/meta-legacy-layout/fetch/metadata/generated/css-images.sub.tentative.html.ini index f9de5391ad6..36a410bfecb 100644 --- a/tests/wpt/meta-legacy-layout/fetch/metadata/generated/css-images.sub.tentative.html.ini +++ b/tests/wpt/meta-legacy-layout/fetch/metadata/generated/css-images.sub.tentative.html.ini @@ -146,3 +146,6 @@ [list-style-image sec-fetch-site - HTTPS downgrade-upgrade] expected: FAIL + + [border-image sec-fetch-site - HTTPS downgrade (header not sent)] + expected: FAIL diff --git a/tests/wpt/meta-legacy-layout/html/browsers/browsing-the-web/history-traversal/pageswap/pageswap-push-with-cross-origin-redirect.sub.html.ini b/tests/wpt/meta-legacy-layout/html/browsers/browsing-the-web/history-traversal/pageswap/pageswap-push-with-cross-origin-redirect.sub.html.ini new file mode 100644 index 00000000000..c1275567154 --- /dev/null +++ b/tests/wpt/meta-legacy-layout/html/browsers/browsing-the-web/history-traversal/pageswap/pageswap-push-with-cross-origin-redirect.sub.html.ini @@ -0,0 +1,2 @@ +[pageswap-push-with-cross-origin-redirect.sub.html] + expected: ERROR diff --git a/tests/wpt/meta-legacy-layout/html/browsers/browsing-the-web/history-traversal/pageswap/pageswap-replace-with-cross-origin-redirect.sub.html.ini b/tests/wpt/meta-legacy-layout/html/browsers/browsing-the-web/history-traversal/pageswap/pageswap-replace-with-cross-origin-redirect.sub.html.ini new file mode 100644 index 00000000000..4843ecd671f --- /dev/null +++ b/tests/wpt/meta-legacy-layout/html/browsers/browsing-the-web/history-traversal/pageswap/pageswap-replace-with-cross-origin-redirect.sub.html.ini @@ -0,0 +1,2 @@ +[pageswap-replace-with-cross-origin-redirect.sub.html] + expected: ERROR diff --git a/tests/wpt/meta-legacy-layout/html/browsers/browsing-the-web/history-traversal/pageswap/pageswap-traverse-navigation-cross-origin-redirect-no-bfcache.https.sub.html.ini b/tests/wpt/meta-legacy-layout/html/browsers/browsing-the-web/history-traversal/pageswap/pageswap-traverse-navigation-cross-origin-redirect-no-bfcache.https.sub.html.ini new file mode 100644 index 00000000000..0880906d129 --- /dev/null +++ b/tests/wpt/meta-legacy-layout/html/browsers/browsing-the-web/history-traversal/pageswap/pageswap-traverse-navigation-cross-origin-redirect-no-bfcache.https.sub.html.ini @@ -0,0 +1,2 @@ +[pageswap-traverse-navigation-cross-origin-redirect-no-bfcache.https.sub.html] + expected: ERROR diff --git a/tests/wpt/meta-legacy-layout/html/browsers/browsing-the-web/navigating-across-documents/navigation-unload-cross-origin.sub.window.js.ini b/tests/wpt/meta-legacy-layout/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/meta-legacy-layout/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/meta-legacy-layout/html/canvas/element/manual/drawing-text-to-the-canvas/canvas.2d.disconnected-font-size-math.html.ini b/tests/wpt/meta-legacy-layout/html/canvas/element/manual/drawing-text-to-the-canvas/canvas.2d.disconnected-font-size-math.html.ini new file mode 100644 index 00000000000..addd810a23d --- /dev/null +++ b/tests/wpt/meta-legacy-layout/html/canvas/element/manual/drawing-text-to-the-canvas/canvas.2d.disconnected-font-size-math.html.ini @@ -0,0 +1,2 @@ +[canvas.2d.disconnected-font-size-math.html] + expected: CRASH diff --git a/tests/wpt/meta-legacy-layout/html/canvas/element/webgpu-access/2d.webgpuaccess.getTextureFormat.rgba16f.tentative.https.html.ini b/tests/wpt/meta-legacy-layout/html/canvas/element/webgpu-access/2d.webgpuaccess.getTextureFormat.rgba16f.tentative.https.html.ini deleted file mode 100644 index 5ef89398095..00000000000 --- a/tests/wpt/meta-legacy-layout/html/canvas/element/webgpu-access/2d.webgpuaccess.getTextureFormat.rgba16f.tentative.https.html.ini +++ /dev/null @@ -1,3 +0,0 @@ -[2d.webgpuaccess.getTextureFormat.rgba16f.tentative.https.html] - [getTextureFormat() returns RGBA16F for a float16 context] - expected: FAIL diff --git a/tests/wpt/meta-legacy-layout/html/canvas/element/webgpu-access/2d.webgpuaccess.getTextureFormat.rgba8.tentative.https.html.ini b/tests/wpt/meta-legacy-layout/html/canvas/element/webgpu-access/2d.webgpuaccess.getTextureFormat.rgba8.tentative.https.html.ini deleted file mode 100644 index d0dd1552396..00000000000 --- a/tests/wpt/meta-legacy-layout/html/canvas/element/webgpu-access/2d.webgpuaccess.getTextureFormat.rgba8.tentative.https.html.ini +++ /dev/null @@ -1,3 +0,0 @@ -[2d.webgpuaccess.getTextureFormat.rgba8.tentative.https.html] - [getTextureFormat() returns RGBA8 or BGRA8 for a typical context] - expected: FAIL diff --git a/tests/wpt/meta-legacy-layout/html/canvas/offscreen/manual/the-offscreen-canvas/offscreencanvas-worker-font-load-crash.html.ini b/tests/wpt/meta-legacy-layout/html/canvas/offscreen/manual/the-offscreen-canvas/offscreencanvas-worker-font-load-crash.html.ini new file mode 100644 index 00000000000..5c8a8ac3b42 --- /dev/null +++ b/tests/wpt/meta-legacy-layout/html/canvas/offscreen/manual/the-offscreen-canvas/offscreencanvas-worker-font-load-crash.html.ini @@ -0,0 +1,2 @@ +[offscreencanvas-worker-font-load-crash.html] + expected: TIMEOUT diff --git a/tests/wpt/meta-legacy-layout/html/canvas/offscreen/webgpu-access/2d.webgpuaccess.getTextureFormat.rgba16f.tentative.https.html.ini b/tests/wpt/meta-legacy-layout/html/canvas/offscreen/webgpu-access/2d.webgpuaccess.getTextureFormat.rgba16f.tentative.https.html.ini deleted file mode 100644 index 5ef89398095..00000000000 --- a/tests/wpt/meta-legacy-layout/html/canvas/offscreen/webgpu-access/2d.webgpuaccess.getTextureFormat.rgba16f.tentative.https.html.ini +++ /dev/null @@ -1,3 +0,0 @@ -[2d.webgpuaccess.getTextureFormat.rgba16f.tentative.https.html] - [getTextureFormat() returns RGBA16F for a float16 context] - expected: FAIL diff --git a/tests/wpt/meta-legacy-layout/html/canvas/offscreen/webgpu-access/2d.webgpuaccess.getTextureFormat.rgba16f.tentative.https.worker.js.ini b/tests/wpt/meta-legacy-layout/html/canvas/offscreen/webgpu-access/2d.webgpuaccess.getTextureFormat.rgba16f.tentative.https.worker.js.ini deleted file mode 100644 index 6250c94a0e1..00000000000 --- a/tests/wpt/meta-legacy-layout/html/canvas/offscreen/webgpu-access/2d.webgpuaccess.getTextureFormat.rgba16f.tentative.https.worker.js.ini +++ /dev/null @@ -1,3 +0,0 @@ -[2d.webgpuaccess.getTextureFormat.rgba16f.tentative.https.worker.html] - [getTextureFormat() returns RGBA16F for a float16 context] - expected: FAIL diff --git a/tests/wpt/meta-legacy-layout/html/canvas/offscreen/webgpu-access/2d.webgpuaccess.getTextureFormat.rgba8.tentative.https.html.ini b/tests/wpt/meta-legacy-layout/html/canvas/offscreen/webgpu-access/2d.webgpuaccess.getTextureFormat.rgba8.tentative.https.html.ini deleted file mode 100644 index d0dd1552396..00000000000 --- a/tests/wpt/meta-legacy-layout/html/canvas/offscreen/webgpu-access/2d.webgpuaccess.getTextureFormat.rgba8.tentative.https.html.ini +++ /dev/null @@ -1,3 +0,0 @@ -[2d.webgpuaccess.getTextureFormat.rgba8.tentative.https.html] - [getTextureFormat() returns RGBA8 or BGRA8 for a typical context] - expected: FAIL diff --git a/tests/wpt/meta-legacy-layout/html/canvas/offscreen/webgpu-access/2d.webgpuaccess.getTextureFormat.rgba8.tentative.https.worker.js.ini b/tests/wpt/meta-legacy-layout/html/canvas/offscreen/webgpu-access/2d.webgpuaccess.getTextureFormat.rgba8.tentative.https.worker.js.ini deleted file mode 100644 index e137417e456..00000000000 --- a/tests/wpt/meta-legacy-layout/html/canvas/offscreen/webgpu-access/2d.webgpuaccess.getTextureFormat.rgba8.tentative.https.worker.js.ini +++ /dev/null @@ -1,3 +0,0 @@ -[2d.webgpuaccess.getTextureFormat.rgba8.tentative.https.worker.html] - [getTextureFormat() returns RGBA8 or BGRA8 for a typical context] - expected: FAIL diff --git a/tests/wpt/meta-legacy-layout/html/dom/idlharness.https.html.ini b/tests/wpt/meta-legacy-layout/html/dom/idlharness.https.html.ini index a26ec9c194c..4cf9d394ec2 100644 --- a/tests/wpt/meta-legacy-layout/html/dom/idlharness.https.html.ini +++ b/tests/wpt/meta-legacy-layout/html/dom/idlharness.https.html.ini @@ -5138,3 +5138,9 @@ [HTMLFrameSetElement interface: document.createElement("frameset") must inherit property "onpageswap" with the proper type] expected: FAIL + + [HTMLElement interface: attribute writingSuggestions] + expected: FAIL + + [HTMLElement interface: document.createElement("noscript") must inherit property "writingSuggestions" with the proper type] + expected: FAIL diff --git a/tests/wpt/meta-legacy-layout/html/infrastructure/urls/base-url/document-base-url-window-initiator-is-not-opener.https.window.js.ini b/tests/wpt/meta-legacy-layout/html/infrastructure/urls/base-url/document-base-url-window-initiator-is-not-opener.https.window.js.ini index 8b8af2b9c2e..2ef0896e3b3 100644 --- a/tests/wpt/meta-legacy-layout/html/infrastructure/urls/base-url/document-base-url-window-initiator-is-not-opener.https.window.js.ini +++ b/tests/wpt/meta-legacy-layout/html/infrastructure/urls/base-url/document-base-url-window-initiator-is-not-opener.https.window.js.ini @@ -1,3 +1,4 @@ [document-base-url-window-initiator-is-not-opener.https.window.html] + expected: TIMEOUT [window.open() gets base url from initiator not opener.] expected: [FAIL, PASS, TIMEOUT] diff --git a/tests/wpt/meta-legacy-layout/html/interaction/focus/the-autofocus-attribute/supported-elements.html.ini b/tests/wpt/meta-legacy-layout/html/interaction/focus/the-autofocus-attribute/supported-elements.html.ini index d169bd2e9fa..222af3948d5 100644 --- a/tests/wpt/meta-legacy-layout/html/interaction/focus/the-autofocus-attribute/supported-elements.html.ini +++ b/tests/wpt/meta-legacy-layout/html/interaction/focus/the-autofocus-attribute/supported-elements.html.ini @@ -1,4 +1,5 @@ [supported-elements.html] + expected: TIMEOUT [Contenteditable element should support autofocus] expected: FAIL diff --git a/tests/wpt/meta-legacy-layout/html/rendering/non-replaced-elements/sections-and-headings/headings-styles-no-h1-in-section.tentative.html.ini b/tests/wpt/meta-legacy-layout/html/rendering/non-replaced-elements/sections-and-headings/headings-styles-no-h1-in-section.tentative.html.ini new file mode 100644 index 00000000000..e496953d4cb --- /dev/null +++ b/tests/wpt/meta-legacy-layout/html/rendering/non-replaced-elements/sections-and-headings/headings-styles-no-h1-in-section.tentative.html.ini @@ -0,0 +1,2 @@ +[headings-styles-no-h1-in-section.tentative.html] + expected: ERROR diff --git a/tests/wpt/meta-legacy-layout/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_popups_escaping-2.html.ini b/tests/wpt/meta-legacy-layout/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_popups_escaping-2.html.ini index 4b77e7d8e61..7df8f9458e9 100644 --- a/tests/wpt/meta-legacy-layout/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_popups_escaping-2.html.ini +++ b/tests/wpt/meta-legacy-layout/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_popups_escaping-2.html.ini @@ -1,4 +1,4 @@ [iframe_sandbox_popups_escaping-2.html] - expected: TIMEOUT + 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/meta-legacy-layout/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_popups_nonescaping-2.html.ini b/tests/wpt/meta-legacy-layout/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_popups_nonescaping-2.html.ini index f2378357bcc..76e34322dca 100644 --- a/tests/wpt/meta-legacy-layout/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_popups_nonescaping-2.html.ini +++ b/tests/wpt/meta-legacy-layout/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_popups_nonescaping-2.html.ini @@ -1,5 +1,5 @@ [iframe_sandbox_popups_nonescaping-2.html] type: testharness - expected: CRASH + expected: TIMEOUT [Check that popups from a sandboxed iframe do not escape the sandbox] expected: NOTRUN diff --git a/tests/wpt/meta-legacy-layout/html/semantics/permission-element/bounded-css-properties.html.ini b/tests/wpt/meta-legacy-layout/html/semantics/permission-element/bounded-css-properties.html.ini new file mode 100644 index 00000000000..1550ee5cbed --- /dev/null +++ b/tests/wpt/meta-legacy-layout/html/semantics/permission-element/bounded-css-properties.html.ini @@ -0,0 +1,3 @@ +[bounded-css-properties.html] + [Properties with out-of-bounds values should be corrected] + expected: FAIL diff --git a/tests/wpt/meta-legacy-layout/html/semantics/permission-element/negative-offset-and-margin.html.ini b/tests/wpt/meta-legacy-layout/html/semantics/permission-element/negative-offset-and-margin.html.ini index 2fbc21dcde6..3d6e5550fe3 100644 --- a/tests/wpt/meta-legacy-layout/html/semantics/permission-element/negative-offset-and-margin.html.ini +++ b/tests/wpt/meta-legacy-layout/html/semantics/permission-element/negative-offset-and-margin.html.ini @@ -4,3 +4,6 @@ [Positive margins/offset are unaffected] expected: FAIL + + [Expressions margins/offset should always return at least 0px] + expected: FAIL diff --git a/tests/wpt/meta-legacy-layout/navigation-timing/idlharness.window.js.ini b/tests/wpt/meta-legacy-layout/navigation-timing/idlharness.window.js.ini index 89e59978de2..fb0b3394055 100644 --- a/tests/wpt/meta-legacy-layout/navigation-timing/idlharness.window.js.ini +++ b/tests/wpt/meta-legacy-layout/navigation-timing/idlharness.window.js.ini @@ -106,3 +106,9 @@ [PerformanceNavigationTiming interface: performance.getEntriesByType("navigation")[0\] must inherit property "criticalCHRestart" with the proper type] expected: FAIL + + [PerformanceNavigationTiming interface: attribute notRestoredReasons] + expected: FAIL + + [PerformanceNavigationTiming interface: performance.getEntriesByType("navigation")[0\] must inherit property "notRestoredReasons" with the proper type] + expected: FAIL diff --git a/tests/wpt/meta-legacy-layout/resource-timing/nested-context-navigations-iframe.html.ini b/tests/wpt/meta-legacy-layout/resource-timing/nested-context-navigations-iframe.html.ini deleted file mode 100644 index 4164d42f08e..00000000000 --- a/tests/wpt/meta-legacy-layout/resource-timing/nested-context-navigations-iframe.html.ini +++ /dev/null @@ -1,19 +0,0 @@ -[nested-context-navigations-iframe.html] - expected: TIMEOUT - [Test that iframe refreshes are not observable by the parent] - expected: NOTRUN - - [Test that crossorigin iframe refreshes are not observable by the parent] - expected: NOTRUN - - [Test that cross-site iframe refreshes are not observable 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 cross-site iframe navigations are not observable by the parent] - expected: NOTRUN diff --git a/tests/wpt/meta-legacy-layout/selection/crashtests/selection-modify-line-boundary-around-shadow.html.ini b/tests/wpt/meta-legacy-layout/selection/crashtests/selection-modify-line-boundary-around-shadow.html.ini new file mode 100644 index 00000000000..1c8381ae567 --- /dev/null +++ b/tests/wpt/meta-legacy-layout/selection/crashtests/selection-modify-line-boundary-around-shadow.html.ini @@ -0,0 +1,2 @@ +[selection-modify-line-boundary-around-shadow.html] + expected: TIMEOUT diff --git a/tests/wpt/meta-legacy-layout/selection/selection-range-in-shadow-after-the-shadow-removed.tentative.html.ini b/tests/wpt/meta-legacy-layout/selection/selection-range-in-shadow-after-the-shadow-removed.tentative.html.ini new file mode 100644 index 00000000000..ca18d1156b2 --- /dev/null +++ b/tests/wpt/meta-legacy-layout/selection/selection-range-in-shadow-after-the-shadow-removed.tentative.html.ini @@ -0,0 +1,26 @@ +[selection-range-in-shadow-after-the-shadow-removed.tentative.html?mode=closed] + [Selection range in shadow should not be as a selection range after the host is removed] + expected: FAIL + + [Selection range in shadow should not be as a selection range after the host parent is removed] + expected: FAIL + + [Selection range in shadow should not be as a selection range after the host is replaced with itself (.replaceWith)] + expected: FAIL + + [Selection range in shadow should not be as a selection range after the host is replaced with itself (.replaceChild] + expected: FAIL + + +[selection-range-in-shadow-after-the-shadow-removed.tentative.html?mode=open] + [Selection range in shadow should not be as a selection range after the host is removed] + expected: FAIL + + [Selection range in shadow should not be as a selection range after the host parent is removed] + expected: FAIL + + [Selection range in shadow should not be as a selection range after the host is replaced with itself (.replaceWith)] + expected: FAIL + + [Selection range in shadow should not be as a selection range after the host is replaced with itself (.replaceChild] + expected: FAIL diff --git a/tests/wpt/meta/MANIFEST.json b/tests/wpt/meta/MANIFEST.json index 06e2c3d496d..5a0a92b31fd 100644 --- a/tests/wpt/meta/MANIFEST.json +++ b/tests/wpt/meta/MANIFEST.json @@ -559,35 +559,35 @@ }, "css-anchor-position": { "anchor-scroll-composited-scrolling-001-crash.html": [ - "005a27393a23b8efc70b2f52bd3c1f479d36b70c", + "4dd9bad60eae27737e7b69739dc8f6629204c8bb", [ null, {} ] ], "anchor-scroll-composited-scrolling-002-crash.html": [ - "83ce1468252532d4ddc3c8b5bb31bf1b9fcef9cf", + "80dabbb6661e56aa9450574d3c545668946bda09", [ null, {} ] ], "anchor-scroll-composited-scrolling-003-crash.html": [ - "594c844bfb5c7e374c19029ca02e84453ba5357a", + "f46d902ffee7ce2867a1d422d25973bca7dc6dc6", [ null, {} ] ], "anchor-scroll-composited-scrolling-004-crash.html": [ - "226a1b099c3b120d4450dda13a6f0dffeacbf9ac", + "ee5ad2f41ae3a7b99f65c38de00e03595c380e9f", [ null, {} ] ], "anchor-scroll-composited-scrolling-005-crash.html": [ - "639e2e064a79bfecac4eb131a4f3726e3d9bab3c", + "c5e44a79e797316249fa46e1e870e26ca9a13a5e", [ null, {} @@ -3576,6 +3576,13 @@ null, {} ] + ], + "pseudo-where-crash.html": [ + "c069872c60be3368d919ebfe158601b195857512", + [ + null, + {} + ] ] }, "css-overflow": { @@ -5128,6 +5135,20 @@ ] } }, + "link-sharing-crash.html": [ + "3bcce92d49d67bd694028db2549b65eb5644fdca", + [ + null, + {} + ] + ], + "pseudo-where-crash.html": [ + "ad683ac8b9e0223666b6e3ccfc951a9817be0d32", + [ + null, + {} + ] + ], "spurious-brace-crash.html": [ "b1a462a9690ea40836c0d7cb0cdf9779b9702750", [ @@ -6185,6 +6206,17 @@ } }, "offscreen": { + "manual": { + "the-offscreen-canvas": { + "offscreencanvas-worker-font-load-crash.html": [ + "1baf7847deab9f46cce410f39087b3f9db389ca6", + [ + null, + {} + ] + ] + } + }, "set-proprietary-font-names-001-crash.html": [ "dfa661655ec6210a7e8ca7de415973cff628b706", [ @@ -7000,6 +7032,13 @@ {} ] ], + "1140268-1.html": [ + "5e5510ba7fd920896c28c7d1f52ff4268af3ae16", + [ + null, + {} + ] + ], "1221888-1.html": [ "741daa7503fb5a997478bbcc252aeb7cbdd093cf", [ @@ -7021,6 +7060,27 @@ {} ] ], + "1397439-1.html": [ + "b617f8e0ed83d11f18e1dbbcab0d2bf445d3b7c5", + [ + null, + {} + ] + ], + "1403465.html": [ + "924392757b318ffa5d9e75fc0630247a4207c2ac", + [ + null, + {} + ] + ], + "1435015.html": [ + "329aaca22f8ef02c05750cc221fc03e577ac8e7f", + [ + null, + {} + ] + ], "151054-1.xml": [ "f634d089f3cebe9bb671f7b807edc333242c6063", [ @@ -7028,6 +7088,20 @@ {} ] ], + "1555757-1.html": [ + "04f2b27a6020aa542047e46920dfa7b749bb70b5", + [ + null, + {} + ] + ], + "1555757-2.html": [ + "eff048784a184a166efbc532e10190b8b67a2334", + [ + null, + {} + ] + ], "1600635.html": [ "d6ad31588539f4a84c0330a99644afefef605ddf", [ @@ -7035,6 +7109,20 @@ {} ] ], + "1701975-1.html": [ + "c7d54ca996f2af02863bf24e3a698fc2fa29a165", + [ + null, + {} + ] + ], + "243159-2.xhtml": [ + "ff0326816d8041ac9b1568b271390e456b8ead4e", + [ + null, + {} + ] + ], "289180-1.xml": [ "8d1f2e843c570ce5d427eb23bc911f2eabc75464", [ @@ -7042,6 +7130,13 @@ {} ] ], + "306902-1.xml": [ + "24e8c068a0d3e10f031eec95b7b10f90b05457fa", + [ + null, + {} + ] + ], "307826-1.xhtml": [ "02d436e8259f6f4f28589cb01e5e11405eae36ec", [ @@ -7126,6 +7221,13 @@ {} ] ], + "347506-1.xhtml": [ + "4119389a56d5a518d7cd6cd16dc9b0de03a4f54e", + [ + null, + {} + ] + ], "347507-1.xhtml": [ "274ae48ff2167c5961cab67da79c13be2d91b75e", [ @@ -7175,6 +7277,13 @@ {} ] ], + "355993-1.xhtml": [ + "cbbddf013aafd02f01a1134d2f921a5a51ec3ba8", + [ + null, + {} + ] + ], "364685-1.xhtml": [ "ab2b56a2f80352afe80ca7425f6575a28ac69869", [ @@ -7182,6 +7291,13 @@ {} ] ], + "364686-1.xhtml": [ + "add9238d8fa929a1150fbf14cb25c7dd60fe4803", + [ + null, + {} + ] + ], "366012-1.xhtml": [ "55f29f3ac3e440f99d1eca9f355fe8f0a8d10a76", [ @@ -7210,6 +7326,13 @@ {} ] ], + "368461-1.xhtml": [ + "d5baccf523eddfdb99fe3069e6eb7621e2e1248e", + [ + null, + {} + ] + ], "370791-1.xhtml": [ "d72eb5f709f43451894a3dbf5c408aecfc0186dd", [ @@ -7224,6 +7347,13 @@ {} ] ], + "370884-1.xhtml": [ + "3959d4b1781ed3dde767fbd30ae4407dbfd86f8f", + [ + null, + {} + ] + ], "372483-1.xhtml": [ "41edd7d9b71c03ec8dfb10a1650fe05d53c89477", [ @@ -7287,6 +7417,27 @@ {} ] ], + "382208-1.xhtml": [ + "88d2728bfe6656e29f177ddb42b6df535cdf6bbb", + [ + null, + {} + ] + ], + "382396-1.xhtml": [ + "89af7ea18ddb99cf38444bf1034465d858141b6c", + [ + null, + {} + ] + ], + "384649-1.xhtml": [ + "e2ba50cdeec72e3b2e2ab8d884022794ef230135", + [ + null, + {} + ] + ], "385226-1.xhtml": [ "b1d261eb380b250693318b24e93ad6add9b89971", [ @@ -7294,6 +7445,20 @@ {} ] ], + "385265-1.xhtml": [ + "7994653ffa78ecf1df691d96f6f63d03d7cf55ae", + [ + null, + {} + ] + ], + "385289-1.xhtml": [ + "8f0e871aaf4a5ca99c7abf57089a3f40b39f5634", + [ + null, + {} + ] + ], "393760-1.xhtml": [ "cb5c2d7a129df166d1445b558045fd131c68341d", [ @@ -7301,6 +7466,20 @@ {} ] ], + "394150-1.xhtml": [ + "ee54a8dd3b77542d22012f228ca00682341b9e53", + [ + null, + {} + ] + ], + "395450-1.xhtml": [ + "79510267bacc1e848b7a5d678ac64674d77cd2a6", + [ + null, + {} + ] + ], "397518-1.xhtml": [ "bc460ead11ca2779dd401c730f5f6493e7edf2e0", [ @@ -7315,6 +7494,20 @@ {} ] ], + "399676-1.xhtml": [ + "82b547e5eafe208ffe9a1f044a09c739242f42f6", + [ + null, + {} + ] + ], + "400445-1.xhtml": [ + "9cb71dbbd6e12f1fb7536eda562fbc4619f5002f", + [ + null, + {} + ] + ], "400475-1.xhtml": [ "13ff2fcb6303837499112433b1ba24f4b90e6108", [ @@ -7322,6 +7515,13 @@ {} ] ], + "400904-1.xhtml": [ + "a00f42fd0200f5c645d9e932d10606bc328b9057", + [ + null, + {} + ] + ], "402400-1.xhtml": [ "5212d67f163f04f294096bb035cc486f9f7fd1c8", [ @@ -7357,6 +7557,20 @@ {} ] ], + "410728-1.xml": [ + "deaeb8fc5536d56c9d67ec17b5e13b16f4bd7ae3", + [ + null, + {} + ] + ], + "411603-1.html": [ + "596565fbc38e3bce53ef812418673279f9324266", + [ + null, + {} + ] + ], "412237-1.xml": [ "2e8f13b73e0ea6a6969b8546428d2f66c8025657", [ @@ -7371,6 +7585,13 @@ {} ] ], + "413274-1.xhtml": [ + "19d8fab0fdee28beca010007fecc03a7f669af4d", + [ + null, + {} + ] + ], "416907-1.xhtml": [ "94a9abde2129a12ca0b83714f13204554b7acc2b", [ @@ -7378,6 +7599,13 @@ {} ] ], + "418007-1.xhtml": [ + "f07a693444eb1d4c035a2dc4ee2c808ca9f4bd01", + [ + null, + {} + ] + ], "420420-1.xhtml": [ "db17b277a781d4b37b371a3a686aac9772cc653a", [ @@ -7420,6 +7648,13 @@ {} ] ], + "467914-1.html": [ + "4f518f09df3274a6a6bf40e1967b168271117922", + [ + null, + {} + ] + ], "476547-1.xhtml": [ "0cece35eaa3945cae201d82e9bfe8c01732f9ce4", [ @@ -7434,6 +7669,13 @@ {} ] ], + "547843-1.xhtml": [ + "0ad086d90c39ff324972551c8d7b1925a388202a", + [ + null, + {} + ] + ], "557474-1.html": [ "1bf8d534ca259896654a9671fa0fddd7c8da6a9e", [ @@ -7455,6 +7697,13 @@ {} ] ], + "700031.xhtml": [ + "70f924279efa2b010e65cb8384f347d59081c065", + [ + null, + {} + ] + ], "713606-1.html": [ "a0d4939a83fb8754e74d22847df1d156315c38b8", [ @@ -7721,6 +7970,13 @@ {} ] ], + "selection-modify-line-boundary-around-shadow.html": [ + "bfca0402a7096a61b17d8dfa68f736f76fd3dcfa", + [ + null, + {} + ] + ], "selection-modify-line-next-to-textarea.html": [ "b685add01c004885a32e22211acad17843f1d132", [ @@ -10048,7 +10304,7 @@ ] ], "console-countReset-logging-manual.html": [ - "7fe01f50edbfa180a575511dbbf6694f5f51e133", + "f0a9358fba5d74b82bb39000d5d42f18d6ea2795", [ null, {} @@ -20102,6 +20358,15 @@ } } }, + "document-picture-in-picture": { + "hide-return-to-opener-button-manual.https.html": [ + "17cd6657ddae58350638f02813f736ed5b10597e", + [ + null, + {} + ] + ] + }, "dpub-aam": { "manual": { "doc-abstract-manual.html": [ @@ -24322,7 +24587,7 @@ ] ], "animate-elem-30-t-manual.svg": [ - "d27f9a1d6dafdaff3ed4ee17f6616ca5bd1bf83b", + "bfc4cb48612a9aa38edc3f720d65f9726586a57c", [ null, {} @@ -24560,7 +24825,7 @@ ] ], "animate-elem-85-t-manual.svg": [ - "6c09ffb3b59f4c035a9cf4aaae1895bda9244663", + "c5ded325cd88498f9f65a3dc8e946747e004f67f", [ null, {} @@ -24651,7 +24916,7 @@ ] ], "animate-pservers-grad-01-b-manual.svg": [ - "98456fb0736ee3286148fa29f03b21e53ce7f2cd", + "15672bac5fc0f3dfa03422ce8194103416e4c591", [ null, {} @@ -30715,6 +30980,21 @@ {} ] ], + "grid": { + "monolithic-overflow-print.html": [ + "9b174caf96cb69c201115910fe746bd74153017b", + [ + null, + [ + [ + "/css/css-break/grid/monolithic-overflow-print-ref.html", + "==" + ] + ], + {} + ] + ] + }, "ink-overflow-001-print.html": [ "495153d3d423b014aa40aeed87ea0a899edce1f5", [ @@ -30741,6 +31021,19 @@ {} ] ], + "overflowing-block-002-print.html": [ + "3cba4b421fab252b1efbd28d19bbf3d470aafdce", + [ + null, + [ + [ + "/css/css-break/overflowing-block-002-print-ref.html", + "==" + ] + ], + {} + ] + ], "overflowing-block-print.html": [ "daa9e24f33a49546f852fe387814ec9aa8b56e90", [ @@ -31034,6 +31327,21 @@ ] ] }, + "css-grid": { + "grid-fragmentation-between-rows-001-print.tentative.html": [ + "01fd97528fc5f470400b569f6169799d143d8259", + [ + null, + [ + [ + "/css/css-grid/grid-fragmentation-between-rows-001-print-ref.tentative.html", + "==" + ] + ], + {} + ] + ] + }, "css-multicol": { "auto-fill-auto-size-001-print.html": [ "6652fe18e9d41ea08b25b8436698c6149776e404", @@ -120433,34 +120741,8 @@ {} ] ], - "anchor-default-001.html": [ - "1700a84aa8814e0f6e0533125803609fa6568535", - [ - null, - [ - [ - "/css/css-anchor-position/anchor-default-ref.html", - "==" - ] - ], - {} - ] - ], - "anchor-default-002.html": [ - "c0a962ad3679a7b96f906e6a213f2aeb74f10a97", - [ - null, - [ - [ - "/css/css-anchor-position/anchor-default-ref.html", - "==" - ] - ], - {} - ] - ], "anchor-position-circular.html": [ - "8efbeb09e2030487f7f3fcd077fb53550a57dc94", + "85fca57421cb1380b8b83c1fe778cefb1e14ce79", [ null, [ @@ -120473,7 +120755,7 @@ ] ], "anchor-position-top-layer-001.html": [ - "055459551b8c94cf884ca4ea5266e6c590e29cbc", + "a8513bb74ca02918d8cdc274669d583f450a2318", [ null, [ @@ -120486,7 +120768,7 @@ ] ], "anchor-position-top-layer-002.html": [ - "a87a9d7eedd8995e7eba1753e26cfe4addbcd0c5", + "9ce0b8e5f9fe50bc6d38829ae7f43f98a40256cf", [ null, [ @@ -120499,7 +120781,7 @@ ] ], "anchor-position-top-layer-003.html": [ - "96d5219c5ce5500d5a44f6c64e27a71587b43fba", + "3bc815af0cab70a754f7f353e496715e147812bd", [ null, [ @@ -120512,7 +120794,7 @@ ] ], "anchor-position-top-layer-004.html": [ - "c986e3f98d3c7146cb1dea40351e562b33f0178d", + "ad0a7b8b32f278d8a2f57a9e60e2bca6a0e1cf1f", [ null, [ @@ -120525,7 +120807,7 @@ ] ], "anchor-position-top-layer-005.html": [ - "cf39c77736738d571e5350730eb4f86afcfa5063", + "51aa482aee52eb3766caef80380c854e94866de3", [ null, [ @@ -120538,7 +120820,7 @@ ] ], "anchor-position-top-layer-006.html": [ - "c13284b854843faf3a7a756c45dca9b6e374cc82", + "a3b9e63c06b59b9f308fd221c8619fda18ef65ac", [ null, [ @@ -120551,7 +120833,7 @@ ] ], "anchor-scroll-001.html": [ - "8609795c8a6d0207aeb0d5f840f6d820c7cd9025", + "b9dfc56e2effe4d9e9c6d48002dd052ae64f6b4e", [ null, [ @@ -120564,7 +120846,7 @@ ] ], "anchor-scroll-chained-001.tentative.html": [ - "60ad128022640e06c1eb751c7b6fbeadc27f959b", + "1235f8fad4388cc4486e6871d614d732aba12472", [ null, [ @@ -120577,7 +120859,7 @@ ] ], "anchor-scroll-chained-002.tentative.html": [ - "e180c5646826b223fe579a22fbb7826076f51c17", + "9c60799e0bb40f4fed1d9e19e0091aae3d410bdb", [ null, [ @@ -120590,7 +120872,7 @@ ] ], "anchor-scroll-chained-003.tentative.html": [ - "8912fcb699403583adc681f1fe01632769726577", + "b441c92bf15f4f5a3917132cfd959e3244dfa52b", [ null, [ @@ -120603,7 +120885,7 @@ ] ], "anchor-scroll-chained-004.tentative.html": [ - "5834eb1f4cb2df427d99267765beff672c108e29", + "f1765a9870f37e7f752f8cc9274319bbbe661bad", [ null, [ @@ -120616,7 +120898,7 @@ ] ], "anchor-scroll-chained-fallback.tentative.html": [ - "32cd9de0054b713c623d3adab27fe53d981bdf92", + "d2300da818291fbf7f6f35c5e78c99b1231a5003", [ null, [ @@ -120629,7 +120911,7 @@ ] ], "anchor-scroll-composited-scrolling-006.html": [ - "6e57accc457f9fd341af6c3eead652f77c8e3e05", + "49c6dc780c785f7dcf52aadd0d536c55ee72c2c4", [ null, [ @@ -120642,7 +120924,7 @@ ] ], "anchor-scroll-fixedpos-002.html": [ - "5b2aa2dd50ba52048097bc1dd5afcb4a91f06ff3", + "1a05d8b93a1049616592cd09e656eb2bf102ecf0", [ null, [ @@ -120655,7 +120937,7 @@ ] ], "anchor-scroll-fixedpos.html": [ - "a32ef3f7c497a6bd403109bb776e4efc15f2cfa2", + "7923ed789de055a8d7a7e1b99a549f022499832d", [ null, [ @@ -120668,7 +120950,7 @@ ] ], "anchor-scroll-nested.html": [ - "557f748c02988b6f230aedce8b1dad7d154b5df6", + "291fe0d7103fa310f48a4ea3a3963b98ccdea361", [ null, [ @@ -120681,7 +120963,7 @@ ] ], "anchor-scroll-to-sticky-001.html": [ - "abab944751ed2d98fd3e7b4515e0499b0f3e8148", + "a6c3b0572533a2cb689ce23655f0b16ff47ea3b9", [ null, [ @@ -120694,7 +120976,7 @@ ] ], "anchor-scroll-to-sticky-002.html": [ - "357421ecf1b36123703a83929c5edd38e3a65601", + "e2d91fe4dd69664f9504cd6ba93d33e40617ee14", [ null, [ @@ -120707,7 +120989,7 @@ ] ], "anchor-scroll-to-sticky-003.html": [ - "0e770044913669c995ef4e4ea0fb1df646f9b4c1", + "b40f5cc8d519f023176c803ad1cf9e475f6153d9", [ null, [ @@ -120720,7 +121002,7 @@ ] ], "anchor-scroll-to-sticky-004.html": [ - "f7878ae8df8d198f111bd3fb7241b2a6a1b2b881", + "30325ce1e0fa146af4f082481f90569dda2dff19", [ null, [ @@ -120733,7 +121015,7 @@ ] ], "anchor-scroll-update-001.html": [ - "f11797edadb669cfe870988f9f2ae02d0c74e032", + "aa49fbcc6db54a74e6899ff8b1c2fb7a03d851ab", [ null, [ @@ -120746,7 +121028,7 @@ ] ], "anchor-scroll-update-002.html": [ - "19447952b0be25d0407d0e4dea43795dcd0570dc", + "5695db2a1cded6d3f56f6fd259dd5939833a57ca", [ null, [ @@ -120759,7 +121041,7 @@ ] ], "anchor-scroll-update-003.html": [ - "57a524c483fd2fd7308620263b09f0a28bc95e59", + "2e1532badfac6983d1727b19f4d597b1be54b171", [ null, [ @@ -120772,7 +121054,7 @@ ] ], "anchor-scroll-update-004.html": [ - "d20a7b660a69428755a33b8c3cb47585a7594bf8", + "87138fb2d92a8da80e19c2c6a546de2f75b9c6fe", [ null, [ @@ -120785,7 +121067,7 @@ ] ], "anchor-scroll-update-005.html": [ - "c2e7248c80c5ede1ac79384bfc42b51bae649b36", + "37874bba5528a1c3b9345801bdfd7cedd463759c", [ null, [ @@ -120798,7 +121080,7 @@ ] ], "anchor-scroll-update-006.html": [ - "2535c68f78738bae0f8f8e87cbb24ce8d0a35606", + "81defee7cf4c3d8a0dfa03391b4d52becbb585db", [ null, [ @@ -120811,7 +121093,7 @@ ] ], "anchor-scroll-update-007.html": [ - "4859f01d66084e5356d1e737224797f55b17fce5", + "33050348c4d2908f080868cce0d08311352a6eb2", [ null, [ @@ -120824,7 +121106,7 @@ ] ], "anchor-scroll-vlr.html": [ - "00406c825e924bca5c5dd30d452fde1fc3fcc92a", + "76186f9cad7daa74a3e9faa31db12df5d020979d", [ null, [ @@ -120837,7 +121119,7 @@ ] ], "anchor-scroll-vrl.html": [ - "2432d72899343f2aa3d95b05a0918080980ef077", + "13ea8b37abdd702de8e45cae81de0d29cc400430", [ null, [ @@ -120850,7 +121132,7 @@ ] ], "inset-area-abs-inline-container.html": [ - "52344614f0b31a57d470ab773420295e53f1cb49", + "3b8b25b3af095340b5a16ef0c59c2eb129135c6a", [ null, [ @@ -120863,7 +121145,7 @@ ] ], "inset-area-inline-container.html": [ - "91c9b09735118e0d351af9531a91dd590ea4fde9", + "08aa1b921d3033c804c06824b863f229f2e19fdf", [ null, [ @@ -120875,6 +121157,32 @@ {} ] ], + "position-anchor-001.html": [ + "d927b6b902c97a565725d33874db9ce8055ea703", + [ + null, + [ + [ + "/css/css-anchor-position/position-anchor-ref.html", + "==" + ] + ], + {} + ] + ], + "position-anchor-002.html": [ + "d55338e1e9725db3cc1edf98c04c9388cc7dc6f5", + [ + null, + [ + [ + "/css/css-anchor-position/position-anchor-ref.html", + "==" + ] + ], + {} + ] + ], "sticky-anchor-position-invalid.html": [ "d1efeed5f29263fe3a16d60cbdaf9d2c26357ce5", [ @@ -130675,7 +130983,7 @@ ] ], "table-cell-background-local-003.html": [ - "e2662bec1fa75049c07cbc07c24449e37c4c56a7", + "5641d3d41c0a8770feb120f2898df5262688ca6a", [ null, [ @@ -130684,7 +130992,23 @@ "==" ] ], - {} + { + "fuzzy": [ + [ + null, + [ + [ + 1, + 1 + ], + [ + 0, + 50 + ] + ] + ] + ] + } ] ], "table-cell-background-local.html": [ @@ -139762,6 +140086,19 @@ {} ] ], + "overflowing-block-003.html": [ + "786a61a4927f32dc853fc9964feab8cf652472e4", + [ + null, + [ + [ + "/css/css-break/overflowing-block-003-ref.html", + "==" + ] + ], + {} + ] + ], "parallel-flow-trailing-margin-001.html": [ "a6391cd9d4738676417f69223038f9f603ea83d1", [ @@ -144105,7 +144442,7 @@ ] ], "lab-l-over-100-1.html": [ - "287eba982456112335f95f9f5d999698dab4287a", + "be8833593d7dde1456ffabc7cef6023061e95e91", [ null, [ @@ -144118,7 +144455,7 @@ ] ], "lab-l-over-100-2.html": [ - "e85d289d21fa0b3269b7bfb3ab22f810c79547fe", + "20a95680947532c7852589d6e38c2005e6b085cb", [ null, [ @@ -144261,7 +144598,7 @@ ] ], "lch-l-over-100-1.html": [ - "6e0c62330c39d329bb71323caf393e8d4426e535", + "12d594d1a340f864b0de6d0bf54ce8047c63464d", [ null, [ @@ -144274,7 +144611,7 @@ ] ], "lch-l-over-100-2.html": [ - "7752d0dc0eb4d59cbb12364441b59732d025fd1d", + "68789b9c859f758fa938ddeaf41b3afb2cb105df", [ null, [ @@ -144442,8 +144779,34 @@ {} ] ], + "oklab-l-almost-0.html": [ + "e8cc1b9042d44b70fd98448ef3ef92a6bb5aac0a", + [ + null, + [ + [ + "/css/css-color/oklab-l-almost-0-ref.html", + "==" + ] + ], + {} + ] + ], + "oklab-l-almost-1.html": [ + "352e7b58aa6a94a25cc0d14248f1da04a192daeb", + [ + null, + [ + [ + "/css/css-color/oklab-l-almost-1-ref.html", + "==" + ] + ], + {} + ] + ], "oklab-l-over-1-1.html": [ - "612fe32acb1a8314aca1fff850080edd9e77107b", + "a16fe7886f83b7ad5dabe4878341618060abeff5", [ null, [ @@ -144456,7 +144819,7 @@ ] ], "oklab-l-over-1-2.html": [ - "11948f014bfd279daced1c65571cb9aacd228413", + "6300cb8af3bc581b3f42199de94303e6c698952b", [ null, [ @@ -144611,8 +144974,34 @@ {} ] ], + "oklch-l-almost-0.html": [ + "c171befe6428ffcd19c82761f0389a04cbdd3dbc", + [ + null, + [ + [ + "/css/css-color/oklch-l-almost-0-ref.html", + "==" + ] + ], + {} + ] + ], + "oklch-l-almost-1.html": [ + "c98cea292f9f5c7a79db3d0e88ab8427cf377c1a", + [ + null, + [ + [ + "/css/css-color/oklch-l-almost-1-ref.html", + "==" + ] + ], + {} + ] + ], "oklch-l-over-1-1.html": [ - "4eb3cda8462639e740c4e606252fc9784dab580e", + "c734723541d10f7ab0c2d2b18995c70ba1aff8ec", [ null, [ @@ -144625,7 +145014,7 @@ ] ], "oklch-l-over-1-2.html": [ - "de8b1a6cdd05c32267cded3a633456db04127888", + "59eac2b367764b855952c152de3bce8c627e548f", [ null, [ @@ -149649,7 +150038,7 @@ ] ], "contain-layout-ink-overflow-019.html": [ - "d4909aa70f597b31ca0c13a7c63ce3a810d44ccc", + "5cda6cd5bebb2f3353778eb17285b4dd487ca881", [ null, [ @@ -149658,7 +150047,23 @@ "==" ] ], - {} + { + "fuzzy": [ + [ + null, + [ + [ + 1, + 1 + ], + [ + 0, + 50 + ] + ] + ] + ] + } ] ], "contain-layout-ink-overflow-020.html": [ @@ -149675,7 +150080,7 @@ ] ], "contain-layout-overflow-001.html": [ - "5bf984e2bf12263526165048c4aeb0e9236c5bbb", + "05c66fa1e985261dcf8bab284ad05c9b88e293ba", [ null, [ @@ -149684,7 +150089,23 @@ "==" ] ], - {} + { + "fuzzy": [ + [ + null, + [ + [ + 1, + 1 + ], + [ + 0, + 50 + ] + ] + ] + ] + } ] ], "contain-layout-overflow-002.html": [ @@ -193543,65 +193964,13 @@ ] }, "text-box-trim": { - "text-box-trim-half-leading-block-box-001-ref.html": [ - "4fc498a27bded7e4e870a055128f003383792bee", - [ - null, - [ - [ - "/css/css-inline/text-box-trim/text-box-trim-half-leading-inline-box-001-ref.html", - "==" - ] - ], - {} - ] - ], "text-box-trim-half-leading-block-box-001.html": [ - "9ad9ffc3fc68184745549c4759ea9534fc174527", + "2cbf1c26dbfa97b92a8e1a2739dae24b2042d4e3", [ null, [ [ - "/css/css-inline/text-box-trim/text-box-trim-half-leading-inline-box-001-ref.html", - "==" - ] - ], - {} - ] - ], - "text-box-trim-half-leading-inline-box-001.html": [ - "130b68c6eb2ecfa400f9c13356a700200f49f13a", - [ - null, - [ - [ - "/css/css-inline/text-box-trim/text-box-trim-half-leading-inline-box-001-ref.html", - "==" - ] - ], - {} - ] - ], - "text-box-trim-half-leading-inline-box-002.html": [ - "631b53697c1f6e0a1aff0153ad95e5c01cf4042b", - [ - null, - [ - [ - "/css/css-inline/text-box-trim/text-box-trim-half-leading-inline-box-002-ref.html", - "==" - ] - ], - {} - ] - ], - "text-box-trim-half-leading-inline-box-003.html": [ - "4c7e33663b53fa22fa3578c3260701692d48f8b8", - [ - null, - [ - [ - "/css/css-inline/text-box-trim/text-box-trim-half-leading-inline-box-003-ref.html", + "/css/css-inline/text-box-trim/text-box-trim-half-leading-block-box-001-ref.html", "==" ] ], @@ -210636,7 +211005,7 @@ ] ], "scrollbar-gutter-002.html": [ - "129eb2c08590c98505e36f63da173d1c8a4bf98d", + "531af61b5d35e1638586fa0383f3ce27cacc762a", [ null, [ @@ -210645,7 +211014,23 @@ "==" ] ], - {} + { + "fuzzy": [ + [ + null, + [ + [ + 1, + 1 + ], + [ + 0, + 50 + ] + ] + ] + ] + } ] ], "scrollbar-gutter-abspos-001.html": [ @@ -210753,7 +211138,7 @@ ] ], "scrollbar-gutter-vertical-lr-002.html": [ - "9e5dcd299eba99e4ab6f077149a841011805c0a5", + "b74aa642ca1966e044d2d3a5a145dc9130916b72", [ null, [ @@ -210762,11 +211147,27 @@ "==" ] ], - {} + { + "fuzzy": [ + [ + null, + [ + [ + 1, + 1 + ], + [ + 0, + 50 + ] + ] + ] + ] + } ] ], "scrollbar-gutter-vertical-rl-002.html": [ - "d68d4e5d3cba0353da274f9c75c558c0a8324092", + "398751845cf3d01dc47254e146d9bb1ada18bf40", [ null, [ @@ -210775,7 +211176,23 @@ "==" ] ], - {} + { + "fuzzy": [ + [ + null, + [ + [ + 1, + 1 + ], + [ + 0, + 50 + ] + ] + ] + ] + } ] ], "scrollbars-chrome-bug-001.html": [ @@ -215164,7 +215581,7 @@ ] ], "position-sticky-in-fixed-container.html": [ - "359ec2fd337e76e5ba1540754c87375c4090c1e2", + "75c2d67259e39513e6fbc7e5daa8d3b227a8ab9c", [ null, [ @@ -215173,7 +215590,23 @@ "==" ] ], - {} + { + "fuzzy": [ + [ + null, + [ + [ + 1, + 1 + ], + [ + 0, + 50 + ] + ] + ] + ] + } ] ], "position-sticky-inline.html": [ @@ -215293,6 +215726,32 @@ {} ] ], + "position-sticky-padding-001.html": [ + "6bd4952c28fef635144b855db08efbf950f67a1c", + [ + null, + [ + [ + "/css/css-position/sticky/position-sticky-padding-001-ref.html", + "==" + ] + ], + {} + ] + ], + "position-sticky-padding-002.html": [ + "972288fd3a840945ef7ac3e7cf7e33aa3fdda986", + [ + null, + [ + [ + "/css/css-position/sticky/position-sticky-padding-002-ref.html", + "==" + ] + ], + {} + ] + ], "position-sticky-rendering.html": [ "a4e03c59d8faba77884e4a290dd188044dcb23a6", [ @@ -226818,6 +227277,19 @@ {} ] ], + "grid-aspect-ratio-041.html": [ + "8fe724308a48770ed35c7979f172eff420a4b967", + [ + null, + [ + [ + "/css/reference/ref-filled-green-100px-square.xht", + "==" + ] + ], + {} + ] + ], "intrinsic-size-001.html": [ "5b2c6049bd935c928f29c50bf4ad7afae41c4576", [ @@ -247537,7 +248009,7 @@ ] ], "trailing-space-and-text-alignment-002.html": [ - "30e37908a22b669af58753fbacd3fcaaa2147803", + "6ee7d03d9d5e1734fd0649605c0bb5a67bd931fc", [ null, [ @@ -247546,7 +248018,23 @@ "==" ] ], - {} + { + "fuzzy": [ + [ + null, + [ + [ + 1, + 1 + ], + [ + 0, + 50 + ] + ] + ] + ] + } ] ], "trailing-space-and-text-alignment-003.html": [ @@ -247563,7 +248051,7 @@ ] ], "trailing-space-and-text-alignment-004.html": [ - "3d7aad05418bce1691ec766a598f6c1d51c00aed", + "69d74051f7fff67ba9d397e401da45150329f84f", [ null, [ @@ -247572,7 +248060,23 @@ "==" ] ], - {} + { + "fuzzy": [ + [ + null, + [ + [ + 1, + 1 + ], + [ + 0, + 50 + ] + ] + ] + ] + } ] ], "trailing-space-and-text-alignment-005.html": [ @@ -247602,7 +248106,7 @@ ] ], "trailing-space-and-text-alignment-rtl-002.html": [ - "0422506b516abcff0d0bd3b3e422426c67fa1e43", + "3da84ae5123332dd79ec30062a682fbb7cbf1afa", [ null, [ @@ -247611,7 +248115,23 @@ "==" ] ], - {} + { + "fuzzy": [ + [ + null, + [ + [ + 1, + 1 + ], + [ + 0, + 50 + ] + ] + ] + ] + } ] ], "trailing-space-and-text-alignment-rtl-003.html": [ @@ -247628,7 +248148,7 @@ ] ], "trailing-space-and-text-alignment-rtl-004.html": [ - "7705d6dfb147925308590869b061f174503e34ad", + "480969efc0dc7b90af54518b45788e711da7c87f", [ null, [ @@ -247637,7 +248157,23 @@ "==" ] ], - {} + { + "fuzzy": [ + [ + null, + [ + [ + 1, + 1 + ], + [ + 0, + 50 + ] + ] + ] + ] + } ] ], "trailing-space-and-text-alignment-rtl-005.html": [ @@ -279538,6 +280074,32 @@ {} ] ], + "viewport-units-scrollbars-auto-vhw-001.html": [ + "04b959fa49a4bf44ae88a12209f67c910166f82f", + [ + null, + [ + [ + "/css/css-values/viewport-units-scrollbars-auto-ltr-001-ref.html", + "==" + ] + ], + {} + ] + ], + "viewport-units-scrollbars-scroll-vhw-001.html": [ + "c44edc2da804a12ae1971357772f4fc7051087bc", + [ + null, + [ + [ + "/css/css-values/viewport-units-scrollbars-scroll-ltr-001-ref.html", + "==" + ] + ], + {} + ] + ], "viewport-units-writing-mode-font-size.html": [ "fd1a4aaca5d61b51f932b1b39cf6e1719bb75824", [ @@ -285550,6 +286112,189 @@ {} ] ], + "web-animations-api-parse-pseudo-argument.html": [ + "40c9a0d0c2ec81624a06523c7b000d1a902507c0", + [ + "css/css-view-transitions/web-animations-api-parse-pseudo-argument.html?first-pseudo=::view-transition-group( first )", + [ + [ + "/css/css-view-transitions/web-animations-api-ref.html?first-pseudo=::view-transition-group( first )", + "==" + ] + ], + { + "fuzzy": [ + [ + [ + "/css/css-view-transitions/web-animations-api-parse-pseudo-argument.html", + "/css/css-view-transitions/web-animations-api-ref.html", + "==" + ], + [ + [ + 0, + 2 + ], + [ + 0, + 500 + ] + ] + ] + ] + } + ], + [ + "css/css-view-transitions/web-animations-api-parse-pseudo-argument.html?first-pseudo=::view-transition-group( first", + [ + [ + "/css/css-view-transitions/web-animations-api-ref.html?first-pseudo=::view-transition-group( first", + "==" + ] + ], + { + "fuzzy": [ + [ + [ + "/css/css-view-transitions/web-animations-api-parse-pseudo-argument.html", + "/css/css-view-transitions/web-animations-api-ref.html", + "==" + ], + [ + [ + 0, + 2 + ], + [ + 0, + 500 + ] + ] + ] + ] + } + ], + [ + "css/css-view-transitions/web-animations-api-parse-pseudo-argument.html?first-pseudo=::view-transition-group( first)", + [ + [ + "/css/css-view-transitions/web-animations-api-ref.html?first-pseudo=::view-transition-group( first)", + "==" + ] + ], + { + "fuzzy": [ + [ + [ + "/css/css-view-transitions/web-animations-api-parse-pseudo-argument.html", + "/css/css-view-transitions/web-animations-api-ref.html", + "==" + ], + [ + [ + 0, + 2 + ], + [ + 0, + 500 + ] + ] + ] + ] + } + ], + [ + "css/css-view-transitions/web-animations-api-parse-pseudo-argument.html?first-pseudo=::view-transition-group(first", + [ + [ + "/css/css-view-transitions/web-animations-api-ref.html?first-pseudo=::view-transition-group(first", + "==" + ] + ], + { + "fuzzy": [ + [ + [ + "/css/css-view-transitions/web-animations-api-parse-pseudo-argument.html", + "/css/css-view-transitions/web-animations-api-ref.html", + "==" + ], + [ + [ + 0, + 2 + ], + [ + 0, + 500 + ] + ] + ] + ] + } + ], + [ + "css/css-view-transitions/web-animations-api-parse-pseudo-argument.html?first-pseudo=::view-transition-group(first )", + [ + [ + "/css/css-view-transitions/web-animations-api-ref.html?first-pseudo=::view-transition-group(first )", + "==" + ] + ], + { + "fuzzy": [ + [ + [ + "/css/css-view-transitions/web-animations-api-parse-pseudo-argument.html", + "/css/css-view-transitions/web-animations-api-ref.html", + "==" + ], + [ + [ + 0, + 2 + ], + [ + 0, + 500 + ] + ] + ] + ] + } + ], + [ + "css/css-view-transitions/web-animations-api-parse-pseudo-argument.html?first-pseudo=::view-transition-group(first)", + [ + [ + "/css/css-view-transitions/web-animations-api-ref.html?first-pseudo=::view-transition-group(first)", + "==" + ] + ], + { + "fuzzy": [ + [ + [ + "/css/css-view-transitions/web-animations-api-parse-pseudo-argument.html", + "/css/css-view-transitions/web-animations-api-ref.html", + "==" + ], + [ + [ + 0, + 2 + ], + [ + 0, + 500 + ] + ] + ] + ] + } + ] + ], "web-animations-api.html": [ "6d8395ebb72e4a3ec8c7a663031361d602c4f25f", [ @@ -301100,6 +301845,19 @@ {} ] ], + "CSSStyleSheet-constructable-insertRule-base-uri.html": [ + "22f298a34eb5de6eb27c13130df0162e98503d30", + [ + null, + [ + [ + "/css/cssom/CSSStyleSheet-constructable-insertRule-base-uri-ref.html", + "==" + ] + ], + {} + ] + ], "HTMLLinkElement-disabled-alternate.html": [ "f1457c0dcf04d27a52a29fc860e94e81d432e5af", [ @@ -320617,7 +321375,7 @@ ] ], "fieldset-overflow.html": [ - "83813f9020910200ba5cc4b66450c02430dd6c37", + "089b0d9300bea4cccbe3cce540a72d833c1cef5a", [ null, [ @@ -320626,7 +321384,23 @@ "==" ] ], - {} + { + "fuzzy": [ + [ + null, + [ + [ + 1, + 1 + ], + [ + 0, + 50 + ] + ] + ] + ] + } ] ], "fieldset-painting-order.html": [ @@ -325050,7 +325824,7 @@ ] ], "popover-anchor-display.tentative.html": [ - "d50dd6c857b24f5e75e979d6356151e5cf7b65c8", + "bddc44006dfba675982454f55807c8af39b5a983", [ null, [ @@ -325076,7 +325850,7 @@ ] ], "popover-anchor-scroll-display.tentative.html": [ - "7ed6cf1adf8d11ce5ab121340879ea95dd170991", + "2c6b0bafb942bb30c618e58de98dd032e38904f0", [ null, [ @@ -336029,7 +336803,7 @@ }, "responsive": { "toggle-animated-iframe-visibility.html": [ - "f50ffaad34722afd3e626e6b41ccddf5f02ce0eb", + "b5c32f26d8df952e0e5e673af41473e2f8474027", [ null, [ @@ -336038,7 +336812,23 @@ "==" ] ], - {} + { + "fuzzy": [ + [ + null, + [ + [ + 1, + 1 + ], + [ + 0, + 50 + ] + ] + ] + ] + } ] ] }, @@ -339845,7 +340635,7 @@ [] ], "eddsa.js": [ - "7817b78cff6293620aaf4bcc35807a0437a0c48b", + "4952df502d83ce3464af11a85b91d6a0c0d727eb", [] ], "eddsa_vectors.js": [ @@ -364591,6 +365381,10 @@ "126f911a58c80a62de06b6062cdb4488549471b9", [] ], + "accounts_check_same_site_strict.py": [ + "a6f385feac1ccf0885b44c43a0d0e737e4c308f6", + [] + ], "client_metadata.py": [ "72ddcc5cd62569fa280adcab9490e84b851e6780", [] @@ -364647,6 +365441,10 @@ "a40fc100eee697ed7dcd451626409af18606442e", [] ], + "manifest_check_same_site_strict.json": [ + "d7304159834804c417f498acebc45f59e588dcbb", + [] + ], "manifest_id_assertion_endpoint_returns_error.json": [ "e098cc4511a1980392097d0a26c020db3243ae35", [] @@ -364712,7 +365510,7 @@ [] ], "request-params-check.py": [ - "b774496d5dab3e9bbce92f94cb0dc27128b909d4", + "6c610e6e201dd157de1338546fd6970a946e5fb6", [] ], "resolve.html": [ @@ -364739,6 +365537,10 @@ "7ec81c390a9ea116e0a1809e08159a1d1c40e5a1", [] ], + "token_check_same_site_strict.py": [ + "8a4b3a234bdb99f38354f706d740b823ccc6e785", + [] + ], "token_with_account_id.py": [ "52fb20184bc081186e7f9aaab7561dc87c8906bd", [] @@ -364769,7 +365571,7 @@ ] }, "fedcm-helper.sub.js": [ - "765b3cc48a90198c8bd053eab039cd0e1f5ba768", + "25fdb0995c1a2b9dfde35a3dd1d90f780b6064d1", [] ], "fedcm-iframe-level2.html": [ @@ -364833,7 +365635,7 @@ [] ], "set_cookie.headers": [ - "b19ff933a6f5854923bdaf378e91d5fa63e341b0", + "4226ff4c9975cccb5ea799b769a6e797eea12b8b", [] ] } @@ -382526,10 +383328,6 @@ "40ccc2b044b3da3be44582522d99e5a138b6f354", [] ], - "anchor-default-ref.html": [ - "4d7de12447c8297b8f0fc04338d80a028a3e9798", - [] - ], "anchor-position-top-layer-ref.html": [ "dc7f77f2b3441ebee25f3e40a9480b668ee79ea4", [] @@ -382538,6 +383336,10 @@ "ecf54f1a9ac2d756cb78f4d2c0690c1ac8b65916", [] ], + "position-anchor-ref.html": [ + "4d7de12447c8297b8f0fc04338d80a028a3e9798", + [] + ], "reference": { "anchor-position-circular-ref.html": [ "6beb7c77e998b6750859580f910e97b005430e4b", @@ -385156,6 +385958,12 @@ "5effc82452da07054ca2c3e2d74e3a9b0f84d9ea", [] ], + "grid": { + "monolithic-overflow-print-ref.html": [ + "58cc0828d2cd31182dac2b5e8ee555721d0ed39e", + [] + ] + }, "line-after-unbreakable-float-after-padding-ref.html": [ "9a329b2446849d8f13b9d88cb5f73934536c3767", [] @@ -385192,6 +386000,14 @@ "ad74e1f53d4f27fde674dfb964366f8574cac9c1", [] ], + "overflowing-block-002-print-ref.html": [ + "0322ba04a07a7c0e36b2c4f2f9f25bc4f357ed3c", + [] + ], + "overflowing-block-003-ref.html": [ + "a8f86d1cfe4af41a575f22a9896bb8233a964858", + [] + ], "overflowing-block-print-ref.html": [ "cf345b59638f28ddf423ed343a269178ab47f1b9", [] @@ -385695,7 +386511,7 @@ [] ], "lab-l-over-100-ref.html": [ - "57328cfa7c5569850f1d69fbcb6cab7c81b68478", + "eccc492079d2d7510319a60b20e7ad780bd5579c", [] ], "lch-004-ref.html": [ @@ -385715,7 +386531,7 @@ [] ], "lch-l-over-100-ref.html": [ - "67766274e59aced21539d94499d3a324d11b8478", + "291772e166fb93f557fc1aac117716fc8ff82ba8", [] ], "mossgreensquare-ref.html": [ @@ -385738,8 +386554,16 @@ "c71e428aa2a88250fa5a09304885143fe6b9ae29", [] ], + "oklab-l-almost-0-ref.html": [ + "244321ea69d2d89dc1bd306fb78048ca322421c1", + [] + ], + "oklab-l-almost-1-ref.html": [ + "72cdf3544705d9373dd6ad595d7563a183fb5018", + [] + ], "oklab-l-over-1-ref.html": [ - "eb380dcb750e6fe1eb2a329544dc960cc4b6d891", + "f050bbc6434ee6e8e10d45ee4340695bfd95fbb5", [] ], "oklch-004-ref.html": [ @@ -385758,8 +386582,16 @@ "fd1deb36f4a7632beaf6cda83b4fa2ba9f46cf96", [] ], + "oklch-l-almost-0-ref.html": [ + "e019136f96f73efaba80b5e7aba95ac3a95e6abd", + [] + ], + "oklch-l-almost-1-ref.html": [ + "e1f29eaa1853c0f4454283763cf23488578dcecc", + [] + ], "oklch-l-over-1-ref.html": [ - "2c7815c5f0e408197241367e2bb38e7b7df8dfdc", + "ae1b5e00e57039e8f0e8d3ea3db3495acc02472b", [] ], "opacity-overlapping-letters-ref.html": [ @@ -399254,6 +400086,10 @@ ] } }, + "grid-fragmentation-between-rows-001-print-ref.tentative.html": [ + "78464712c5cb698fd26a7a12b6c522d4bda946d6", + [] + ], "grid-item-non-auto-height-stretch-ref.html": [ "1249dbaa8c88cd1436741b6bcf526efb183a35a6", [] @@ -401503,16 +402339,8 @@ "e9a2fc218b369825c991e3109986481a922e671f", [] ], - "text-box-trim-half-leading-inline-box-001-ref.html": [ - "54df108fb9c581638784b1b28cd120fc59fa6c4e", - [] - ], - "text-box-trim-half-leading-inline-box-002-ref.html": [ - "0a615e6222cbe9c1cc656bc41b812619129eb2e5", - [] - ], - "text-box-trim-half-leading-inline-box-003-ref.html": [ - "bf0fb3283d353a06707542838a15938837e7a025", + "text-box-trim-half-leading-block-box-001-ref.html": [ + "2dfe344ce35f59888337a34f1ae864925f9a35e4", [] ] } @@ -405531,6 +406359,14 @@ "2a29b435a7ee5e53b5294bac40314847aec903ca", [] ], + "position-sticky-padding-001-ref.html": [ + "efe584bc8854a2f3c30ad959a8583ebc6f985684", + [] + ], + "position-sticky-padding-002-ref.html": [ + "cc9d447d1c6c74d4f465f9359f3f7785182bb06e", + [] + ], "position-sticky-rendering-ref.html": [ "b4411c3bed42e864e12ac4c333625693cf1625a6", [] @@ -406886,12 +407722,20 @@ "35b0684b26febc6255702b0560a46cb816596725", [] ], + "prefer-targeted-element-main-frame-target.html": [ + "6bc47d15efd151e252aa5e34e516cefc310205ac", + [] + ], "resources": { "common.js": [ - "2d74baae577c9c16ca5c4a2f60363d292a596c10", + "1fd88949b39b56d65e096e0822f0709232e2d8e5", [] ] - } + }, + "stash.py": [ + "a70672ecf008efb3d5f3a8f797fad29abeb0fe97", + [] + ] } }, "support": { @@ -406924,7 +407768,7 @@ "css-scroll-snap-2": { "resources": { "common.js": [ - "1a2edab90bba958141c6e5a1b28fa3bd53408ddb", + "e29f9bc5b3e1af0e74301577c1c5a6164ce30fc3", [] ], "user-scroll-common.js": [ @@ -417284,6 +418128,18 @@ "bc914522c7fcf556c69ba56d2d0ba792d7e92b89", [] ], + "viewport-units-scrollbars-auto-ltr-001-ref.html": [ + "a8cc95cdda1d35a2a0dda0365e90b0b4d4662788", + [] + ], + "viewport-units-scrollbars-scroll-blank-001-ref.html": [ + "f0718d0e8d28f562e93a27c357cf826ffeeb17df", + [] + ], + "viewport-units-scrollbars-scroll-ltr-001-ref.html": [ + "fe9a454525c215343acfc1eeb60f3750df57654e", + [] + ], "viewport-units-writing-mode-font-size-ref.html": [ "1e09173353f9e6de48db31d595c68dbe58bba52b", [] @@ -420530,6 +421386,10 @@ "b45332345902c6197f02a8181f737e1e4ab7cc81", [] ], + "CSSStyleSheet-constructable-insertRule-base-uri-ref.html": [ + "2696593a45acdb27bf1cdeea26f95ccd491409dd", + [] + ], "HTMLLinkElement-disabled-alternate-ref.html": [ "5d87bfdaf5b0533f2ea7088a870ca45474d065f4", [] @@ -424166,7 +425026,7 @@ }, "scrolling": { "scroll_support.js": [ - "a0aefe636ab8d5efbf8d3f6e4a6a1ad404344b2b", + "e536b7d7488cf964ec5da5abdc45d5f3852d8909", [] ], "scrollend-event-fires-to-iframe-inner-frame.html": [ @@ -435326,15 +436186,15 @@ [] ], "name2dir-canvas.yaml": [ - "79b5fb61f283e6443861cd8e3a28022be20e6f50", + "1e0caff5b982da5ef914aaae6e376bf749ac412c", [] ], "name2dir-offscreen.yaml": [ - "3f59fd8eead9e0e11809319f5ffd924698e9fce7", + "6e4b3f42b2b3615a057fe61935560d826e773c64", [] ], "name2dir.yaml": [ - "b0e541289f59f832ae48f2fef826e355c1990e84", + "ae69c153780ed2398466bfa12287462bf04c3bfa", [] ], "templates": { @@ -435465,10 +436325,6 @@ "video.yaml": [ "f9b48fb8daa2a247e9e22a18b5e891be3351bda9", [] - ], - "webgpu-access.yaml": [ - "fcf38d1f3d050dcdc48fbfdd06ad0f2f800ba9b5", - [] ] } } @@ -442439,8 +443295,8 @@ "bb625942f88c51d4eb6058586c96d574ec354e1d", [] ], - "sandbox-top-navigation-helper.js": [ - "e38334f4148aed427aaf2086e2a4f5ace60c480e", + "sandbox-top-navigation-helper.sub.js": [ + "bec8f6a64af5f44d020f0cfb8b0ec4938d6f7025", [] ], "subframe.html": [ @@ -448360,6 +449216,10 @@ "e3b4bf3e4dca4eae1138c6be4f62105621765ae6", [] ], + "minimize_restore_popup.html.ini": [ + "6075b58d09cc51dc5069e446287246df76b1d5e8", + [] + ], "set_get_window_rect.html.ini": [ "a01f56c1953af25ab7128c8dda0b31bf7e54b347", [] @@ -448368,10 +449228,6 @@ "026e6823515d14e6069d5cb572e18a2a7413ffe4", [] ], - "test_win_open_with_interaction.html.ini": [ - "b1e77bd8e59cff54667270b01eb96cd19e7601e3", - [] - ], "virtual_authenticator.html.ini": [ "b5683f8fa991a1760b40f37d01f082e4b5a49696", [] @@ -449004,7 +449860,7 @@ [] ], "css-view-transitions-2.idl": [ - "89e57e251b1783e2d5c3641cfbf9861adcf87487", + "d1e4eeb11e581d8f63b99fe5e08c83801aba16e8", [] ], "css-view-transitions.idl": [ @@ -449044,7 +449900,7 @@ [] ], "document-picture-in-picture.idl": [ - "f54f437a9365a7f8540fb1bb1c42a3c9118cbf57", + "888855b38f2d0d4881974b7f7a6703ca674e4847", [] ], "dom.idl": [ @@ -449156,7 +450012,7 @@ [] ], "html.idl": [ - "7211231980f6d71e04bd0f33ac415b86c7440c00", + "d2caf12b5bf6046c3a03869178066be97b074757", [] ], "idle-detection.idl": [ @@ -449227,8 +450083,12 @@ "10e2e1f012e92139a1f6cdfe3bf4f4d7e52474d1", [] ], + "long-animation-frames.idl": [ + "79a42ca8f0a5a853712062db8ef55a025f6476db", + [] + ], "longtasks.idl": [ - "e5b6ece16a1c373905f1b8a8561b1dc402704311", + "3717469fd09ac2c7cba97585d5c4afee4d101b98", [] ], "magnetometer.idl": [ @@ -449276,7 +450136,7 @@ [] ], "mediacapture-streams.idl": [ - "373f0c328d93d5ca2699c68a523860f69debe1f9", + "f2ca21389e921ff29e5c5cb5ccc96278a00d6777", [] ], "mediacapture-transform.idl": [ @@ -449304,7 +450164,7 @@ [] ], "navigation-timing.idl": [ - "355950160e336d9c1331816f2b2f72cb5ff6e4c5", + "b381b486e1978fa771268d13694fabf5d9529378", [] ], "netinfo.idl": [ @@ -449372,7 +450232,7 @@ [] ], "permissions.idl": [ - "fbcb674e5618af1e96b9044cbd0b29ef82d06c14", + "62c2e3ad76f0ebe99b46b3ea4aa6ec6451bdad31", [] ], "picture-in-picture.idl": [ @@ -449564,11 +450424,11 @@ [] ], "turtledove.idl": [ - "8a2d7bb594f56d163acbc0cd88605857f1c608ca", + "87aec6e6bca8e178d54f7f867f3d5f9dea50b1d7", [] ], "ua-client-hints.idl": [ - "6a40e1bdc4bae6dddcb649d7f146fb6aba74b516", + "5d44b0dd80a1997674daa7972a3ce3e5d8a7a04c", [] ], "uievents.idl": [ @@ -449616,7 +450476,7 @@ [] ], "web-animations-2.idl": [ - "f9f68a0d49a5ba71ade7e4a62546020d3adc22c5", + "4c3af535149ec218d0ed99c59dee90e14ec4d5ab", [] ], "web-animations.idl": [ @@ -449688,7 +450548,7 @@ [] ], "webcodecs.idl": [ - "48d89d0b47783dbd59b1fe6a6d920909bd7d8551", + "aa823aa52dfe94540bcd7d295af33f405d6e16d9", [] ], "webcrypto-secure-curves.idl": [ @@ -449724,7 +450584,7 @@ [] ], "webnn.idl": [ - "50ee64b185ab933d95b20731daf7cf1d04a10f74", + "0b8ea7cb3440a2b016643669bb976a11c0c095a5", [] ], "webrtc-encoded-transform.idl": [ @@ -450199,7 +451059,7 @@ ] }, "lint.ignore": [ - "ebe734d00836233082291ab02ed0db2ca51a7936", + "0258a1117aa473e3fba1c9c45fc89685cf9221ad", [] ], "loading": { @@ -460736,7 +461596,7 @@ ] }, "router-rules.js": [ - "5a1c53671b9ef175d83a966290f49c120707a525", + "c3aef4272f2cf5e9e2b54fbf0fd72557ae46221a", [] ], "simple-test-for-condition-main-resource.html": [ @@ -463789,7 +464649,7 @@ ], "tasks": { "test.yml": [ - "d62312737c843cd2050b5a9730f7a7b3ba8f8c5e", + "c172e6b7314022829f0dc0f08421198e8a0f0de6", [] ] }, @@ -463825,7 +464685,7 @@ [] ], "test_valid.py": [ - "6960a2cc47e6f7e7c67ec4dd3c2d000399bb1a8c", + "62bb09a1c3c0394379bba3f26ce087298adc508e", [] ] } @@ -473882,7 +474742,7 @@ [] ], "browsing_context.py": [ - "cdb5e11816dbbe2f57f3c2df7134d4fbdebca9db", + "f2d2fad858c21edc2ca9618cf5c84a3ac96428ca", [] ], "input.py": [ @@ -473898,11 +474758,11 @@ [] ], "script.py": [ - "737426a5d54641eae811844b84ad128426d25ef0", + "01855766d8c1e6fe6cf042fe9605e2cf857c44c3", [] ], "session.py": [ - "fe1c0385105a13fda3087117779a1e8b83c8d07a", + "725aab1bec72fa68a2b516e035c857d4cc1f570c", [] ], "storage.py": [ @@ -473983,7 +474843,7 @@ [] ], "android.py": [ - "15a4c413d5b20449db7f0c920c1b303e33f5bd1f", + "f25350db078a8612e37f262b98b847a914e5ce2a", [] ], "browser.py": [ @@ -475189,10 +476049,6 @@ "604e765da46d85fe8ab85d3097fe7c2cbe00a930", [] ], - "idlharness.tentative.window.js.html": [ - "07847fdb39ea21b3feeebc10501d3aa6bdf97881", - [] - ], "no-require-trusted-types-for-report-only.html.headers": [ "aa00fcc15a30ef1f8968be44abc1a9e934a31979", [] @@ -477785,12 +478641,12 @@ }, "browsing_context": { "__init__.py": [ - "dbacac8cf89722be67d37c32d3139c462846009f", + "51b3c64b42d3e2527d93445f3bc308d0105e2528", [] ], "activate": { "__init__.py": [ - "5d0b52a5ac4497fbf6bb2f2ab3037048f78a0643", + "86f9ace3ee2d4618a2dcdf2fa3f5cae3c77e1702", [] ] }, @@ -477994,6 +478850,10 @@ "__init__.py": [ "e69de29bb2d1d6434b8b29ae775ad8c2e48c5391", [] + ], + "conftest.py": [ + "f114ca701e5e9bf798c069e55252a20886f7e9a2", + [] ] } }, @@ -478722,7 +479582,7 @@ [] ], "fixtures_bidi.py": [ - "9566e6ebd19283b9d6cf9174bf4e2320d1e79fa7", + "7f3e4f9a9a72db37d21fbbc37db92246ccc605e0", [] ], "fixtures_http.py": [ @@ -478747,7 +479607,7 @@ [] ], "files.html": [ - "3a710f0989e6cd8d07c688a4ae83b6dc80dc4445", + "be2479184463d9f851237b4112418079e9b76a88", [] ], "frames.html": [ @@ -479285,6 +480145,10 @@ "248902c6658a5142e7ed21689d246f6576894c31", [] ], + "resample2d.json": [ + "605d1b55c017a57748547bd472ccbc3375ab2381", + [] + ], "reshape.json": [ "ada3daa4e2de4beaa718f976f0af094c4652cd1e", [] @@ -479347,7 +480211,7 @@ ] }, "utils.js": [ - "0e404dbcd07e4b935e4b5bee35f07785ded19c19", + "375c71174a8d110ee729ab452b097c0bed2522c0", [] ], "utils_validation.js": [ @@ -479549,6 +480413,10 @@ "be8cb028f08842589d6c2f06391bc5c8469048d2", [] ], + "RTCRtpReceiver-jitterBufferTarget-stats-helper.js": [ + "31d80926d33b559fd31c5da4b0dea8d18e3ab34c", + [] + ], "RTCRtpSynchronizationSource-helper.js": [ "c8a3e45aae9ff952215d68a4a2b5cfdfc6278e4f", [] @@ -483221,7 +484089,7 @@ [] ], "WorkerNavigator.js": [ - "76834e16c7ad19f57cb9fd9329375ec092910b7c", + "4258384ac444758694f7f7cba78548a4c7fe6f09", [] ], "WorkerSendingPerformanceNow.js": [ @@ -488103,116 +488971,83 @@ {} ] ], - "idbobjectstore_put.htm": [ - "e277ce54a2022a6fda5b64b5a10a7bef1f8e3b8a", + "idbobjectstore_put.any.js": [ + "89303291e9d6923b4c769f6eddb2360e60e171be", [ - null, - {} - ] - ], - "idbobjectstore_put10.htm": [ - "6882e8e4b5c5bc0404bff41816dee36580abf2a5", + "IndexedDB/idbobjectstore_put.any.html", + { + "script_metadata": [ + [ + "global", + "window,worker" + ], + [ + "title", + "IDBObjectStore.put()" + ], + [ + "script", + "resources/support.js" + ] + ] + } + ], [ - null, - {} - ] - ], - "idbobjectstore_put11.htm": [ - "a5ed2db357b56f1d690e61b8c2fda58020d2e8a6", + "IndexedDB/idbobjectstore_put.any.serviceworker.html", + { + "script_metadata": [ + [ + "global", + "window,worker" + ], + [ + "title", + "IDBObjectStore.put()" + ], + [ + "script", + "resources/support.js" + ] + ] + } + ], [ - null, - {} - ] - ], - "idbobjectstore_put12.htm": [ - "0693980277dd66d6d5e137bdc0ed5dcc2d8c1718", + "IndexedDB/idbobjectstore_put.any.sharedworker.html", + { + "script_metadata": [ + [ + "global", + "window,worker" + ], + [ + "title", + "IDBObjectStore.put()" + ], + [ + "script", + "resources/support.js" + ] + ] + } + ], [ - null, - {} - ] - ], - "idbobjectstore_put13.htm": [ - "8ae6561fc5c61765310d2cc12752ba77095076c5", - [ - null, - {} - ] - ], - "idbobjectstore_put14.htm": [ - "bc5647f4c11a87140f87d09582b10e2d353af376", - [ - null, - {} - ] - ], - "idbobjectstore_put15.htm": [ - "e7affaddd444f44b21119ca0c15cb7dcea90599e", - [ - null, - {} - ] - ], - "idbobjectstore_put16.htm": [ - "e298ba88493f322c611ad964f6804d46584d8239", - [ - null, - {} - ] - ], - "idbobjectstore_put2.htm": [ - "733e2cb1549fc66213ac1931e4ed483fe13a5f19", - [ - null, - {} - ] - ], - "idbobjectstore_put3.htm": [ - "b7792bdaf1d848a689ca9a18048a21e390b223c2", - [ - null, - {} - ] - ], - "idbobjectstore_put4.htm": [ - "4a59836eb6313ed6bd213049c98d0f241c2a1f2b", - [ - null, - {} - ] - ], - "idbobjectstore_put5.htm": [ - "6e945e27d2a1870ebbbc107be50d5ed60b8a3744", - [ - null, - {} - ] - ], - "idbobjectstore_put6.htm": [ - "f0b6f0b98dca08dc9f167f6776a6c58bc56149b6", - [ - null, - {} - ] - ], - "idbobjectstore_put7.htm": [ - "e41959f21102dc91eb257b4e717445905236ed2b", - [ - null, - {} - ] - ], - "idbobjectstore_put8.htm": [ - "2bec639d322d675f35f223c0bd49ef83cd3cf63b", - [ - null, - {} - ] - ], - "idbobjectstore_put9.htm": [ - "dff9415d691c4316f03787fd97076786bbdbbbe9", - [ - null, - {} + "IndexedDB/idbobjectstore_put.any.worker.html", + { + "script_metadata": [ + [ + "global", + "window,worker" + ], + [ + "title", + "IDBObjectStore.put()" + ], + [ + "script", + "resources/support.js" + ] + ] + } ] ], "idbrequest-onupgradeneeded.htm": [ @@ -497962,7 +498797,7 @@ ] ], "comp_label.html": [ - "8b569ba6fff7b0e89a7a9db4c33cea08445be3a2", + "3eda2a5367b857aeab4eb15ee4980a7776700cb7", [ null, { @@ -519042,7 +519877,7 @@ ] ], "digital-identity.https.html": [ - "1a9e09dbf3cfb69f1ecfe52a28f45d07e7113b6c", + "82630e2a5bd23502f23233f4a533b8e7a1ea8b03", [ null, { @@ -519069,6 +519904,15 @@ ] ], "fedcm-authz": { + "fedcm-continue-on-disallowed.https.html": [ + "fcda3a3dd591c694d341f5a04fa42ce667ea1ad6", + [ + null, + { + "testdriver": true + } + ] + ], "fedcm-continue-on.https.html": [ "3ce1f51e370535791961bf984d1f6ffc77b3ffbf", [ @@ -519491,6 +520335,17 @@ } ] ], + "fedcm-same-site-none": { + "fedcm-same-site-none.https.html": [ + "77ecdaff9fe36e3bb4606798e9f69b4708cd2856", + [ + null, + { + "testdriver": true + } + ] + ] + }, "fedcm-store.https.html": [ "d1e6ef464c4f3eb8e2d4118d1a5e2dc498410e05", [ @@ -521448,42 +522303,28 @@ ] ], "anchor-center-htb-htb.html": [ - "7012208044af1c3ce7bafdfddfedf4f0c103e2cd", + "20abb2ed096c934bb47447d64d5b717012f8ef47", [ null, {} ] ], "anchor-center-htb-vrl.html": [ - "584424d306fb54fcd62302e61734c0da0dec8ac2", + "099d9cd15b43ae33024fc1fb659563bb5141baa2", [ null, {} ] ], "anchor-center-vrl-htb.html": [ - "c7ee2302626eb8fad64aaa54768b231f18b98dd3", + "3e4f485cec3d730ecbadb695fc214269f2e101ea", [ null, {} ] ], "anchor-center-vrl-vrl.html": [ - "d314dc7f2fc696d2baf661e29b65da22a1aad028", - [ - null, - {} - ] - ], - "anchor-default-003.html": [ - "00c20324344d0d888aace7f5414ba7e5354af786", - [ - null, - {} - ] - ], - "anchor-default-basics.html": [ - "783cb539cc39bc68040b74fc9ac28c1bf2be38df", + "fe40c731419c42ff286e24d653082220358cf137", [ null, {} @@ -521504,7 +522345,7 @@ ] ], "anchor-getComputedStyle-003.html": [ - "da9ec4a1451ad9f47290b9ef268a69b22d5ca928", + "fc384ab4cdf749e5dcbc16fbe0f3403360234ef9", [ null, {} @@ -521602,14 +522443,14 @@ ] ], "anchor-name-style-contained-dynamic.html": [ - "50cec96f366ada5a2afee57444f560f936c77ea4", + "1413fe9d772b67e4cd59b923e81b99fe8f7ac4eb", [ null, {} ] ], "anchor-name-style-contained.html": [ - "a5295758891e4e29353e3e1942c547b7d5c92ea5", + "b88afe4107dd573aa7a2ec1b03e7501a7196948f", [ null, {} @@ -521840,126 +522681,126 @@ ] ], "anchor-scroll-002.html": [ - "8ef6f500a1f2fbc562def420ac79ca9939d50f03", + "2c51e6a1a3ab74ff7963c5e77f0ec8dcc0d1f408", [ null, {} ] ], "anchor-scroll-003.html": [ - "c1b31c0becf286b0b155578f29c6b7e9a6cd9e1e", + "6c0dd08355c47152b281e07b759a9b4c513af180", [ null, {} ] ], "anchor-scroll-004.html": [ - "d08279118d9e9ca848fd9fb9e6e56fc77ade42ff", + "c0e0afb23f143e157b163cd28af96db62496b457", [ null, {} ] ], "anchor-scroll-005.html": [ - "a9a7d24d2b9ccd9af9a9771f66c7a3da433a1efa", + "f8f26b719f07c2d38324f3e1b7e0287e2b7ffd51", [ null, {} ] ], "anchor-scroll-006.html": [ - "2ffd026b55296f105e37141646f12d999cd56d5b", + "9c8a8c0ac2fe3cdb8942cbe08dc6a97591a5dc30", [ null, {} ] ], "anchor-scroll-007.html": [ - "ec519106190c7cebe095a2dc4396cfe94486fb61", + "7e288d713f6b6f71e765398c894a966b4a0ed212", [ null, {} ] ], "anchor-scroll-js-expose.html": [ - "1ef44d03c2202dfc053f27c0e12e2a397634267e", + "3b3f1a06086ae85d2fa1944cc1c2beb41935656b", [ null, {} ] ], "anchor-scroll-position-try-001.html": [ - "b696ae0060c544390ed2b26e6f4071af53afd6b6", + "3130018e73d921fb7d742fc1e7591672c4130488", [ null, {} ] ], "anchor-scroll-position-try-002.html": [ - "3b84124705c58514d66d437c19113a76848d19eb", + "52bbcd62fc1931e3e3ed9d81cebc12e39d1411be", [ null, {} ] ], "anchor-scroll-position-try-003.html": [ - "dd9fdc92c2e7b93b3254f1a19097fb422a7f3da8", + "b89a574d768edf3b13e7ac90d51aecddec553380", [ null, {} ] ], "anchor-scroll-position-try-004.html": [ - "0aab60b7a81c247d1a2621f5e3d04e71b1b44693", + "bf0bee972deadd0c45f037c0fc455cda2923623c", [ null, {} ] ], "anchor-scroll-position-try-005.html": [ - "e2dac13abd745dfa1a60804dc3ff77bbae492f66", + "197a9e4f79c2a89fb8d4d3e1e8f7239ae696cd4c", [ null, {} ] ], "anchor-scroll-position-try-006.html": [ - "1f9004de54f717d66091f5fb0965dac24ac15f3b", + "132c45c89c75d69030db21539c7d84a996fa6c42", [ null, {} ] ], "anchor-scroll-position-try-007.html": [ - "32b7f641732662c7cc4bc132a52401cf2210e281", + "a02bd35a669a920272ab8f05c199d0e831a5e58f", [ null, {} ] ], "anchor-scroll-position-try-008.html": [ - "99f180bb46338deb32640d2143a24b9a99d508ad", + "2deddd587ef2a52a0548cf6498f2393e5f351e10", [ null, {} ] ], "anchor-scroll-position-try-009.html": [ - "0267d1987be687fd04031c895df486d108d0f628", + "0d7d6b077fc734b72283c87c383d85f54c34573b", [ null, {} ] ], "anchor-scroll-position-try-010.html": [ - "133649c720f0a8f80741fcabfcec27a2d7b344a2", + "21f32ad068e64d6231c42f56ec172b83a309eac6", [ null, {} ] ], "anchor-scroll-position-try-011.html": [ - "005a4ee728cbf6566f9a32b1626b04324c42c36f", + "5de84610105129ca6b86c0c83bd64a85bdde1b68", [ null, {} @@ -522036,14 +522877,14 @@ ] ], "at-position-try-cssom.html": [ - "d4a1f4fa24c04bfb1be8fab64ad33ec035a44dd3", + "dc248f4e511e66c20a384cbe23b407fb576ccb19", [ null, {} ] ], "at-position-try-invalidation-shadow-dom.html": [ - "e5d6c51a0b95bcd3ba873b05d982054a7d1a49f9", + "50e67de1aef6d9a5ae647d30b36cd9fad880476e", [ null, {} @@ -522071,7 +522912,7 @@ ] ], "inset-area-basic.html": [ - "4a636355583d4a41d168f5128b67ce5451fc112f", + "bf5daefe9abe701e632bc70c40289a60046b8ac2", [ null, {} @@ -522106,7 +522947,7 @@ ] ], "inset-area-wm-dir.html": [ - "5268cba7e5ec5dfbd1b0d0b675bb94c19fee3cdd", + "c475810a1975c10936903dea0d7b39c9f0c7196f", [ null, {} @@ -522114,14 +522955,14 @@ ], "parsing": { "position-try-options-computed.html": [ - "ac84b8fa4b312890070a0c256e9f6561304d8196", + "f0944b7faaa6e1960163d560c0a0f64d4c1bed9e", [ null, {} ] ], "position-try-options-parsing.html": [ - "cb250a178d4236405ba26bdf19935f4d8c1b3c87", + "303cc4d0dd2de76ac8e3e33d6a498f6d203041a7", [ null, {} @@ -522142,50 +522983,57 @@ ] ], "position-try-parsing.html": [ - "8c36ddbaace11770b015c2f2d55c77c9b736b7db", + "7f50459710629cefd0282a8d78a60e8d760e719f", [ null, {} ] ] }, - "position-fallback-basics.html": [ - "bfeb921de1bab4b194f0bb07b46bc7208c5e2166", + "position-anchor-003.html": [ + "6117027e22029cdef83e9c01190af1fbb90c75ac", + [ + null, + {} + ] + ], + "position-anchor-basics.html": [ + "f9fe9dd6f8f1ad73076536ca00e8ea5ddc37df25", [ null, {} ] ], "position-fallback-bounds-001.html": [ - "ebd1e78fb9a86fd595a4607fa7285f5734ce5726", + "f379b691e0bf1b345fd5e2622dc47a5b81bdbc3d", [ null, {} ] ], "position-fallback-bounds-002.html": [ - "159484ad33b366c09e5d2c404660e8d3f4ad9617", + "960a530b97b1967f8493000826a631a69115b547", [ null, {} ] ], "position-fallback-bounds-003.html": [ - "9da7bf9ccd774b28aaa5dc83dd7d8a3f6b458902", + "1bee43b36161205b3ebd1cc33c2d2dc347c5674c", [ null, {} ] ], "position-fallback-bounds-004.html": [ - "eeee710e0fa242eafea6f1957e84c86958fec256", + "15bdf11327617b0fe8140ba67dd6f1cb2eb207e8", [ null, {} ] ], "position-fallback-bounds-005.html": [ - "fecd4328a5996b5cd6c30e186b0343043a3642b9", + "d1e9fd7f51e8b38769a6d54423d51da913c0f89e", [ null, {} @@ -522206,7 +523054,7 @@ ] ], "position-try-001.html": [ - "a15c808d95658ee022723ff37985ad66c279c31e", + "47fcbb8393962aff84d21c85db140ee7c7dd95cf", [ null, {} @@ -522234,7 +523082,7 @@ ] ], "position-try-cascade-layer-reorder.html": [ - "6c09fd0ea17b17b27428408751f7b60230382391", + "4f38806f604f612065783c9b3253fb1f6bda0184", [ null, {} @@ -522268,6 +523116,13 @@ {} ] ], + "position-try-options-limit.html": [ + "32a4f592fa05fcc4b4f058a60c92d2b37d0afb75", + [ + null, + {} + ] + ], "position-try-pseudo-element.html": [ "5895f2a4077b697b4d59dec4e0cb2dbace4aefd6", [ @@ -522276,14 +523131,35 @@ ] ], "position-try-tree-scoped.html": [ - "a8fe0106833d08d8c015c7c9ebe6ecb2efb52dca", + "d0c94fd6797dc7a87d129769f06a55cfca3d88a5", [ null, {} ] ], "property-interpolations.html": [ - "878f46375b7505df39034580154c0491e0cee365", + "1b8621a21300d7574f22e69746f46394ba479cbf", + [ + null, + {} + ] + ], + "try-tactic-base.html": [ + "b52c3d15e0f231dc384f538e785d24935544a082", + [ + null, + {} + ] + ], + "try-tactic-basic.html": [ + "472e204096ddfec2e0ecc54eda86b3d248623001", + [ + null, + {} + ] + ], + "try-tactic-sizing.html": [ + "432992491dd8828f08f2db2d6b4a1df6abcc96f3", [ null, {} @@ -525390,7 +526266,7 @@ ] ], "color-computed-relative-color.html": [ - "b6e628e78a50e4e111bfc8cc34882a718ae43cb2", + "95c8eee226b6c28bb2e970cb9c1d3c372613df2e", [ null, {} @@ -525537,7 +526413,7 @@ ] ], "color-valid-relative-color.html": [ - "652c0c8fc458d965f0f7460290ab9538331030b1", + "5f83f0f0746c376be9b9c5ef57b22379854fe374", [ null, {} @@ -534576,7 +535452,7 @@ ] ], "grid-shorthand-serialization.html": [ - "7751fd883b2938dcbaf85e7a66e2c24a1b620579", + "29bab75f617eb53642a3ec29b0689c6b8cbfbcf0", [ null, {} @@ -535904,6 +536780,20 @@ {} ] ], + "margin-block-interpolation.html": [ + "be4b6fdd8e0b8bd24d1545ffb3fa4651227bdbfa", + [ + null, + {} + ] + ], + "margin-inline-interpolation.html": [ + "86408ea6e94271efc7aa7e2c05b99538ba7d1b81", + [ + null, + {} + ] + ], "padding-block-interpolation.html": [ "881c36e323d6e7b390856193e166b09ff6366b73", [ @@ -537353,7 +538243,7 @@ ] ], "parsing.html": [ - "f29eff9730788fc264355734e30ece9838d96225", + "a97716ff9d5a4d59b7090992bc9dc11268c36aff", [ null, {} @@ -540934,6 +541824,15 @@ ] ], "multiple-aligned-targets": { + "common-to-both-axes-supercedes-first-in-tree-order.html": [ + "d9989316e40d18d13b69c74bcabead8551b469fe", + [ + null, + { + "testdriver": true + } + ] + ], "nested-supercedes-common-to-both-axes.html": [ "15743026bc3ea726e573d5a6311f87f8a68e8cab", [ @@ -540944,7 +541843,16 @@ ] ], "prefer-common-to-both-axes.html": [ - "09b81e7c0dad69746012a6738b2f21689b699806", + "a44c8d7c48a593f03b6f18100d5524065a919951", + [ + null, + { + "testdriver": true + } + ] + ], + "prefer-first-in-tree-order.html": [ + "f4b32e10c72b618268e18b63e0e50cc310a9c4f0", [ null, { @@ -540979,6 +541887,15 @@ } ] ], + "prefer-targeted-element-main-frame.html": [ + "6221b0e4b51c238e10a4ec32c47737da62a1d13a", + [ + null, + { + "testdriver": true + } + ] + ], "prefer-targeted-element-positioned.html": [ "3a2b1a90892436f1a074f89d06c633b40330ed50", [ @@ -540989,7 +541906,7 @@ ] ], "prefer-targeted-element.html": [ - "1f7f087180df8377130b8284e5c3a50a186e280d", + "ceb9bd2ee06139720a085b0a932e1a779454546d", [ null, { @@ -541410,14 +542327,7 @@ }, "snapchanged": { "snapchanged-after-layout-change.tentative.html": [ - "293400edda2305d360c10d6b5a9d720a70ae1ef2", - [ - null, - {} - ] - ], - "snapchanged-ensures-dom-order.html": [ - "10bc73b622c34396c39c5940ca1b2046d49b7630", + "a3ba05fdf5e9ffa42ab5689349e33b3c9a0aee15", [ null, {} @@ -541431,21 +542341,21 @@ ] ], "snapchanged-on-programmatic-root-scroll.tentative.html": [ - "2e33c3c970f6595a614473aab4606df60e40e89c", + "98ec2e5d75c5258207281be1839d669bb0e242f5", [ null, {} ] ], "snapchanged-on-programmatic-scroll.tentative.html": [ - "6082e0901309dd9ea023c49ea90f3f377f0038b7", + "9dff856f344b4bc4430afe5544bcaedb8f1a5554", [ null, {} ] ], "snapchanged-on-user-root-scroll.tentative.html": [ - "5405d778bf0f5ad500087343fff834c666669f45", + "127376caa2f3e0f98c032e7f4debfdd2ac582aaa", [ null, { @@ -541454,7 +542364,7 @@ ] ], "snapchanged-on-user-scroll.tentative.html": [ - "4f362007225f92b5a99414f1117cc78f3272afd3", + "91194642b5589b61b419c6091f4a082adb555ed5", [ null, { @@ -541470,7 +542380,7 @@ ] ], "snapchanged-with-proximity-strictness.tentative.html": [ - "cb55054e6f834e0b989139d869037a2286e9274f", + "96cab337398654fd778eb42b6a84167b72c9363d", [ null, {} @@ -541479,7 +542389,7 @@ }, "snapchanging": { "snapchanging-after-layout-change.tentative.html": [ - "5474b7ddce2416ef3075dd103b52a41814eb6b24", + "0c0bfb623e106800597c0f0caafcd4afb2f27b75", [ null, { @@ -541488,7 +542398,7 @@ ] ], "snapchanging-on-programmatic-root-scroll.tentative.html": [ - "d031811c17e8e28e04cc20b3ce5c5711ab83d755", + "5d75715edb7be4a5eae7d55f1a28ec031d080f13", [ null, { @@ -541497,7 +542407,7 @@ ] ], "snapchanging-on-programmatic-scroll.tentative.html": [ - "5a0de1deb329297f011768cf0c13c28fc8a1aab6", + "25cdc44c662c90ba03db38e3ddb36c33dc9c7d2c", [ null, { @@ -541506,7 +542416,7 @@ ] ], "snapchanging-on-user-root-scroll.tentative.html": [ - "29d0239e2d692d4369f849a820c5c85adce6e47f", + "e1a1e8aff6cc616eebb00d260b5b48b90e1b6d69", [ null, { @@ -541515,7 +542425,7 @@ ] ], "snapchanging-on-user-scroll.tentative.html": [ - "2c1f9742b622050d07367b5b6f3ddffe60a9381c", + "35ee8a51965483fcd0627ebdb5950a1ef4901d8a", [ null, { @@ -543617,7 +544527,7 @@ ] ], "custom-property-rule-ambiguity.html": [ - "50728bc94c258397f57312fbe8f837bf68b354ca", + "b1adce7f9eb7a3225e525696e7d5dfb9e2fdf700", [ null, {} @@ -549536,7 +550446,7 @@ }, "properties": { "accent-color.html": [ - "a02a8493be32e879085415061497bd8c79726f04", + "8cd0b986e8665ee6a4e9830b9346f5a4957b89b8", [ null, {} @@ -549669,7 +550579,7 @@ ] ], "background-color.html": [ - "d0a55d52d4d00ed56610297ec3e3d5a08e600e38", + "f684a40fb62528d123c224e16db4bc62254e23e6", [ null, {} @@ -549739,7 +550649,7 @@ ] ], "border-color.html": [ - "a38f7c7d80600679b4de765ee7fd33794cd681bd", + "3ce4ca94fce9e616074827e8cc57b48652d5e202", [ null, {} @@ -549837,7 +550747,7 @@ ] ], "caret-color.html": [ - "b79beacf4be6aa58c06709633d1e0ec30743693d", + "5ea78a08d389852e0346c913c9c6b98ec9252961", [ null, {} @@ -549886,7 +550796,7 @@ ] ], "color.html": [ - "58555ff8052fc04e2f9da56e45b9d2e6dced85f1", + "f56182977c58a482f240f82930a8af9d20bd360f", [ null, {} @@ -549900,7 +550810,7 @@ ] ], "column-rule-color.html": [ - "ea27c9eaec6418953f1fc57dd5a6504995eb676a", + "3d35b856d71f2de9c87e83aa1ace57b3b4d8cf5d", [ null, {} @@ -550117,7 +551027,7 @@ ] ], "flood-color.html": [ - "99ee9f05adff154ebe56bc3806c195b81dbde7d2", + "bb3ddc9fc9aeb948d47cf87ed20dbb123cfbfd52", [ null, {} @@ -550404,7 +551314,7 @@ ] ], "lighting-color.html": [ - "5d69f2fa4aa3a276f30e89cded7ac0cc28e2b179", + "aec16433723313664ba37974c5190be08a540ad7", [ null, {} @@ -550572,7 +551482,7 @@ ] ], "outline-color.html": [ - "e779d709fe253cd518a0e9b0d85ebb4260c173cf", + "6bfec87a8c799e621d7c7c5d8b3b33a09c35c62f", [ null, {} @@ -550803,7 +551713,7 @@ ] ], "stop-color.html": [ - "36b364bd4f3b87812a6449da638a8a54633439e7", + "83dcf0218a0cf8903ae066bb14c04032a65fa3dd", [ null, {} @@ -550915,7 +551825,7 @@ ] ], "text-decoration-color.html": [ - "f49a5739fdbad8a46dd6a997b8bd18fe9892e9c6", + "b76f82c3ea13fe06ab3318435fb456949b0d8ea9", [ null, {} @@ -550964,7 +551874,7 @@ ] ], "text-emphasis-color.html": [ - "8f106e6054f6a97206f5150373d6287488dab623", + "8623d3dfb9b741c7243f45374e22f71ebadad0cb", [ null, {} @@ -551515,6 +552425,13 @@ {} ] ], + "canonical-order-outline-sub-properties-001.html": [ + "aeb98ffa425434a00bab2020799d59b350fcded8", + [ + null, + {} + ] + ], "caret-color-computed.html": [ "0428c783f5b0b0efc664d18529f8cae22acf72e2", [ @@ -552061,14 +552978,14 @@ "calc-size": { "animation": { "calc-size-height-interpolation.tentative.html": [ - "525c38805d66ccf00719d3ce64a2703c32629042", + "04c44d0904e6d2b7e487b1eacb2daa6be1dbab02", [ null, {} ] ], "calc-size-width-interpolation.tentative.html": [ - "ff72ba6a0d84bcafffb75cd6c7f87731a053219a", + "b8b24935c3758c8aff82c52de95b0bf189df4d00", [ null, {} @@ -552076,21 +552993,21 @@ ] }, "calc-size-height.tentative.html": [ - "3c97ceb15876010c8ef145bd5c5c3b5a5318623d", + "61e59f83db491f4d8f7849d5e07cb79d99689204", [ null, {} ] ], "calc-size-parsing.tentative.html": [ - "bc0048f826eaad91acfa194db5431aaa98c6137b", + "e51247c872672653f6ae29c69d8d1d4c2765899f", [ null, {} ] ], "calc-size-width.tentative.html": [ - "c8000f345f73b9019128bea3ceb2dbc65d9eb307", + "96b2719c5d18fa6b0f96d9de196b77a045e8d8d5", [ null, {} @@ -552511,7 +553428,7 @@ ] ], "round-function.html": [ - "29ec60ea44585b87386d0cc5b6e4df2b5b1230a2", + "338ecaed9044d9dc270557bc15c97b4531b74ace", [ null, {} @@ -552525,7 +553442,7 @@ ] ], "round-mod-rem-invalid.html": [ - "01268091908f8366472ae5a6bfea040859e663c8", + "5e22012743e7346a6486ec5953ad3eb3bbc32e5f", [ null, {} @@ -554452,6 +555369,13 @@ {} ] ], + "cssstyledeclaration-csstext-setter.window.js": [ + "4474358ed0f74d3a48c34ba2753aa7fd18efafc7", + [ + "css/cssom/cssstyledeclaration-csstext-setter.window.html", + {} + ] + ], "cssstyledeclaration-csstext.html": [ "686684e614f6f9ab0956fde06ca556654538930c", [ @@ -554754,7 +555678,7 @@ ] ], "getComputedStyle-pseudo-with-argument.html": [ - "452f2bb2c63e13615c1c66cc57702b40226e1d37", + "bc23ad180bb009c88cb2cc9222e79f8bd863f5e1", [ null, {} @@ -563887,7 +564811,14 @@ ] ], "Node-appendChild-script-in-script.tentative.html": [ - "71081b49fec1322d12c07efc5eb735d9fef2c2e6", + "39c439332366816dc8b6b7dce3873648dde26a6c", + [ + null, + {} + ] + ], + "Node-appendChild-script-with-mutation-observer-takeRecords.html": [ + "33598e640821086bb4ade5a381f161cf7a3aebe9", [ null, {} @@ -563941,6 +564872,13 @@ "dom/nodes/insertion-removing-steps/insertion-removing-steps-script.window.html", {} ] + ], + "script-does-not-run-on-child-removal.window.js": [ + "ed5bfbaa60116c4994ab7602d022d53154365716", + [ + "dom/nodes/insertion-removing-steps/script-does-not-run-on-child-removal.window.html", + {} + ] ] }, "prepend-on-Document.html": [ @@ -564071,6 +565009,17 @@ {} ] ], + "observable-from.any.js": [ + "80408ddced7ef5dd6c81855e6d26f0326d413226", + [ + "dom/observable/tentative/observable-from.any.html", + {} + ], + [ + "dom/observable/tentative/observable-from.any.worker.html", + {} + ] + ], "observable-map.any.js": [ "275505fb5d02fd4de353fa44311fdc696e3772be", [ @@ -564310,6 +565259,17 @@ } ] ], + "Range-in-shadow-after-the-shadow-removed.html": [ + "54ea8aabeab7337e15fd51bfb121b7a73066d6b1", + [ + "dom/ranges/Range-in-shadow-after-the-shadow-removed.html?mode=closed", + {} + ], + [ + "dom/ranges/Range-in-shadow-after-the-shadow-removed.html?mode=open", + {} + ] + ], "Range-insertNode.html": [ "b0a9d43f982dd621738d019cd881b02f02cd4a36", [ @@ -583965,6 +584925,15 @@ } ] ], + "content-shared-storage-get.https.html": [ + "8afa8de54160ea130300f6973390816e8b3d7e88", + [ + null, + { + "timeout": "long" + } + ] + ], "coop-bcg-swap.https.html": [ "5a414fdfa168ca3aef0eeef67199e8d71c47fdc4", [ @@ -613123,7 +614092,7 @@ }, "pageswap": { "pageswap-cross-origin.sub.html": [ - "44479cf0debbbfd6fb582fba69c48bdc9e1c6555", + "4b68c32378fc7edbc88c6d95def9788b61aeb4ee", [ null, { @@ -613174,6 +614143,13 @@ {} ] ], + "pageswap-push-with-cross-origin-redirect.sub.html": [ + "8ecf920b510a99d24f05048cd35f8c7e2b9e6f97", + [ + null, + {} + ] + ], "pageswap-push-with-redirect.html": [ "8252fff84d6de401ea577fc22f218aa358f1e67d", [ @@ -613195,6 +614171,20 @@ {} ] ], + "pageswap-replace-with-cross-origin-redirect.sub.html": [ + "c6ced62057f48ae4a37430553de14c58dfa35ff8", + [ + null, + {} + ] + ], + "pageswap-traverse-navigation-cross-origin-redirect-no-bfcache.https.sub.html": [ + "55438307212ead6fb2c941bbfabc3d898ce98680", + [ + null, + {} + ] + ], "pageswap-traverse-navigation-no-bfcache.https.html": [ "9e8c0e100ebed2b874556acebf00a1d09045de04", [ @@ -626771,22 +627761,6 @@ ] ] }, - "webgpu-access": { - "2d.webgpuaccess.getTextureFormat.rgba16f.tentative.https.html": [ - "a76c49d2d47fb71db18597791fe001a887d399f0", - [ - null, - {} - ] - ], - "2d.webgpuaccess.getTextureFormat.rgba8.tentative.https.html": [ - "ef576133742f45a19412809062bdddc67b949de6", - [ - null, - {} - ] - ] - }, "wide-gamut-canvas": { "2d.color.space.p3.fillText.html": [ "9c3d1b337477aa2029082580687833afee1e4118", @@ -640470,36 +641444,6 @@ ] ] }, - "webgpu-access": { - "2d.webgpuaccess.getTextureFormat.rgba16f.tentative.https.html": [ - "cd478e666fd4eeb6a6b4cafc18eacc2fb31d9ad9", - [ - null, - {} - ] - ], - "2d.webgpuaccess.getTextureFormat.rgba16f.tentative.https.worker.js": [ - "f24b8aa85047c904699c97f95860471e5c1e22cc", - [ - "html/canvas/offscreen/webgpu-access/2d.webgpuaccess.getTextureFormat.rgba16f.tentative.https.worker.html", - {} - ] - ], - "2d.webgpuaccess.getTextureFormat.rgba8.tentative.https.html": [ - "d77a2984087be5977ba1fcf3f834eafb03b8ccf6", - [ - null, - {} - ] - ], - "2d.webgpuaccess.getTextureFormat.rgba8.tentative.https.worker.js": [ - "4d4137e2d3c63c0ab9161ec5f25e1177d83fd862", - [ - "html/canvas/offscreen/webgpu-access/2d.webgpuaccess.getTextureFormat.rgba8.tentative.https.worker.html", - {} - ] - ] - }, "wide-gamut-canvas": { "2d.color.space.p3.to.p3.html": [ "e1391e9010e735c47182d35b0e56f38449eaa76c", @@ -648808,8 +649752,15 @@ } }, "sections-and-headings": { + "headings-styles-no-h1-in-section.tentative.html": [ + "61610c2fd6c8ce6df5efdaf0f48fffd4662bd9b8", + [ + null, + {} + ] + ], "headings-styles.html": [ - "63e6a83e883d7dbbf600165746fc61b016ae6053", + "be531adfcf5b261de59b03cbf3a49cd526309530", [ null, {} @@ -651266,6 +652217,13 @@ ] ], "offsets-into-the-media-resource": { + "currentTime-move-within-document.html": [ + "22b579d720963f79cf13ef17e25c69141182cf31", + [ + null, + {} + ] + ], "currentTime.html": [ "e9b65899412a1db28eeafc3721aabee9e0aa3af9", [ @@ -653754,7 +654712,7 @@ ] ], "sandbox-top-navigation-child-cross-origin.tentative.sub.window.js": [ - "fa71972222b094285f624a8b190f267624c4e8df", + "95d53e1fe3297f3f07011dc4f29597515cd95135", [ "html/semantics/embedded-content/the-iframe-element/sandbox-top-navigation-child-cross-origin.tentative.sub.window.html", { @@ -653789,14 +654747,14 @@ ], [ "script", - "./resources/sandbox-top-navigation-helper.js" + "./resources/sandbox-top-navigation-helper.sub.js" ] ] } ] ], "sandbox-top-navigation-child.tentative.sub.window.js": [ - "53faa99a4083e593d5e3effab4f682a66b3ada98", + "1d5ea93830a6fcbf86c197fa45de3f6a029cb285", [ "html/semantics/embedded-content/the-iframe-element/sandbox-top-navigation-child.tentative.sub.window.html", { @@ -653831,14 +654789,14 @@ ], [ "script", - "./resources/sandbox-top-navigation-helper.js" + "./resources/sandbox-top-navigation-helper.sub.js" ] ] } ] ], "sandbox-top-navigation-cross-site.tentative.sub.window.js": [ - "fcd53e0780e52e2ae1f059525a615f5904d162e6", + "26db4eeaca556347fa955cb859a6b60087bcc551", [ "html/semantics/embedded-content/the-iframe-element/sandbox-top-navigation-cross-site.tentative.sub.window.html", { @@ -653877,14 +654835,14 @@ ], [ "script", - "./resources/sandbox-top-navigation-helper.js" + "./resources/sandbox-top-navigation-helper.sub.js" ] ] } ] ], "sandbox-top-navigation-escalate-privileges.tentative.sub.window.js": [ - "a5cda9b0b981cc0a5281f85897ede3f87481e252", + "2ea0ba606e46ad345f88633ac3243b6109fb11db", [ "html/semantics/embedded-content/the-iframe-element/sandbox-top-navigation-escalate-privileges.tentative.sub.window.html", { @@ -653919,14 +654877,14 @@ ], [ "script", - "./resources/sandbox-top-navigation-helper.js" + "./resources/sandbox-top-navigation-helper.sub.js" ] ] } ] ], "sandbox-top-navigation-grandchild.tentative.sub.window.js": [ - "a07148f8029cad59b12d17d9945909b4f5311594", + "326c1dd54a5b1b30439d82635a38cef1baa57e5a", [ "html/semantics/embedded-content/the-iframe-element/sandbox-top-navigation-grandchild.tentative.sub.window.html", { @@ -653961,14 +654919,14 @@ ], [ "script", - "./resources/sandbox-top-navigation-helper.js" + "./resources/sandbox-top-navigation-helper.sub.js" ] ] } ] ], "sandbox-top-navigation-user-activation.tentative.sub.window.js": [ - "9e0ea57a99e403d70593e588a3c5afe30fc44c2a", + "5079c8ad144608d04a4a755088097230553bb44d", [ "html/semantics/embedded-content/the-iframe-element/sandbox-top-navigation-user-activation.tentative.sub.window.html", { @@ -654007,7 +654965,7 @@ ], [ "script", - "./resources/sandbox-top-navigation-helper.js" + "./resources/sandbox-top-navigation-helper.sub.js" ] ] } @@ -658689,6 +659647,13 @@ } }, "permission-element": { + "bounded-css-properties.html": [ + "98c3d70e98bbe4df28ca765f4e8db3016d8a2974", + [ + null, + {} + ] + ], "invalid-css-properties.html": [ "c7186563f0ae6d8c2c2a8ab2b1d2dcd6c5c9283d", [ @@ -658697,7 +659662,7 @@ ] ], "negative-offset-and-margin.html": [ - "860e637e0a9f540bd786e4fcc1c3c1c3604cbfe0", + "97290bb4df3c1ea7c310cd775d6cfec6635287a4", [ null, {} @@ -669185,7 +670150,7 @@ ] ], "navigator_user_agent.https.html": [ - "10b3dd22497aeda1cbd28e3ae53e67819d8ecde8", + "3fbe3eaa62bd7e42b0c2cae0a6242bf319bf70fa", [ null, {} @@ -671265,6 +672230,15 @@ } ] ], + "minimize_restore_popup.html": [ + "99245083b5990341358ff461a039ad45dab0abee", + [ + null, + { + "testdriver": true + } + ] + ], "send_keys.html": [ "71ca4405f48dae89c820775a10f1d000866380d8", [ @@ -688773,6 +689747,15 @@ "testdriver": true } ] + ], + "pointerevent_touch_target_after_pointerdown_target_removed.tentative.html": [ + "124133d25ccd199441847fe4f86509e745c6e79a", + [ + null, + { + "testdriver": true + } + ] ] }, "idlharness.https.window.js": [ @@ -689356,7 +690339,7 @@ ] ], "pointerevent_mouse_capture_change_hover.html": [ - "ef824dafd963bc97f59283d833d0e0cb4fe97fc8", + "eb4600093872368185ac8f7133a6c1c8dcd9430c", [ null, { @@ -708774,6 +709757,43 @@ } ] ], + "selection-range-after-editinghost-removed.html": [ + "921903062ac6089ec6608acb7c664056c38844f4", + [ + null, + {} + ] + ], + "selection-range-after-textcontrol-removed.html": [ + "e618f10f1d88e14f379f2db0df7c3896d75182dc", + [ + "selection/selection-range-after-textcontrol-removed.html?textControl=number", + {} + ], + [ + "selection/selection-range-after-textcontrol-removed.html?textControl=password", + {} + ], + [ + "selection/selection-range-after-textcontrol-removed.html?textControl=text", + {} + ], + [ + "selection/selection-range-after-textcontrol-removed.html?textControl=textarea", + {} + ] + ], + "selection-range-in-shadow-after-the-shadow-removed.tentative.html": [ + "e9f63715a2f15453f3aec8624b2d8af098f0604e", + [ + "selection/selection-range-in-shadow-after-the-shadow-removed.tentative.html?mode=closed", + {} + ], + [ + "selection/selection-range-in-shadow-after-the-shadow-removed.tentative.html?mode=open", + {} + ] + ], "setBaseAndExtent.html": [ "13108bb506d2ff38d9aef7d1a23eb087360c7ee8", [ @@ -712053,7 +713073,7 @@ ] ], "static-router-invalid-rules.https.html": [ - "86a50215f2e2ad7e523ce8c1c9d1359be5e7b374", + "9ef7cfdc9f34766e905f4b4469f212313f6d0d9d", [ null, {} @@ -728859,6 +729879,24 @@ {} ] ], + "idlharness.window.js": [ + "07847fdb39ea21b3feeebc10501d3aa6bdf97881", + [ + "trusted-types/idlharness.window.html", + { + "script_metadata": [ + [ + "script", + "/resources/WebIDLParser.js" + ], + [ + "script", + "/resources/idlharness.js" + ] + ] + } + ] + ], "no-require-trusted-types-for-report-only.html": [ "651bf0a7199beab43e4f00d3c72462ffda1905f2", [ @@ -743491,7 +744529,7 @@ ] ], "audio-decoder.https.any.js": [ - "79ba22157abba6dcc890fd72b3328bdd0b7f7093", + "666d3a159f16adb593ff3f942b409957f7e0f749", [ "webcodecs/audio-decoder.https.any.html", { @@ -746773,7 +747811,7 @@ ] ], "video-decoder.https.any.js": [ - "77a610bd4ea2ca090ba029cdf1239e83184873b8", + "5b3193b8c37a4558945e5e2ae29639c26980ef89", [ "webcodecs/video-decoder.https.any.html", { @@ -746806,7 +747844,7 @@ ] ], "video-encoder-config.https.any.js": [ - "5011bfdd0a8506f3c236d3cdaf197458f5cc9a45", + "8d554e4f4dbb935d12a6c7e3aa606fc50db01424", [ "webcodecs/video-encoder-config.https.any.html", { @@ -752515,6 +753553,57 @@ } ] ], + "resample2d.https.any.js": [ + "dd8e441946e1b5defdd36d9054f00495d98f574b", + [ + "webnn/conformance_tests/gpu/resample2d.https.any.html", + { + "script_metadata": [ + [ + "title", + "test WebNN API resample2d operation" + ], + [ + "global", + "window,dedicatedworker" + ], + [ + "script", + "../../resources/utils.js" + ], + [ + "timeout", + "long" + ] + ], + "timeout": "long" + } + ], + [ + "webnn/conformance_tests/gpu/resample2d.https.any.worker.html", + { + "script_metadata": [ + [ + "title", + "test WebNN API resample2d operation" + ], + [ + "global", + "window,dedicatedworker" + ], + [ + "script", + "../../resources/utils.js" + ], + [ + "timeout", + "long" + ] + ], + "timeout": "long" + } + ] + ], "reshape.https.any.js": [ "b0217d2e67bcf343e6b00171329793d1e570f11e", [ @@ -753689,6 +754778,57 @@ } ] ], + "resample2d.https.any.js": [ + "0b5b3e00320299d2092e0137cc0e33849f38fe37", + [ + "webnn/conformance_tests/resample2d.https.any.html", + { + "script_metadata": [ + [ + "title", + "test WebNN API resample2d operation" + ], + [ + "global", + "window,dedicatedworker" + ], + [ + "script", + "../resources/utils.js" + ], + [ + "timeout", + "long" + ] + ], + "timeout": "long" + } + ], + [ + "webnn/conformance_tests/resample2d.https.any.worker.html", + { + "script_metadata": [ + [ + "title", + "test WebNN API resample2d operation" + ], + [ + "global", + "window,dedicatedworker" + ], + [ + "script", + "../resources/utils.js" + ], + [ + "timeout", + "long" + ] + ], + "timeout": "long" + } + ] + ], "reshape.https.any.js": [ "c0dafb176c41c4d9d6d9dc169fbb834821a8d09e", [ @@ -754413,6 +755553,57 @@ } ] ], + "constant.https.any.js": [ + "bf84454b8ac338bc3fae07dd9134603734937e51", + [ + "webnn/validation_tests/constant.https.any.html", + { + "script_metadata": [ + [ + "title", + "validation tests for WebNN API constant interface" + ], + [ + "global", + "window,dedicatedworker" + ], + [ + "script", + "../resources/utils_validation.js" + ], + [ + "timeout", + "long" + ] + ], + "timeout": "long" + } + ], + [ + "webnn/validation_tests/constant.https.any.worker.html", + { + "script_metadata": [ + [ + "title", + "validation tests for WebNN API constant interface" + ], + [ + "global", + "window,dedicatedworker" + ], + [ + "script", + "../resources/utils_validation.js" + ], + [ + "timeout", + "long" + ] + ], + "timeout": "long" + } + ] + ], "elementwise_binary.https.any.js": [ "97a1a2b93c9821116df58a38f50e3e5b4fa49c03", [ @@ -754464,6 +755655,57 @@ } ] ], + "gather.https.any.js": [ + "67ac7d7be39a0b42d7f6e19afe1a825703292110", + [ + "webnn/validation_tests/gather.https.any.html", + { + "script_metadata": [ + [ + "title", + "validation tests for WebNN API gather operation" + ], + [ + "global", + "window,dedicatedworker" + ], + [ + "script", + "../resources/utils_validation.js" + ], + [ + "timeout", + "long" + ] + ], + "timeout": "long" + } + ], + [ + "webnn/validation_tests/gather.https.any.worker.html", + { + "script_metadata": [ + [ + "title", + "validation tests for WebNN API gather operation" + ], + [ + "global", + "window,dedicatedworker" + ], + [ + "script", + "../resources/utils_validation.js" + ], + [ + "timeout", + "long" + ] + ], + "timeout": "long" + } + ] + ], "gru.https.any.js": [ "295baab9c286610ca8fcbb0ca7c6d0bd12b898c2", [ @@ -754515,6 +755757,57 @@ } ] ], + "input.https.any.js": [ + "cbdb7aeb7c3866dd942c2048a8d180b84ad41bca", + [ + "webnn/validation_tests/input.https.any.html", + { + "script_metadata": [ + [ + "title", + "validation tests for WebNN API input interface" + ], + [ + "global", + "window,dedicatedworker" + ], + [ + "script", + "../resources/utils_validation.js" + ], + [ + "timeout", + "long" + ] + ], + "timeout": "long" + } + ], + [ + "webnn/validation_tests/input.https.any.worker.html", + { + "script_metadata": [ + [ + "title", + "validation tests for WebNN API input interface" + ], + [ + "global", + "window,dedicatedworker" + ], + [ + "script", + "../resources/utils_validation.js" + ], + [ + "timeout", + "long" + ] + ], + "timeout": "long" + } + ] + ], "layer_normalization.https.any.js": [ "7dbcf5c74a71bc63e8b0b12907386f69e0ffa05f", [ @@ -755095,14 +756388,14 @@ ] ], "RTCPeerConnection-createOffer.html": [ - "704fa3c6467e377447b140fbcd7b27cb1d9d20dc", + "7287980a5b4a5ed5116217914e7ddd9c885166ed", [ null, {} ] ], "RTCPeerConnection-description-attributes-timing.https.html": [ - "2d2565c3e1e0734a42231522d77129506491d2c1", + "bb23d2a39a19883fb60528113af10e4565edf385", [ null, {} @@ -755308,21 +756601,21 @@ ] ], "RTCPeerConnection-setLocalDescription-answer.html": [ - "4c207890960c78954bea5c230688b38ca430582e", + "1d80eb8295c0547ec1c0951a8c5366a3d7f7f21e", [ null, {} ] ], "RTCPeerConnection-setLocalDescription-offer.html": [ - "88f1de5ed892ce0cf3f4f3b114b6775678fb1f26", + "2be83a01ce465ad459b1d08998bafd4cf6d27b43", [ null, {} ] ], "RTCPeerConnection-setLocalDescription-parameterless.https.html": [ - "5a7a76319a0571961d7dacc3d1562327089587bd", + "23d1e09a9dbf6c8c48deb8b92d5e0b2b8a87f851", [ null, {} @@ -755336,7 +756629,7 @@ ] ], "RTCPeerConnection-setLocalDescription-rollback.html": [ - "787edc92e7a393c0ed6f0a210209d83c96c8fd9b", + "08d0393cb76b6a778abc7ff4ee39cfce31d47f30", [ null, {} @@ -755364,7 +756657,7 @@ ] ], "RTCPeerConnection-setRemoteDescription-offer.html": [ - "9da03fe7a1596356ea1f44591e6036938d912d16", + "d95ecafc336b151428081ed2c830f31e90a768f4", [ null, {} @@ -755385,7 +756678,7 @@ ] ], "RTCPeerConnection-setRemoteDescription-rollback.html": [ - "0e6213d70832fecc25aae7954f6cf5190b4f0a48", + "a72fa6673826bc5512da26e9da2be93833a1db9f", [ null, {} @@ -755408,7 +756701,7 @@ ] ], "RTCPeerConnection-setRemoteDescription.html": [ - "c170f766bd3655b16c0eea1c5514e9e15aac8402", + "e2bec7dd91759bd6ef13f7f2eb931b8317ee73ad", [ null, {} @@ -756448,15 +757741,6 @@ } ] ], - "set-metadata.https.html": [ - "c4699598cf92f53fcf2c4765ef46704a4f7ef6fa", - [ - null, - { - "testdriver": true - } - ] - ], "sframe-keys.https.html": [ "c87ac12e2965af471eb30a5b60f35f43d3924d43", [ @@ -756506,6 +757790,15 @@ } ] ], + "RTCEncodedAudioFrame-metadata.https.html": [ + "1e420e6f725230a540a669f1f17fd1ebeceb78f1", + [ + null, + { + "testdriver": true + } + ] + ], "RTCEncodedAudioFrame-receive-cloned.https.html": [ "3077632a3b4408b2874b3345abfee511e4832710", [ @@ -756542,6 +757835,15 @@ } ] ], + "RTCEncodedVideoFrame-metadata.https.html": [ + "a2c684c1f1594522c893f461e4bf9072caa9f0a2", + [ + null, + { + "testdriver": true + } + ] + ], "RTCEncodedVideoFrame-serviceworker-failure.https.html": [ "e725e5ce12cec388270e9a10f760af77db7d402e", [ @@ -756631,8 +757933,8 @@ } ] ], - "RTCRtpReceiver-jitterBufferTarget-stats.html": [ - "33f71800bd8ed53eb7b0446e6535997bccb7b01a", + "RTCRtpReceiver-audio-jitterBufferTarget-stats.https.html": [ + "d728ec5a9c9758e0b754ef754e881b6aa5e0f7c3", [ null, { @@ -756647,6 +757949,15 @@ {} ] ], + "RTCRtpReceiver-video-jitterBufferTarget-stats.html": [ + "022dbe70c50b97757ca82cfc38a062d63393c73d", + [ + null, + { + "timeout": "long" + } + ] + ], "RTCRtpSynchronizationSource-captureTimestamp.html": [ "22ca5709b5f4f4e6bd4daf91e3a9c9504845b7f7", [ @@ -774333,7 +775644,7 @@ ] ], "WorkerNavigator_userAgentData.https.html": [ - "8c22d8f8672b36ffee651ef594e13f17f8fc4175", + "a46c530cefe3ef1ade047b0016e184060b8c0666", [ null, {} @@ -801244,7 +802555,7 @@ "browsing_context": { "activate": { "activate.py": [ - "0abbbbac38e3477b4998892c5e93c940e319e0d4", + "f6e5b9d27a8a90584c290555b7ba6b8b2192b77c", [ null, {} @@ -801329,7 +802640,7 @@ }, "context_created": { "context_created.py": [ - "d77209842c1a0010b842b02c19180da6a323d827", + "35692a9684547f70a83639c1c7d090333d1d5dfa", [ null, {} @@ -801368,7 +802679,7 @@ ] ], "type.py": [ - "55ce7b44282a86f195f874b10b4cab0e58f3cd37", + "cc6d7e51ab6863654b51e9afd10209c69117012d", [ null, {} @@ -801471,7 +802782,7 @@ ] ], "invalid.py": [ - "ff00de91ed00a33a27904bfd2622bfa3a3484d68", + "ecd3173e8784a8973453f1ad54e7ade61d235381", [ null, {} @@ -801491,20 +802802,6 @@ {} ] ], - "ownership.py": [ - "b1830c740a90ef77f0260e3d4dae4e37f6ba0f9d", - [ - null, - {} - ] - ], - "sandbox.py": [ - "efa431bf190aaec7305958a079032e7264932a2b", - [ - null, - {} - ] - ], "serialization_options.py": [ "9d7e7a861380b51b15b0c15e18db93559fd5a94f", [ @@ -801925,15 +803222,22 @@ ] }, "set_files": { - "invalid.py": [ - "f0efeaa69c579e39286312cde12e4c36d86921a3", + "context.py": [ + "f9a39f2bfbcbddcae2e3d6b3a969efa5c68d418e", [ null, {} ] ], - "set_files.py": [ - "642bd3e5423d57238ef57863b7ba36010c10730e", + "files.py": [ + "7a31f3e14a4ec640f5e7a6a042824041f58c39c3", + [ + null, + {} + ] + ], + "invalid.py": [ + "6527f462c9b91beac01d7212639613dfda8d6167", [ null, {} @@ -802125,7 +803429,7 @@ ] ], "request.py": [ - "579f1da2882559ce5d0c2030d48b9be06f7917e5", + "ae9c94d955e997aea907e60289fa32231a812f8f", [ null, {} @@ -802394,7 +803698,7 @@ ] ], "serialization_options.py": [ - "4084ec482093a88b8d55d59a719710908ad248bc", + "68c8cf9c1cb50bdd0ba5fe4ea0edf6391601ecd8", [ null, {} @@ -802659,7 +803963,7 @@ "session": { "new": { "connect.py": [ - "d5872cd3ba542c92f70bd7280598637f903e5aa2", + "523899c3364d6d13e82612556ffeb9e7c9d8e214", [ null, {} @@ -802668,7 +803972,7 @@ }, "status": { "status.py": [ - "13d131bfec5dfc7116a60ab09c2f1354405ef73a", + "f62ad4c5620623749b6f4e770deadddae3c72251", [ null, {} @@ -802691,7 +803995,7 @@ ] ], "invalid.py": [ - "056f6827281e9e0a56b01f76ca296133f38fadf4", + "e553a2e501ebfcef65dc302bcf53c22af975e496", [ null, {} @@ -802714,7 +804018,7 @@ ] ], "invalid.py": [ - "9039f27e47c49798c55f568ee13e21f2d60cd956", + "c286bc09ee04d72aa4048e67078084d985bdcdc3", [ null, {} @@ -802762,7 +804066,7 @@ ] ], "partition.py": [ - "1af0cfb759c18a1f8f2b940ee949f4c3486a833f", + "632e7ffa26c626e79a054df056913f73ba50c9b6", [ null, {} @@ -802841,7 +804145,7 @@ ] ], "partition.py": [ - "9283ee0732912e2a77f51ec25e8cbe413759161a", + "bb171c6141165ce321b3cd72cd861a187d2b7c9b", [ null, {} @@ -803979,14 +805283,14 @@ ] ], "new_tab.py": [ - "f6cacf3c3586bc2962e67be4cacf3fbbc838216d", + "53810e7fb627bba03c33cfcdb8c3beec8f9c8951", [ null, {} ] ], "new_window.py": [ - "d47dacdc083a45f30895f9b59cd58eadcf5bac0e", + "cc10d2fb867158c04da9dcdc3185b34f07f017b8", [ null, {} diff --git a/tests/wpt/meta/WebCryptoAPI/sign_verify/eddsa.https.any.js.ini b/tests/wpt/meta/WebCryptoAPI/sign_verify/eddsa.https.any.js.ini index 878a7c3f74a..1d48180b27e 100644 --- a/tests/wpt/meta/WebCryptoAPI/sign_verify/eddsa.https.any.js.ini +++ b/tests/wpt/meta/WebCryptoAPI/sign_verify/eddsa.https.any.js.ini @@ -1,5 +1,242 @@ [eddsa.https.any.html] - expected: ERROR + [EdDSA Ed25519 verification] + expected: FAIL + + [EdDSA Ed25519 verification with altered signature after call] + expected: FAIL + + [EdDSA Ed25519 with altered data after call] + expected: FAIL + + [EdDSA Ed25519 using privateKey to verify] + expected: FAIL + + [EdDSA Ed25519 using publicKey to sign] + expected: FAIL + + [EdDSA Ed25519 no verify usage] + expected: FAIL + + [EdDSA Ed25519 round trip] + expected: FAIL + + [EdDSA Ed25519 signing with wrong algorithm name] + expected: FAIL + + [EdDSA Ed25519 verifying with wrong algorithm name] + expected: FAIL + + [EdDSA Ed25519 verification failure due to altered signature] + expected: FAIL + + [EdDSA Ed25519 verification failure due to shortened signature] + expected: FAIL + + [EdDSA Ed25519 verification failure due to altered data] + expected: FAIL + + [Sign and verify using generated Ed25519 keys.] + expected: FAIL + + [EdDSA Ed448 verification] + expected: FAIL + + [EdDSA Ed448 verification with altered signature after call] + expected: FAIL + + [EdDSA Ed448 with altered data after call] + expected: FAIL + + [EdDSA Ed448 using privateKey to verify] + expected: FAIL + + [EdDSA Ed448 using publicKey to sign] + expected: FAIL + + [EdDSA Ed448 no verify usage] + expected: FAIL + + [EdDSA Ed448 round trip] + expected: FAIL + + [EdDSA Ed448 signing with wrong algorithm name] + expected: FAIL + + [EdDSA Ed448 verifying with wrong algorithm name] + expected: FAIL + + [EdDSA Ed448 verification failure due to altered signature] + expected: FAIL + + [EdDSA Ed448 verification failure due to shortened signature] + expected: FAIL + + [EdDSA Ed448 verification failure due to altered data] + expected: FAIL + + [Sign and verify using generated Ed448 keys.] + expected: FAIL + + [Ed25519 Verification checks with small-order key of order - Test 0] + expected: FAIL + + [Ed25519 Verification checks with small-order key of order - Test 1] + expected: FAIL + + [Ed25519 Verification checks with small-order key of order - Test 2] + expected: FAIL + + [Ed25519 Verification checks with small-order key of order - Test 3] + expected: FAIL + + [Ed25519 Verification checks with small-order key of order - Test 4] + expected: FAIL + + [Ed25519 Verification checks with small-order key of order - Test 5] + expected: FAIL + + [Ed25519 Verification checks with small-order key of order - Test 6] + expected: FAIL + + [Ed25519 Verification checks with small-order key of order - Test 7] + expected: FAIL + + [Ed25519 Verification checks with small-order key of order - Test 8] + expected: FAIL + + [Ed25519 Verification checks with small-order key of order - Test 9] + expected: FAIL + + [Ed25519 Verification checks with small-order key of order - Test 10] + expected: FAIL + + [Ed25519 Verification checks with small-order key of order - Test 11] + expected: FAIL + + [Ed25519 Verification checks with small-order key of order - Test 12] + expected: FAIL + + [Ed25519 Verification checks with small-order key of order - Test 13] + expected: FAIL + [eddsa.https.any.worker.html] - expected: ERROR + [EdDSA Ed25519 verification] + expected: FAIL + + [EdDSA Ed25519 verification with altered signature after call] + expected: FAIL + + [EdDSA Ed25519 with altered data after call] + expected: FAIL + + [EdDSA Ed25519 using privateKey to verify] + expected: FAIL + + [EdDSA Ed25519 using publicKey to sign] + expected: FAIL + + [EdDSA Ed25519 no verify usage] + expected: FAIL + + [EdDSA Ed25519 round trip] + expected: FAIL + + [EdDSA Ed25519 signing with wrong algorithm name] + expected: FAIL + + [EdDSA Ed25519 verifying with wrong algorithm name] + expected: FAIL + + [EdDSA Ed25519 verification failure due to altered signature] + expected: FAIL + + [EdDSA Ed25519 verification failure due to shortened signature] + expected: FAIL + + [EdDSA Ed25519 verification failure due to altered data] + expected: FAIL + + [Sign and verify using generated Ed25519 keys.] + expected: FAIL + + [EdDSA Ed448 verification] + expected: FAIL + + [EdDSA Ed448 verification with altered signature after call] + expected: FAIL + + [EdDSA Ed448 with altered data after call] + expected: FAIL + + [EdDSA Ed448 using privateKey to verify] + expected: FAIL + + [EdDSA Ed448 using publicKey to sign] + expected: FAIL + + [EdDSA Ed448 no verify usage] + expected: FAIL + + [EdDSA Ed448 round trip] + expected: FAIL + + [EdDSA Ed448 signing with wrong algorithm name] + expected: FAIL + + [EdDSA Ed448 verifying with wrong algorithm name] + expected: FAIL + + [EdDSA Ed448 verification failure due to altered signature] + expected: FAIL + + [EdDSA Ed448 verification failure due to shortened signature] + expected: FAIL + + [EdDSA Ed448 verification failure due to altered data] + expected: FAIL + + [Sign and verify using generated Ed448 keys.] + expected: FAIL + + [Ed25519 Verification checks with small-order key of order - Test 0] + expected: FAIL + + [Ed25519 Verification checks with small-order key of order - Test 1] + expected: FAIL + + [Ed25519 Verification checks with small-order key of order - Test 2] + expected: FAIL + + [Ed25519 Verification checks with small-order key of order - Test 3] + expected: FAIL + + [Ed25519 Verification checks with small-order key of order - Test 4] + expected: FAIL + + [Ed25519 Verification checks with small-order key of order - Test 5] + expected: FAIL + + [Ed25519 Verification checks with small-order key of order - Test 6] + expected: FAIL + + [Ed25519 Verification checks with small-order key of order - Test 7] + expected: FAIL + + [Ed25519 Verification checks with small-order key of order - Test 8] + expected: FAIL + + [Ed25519 Verification checks with small-order key of order - Test 9] + expected: FAIL + + [Ed25519 Verification checks with small-order key of order - Test 10] + expected: FAIL + + [Ed25519 Verification checks with small-order key of order - Test 11] + expected: FAIL + + [Ed25519 Verification checks with small-order key of order - Test 12] + expected: FAIL + + [Ed25519 Verification checks with small-order key of order - Test 13] + expected: FAIL diff --git a/tests/wpt/meta/css/CSS2/text/white-space-pre-002.xht.ini b/tests/wpt/meta/css/CSS2/text/white-space-pre-002.xht.ini deleted file mode 100644 index f5c3a019215..00000000000 --- a/tests/wpt/meta/css/CSS2/text/white-space-pre-002.xht.ini +++ /dev/null @@ -1,2 +0,0 @@ -[white-space-pre-002.xht] - expected: FAIL diff --git a/tests/wpt/meta/css/compositing/mix-blend-mode/mix-blend-mode-animation.html.ini b/tests/wpt/meta/css/compositing/mix-blend-mode/mix-blend-mode-animation.html.ini deleted file mode 100644 index 5496474410b..00000000000 --- a/tests/wpt/meta/css/compositing/mix-blend-mode/mix-blend-mode-animation.html.ini +++ /dev/null @@ -1,2 +0,0 @@ -[mix-blend-mode-animation.html] - expected: FAIL diff --git a/tests/wpt/meta/css/compositing/mix-blend-mode/mix-blend-mode-paragraph.html.ini b/tests/wpt/meta/css/compositing/mix-blend-mode/mix-blend-mode-paragraph.html.ini deleted file mode 100644 index fb5b6fd0006..00000000000 --- a/tests/wpt/meta/css/compositing/mix-blend-mode/mix-blend-mode-paragraph.html.ini +++ /dev/null @@ -1,2 +0,0 @@ -[mix-blend-mode-paragraph.html] - expected: FAIL diff --git a/tests/wpt/meta/css/css-color/parsing/color-computed-relative-color.html.ini b/tests/wpt/meta/css/css-color/parsing/color-computed-relative-color.html.ini index bf29c753411..7910b706539 100644 --- a/tests/wpt/meta/css/css-color/parsing/color-computed-relative-color.html.ini +++ b/tests/wpt/meta/css/css-color/parsing/color-computed-relative-color.html.ini @@ -3370,3 +3370,60 @@ [Property color value 'color(from color-mix(in xyz, color(xyz-d65 0.7 0.5 0.3), color(xyz-d65 0.7 0.5 0.3)) xyz-d65 r g b / alpha)'] expected: FAIL + + [Property color value 'rgb(from rebeccapurple calc((r / 255) * 100%) calc((g / 255) * 100%) calc((b / 255) * 100%) / calc(alpha * 100%))'] + expected: FAIL + + [Property color value 'hsl(from rebeccapurple calc((h / 360) * 360deg) calc((s / 100) * 100%) calc((l / 100) * 100%) / calc(alpha * 100%))'] + expected: FAIL + + [Property color value 'hwb(from rebeccapurple calc((h / 360) * 360deg) calc((w / 100) * 100%) calc((b / 100) * 100%) / calc(alpha * 100%))'] + expected: FAIL + + [Property color value 'lab(from lab(25 20 50) calc((l / 100) * 100%) calc((a / 125) * 100%) calc((b / 125) * 100%) / calc(alpha * 100%))'] + expected: FAIL + + [Property color value 'oklab(from oklab(0.25 0.2 0.5) calc(l * 100%) calc((a / 0.4) * 100%) calc((b / 0.4) * 100%) / calc(alpha * 100%))'] + expected: FAIL + + [Property color value 'lch(from lch(0.7 45 30) calc((l / 100) * 100%) calc((c / 150) * 100%) calc((h / 360) * 360deg) / calc(alpha * 100%))'] + expected: FAIL + + [Property color value 'oklch(from oklch(0.7 0.45 30) calc(l * 100%) calc((c / 0.4) * 100%) calc((h / 360) * 360deg) / calc(alpha * 100%))'] + expected: FAIL + + [Property color value 'color(from color(srgb 0.7 0.5 0.3) srgb calc(r * 100%) calc(g * 100%) calc(b * 100%) / calc(alpha * 100%))'] + expected: FAIL + + [Property color value 'color(from color(srgb-linear 0.7 0.5 0.3) srgb-linear calc(r * 100%) calc(g * 100%) calc(b * 100%) / calc(alpha * 100%))'] + expected: FAIL + + [Property color value 'color(from color(a98-rgb 0.7 0.5 0.3) a98-rgb calc(r * 100%) calc(g * 100%) calc(b * 100%) / calc(alpha * 100%))'] + expected: FAIL + + [Property color value 'color(from color(rec2020 0.7 0.5 0.3) rec2020 calc(r * 100%) calc(g * 100%) calc(b * 100%) / calc(alpha * 100%))'] + expected: FAIL + + [Property color value 'color(from color(prophoto-rgb 0.7 0.5 0.3) prophoto-rgb calc(r * 100%) calc(g * 100%) calc(b * 100%) / calc(alpha * 100%))'] + expected: FAIL + + [Property color value 'color(from color(display-p3 0.7 0.5 0.3) display-p3 calc(r * 100%) calc(g * 100%) calc(b * 100%) / calc(alpha * 100%))'] + expected: FAIL + + [Property color value 'color(from color(xyz 7 -20.5 100) xyz calc(x * 100%) calc(y * 100%) calc(z * 100%) / calc(alpha * 100%))'] + expected: FAIL + + [Property color value 'color(from color-mix(in xyz, color(xyz 0.7 0.5 0.3), color(xyz 0.7 0.5 0.3)) xyz x y z / alpha)'] + expected: FAIL + + [Property color value 'color(from color(xyz-d50 7 -20.5 100) xyz-d50 calc(x * 100%) calc(y * 100%) calc(z * 100%) / calc(alpha * 100%))'] + expected: FAIL + + [Property color value 'color(from color-mix(in xyz, color(xyz-d50 0.7 0.5 0.3), color(xyz-d50 0.7 0.5 0.3)) xyz-d50 x y z / alpha)'] + expected: FAIL + + [Property color value 'color(from color(xyz-d65 7 -20.5 100) xyz-d65 calc(x * 100%) calc(y * 100%) calc(z * 100%) / calc(alpha * 100%))'] + expected: FAIL + + [Property color value 'color(from color-mix(in xyz, color(xyz-d65 0.7 0.5 0.3), color(xyz-d65 0.7 0.5 0.3)) xyz-d65 x y z / alpha)'] + expected: FAIL diff --git a/tests/wpt/meta/css/css-color/parsing/color-valid-relative-color.html.ini b/tests/wpt/meta/css/css-color/parsing/color-valid-relative-color.html.ini index 3a3198a2980..3ae55c836b3 100644 --- a/tests/wpt/meta/css/css-color/parsing/color-valid-relative-color.html.ini +++ b/tests/wpt/meta/css/css-color/parsing/color-valid-relative-color.html.ini @@ -3283,3 +3283,12 @@ [e.style['color'\] = "color(from color-mix(in xyz, color(xyz-d65 0.7 0.5 0.3), color(xyz-d65 0.7 0.5 0.3)) xyz-d65 r g b / alpha)" should set the property value] expected: FAIL + + [e.style['color'\] = "color(from color-mix(in xyz, color(xyz 0.7 0.5 0.3), color(xyz 0.7 0.5 0.3)) xyz x y z / alpha)" should set the property value] + expected: FAIL + + [e.style['color'\] = "color(from color-mix(in xyz, color(xyz-d50 0.7 0.5 0.3), color(xyz-d50 0.7 0.5 0.3)) xyz-d50 x y z / alpha)" should set the property value] + expected: FAIL + + [e.style['color'\] = "color(from color-mix(in xyz, color(xyz-d65 0.7 0.5 0.3), color(xyz-d65 0.7 0.5 0.3)) xyz-d65 x y z / alpha)" should set the property value] + expected: FAIL diff --git a/tests/wpt/meta/css/css-logical/animations/margin-block-interpolation.html.ini b/tests/wpt/meta/css/css-logical/animations/margin-block-interpolation.html.ini new file mode 100644 index 00000000000..9ed9f243664 --- /dev/null +++ b/tests/wpt/meta/css/css-logical/animations/margin-block-interpolation.html.ini @@ -0,0 +1,18 @@ +[margin-block-interpolation.html] + [Web Animations: property from [10px\] to [20px\] at (-0.3) should be [7px\]] + expected: FAIL + + [Web Animations: property from [10px\] to [20px\] at (0) should be [10px\]] + expected: FAIL + + [Web Animations: property from [10px\] to [20px\] at (0.3) should be [13px\]] + expected: FAIL + + [Web Animations: property from [10px\] to [20px\] at (0.6) should be [16px\]] + expected: FAIL + + [Web Animations: property from [10px\] to [20px\] at (1) should be [20px\]] + expected: FAIL + + [Web Animations: property from [10px\] to [20px\] at (1.5) should be [25px\]] + expected: FAIL diff --git a/tests/wpt/meta/css/css-logical/animations/margin-inline-interpolation.html.ini b/tests/wpt/meta/css/css-logical/animations/margin-inline-interpolation.html.ini new file mode 100644 index 00000000000..e7ff928b03a --- /dev/null +++ b/tests/wpt/meta/css/css-logical/animations/margin-inline-interpolation.html.ini @@ -0,0 +1,18 @@ +[margin-inline-interpolation.html] + [Web Animations: property from [10px\] to [20px\] at (-0.3) should be [7px\]] + expected: FAIL + + [Web Animations: property from [10px\] to [20px\] at (0) should be [10px\]] + expected: FAIL + + [Web Animations: property from [10px\] to [20px\] at (0.3) should be [13px\]] + expected: FAIL + + [Web Animations: property from [10px\] to [20px\] at (0.6) should be [16px\]] + expected: FAIL + + [Web Animations: property from [10px\] to [20px\] at (1) should be [20px\]] + expected: FAIL + + [Web Animations: property from [10px\] to [20px\] at (1.5) should be [25px\]] + expected: FAIL diff --git a/tests/wpt/meta/css/css-position/sticky/position-sticky-padding-001.html.ini b/tests/wpt/meta/css/css-position/sticky/position-sticky-padding-001.html.ini new file mode 100644 index 00000000000..5800d47e755 --- /dev/null +++ b/tests/wpt/meta/css/css-position/sticky/position-sticky-padding-001.html.ini @@ -0,0 +1,2 @@ +[position-sticky-padding-001.html] + expected: FAIL diff --git a/tests/wpt/meta/css/css-position/sticky/position-sticky-padding-002.html.ini b/tests/wpt/meta/css/css-position/sticky/position-sticky-padding-002.html.ini new file mode 100644 index 00000000000..57078a93de2 --- /dev/null +++ b/tests/wpt/meta/css/css-position/sticky/position-sticky-padding-002.html.ini @@ -0,0 +1,2 @@ +[position-sticky-padding-002.html] + expected: FAIL diff --git a/tests/wpt/meta/css/css-sizing/dynamic-available-size-iframe.html.ini b/tests/wpt/meta/css/css-sizing/dynamic-available-size-iframe.html.ini new file mode 100644 index 00000000000..35256741d38 --- /dev/null +++ b/tests/wpt/meta/css/css-sizing/dynamic-available-size-iframe.html.ini @@ -0,0 +1,2 @@ +[dynamic-available-size-iframe.html] + expected: FAIL diff --git a/tests/wpt/meta/css/css-ui/parsing/canonical-order-outline-sub-properties-001.html.ini b/tests/wpt/meta/css/css-ui/parsing/canonical-order-outline-sub-properties-001.html.ini new file mode 100644 index 00000000000..4a1aebd46cb --- /dev/null +++ b/tests/wpt/meta/css/css-ui/parsing/canonical-order-outline-sub-properties-001.html.ini @@ -0,0 +1,78 @@ +[canonical-order-outline-sub-properties-001.html] + [testing outline: blue] + expected: FAIL + + [testing outline: invert] + expected: FAIL + + [testing outline: 4px] + expected: FAIL + + [testing outline: solid] + expected: FAIL + + [testing outline: solid 5px] + expected: FAIL + + [testing outline: 6px dashed] + expected: FAIL + + [testing outline: dotted blue] + expected: FAIL + + [testing outline: dotted invert] + expected: FAIL + + [testing outline: blue solid] + expected: FAIL + + [testing outline: invert solid] + expected: FAIL + + [testing outline: black 4px] + expected: FAIL + + [testing outline: invert 4px] + expected: FAIL + + [testing outline: 5px blue] + expected: FAIL + + [testing outline: 5px invert] + expected: FAIL + + [testing outline: black solid 6px] + expected: FAIL + + [testing outline: invert solid 6px] + expected: FAIL + + [testing outline: blue 4px dotted] + expected: FAIL + + [testing outline: invert 4px dotted] + expected: FAIL + + [testing outline: dashed 5px black] + expected: FAIL + + [testing outline: dashed 5px invert] + expected: FAIL + + [testing outline: solid blue 6px] + expected: FAIL + + [testing outline: solid invert 6px] + expected: FAIL + + [testing outline: 4px dotted black] + expected: FAIL + + [testing outline: 4px dotted invert] + expected: FAIL + + [testing outline: 5px blue dashed] + expected: FAIL + + [testing outline: 5px invert dashed] + expected: FAIL diff --git a/tests/wpt/meta/css/css-values/calc-size/animation/calc-size-height-interpolation.tentative.html.ini b/tests/wpt/meta/css/css-values/calc-size/animation/calc-size-height-interpolation.tentative.html.ini index dad7beac230..c814fd636a2 100644 --- a/tests/wpt/meta/css/css-values/calc-size/animation/calc-size-height-interpolation.tentative.html.ini +++ b/tests/wpt/meta/css/css-values/calc-size/animation/calc-size-height-interpolation.tentative.html.ini @@ -334,3 +334,87 @@ [Web Animations: property from [0\] to [calc-size(max-content, size)\] at (1.25) should be [125px\]] expected: FAIL + + [CSS Transitions: property from [calc-size(auto, size)\] to [calc-size(auto, size * 2)\] at (-0.25) should be [75px\]] + expected: FAIL + + [CSS Transitions: property from [calc-size(auto, size)\] to [calc-size(auto, size * 2)\] at (0) should be [100px\]] + expected: FAIL + + [CSS Transitions: property from [calc-size(auto, size)\] to [calc-size(auto, size * 2)\] at (0.25) should be [125px\]] + expected: FAIL + + [CSS Transitions: property from [calc-size(auto, size)\] to [calc-size(auto, size * 2)\] at (0.5) should be [150px\]] + expected: FAIL + + [CSS Transitions: property from [calc-size(auto, size)\] to [calc-size(auto, size * 2)\] at (0.75) should be [175px\]] + expected: FAIL + + [CSS Transitions: property from [calc-size(auto, size)\] to [calc-size(auto, size * 2)\] at (1) should be [200px\]] + expected: FAIL + + [CSS Transitions: property from [calc-size(auto, size)\] to [calc-size(auto, size * 2)\] at (1.25) should be [225px\]] + expected: FAIL + + [CSS Transitions with transition: all: property from [calc-size(auto, size)\] to [calc-size(auto, size * 2)\] at (-0.25) should be [75px\]] + expected: FAIL + + [CSS Transitions with transition: all: property from [calc-size(auto, size)\] to [calc-size(auto, size * 2)\] at (0) should be [100px\]] + expected: FAIL + + [CSS Transitions with transition: all: property from [calc-size(auto, size)\] to [calc-size(auto, size * 2)\] at (0.25) should be [125px\]] + expected: FAIL + + [CSS Transitions with transition: all: property from [calc-size(auto, size)\] to [calc-size(auto, size * 2)\] at (0.5) should be [150px\]] + expected: FAIL + + [CSS Transitions with transition: all: property from [calc-size(auto, size)\] to [calc-size(auto, size * 2)\] at (0.75) should be [175px\]] + expected: FAIL + + [CSS Transitions with transition: all: property from [calc-size(auto, size)\] to [calc-size(auto, size * 2)\] at (1) should be [200px\]] + expected: FAIL + + [CSS Transitions with transition: all: property from [calc-size(auto, size)\] to [calc-size(auto, size * 2)\] at (1.25) should be [225px\]] + expected: FAIL + + [CSS Animations: property from [calc-size(auto, size)\] to [calc-size(auto, size * 2)\] at (-0.25) should be [75px\]] + expected: FAIL + + [CSS Animations: property from [calc-size(auto, size)\] to [calc-size(auto, size * 2)\] at (0) should be [100px\]] + expected: FAIL + + [CSS Animations: property from [calc-size(auto, size)\] to [calc-size(auto, size * 2)\] at (0.25) should be [125px\]] + expected: FAIL + + [CSS Animations: property from [calc-size(auto, size)\] to [calc-size(auto, size * 2)\] at (0.5) should be [150px\]] + expected: FAIL + + [CSS Animations: property from [calc-size(auto, size)\] to [calc-size(auto, size * 2)\] at (0.75) should be [175px\]] + expected: FAIL + + [CSS Animations: property from [calc-size(auto, size)\] to [calc-size(auto, size * 2)\] at (1) should be [200px\]] + expected: FAIL + + [CSS Animations: property from [calc-size(auto, size)\] to [calc-size(auto, size * 2)\] at (1.25) should be [225px\]] + expected: FAIL + + [Web Animations: property from [calc-size(auto, size)\] to [calc-size(auto, size * 2)\] at (-0.25) should be [75px\]] + expected: FAIL + + [Web Animations: property from [calc-size(auto, size)\] to [calc-size(auto, size * 2)\] at (0) should be [100px\]] + expected: FAIL + + [Web Animations: property from [calc-size(auto, size)\] to [calc-size(auto, size * 2)\] at (0.25) should be [125px\]] + expected: FAIL + + [Web Animations: property from [calc-size(auto, size)\] to [calc-size(auto, size * 2)\] at (0.5) should be [150px\]] + expected: FAIL + + [Web Animations: property from [calc-size(auto, size)\] to [calc-size(auto, size * 2)\] at (0.75) should be [175px\]] + expected: FAIL + + [Web Animations: property from [calc-size(auto, size)\] to [calc-size(auto, size * 2)\] at (1) should be [200px\]] + expected: FAIL + + [Web Animations: property from [calc-size(auto, size)\] to [calc-size(auto, size * 2)\] at (1.25) should be [225px\]] + expected: FAIL diff --git a/tests/wpt/meta/css/css-values/calc-size/animation/calc-size-width-interpolation.tentative.html.ini b/tests/wpt/meta/css/css-values/calc-size/animation/calc-size-width-interpolation.tentative.html.ini index 0a3d25827ee..7903a1dbc54 100644 --- a/tests/wpt/meta/css/css-values/calc-size/animation/calc-size-width-interpolation.tentative.html.ini +++ b/tests/wpt/meta/css/css-values/calc-size/animation/calc-size-width-interpolation.tentative.html.ini @@ -166,3 +166,147 @@ [Web Animations: property from [calc-size(min-content, 0px)\] to [calc-size(min-content, size)\] at (1.25) should be [125px\]] expected: FAIL + + [CSS Transitions: property from [calc-size(auto, size)\] to [calc-size(auto, size * 2)\] at (-0.25) should be [150px\]] + expected: FAIL + + [CSS Transitions: property from [calc-size(auto, size)\] to [calc-size(auto, size * 2)\] at (0) should be [200px\]] + expected: FAIL + + [CSS Transitions: property from [calc-size(auto, size)\] to [calc-size(auto, size * 2)\] at (0.25) should be [250px\]] + expected: FAIL + + [CSS Transitions: property from [calc-size(auto, size)\] to [calc-size(auto, size * 2)\] at (0.5) should be [300px\]] + expected: FAIL + + [CSS Transitions: property from [calc-size(auto, size)\] to [calc-size(auto, size * 2)\] at (0.75) should be [350px\]] + expected: FAIL + + [CSS Transitions: property from [calc-size(auto, size)\] to [calc-size(auto, size * 2)\] at (1) should be [400px\]] + expected: FAIL + + [CSS Transitions: property from [calc-size(auto, size)\] to [calc-size(auto, size * 2)\] at (1.25) should be [450px\]] + expected: FAIL + + [CSS Transitions with transition: all: property from [calc-size(auto, size)\] to [calc-size(auto, size * 2)\] at (-0.25) should be [150px\]] + expected: FAIL + + [CSS Transitions with transition: all: property from [calc-size(auto, size)\] to [calc-size(auto, size * 2)\] at (0) should be [200px\]] + expected: FAIL + + [CSS Transitions with transition: all: property from [calc-size(auto, size)\] to [calc-size(auto, size * 2)\] at (0.25) should be [250px\]] + expected: FAIL + + [CSS Transitions with transition: all: property from [calc-size(auto, size)\] to [calc-size(auto, size * 2)\] at (0.5) should be [300px\]] + expected: FAIL + + [CSS Transitions with transition: all: property from [calc-size(auto, size)\] to [calc-size(auto, size * 2)\] at (0.75) should be [350px\]] + expected: FAIL + + [CSS Transitions with transition: all: property from [calc-size(auto, size)\] to [calc-size(auto, size * 2)\] at (1) should be [400px\]] + expected: FAIL + + [CSS Transitions with transition: all: property from [calc-size(auto, size)\] to [calc-size(auto, size * 2)\] at (1.25) should be [450px\]] + expected: FAIL + + [CSS Animations: property from [calc-size(auto, size)\] to [calc-size(auto, size * 2)\] at (-0.25) should be [150px\]] + expected: FAIL + + [CSS Animations: property from [calc-size(auto, size)\] to [calc-size(auto, size * 2)\] at (0) should be [200px\]] + expected: FAIL + + [CSS Animations: property from [calc-size(auto, size)\] to [calc-size(auto, size * 2)\] at (0.25) should be [250px\]] + expected: FAIL + + [CSS Animations: property from [calc-size(auto, size)\] to [calc-size(auto, size * 2)\] at (0.5) should be [300px\]] + expected: FAIL + + [CSS Animations: property from [calc-size(auto, size)\] to [calc-size(auto, size * 2)\] at (0.75) should be [350px\]] + expected: FAIL + + [CSS Animations: property from [calc-size(auto, size)\] to [calc-size(auto, size * 2)\] at (1) should be [400px\]] + expected: FAIL + + [CSS Animations: property from [calc-size(auto, size)\] to [calc-size(auto, size * 2)\] at (1.25) should be [450px\]] + expected: FAIL + + [Web Animations: property from [calc-size(auto, size)\] to [calc-size(auto, size * 2)\] at (-0.25) should be [150px\]] + expected: FAIL + + [Web Animations: property from [calc-size(auto, size)\] to [calc-size(auto, size * 2)\] at (0) should be [200px\]] + expected: FAIL + + [Web Animations: property from [calc-size(auto, size)\] to [calc-size(auto, size * 2)\] at (0.25) should be [250px\]] + expected: FAIL + + [Web Animations: property from [calc-size(auto, size)\] to [calc-size(auto, size * 2)\] at (0.5) should be [300px\]] + expected: FAIL + + [Web Animations: property from [calc-size(auto, size)\] to [calc-size(auto, size * 2)\] at (0.75) should be [350px\]] + expected: FAIL + + [Web Animations: property from [calc-size(auto, size)\] to [calc-size(auto, size * 2)\] at (1) should be [400px\]] + expected: FAIL + + [Web Animations: property from [calc-size(auto, size)\] to [calc-size(auto, size * 2)\] at (1.25) should be [450px\]] + expected: FAIL + + [CSS Transitions: property from neutral to [calc-size(auto, size * 2)\] at (0.25) should be [250px\]] + expected: FAIL + + [CSS Transitions: property from neutral to [calc-size(auto, size * 2)\] at (0.5) should be [300px\]] + expected: FAIL + + [CSS Transitions: property from neutral to [calc-size(auto, size * 2)\] at (0.75) should be [350px\]] + expected: FAIL + + [CSS Transitions: property from neutral to [calc-size(auto, size * 2)\] at (1) should be [400px\]] + expected: FAIL + + [CSS Transitions: property from neutral to [calc-size(auto, size * 2)\] at (1.25) should be [450px\]] + expected: FAIL + + [CSS Transitions with transition: all: property from neutral to [calc-size(auto, size * 2)\] at (0.25) should be [250px\]] + expected: FAIL + + [CSS Transitions with transition: all: property from neutral to [calc-size(auto, size * 2)\] at (0.5) should be [300px\]] + expected: FAIL + + [CSS Transitions with transition: all: property from neutral to [calc-size(auto, size * 2)\] at (0.75) should be [350px\]] + expected: FAIL + + [CSS Transitions with transition: all: property from neutral to [calc-size(auto, size * 2)\] at (1) should be [400px\]] + expected: FAIL + + [CSS Transitions with transition: all: property from neutral to [calc-size(auto, size * 2)\] at (1.25) should be [450px\]] + expected: FAIL + + [CSS Animations: property from neutral to [calc-size(auto, size * 2)\] at (0.25) should be [250px\]] + expected: FAIL + + [CSS Animations: property from neutral to [calc-size(auto, size * 2)\] at (0.5) should be [300px\]] + expected: FAIL + + [CSS Animations: property from neutral to [calc-size(auto, size * 2)\] at (0.75) should be [350px\]] + expected: FAIL + + [CSS Animations: property from neutral to [calc-size(auto, size * 2)\] at (1) should be [400px\]] + expected: FAIL + + [CSS Animations: property from neutral to [calc-size(auto, size * 2)\] at (1.25) should be [450px\]] + expected: FAIL + + [Web Animations: property from neutral to [calc-size(auto, size * 2)\] at (0.25) should be [250px\]] + expected: FAIL + + [Web Animations: property from neutral to [calc-size(auto, size * 2)\] at (0.5) should be [300px\]] + expected: FAIL + + [Web Animations: property from neutral to [calc-size(auto, size * 2)\] at (0.75) should be [350px\]] + expected: FAIL + + [Web Animations: property from neutral to [calc-size(auto, size * 2)\] at (1) should be [400px\]] + expected: FAIL + + [Web Animations: property from neutral to [calc-size(auto, size * 2)\] at (1.25) should be [450px\]] + expected: FAIL diff --git a/tests/wpt/meta/css/css-values/calc-size/calc-size-height.tentative.html.ini b/tests/wpt/meta/css/css-values/calc-size/calc-size-height.tentative.html.ini index 9a753b3a13b..1d0e72e7a8a 100644 --- a/tests/wpt/meta/css/css-values/calc-size/calc-size-height.tentative.html.ini +++ b/tests/wpt/meta/css/css-values/calc-size/calc-size-height.tentative.html.ini @@ -88,3 +88,9 @@ [resolved height for height in definite height container: calc-size(any, 31% + 12px)] expected: FAIL + + [resolved height for height in auto height container: calc-size(auto, size * 1.5)] + expected: FAIL + + [resolved height for height in definite height container: calc-size(auto, size * 1.5)] + expected: FAIL diff --git a/tests/wpt/meta/css/css-values/calc-size/calc-size-parsing.tentative.html.ini b/tests/wpt/meta/css/css-values/calc-size/calc-size-parsing.tentative.html.ini index 24d7ae6ee1d..718f44321fa 100644 --- a/tests/wpt/meta/css/css-values/calc-size/calc-size-parsing.tentative.html.ini +++ b/tests/wpt/meta/css/css-values/calc-size/calc-size-parsing.tentative.html.ini @@ -40,3 +40,15 @@ [e.style['width'\] = "calc-size(calc-size(min-content, size), size)" should set the property value] expected: FAIL + + [e.style['width'\] = "calc-size(auto, size)" should set the property value] + expected: FAIL + + [e.style['min-width'\] = "calc-size(auto, size)" should set the property value] + expected: FAIL + + [e.style['height'\] = "calc-size(auto, size)" should set the property value] + expected: FAIL + + [e.style['min-height'\] = "calc-size(auto, size)" should set the property value] + expected: FAIL diff --git a/tests/wpt/meta/css/css-values/round-function.html.ini b/tests/wpt/meta/css/css-values/round-function.html.ini index 15fe573f603..a432e2fcba1 100644 --- a/tests/wpt/meta/css/css-values/round-function.html.ini +++ b/tests/wpt/meta/css/css-values/round-function.html.ini @@ -550,3 +550,27 @@ [calc(0 - round(to-zero, -18, 10)) should be used-value-equivalent to 10] expected: FAIL + + [round(1.5) should be used-value-equivalent to 2] + expected: FAIL + + [round(up, 1.5) should be used-value-equivalent to 2] + expected: FAIL + + [round(down, 1.5) should be used-value-equivalent to 1] + expected: FAIL + + [round(to-zero, 1.5) should be used-value-equivalent to 1] + expected: FAIL + + [round(-1.5) should be used-value-equivalent to -1] + expected: FAIL + + [round(up, -1.5) should be used-value-equivalent to -1] + expected: FAIL + + [round(down, -1.5) should be used-value-equivalent to -2] + expected: FAIL + + [round(to-zero, -1.5) should be used-value-equivalent to -1] + expected: FAIL diff --git a/tests/wpt/meta/css/css-values/viewport-units-scrollbars-auto-vhw-001.html.ini b/tests/wpt/meta/css/css-values/viewport-units-scrollbars-auto-vhw-001.html.ini new file mode 100644 index 00000000000..b0b04c01253 --- /dev/null +++ b/tests/wpt/meta/css/css-values/viewport-units-scrollbars-auto-vhw-001.html.ini @@ -0,0 +1,2 @@ +[viewport-units-scrollbars-auto-vhw-001.html] + expected: FAIL diff --git a/tests/wpt/meta/css/cssom-view/elementsFromPoint-iframes.html.ini b/tests/wpt/meta/css/cssom-view/elementsFromPoint-iframes.html.ini index 314c2710dc9..78f6aab8d85 100644 --- a/tests/wpt/meta/css/cssom-view/elementsFromPoint-iframes.html.ini +++ b/tests/wpt/meta/css/cssom-view/elementsFromPoint-iframes.html.ini @@ -1,3 +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/meta/css/cssom-view/scroll-behavior-smooth-navigation.html.ini b/tests/wpt/meta/css/cssom-view/scroll-behavior-smooth-navigation.html.ini index 647c7fb29b2..f4121525268 100644 --- a/tests/wpt/meta/css/cssom-view/scroll-behavior-smooth-navigation.html.ini +++ b/tests/wpt/meta/css/cssom-view/scroll-behavior-smooth-navigation.html.ini @@ -4,6 +4,3 @@ [Make sure the page is ready for animation.] expected: FAIL - - [Smooth scrolling while doing history navigation.] - expected: FAIL diff --git a/tests/wpt/meta/css/cssom/CSSStyleSheet-constructable-insertRule-base-uri.html.ini b/tests/wpt/meta/css/cssom/CSSStyleSheet-constructable-insertRule-base-uri.html.ini new file mode 100644 index 00000000000..54be6839527 --- /dev/null +++ b/tests/wpt/meta/css/cssom/CSSStyleSheet-constructable-insertRule-base-uri.html.ini @@ -0,0 +1,2 @@ +[CSSStyleSheet-constructable-insertRule-base-uri.html] + expected: FAIL diff --git a/tests/wpt/meta/css/cssom/getComputedStyle-pseudo-with-argument.html.ini b/tests/wpt/meta/css/cssom/getComputedStyle-pseudo-with-argument.html.ini index 4a0d0c68841..a1903ed413d 100644 --- a/tests/wpt/meta/css/cssom/getComputedStyle-pseudo-with-argument.html.ini +++ b/tests/wpt/meta/css/cssom/getComputedStyle-pseudo-with-argument.html.ini @@ -40,3 +40,27 @@ [This pseudo-element should not parse: ::view-transition-group(*)] expected: FAIL + + [This pseudo-element should not parse: :highlight(name)] + expected: FAIL + + [This pseudo-element should not parse: ::view-transition-image-pair(*)] + expected: FAIL + + [This pseudo-element should not parse: ::view-transition-old(*)] + expected: FAIL + + [This pseudo-element should not parse: ::view-transition-new(*)] + expected: FAIL + + [This pseudo-element should not parse: :view-transition-group(name)] + expected: FAIL + + [This pseudo-element should not parse: :view-transition-image-pair(name)] + expected: FAIL + + [This pseudo-element should not parse: :view-transition-old(name)] + expected: FAIL + + [This pseudo-element should not parse: :view-transition-new(name)] + expected: FAIL diff --git a/tests/wpt/meta/dom/nodes/insertion-removing-steps/script-does-not-run-on-child-removal.window.js.ini b/tests/wpt/meta/dom/nodes/insertion-removing-steps/script-does-not-run-on-child-removal.window.js.ini new file mode 100644 index 00000000000..eb3e0818641 --- /dev/null +++ b/tests/wpt/meta/dom/nodes/insertion-removing-steps/script-does-not-run-on-child-removal.window.js.ini @@ -0,0 +1,3 @@ +[script-does-not-run-on-child-removal.window.html] + [Script execution is never triggered on child removals] + expected: FAIL diff --git a/tests/wpt/meta/dom/observable/tentative/observable-from.any.js.ini b/tests/wpt/meta/dom/observable/tentative/observable-from.any.js.ini new file mode 100644 index 00000000000..87b4f25d234 --- /dev/null +++ b/tests/wpt/meta/dom/observable/tentative/observable-from.any.js.ini @@ -0,0 +1,80 @@ +[observable-from.any.worker.html] + [from(): Observable.from() is a function] + expected: FAIL + + [from(): Failed conversions] + expected: FAIL + + [from(): Given an observable, it returns that exact observable] + expected: FAIL + + [from(): Given an array] + expected: FAIL + + [from(): Iterable converts to Observable] + expected: FAIL + + [from(): [Symbol.iterator\] side-effects (one observable)] + expected: FAIL + + [from(): [Symbol.iterator\] side-effects (many observables)] + expected: FAIL + + [from(): [Symbol.iterator\] next() throws error] + expected: FAIL + + [from(): Converts Promise to Observable] + expected: FAIL + + [from(): Converts rejected Promise to Observable. No `unhandledrejection` event when error is handled by subscription] + expected: FAIL + + [from(): Rejections not handled by subscription are reported to the global, and still not sent as an unhandledrejection event] + expected: FAIL + + [from(): Observable that implements @@iterator protocol gets converted as an Observable, not iterator] + expected: FAIL + + [from(): Promise that implements @@iterator protocol gets converted as an iterable, not Promise] + expected: FAIL + + +[observable-from.any.html] + [from(): Observable.from() is a function] + expected: FAIL + + [from(): Failed conversions] + expected: FAIL + + [from(): Given an observable, it returns that exact observable] + expected: FAIL + + [from(): Given an array] + expected: FAIL + + [from(): Iterable converts to Observable] + expected: FAIL + + [from(): [Symbol.iterator\] side-effects (one observable)] + expected: FAIL + + [from(): [Symbol.iterator\] side-effects (many observables)] + expected: FAIL + + [from(): [Symbol.iterator\] next() throws error] + expected: FAIL + + [from(): Converts Promise to Observable] + expected: FAIL + + [from(): Converts rejected Promise to Observable. No `unhandledrejection` event when error is handled by subscription] + expected: FAIL + + [from(): Rejections not handled by subscription are reported to the global, and still not sent as an unhandledrejection event] + expected: FAIL + + [from(): Observable that implements @@iterator protocol gets converted as an Observable, not iterator] + expected: FAIL + + [from(): Promise that implements @@iterator protocol gets converted as an iterable, not Promise] + expected: FAIL diff --git a/tests/wpt/meta/dom/ranges/Range-in-shadow-after-the-shadow-removed.html.ini b/tests/wpt/meta/dom/ranges/Range-in-shadow-after-the-shadow-removed.html.ini new file mode 100644 index 00000000000..b2003b5c788 --- /dev/null +++ b/tests/wpt/meta/dom/ranges/Range-in-shadow-after-the-shadow-removed.html.ini @@ -0,0 +1,14 @@ +[Range-in-shadow-after-the-shadow-removed.html?mode=closed] + [Range in shadow should stay in the shadow after the host is removed] + expected: FAIL + + [Range in shadow should stay in the shadow after the host parent is removed] + expected: FAIL + + +[Range-in-shadow-after-the-shadow-removed.html?mode=open] + [Range in shadow should stay in the shadow after the host is removed] + expected: FAIL + + [Range in shadow should stay in the shadow after the host parent is removed] + expected: FAIL diff --git a/tests/wpt/meta/fetch/metadata/generated/css-images.sub.tentative.html.ini b/tests/wpt/meta/fetch/metadata/generated/css-images.sub.tentative.html.ini index 4b5c3e26586..7b4cf2c5ae7 100644 --- a/tests/wpt/meta/fetch/metadata/generated/css-images.sub.tentative.html.ini +++ b/tests/wpt/meta/fetch/metadata/generated/css-images.sub.tentative.html.ini @@ -185,3 +185,6 @@ [border-image sec-fetch-site - HTTPS downgrade (header not sent)] expected: FAIL + + [background-image sec-fetch-site - HTTPS downgrade (header not sent)] + expected: TIMEOUT diff --git a/tests/wpt/meta/html/browsers/browsing-the-web/history-traversal/pageswap/pageswap-push-with-cross-origin-redirect.sub.html.ini b/tests/wpt/meta/html/browsers/browsing-the-web/history-traversal/pageswap/pageswap-push-with-cross-origin-redirect.sub.html.ini new file mode 100644 index 00000000000..c1275567154 --- /dev/null +++ b/tests/wpt/meta/html/browsers/browsing-the-web/history-traversal/pageswap/pageswap-push-with-cross-origin-redirect.sub.html.ini @@ -0,0 +1,2 @@ +[pageswap-push-with-cross-origin-redirect.sub.html] + expected: ERROR diff --git a/tests/wpt/meta/html/browsers/browsing-the-web/history-traversal/pageswap/pageswap-replace-with-cross-origin-redirect.sub.html.ini b/tests/wpt/meta/html/browsers/browsing-the-web/history-traversal/pageswap/pageswap-replace-with-cross-origin-redirect.sub.html.ini new file mode 100644 index 00000000000..4843ecd671f --- /dev/null +++ b/tests/wpt/meta/html/browsers/browsing-the-web/history-traversal/pageswap/pageswap-replace-with-cross-origin-redirect.sub.html.ini @@ -0,0 +1,2 @@ +[pageswap-replace-with-cross-origin-redirect.sub.html] + expected: ERROR diff --git a/tests/wpt/meta/html/browsers/browsing-the-web/history-traversal/pageswap/pageswap-traverse-navigation-cross-origin-redirect-no-bfcache.https.sub.html.ini b/tests/wpt/meta/html/browsers/browsing-the-web/history-traversal/pageswap/pageswap-traverse-navigation-cross-origin-redirect-no-bfcache.https.sub.html.ini new file mode 100644 index 00000000000..0880906d129 --- /dev/null +++ b/tests/wpt/meta/html/browsers/browsing-the-web/history-traversal/pageswap/pageswap-traverse-navigation-cross-origin-redirect-no-bfcache.https.sub.html.ini @@ -0,0 +1,2 @@ +[pageswap-traverse-navigation-cross-origin-redirect-no-bfcache.https.sub.html] + expected: ERROR diff --git a/tests/wpt/meta/html/canvas/element/manual/drawing-text-to-the-canvas/canvas.2d.disconnected-font-size-math.html.ini b/tests/wpt/meta/html/canvas/element/manual/drawing-text-to-the-canvas/canvas.2d.disconnected-font-size-math.html.ini new file mode 100644 index 00000000000..addd810a23d --- /dev/null +++ b/tests/wpt/meta/html/canvas/element/manual/drawing-text-to-the-canvas/canvas.2d.disconnected-font-size-math.html.ini @@ -0,0 +1,2 @@ +[canvas.2d.disconnected-font-size-math.html] + expected: CRASH diff --git a/tests/wpt/meta/html/canvas/element/manual/text/canvas.2d.disconnected.html.ini b/tests/wpt/meta/html/canvas/element/manual/text/canvas.2d.disconnected.html.ini index 5cdcce07c65..17247137cb1 100644 --- a/tests/wpt/meta/html/canvas/element/manual/text/canvas.2d.disconnected.html.ini +++ b/tests/wpt/meta/html/canvas/element/manual/text/canvas.2d.disconnected.html.ini @@ -1,2 +1,2 @@ [canvas.2d.disconnected.html] - expected: FAIL + expected: CRASH diff --git a/tests/wpt/meta/html/canvas/element/webgpu-access/2d.webgpuaccess.getTextureFormat.rgba16f.tentative.https.html.ini b/tests/wpt/meta/html/canvas/element/webgpu-access/2d.webgpuaccess.getTextureFormat.rgba16f.tentative.https.html.ini deleted file mode 100644 index 5ef89398095..00000000000 --- a/tests/wpt/meta/html/canvas/element/webgpu-access/2d.webgpuaccess.getTextureFormat.rgba16f.tentative.https.html.ini +++ /dev/null @@ -1,3 +0,0 @@ -[2d.webgpuaccess.getTextureFormat.rgba16f.tentative.https.html] - [getTextureFormat() returns RGBA16F for a float16 context] - expected: FAIL diff --git a/tests/wpt/meta/html/canvas/element/webgpu-access/2d.webgpuaccess.getTextureFormat.rgba8.tentative.https.html.ini b/tests/wpt/meta/html/canvas/element/webgpu-access/2d.webgpuaccess.getTextureFormat.rgba8.tentative.https.html.ini deleted file mode 100644 index d0dd1552396..00000000000 --- a/tests/wpt/meta/html/canvas/element/webgpu-access/2d.webgpuaccess.getTextureFormat.rgba8.tentative.https.html.ini +++ /dev/null @@ -1,3 +0,0 @@ -[2d.webgpuaccess.getTextureFormat.rgba8.tentative.https.html] - [getTextureFormat() returns RGBA8 or BGRA8 for a typical context] - expected: FAIL diff --git a/tests/wpt/meta/html/canvas/offscreen/manual/the-offscreen-canvas/offscreencanvas-worker-font-load-crash.html.ini b/tests/wpt/meta/html/canvas/offscreen/manual/the-offscreen-canvas/offscreencanvas-worker-font-load-crash.html.ini new file mode 100644 index 00000000000..5c8a8ac3b42 --- /dev/null +++ b/tests/wpt/meta/html/canvas/offscreen/manual/the-offscreen-canvas/offscreencanvas-worker-font-load-crash.html.ini @@ -0,0 +1,2 @@ +[offscreencanvas-worker-font-load-crash.html] + expected: TIMEOUT diff --git a/tests/wpt/meta/html/canvas/offscreen/webgpu-access/2d.webgpuaccess.getTextureFormat.rgba16f.tentative.https.html.ini b/tests/wpt/meta/html/canvas/offscreen/webgpu-access/2d.webgpuaccess.getTextureFormat.rgba16f.tentative.https.html.ini deleted file mode 100644 index 5ef89398095..00000000000 --- a/tests/wpt/meta/html/canvas/offscreen/webgpu-access/2d.webgpuaccess.getTextureFormat.rgba16f.tentative.https.html.ini +++ /dev/null @@ -1,3 +0,0 @@ -[2d.webgpuaccess.getTextureFormat.rgba16f.tentative.https.html] - [getTextureFormat() returns RGBA16F for a float16 context] - expected: FAIL diff --git a/tests/wpt/meta/html/canvas/offscreen/webgpu-access/2d.webgpuaccess.getTextureFormat.rgba16f.tentative.https.worker.js.ini b/tests/wpt/meta/html/canvas/offscreen/webgpu-access/2d.webgpuaccess.getTextureFormat.rgba16f.tentative.https.worker.js.ini deleted file mode 100644 index 6250c94a0e1..00000000000 --- a/tests/wpt/meta/html/canvas/offscreen/webgpu-access/2d.webgpuaccess.getTextureFormat.rgba16f.tentative.https.worker.js.ini +++ /dev/null @@ -1,3 +0,0 @@ -[2d.webgpuaccess.getTextureFormat.rgba16f.tentative.https.worker.html] - [getTextureFormat() returns RGBA16F for a float16 context] - expected: FAIL diff --git a/tests/wpt/meta/html/canvas/offscreen/webgpu-access/2d.webgpuaccess.getTextureFormat.rgba8.tentative.https.html.ini b/tests/wpt/meta/html/canvas/offscreen/webgpu-access/2d.webgpuaccess.getTextureFormat.rgba8.tentative.https.html.ini deleted file mode 100644 index d0dd1552396..00000000000 --- a/tests/wpt/meta/html/canvas/offscreen/webgpu-access/2d.webgpuaccess.getTextureFormat.rgba8.tentative.https.html.ini +++ /dev/null @@ -1,3 +0,0 @@ -[2d.webgpuaccess.getTextureFormat.rgba8.tentative.https.html] - [getTextureFormat() returns RGBA8 or BGRA8 for a typical context] - expected: FAIL diff --git a/tests/wpt/meta/html/canvas/offscreen/webgpu-access/2d.webgpuaccess.getTextureFormat.rgba8.tentative.https.worker.js.ini b/tests/wpt/meta/html/canvas/offscreen/webgpu-access/2d.webgpuaccess.getTextureFormat.rgba8.tentative.https.worker.js.ini deleted file mode 100644 index e137417e456..00000000000 --- a/tests/wpt/meta/html/canvas/offscreen/webgpu-access/2d.webgpuaccess.getTextureFormat.rgba8.tentative.https.worker.js.ini +++ /dev/null @@ -1,3 +0,0 @@ -[2d.webgpuaccess.getTextureFormat.rgba8.tentative.https.worker.html] - [getTextureFormat() returns RGBA8 or BGRA8 for a typical context] - expected: FAIL diff --git a/tests/wpt/meta/html/dom/idlharness.https.html.ini b/tests/wpt/meta/html/dom/idlharness.https.html.ini index 91e2de01021..0f176855ed7 100644 --- a/tests/wpt/meta/html/dom/idlharness.https.html.ini +++ b/tests/wpt/meta/html/dom/idlharness.https.html.ini @@ -4856,3 +4856,9 @@ [HTMLFrameSetElement interface: document.createElement("frameset") must inherit property "onpageswap" with the proper type] expected: FAIL + + [HTMLElement interface: attribute writingSuggestions] + expected: FAIL + + [HTMLElement interface: document.createElement("noscript") must inherit property "writingSuggestions" with the proper type] + expected: FAIL diff --git a/tests/wpt/meta/html/interaction/focus/the-autofocus-attribute/document-with-fragment-valid.html.ini b/tests/wpt/meta/html/interaction/focus/the-autofocus-attribute/document-with-fragment-valid.html.ini index 4f3c59e1742..b0c997e92a8 100644 --- a/tests/wpt/meta/html/interaction/focus/the-autofocus-attribute/document-with-fragment-valid.html.ini +++ b/tests/wpt/meta/html/interaction/focus/the-autofocus-attribute/document-with-fragment-valid.html.ini @@ -1,4 +1,3 @@ [document-with-fragment-valid.html] - expected: TIMEOUT [Autofocus elements in top-level browsing context's documents with URL fragments should be skipped.] - expected: TIMEOUT + expected: FAIL diff --git a/tests/wpt/meta/html/rendering/non-replaced-elements/sections-and-headings/headings-styles-no-h1-in-section.tentative.html.ini b/tests/wpt/meta/html/rendering/non-replaced-elements/sections-and-headings/headings-styles-no-h1-in-section.tentative.html.ini new file mode 100644 index 00000000000..e496953d4cb --- /dev/null +++ b/tests/wpt/meta/html/rendering/non-replaced-elements/sections-and-headings/headings-styles-no-h1-in-section.tentative.html.ini @@ -0,0 +1,2 @@ +[headings-styles-no-h1-in-section.tentative.html] + expected: ERROR diff --git a/tests/wpt/meta/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_popups_escaping-1.html.ini b/tests/wpt/meta/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_popups_escaping-1.html.ini index 24903b5f66f..d7e7d1b9815 100644 --- a/tests/wpt/meta/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_popups_escaping-1.html.ini +++ b/tests/wpt/meta/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_popups_escaping-1.html.ini @@ -1,4 +1,4 @@ [iframe_sandbox_popups_escaping-1.html] - expected: TIMEOUT + expected: CRASH [Check that popups from a sandboxed iframe escape the sandbox if\n allow-popups-to-escape-sandbox is used] expected: TIMEOUT diff --git a/tests/wpt/meta/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_popups_escaping-3.html.ini b/tests/wpt/meta/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_popups_escaping-3.html.ini index ef88bb2e2fd..7da2bc5ac80 100644 --- a/tests/wpt/meta/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_popups_escaping-3.html.ini +++ b/tests/wpt/meta/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_popups_escaping-3.html.ini @@ -1,4 +1,4 @@ [iframe_sandbox_popups_escaping-3.html] expected: TIMEOUT [Check that popups from a sandboxed iframe escape the sandbox if\n allow-popups-to-escape-sandbox is used] - expected: FAIL + expected: TIMEOUT diff --git a/tests/wpt/meta/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_popups_nonescaping-3.html.ini b/tests/wpt/meta/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_popups_nonescaping-3.html.ini index ff6467094b8..ccdaf8d61b2 100644 --- a/tests/wpt/meta/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_popups_nonescaping-3.html.ini +++ b/tests/wpt/meta/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_popups_nonescaping-3.html.ini @@ -1,3 +1,3 @@ [iframe_sandbox_popups_nonescaping-3.html] [Check that popups from a sandboxed iframe do not escape the sandbox] - expected: FAIL + expected: NOTRUN diff --git a/tests/wpt/meta/html/semantics/forms/the-fieldset-element/disabled-003.html.ini b/tests/wpt/meta/html/semantics/forms/the-fieldset-element/disabled-003.html.ini new file mode 100644 index 00000000000..5983b46a9ab --- /dev/null +++ b/tests/wpt/meta/html/semantics/forms/the-fieldset-element/disabled-003.html.ini @@ -0,0 +1,2 @@ +[disabled-003.html] + expected: CRASH diff --git a/tests/wpt/meta/html/semantics/permission-element/bounded-css-properties.html.ini b/tests/wpt/meta/html/semantics/permission-element/bounded-css-properties.html.ini new file mode 100644 index 00000000000..1550ee5cbed --- /dev/null +++ b/tests/wpt/meta/html/semantics/permission-element/bounded-css-properties.html.ini @@ -0,0 +1,3 @@ +[bounded-css-properties.html] + [Properties with out-of-bounds values should be corrected] + expected: FAIL diff --git a/tests/wpt/meta/html/semantics/permission-element/negative-offset-and-margin.html.ini b/tests/wpt/meta/html/semantics/permission-element/negative-offset-and-margin.html.ini index 0e7adcb5ef9..3381f7de8e7 100644 --- a/tests/wpt/meta/html/semantics/permission-element/negative-offset-and-margin.html.ini +++ b/tests/wpt/meta/html/semantics/permission-element/negative-offset-and-margin.html.ini @@ -1,3 +1,6 @@ [negative-offset-and-margin.html] [Negative margins/offset should be changed to 0px] expected: FAIL + + [Expressions margins/offset should always return at least 0px] + expected: FAIL diff --git a/tests/wpt/meta/html/webappapis/scripting/processing-model-2/integration-with-the-javascript-job-queue/promise-job-entry-different-function-realm.html.ini b/tests/wpt/meta/html/webappapis/scripting/processing-model-2/integration-with-the-javascript-job-queue/promise-job-entry-different-function-realm.html.ini index 7237f5792de..dbe1def99e3 100644 --- a/tests/wpt/meta/html/webappapis/scripting/processing-model-2/integration-with-the-javascript-job-queue/promise-job-entry-different-function-realm.html.ini +++ b/tests/wpt/meta/html/webappapis/scripting/processing-model-2/integration-with-the-javascript-job-queue/promise-job-entry-different-function-realm.html.ini @@ -1,10 +1,9 @@ [promise-job-entry-different-function-realm.html] - expected: TIMEOUT [Fulfillment handler on fulfilled promise] expected: FAIL [Rejection handler on pending-then-rejected promise] - expected: TIMEOUT + expected: FAIL [Thenable resolution] expected: FAIL @@ -13,4 +12,4 @@ expected: FAIL [Fulfillment handler on pending-then-fulfilled promise] - expected: TIMEOUT + expected: FAIL diff --git a/tests/wpt/meta/navigation-timing/idlharness.window.js.ini b/tests/wpt/meta/navigation-timing/idlharness.window.js.ini index 89e59978de2..fb0b3394055 100644 --- a/tests/wpt/meta/navigation-timing/idlharness.window.js.ini +++ b/tests/wpt/meta/navigation-timing/idlharness.window.js.ini @@ -106,3 +106,9 @@ [PerformanceNavigationTiming interface: performance.getEntriesByType("navigation")[0\] must inherit property "criticalCHRestart" with the proper type] expected: FAIL + + [PerformanceNavigationTiming interface: attribute notRestoredReasons] + expected: FAIL + + [PerformanceNavigationTiming interface: performance.getEntriesByType("navigation")[0\] must inherit property "notRestoredReasons" with the proper type] + expected: FAIL diff --git a/tests/wpt/meta/resource-timing/test_resource_timing.https.html.ini b/tests/wpt/meta/resource-timing/test_resource_timing.https.html.ini index 5a2e10ff69c..dac51c99110 100644 --- a/tests/wpt/meta/resource-timing/test_resource_timing.https.html.ini +++ b/tests/wpt/meta/resource-timing/test_resource_timing.https.html.ini @@ -68,3 +68,6 @@ [PerformanceEntry has correct protocol attribute (xmlhttprequest)] expected: FAIL + + [PerformanceEntry has correct name, initiatorType, startTime, and duration (img)] + expected: FAIL diff --git a/tests/wpt/meta/selection/crashtests/selection-modify-line-boundary-around-shadow.html.ini b/tests/wpt/meta/selection/crashtests/selection-modify-line-boundary-around-shadow.html.ini new file mode 100644 index 00000000000..1c8381ae567 --- /dev/null +++ b/tests/wpt/meta/selection/crashtests/selection-modify-line-boundary-around-shadow.html.ini @@ -0,0 +1,2 @@ +[selection-modify-line-boundary-around-shadow.html] + expected: TIMEOUT diff --git a/tests/wpt/meta/selection/selection-range-in-shadow-after-the-shadow-removed.tentative.html.ini b/tests/wpt/meta/selection/selection-range-in-shadow-after-the-shadow-removed.tentative.html.ini new file mode 100644 index 00000000000..ca18d1156b2 --- /dev/null +++ b/tests/wpt/meta/selection/selection-range-in-shadow-after-the-shadow-removed.tentative.html.ini @@ -0,0 +1,26 @@ +[selection-range-in-shadow-after-the-shadow-removed.tentative.html?mode=closed] + [Selection range in shadow should not be as a selection range after the host is removed] + expected: FAIL + + [Selection range in shadow should not be as a selection range after the host parent is removed] + expected: FAIL + + [Selection range in shadow should not be as a selection range after the host is replaced with itself (.replaceWith)] + expected: FAIL + + [Selection range in shadow should not be as a selection range after the host is replaced with itself (.replaceChild] + expected: FAIL + + +[selection-range-in-shadow-after-the-shadow-removed.tentative.html?mode=open] + [Selection range in shadow should not be as a selection range after the host is removed] + expected: FAIL + + [Selection range in shadow should not be as a selection range after the host parent is removed] + expected: FAIL + + [Selection range in shadow should not be as a selection range after the host is replaced with itself (.replaceWith)] + expected: FAIL + + [Selection range in shadow should not be as a selection range after the host is replaced with itself (.replaceChild] + expected: FAIL diff --git a/tests/wpt/meta/webmessaging/with-ports/017.html.ini b/tests/wpt/meta/webmessaging/with-ports/017.html.ini new file mode 100644 index 00000000000..c7946fc91b4 --- /dev/null +++ b/tests/wpt/meta/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/tests/IndexedDB/idbobjectstore_put.any.js b/tests/wpt/tests/IndexedDB/idbobjectstore_put.any.js new file mode 100644 index 00000000000..89303291e9d --- /dev/null +++ b/tests/wpt/tests/IndexedDB/idbobjectstore_put.any.js @@ -0,0 +1,427 @@ +// META: global=window,worker +// META: title=IDBObjectStore.put() +// META: script=resources/support.js +// @author Microsoft +// @author Intel + +'use strict'; + +async_test(t => { + let db; + const record = { key: 1, property: "data" }; + + const open_rq = createdb(t); + open_rq.onupgradeneeded = function(e) { + db = e.target.result; + const objStore = db.createObjectStore("store", { keyPath: "key" }); + + objStore.put(record); + }; + + open_rq.onsuccess = function(e) { + const rq = db.transaction("store", "readonly", + { durability: 'relaxed' }) + .objectStore("store") + .get(record.key); + + rq.onsuccess = t.step_func(function(e) { + assert_equals(e.target.result.property, record.property); + assert_equals(e.target.result.key, record.key); + t.done(); + }); + }; +}, 'put() with an inline key'); + +async_test(t => { + let db; + const key = 1; + const record = { property: "data" }; + + const open_rq = createdb(t); + open_rq.onupgradeneeded = function(e) { + db = e.target.result; + const objStore = db.createObjectStore("store"); + + objStore.put(record, key); + }; + + open_rq.onsuccess = function(e) { + const rq = db.transaction("store", "readonly", {durability: 'relaxed'}) + .objectStore("store") + .get(key); + + rq.onsuccess = t.step_func(function(e) { + assert_equals(e.target.result.property, record.property); + + t.done(); + }); + }; +},'put() with an out-of-line key'); + +async_test(t => { + let db; + let success_event; + const record = { key: 1, property: "data" }; + const record_put = { key: 1, property: "changed", more: ["stuff", 2] }; + + const open_rq = createdb(t); + open_rq.onupgradeneeded = function(e) { + db = e.target.result; + const objStore = db.createObjectStore("store", { keyPath: "key" }); + objStore.put(record); + + const rq = objStore.put(record_put); + rq.onerror = fail(t, "error on put"); + + rq.onsuccess = t.step_func(function(e) { + success_event = true; + }); + }; + + open_rq.onsuccess = function(e) { + assert_true(success_event); + + const rq = db.transaction("store", "readonly", + { durability: 'relaxed' }) + .objectStore("store") + .get(1); + + rq.onsuccess = t.step_func(function(e) { + const rec = e.target.result; + + assert_equals(rec.key, record_put.key); + assert_equals(rec.property, record_put.property); + assert_array_equals(rec.more, record_put.more); + + t.done(); + }); + }; +}, 'put() record with key already exists'); + +async_test(t => { + const record = { key: 1, property: "data" }; + + const open_rq = createdb(t); + open_rq.onupgradeneeded = function(e) { + let db = e.target.result; + const objStore = db.createObjectStore("store", { + autoIncrement: true }); + objStore.createIndex("i1", "property", { unique: true }); + objStore.put(record); + + const rq = objStore.put(record); + rq.onsuccess = fail(t, "success on putting duplicate indexed record"); + + rq.onerror = t.step_func(function(e) { + assert_equals(rq.error.name, "ConstraintError"); + assert_equals(e.target.error.name, "ConstraintError"); + + assert_equals(e.type, "error"); + + e.preventDefault(); + e.stopPropagation(); + }); + }; + + // Defer done, giving a spurious rq.onsuccess a chance to run + open_rq.onsuccess = function(e) { + t.done(); + }; +}, 'put() where an index has unique:true specified'); + +async_test(t => { + let db; + const record = { test: { obj: { key: 1 } }, property: "data" }; + + const open_rq = createdb(t); + open_rq.onupgradeneeded = function(e) { + db = e.target.result; + const objStore = db.createObjectStore("store", + { keyPath: "test.obj.key" }); + objStore.put(record); + }; + + open_rq.onsuccess = function(e) { + const rq = db.transaction("store", "readonly", + { durability: 'relaxed' }) + .objectStore("store") + .get(record.test.obj.key); + + rq.onsuccess = t.step_func(function(e) { + assert_equals(e.target.result.property, record.property); + + t.done(); + }); + }; +}, 'Object store\'s key path is an object attribute'); + +async_test(t => { + let db; + const record = { property: "data" }; + const expected_keys = [1, 2, 3, 4]; + + const open_rq = createdb(t); + open_rq.onupgradeneeded = function(e) { + db = e.target.result; + const objStore = db.createObjectStore("store", { keyPath: "key", + autoIncrement: true }); + + objStore.put(record); + objStore.put(record); + objStore.put(record); + objStore.put(record); + }; + + open_rq.onsuccess = function(e) { + let actual_keys = []; + const rq = db.transaction("store", "readonly", { durability: 'relaxed' }) + .objectStore("store") + .openCursor(); + + rq.onsuccess = t.step_func(function(e) { + const cursor = e.target.result; + + if (cursor) { + actual_keys.push(cursor.value.key); + cursor.continue(); + } else { + assert_array_equals(actual_keys, expected_keys); + t.done(); + } + }); + }; + }, 'autoIncrement and inline keys'); + +async_test(t => { + let db; + const record = { property: "data" }; + const expected_keys = [1, 2, 3, 4]; + + const open_rq = createdb(t); + open_rq.onupgradeneeded = function(e) { + db = e.target.result; + const objStore = db.createObjectStore("store", { keyPath: "key", + autoIncrement: true }); + + objStore.put(record); + objStore.put(record); + objStore.put(record); + objStore.put(record); + }; + + open_rq.onsuccess = function(e) { + const actual_keys = []; + const rq = db.transaction("store", "readonly", + { durability: 'relaxed' }) + .objectStore("store") + .openCursor(); + + rq.onsuccess = t.step_func(function(e) { + const cursor = e.target.result; + + if(cursor) { + actual_keys.push(cursor.value.key); + cursor.continue(); + } else { + assert_array_equals(actual_keys, expected_keys); + t.done(); + } + }); + }; +}, 'autoIncrement and out-of-line keys'); + +async_test(t => { + let db; + const record = { property: "data" }; + const expected_keys = [1, 2, 3, 4]; + + const open_rq = createdb(t); + open_rq.onupgradeneeded = function(e) { + db = e.target.result; + const objStore = db.createObjectStore("store", + { keyPath: "test.obj.key", autoIncrement: true }); + + objStore.put(record); + objStore.put(record); + objStore.put(record); + objStore.put(record); + }; + + open_rq.onsuccess = function(e) { + const actual_keys = []; + const rq = db.transaction("store", "readonly", + { durability: 'relaxed' }) + .objectStore("store") + .openCursor(); + + rq.onsuccess = t.step_func(function(e) { + const cursor = e.target.result; + + if (cursor) { + actual_keys.push(cursor.value.test.obj.key); + cursor.continue(); + } else { + assert_array_equals(actual_keys, expected_keys); + t.done(); + } + }); + }; +}, 'Object store has autoIncrement:true and the key path is an object \ +attribute'); + +async_test(t => { + const record = { key: 1, property: "data" }; + + const open_rq = createdb(t); + open_rq.onupgradeneeded = function(e) { + let rq; + const db = e.target.result; + const objStore = db.createObjectStore("store", { keyPath: "key" }); + + assert_throws_dom("DataError", function() { + rq = objStore.put(record, 1); + }); + + assert_equals(rq, undefined); + t.done(); + }; +}, 'Attempt to put() a record that does not meet the constraints of an object \ +store\'s inline key requirements'); + +async_test(t => { + const record = { property: "data" }; + + const open_rq = createdb(t); + open_rq.onupgradeneeded = function(e) { + let db = e.target.result; + + let rq; + const objStore = db.createObjectStore("store", { keyPath: "key" }); + + assert_throws_dom("DataError", function() { + rq = objStore.put(record); + }); + + assert_equals(rq, undefined); + t.done(); + }; +}, 'Attempt to call put() without an key parameter when the object store uses \ +out-of-line keys'); + +async_test(t => { + const record = { key: { value: 1 }, property: "data" }; + + const open_rq = createdb(t); + open_rq.onupgradeneeded = function(e) { + const db = e.target.result; + + let rq; + const objStore = db.createObjectStore("store", { keyPath: "key" }); + + assert_throws_dom("DataError", function() { + rq = objStore.put(record); + }); + + assert_equals(rq, undefined); + t.done(); + }; +}, 'Attempt to put() a record where the record\'s key does not meet the \ +constraints of a valid key'); + +async_test(t => { + const record = { property: "data" }; + + const open_rq = createdb(t); + open_rq.onupgradeneeded = function(e) { + const db = e.target.result; + + let rq; + const objStore = db.createObjectStore("store", { keyPath: "key" }); + + assert_throws_dom("DataError", function() { + rq = objStore.put(record); + }); + + assert_equals(rq, undefined); + t.done(); + }; +}, 'Attempt to put() a record where the record\'s in-line key is not defined'); + +async_test(t => { + const record = { property: "data" }; + + const open_rq = createdb(t); + open_rq.onupgradeneeded = function(e) { + const db = e.target.result; + + let rq; + const objStore = db.createObjectStore("store"); + + assert_throws_dom("DataError", function() { + rq = objStore.put(record, { value: 1 }); + }); + + assert_equals(rq, undefined); + t.done(); + }; +}, 'Attempt to put() a record where the out of line key provided does not \ +meet the constraints of a valid key'); + +async_test(t => { + const record = { key: 1, indexedProperty: { property: "data" } }; + + const open_rq = createdb(t); + open_rq.onupgradeneeded = function(e) { + const db = e.target.result; + + let rq; + const objStore = db.createObjectStore("store", { keyPath: "key" }); + + objStore.createIndex("index", "indexedProperty"); + + rq = objStore.put(record); + + assert_true(rq instanceof IDBRequest); + rq.onsuccess = function() { + t.done(); + }; + }; +}, 'put() a record where a value being indexed does not meet the constraints \ +of a valid key'); + +async_test(t => { + let db; + const open_rq = createdb(t); + open_rq.onupgradeneeded = function(event) { + db = event.target.result; + db.createObjectStore("store", { keyPath: "pKey" }); + }; + + open_rq.onsuccess = function(event) { + const txn = db.transaction("store", "readonly", + { durability: 'relaxed' }); + const ostore = txn.objectStore("store"); + t.step(function() { + assert_throws_dom("ReadOnlyError", function() { + ostore.put({ pKey: "primaryKey_0" }); + }); + }); + t.done(); + }; +}, 'If the transaction this IDBObjectStore belongs to has its mode set to \ +readonly, throw ReadOnlyError'); + +async_test(t => { + let ostore; + const open_rq = createdb(t); + open_rq.onupgradeneeded = function(event) { + const db = event.target.result; + ostore = db.createObjectStore("store", { keyPath: "pKey" }); + db.deleteObjectStore("store"); + assert_throws_dom("InvalidStateError", function() { + ostore.put({ pKey: "primaryKey_0" }); + }); + t.done(); + }; +}, 'If the object store has been deleted, the implementation must throw a \ +DOMException of type InvalidStateError'); diff --git a/tests/wpt/tests/IndexedDB/idbobjectstore_put.htm b/tests/wpt/tests/IndexedDB/idbobjectstore_put.htm deleted file mode 100644 index e277ce54a20..00000000000 --- a/tests/wpt/tests/IndexedDB/idbobjectstore_put.htm +++ /dev/null @@ -1,35 +0,0 @@ - - -IDBObjectStore.put() - put with an inline key - - - - - - - -
diff --git a/tests/wpt/tests/IndexedDB/idbobjectstore_put10.htm b/tests/wpt/tests/IndexedDB/idbobjectstore_put10.htm deleted file mode 100644 index 6882e8e4b5c..00000000000 --- a/tests/wpt/tests/IndexedDB/idbobjectstore_put10.htm +++ /dev/null @@ -1,29 +0,0 @@ - - -IDBObjectStore.put() - Attempt to call 'put' without an key parameter when the object store uses out-of-line keys - - - - - - - -
diff --git a/tests/wpt/tests/IndexedDB/idbobjectstore_put11.htm b/tests/wpt/tests/IndexedDB/idbobjectstore_put11.htm deleted file mode 100644 index a5ed2db357b..00000000000 --- a/tests/wpt/tests/IndexedDB/idbobjectstore_put11.htm +++ /dev/null @@ -1,29 +0,0 @@ - - -IDBObjectStore.put() - Attempt to put a record where the record's key does not meet the constraints of a valid key - - - - - - - -
diff --git a/tests/wpt/tests/IndexedDB/idbobjectstore_put12.htm b/tests/wpt/tests/IndexedDB/idbobjectstore_put12.htm deleted file mode 100644 index 0693980277d..00000000000 --- a/tests/wpt/tests/IndexedDB/idbobjectstore_put12.htm +++ /dev/null @@ -1,29 +0,0 @@ - - -IDBObjectStore.put() - Attempt to put a record where the record's in-line key is not defined - - - - - - - -
diff --git a/tests/wpt/tests/IndexedDB/idbobjectstore_put13.htm b/tests/wpt/tests/IndexedDB/idbobjectstore_put13.htm deleted file mode 100644 index 8ae6561fc5c..00000000000 --- a/tests/wpt/tests/IndexedDB/idbobjectstore_put13.htm +++ /dev/null @@ -1,29 +0,0 @@ - - -IDBObjectStore.put() - Attempt to put a record where the out of line key provided does not meet the constraints of a valid key - - - - - - - -
diff --git a/tests/wpt/tests/IndexedDB/idbobjectstore_put14.htm b/tests/wpt/tests/IndexedDB/idbobjectstore_put14.htm deleted file mode 100644 index bc5647f4c11..00000000000 --- a/tests/wpt/tests/IndexedDB/idbobjectstore_put14.htm +++ /dev/null @@ -1,32 +0,0 @@ - - -IDBObjectStore.put() - Put a record where a value being indexed does not meet the constraints of a valid key - - - - - - - -
diff --git a/tests/wpt/tests/IndexedDB/idbobjectstore_put15.htm b/tests/wpt/tests/IndexedDB/idbobjectstore_put15.htm deleted file mode 100644 index e7affaddd44..00000000000 --- a/tests/wpt/tests/IndexedDB/idbobjectstore_put15.htm +++ /dev/null @@ -1,31 +0,0 @@ - - -IDBObjectStore.put() - If the transaction this IDBObjectStore belongs to has its mode set to readonly, throw ReadOnlyError - - - - - -
- - diff --git a/tests/wpt/tests/IndexedDB/idbobjectstore_put16.htm b/tests/wpt/tests/IndexedDB/idbobjectstore_put16.htm deleted file mode 100644 index e298ba88493..00000000000 --- a/tests/wpt/tests/IndexedDB/idbobjectstore_put16.htm +++ /dev/null @@ -1,25 +0,0 @@ - - -IDBObjectStore.put() - If the object store has been deleted, the implementation must throw a DOMException of type InvalidStateError - - - - - -
- diff --git a/tests/wpt/tests/IndexedDB/idbobjectstore_put2.htm b/tests/wpt/tests/IndexedDB/idbobjectstore_put2.htm deleted file mode 100644 index 733e2cb1549..00000000000 --- a/tests/wpt/tests/IndexedDB/idbobjectstore_put2.htm +++ /dev/null @@ -1,36 +0,0 @@ - - -IDBObjectStore.put() - put with an out-of-line key - - - - - - - -
diff --git a/tests/wpt/tests/IndexedDB/idbobjectstore_put3.htm b/tests/wpt/tests/IndexedDB/idbobjectstore_put3.htm deleted file mode 100644 index b7792bdaf1d..00000000000 --- a/tests/wpt/tests/IndexedDB/idbobjectstore_put3.htm +++ /dev/null @@ -1,48 +0,0 @@ - - -IDBObjectStore.put() - record with same key already exists - - - - - - - -
diff --git a/tests/wpt/tests/IndexedDB/idbobjectstore_put4.htm b/tests/wpt/tests/IndexedDB/idbobjectstore_put4.htm deleted file mode 100644 index 4a59836eb63..00000000000 --- a/tests/wpt/tests/IndexedDB/idbobjectstore_put4.htm +++ /dev/null @@ -1,40 +0,0 @@ - - -IDBObjectStore.put() - put where an index has unique:true specified - - - - - - - -
diff --git a/tests/wpt/tests/IndexedDB/idbobjectstore_put5.htm b/tests/wpt/tests/IndexedDB/idbobjectstore_put5.htm deleted file mode 100644 index 6e945e27d2a..00000000000 --- a/tests/wpt/tests/IndexedDB/idbobjectstore_put5.htm +++ /dev/null @@ -1,34 +0,0 @@ - - -IDBObjectStore.put() - object store's key path is an object attribute - - - - - - - -
diff --git a/tests/wpt/tests/IndexedDB/idbobjectstore_put6.htm b/tests/wpt/tests/IndexedDB/idbobjectstore_put6.htm deleted file mode 100644 index f0b6f0b98dc..00000000000 --- a/tests/wpt/tests/IndexedDB/idbobjectstore_put6.htm +++ /dev/null @@ -1,47 +0,0 @@ - - -IDBObjectStore.put() - autoIncrement and inline keys - - - - - - - -
diff --git a/tests/wpt/tests/IndexedDB/idbobjectstore_put7.htm b/tests/wpt/tests/IndexedDB/idbobjectstore_put7.htm deleted file mode 100644 index e41959f2110..00000000000 --- a/tests/wpt/tests/IndexedDB/idbobjectstore_put7.htm +++ /dev/null @@ -1,47 +0,0 @@ - - -IDBObjectStore.put() - autoIncrement and out-of-line keys - - - - - - - -
diff --git a/tests/wpt/tests/IndexedDB/idbobjectstore_put8.htm b/tests/wpt/tests/IndexedDB/idbobjectstore_put8.htm deleted file mode 100644 index 2bec639d322..00000000000 --- a/tests/wpt/tests/IndexedDB/idbobjectstore_put8.htm +++ /dev/null @@ -1,47 +0,0 @@ - - -IDBObjectStore.put() - object store has autoIncrement:true and the key path is an object attribute - - - - - - - -
diff --git a/tests/wpt/tests/IndexedDB/idbobjectstore_put9.htm b/tests/wpt/tests/IndexedDB/idbobjectstore_put9.htm deleted file mode 100644 index dff9415d691..00000000000 --- a/tests/wpt/tests/IndexedDB/idbobjectstore_put9.htm +++ /dev/null @@ -1,27 +0,0 @@ - - -IDBObjectStore.put() - Attempt to put a record that does not meet the constraints of an object store's inline key requirements - - - - - - - -
diff --git a/tests/wpt/tests/WebCryptoAPI/sign_verify/eddsa.js b/tests/wpt/tests/WebCryptoAPI/sign_verify/eddsa.js index 7817b78cff6..4952df502d8 100644 --- a/tests/wpt/tests/WebCryptoAPI/sign_verify/eddsa.js +++ b/tests/wpt/tests/WebCryptoAPI/sign_verify/eddsa.js @@ -1,363 +1,214 @@ function run_test() { - setup({explicit_done: true}); - var subtle = self.crypto.subtle; // Change to test prefixed implementations - // When are all these tests really done? When all the promises they use have resolved. - var all_promises = []; - // Source file [algorithm_name]_vectors.js provides the getTestVectors method // for the algorithm that drives these tests. var testVectors = getTestVectors(); - // Test verification first, because signing tests rely on that working - testVectors.forEach(function(vector) { - var promise = importVectorKeys(vector, ["verify"], ["sign"]) - .then(function(vectors) { - var algorithm = {name: vector.algorithmName}; - promise_test(function(test) { - var operation = subtle.verify(algorithm, vector.publicKey, vector.signature, vector.data) - .then(function(is_verified) { - assert_true(is_verified, "Signature verified"); - }, function(err) { - assert_unreached("Verification should not throw error " + vector.name + ": " + err.message + "'"); - }); - - return operation; - }, vector.name + " verification"); - - }, function(err) { - // We need a failed test if the importVectorKey operation fails, so - // we know we never tested verification. - promise_test(function(test) { - assert_unreached("importVectorKeys failed for " + vector.name + ". Message: ''" + err.message + "''"); - }, "importVectorKeys step: " + vector.name + " verification"); - }); - - all_promises.push(promise); - }); - - // Test verification with an altered buffer after call - testVectors.forEach(function(vector) { - var promise = importVectorKeys(vector, ["verify"], ["sign"]) - .then(function(vectors) { - var algorithm = {name: vector.algorithmName}; - promise_test(function(test) { - var signature = copyBuffer(vector.signature); - var operation = subtle.verify(algorithm, vector.publicKey, signature, vector.data) - .then(function(is_verified) { - assert_true(is_verified, "Signature verified"); - }, function(err) { - assert_unreached("Verification should not throw error " + vector.name + ": " + err.message + "'"); - }); - - signature[0] = 255 - signature[0]; - return operation; - }, vector.name + " verification with altered signature after call"); - }, function(err) { - promise_test(function(test) { - assert_unreached("importVectorKeys failed for " + vector.name + ". Message: ''" + err.message + "''"); - }, "importVectorKeys step: " + vector.name + " verification with altered signature after call"); - }); - - all_promises.push(promise); - }); - - // Check for successful verification even if data is altered after call. - testVectors.forEach(function(vector) { - var promise = importVectorKeys(vector, ["verify"], ["sign"]) - .then(function(vectors) { - var algorithm = {name: vector.algorithmName}; - promise_test(function(test) { - var data = copyBuffer(vector.data); - var operation = subtle.verify(algorithm, vector.publicKey, vector.signature, data) - .then(function(is_verified) { - assert_true(is_verified, "Signature verified"); - }, function(err) { - assert_unreached("Verification should not throw error " + vector.name + ": " + err.message + "'"); - }); - - data[0] = 255 - data[0]; - return operation; - }, vector.name + " with altered data after call"); - }, function(err) { - promise_test(function(test) { - assert_unreached("importVectorKeys failed for " + vector.name + ". Message: ''" + err.message + "''"); - }, "importVectorKeys step: " + vector.name + " with altered data after call"); - }); - - all_promises.push(promise); - }); - - // Check for failures due to using privateKey to verify. - testVectors.forEach(function(vector) { - var promise = importVectorKeys(vector, ["verify"], ["sign"]) - .then(function(vectors) { - var algorithm = {name: vector.algorithmName}; - promise_test(function(test) { - return subtle.verify(algorithm, vector.privateKey, vector.signature, vector.data) - .then(function(data) { - assert_unreached("Should have thrown error for using privateKey to verify in " + vector.name + ": " + err.message + "'"); - }, function(err) { - assert_equals(err.name, "InvalidAccessError", "Should throw InvalidAccessError instead of '" + err.message + "'"); - }); - }, vector.name + " using privateKey to verify"); - - }, function(err) { - promise_test(function(test) { - assert_unreached("importVectorKeys failed for " + vector.name + ". Message: ''" + err.message + "''"); - }, "importVectorKeys step: " + vector.name + " using privateKey to verify"); - }); - - all_promises.push(promise); - }); - - // Check for failures due to using publicKey to sign. - testVectors.forEach(function(vector) { - var promise = importVectorKeys(vector, ["verify"], ["sign"]) - .then(function(vectors) { - var algorithm = {name: vector.algorithmName}; - promise_test(function(test) { - return subtle.sign(algorithm, vector.publicKey, vector.data) - .then(function(signature) { - assert_unreached("Should have thrown error for using publicKey to sign in " + vector.name + ": " + err.message + "'"); - }, function(err) { - assert_equals(err.name, "InvalidAccessError", "Should throw InvalidAccessError instead of '" + err.message + "'"); - }); - }, vector.name + " using publicKey to sign"); - }, function(err) { - promise_test(function(test) { - assert_unreached("importVectorKeys failed for " + vector.name + ". Message: ''" + err.message + "''"); - }, "importVectorKeys step: " + vector.name + " using publicKey to sign"); - }); - - all_promises.push(promise); - }); - - // Check for failures due to no "verify" usage. - testVectors.forEach(function(originalVector) { - var vector = Object.assign({}, originalVector); - - var promise = importVectorKeys(vector, [], ["sign"]) - .then(function(vectors) { - var algorithm = {name: vector.algorithmName}; - promise_test(function(test) { - return subtle.verify(algorithm, vector.publicKey, vector.signature, vector.data) - .then(function(data) { - assert_unreached("Should have thrown error for no verify usage in " + vector.name + ": " + err.message + "'"); - }, function(err) { - assert_equals(err.name, "InvalidAccessError", "Should throw InvalidAccessError instead of '" + err.message + "'"); - }); - }, vector.name + " no verify usage"); - }, function(err) { - promise_test(function(test) { - assert_unreached("importVectorKeys failed for " + vector.name + ". Message: ''" + err.message + "''"); - }, "importVectorKeys step: " + vector.name + " no verify usage"); - }); - - all_promises.push(promise); - }); - - // Check for successful signing and verification. - testVectors.forEach(function(vector) { - var promise = importVectorKeys(vector, ["verify"], ["sign"]) - .then(function(vectors) { - var algorithm = {name: vector.algorithmName}; - promise_test(function(test) { - return subtle.sign(algorithm, vector.privateKey, vector.data) - .then(function(signature) { - assert_true(equalBuffers(signature, vector.signature), "Signing did not give the expected output"); - // Can we verify the signature? - return subtle.verify(algorithm, vector.publicKey, signature, vector.data) - .then(function(is_verified) { - assert_true(is_verified, "Round trip verification works"); - return signature; - }, function(err) { - assert_unreached("verify error for test " + vector.name + ": " + err.message + "'"); - }); - }, function(err) { - assert_unreached("sign error for test " + vector.name + ": '" + err.message + "'"); - }); - }, vector.name + " round trip"); - - }, function(err) { - // We need a failed test if the importVectorKey operation fails, so - // we know we never tested signing or verifying - promise_test(function(test) { - assert_unreached("importVectorKeys failed for " + vector.name + ". Message: ''" + err.message + "''"); - }, "importVectorKeys step: " + vector.name + " round trip"); - }); - - all_promises.push(promise); - }); - - // Test signing with the wrong algorithm - testVectors.forEach(function(vector) { - // Want to get the key for the wrong algorithm - var promise = subtle.generateKey({name: "HMAC", hash: "SHA-1"}, false, ["sign", "verify"]) - .then(function(wrongKey) { - var algorithm = {name: vector.algorithmName}; - return importVectorKeys(vector, ["verify"], ["sign"]) - .then(function(vectors) { - promise_test(function(test) { - var operation = subtle.sign(algorithm, wrongKey, vector.data) - .then(function(signature) { - assert_unreached("Signing should not have succeeded for " + vector.name); - }, function(err) { - assert_equals(err.name, "InvalidAccessError", "Should have thrown InvalidAccessError instead of '" + err.message + "'"); - }); - - return operation; - }, vector.name + " signing with wrong algorithm name"); - - }, function(err) { - // We need a failed test if the importVectorKey operation fails, so - // we know we never tested verification. - promise_test(function(test) { - assert_unreached("importVectorKeys failed for " + vector.name + ". Message: ''" + err.message + "''"); - }, "importVectorKeys step: " + vector.name + " signing with wrong algorithm name"); - }); - }, function(err) { - promise_test(function(test) { - assert_unreached("Generate wrong key for test " + vector.name + " failed: '" + err.message + "'"); - }, "generate wrong key step: " + vector.name + " signing with wrong algorithm name"); - }); - - all_promises.push(promise); - }); - - // Test verification with the wrong algorithm - testVectors.forEach(function(vector) { - // Want to get the key for the wrong algorithm - var promise = subtle.generateKey({name: "HMAC", hash: "SHA-1"}, false, ["sign", "verify"]) - .then(function(wrongKey) { - return importVectorKeys(vector, ["verify"], ["sign"]) - .then(function(vectors) { - var algorithm = {name: vector.algorithmName}; - promise_test(function(test) { - var operation = subtle.verify(algorithm, wrongKey, vector.signature, vector.data) - .then(function(signature) { - assert_unreached("Verifying should not have succeeded for " + vector.name); - }, function(err) { - assert_equals(err.name, "InvalidAccessError", "Should have thrown InvalidAccessError instead of '" + err.message + "'"); - }); - - return operation; - }, vector.name + " verifying with wrong algorithm name"); - - }, function(err) { - // We need a failed test if the importVectorKey operation fails, so - // we know we never tested verification. - promise_test(function(test) { - assert_unreached("importVectorKeys failed for " + vector.name + ". Message: ''" + err.message + "''"); - }, "importVectorKeys step: " + vector.name + " verifying with wrong algorithm name"); - }); - }, function(err) { - promise_test(function(test) { - assert_unreached("Generate wrong key for test " + vector.name + " failed: '" + err.message + "'"); - }, "generate wrong key step: " + vector.name + " verifying with wrong algorithm name"); - }); - - all_promises.push(promise); - }); - - // Test verification fails with wrong signature - testVectors.forEach(function(vector) { - var promise = importVectorKeys(vector, ["verify"], ["sign"]) - .then(function(vectors) { - var algorithm = {name: vector.algorithmName}; - var signature = copyBuffer(vector.signature); - signature[0] = 255 - signature[0]; - promise_test(function(test) { - var operation = subtle.verify(algorithm, vector.publicKey, signature, vector.data) - .then(function(is_verified) { - assert_false(is_verified, "Signature NOT verified"); - }, function(err) { - assert_unreached("Verification should not throw error " + vector.name + ": " + err.message + "'"); - }); - - return operation; - }, vector.name + " verification failure due to altered signature"); - - }, function(err) { - // We need a failed test if the importVectorKey operation fails, so - // we know we never tested verification. - promise_test(function(test) { - assert_unreached("importVectorKeys failed for " + vector.name + ". Message: ''" + err.message + "''"); - }, "importVectorKeys step: " + vector.name + " verification failure due to altered signature"); - }); - - all_promises.push(promise); - }); - - // Test verification fails with short (odd length) signature - testVectors.forEach(function(vector) { - var promise = importVectorKeys(vector, ["verify"], ["sign"]) - .then(function(vectors) { - var algorithm = {name: vector.algorithmName}; - var signature = vector.signature.slice(1); // Skip the first byte - promise_test(function(test) { - var operation = subtle.verify(algorithm, vector.publicKey, signature, vector.data) - .then(function(is_verified) { - assert_false(is_verified, "Signature NOT verified"); - }, function(err) { - assert_unreached("Verification should not throw error " + vector.name + ": " + err.message + "'"); - }); - - return operation; - }, vector.name + " verification failure due to shortened signature"); - - }, function(err) { - // We need a failed test if the importVectorKey operation fails, so - // we know we never tested verification. - promise_test(function(test) { - assert_unreached("importVectorKeys failed for " + vector.name + ". Message: ''" + err.message + "''"); - }, "importVectorKeys step: " + vector.name + " verification failure due to shortened signature"); - }); - - all_promises.push(promise); - }); - - // Test verification fails with wrong data - testVectors.forEach(function(vector) { - var promise = importVectorKeys(vector, ["verify"], ["sign"]) - .then(function(vectors) { - var algorithm = {name: vector.algorithmName}; - var data = copyBuffer(vector.data); - data[0] = 255 - data[0]; - promise_test(function(test) { - var operation = subtle.verify(algorithm, vector.publicKey, vector.signature, data) - .then(function(is_verified) { - assert_false(is_verified, "Signature NOT verified"); - }, function(err) { - assert_unreached("Verification should not throw error " + vector.name + ": " + err.message + "'"); - }); - - return operation; - }, vector.name + " verification failure due to altered data"); - - }, function(err) { - // We need a failed test if the importVectorKey operation fails, so - // we know we never tested verification. - promise_test(function(test) { - assert_unreached("importVectorKeys failed for " + vector.name + ". Message: ''" + err.message + "''"); - }, "importVectorKeys step: " + vector.name + " verification failure due to altered data"); - }); - - all_promises.push(promise); - }); - - - promise_test(function() { - return Promise.all(all_promises) - .then(function() {done();}) - .catch(function() {done();}) - }, "setup"); - - // Test that generated keys are valid for signing and verifying. testVectors.forEach(function(vector) { var algorithm = {name: vector.algorithmName}; + + // Test verification first, because signing tests rely on that working + promise_test(async() => { + let isVerified = false; + let key; + try { + key = await subtle.importKey("spki", vector.publicKeyBuffer, algorithm, false, ["verify"]); + isVerified = await subtle.verify(algorithm, key, vector.signature, vector.data) + } catch (err) { + assert_false(key === undefined, "importKey failed for " + vector.name + ". Message: ''" + err.message + "''"); + assert_unreached("Verification should not throw error " + vector.name + ": " + err.message + "'"); + }; + assert_true(isVerified, "Signature verified"); + }, vector.name + " verification"); + + // Test verification with an altered buffer after call + promise_test(async() => { + let isVerified = false; + let key; + try { + key = await subtle.importKey("spki", vector.publicKeyBuffer, algorithm, false, ["verify"]); + var signature = copyBuffer(vector.signature); + [isVerified] = await Promise.all([ + subtle.verify(algorithm, key, signature, vector.data), + signature[0] = 255 - signature[0] + ]); + } catch (err) { + assert_false(key === undefined, "importKey failed for " + vector.name + ". Message: ''" + err.message + "''"); + assert_unreached("Verification should not throw error " + vector.name + ": " + err.message + "'"); + }; + assert_true(isVerified, "Signature verified"); + }, vector.name + " verification with altered signature after call"); + + // Check for successful verification even if data is altered after call. + promise_test(async() => { + let isVerified = false; + let key; + try { + key = await subtle.importKey("spki", vector.publicKeyBuffer, algorithm, false, ["verify"]); + var data = copyBuffer(vector.data); + [isVerified] = await Promise.all([ + subtle.verify(algorithm, key, vector.signature, data), + data[0] = 255 - data[0] + ]); + } catch (err) { + assert_false(key === undefined, "importKey failed for " + vector.name + ". Message: ''" + err.message + "''"); + assert_unreached("Verification should not throw error " + vector.name + ": " + err.message + "'"); + }; + assert_true(isVerified, "Signature verified"); + }, vector.name + " with altered data after call"); + + // Check for failures due to using privateKey to verify. + promise_test(async() => { + let isVerified = false; + let key; + try { + key = await subtle.importKey("pkcs8", vector.privateKeyBuffer, algorithm, false, ["sign"]); + isVerified = await subtle.verify(algorithm, key, vector.signature, vector.data) + assert_unreached("Should have thrown error for using privateKey to verify in " + vector.name); + } catch (err) { + if (err instanceof AssertionError) + throw err; + assert_false(key === undefined, "importKey failed for " + vector.name + ". Message: ''" + err.message + "''"); + assert_equals(err.name, "InvalidAccessError", "Should throw InvalidAccessError instead of '" + err.message + "'"); + }; + assert_false(isVerified, "Signature verified"); + }, vector.name + " using privateKey to verify"); + + // Check for failures due to using publicKey to sign. + promise_test(async() => { + let isVerified = false; + let key; + try { + key = await subtle.importKey("spki", vector.publicKeyBuffer, algorithm, false, ["verify"]); + let signature = await subtle.sign(algorithm, key, vector.data); + assert_unreached("Should have thrown error for using publicKey to sign in " + vector.name); + } catch (err) { + if (err instanceof AssertionError) + throw err; + assert_false(key === undefined, "importKey failed for " + vector.name + ". Message: ''" + err.message + "''"); + assert_equals(err.name, "InvalidAccessError", "Should throw InvalidAccessError instead of '" + err.message + "'"); + }; + }, vector.name + " using publicKey to sign"); + + // Check for failures due to no "verify" usage. + promise_test(async() => { + let isVerified = false; + let key; + try { + key = await subtle.importKey("spki", vector.publicKeyBuffer, algorithm, false, []); + isVerified = await subtle.verify(algorithm, key, vector.signature, vector.data) + assert_unreached("Should have thrown error for no verify usage in " + vector.name); + } catch (err) { + if (err instanceof AssertionError) + throw err; + assert_false(key === undefined, "importKey failed for " + vector.name + ". Message: ''" + err.message + "''"); + assert_equals(err.name, "InvalidAccessError", "Should throw InvalidAccessError instead of '" + err.message + "'"); + }; + assert_false(isVerified, "Signature verified"); + }, vector.name + " no verify usage"); + + // Check for successful signing and verification. + var algorithm = {name: vector.algorithmName}; + promise_test(async() => { + let isVerified = false; + let privateKey, publicKey; + let signature; + try { + privateKey = await subtle.importKey("pkcs8", vector.privateKeyBuffer, algorithm, false, ["sign"]); + publicKey = await subtle.importKey("spki", vector.publicKeyBuffer, algorithm, false, ["verify"]); + signature = await subtle.sign(algorithm, privateKey, vector.data); + isVerified = await subtle.verify(algorithm, publicKey, vector.signature, vector.data) + } catch (err) { + assert_false(publicKey === undefined || privateKey === undefined, "importKey failed for " + vector.name + ". Message: ''" + err.message + "''"); + assert_false(signature === undefined, "sign error for test " + vector.name + ": '" + err.message + "'"); + assert_unreached("verify error for test " + vector.name + ": " + err.message + "'"); + }; + assert_true(isVerified, "Round trip verification works"); + }, vector.name + " round trip"); + + // Test signing with the wrong algorithm + var algorithm = {name: vector.algorithmName}; + promise_test(async() => { + let wrongKey; + try { + wrongKey = await subtle.generateKey({name: "HMAC", hash: "SHA-1"}, false, ["sign", "verify"]) + let signature = await subtle.sign(algorithm, wrongKey, vector.data); + assert_unreached("Signing should not have succeeded for " + vector.name); + } catch (err) { + if (err instanceof AssertionError) + throw err; + assert_false(wrongKey === undefined, "Generate wrong key for test " + vector.name + " failed: '" + err.message + "'"); + assert_equals(err.name, "InvalidAccessError", "Should have thrown InvalidAccessError instead of '" + err.message + "'"); + }; + }, vector.name + " signing with wrong algorithm name"); + + // Test verification with the wrong algorithm + var algorithm = {name: vector.algorithmName}; + promise_test(async() => { + let wrongKey; + try { + wrongKey = await subtle.generateKey({name: "HMAC", hash: "SHA-1"}, false, ["sign", "verify"]) + let isVerified = await subtle.verify(algorithm, wrongKey, vector.signature, vector.data) + assert_unreached("Verifying should not have succeeded for " + vector.name); + } catch (err) { + if (err instanceof AssertionError) + throw err; + assert_false(wrongKey === undefined, "Generate wrong key for test " + vector.name + " failed: '" + err.message + "'"); + assert_equals(err.name, "InvalidAccessError", "Should have thrown InvalidAccessError instead of '" + err.message + "'"); + }; + }, vector.name + " verifying with wrong algorithm name"); + + // Test verification fails with wrong signature + var algorithm = {name: vector.algorithmName}; + promise_test(async() => { + let key; + let isVerified = true; + var signature = copyBuffer(vector.signature); + signature[0] = 255 - signature[0]; + try { + key = await subtle.importKey("spki", vector.publicKeyBuffer, algorithm, false, ["verify"]); + isVerified = await subtle.verify(algorithm, key, signature, vector.data) + } catch (err) { + assert_false(key === undefined, "importKey failed for " + vector.name + ". Message: ''" + err.message + "''"); + assert_unreached("Verification should not throw error " + vector.name + ": " + err.message + "'"); + }; + assert_false(isVerified, "Signature verified"); + }, vector.name + " verification failure due to altered signature"); + + // Test verification fails with short (odd length) signature + promise_test(async() => { + let key; + let isVerified = true; + var signature = vector.signature.slice(1); // Skip the first byte + try { + key = await subtle.importKey("spki", vector.publicKeyBuffer, algorithm, false, ["verify"]); + isVerified = await subtle.verify(algorithm, key, signature, vector.data) + } catch (err) { + assert_false(key === undefined, "importKey failed for " + vector.name + ". Message: ''" + err.message + "''"); + assert_unreached("Verification should not throw error " + vector.name + ": " + err.message + "'"); + }; + assert_false(isVerified, "Signature verified"); + }, vector.name + " verification failure due to shortened signature"); + + // Test verification fails with wrong data + promise_test(async() => { + let key; + let isVerified = true; + var data = copyBuffer(vector.data); + data[0] = 255 - data[0]; + try { + key = await subtle.importKey("spki", vector.publicKeyBuffer, algorithm, false, ["verify"]); + isVerified = await subtle.verify(algorithm, key, vector.signature, data) + } catch (err) { + assert_false(key === undefined, "importKey failed for " + vector.name + ". Message: ''" + err.message + "''"); + assert_unreached("Verification should not throw error " + vector.name + ": " + err.message + "'"); + }; + assert_false(isVerified, "Signature verified"); + }, vector.name + " verification failure due to altered data"); + + // Test that generated keys are valid for signing and verifying. promise_test(async() => { let key = await subtle.generateKey(algorithm, false, ["sign", "verify"]); let signature = await subtle.sign(algorithm, key.privateKey, vector.data); @@ -371,17 +222,14 @@ function run_test() { Object.keys(kSmallOrderTestCases).forEach(function (algorithmName) { var algorithm = {name: algorithmName}; kSmallOrderTestCases[algorithmName].forEach(function(test) { - // Test low-order public keys promise_test(async() => { let isVerified = true; let publicKey; try { - publicKey = await subtle.importKey("raw", test.keyData, - algorithm, - false, ["verify"]) - isVerified = await subtle.verify(algorithmName, publicKey, test.signature, test.message); + publicKey = await subtle.importKey("raw", test.keyData, algorithm, false, ["verify"]) + isVerified = await subtle.verify(algorithm, publicKey, test.signature, test.message); } catch (err) { - assert_equals(isVerified, test.verified, "Signature verification result."); + assert_false(publicKey === undefined, "importKey failed for " + vector.name + ". Message: ''" + err.message + "''"); assert_unreached("The operation shouldn't fail, but it thown this error: " + err.name + ": " + err.message + "."); } assert_false(isVerified, "Signature verification result."); @@ -389,41 +237,6 @@ function run_test() { }); }); - // A test vector has all needed fields for signing and verifying, EXCEPT that the - // key field may be null. This function replaces that null with the Correct - // CryptoKey object. - // - // Returns a Promise that yields an updated vector on success. - function importVectorKeys(vector, publicKeyUsages, privateKeyUsages) { - var publicPromise, privatePromise; - - if (vector.publicKey !== null) { - publicPromise = new Promise(function(resolve, reject) { - resolve(vector); - }); - } else { - publicPromise = subtle.importKey(vector.publicKeyFormat, vector.publicKeyBuffer, {name: vector.algorithmName}, false, publicKeyUsages) - .then(function(key) { - vector.publicKey = key; - return vector; - }); // Returns a copy of the sourceBuffer it is sent. - } - - if (vector.privateKey !== null) { - privatePromise = new Promise(function(resolve, reject) { - resolve(vector); - }); - } else { - privatePromise = subtle.importKey(vector.privateKeyFormat, vector.privateKeyBuffer, {name: vector.algorithmName}, false, privateKeyUsages) - .then(function(key) { - vector.privateKey = key; - return vector; - }); - } - - return Promise.all([publicPromise, privatePromise]); - } - // Returns a copy of the sourceBuffer it is sent. function copyBuffer(sourceBuffer) { var source = new Uint8Array(sourceBuffer); diff --git a/tests/wpt/tests/accname/name/comp_label.html b/tests/wpt/tests/accname/name/comp_label.html index 8b569ba6fff..3eda2a5367b 100644 --- a/tests/wpt/tests/accname/name/comp_label.html +++ b/tests/wpt/tests/accname/name/comp_label.html @@ -186,6 +186,12 @@ x x + + + + x label diff --git a/tests/wpt/tests/console/console-countReset-logging-manual.html b/tests/wpt/tests/console/console-countReset-logging-manual.html index 7fe01f50edb..f0a9358fba5 100644 --- a/tests/wpt/tests/console/console-countReset-logging-manual.html +++ b/tests/wpt/tests/console/console-countReset-logging-manual.html @@ -24,21 +24,25 @@ console.count(); console.countReset(); console.count(); +console.countReset(); console.count(undefined); console.countReset(undefined); console.count(undefined); +console.countReset(undefined); console.count("default"); console.countReset("default"); console.count("default"); +console.countReset("default"); console.count({toString() {return "default"}}); console.countReset({toString() {return "default"}}); console.count({toString() {return "default"}}); +console.countReset({toString() {return "default"}}); console.count("a label"); -console.countReset(); +console.countReset("a label"); console.count("a label"); console.countReset("b"); // should produce a warning diff --git a/tests/wpt/tests/credential-management/digital-identity.https.html b/tests/wpt/tests/credential-management/digital-identity.https.html index 1a9e09dbf3c..82630e2a5bd 100644 --- a/tests/wpt/tests/credential-management/digital-identity.https.html +++ b/tests/wpt/tests/credential-management/digital-identity.https.html @@ -39,6 +39,7 @@ function buildValidNavigatorIdentityRequest() { return { digital: { providers: [{ + protocol: "protocol", selector: { format: ['mdoc'], doctype: 'org.iso.18013.5.1.mDL', @@ -94,8 +95,9 @@ promise_test(async t => { promise_test(async t => { let request = buildValidNavigatorIdentityRequest(); - let {token} = await navigator.identity.get(request); - assert_equals("fake_test_token", token); + let credential = await navigator.identity.get(request); + assert_equals("protocol", credential.protocol); + assert_equals("fake_test_token", credential.data); }, "navigator.identity.get() API works in toplevel frame."); promise_test(async t => { diff --git a/tests/wpt/tests/credential-management/fedcm-authz/fedcm-continue-on-disallowed.https.html b/tests/wpt/tests/credential-management/fedcm-authz/fedcm-continue-on-disallowed.https.html new file mode 100644 index 00000000000..fcda3a3dd59 --- /dev/null +++ b/tests/wpt/tests/credential-management/fedcm-authz/fedcm-continue-on-disallowed.https.html @@ -0,0 +1,31 @@ + +Federated Credential Management API network request tests. + + + + + + + + + diff --git a/tests/wpt/tests/credential-management/fedcm-same-site-none/fedcm-same-site-none.https.html b/tests/wpt/tests/credential-management/fedcm-same-site-none/fedcm-same-site-none.https.html new file mode 100644 index 00000000000..77ecdaff9fe --- /dev/null +++ b/tests/wpt/tests/credential-management/fedcm-same-site-none/fedcm-same-site-none.https.html @@ -0,0 +1,25 @@ + +Federated Credential Management API SameSite=None tests. + + + + + + + + + diff --git a/tests/wpt/tests/credential-management/support/fedcm-helper.sub.js b/tests/wpt/tests/credential-management/support/fedcm-helper.sub.js index 765b3cc48a9..25fdb0995c1 100644 --- a/tests/wpt/tests/credential-management/support/fedcm-helper.sub.js +++ b/tests/wpt/tests/credential-management/support/fedcm-helper.sub.js @@ -22,7 +22,7 @@ export function open_and_wait_for_popup(origin, path) { // Set the identity provider cookie. export function set_fedcm_cookie(host) { if (host == undefined) { - document.cookie = 'cookie=1; SameSite=Strict; Path=/credential-management/support; Secure'; + document.cookie = 'cookie=1; SameSite=None; Path=/credential-management/support; Secure'; return Promise.resolve(); } else { return open_and_wait_for_popup(host, '/credential-management/support/set_cookie'); diff --git a/tests/wpt/tests/credential-management/support/fedcm/accounts_check_same_site_strict.py b/tests/wpt/tests/credential-management/support/fedcm/accounts_check_same_site_strict.py new file mode 100644 index 00000000000..a6f385feac1 --- /dev/null +++ b/tests/wpt/tests/credential-management/support/fedcm/accounts_check_same_site_strict.py @@ -0,0 +1,28 @@ +import importlib +error_checker = importlib.import_module("credential-management.support.fedcm.request-params-check") + +def main(request, response): + request_error = error_checker.accountsCheck(request) + if (request_error): + return request_error + if request.cookies.get(b"same_site_strict") == b"1": + return (546, [], "Should not send SameSite=Strict cookies") + if request.headers.get(b"Sec-Fetch-Site") != b"cross-site": + return (538, [], "Wrong Sec-Fetch-Site header") + + response.headers.set(b"Content-Type", b"application/json") + + return """ +{ + "accounts": [{ + "id": "1234", + "given_name": "John", + "name": "John Doe", + "email": "john_doe@idp.example", + "picture": "https://idp.example/profile/123", + "approved_clients": ["123", "456", "789"], + "login_hints": ["john_doe"], + "domain_hints": ["idp.example", "example"] + }] +} +""" diff --git a/tests/wpt/tests/credential-management/support/fedcm/manifest_check_same_site_strict.json b/tests/wpt/tests/credential-management/support/fedcm/manifest_check_same_site_strict.json new file mode 100644 index 00000000000..d7304159834 --- /dev/null +++ b/tests/wpt/tests/credential-management/support/fedcm/manifest_check_same_site_strict.json @@ -0,0 +1,7 @@ +{ + "accounts_endpoint": "accounts_check_same_site_strict.py", + "client_metadata_endpoint": "client_metadata.py", + "id_assertion_endpoint": "token_check_same_site_strict.py", + "login_url": "login.html" +} + diff --git a/tests/wpt/tests/credential-management/support/fedcm/request-params-check.py b/tests/wpt/tests/credential-management/support/fedcm/request-params-check.py index b774496d5da..6c610e6e201 100644 --- a/tests/wpt/tests/credential-management/support/fedcm/request-params-check.py +++ b/tests/wpt/tests/credential-management/support/fedcm/request-params-check.py @@ -17,8 +17,6 @@ def commonUncredentialedRequestCheck(request): def commonCredentialedRequestCheck(request): if request.cookies.get(b"cookie") != b"1": return (537, [], "Missing cookie") - if request.headers.get(b"Sec-Fetch-Site") != b"none": - return (538, [], "Wrong Sec-Fetch-Site header") def commonPostCheck(request): if not request.headers.get(b"Origin"): diff --git a/tests/wpt/tests/credential-management/support/fedcm/token_check_same_site_strict.py b/tests/wpt/tests/credential-management/support/fedcm/token_check_same_site_strict.py new file mode 100644 index 00000000000..8a4b3a234bd --- /dev/null +++ b/tests/wpt/tests/credential-management/support/fedcm/token_check_same_site_strict.py @@ -0,0 +1,15 @@ +import importlib +error_checker = importlib.import_module("credential-management.support.fedcm.request-params-check") + +def main(request, response): + request_error = error_checker.tokenCheck(request) + if (request_error): + return request_error + if request.cookies.get(b"same_site_strict") == b"1": + return (546, [], "Should not send SameSite=Strict cookies") + + response.headers.set(b"Content-Type", b"application/json") + response.headers.set(b"Access-Control-Allow-Origin", request.headers.get(b"Origin")) + response.headers.set(b"Access-Control-Allow-Credentials", "true") + + return "{\"token\": \"token\"}" diff --git a/tests/wpt/tests/credential-management/support/set_cookie.headers b/tests/wpt/tests/credential-management/support/set_cookie.headers index b19ff933a6f..4226ff4c997 100644 --- a/tests/wpt/tests/credential-management/support/set_cookie.headers +++ b/tests/wpt/tests/credential-management/support/set_cookie.headers @@ -1,2 +1,3 @@ Content-Type: text/html Set-Cookie: cookie=1; SameSite=None; Secure +Set-Cookie: same_site_strict=1; SameSite=Strict; Secure diff --git a/tests/wpt/tests/css/css-anchor-position/anchor-center-htb-htb.html b/tests/wpt/tests/css/css-anchor-position/anchor-center-htb-htb.html index 7012208044a..20abb2ed096 100644 --- a/tests/wpt/tests/css/css-anchor-position/anchor-center-htb-htb.html +++ b/tests/wpt/tests/css/css-anchor-position/anchor-center-htb-htb.html @@ -21,7 +21,7 @@ } .target { - anchor-default: --anchor; + position-anchor: --anchor; position: absolute; background: cyan; justify-self: anchor-center; diff --git a/tests/wpt/tests/css/css-anchor-position/anchor-center-htb-vrl.html b/tests/wpt/tests/css/css-anchor-position/anchor-center-htb-vrl.html index 584424d306f..099d9cd15b4 100644 --- a/tests/wpt/tests/css/css-anchor-position/anchor-center-htb-vrl.html +++ b/tests/wpt/tests/css/css-anchor-position/anchor-center-htb-vrl.html @@ -22,7 +22,7 @@ .target { writing-mode: vertical-rl; - anchor-default: --anchor; + position-anchor: --anchor; position: absolute; background: cyan; align-self: anchor-center; diff --git a/tests/wpt/tests/css/css-anchor-position/anchor-center-vrl-htb.html b/tests/wpt/tests/css/css-anchor-position/anchor-center-vrl-htb.html index c7ee2302626..3e4f485cec3 100644 --- a/tests/wpt/tests/css/css-anchor-position/anchor-center-vrl-htb.html +++ b/tests/wpt/tests/css/css-anchor-position/anchor-center-vrl-htb.html @@ -23,7 +23,7 @@ .target { writing-mode: horizontal-tb; - anchor-default: --anchor; + position-anchor: --anchor; position: absolute; background: cyan; align-self: anchor-center; diff --git a/tests/wpt/tests/css/css-anchor-position/anchor-center-vrl-vrl.html b/tests/wpt/tests/css/css-anchor-position/anchor-center-vrl-vrl.html index d314dc7f2fc..fe40c731419 100644 --- a/tests/wpt/tests/css/css-anchor-position/anchor-center-vrl-vrl.html +++ b/tests/wpt/tests/css/css-anchor-position/anchor-center-vrl-vrl.html @@ -22,7 +22,7 @@ } .target { - anchor-default: --anchor; + position-anchor: --anchor; position: absolute; background: cyan; justify-self: anchor-center; diff --git a/tests/wpt/tests/css/css-anchor-position/anchor-getComputedStyle-003.html b/tests/wpt/tests/css/css-anchor-position/anchor-getComputedStyle-003.html index da9ec4a1451..fc384ab4cdf 100644 --- a/tests/wpt/tests/css/css-anchor-position/anchor-getComputedStyle-003.html +++ b/tests/wpt/tests/css/css-anchor-position/anchor-getComputedStyle-003.html @@ -52,7 +52,7 @@ body { } #target1 { - anchor-default: --a1; + position-anchor: --a1; } #anchor2 { @@ -62,7 +62,7 @@ body { } #target2 { - anchor-default: --a2; + position-anchor: --a2; } diff --git a/tests/wpt/tests/css/css-anchor-position/anchor-name-style-contained-dynamic.html b/tests/wpt/tests/css/css-anchor-position/anchor-name-style-contained-dynamic.html index 50cec96f366..1413fe9d772 100644 --- a/tests/wpt/tests/css/css-anchor-position/anchor-name-style-contained-dynamic.html +++ b/tests/wpt/tests/css/css-anchor-position/anchor-name-style-contained-dynamic.html @@ -19,7 +19,7 @@ } .target { position: absolute; - anchor-default: var(--anchor-name); + position-anchor: var(--anchor-name); top: anchor(bottom, 50px); } #a1 { --anchor-name: --a1; } diff --git a/tests/wpt/tests/css/css-anchor-position/anchor-name-style-contained.html b/tests/wpt/tests/css/css-anchor-position/anchor-name-style-contained.html index a5295758891..b88afe4107d 100644 --- a/tests/wpt/tests/css/css-anchor-position/anchor-name-style-contained.html +++ b/tests/wpt/tests/css/css-anchor-position/anchor-name-style-contained.html @@ -19,7 +19,7 @@ } .target { position: absolute; - anchor-default: var(--anchor-name); + position-anchor: var(--anchor-name); top: anchor(bottom, 50px); } #a1 { --anchor-name: --a1; } diff --git a/tests/wpt/tests/css/css-anchor-position/anchor-position-circular.html b/tests/wpt/tests/css/css-anchor-position/anchor-position-circular.html index 8efbeb09e20..85fca57421c 100644 --- a/tests/wpt/tests/css/css-anchor-position/anchor-position-circular.html +++ b/tests/wpt/tests/css/css-anchor-position/anchor-position-circular.html @@ -15,7 +15,7 @@ div { #anchored1 { position: absolute; - anchor-default: --a1; + position-anchor: --a1; left: anchor(--a1 left); top: anchor(--a1 bottom); background: orange; @@ -24,7 +24,7 @@ div { #anchored2 { position: absolute; - anchor-default: --a2; + position-anchor: --a2; left: anchor(--a2 left); top: anchor(--a2 bottom); background: green; diff --git a/tests/wpt/tests/css/css-anchor-position/anchor-position-top-layer-001.html b/tests/wpt/tests/css/css-anchor-position/anchor-position-top-layer-001.html index 055459551b8..a8513bb74ca 100644 --- a/tests/wpt/tests/css/css-anchor-position/anchor-position-top-layer-001.html +++ b/tests/wpt/tests/css/css-anchor-position/anchor-position-top-layer-001.html @@ -21,7 +21,7 @@ width: 100px; height: 100px; background: lime; - anchor-default: --a; + position-anchor: --a; outline: none; } diff --git a/tests/wpt/tests/css/css-anchor-position/anchor-position-top-layer-002.html b/tests/wpt/tests/css/css-anchor-position/anchor-position-top-layer-002.html index a87a9d7eedd..9ce0b8e5f9f 100644 --- a/tests/wpt/tests/css/css-anchor-position/anchor-position-top-layer-002.html +++ b/tests/wpt/tests/css/css-anchor-position/anchor-position-top-layer-002.html @@ -21,7 +21,7 @@ width: 100px; height: 100px; background: lime; - anchor-default: --a; + position-anchor: --a; outline: none; } diff --git a/tests/wpt/tests/css/css-anchor-position/anchor-position-top-layer-003.html b/tests/wpt/tests/css/css-anchor-position/anchor-position-top-layer-003.html index 96d5219c5ce..3bc815af0ca 100644 --- a/tests/wpt/tests/css/css-anchor-position/anchor-position-top-layer-003.html +++ b/tests/wpt/tests/css/css-anchor-position/anchor-position-top-layer-003.html @@ -21,7 +21,7 @@ width: 100px; height: 100px; background: lime; - anchor-default: --a; + position-anchor: --a; outline: none; } diff --git a/tests/wpt/tests/css/css-anchor-position/anchor-position-top-layer-004.html b/tests/wpt/tests/css/css-anchor-position/anchor-position-top-layer-004.html index c986e3f98d3..ad0a7b8b32f 100644 --- a/tests/wpt/tests/css/css-anchor-position/anchor-position-top-layer-004.html +++ b/tests/wpt/tests/css/css-anchor-position/anchor-position-top-layer-004.html @@ -21,7 +21,7 @@ width: 100px; height: 100px; background: lime; - anchor-default: --a; + position-anchor: --a; outline: none; } diff --git a/tests/wpt/tests/css/css-anchor-position/anchor-position-top-layer-005.html b/tests/wpt/tests/css/css-anchor-position/anchor-position-top-layer-005.html index cf39c777367..51aa482aee5 100644 --- a/tests/wpt/tests/css/css-anchor-position/anchor-position-top-layer-005.html +++ b/tests/wpt/tests/css/css-anchor-position/anchor-position-top-layer-005.html @@ -22,7 +22,7 @@ width: 100px; height: 100px; background: lime; - anchor-default: --a; + position-anchor: --a; } body { diff --git a/tests/wpt/tests/css/css-anchor-position/anchor-position-top-layer-006.html b/tests/wpt/tests/css/css-anchor-position/anchor-position-top-layer-006.html index c13284b8548..a3b9e63c06b 100644 --- a/tests/wpt/tests/css/css-anchor-position/anchor-position-top-layer-006.html +++ b/tests/wpt/tests/css/css-anchor-position/anchor-position-top-layer-006.html @@ -22,7 +22,7 @@ width: 100px; height: 100px; background: lime; - anchor-default: --a; + position-anchor: --a; } body { diff --git a/tests/wpt/tests/css/css-anchor-position/anchor-scroll-001.html b/tests/wpt/tests/css/css-anchor-position/anchor-scroll-001.html index 8609795c8a6..b9dfc56e2ef 100644 --- a/tests/wpt/tests/css/css-anchor-position/anchor-scroll-001.html +++ b/tests/wpt/tests/css/css-anchor-position/anchor-scroll-001.html @@ -40,7 +40,7 @@ body { position: absolute; left: anchor(--anchor left); bottom: anchor(--anchor top); - anchor-default: --anchor; + position-anchor: --anchor; } #outer-anchored { @@ -48,7 +48,7 @@ body { position: absolute; left: anchor(--anchor left); top: anchor(--anchor bottom); - anchor-default: --anchor; + position-anchor: --anchor; } diff --git a/tests/wpt/tests/css/css-anchor-position/anchor-scroll-002.html b/tests/wpt/tests/css/css-anchor-position/anchor-scroll-002.html index 8ef6f500a1f..2c51e6a1a3a 100644 --- a/tests/wpt/tests/css/css-anchor-position/anchor-scroll-002.html +++ b/tests/wpt/tests/css/css-anchor-position/anchor-scroll-002.html @@ -45,7 +45,7 @@ body { height: 50px; top: anchor(--a1 top); left: anchor(--a1 right); - anchor-default: --a1; + position-anchor: --a1; } diff --git a/tests/wpt/tests/css/css-anchor-position/anchor-scroll-003.html b/tests/wpt/tests/css/css-anchor-position/anchor-scroll-003.html index c1b31c0becf..6c0dd08355c 100644 --- a/tests/wpt/tests/css/css-anchor-position/anchor-scroll-003.html +++ b/tests/wpt/tests/css/css-anchor-position/anchor-scroll-003.html @@ -47,7 +47,7 @@ body { position: absolute; left: anchor(--a left); bottom: anchor(--a top); - anchor-default: --a; + position-anchor: --a; width: 50px; height: 50px; background: lime; diff --git a/tests/wpt/tests/css/css-anchor-position/anchor-scroll-004.html b/tests/wpt/tests/css/css-anchor-position/anchor-scroll-004.html index d08279118d9..c0e0afb23f1 100644 --- a/tests/wpt/tests/css/css-anchor-position/anchor-scroll-004.html +++ b/tests/wpt/tests/css/css-anchor-position/anchor-scroll-004.html @@ -32,7 +32,7 @@ body { .target { position: absolute; - anchor-default: --a; + position-anchor: --a; top: anchor(--a bottom); left: anchor(--a left); color: lime; diff --git a/tests/wpt/tests/css/css-anchor-position/anchor-scroll-005.html b/tests/wpt/tests/css/css-anchor-position/anchor-scroll-005.html index a9a7d24d2b9..f8f26b719f0 100644 --- a/tests/wpt/tests/css/css-anchor-position/anchor-scroll-005.html +++ b/tests/wpt/tests/css/css-anchor-position/anchor-scroll-005.html @@ -33,7 +33,7 @@ body { width: 100px; height: 100px; bottom: anchor(--a top); - anchor-default: --a; + position-anchor: --a; background: lime; } diff --git a/tests/wpt/tests/css/css-anchor-position/anchor-scroll-006.html b/tests/wpt/tests/css/css-anchor-position/anchor-scroll-006.html index 2ffd026b552..9c8a8c0ac2f 100644 --- a/tests/wpt/tests/css/css-anchor-position/anchor-scroll-006.html +++ b/tests/wpt/tests/css/css-anchor-position/anchor-scroll-006.html @@ -50,21 +50,21 @@ body { /* Needs scroll adjustment in x axis only */ #target1 { - anchor-default: --a1; + position-anchor: --a1; left: anchor(left); top: anchor(--scroller1 bottom); } /* Needs scroll adjustment in y axis only */ #target2 { - anchor-default: --a2; + position-anchor: --a2; top: anchor(top); left: anchor(--scroller2 right); } /* No scroll adjustment needed */ #target3 { - anchor-default: --a3; + position-anchor: --a3; top: anchor(--scroller3 bottom); left: anchor(--scroller3 right); } diff --git a/tests/wpt/tests/css/css-anchor-position/anchor-scroll-007.html b/tests/wpt/tests/css/css-anchor-position/anchor-scroll-007.html index ec519106190..7e288d713f6 100644 --- a/tests/wpt/tests/css/css-anchor-position/anchor-scroll-007.html +++ b/tests/wpt/tests/css/css-anchor-position/anchor-scroll-007.html @@ -56,7 +56,7 @@ body { height: 50px; left: anchor(--a3 left); top: anchor(--a1 top); - anchor-default: --a2; + position-anchor: --a2; background: lime; } diff --git a/tests/wpt/tests/css/css-anchor-position/anchor-scroll-chained-001.tentative.html b/tests/wpt/tests/css/css-anchor-position/anchor-scroll-chained-001.tentative.html index 60ad1280226..1235f8fad43 100644 --- a/tests/wpt/tests/css/css-anchor-position/anchor-scroll-chained-001.tentative.html +++ b/tests/wpt/tests/css/css-anchor-position/anchor-scroll-chained-001.tentative.html @@ -25,7 +25,7 @@ div { #anchored1 { position: absolute; - anchor-default: --a1; + position-anchor: --a1; left: anchor(--a1 left); top: anchor(--a1 bottom); background: green; @@ -34,7 +34,7 @@ div { #anchored2 { position: absolute; - anchor-default: --a2; + position-anchor: --a2; left: anchor(--a2 left); top: anchor(--a2 bottom); background: lime; diff --git a/tests/wpt/tests/css/css-anchor-position/anchor-scroll-chained-002.tentative.html b/tests/wpt/tests/css/css-anchor-position/anchor-scroll-chained-002.tentative.html index e180c564682..9c60799e0bb 100644 --- a/tests/wpt/tests/css/css-anchor-position/anchor-scroll-chained-002.tentative.html +++ b/tests/wpt/tests/css/css-anchor-position/anchor-scroll-chained-002.tentative.html @@ -31,7 +31,7 @@ div { #anchored1 { position: absolute; - anchor-default: --a1; + position-anchor: --a1; left: anchor(--a1 left); top: anchor(--a1 bottom); background: green; @@ -40,7 +40,7 @@ div { #anchored2 { position: absolute; - anchor-default: --a2; + position-anchor: --a2; left: anchor(--a2 left); top: anchor(--a2 bottom); background: lime; diff --git a/tests/wpt/tests/css/css-anchor-position/anchor-scroll-chained-003.tentative.html b/tests/wpt/tests/css/css-anchor-position/anchor-scroll-chained-003.tentative.html index 8912fcb6994..b441c92bf15 100644 --- a/tests/wpt/tests/css/css-anchor-position/anchor-scroll-chained-003.tentative.html +++ b/tests/wpt/tests/css/css-anchor-position/anchor-scroll-chained-003.tentative.html @@ -31,7 +31,7 @@ div { #anchored1 { position: absolute; - anchor-default: --a1; + position-anchor: --a1; left: anchor(--a1 left); top: anchor(--a1 bottom); background: green; @@ -41,7 +41,7 @@ div { #anchored2 { position: absolute; - anchor-default: --a2; + position-anchor: --a2; left: anchor(--a2 left); top: anchor(--a2 bottom); background: lime; diff --git a/tests/wpt/tests/css/css-anchor-position/anchor-scroll-chained-004.tentative.html b/tests/wpt/tests/css/css-anchor-position/anchor-scroll-chained-004.tentative.html index 5834eb1f4cb..f1765a9870f 100644 --- a/tests/wpt/tests/css/css-anchor-position/anchor-scroll-chained-004.tentative.html +++ b/tests/wpt/tests/css/css-anchor-position/anchor-scroll-chained-004.tentative.html @@ -37,7 +37,7 @@ div { #anchored1 { position: absolute; - anchor-default: --a1; + position-anchor: --a1; left: anchor(--a1 left); top: anchor(--a1 bottom); background: green; @@ -45,7 +45,7 @@ div { #anchored2 { position: absolute; - anchor-default: --a2; + position-anchor: --a2; left: anchor(--a2 left); top: anchor(--a2 bottom); background: lime; diff --git a/tests/wpt/tests/css/css-anchor-position/anchor-scroll-chained-fallback.tentative.html b/tests/wpt/tests/css/css-anchor-position/anchor-scroll-chained-fallback.tentative.html index 32cd9de0054..d2300da8182 100644 --- a/tests/wpt/tests/css/css-anchor-position/anchor-scroll-chained-fallback.tentative.html +++ b/tests/wpt/tests/css/css-anchor-position/anchor-scroll-chained-fallback.tentative.html @@ -27,7 +27,7 @@ div { #anchored1 { position: absolute; - anchor-default: --a1; + position-anchor: --a1; background: green; position-try-options: --fallback; anchor-name: --a2; @@ -37,7 +37,7 @@ div { #anchored2 { position: absolute; - anchor-default: --a2; + position-anchor: --a2; left: anchor(--a2 left); top: anchor(--a2 bottom); background: lime; @@ -46,6 +46,7 @@ div { @position-try --fallback { left: anchor(--a1 right); top: anchor(--a1 top); + bottom: auto; } diff --git a/tests/wpt/tests/css/css-anchor-position/anchor-scroll-composited-scrolling-001-crash.html b/tests/wpt/tests/css/css-anchor-position/anchor-scroll-composited-scrolling-001-crash.html index 005a27393a2..4dd9bad60ea 100644 --- a/tests/wpt/tests/css/css-anchor-position/anchor-scroll-composited-scrolling-001-crash.html +++ b/tests/wpt/tests/css/css-anchor-position/anchor-scroll-composited-scrolling-001-crash.html @@ -23,7 +23,7 @@ #anchored { position: absolute; - anchor-default: --a; + position-anchor: --a; left: anchor(--a left); bottom: anchor(--a top); width: 100px; diff --git a/tests/wpt/tests/css/css-anchor-position/anchor-scroll-composited-scrolling-002-crash.html b/tests/wpt/tests/css/css-anchor-position/anchor-scroll-composited-scrolling-002-crash.html index 83ce1468252..80dabbb6661 100644 --- a/tests/wpt/tests/css/css-anchor-position/anchor-scroll-composited-scrolling-002-crash.html +++ b/tests/wpt/tests/css/css-anchor-position/anchor-scroll-composited-scrolling-002-crash.html @@ -23,7 +23,7 @@ position: fixed; top: anchor(--a bottom); left: anchor(--a left); - anchor-default: --a; + position-anchor: --a; } diff --git a/tests/wpt/tests/css/css-anchor-position/anchor-scroll-composited-scrolling-003-crash.html b/tests/wpt/tests/css/css-anchor-position/anchor-scroll-composited-scrolling-003-crash.html index 594c844bfb5..f46d902ffee 100644 --- a/tests/wpt/tests/css/css-anchor-position/anchor-scroll-composited-scrolling-003-crash.html +++ b/tests/wpt/tests/css/css-anchor-position/anchor-scroll-composited-scrolling-003-crash.html @@ -23,7 +23,7 @@ position: fixed; top: anchor(--a bottom); left: anchor(--a left); - anchor-default: --a; + position-anchor: --a; } diff --git a/tests/wpt/tests/css/css-anchor-position/anchor-scroll-composited-scrolling-004-crash.html b/tests/wpt/tests/css/css-anchor-position/anchor-scroll-composited-scrolling-004-crash.html index 226a1b099c3..ee5ad2f41ae 100644 --- a/tests/wpt/tests/css/css-anchor-position/anchor-scroll-composited-scrolling-004-crash.html +++ b/tests/wpt/tests/css/css-anchor-position/anchor-scroll-composited-scrolling-004-crash.html @@ -23,7 +23,7 @@ position: fixed; top: anchor(--a bottom); left: anchor(--a left); - anchor-default: --a; + position-anchor: --a; } diff --git a/tests/wpt/tests/css/css-anchor-position/anchor-scroll-composited-scrolling-005-crash.html b/tests/wpt/tests/css/css-anchor-position/anchor-scroll-composited-scrolling-005-crash.html index 639e2e064a7..c5e44a79e79 100644 --- a/tests/wpt/tests/css/css-anchor-position/anchor-scroll-composited-scrolling-005-crash.html +++ b/tests/wpt/tests/css/css-anchor-position/anchor-scroll-composited-scrolling-005-crash.html @@ -23,7 +23,7 @@ position: fixed; top: anchor(--a bottom); left: anchor(--a left); - anchor-default: --a; + position-anchor: --a; } diff --git a/tests/wpt/tests/css/css-anchor-position/anchor-scroll-composited-scrolling-006.html b/tests/wpt/tests/css/css-anchor-position/anchor-scroll-composited-scrolling-006.html index 6e57accc457..49c6dc780c7 100644 --- a/tests/wpt/tests/css/css-anchor-position/anchor-scroll-composited-scrolling-006.html +++ b/tests/wpt/tests/css/css-anchor-position/anchor-scroll-composited-scrolling-006.html @@ -29,7 +29,7 @@ body { background: red; left: 0; bottom: anchor(--a top); - anchor-default: --a; + position-anchor: --a; } #overlap { position: absolute; diff --git a/tests/wpt/tests/css/css-anchor-position/anchor-scroll-fixedpos-002.html b/tests/wpt/tests/css/css-anchor-position/anchor-scroll-fixedpos-002.html index 5b2aa2dd50b..1a05d8b93a1 100644 --- a/tests/wpt/tests/css/css-anchor-position/anchor-scroll-fixedpos-002.html +++ b/tests/wpt/tests/css/css-anchor-position/anchor-scroll-fixedpos-002.html @@ -23,7 +23,7 @@ div { #anchored { position: fixed; - anchor-default: --a1; + position-anchor: --a1; left: anchor(--a1 right); top: anchor(--a1 top); background: green; diff --git a/tests/wpt/tests/css/css-anchor-position/anchor-scroll-fixedpos.html b/tests/wpt/tests/css/css-anchor-position/anchor-scroll-fixedpos.html index a32ef3f7c49..7923ed789de 100644 --- a/tests/wpt/tests/css/css-anchor-position/anchor-scroll-fixedpos.html +++ b/tests/wpt/tests/css/css-anchor-position/anchor-scroll-fixedpos.html @@ -22,7 +22,7 @@ div { #anchored { position: fixed; - anchor-default: --a1; + position-anchor: --a1; left: anchor(--a1 right); top: anchor(--a1 top); background: green; diff --git a/tests/wpt/tests/css/css-anchor-position/anchor-scroll-js-expose.html b/tests/wpt/tests/css/css-anchor-position/anchor-scroll-js-expose.html index 1ef44d03c22..3b3f1a06086 100644 --- a/tests/wpt/tests/css/css-anchor-position/anchor-scroll-js-expose.html +++ b/tests/wpt/tests/css/css-anchor-position/anchor-scroll-js-expose.html @@ -35,7 +35,7 @@ bottom: anchor(--anchor top); width: 100px; height: 100px; - anchor-default: --anchor; + position-anchor: --anchor; background-color: green; } diff --git a/tests/wpt/tests/css/css-anchor-position/anchor-scroll-nested.html b/tests/wpt/tests/css/css-anchor-position/anchor-scroll-nested.html index 557f748c029..291fe0d7103 100644 --- a/tests/wpt/tests/css/css-anchor-position/anchor-scroll-nested.html +++ b/tests/wpt/tests/css/css-anchor-position/anchor-scroll-nested.html @@ -41,7 +41,7 @@ body { width: 50px; height: 50px; left: anchor(--anchor left); - anchor-default: --anchor; + position-anchor: --anchor; } .above { diff --git a/tests/wpt/tests/css/css-anchor-position/anchor-scroll-position-try-001.html b/tests/wpt/tests/css/css-anchor-position/anchor-scroll-position-try-001.html index b696ae0060c..3130018e73d 100644 --- a/tests/wpt/tests/css/css-anchor-position/anchor-scroll-position-try-001.html +++ b/tests/wpt/tests/css/css-anchor-position/anchor-scroll-position-try-001.html @@ -35,7 +35,7 @@ #anchored { position: absolute; background: green; - anchor-default: --a; + position-anchor: --a; position-try-options: --f1, --f2; width: 100px; height: 100px; /* Above the anchor */ diff --git a/tests/wpt/tests/css/css-anchor-position/anchor-scroll-position-try-002.html b/tests/wpt/tests/css/css-anchor-position/anchor-scroll-position-try-002.html index 3b84124705c..52bbcd62fc1 100644 --- a/tests/wpt/tests/css/css-anchor-position/anchor-scroll-position-try-002.html +++ b/tests/wpt/tests/css/css-anchor-position/anchor-scroll-position-try-002.html @@ -31,7 +31,7 @@ body { width: 100px; height: 100px; background: green; - anchor-default: --a; + position-anchor: --a; top: anchor(--a top); left: anchor(--a right); position-try-options: --pf; diff --git a/tests/wpt/tests/css/css-anchor-position/anchor-scroll-position-try-003.html b/tests/wpt/tests/css/css-anchor-position/anchor-scroll-position-try-003.html index dd9fdc92c2e..b89a574d768 100644 --- a/tests/wpt/tests/css/css-anchor-position/anchor-scroll-position-try-003.html +++ b/tests/wpt/tests/css/css-anchor-position/anchor-scroll-position-try-003.html @@ -39,7 +39,7 @@ width: 100px; height: 100px; background: green; - anchor-default: --a; + position-anchor: --a; position-try-options: --pf; } diff --git a/tests/wpt/tests/css/css-anchor-position/anchor-scroll-position-try-004.html b/tests/wpt/tests/css/css-anchor-position/anchor-scroll-position-try-004.html index 0aab60b7a81..bf0bee972de 100644 --- a/tests/wpt/tests/css/css-anchor-position/anchor-scroll-position-try-004.html +++ b/tests/wpt/tests/css/css-anchor-position/anchor-scroll-position-try-004.html @@ -33,7 +33,7 @@ body { width: 100px; height: 100px; background: green; - anchor-default: --a; + position-anchor: --a; position-try-options: --pf1, --pf2; /* Top of the anchor */ bottom: anchor(--a top); diff --git a/tests/wpt/tests/css/css-anchor-position/anchor-scroll-position-try-005.html b/tests/wpt/tests/css/css-anchor-position/anchor-scroll-position-try-005.html index e2dac13abd7..197a9e4f79c 100644 --- a/tests/wpt/tests/css/css-anchor-position/anchor-scroll-position-try-005.html +++ b/tests/wpt/tests/css/css-anchor-position/anchor-scroll-position-try-005.html @@ -32,7 +32,7 @@ body { width: 100px; height: 100px; background: green; - anchor-default: --a; + position-anchor: --a; top: anchor(--a top); left: anchor(--a right); position-try-options: --pf; diff --git a/tests/wpt/tests/css/css-anchor-position/anchor-scroll-position-try-006.html b/tests/wpt/tests/css/css-anchor-position/anchor-scroll-position-try-006.html index 1f9004de54f..132c45c89c7 100644 --- a/tests/wpt/tests/css/css-anchor-position/anchor-scroll-position-try-006.html +++ b/tests/wpt/tests/css/css-anchor-position/anchor-scroll-position-try-006.html @@ -28,7 +28,7 @@ body { width: 100px; height: 100px; background: green; - anchor-default: --a; + position-anchor: --a; position-try: --pf1, --pf2, --pf3; inset-block-start: anchor(--a end); inset-inline-start: anchor(--a end); diff --git a/tests/wpt/tests/css/css-anchor-position/anchor-scroll-position-try-007.html b/tests/wpt/tests/css/css-anchor-position/anchor-scroll-position-try-007.html index 32b7f641732..a02bd35a669 100644 --- a/tests/wpt/tests/css/css-anchor-position/anchor-scroll-position-try-007.html +++ b/tests/wpt/tests/css/css-anchor-position/anchor-scroll-position-try-007.html @@ -32,7 +32,7 @@ html { width: 100px; height: 100px; background: green; - anchor-default: --a; + position-anchor: --a; position-try-options: --pf1, --pf2, --pf3; inset-block-start: anchor(--a end); inset-inline-start: anchor(--a end); diff --git a/tests/wpt/tests/css/css-anchor-position/anchor-scroll-position-try-008.html b/tests/wpt/tests/css/css-anchor-position/anchor-scroll-position-try-008.html index 99f180bb463..2deddd587ef 100644 --- a/tests/wpt/tests/css/css-anchor-position/anchor-scroll-position-try-008.html +++ b/tests/wpt/tests/css/css-anchor-position/anchor-scroll-position-try-008.html @@ -33,7 +33,7 @@ html { width: 100px; height: 100px; background: green; - anchor-default: --a; + position-anchor: --a; position-try-options: --pf1, --pf2, --pf3; inset-block-start: anchor(--a end); inset-inline-start: anchor(--a end); diff --git a/tests/wpt/tests/css/css-anchor-position/anchor-scroll-position-try-009.html b/tests/wpt/tests/css/css-anchor-position/anchor-scroll-position-try-009.html index 0267d1987be..0d7d6b077fc 100644 --- a/tests/wpt/tests/css/css-anchor-position/anchor-scroll-position-try-009.html +++ b/tests/wpt/tests/css/css-anchor-position/anchor-scroll-position-try-009.html @@ -32,7 +32,7 @@ html { width: 100px; height: 100px; background: green; - anchor-default: --a; + position-anchor: --a; position-try-options: --pf1, --pf2, --pf3; inset-block-start: anchor(--a end); inset-inline-start: anchor(--a end); diff --git a/tests/wpt/tests/css/css-anchor-position/anchor-scroll-position-try-010.html b/tests/wpt/tests/css/css-anchor-position/anchor-scroll-position-try-010.html index 133649c720f..21f32ad068e 100644 --- a/tests/wpt/tests/css/css-anchor-position/anchor-scroll-position-try-010.html +++ b/tests/wpt/tests/css/css-anchor-position/anchor-scroll-position-try-010.html @@ -33,7 +33,7 @@ html { width: 100px; height: 100px; background: green; - anchor-default: --a; + position-anchor: --a; position-try-options: --pf1, --pf2, --pf3; inset-block-start: anchor(--a end); inset-inline-start: anchor(--a end); diff --git a/tests/wpt/tests/css/css-anchor-position/anchor-scroll-position-try-011.html b/tests/wpt/tests/css/css-anchor-position/anchor-scroll-position-try-011.html index 005a4ee728c..5de84610105 100644 --- a/tests/wpt/tests/css/css-anchor-position/anchor-scroll-position-try-011.html +++ b/tests/wpt/tests/css/css-anchor-position/anchor-scroll-position-try-011.html @@ -45,7 +45,7 @@ width: 100px; height: 100px; background: green; - anchor-default: --a; + position-anchor: --a; position-try-options: --pf1, --pf2, --pf3; bottom: anchor(--a top); left: anchor(--a right); diff --git a/tests/wpt/tests/css/css-anchor-position/anchor-scroll-to-sticky-001.html b/tests/wpt/tests/css/css-anchor-position/anchor-scroll-to-sticky-001.html index abab944751e..a6c3b057253 100644 --- a/tests/wpt/tests/css/css-anchor-position/anchor-scroll-to-sticky-001.html +++ b/tests/wpt/tests/css/css-anchor-position/anchor-scroll-to-sticky-001.html @@ -27,7 +27,7 @@ div { #anchored { position: absolute; - anchor-default: --a1; + position-anchor: --a1; left: anchor(--a1 left); top: anchor(--a1 bottom); background: green; diff --git a/tests/wpt/tests/css/css-anchor-position/anchor-scroll-to-sticky-002.html b/tests/wpt/tests/css/css-anchor-position/anchor-scroll-to-sticky-002.html index 357421ecf1b..e2d91fe4dd6 100644 --- a/tests/wpt/tests/css/css-anchor-position/anchor-scroll-to-sticky-002.html +++ b/tests/wpt/tests/css/css-anchor-position/anchor-scroll-to-sticky-002.html @@ -28,7 +28,7 @@ div { #anchored { position: absolute; - anchor-default: --a1; + position-anchor: --a1; left: anchor(--a1 left); top: anchor(--a1 bottom); background: green; diff --git a/tests/wpt/tests/css/css-anchor-position/anchor-scroll-to-sticky-003.html b/tests/wpt/tests/css/css-anchor-position/anchor-scroll-to-sticky-003.html index 0e770044913..b40f5cc8d51 100644 --- a/tests/wpt/tests/css/css-anchor-position/anchor-scroll-to-sticky-003.html +++ b/tests/wpt/tests/css/css-anchor-position/anchor-scroll-to-sticky-003.html @@ -27,7 +27,7 @@ div { #anchored { position: absolute; - anchor-default: --a1; + position-anchor: --a1; left: anchor(--a1 left); top: anchor(--a1 bottom); background: green; diff --git a/tests/wpt/tests/css/css-anchor-position/anchor-scroll-to-sticky-004.html b/tests/wpt/tests/css/css-anchor-position/anchor-scroll-to-sticky-004.html index f7878ae8df8..30325ce1e0f 100644 --- a/tests/wpt/tests/css/css-anchor-position/anchor-scroll-to-sticky-004.html +++ b/tests/wpt/tests/css/css-anchor-position/anchor-scroll-to-sticky-004.html @@ -30,7 +30,7 @@ div { #anchored { position: absolute; - anchor-default: --a1; + position-anchor: --a1; left: anchor(--a1 left); top: anchor(--a1 bottom); background: green; diff --git a/tests/wpt/tests/css/css-anchor-position/anchor-scroll-update-001.html b/tests/wpt/tests/css/css-anchor-position/anchor-scroll-update-001.html index f11797edadb..aa49fbcc6db 100644 --- a/tests/wpt/tests/css/css-anchor-position/anchor-scroll-update-001.html +++ b/tests/wpt/tests/css/css-anchor-position/anchor-scroll-update-001.html @@ -41,7 +41,7 @@ body { position: absolute; left: anchor(--anchor left); bottom: anchor(--anchor top); - anchor-default: --anchor; + position-anchor: --anchor; } #outer-anchored { @@ -49,7 +49,7 @@ body { position: absolute; left: anchor(--anchor left); top: anchor(--anchor bottom); - anchor-default: --anchor; + position-anchor: --anchor; } diff --git a/tests/wpt/tests/css/css-anchor-position/anchor-scroll-update-002.html b/tests/wpt/tests/css/css-anchor-position/anchor-scroll-update-002.html index 19447952b0b..5695db2a1cd 100644 --- a/tests/wpt/tests/css/css-anchor-position/anchor-scroll-update-002.html +++ b/tests/wpt/tests/css/css-anchor-position/anchor-scroll-update-002.html @@ -1,6 +1,6 @@ -Anchored elements should update location on `anchor-default` property changes +Anchored elements should update location on `position-anchor` property changes @@ -75,8 +75,8 @@ function raf() { async function runTest() { await raf(); await raf(); - document.getElementById('inner-anchored').style.anchorDefault = '--anchor'; - document.getElementById('outer-anchored').style.anchorDefault = '--anchor'; + document.getElementById('inner-anchored').style.positionAnchor = '--anchor'; + document.getElementById('outer-anchored').style.positionAnchor = '--anchor'; document.documentElement.classList.remove('reftest-wait'); } runTest(); diff --git a/tests/wpt/tests/css/css-anchor-position/anchor-scroll-update-003.html b/tests/wpt/tests/css/css-anchor-position/anchor-scroll-update-003.html index 57a524c483f..2e1532badfa 100644 --- a/tests/wpt/tests/css/css-anchor-position/anchor-scroll-update-003.html +++ b/tests/wpt/tests/css/css-anchor-position/anchor-scroll-update-003.html @@ -37,7 +37,7 @@ body { position: absolute; left: anchor(--anchor left); bottom: anchor(--anchor top); - anchor-default: --anchor; + position-anchor: --anchor; } #outer-anchored { @@ -45,7 +45,7 @@ body { position: absolute; left: anchor(--anchor left); top: anchor(--anchor bottom); - anchor-default: --anchor; + position-anchor: --anchor; } diff --git a/tests/wpt/tests/css/css-anchor-position/anchor-scroll-update-004.html b/tests/wpt/tests/css/css-anchor-position/anchor-scroll-update-004.html index d20a7b660a6..87138fb2d92 100644 --- a/tests/wpt/tests/css/css-anchor-position/anchor-scroll-update-004.html +++ b/tests/wpt/tests/css/css-anchor-position/anchor-scroll-update-004.html @@ -49,7 +49,7 @@ body { position: absolute; left: anchor(--anchor left); bottom: anchor(--anchor top); - anchor-default: --anchor; + position-anchor: --anchor; } #outer-anchored { @@ -57,7 +57,7 @@ body { position: absolute; left: anchor(--anchor left); top: anchor(--anchor bottom); - anchor-default: --anchor; + position-anchor: --anchor; } diff --git a/tests/wpt/tests/css/css-anchor-position/anchor-scroll-update-005.html b/tests/wpt/tests/css/css-anchor-position/anchor-scroll-update-005.html index c2e7248c80c..37874bba552 100644 --- a/tests/wpt/tests/css/css-anchor-position/anchor-scroll-update-005.html +++ b/tests/wpt/tests/css/css-anchor-position/anchor-scroll-update-005.html @@ -24,7 +24,7 @@ background-color: green; top: anchor(--a top); left: 0; - anchor-default: --a; + position-anchor: --a; }
diff --git a/tests/wpt/tests/css/css-anchor-position/anchor-scroll-update-006.html b/tests/wpt/tests/css/css-anchor-position/anchor-scroll-update-006.html index 2535c68f787..81defee7cf4 100644 --- a/tests/wpt/tests/css/css-anchor-position/anchor-scroll-update-006.html +++ b/tests/wpt/tests/css/css-anchor-position/anchor-scroll-update-006.html @@ -24,7 +24,7 @@ background-color: green; top: anchor(--a top); left: 0; - anchor-default: --a; + position-anchor: --a; }
diff --git a/tests/wpt/tests/css/css-anchor-position/anchor-scroll-update-007.html b/tests/wpt/tests/css/css-anchor-position/anchor-scroll-update-007.html index 4859f01d660..33050348c4d 100644 --- a/tests/wpt/tests/css/css-anchor-position/anchor-scroll-update-007.html +++ b/tests/wpt/tests/css/css-anchor-position/anchor-scroll-update-007.html @@ -37,7 +37,7 @@ body { position: absolute; left: anchor(--anchor left); bottom: anchor(--anchor top); - anchor-default: --anchor; + position-anchor: --anchor; } #outer-anchored { @@ -45,7 +45,7 @@ body { position: fixed; left: anchor(--anchor left); top: anchor(--anchor bottom); - anchor-default: --anchor; + position-anchor: --anchor; } diff --git a/tests/wpt/tests/css/css-anchor-position/anchor-scroll-vlr.html b/tests/wpt/tests/css/css-anchor-position/anchor-scroll-vlr.html index 00406c825e9..76186f9cad7 100644 --- a/tests/wpt/tests/css/css-anchor-position/anchor-scroll-vlr.html +++ b/tests/wpt/tests/css/css-anchor-position/anchor-scroll-vlr.html @@ -50,7 +50,7 @@ body { position: absolute; top: anchor(--anchor top); left: anchor(--anchor right); - anchor-default: --anchor; + position-anchor: --anchor; } #outer-anchored { @@ -58,7 +58,7 @@ body { position: absolute; top: anchor(--anchor top); right: anchor(--anchor left); - anchor-default: --anchor; + position-anchor: --anchor; } diff --git a/tests/wpt/tests/css/css-anchor-position/anchor-scroll-vrl.html b/tests/wpt/tests/css/css-anchor-position/anchor-scroll-vrl.html index 2432d728993..13ea8b37abd 100644 --- a/tests/wpt/tests/css/css-anchor-position/anchor-scroll-vrl.html +++ b/tests/wpt/tests/css/css-anchor-position/anchor-scroll-vrl.html @@ -50,7 +50,7 @@ body { position: absolute; top: anchor(--anchor top); left: anchor(--anchor right); - anchor-default: --anchor; + position-anchor: --anchor; } #outer-anchored { @@ -58,7 +58,7 @@ body { position: absolute; top: anchor(--anchor top); right: anchor(--anchor left); - anchor-default: --anchor; + position-anchor: --anchor; } diff --git a/tests/wpt/tests/css/css-anchor-position/at-position-try-cssom.html b/tests/wpt/tests/css/css-anchor-position/at-position-try-cssom.html index d4a1f4fa24c..dc248f4e511 100644 --- a/tests/wpt/tests/css/css-anchor-position/at-position-try-cssom.html +++ b/tests/wpt/tests/css/css-anchor-position/at-position-try-cssom.html @@ -37,7 +37,7 @@ test(t => { } #anchor { top: 100px; left: 0; anchor-name: --a; } #not-anchor { top: 200px; left: 0; anchor-name: --b; } - #target { position-try-options: --pf; anchor-default: --a; left: 999999px; } + #target { position-try-options: --pf; position-anchor: --a; left: 999999px; } `); const positionTryRule = style.sheet.cssRules[0]; @@ -52,7 +52,7 @@ test(t => { // These properties are disallowed in `@position-try` rule, and hence should not affect // position fallback. - positionTryRule.style.setProperty('anchor-default', '--b'); + positionTryRule.style.setProperty('position-anchor', '--b'); positionTryRule.style.setProperty('position', 'static'); assert_equals(target.getBoundingClientRect().left, 100); assert_equals(target.getBoundingClientRect().top, 100); diff --git a/tests/wpt/tests/css/css-anchor-position/at-position-try-invalidation-shadow-dom.html b/tests/wpt/tests/css/css-anchor-position/at-position-try-invalidation-shadow-dom.html index e5d6c51a0b9..50e67de1aef 100644 --- a/tests/wpt/tests/css/css-anchor-position/at-position-try-invalidation-shadow-dom.html +++ b/tests/wpt/tests/css/css-anchor-position/at-position-try-invalidation-shadow-dom.html @@ -5,6 +5,7 @@
diff --git a/tests/wpt/tests/css/css-anchor-position/inset-area-abs-inline-container.html b/tests/wpt/tests/css/css-anchor-position/inset-area-abs-inline-container.html index 52344614f0b..3b8b25b3af0 100644 --- a/tests/wpt/tests/css/css-anchor-position/inset-area-abs-inline-container.html +++ b/tests/wpt/tests/css/css-anchor-position/inset-area-abs-inline-container.html @@ -25,7 +25,7 @@ position: absolute; align-self: stretch; justify-self: stretch; - anchor-default: --anchor; + position-anchor: --anchor; background-color: blue; } #top-left { inset-area: top / left; } diff --git a/tests/wpt/tests/css/css-anchor-position/inset-area-basic.html b/tests/wpt/tests/css/css-anchor-position/inset-area-basic.html index 4a636355583..bf5daefe9ab 100644 --- a/tests/wpt/tests/css/css-anchor-position/inset-area-basic.html +++ b/tests/wpt/tests/css/css-anchor-position/inset-area-basic.html @@ -31,7 +31,7 @@ position: absolute; align-self: stretch; justify-self: stretch; - anchor-default: --anchor; + position-anchor: --anchor; } #anchor { margin-top: 150px; @@ -116,6 +116,6 @@ test_inset_area("y-end / y-self-start", {left:0, top:0, width:0, height:0}); // No implicit anchor means the inset-area should not apply. - anchored.style.anchorDefault = "implicit"; + anchored.style.positionAnchor = "implicit"; test_inset_area("all / top", {left:0, top:0, width:0, height:0}); diff --git a/tests/wpt/tests/css/css-anchor-position/inset-area-inline-container.html b/tests/wpt/tests/css/css-anchor-position/inset-area-inline-container.html index 91c9b097351..08aa1b921d3 100644 --- a/tests/wpt/tests/css/css-anchor-position/inset-area-inline-container.html +++ b/tests/wpt/tests/css/css-anchor-position/inset-area-inline-container.html @@ -23,7 +23,7 @@ } .anchored { position: absolute; - anchor-default: --anchor; + position-anchor: --anchor; background-color: blue; } #top-left { inset-area: top / left; } diff --git a/tests/wpt/tests/css/css-anchor-position/inset-area-wm-dir.html b/tests/wpt/tests/css/css-anchor-position/inset-area-wm-dir.html index 5268cba7e5e..c475810a197 100644 --- a/tests/wpt/tests/css/css-anchor-position/inset-area-wm-dir.html +++ b/tests/wpt/tests/css/css-anchor-position/inset-area-wm-dir.html @@ -31,7 +31,7 @@ position: absolute; align-self: stretch; justify-self: stretch; - anchor-default: --anchor; + position-anchor: --anchor; } #anchor { margin-top: 150px; diff --git a/tests/wpt/tests/css/css-anchor-position/parsing/position-try-options-computed.html b/tests/wpt/tests/css/css-anchor-position/parsing/position-try-options-computed.html index ac84b8fa4b3..f0944b7faaa 100644 --- a/tests/wpt/tests/css/css-anchor-position/parsing/position-try-options-computed.html +++ b/tests/wpt/tests/css/css-anchor-position/parsing/position-try-options-computed.html @@ -16,7 +16,7 @@ test_computed_value("position-try-options", "flip-start"); test_computed_value("position-try-options", "flip-block, flip-inline"); test_computed_value("position-try-options", "--foo, --bar"); - test_computed_value("position-try-options", "flip-start flip-inline flip-block", "flip-block flip-inline flip-start"); + test_computed_value("position-try-options", "flip-start flip-inline flip-block"); test_computed_value("position-try-options", "flip-start --flop", "--flop flip-start"); test_computed_value("position-try-options", "--flop flip-start"); diff --git a/tests/wpt/tests/css/css-anchor-position/parsing/position-try-options-parsing.html b/tests/wpt/tests/css/css-anchor-position/parsing/position-try-options-parsing.html index cb250a178d4..303cc4d0dd2 100644 --- a/tests/wpt/tests/css/css-anchor-position/parsing/position-try-options-parsing.html +++ b/tests/wpt/tests/css/css-anchor-position/parsing/position-try-options-parsing.html @@ -13,22 +13,28 @@ test_valid_value("position-try-options", "revert"); test_valid_value("position-try-options", "none"); test_valid_value("position-try-options", "flip-block"); + test_valid_value("position-try-options", "flip-block ", 'flip-block'); test_valid_value("position-try-options", "flip-start, flip-block"); - test_valid_value("position-try-options", "flip-start flip-inline, flip-block", "flip-inline flip-start, flip-block"); + test_valid_value("position-try-options", "flip-start flip-inline, flip-block"); test_valid_value("position-try-options", "flip-start, flip-start"); + test_valid_value("position-try-options", "flip-start flip-inline flip-block"); test_valid_value("position-try-options", "flip-block, --foo"); test_valid_value("position-try-options", "--bar, flip-block flip-start"); test_valid_value("position-try-options", "--foo, --bar, --baz"); test_valid_value("position-try-options", "--bar flip-block"); - test_valid_value("position-try-options", "--bar flip-inline flip-block", "--bar flip-block flip-inline"); + test_valid_value("position-try-options", "--bar flip-inline flip-block"); test_valid_value("position-try-options", "flip-inline --foo", "--foo flip-inline"); test_valid_value("position-try-options", "flip-inline flip-start --foo", "--foo flip-inline flip-start"); test_invalid_value("position-try-options", "none, flip-start"); test_invalid_value("position-try-options", "flip-block flip-block"); + test_invalid_value("position-try-options", "flip-block flip-inline flip-inline"); + test_invalid_value("position-try-options", "flip-block, flip-inline flip-inline"); test_invalid_value("position-try-options", "--bar flip-block --foo"); test_invalid_value("position-try-options", "--foo --bar"); test_invalid_value("position-try-options", "flip-inline --bar flip-block"); test_invalid_value("position-try-options", "-foo"); test_invalid_value("position-try-options", "foo"); + test_invalid_value("position-try-options", "flip-start 123"); + test_invalid_value("position-try-options", "--foo 123"); diff --git a/tests/wpt/tests/css/css-anchor-position/parsing/position-try-parsing.html b/tests/wpt/tests/css/css-anchor-position/parsing/position-try-parsing.html index 8c36ddbaace..7f504597106 100644 --- a/tests/wpt/tests/css/css-anchor-position/parsing/position-try-parsing.html +++ b/tests/wpt/tests/css/css-anchor-position/parsing/position-try-parsing.html @@ -11,8 +11,7 @@ test_valid_value("position-try", "most-height none"); test_valid_value("position-try", "--bar, --baz"); test_valid_value("position-try", "most-inline-size --baz, flip-inline"); - test_valid_value("position-try", "most-block-size flip-inline flip-block, --bar, --baz", - "most-block-size flip-block flip-inline, --bar, --baz"); + test_valid_value("position-try", "most-block-size flip-inline flip-block, --bar, --baz"); test_valid_value("position-try", "normal none", "none"); test_valid_value("position-try", "most-width none"); test_valid_value("position-try", "normal --foo", "--foo"); @@ -40,6 +39,6 @@ }); test_shorthand_value("position-try", "most-inline-size flip-inline flip-block, --foo, --bar", { "position-try-order": "most-inline-size", - "position-try-options": "flip-block flip-inline, --foo, --bar", + "position-try-options": "flip-inline flip-block, --foo, --bar", }); diff --git a/tests/wpt/tests/css/css-anchor-position/anchor-default-001.html b/tests/wpt/tests/css/css-anchor-position/position-anchor-001.html similarity index 77% rename from tests/wpt/tests/css/css-anchor-position/anchor-default-001.html rename to tests/wpt/tests/css/css-anchor-position/position-anchor-001.html index 1700a84aa88..d927b6b902c 100644 --- a/tests/wpt/tests/css/css-anchor-position/anchor-default-001.html +++ b/tests/wpt/tests/css/css-anchor-position/position-anchor-001.html @@ -1,8 +1,8 @@ -Tests the 'anchor-default' property - +Tests the 'position-anchor' property + - + diff --git a/tests/wpt/tests/css/css-anchor-position/anchor-default-002.html b/tests/wpt/tests/css/css-anchor-position/position-anchor-002.html similarity index 80% rename from tests/wpt/tests/css/css-anchor-position/anchor-default-002.html rename to tests/wpt/tests/css/css-anchor-position/position-anchor-002.html index c0a962ad367..d55338e1e97 100644 --- a/tests/wpt/tests/css/css-anchor-position/anchor-default-002.html +++ b/tests/wpt/tests/css/css-anchor-position/position-anchor-002.html @@ -1,8 +1,8 @@ -Tests that 'anchor-default' property value is tree-scoped - +Tests that 'position-anchor' property value is tree-scoped + - + `; diff --git a/tests/wpt/tests/css/css-anchor-position/anchor-default-003.html b/tests/wpt/tests/css/css-anchor-position/position-anchor-003.html similarity index 81% rename from tests/wpt/tests/css/css-anchor-position/anchor-default-003.html rename to tests/wpt/tests/css/css-anchor-position/position-anchor-003.html index 00c20324344..6117027e220 100644 --- a/tests/wpt/tests/css/css-anchor-position/anchor-default-003.html +++ b/tests/wpt/tests/css/css-anchor-position/position-anchor-003.html @@ -1,6 +1,6 @@ -Tests that layout is updated on anchor-default value changes - +Tests that layout is updated on position-anchor value changes + @@ -13,11 +13,11 @@ background: lime; top: anchor(top); left: anchor(right); - anchor-default: --a; + position-anchor: --a; } #target.after { - anchor-default: --b; + position-anchor: --b; } #anchor1, #anchor2 { @@ -51,5 +51,5 @@ test(() => { // #target should be anchored to #anchor2 now assert_equals(target.offsetLeft, 200); assert_equals(target.offsetTop, 100); -}, 'Layout is updated on `anchor-default` changes'); +}, 'Layout is updated on `position-anchor` changes'); diff --git a/tests/wpt/tests/css/css-anchor-position/anchor-default-basics.html b/tests/wpt/tests/css/css-anchor-position/position-anchor-basics.html similarity index 52% rename from tests/wpt/tests/css/css-anchor-position/anchor-default-basics.html rename to tests/wpt/tests/css/css-anchor-position/position-anchor-basics.html index 783cb539cc3..f9fe9dd6f8f 100644 --- a/tests/wpt/tests/css/css-anchor-position/anchor-default-basics.html +++ b/tests/wpt/tests/css/css-anchor-position/position-anchor-basics.html @@ -1,6 +1,6 @@ -Tests basics of the 'anchor-default' property - +Tests basics of the 'position-anchor' property + @@ -14,28 +14,28 @@
- - - - - - -
-
-
- - diff --git a/tests/wpt/tests/css/css-anchor-position/position-fallback-bounds-001.html b/tests/wpt/tests/css/css-anchor-position/position-fallback-bounds-001.html index ebd1e78fb9a..f379b691e0b 100644 --- a/tests/wpt/tests/css/css-anchor-position/position-fallback-bounds-001.html +++ b/tests/wpt/tests/css/css-anchor-position/position-fallback-bounds-001.html @@ -48,12 +48,12 @@ body { } #target1 { - anchor-default: --a1; + position-anchor: --a1; bottom: anchor(top); position-try-options: --bottom; } #target2 { - anchor-default: --a2; + position-anchor: --a2; top: anchor(bottom); position-try-options: --top; } diff --git a/tests/wpt/tests/css/css-anchor-position/position-fallback-bounds-002.html b/tests/wpt/tests/css/css-anchor-position/position-fallback-bounds-002.html index 159484ad33b..960a530b97b 100644 --- a/tests/wpt/tests/css/css-anchor-position/position-fallback-bounds-002.html +++ b/tests/wpt/tests/css/css-anchor-position/position-fallback-bounds-002.html @@ -48,13 +48,13 @@ body { } #target1 { - anchor-default: --a1; + position-anchor: --a1; bottom: anchor(top); position-try: --bottom; writing-mode: vertical-rl; } #target2 { - anchor-default: --a2; + position-anchor: --a2; top: anchor(bottom); position-try: --top; writing-mode: vertical-lr; diff --git a/tests/wpt/tests/css/css-anchor-position/position-fallback-bounds-003.html b/tests/wpt/tests/css/css-anchor-position/position-fallback-bounds-003.html index 9da7bf9ccd7..1bee43b3616 100644 --- a/tests/wpt/tests/css/css-anchor-position/position-fallback-bounds-003.html +++ b/tests/wpt/tests/css/css-anchor-position/position-fallback-bounds-003.html @@ -37,7 +37,7 @@ body { width: 100px; height: 100px; background-color: lime; - anchor-default: --a; + position-anchor: --a; position-fallback-bounds: --bounds; position-try-options: --corner1, --corner2, --corner3; bottom: anchor(top); diff --git a/tests/wpt/tests/css/css-anchor-position/position-fallback-bounds-004.html b/tests/wpt/tests/css/css-anchor-position/position-fallback-bounds-004.html index eeee710e0fa..15bdf113276 100644 --- a/tests/wpt/tests/css/css-anchor-position/position-fallback-bounds-004.html +++ b/tests/wpt/tests/css/css-anchor-position/position-fallback-bounds-004.html @@ -55,7 +55,7 @@ body { height: 100px; background-color: lime; left: anchor(left); - anchor-default: --a; + position-anchor: --a; position-fallback-bounds: --bounds; position-try-options: --bottom; bottom: anchor(top); diff --git a/tests/wpt/tests/css/css-anchor-position/position-fallback-bounds-005.html b/tests/wpt/tests/css/css-anchor-position/position-fallback-bounds-005.html index fecd4328a59..d1e9fd7f51e 100644 --- a/tests/wpt/tests/css/css-anchor-position/position-fallback-bounds-005.html +++ b/tests/wpt/tests/css/css-anchor-position/position-fallback-bounds-005.html @@ -43,7 +43,7 @@ background: lime; left: anchor(left); bottom: anchor(top); - anchor-default: --a; + position-anchor: --a; position-try-options: --bottom; position-fallback-bounds: --bounds1; } diff --git a/tests/wpt/tests/css/css-anchor-position/position-try-001.html b/tests/wpt/tests/css/css-anchor-position/position-try-001.html index a15c808d956..47fcbb83939 100644 --- a/tests/wpt/tests/css/css-anchor-position/position-try-001.html +++ b/tests/wpt/tests/css/css-anchor-position/position-try-001.html @@ -103,12 +103,12 @@ data-offset-x=150 data-offset-y=25 data-expected-width=35 data-expected-height=40>
- +
+ data-expected-width=40 data-expected-height=15>
diff --git a/tests/wpt/tests/css/css-anchor-position/position-try-cascade-layer-reorder.html b/tests/wpt/tests/css/css-anchor-position/position-try-cascade-layer-reorder.html index 6c09fd0ea17..4f38806f604 100644 --- a/tests/wpt/tests/css/css-anchor-position/position-try-cascade-layer-reorder.html +++ b/tests/wpt/tests/css/css-anchor-position/position-try-cascade-layer-reorder.html @@ -48,6 +48,7 @@ function createTargetWithStyle(test, style) { test(t => { const target = createTargetWithStyle(t, ` @position-try --fallback { + left: auto; right: anchor(--a left); } @position-try --fallback { @@ -60,10 +61,12 @@ test(t => { test(t => { const target = createTargetWithStyle(t, ` @position-try --fallback { + left: auto; bottom: anchor(--a top); } @layer { @position-try --fallback { + left: auto; top: anchor(--a bottom); } } diff --git a/tests/wpt/tests/css/css-anchor-position/position-try-options-limit.html b/tests/wpt/tests/css/css-anchor-position/position-try-options-limit.html new file mode 100644 index 00000000000..32a4f592fa0 --- /dev/null +++ b/tests/wpt/tests/css/css-anchor-position/position-try-options-limit.html @@ -0,0 +1,53 @@ + +CSS Anchor Positioning Test: position options list limit + + + + +
+
+
+
+ diff --git a/tests/wpt/tests/css/css-anchor-position/position-try-tree-scoped.html b/tests/wpt/tests/css/css-anchor-position/position-try-tree-scoped.html index a8fe0106833..d0c94fd6797 100644 --- a/tests/wpt/tests/css/css-anchor-position/position-try-tree-scoped.html +++ b/tests/wpt/tests/css/css-anchor-position/position-try-tree-scoped.html @@ -13,6 +13,7 @@ } .abs { + width: 100px; position: absolute; left: 999999px; /* force fallback */ } @@ -70,6 +71,9 @@ +
+
+
+ diff --git a/tests/wpt/tests/css/css-anchor-position/try-tactic-basic.html b/tests/wpt/tests/css/css-anchor-position/try-tactic-basic.html new file mode 100644 index 00000000000..472e204096d --- /dev/null +++ b/tests/wpt/tests/css/css-anchor-position/try-tactic-basic.html @@ -0,0 +1,69 @@ + +CSS Anchor Positioning: try-tactic + + + + +
+
+
+ diff --git a/tests/wpt/tests/css/css-anchor-position/try-tactic-sizing.html b/tests/wpt/tests/css/css-anchor-position/try-tactic-sizing.html new file mode 100644 index 00000000000..432992491dd --- /dev/null +++ b/tests/wpt/tests/css/css-anchor-position/try-tactic-sizing.html @@ -0,0 +1,66 @@ + +CSS Anchor Positioning: try-tactic, sizing properties + + + + +
+
+
+ diff --git a/tests/wpt/tests/css/css-backgrounds/table-cell-background-local-003.html b/tests/wpt/tests/css/css-backgrounds/table-cell-background-local-003.html index e2662bec1fa..5641d3d41c0 100644 --- a/tests/wpt/tests/css/css-backgrounds/table-cell-background-local-003.html +++ b/tests/wpt/tests/css/css-backgrounds/table-cell-background-local-003.html @@ -1,7 +1,7 @@ - + CSS Backgrounds and Borders Test: table cell background-image with local attachment +
XXXXXXXXXXXX
diff --git a/tests/wpt/tests/css/css-break/overflowing-block-002-print.html b/tests/wpt/tests/css/css-break/overflowing-block-002-print.html new file mode 100644 index 00000000000..3cba4b421fa --- /dev/null +++ b/tests/wpt/tests/css/css-break/overflowing-block-002-print.html @@ -0,0 +1,25 @@ + + + + + + + + + + + + +
XXXXXXXXXXXX
diff --git a/tests/wpt/tests/css/css-break/overflowing-block-003-ref.html b/tests/wpt/tests/css/css-break/overflowing-block-003-ref.html new file mode 100644 index 00000000000..a8f86d1cfe4 --- /dev/null +++ b/tests/wpt/tests/css/css-break/overflowing-block-003-ref.html @@ -0,0 +1,31 @@ + + + + + + + +

This test passes if there are two 50x50 green squares in each black box.

+ +
+
+
+ +
+
+
diff --git a/tests/wpt/tests/css/css-break/overflowing-block-003.html b/tests/wpt/tests/css/css-break/overflowing-block-003.html new file mode 100644 index 00000000000..786a61a4927 --- /dev/null +++ b/tests/wpt/tests/css/css-break/overflowing-block-003.html @@ -0,0 +1,45 @@ + + + + + + + + + + + +

This test passes if there are two 50x50 green squares in each black box.

+ +
+
+
+ AAAA BBBB +
+
+
+ +
+
+
+
+
diff --git a/tests/wpt/tests/css/css-color/lab-l-over-100-1.html b/tests/wpt/tests/css/css-color/lab-l-over-100-1.html index 287eba98245..be8833593d7 100644 --- a/tests/wpt/tests/css/css-color/lab-l-over-100-1.html +++ b/tests/wpt/tests/css/css-color/lab-l-over-100-1.html @@ -5,13 +5,16 @@ -

Test passes if you see a single color.

-
-
+

Test passes if you see a square border with a single color inside.

+
+
+
+
diff --git a/tests/wpt/tests/css/css-color/lab-l-over-100-2.html b/tests/wpt/tests/css/css-color/lab-l-over-100-2.html index e85d289d21f..20a95680947 100644 --- a/tests/wpt/tests/css/css-color/lab-l-over-100-2.html +++ b/tests/wpt/tests/css/css-color/lab-l-over-100-2.html @@ -5,13 +5,16 @@ -

Test passes if you see a single color.

-
-
+

Test passes if you see a square border with a single color inside.

+
+
+
+
diff --git a/tests/wpt/tests/css/css-color/lab-l-over-100-ref.html b/tests/wpt/tests/css/css-color/lab-l-over-100-ref.html index 57328cfa7c5..eccc492079d 100644 --- a/tests/wpt/tests/css/css-color/lab-l-over-100-ref.html +++ b/tests/wpt/tests/css/css-color/lab-l-over-100-ref.html @@ -2,10 +2,10 @@ CSS Color 4: Verify lightness in Lab is always clamped to a value between 0 to 100 -

Test passes if you see a single color.

+

Test passes if you see a square border with a single color inside.

diff --git a/tests/wpt/tests/css/css-color/lch-l-over-100-1.html b/tests/wpt/tests/css/css-color/lch-l-over-100-1.html index 6e0c62330c3..12d594d1a34 100644 --- a/tests/wpt/tests/css/css-color/lch-l-over-100-1.html +++ b/tests/wpt/tests/css/css-color/lch-l-over-100-1.html @@ -5,13 +5,16 @@ -

Test passes if you see a single color.

-
-
+

Test passes if you see a square border with a single color inside.

+
+
+
+
diff --git a/tests/wpt/tests/css/css-color/lch-l-over-100-2.html b/tests/wpt/tests/css/css-color/lch-l-over-100-2.html index 7752d0dc0eb..68789b9c859 100644 --- a/tests/wpt/tests/css/css-color/lch-l-over-100-2.html +++ b/tests/wpt/tests/css/css-color/lch-l-over-100-2.html @@ -5,13 +5,16 @@ -

Test passes if you see a single color.

-
-
+

Test passes if you see a square border with a single color inside.

+
+
+
+
diff --git a/tests/wpt/tests/css/css-color/lch-l-over-100-ref.html b/tests/wpt/tests/css/css-color/lch-l-over-100-ref.html index 67766274e59..291772e166f 100644 --- a/tests/wpt/tests/css/css-color/lch-l-over-100-ref.html +++ b/tests/wpt/tests/css/css-color/lch-l-over-100-ref.html @@ -2,11 +2,10 @@ CSS Color 4: Specifying LCH with lightness over 100 -

Test passes if you see a single color.

+

Test passes if you see a square border with a single color inside.

-
diff --git a/tests/wpt/tests/css/css-color/oklab-l-almost-0-ref.html b/tests/wpt/tests/css/css-color/oklab-l-almost-0-ref.html new file mode 100644 index 00000000000..244321ea69d --- /dev/null +++ b/tests/wpt/tests/css/css-color/oklab-l-almost-0-ref.html @@ -0,0 +1,9 @@ + + + + +

Test passes if you see a square border with a single color inside.

+
+ diff --git a/tests/wpt/tests/css/css-color/oklab-l-almost-0.html b/tests/wpt/tests/css/css-color/oklab-l-almost-0.html new file mode 100644 index 00000000000..e8cc1b9042d --- /dev/null +++ b/tests/wpt/tests/css/css-color/oklab-l-almost-0.html @@ -0,0 +1,21 @@ + + +CSS Color 4: OKLab and OKLCH + + + + + +

Test passes if you see a square border with a single color inside.

+
+
+
+
+ diff --git a/tests/wpt/tests/css/css-color/oklab-l-almost-1-ref.html b/tests/wpt/tests/css/css-color/oklab-l-almost-1-ref.html new file mode 100644 index 00000000000..72cdf354470 --- /dev/null +++ b/tests/wpt/tests/css/css-color/oklab-l-almost-1-ref.html @@ -0,0 +1,9 @@ + + + + +

Test passes if you see a square border with a single color inside.

+
+ diff --git a/tests/wpt/tests/css/css-color/oklab-l-almost-1.html b/tests/wpt/tests/css/css-color/oklab-l-almost-1.html new file mode 100644 index 00000000000..352e7b58aa6 --- /dev/null +++ b/tests/wpt/tests/css/css-color/oklab-l-almost-1.html @@ -0,0 +1,21 @@ + + +CSS Color 4: OKLab and OKLCH + + + + + +

Test passes if you see a square border with a single color inside.

+
+
+
+
+ diff --git a/tests/wpt/tests/css/css-color/oklab-l-over-1-1.html b/tests/wpt/tests/css/css-color/oklab-l-over-1-1.html index 612fe32acb1..a16fe7886f8 100644 --- a/tests/wpt/tests/css/css-color/oklab-l-over-1-1.html +++ b/tests/wpt/tests/css/css-color/oklab-l-over-1-1.html @@ -5,13 +5,16 @@ -

Test passes if you see a single color.

-
-
+

Test passes if you see a square border with a single color inside.

+
+
+
+
diff --git a/tests/wpt/tests/css/css-color/oklab-l-over-1-2.html b/tests/wpt/tests/css/css-color/oklab-l-over-1-2.html index 11948f014bf..6300cb8af3b 100644 --- a/tests/wpt/tests/css/css-color/oklab-l-over-1-2.html +++ b/tests/wpt/tests/css/css-color/oklab-l-over-1-2.html @@ -5,13 +5,16 @@ -

Test passes if you see a single color.

-
-
+

Test passes if you see a square border with a single color inside.

+
+
+
+
diff --git a/tests/wpt/tests/css/css-color/oklab-l-over-1-ref.html b/tests/wpt/tests/css/css-color/oklab-l-over-1-ref.html index eb380dcb750..f050bbc6434 100644 --- a/tests/wpt/tests/css/css-color/oklab-l-over-1-ref.html +++ b/tests/wpt/tests/css/css-color/oklab-l-over-1-ref.html @@ -2,10 +2,10 @@ CSS Color 4: Verify lightness in Lab is always clamped to a value between 0 to 100 -

Test passes if you see a single color.

+

Test passes if you see a square border with a single color inside.

diff --git a/tests/wpt/tests/css/css-color/oklch-l-almost-0-ref.html b/tests/wpt/tests/css/css-color/oklch-l-almost-0-ref.html new file mode 100644 index 00000000000..e019136f96f --- /dev/null +++ b/tests/wpt/tests/css/css-color/oklch-l-almost-0-ref.html @@ -0,0 +1,9 @@ + + + + +

Test passes if you see a square border with a single color inside.

+
+ diff --git a/tests/wpt/tests/css/css-color/oklch-l-almost-0.html b/tests/wpt/tests/css/css-color/oklch-l-almost-0.html new file mode 100644 index 00000000000..c171befe642 --- /dev/null +++ b/tests/wpt/tests/css/css-color/oklch-l-almost-0.html @@ -0,0 +1,21 @@ + + +CSS Color 4: OKLab and OKLCH + + + + + +

Test passes if you see a square border with a single color inside.

+
+
+
+
+ diff --git a/tests/wpt/tests/css/css-color/oklch-l-almost-1-ref.html b/tests/wpt/tests/css/css-color/oklch-l-almost-1-ref.html new file mode 100644 index 00000000000..e1f29eaa185 --- /dev/null +++ b/tests/wpt/tests/css/css-color/oklch-l-almost-1-ref.html @@ -0,0 +1,9 @@ + + + + +

Test passes if you see a square border with a single color inside.

+
+ diff --git a/tests/wpt/tests/css/css-color/oklch-l-almost-1.html b/tests/wpt/tests/css/css-color/oklch-l-almost-1.html new file mode 100644 index 00000000000..c98cea292f9 --- /dev/null +++ b/tests/wpt/tests/css/css-color/oklch-l-almost-1.html @@ -0,0 +1,21 @@ + + +CSS Color 4: OKLab and OKLCH + + + + + +

Test passes if you see a square border with a single color inside.

+
+
+
+
+ diff --git a/tests/wpt/tests/css/css-color/oklch-l-over-1-1.html b/tests/wpt/tests/css/css-color/oklch-l-over-1-1.html index 4eb3cda8462..c734723541d 100644 --- a/tests/wpt/tests/css/css-color/oklch-l-over-1-1.html +++ b/tests/wpt/tests/css/css-color/oklch-l-over-1-1.html @@ -5,13 +5,16 @@ -

Test passes if you see a single color.

-
-
+

Test passes if you see a square border with a single color inside.

+
+
+
+
diff --git a/tests/wpt/tests/css/css-color/oklch-l-over-1-2.html b/tests/wpt/tests/css/css-color/oklch-l-over-1-2.html index de8b1a6cdd0..59eac2b3677 100644 --- a/tests/wpt/tests/css/css-color/oklch-l-over-1-2.html +++ b/tests/wpt/tests/css/css-color/oklch-l-over-1-2.html @@ -5,13 +5,16 @@ -

Test passes if you see a single color.

-
-
+

Test passes if you see a square border with a single color inside.

+
+
+
+
diff --git a/tests/wpt/tests/css/css-color/oklch-l-over-1-ref.html b/tests/wpt/tests/css/css-color/oklch-l-over-1-ref.html index 2c7815c5f0e..ae1b5e00e57 100644 --- a/tests/wpt/tests/css/css-color/oklch-l-over-1-ref.html +++ b/tests/wpt/tests/css/css-color/oklch-l-over-1-ref.html @@ -2,10 +2,10 @@ CSS Color 4: Verify lightness in Oklch is always clamped to a value between 0 to 1 -

Test passes if you see a single color.

+

Test passes if you see a square border with a single color inside.

diff --git a/tests/wpt/tests/css/css-color/parsing/color-computed-relative-color.html b/tests/wpt/tests/css/css-color/parsing/color-computed-relative-color.html index b6e628e78a5..95c8eee226b 100644 --- a/tests/wpt/tests/css/css-color/parsing/color-computed-relative-color.html +++ b/tests/wpt/tests/css/css-color/parsing/color-computed-relative-color.html @@ -104,6 +104,7 @@ fuzzy_test_computed_color(`rgb(from rebeccapurple r calc(b * .5 - g * .5) 10)`, `color(srgb 0.4 0.2 0.0392)`); fuzzy_test_computed_color(`rgb(from rgb(20%, 40%, 60%, 80%) calc(r) calc(g) calc(b) / calc(alpha))`, `color(srgb 0.2 0.4 0.6 / 0.8)`); fuzzy_test_computed_color(`rgb(from rgb(100 110 120 / 0.8) calc(r + 1) calc(g + 1) calc(b + 1) / calc(alpha + 0.01))`, `color(srgb 0.396 0.435 0.474 / 0.81)`); // rgb(101 111 121) + fuzzy_test_computed_color(`rgb(from rebeccapurple calc((r / 255) * 100%) calc((g / 255) * 100%) calc((b / 255) * 100%) / calc(alpha * 100%))`, `color(srgb 0.4 0.2 0.6)`); // Testing with 'none'. Missing components are resolved to zero during color space conversion. // https://drafts.csswg.org/css-color-4/#missing @@ -176,6 +177,7 @@ fuzzy_test_computed_color(`hsl(from rebeccapurple calc(h) calc(s) calc(l))`, `color(srgb 0.4 0.2 0.6)`); fuzzy_test_computed_color(`hsl(from rgb(20%, 40%, 60%, 80%) calc(h) calc(s) calc(l) / calc(alpha))`, `color(srgb 0.2 0.4 0.6 / 0.8)`); fuzzy_test_computed_color(`hsl(from hsl(20 30 40 / 0.8) calc(h + 1) calc(s + 1) calc(l + 1) / calc(alpha + 0.01))`, `color(srgb 0.54 0.37 0.28 / 0.81)`); // hsl(21 31 41) + fuzzy_test_computed_color(`hsl(from rebeccapurple calc((h / 360) * 360deg) calc((s / 100) * 100%) calc((l / 100) * 100%) / calc(alpha * 100%))`, `color(srgb 0.4 0.2 0.6)`); // Testing with 'none'. Missing components are resolved to zero during color space conversion. // https://drafts.csswg.org/css-color-4/#missing @@ -250,6 +252,7 @@ fuzzy_test_computed_color(`hwb(from rebeccapurple calc(h) calc(w) calc(b))`, `color(srgb 0.4 0.2 0.6)`); fuzzy_test_computed_color(`hwb(from rgb(20%, 40%, 60%, 80%) calc(h) calc(w) calc(b) / calc(alpha))`, `color(srgb 0.2 0.4 0.6 / 0.8)`); fuzzy_test_computed_color(`hwb(from hwb(20 30 40 / 0.8) calc(h + 1) calc(w + 1) calc(b + 1) / calc(alpha + 0.01))`, `color(srgb 0.59 0.41 0.31 / 0.81)`); // hwb(21 31 41) + fuzzy_test_computed_color(`hwb(from rebeccapurple calc((h / 360) * 360deg) calc((w / 100) * 100%) calc((b / 100) * 100%) / calc(alpha * 100%))`, `color(srgb 0.4 0.2 0.6)`); // Testing with 'none'. Missing components are resolved to zero during color space conversion. // https://drafts.csswg.org/css-color-4/#missing @@ -320,6 +323,7 @@ fuzzy_test_computed_color(`lab(from lab(25 20 50) calc(l) calc(a) calc(b))`, `lab(25 20 50)`); fuzzy_test_computed_color(`lab(from lab(25 20 50 / 40%) calc(l) calc(a) calc(b) / calc(alpha))`, `lab(25 20 50 / 0.4)`); fuzzy_test_computed_color(`lab(from lab(50 5 10 / 0.8) calc(l + 1) calc(a + 1) calc(b + 1) / calc(alpha + 0.01))`, `lab(51 6 11 / 0.81)`); + fuzzy_test_computed_color(`lab(from lab(25 20 50) calc((l / 100) * 100%) calc((a / 125) * 100%) calc((b / 125) * 100%) / calc(alpha * 100%))`, `lab(25 20 50)`); // Testing with 'none'. fuzzy_test_computed_color(`lab(from lab(25 20 50) none none none)`, `lab(none none none)`); @@ -387,6 +391,7 @@ fuzzy_test_computed_color(`oklab(from oklab(0.25 0.2 0.5) calc(l) calc(a) calc(b))`, `oklab(0.25 0.2 0.5)`); fuzzy_test_computed_color(`oklab(from oklab(0.25 0.2 0.5 / 40%) calc(l) calc(a) calc(b) / calc(alpha))`, `oklab(0.25 0.2 0.5 / 0.4)`); fuzzy_test_computed_color(`oklab(from oklab(0.5 .05 0.1 / 0.8) calc(l + 0.01) calc(a + 0.01) calc(b + 0.01) / calc(alpha + 0.01))`, `oklab(0.51 .06 0.11 / 0.81)`); + fuzzy_test_computed_color(`oklab(from oklab(0.25 0.2 0.5) calc(l * 100%) calc((a / 0.4) * 100%) calc((b / 0.4) * 100%) / calc(alpha * 100%))`, `oklab(0.25 0.2 0.5)`); // Testing with 'none'. fuzzy_test_computed_color(`oklab(from oklab(0.25 0.2 0.5) none none none)`, `oklab(none none none)`); @@ -462,6 +467,7 @@ fuzzy_test_computed_color(`lch(from lch(0.7 45 30) calc(l) calc(c) calc(h))`, `lch(0.7 45 30)`); fuzzy_test_computed_color(`lch(from lch(0.7 45 30 / 40%) calc(l) calc(c) calc(h) / calc(alpha))`, `lch(0.7 45 30 / 0.4)`); fuzzy_test_computed_color(`lch(from lch(50 5 10 / 0.8) calc(l + 1) calc(c + 1) calc(h + 1) / calc(alpha + 0.01))`, `lch(51 6 11 / 0.81)`); + fuzzy_test_computed_color(`lch(from lch(0.7 45 30) calc((l / 100) * 100%) calc((c / 150) * 100%) calc((h / 360) * 360deg) / calc(alpha * 100%))`, `lch(0.7 45 30)`); // Testing with 'none'. fuzzy_test_computed_color(`lch(from lch(0.7 45 30) none none none)`, `lch(none none none)`); @@ -538,6 +544,7 @@ fuzzy_test_computed_color(`oklch(from oklch(0.7 0.45 30) calc(l) calc(c) calc(h))`, `oklch(0.7 0.45 30)`); fuzzy_test_computed_color(`oklch(from oklch(0.7 0.45 30 / 40%) calc(l) calc(c) calc(h) / calc(alpha))`, `oklch(0.7 0.45 30 / 0.4)`); fuzzy_test_computed_color(`oklch(from oklch(0.5 .05 0.1 / 0.8) calc(l + 0.01) calc(c + 0.01) calc(h + 0.01) / calc(alpha + 0.01))`, `oklch(0.51 .06 0.11 / 0.81)`); + fuzzy_test_computed_color(`oklch(from oklch(0.7 0.45 30) calc(l * 100%) calc((c / 0.4) * 100%) calc((h / 360) * 360deg) / calc(alpha * 100%))`, `oklch(0.7 0.45 30)`); // Testing with 'none'. fuzzy_test_computed_color(`oklch(from oklch(0.7 0.45 30) none none none)`, `oklch(none none none)`); @@ -628,6 +635,7 @@ fuzzy_test_computed_color(`color(from color(${colorSpace} 0.7 0.5 0.3) ${colorSpace} calc(r) calc(g) calc(b))`, `color(${colorSpace} 0.7 0.5 0.3)`); fuzzy_test_computed_color(`color(from color(${colorSpace} 0.7 0.5 0.3 / 40%) ${colorSpace} calc(r) calc(g) calc(b) / calc(alpha))`, `color(${colorSpace} 0.7 0.5 0.3 / 0.4)`); fuzzy_test_computed_color(`color(from color(${colorSpace} 0.7 0.5 0.3 / 0.8) ${colorSpace} calc(r + 0.01) calc(g + 0.01) calc(b + 0.01) / calc(alpha + 0.01))`, `color(${colorSpace} 0.71 0.51 0.31 / 0.81)`); + fuzzy_test_computed_color(`color(from color(${colorSpace} 0.7 0.5 0.3) ${colorSpace} calc(r * 100%) calc(g * 100%) calc(b * 100%) / calc(alpha * 100%))`, `color(${colorSpace} 0.7 0.5 0.3)`); // Testing with 'none'. fuzzy_test_computed_color(`color(from color(${colorSpace} 0.7 0.5 0.3) ${colorSpace} none none none)`, `color(${colorSpace} none none none)`); @@ -692,6 +700,7 @@ fuzzy_test_computed_color(`color(from color(${colorSpace} 7 -20.5 100) ${colorSpace} calc(x) calc(y) calc(z))`, `color(${resultColorSpace} 7 -20.5 100)`); fuzzy_test_computed_color(`color(from color(${colorSpace} 7 -20.5 100 / 40%) ${colorSpace} calc(x) calc(y) calc(z) / calc(alpha))`, `color(${resultColorSpace} 7 -20.5 100 / 0.4)`); fuzzy_test_computed_color(`color(from color(${colorSpace} 7 -20.5 100 / 0.8) ${colorSpace} calc(x + 1) calc(y + 1) calc(z + 1) / calc(alpha + 0.01))`, `color(${resultColorSpace} 8 -19.5 101 / 0.81)`); + fuzzy_test_computed_color(`color(from color(${colorSpace} 7 -20.5 100) ${colorSpace} calc(x * 100%) calc(y * 100%) calc(z * 100%) / calc(alpha * 100%))`, `color(${resultColorSpace} 7 -20.5 100)`); // Testing with 'none'. fuzzy_test_computed_color(`color(from color(${colorSpace} 7 -20.5 100) ${colorSpace} none none none)`, `color(${resultColorSpace} none none none)`); @@ -708,7 +717,7 @@ fuzzy_test_computed_color(`color(from color(${colorSpace} 7 -20.5 100 / none) ${colorSpace} x y z / alpha)`, `color(${resultColorSpace} 7 -20.5 100 / 0)`); // color-mix - fuzzy_test_computed_color(`color(from color-mix(in xyz, color(${colorSpace} 0.7 0.5 0.3), color(${colorSpace} 0.7 0.5 0.3)) ${colorSpace} r g b / alpha)`, `color(${resultColorSpace} 0.7 0.5 0.3)`); + fuzzy_test_computed_color(`color(from color-mix(in xyz, color(${colorSpace} 0.7 0.5 0.3), color(${colorSpace} 0.7 0.5 0.3)) ${colorSpace} x y z / alpha)`, `color(${resultColorSpace} 0.7 0.5 0.3)`); } // Test origin colors with different color spaces, going both to and from srgb. diff --git a/tests/wpt/tests/css/css-color/parsing/color-valid-relative-color.html b/tests/wpt/tests/css/css-color/parsing/color-valid-relative-color.html index 652c0c8fc45..5f83f0f0746 100644 --- a/tests/wpt/tests/css/css-color/parsing/color-valid-relative-color.html +++ b/tests/wpt/tests/css/css-color/parsing/color-valid-relative-color.html @@ -739,7 +739,7 @@ fuzzy_test_valid_color(`color(from currentColor ${colorSpace} x y z)`, `color(from currentColor ${colorSpace} x y z)`); // color-mix - fuzzy_test_valid_color(`color(from color-mix(in xyz, color(${colorSpace} 0.7 0.5 0.3), color(${colorSpace} 0.7 0.5 0.3)) ${colorSpace} r g b / alpha)`, `color(${resultColorSpace} 0.7 0.5 0.3)`); + fuzzy_test_valid_color(`color(from color-mix(in xyz, color(${colorSpace} 0.7 0.5 0.3), color(${colorSpace} 0.7 0.5 0.3)) ${colorSpace} x y z / alpha)`, `color(${resultColorSpace} 0.7 0.5 0.3)`); } // Spec Examples: https://www.w3.org/TR/css-color-5/#relative-colors diff --git a/tests/wpt/tests/css/css-contain/contain-layout-ink-overflow-019.html b/tests/wpt/tests/css/css-contain/contain-layout-ink-overflow-019.html index d4909aa70f5..5cda6cd5beb 100644 --- a/tests/wpt/tests/css/css-contain/contain-layout-ink-overflow-019.html +++ b/tests/wpt/tests/css/css-contain/contain-layout-ink-overflow-019.html @@ -1,6 +1,7 @@ + CSS Test: 'contain: layout' on element that overflows and its parent has 'overflow: scroll' diff --git a/tests/wpt/tests/css/css-contain/contain-layout-overflow-001.html b/tests/wpt/tests/css/css-contain/contain-layout-overflow-001.html index 5bf984e2bf1..05c66fa1e98 100644 --- a/tests/wpt/tests/css/css-contain/contain-layout-overflow-001.html +++ b/tests/wpt/tests/css/css-contain/contain-layout-overflow-001.html @@ -3,6 +3,7 @@ + CSS Test: 'contain: layout' should force all overflow to be ink overflow. diff --git a/tests/wpt/tests/css/css-grid/grid-fragmentation-between-rows-001-print-ref.tentative.html b/tests/wpt/tests/css/css-grid/grid-fragmentation-between-rows-001-print-ref.tentative.html new file mode 100644 index 00000000000..78464712c5c --- /dev/null +++ b/tests/wpt/tests/css/css-grid/grid-fragmentation-between-rows-001-print-ref.tentative.html @@ -0,0 +1,20 @@ + +
+ Test passes if there is two purple boxes on both page 1 and page 2 in print mode. (Ctrl+P, with "print backgrounds" enabled) +
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/tests/wpt/tests/css/css-grid/grid-fragmentation-between-rows-001-print.tentative.html b/tests/wpt/tests/css/css-grid/grid-fragmentation-between-rows-001-print.tentative.html new file mode 100644 index 00000000000..01fd97528fc --- /dev/null +++ b/tests/wpt/tests/css/css-grid/grid-fragmentation-between-rows-001-print.tentative.html @@ -0,0 +1,21 @@ + + + + +
+ Test passes if there is two purple boxes on both page 1 and page 2 in print mode. (Ctrl+P, with "print backgrounds" enabled) +
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/tests/wpt/tests/css/css-grid/parsing/grid-shorthand-serialization.html b/tests/wpt/tests/css/css-grid/parsing/grid-shorthand-serialization.html index 7751fd883b2..29bab75f617 100644 --- a/tests/wpt/tests/css/css-grid/parsing/grid-shorthand-serialization.html +++ b/tests/wpt/tests/css/css-grid/parsing/grid-shorthand-serialization.html @@ -33,11 +33,12 @@ } if (declarations) { - let cssText = div.style.cssText; + let cssTextSerialization = div.style.cssText; declarations.forEach(decl => { test(function(){ - assert_true(cssText.indexOf(decl) !== -1, `cssText ('${cssText}') must contain '${decl}'`); - }, `cssText ('${cssText}') must contain '${decl}'`); + assert_true(cssTextSerialization.indexOf(decl) !== -1, + `cssText serialization ('${cssTextSerialization}') must contain contain '${decl}'`); + }, `cssText ('${cssText}') must contain '${decl}' in its serialization`); }); } } diff --git a/tests/wpt/tests/css/css-inline/text-box-trim/text-box-trim-half-leading-block-box-001-ref.html b/tests/wpt/tests/css/css-inline/text-box-trim/text-box-trim-half-leading-block-box-001-ref.html index 4fc498a27bd..2dfe344ce35 100644 --- a/tests/wpt/tests/css/css-inline/text-box-trim/text-box-trim-half-leading-block-box-001-ref.html +++ b/tests/wpt/tests/css/css-inline/text-box-trim/text-box-trim-half-leading-block-box-001-ref.html @@ -2,7 +2,6 @@ Reference for trimming block-boxes at their first/last formatted lines - - -
- Test -
-
- Test

-
-
-
Test
-
diff --git a/tests/wpt/tests/css/css-inline/text-box-trim/text-box-trim-half-leading-inline-box-001.html b/tests/wpt/tests/css/css-inline/text-box-trim/text-box-trim-half-leading-inline-box-001.html deleted file mode 100644 index 130b68c6eb2..00000000000 --- a/tests/wpt/tests/css/css-inline/text-box-trim/text-box-trim-half-leading-inline-box-001.html +++ /dev/null @@ -1,32 +0,0 @@ - -Tests inline boxes are trimmed at text-over/text-under baselines - - - - - - -
- Test -
-
- Test -
-
- Test -
diff --git a/tests/wpt/tests/css/css-inline/text-box-trim/text-box-trim-half-leading-inline-box-002-ref.html b/tests/wpt/tests/css/css-inline/text-box-trim/text-box-trim-half-leading-inline-box-002-ref.html deleted file mode 100644 index 0a615e6222c..00000000000 --- a/tests/wpt/tests/css/css-inline/text-box-trim/text-box-trim-half-leading-inline-box-002-ref.html +++ /dev/null @@ -1,31 +0,0 @@ - -Reference for trimming multi-line text in inline boxes - - - - - -
- Testline1
TestLine2
TestLine3
-
-
- Testline1

TestLine2

TestLine3

-
-
-
Testline1

TestLine2

TestLine3
-
diff --git a/tests/wpt/tests/css/css-inline/text-box-trim/text-box-trim-half-leading-inline-box-002.html b/tests/wpt/tests/css/css-inline/text-box-trim/text-box-trim-half-leading-inline-box-002.html deleted file mode 100644 index 631b53697c1..00000000000 --- a/tests/wpt/tests/css/css-inline/text-box-trim/text-box-trim-half-leading-inline-box-002.html +++ /dev/null @@ -1,33 +0,0 @@ - -Tests inline boxes with multi-line text are trimmed at text-over/text-under baselines - - - - - - -
- Testline1
TestLine2
TestLine3
-
-
- Testline1
TestLine2
TestLine3
-
-
- Testline1
TestLine2
TestLine3
-
diff --git a/tests/wpt/tests/css/css-inline/text-box-trim/text-box-trim-half-leading-inline-box-003-ref.html b/tests/wpt/tests/css/css-inline/text-box-trim/text-box-trim-half-leading-inline-box-003-ref.html deleted file mode 100644 index bf0fb3283d3..00000000000 --- a/tests/wpt/tests/css/css-inline/text-box-trim/text-box-trim-half-leading-inline-box-003-ref.html +++ /dev/null @@ -1,32 +0,0 @@ - -Reference for trimming inline boxes - - - - - -
- Test -
-
- Test

-
-
-
Test
-
diff --git a/tests/wpt/tests/css/css-inline/text-box-trim/text-box-trim-half-leading-inline-box-003.html b/tests/wpt/tests/css/css-inline/text-box-trim/text-box-trim-half-leading-inline-box-003.html deleted file mode 100644 index 4c7e33663b5..00000000000 --- a/tests/wpt/tests/css/css-inline/text-box-trim/text-box-trim-half-leading-inline-box-003.html +++ /dev/null @@ -1,33 +0,0 @@ - -Tests inline boxes are trimmed at text-over/text-under baselines - - - - - - -
- Test -
-
- Test -
-
- Test -
diff --git a/tests/wpt/tests/css/css-logical/animations/margin-block-interpolation.html b/tests/wpt/tests/css/css-logical/animations/margin-block-interpolation.html new file mode 100644 index 00000000000..be4b6fdd8e0 --- /dev/null +++ b/tests/wpt/tests/css/css-logical/animations/margin-block-interpolation.html @@ -0,0 +1,26 @@ + + +margin-block interpolation + + + + + + + + + + diff --git a/tests/wpt/tests/css/css-logical/animations/margin-inline-interpolation.html b/tests/wpt/tests/css/css-logical/animations/margin-inline-interpolation.html new file mode 100644 index 00000000000..86408ea6e94 --- /dev/null +++ b/tests/wpt/tests/css/css-logical/animations/margin-inline-interpolation.html @@ -0,0 +1,26 @@ + + +margin-inline interpolation + + + + + + + + + + diff --git a/tests/wpt/tests/css/css-nesting/parsing.html b/tests/wpt/tests/css/css-nesting/parsing.html index f29eff97307..a97716ff9d5 100644 --- a/tests/wpt/tests/css/css-nesting/parsing.html +++ b/tests/wpt/tests/css/css-nesting/parsing.html @@ -55,6 +55,7 @@ testNestedSelector(".foo", {expected:"& .foo"}); testNestedSelector(".test > & .bar"); testNestedSelector(".foo, .foo &", {expected:"& .foo, .foo &"}); + testNestedSelector(".foo, .bar", {expected:"& .foo, & .bar"}); testNestedSelector(":is(.bar, .baz)", {expected:"& :is(.bar, .baz)"}); testNestedSelector("&:is(.bar, .baz)"); testNestedSelector(":is(.bar, &.baz)"); diff --git a/tests/wpt/tests/css/css-nesting/pseudo-where-crash.html b/tests/wpt/tests/css/css-nesting/pseudo-where-crash.html new file mode 100644 index 00000000000..c069872c60b --- /dev/null +++ b/tests/wpt/tests/css/css-nesting/pseudo-where-crash.html @@ -0,0 +1,9 @@ + + +
diff --git a/tests/wpt/tests/css/css-overflow/scrollbar-gutter-002.html b/tests/wpt/tests/css/css-overflow/scrollbar-gutter-002.html index 129eb2c0859..531af61b5d3 100644 --- a/tests/wpt/tests/css/css-overflow/scrollbar-gutter-002.html +++ b/tests/wpt/tests/css/css-overflow/scrollbar-gutter-002.html @@ -1,6 +1,7 @@ + CSS Overflow: test scrollbar-gutter with horizontal left to right content diff --git a/tests/wpt/tests/css/css-overflow/scrollbar-gutter-vertical-lr-002.html b/tests/wpt/tests/css/css-overflow/scrollbar-gutter-vertical-lr-002.html index 9e5dcd299eb..b74aa642ca1 100644 --- a/tests/wpt/tests/css/css-overflow/scrollbar-gutter-vertical-lr-002.html +++ b/tests/wpt/tests/css/css-overflow/scrollbar-gutter-vertical-lr-002.html @@ -1,6 +1,7 @@ + CSS Overflow: test scrollbar-gutter with vertical left to right content diff --git a/tests/wpt/tests/css/css-overflow/scrollbar-gutter-vertical-rl-002.html b/tests/wpt/tests/css/css-overflow/scrollbar-gutter-vertical-rl-002.html index d68d4e5d3cb..398751845cf 100644 --- a/tests/wpt/tests/css/css-overflow/scrollbar-gutter-vertical-rl-002.html +++ b/tests/wpt/tests/css/css-overflow/scrollbar-gutter-vertical-rl-002.html @@ -1,6 +1,7 @@ + CSS Overflow: test scrollbar-gutter with vertical right to left content diff --git a/tests/wpt/tests/css/css-position/sticky/position-sticky-in-fixed-container.html b/tests/wpt/tests/css/css-position/sticky/position-sticky-in-fixed-container.html index 359ec2fd337..75c2d67259e 100644 --- a/tests/wpt/tests/css/css-position/sticky/position-sticky-in-fixed-container.html +++ b/tests/wpt/tests/css/css-position/sticky/position-sticky-in-fixed-container.html @@ -1,6 +1,7 @@ + diff --git a/tests/wpt/tests/css/css-position/sticky/position-sticky-padding-001-ref.html b/tests/wpt/tests/css/css-position/sticky/position-sticky-padding-001-ref.html new file mode 100644 index 00000000000..efe584bc885 --- /dev/null +++ b/tests/wpt/tests/css/css-position/sticky/position-sticky-padding-001-ref.html @@ -0,0 +1,37 @@ + + + + +
+
+
+
+
+
+
+
diff --git a/tests/wpt/tests/css/css-position/sticky/position-sticky-padding-001.html b/tests/wpt/tests/css/css-position/sticky/position-sticky-padding-001.html new file mode 100644 index 00000000000..6bd4952c28f --- /dev/null +++ b/tests/wpt/tests/css/css-position/sticky/position-sticky-padding-001.html @@ -0,0 +1,73 @@ + + + + + + + + + +
+
+
+
+
+
+
+
+
+
+ diff --git a/tests/wpt/tests/css/css-position/sticky/position-sticky-padding-002-ref.html b/tests/wpt/tests/css/css-position/sticky/position-sticky-padding-002-ref.html new file mode 100644 index 00000000000..cc9d447d1c6 --- /dev/null +++ b/tests/wpt/tests/css/css-position/sticky/position-sticky-padding-002-ref.html @@ -0,0 +1,38 @@ + + + + +
+
+
+
+
+
+
+
diff --git a/tests/wpt/tests/css/css-position/sticky/position-sticky-padding-002.html b/tests/wpt/tests/css/css-position/sticky/position-sticky-padding-002.html new file mode 100644 index 00000000000..972288fd3a8 --- /dev/null +++ b/tests/wpt/tests/css/css-position/sticky/position-sticky-padding-002.html @@ -0,0 +1,71 @@ + + + + + + + + + +
+
+
+
+
+
+
+
+
+
+ diff --git a/tests/wpt/tests/css/css-scroll-snap-2/resources/common.js b/tests/wpt/tests/css/css-scroll-snap-2/resources/common.js index 1a2edab90bb..e29f9bc5b3e 100644 --- a/tests/wpt/tests/css/css-scroll-snap-2/resources/common.js +++ b/tests/wpt/tests/css/css-scroll-snap-2/resources/common.js @@ -11,24 +11,12 @@ function checkSnapEventSupport(event_type) { function assertSnapEvent(evt, expected_ids) { assert_equals(evt.bubbles, false, "snap events don't bubble"); assert_false(evt.cancelable, "snap events are not cancelable."); - const actual = Array.from(evt.snapTargets, el => el.id).join(","); - const expected = expected_ids.join(","); - assert_equals(actual, expected, "snap event supplied expected targets"); + assert_equals(evt.snapTargetBlock, expected_ids.block, + "snap event supplied expected target in block axis"); + assert_equals(evt.snapTargetInline, expected_ids.inline, + "snap event supplied expected target in inline axis"); } -// This function holds logic intended to be used by tests for scroll snap -// events. -// |test_data| should contain: -// - |scroller|: the snap container being scrolled (or -// document.scrollingElement) -// - |scrolling_function|: this function should trigger the desired snap event -// when executed. -// - |expected_snap_targets|: a list of element ids which the triggered snap -// event should supply in SnapEvent.snapTargets. -// - |expected_scroll_offsets|: the scroll offsets at which the snap container -// should be after scrolling function has been -// executed. -// |event_type|: should be "snapchanged" or "snapchanging". async function test_snap_event(test, test_data, event_type) { checkSnapEventSupport(event_type); await waitForScrollReset(test, test_data.scroller); diff --git a/tests/wpt/tests/css/css-scroll-snap-2/snapchanged/snapchanged-after-layout-change.tentative.html b/tests/wpt/tests/css/css-scroll-snap-2/snapchanged/snapchanged-after-layout-change.tentative.html index 293400edda2..a3ba05fdf5e 100644 --- a/tests/wpt/tests/css/css-scroll-snap-2/snapchanged/snapchanged-after-layout-change.tentative.html +++ b/tests/wpt/tests/css/css-scroll-snap-2/snapchanged/snapchanged-after-layout-change.tentative.html @@ -81,7 +81,7 @@ inner_snap_area.style.height = `${scroller.clientHeight + inner_snap_area.clientHeight - 10}px`; const evt = await snapchanged_promise; - assertSnapEvent(evt, [outer_snap_area.id, inner_snap_area.id]); + assertSnapEvent(evt, { block: inner_snap_area, inline: null }); target_snap_position = inner_snap_area.offsetTop + inner_snap_area.offsetHeight - scroller.clientHeight; assert_equals(scroller.scrollTop, target_snap_position, @@ -107,7 +107,7 @@ inner_snap_area.style.height = `${scroller.clientHeight + inner_snap_area.clientHeight + 10}px`; const evt = await snapchanged_promise; - assertSnapEvent(evt, [outer_snap_area.id, inner_snap_area.id]); + assertSnapEvent(evt, { block: inner_snap_area, inline: null }); assert_equals(scroller.scrollTop, target_snap_position, "scroller maintains offset which is now covering within inner area"); }, "snapchanged fires after snap area is snapped to upon layout change " + @@ -119,11 +119,11 @@ let snapchanged_promise = waitForSnapChangedEvent(scroller, false); scroller.style.scrollSnapType = "none"; let evt = await snapchanged_promise; - assertSnapEvent(evt, []); + assertSnapEvent(evt, { block: null, inline: null }); snapchanged_promise = waitForSnapChangedEvent(scroller, false); scroller.style.scrollSnapType = "y mandatory"; evt = await snapchanged_promise; - assertSnapEvent(evt, [outer_snap_area.id]); + assertSnapEvent(evt, { block: outer_snap_area, inline: null }); }, "snapchanged fires when container stops snapping"); promise_test(async(t) => { @@ -133,12 +133,12 @@ inner_snap_area.style.scrollSnapAlign = "none"; outer_snap_area.style.scrollSnapAlign = "none"; let evt = await snapchanged_promise; - assertSnapEvent(evt, []); + assertSnapEvent(evt, { block: null, inline: null }); snapchanged_promise = waitForSnapChangedEvent(scroller, false); inner_snap_area.style.scrollSnapAlign = "start"; outer_snap_area.style.scrollSnapAlign = "start"; evt = await snapchanged_promise; - assertSnapEvent(evt, [outer_snap_area.id]); + assertSnapEvent(evt, { block: outer_snap_area, inline: null }); }, "snapchanged fires when snap container no longer has snap areas"); diff --git a/tests/wpt/tests/css/css-scroll-snap-2/snapchanged/snapchanged-ensures-dom-order.html b/tests/wpt/tests/css/css-scroll-snap-2/snapchanged/snapchanged-ensures-dom-order.html deleted file mode 100644 index 10bc73b622c..00000000000 --- a/tests/wpt/tests/css/css-scroll-snap-2/snapchanged/snapchanged-ensures-dom-order.html +++ /dev/null @@ -1,95 +0,0 @@ - - - - - - - - - - - - - -
-
-
-
-
-
-
-
-
-

1

-

2

-
- - - diff --git a/tests/wpt/tests/css/css-scroll-snap-2/snapchanged/snapchanged-on-programmatic-root-scroll.tentative.html b/tests/wpt/tests/css/css-scroll-snap-2/snapchanged/snapchanged-on-programmatic-root-scroll.tentative.html index 2e33c3c970f..98ec2e5d75c 100644 --- a/tests/wpt/tests/css/css-scroll-snap-2/snapchanged/snapchanged-on-programmatic-root-scroll.tentative.html +++ b/tests/wpt/tests/css/css-scroll-snap-2/snapchanged/snapchanged-on-programmatic-root-scroll.tentative.html @@ -69,7 +69,7 @@ scrolling_function: () => { scroller.scrollTo(snap_point_2.offsetLeft, snap_point_2.offsetTop); }, - expected_snap_targets: [snap_point_2.id], + expected_snap_targets: { block: snap_point_2, inline: snap_point_2 }, expected_scroll_offsets: { x: snap_point_2.offsetLeft, y: snap_point_2.offsetTop, @@ -110,7 +110,7 @@ scroller.scrollTo(scroll_left_target, scroll_top_target); evt = await snapchanged_promise; - assertSnapEvent(evt, [snap_point_2.id]); + assertSnapEvent(evt, { block: snap_point_2, inline: snap_point_2 }); assert_approx_equals(scroller.scrollTop, snap_point_2.offsetTop, 1, "scroller snaps to the top of snap_point_2"); assert_approx_equals(scroller.scrollLeft, snap_point_2.offsetLeft, 1, diff --git a/tests/wpt/tests/css/css-scroll-snap-2/snapchanged/snapchanged-on-programmatic-scroll.tentative.html b/tests/wpt/tests/css/css-scroll-snap-2/snapchanged/snapchanged-on-programmatic-scroll.tentative.html index 6082e090130..9dff856f344 100644 --- a/tests/wpt/tests/css/css-scroll-snap-2/snapchanged/snapchanged-on-programmatic-scroll.tentative.html +++ b/tests/wpt/tests/css/css-scroll-snap-2/snapchanged/snapchanged-on-programmatic-scroll.tentative.html @@ -76,7 +76,7 @@ scrolling_function: () => { scroller.scrollTo(snap_point_2.offsetLeft, snap_point_2.offsetTop); }, - expected_snap_targets: [snap_point_2.id], + expected_snap_targets: { block: snap_point_2, inline: snap_point_2 }, expected_scroll_offsets: { x: snap_point_2.offsetLeft, y: snap_point_2.offsetTop, @@ -115,7 +115,7 @@ scroller.scrollTo(scroll_left_target, scroll_top_target); evt = await snapchanged_promise; - assertSnapEvent(evt, [snap_point_2.id]); + assertSnapEvent(evt, { block: snap_point_2, inline: snap_point_2 }) assert_approx_equals(scroller.scrollTop, snap_point_2.offsetTop, 1, "scroller snaps to the top of snap_point_2"); assert_approx_equals(scroller.scrollLeft, snap_point_2.offsetLeft, 1, diff --git a/tests/wpt/tests/css/css-scroll-snap-2/snapchanged/snapchanged-on-user-root-scroll.tentative.html b/tests/wpt/tests/css/css-scroll-snap-2/snapchanged/snapchanged-on-user-root-scroll.tentative.html index 5405d778bf0..127376caa2f 100644 --- a/tests/wpt/tests/css/css-scroll-snap-2/snapchanged/snapchanged-on-user-root-scroll.tentative.html +++ b/tests/wpt/tests/css/css-scroll-snap-2/snapchanged/snapchanged-on-user-root-scroll.tentative.html @@ -64,6 +64,8 @@
diff --git a/tests/wpt/tests/css/css-scroll-snap-2/snapchanging/snapchanging-after-layout-change.tentative.html b/tests/wpt/tests/css/css-scroll-snap-2/snapchanging/snapchanging-after-layout-change.tentative.html index 5474b7ddce2..0c0bfb623e1 100644 --- a/tests/wpt/tests/css/css-scroll-snap-2/snapchanging/snapchanging-after-layout-change.tentative.html +++ b/tests/wpt/tests/css/css-scroll-snap-2/snapchanging/snapchanging-after-layout-change.tentative.html @@ -102,7 +102,7 @@ // assert snapchanging that should have already happened. await scroll_promise; - assertSnapEvent(snap_evt, [box2.id]); + assertSnapEvent(snap_evt, { block: null, inline: box2 }); evt_promise = waitForSnapEvent(scroller, "snapchanging", false); // Change layout while pointer is still down. @@ -111,7 +111,7 @@ box2.style.left = box3_prev_left; box3.style.left = box2_prev_left; snap_evt = await evt_promise; - assertSnapEvent(snap_evt, [box3.id]); + assertSnapEvent(snap_evt, { block: null, inline: box3 }); }, "snapchanging fires after layout change"); diff --git a/tests/wpt/tests/css/css-scroll-snap-2/snapchanging/snapchanging-on-programmatic-root-scroll.tentative.html b/tests/wpt/tests/css/css-scroll-snap-2/snapchanging/snapchanging-on-programmatic-root-scroll.tentative.html index d031811c17e..5d75715edb7 100644 --- a/tests/wpt/tests/css/css-scroll-snap-2/snapchanging/snapchanging-on-programmatic-root-scroll.tentative.html +++ b/tests/wpt/tests/css/css-scroll-snap-2/snapchanging/snapchanging-on-programmatic-root-scroll.tentative.html @@ -66,6 +66,7 @@
+ + + + + + + + + + +
+ +
+
Box 0
+
Box 1
+
Box 2
+
Box 3
+
Box 4
+
Box 5
+
Box 6
+
Box 7
+
Box 8
+
Box 9
+
+
+ + + diff --git a/tests/wpt/tests/css/css-scroll-snap/snap-after-relayout/multiple-aligned-targets/prefer-common-to-both-axes.html b/tests/wpt/tests/css/css-scroll-snap/snap-after-relayout/multiple-aligned-targets/prefer-common-to-both-axes.html index 09b81e7c0da..a44c8d7c48a 100644 --- a/tests/wpt/tests/css/css-scroll-snap/snap-after-relayout/multiple-aligned-targets/prefer-common-to-both-axes.html +++ b/tests/wpt/tests/css/css-scroll-snap/snap-after-relayout/multiple-aligned-targets/prefer-common-to-both-axes.html @@ -33,31 +33,48 @@ width: 100px; height: 100px; background-color: green; - display: inline-block; - position: relative; - } - .grid { position: absolute; - width: 350px; - height: 350px; } - .snap:focus { - background-color: blue; + .leftcol { + left: 110px; + } + .midcol { + left: 220px; + } + .rightcol { + left: 330px; + } + .toprow { + top: 110px; + } + .midrow { + top: 220px; + } + .bottomrow { + top: 330px; + } + .placeholder { + position: absolute; + top: 0px; + left: 0px; + width: 10px; + height: 10px; + background-color: black; + scroll-snap-align: start; }
-
-
Box 1
-
Box 2
-
Box 3
-
Box 4
-
Box 5
-
Box 6
-
Box 7
-
Box 8
-
Box 9
-
+
+
Box 1
+
Box 2
+
Box 3
+
Box 4
+
Box 5
+
Box 6
+
Box 7
+
Box 8
+
Box 9
+ + + + + + + + + + +
+
Outer placeholder +
+
Outer 1
+
Outer 2
+
Outer 3
+
Outer 4
+
Outer 5
+
+
Inner Placeholder +
+
Inner 1
+
Inner 2
+
Inner 3
+
Inner 4
+
Inner 5
+
+
+
+ + + diff --git a/tests/wpt/tests/css/css-scroll-snap/snap-after-relayout/multiple-aligned-targets/prefer-targeted-element-main-frame-target.html b/tests/wpt/tests/css/css-scroll-snap/snap-after-relayout/multiple-aligned-targets/prefer-targeted-element-main-frame-target.html new file mode 100644 index 00000000000..6bc47d15efd --- /dev/null +++ b/tests/wpt/tests/css/css-scroll-snap/snap-after-relayout/multiple-aligned-targets/prefer-targeted-element-main-frame-target.html @@ -0,0 +1,137 @@ + + + + +
+
+
+
+
+
+
+
+
+
+
+
+ + + + diff --git a/tests/wpt/tests/css/css-scroll-snap/snap-after-relayout/multiple-aligned-targets/prefer-targeted-element-main-frame.html b/tests/wpt/tests/css/css-scroll-snap/snap-after-relayout/multiple-aligned-targets/prefer-targeted-element-main-frame.html new file mode 100644 index 00000000000..6221b0e4b51 --- /dev/null +++ b/tests/wpt/tests/css/css-scroll-snap/snap-after-relayout/multiple-aligned-targets/prefer-targeted-element-main-frame.html @@ -0,0 +1,62 @@ + + + + + + CSS Scroll Snap Test: snap selection with targeted element + + + + + + + + + + + + diff --git a/tests/wpt/tests/css/css-scroll-snap/snap-after-relayout/multiple-aligned-targets/prefer-targeted-element.html b/tests/wpt/tests/css/css-scroll-snap/snap-after-relayout/multiple-aligned-targets/prefer-targeted-element.html index 1f7f087180d..ceb9bd2ee06 100644 --- a/tests/wpt/tests/css/css-scroll-snap/snap-after-relayout/multiple-aligned-targets/prefer-targeted-element.html +++ b/tests/wpt/tests/css/css-scroll-snap/snap-after-relayout/multiple-aligned-targets/prefer-targeted-element.html @@ -31,7 +31,7 @@ // ------------------------- // within an iframe. // This function just gets the numbers beside |box_number| on each row. - // E.g. 4: 4%3 = 1; so the nmubers we want are 5 (4+1) and 6 (4+2). + // E.g. 4: 4%3 = 1; so the numbers we want are 5 (4+1) and 6 (4+2). function getAlignedNumbers(n) { const mod_3 = n % 3; if (mod_3 == 1) { diff --git a/tests/wpt/tests/css/css-scroll-snap/snap-after-relayout/multiple-aligned-targets/resources/common.js b/tests/wpt/tests/css/css-scroll-snap/snap-after-relayout/multiple-aligned-targets/resources/common.js index 2d74baae577..1fd88949b39 100644 --- a/tests/wpt/tests/css/css-scroll-snap/snap-after-relayout/multiple-aligned-targets/resources/common.js +++ b/tests/wpt/tests/css/css-scroll-snap/snap-after-relayout/multiple-aligned-targets/resources/common.js @@ -54,7 +54,7 @@ async function scrollToAlignedElements(scroller, elements_x, elements_y) { // method should ensure that there is at least 100px of room to scroll in the // desired axis. // It assumes scroll-snap-align: start alignment. -function verifySelectedSnapTarget(scroller, expected_snap_target, axis) { +function verifySelectedSnapTarget(t, scroller, expected_snap_target, axis) { // Save initial style. const initial_left = getComputedStyle(expected_snap_target).left; const initial_top = getComputedStyle(expected_snap_target).top; @@ -63,19 +63,26 @@ function verifySelectedSnapTarget(scroller, expected_snap_target, axis) { const initial_scroll_top = scroller.scrollTop; const target_top = expected_snap_target.offsetTop + 100; expected_snap_target.style.top = `${target_top}px`; - assert_equals(scroller.scrollTop, expected_snap_target.offsetTop, - `scroller followed ${expected_snap_target.id} in y axis after layout change`); - assert_not_equals(scroller.scrollTop, initial_scroll_top, - "scroller actually scrolled in y axis"); + // Wrap these asserts in t.step (which catches exceptions) so that even if + // they fail, we'll get to undo the style changes we made, allowing + // subsequent tests to run with the expected style/layout. + t.step(() => { + assert_equals(scroller.scrollTop, expected_snap_target.offsetTop, + `scroller followed ${expected_snap_target.id} in y axis after layout change`); + assert_not_equals(scroller.scrollTop, initial_scroll_top, + "scroller actually scrolled in y axis"); + }); } else { // Move the expected snap target along the x axis. const initial_scroll_left = scroller.scrollLeft; const target_left = expected_snap_target.offsetLeft + 100; expected_snap_target.style.left = `${target_left}px`; - assert_equals(scroller.scrollLeft, expected_snap_target.offsetLeft, - `scroller followed ${expected_snap_target.id} in x axis after layout change`); - assert_not_equals(scroller.scrollLeft, initial_scroll_left, - "scroller actually scrolled in x axis"); + t.step(() => { + assert_equals(scroller.scrollLeft, expected_snap_target.offsetLeft, + `scroller followed ${expected_snap_target.id} in x axis after layout change`); + assert_not_equals(scroller.scrollLeft, initial_scroll_left, + "scroller actually scrolled in x axis"); + }); } // Undo style changes. expected_snap_target.style.top = initial_top; @@ -94,10 +101,10 @@ async function runScrollSnapSelectionVerificationTest(t, scroller, aligned_elements_y); t.step(() => { if (axis == "y" || axis == "both") { - verifySelectedSnapTarget(scroller, expected_target_y, axis); + verifySelectedSnapTarget(t, scroller, expected_target_y, axis); } if (axis == "x" || axis == "both") { - verifySelectedSnapTarget(scroller, expected_target_x, axis); + verifySelectedSnapTarget(t, scroller, expected_target_x, axis); } }); // Restore initial scroll offsets. @@ -133,7 +140,7 @@ async function runLayoutSnapSeletionVerificationTest(t, scroller, elements_to_al } shiftLayoutToAlignElements(elements_to_align, expected_target, axis); - verifySelectedSnapTarget(scroller, expected_target, axis); + verifySelectedSnapTarget(t, scroller, expected_target, axis); // Restore initial scroll offset and position states. let num_elements = initial_tops.length; diff --git a/tests/wpt/tests/css/css-scroll-snap/snap-after-relayout/multiple-aligned-targets/stash.py b/tests/wpt/tests/css/css-scroll-snap/snap-after-relayout/multiple-aligned-targets/stash.py new file mode 100644 index 00000000000..a70672ecf00 --- /dev/null +++ b/tests/wpt/tests/css/css-scroll-snap/snap-after-relayout/multiple-aligned-targets/stash.py @@ -0,0 +1,27 @@ +# Copyright 2024 The Chromium Authors +# Use of this source code is governed by a BSD-style license that can be +# found in the LICENSE file. +""" +This file allows the different windows created by +css/css-scroll-snap/snap-after-relayout/prefer-targeted-element-main-frame.html +to store and retrieve data. + +prefer-targeted-element-main-frame.html (test file) opens a window to +prefer-targeted-element-main-frame.html-target.html which writes some data +which the test file will eventually read. This file handles the requests from +both windows. +""" + +import time + +def main(request, response): + key = request.GET.first(b"key") + + if request.method == u"POST": + # Received result data from target page + request.server.stash.put(key, request.body, u'/css/css-scroll-snap/snap-after-relayout/multiple-aligned-targets') + return u"ok" + else: + # Request for result data from test page + value = request.server.stash.take(key, u'/css/css-scroll-snap/snap-after-relayout/multiple-aligned-targets') + return value diff --git a/tests/wpt/tests/css/css-sizing/aspect-ratio/grid-aspect-ratio-041.html b/tests/wpt/tests/css/css-sizing/aspect-ratio/grid-aspect-ratio-041.html new file mode 100644 index 00000000000..8fe724308a4 --- /dev/null +++ b/tests/wpt/tests/css/css-sizing/aspect-ratio/grid-aspect-ratio-041.html @@ -0,0 +1,9 @@ + + + +

Test passes if there is a filled green square and no red.

+
+
+
+
+
diff --git a/tests/wpt/tests/css/css-syntax/custom-property-rule-ambiguity.html b/tests/wpt/tests/css/css-syntax/custom-property-rule-ambiguity.html index 50728bc94c2..b1adce7f9eb 100644 --- a/tests/wpt/tests/css/css-syntax/custom-property-rule-ambiguity.html +++ b/tests/wpt/tests/css/css-syntax/custom-property-rule-ambiguity.html @@ -50,7 +50,7 @@ assert_equals(x, 'hover { }\n .b { }'); let childRules = div.cssRules; assert_equals(childRules.length, 1); - assert_equals(childRules[0].selectorText, '.a'); + assert_equals(childRules[0].selectorText, '& .a'); }, 'Nested rule that looks like a custom property declaration'); @@ -79,6 +79,6 @@ // So in other words, there should be no nested '.b.' child rule here. let childRules = div.cssRules; assert_equals(childRules.length, 1); - assert_equals(childRules[0].selectorText, '.a'); + assert_equals(childRules[0].selectorText, '& .a'); }, 'Nested rule that looks like an invalid custom property declaration'); diff --git a/tests/wpt/tests/css/css-text/white-space/trailing-space-and-text-alignment-002.html b/tests/wpt/tests/css/css-text/white-space/trailing-space-and-text-alignment-002.html index 30e37908a22..6ee7d03d9d5 100644 --- a/tests/wpt/tests/css/css-text/white-space/trailing-space-and-text-alignment-002.html +++ b/tests/wpt/tests/css/css-text/white-space/trailing-space-and-text-alignment-002.html @@ -1,5 +1,6 @@ + CSS Text level 3 Test: preserved trailing white space that hang in a textarea diff --git a/tests/wpt/tests/css/css-text/white-space/trailing-space-and-text-alignment-004.html b/tests/wpt/tests/css/css-text/white-space/trailing-space-and-text-alignment-004.html index 3d7aad05418..69d74051f7f 100644 --- a/tests/wpt/tests/css/css-text/white-space/trailing-space-and-text-alignment-004.html +++ b/tests/wpt/tests/css/css-text/white-space/trailing-space-and-text-alignment-004.html @@ -1,5 +1,6 @@ + CSS Text level 3 Test: preserved trailing white space that hang in a textarea diff --git a/tests/wpt/tests/css/css-text/white-space/trailing-space-and-text-alignment-rtl-002.html b/tests/wpt/tests/css/css-text/white-space/trailing-space-and-text-alignment-rtl-002.html index 0422506b516..3da84ae5123 100644 --- a/tests/wpt/tests/css/css-text/white-space/trailing-space-and-text-alignment-rtl-002.html +++ b/tests/wpt/tests/css/css-text/white-space/trailing-space-and-text-alignment-rtl-002.html @@ -1,5 +1,6 @@ + CSS Text level 3 Test: preserved trailing RTL white space that hang in a textarea diff --git a/tests/wpt/tests/css/css-text/white-space/trailing-space-and-text-alignment-rtl-004.html b/tests/wpt/tests/css/css-text/white-space/trailing-space-and-text-alignment-rtl-004.html index 7705d6dfb14..480969efc0d 100644 --- a/tests/wpt/tests/css/css-text/white-space/trailing-space-and-text-alignment-rtl-004.html +++ b/tests/wpt/tests/css/css-text/white-space/trailing-space-and-text-alignment-rtl-004.html @@ -1,5 +1,6 @@ + CSS Text level 3 Test: preserved trailing RTL white space that hang in a textarea diff --git a/tests/wpt/tests/css/css-typed-om/the-stylepropertymap/properties/accent-color.html b/tests/wpt/tests/css/css-typed-om/the-stylepropertymap/properties/accent-color.html index a02a8493be3..8cd0b986e86 100644 --- a/tests/wpt/tests/css/css-typed-om/the-stylepropertymap/properties/accent-color.html +++ b/tests/wpt/tests/css/css-typed-om/the-stylepropertymap/properties/accent-color.html @@ -14,7 +14,11 @@ 'use strict'; runPropertyTests('accent-color', [ - { syntax: 'currentcolor' }, + { + syntax: 'currentcolor', + // computes to a , which is not supported in level 1 + computed: (_, result) => assert_class_string(result, 'CSSStyleValue') + }, { syntax: 'auto', // computes to a , which is not supported in level 1 diff --git a/tests/wpt/tests/css/css-typed-om/the-stylepropertymap/properties/background-color.html b/tests/wpt/tests/css/css-typed-om/the-stylepropertymap/properties/background-color.html index d0a55d52d4d..f684a40fb62 100644 --- a/tests/wpt/tests/css/css-typed-om/the-stylepropertymap/properties/background-color.html +++ b/tests/wpt/tests/css/css-typed-om/the-stylepropertymap/properties/background-color.html @@ -14,7 +14,11 @@ 'use strict'; runPropertyTests('background-color', [ - { syntax: 'currentcolor' } + { + syntax: 'currentcolor', + // computes to a , which is not supported in level 1 + computed: (_, result) => assert_class_string(result, 'CSSStyleValue') + } ]); // s are not supported in level 1 diff --git a/tests/wpt/tests/css/css-typed-om/the-stylepropertymap/properties/border-color.html b/tests/wpt/tests/css/css-typed-om/the-stylepropertymap/properties/border-color.html index a38f7c7d806..3ce4ca94fce 100644 --- a/tests/wpt/tests/css/css-typed-om/the-stylepropertymap/properties/border-color.html +++ b/tests/wpt/tests/css/css-typed-om/the-stylepropertymap/properties/border-color.html @@ -15,7 +15,11 @@ for (const prefix of ['top', 'left', 'right', 'bottom']) { runPropertyTests(`border-${prefix}-color`, [ - { syntax: 'currentcolor' } + { + syntax: 'currentcolor', + // computes to a , which is not supported in level 1 + computed: (_, result) => assert_class_string(result, 'CSSStyleValue') + } ]); // s are not supported in level 1 diff --git a/tests/wpt/tests/css/css-typed-om/the-stylepropertymap/properties/caret-color.html b/tests/wpt/tests/css/css-typed-om/the-stylepropertymap/properties/caret-color.html index b79beacf4be..5ea78a08d38 100644 --- a/tests/wpt/tests/css/css-typed-om/the-stylepropertymap/properties/caret-color.html +++ b/tests/wpt/tests/css/css-typed-om/the-stylepropertymap/properties/caret-color.html @@ -14,7 +14,11 @@ 'use strict'; runPropertyTests('caret-color', [ - { syntax: 'currentcolor' }, + { + syntax: 'currentcolor', + // computes to a , which is not supported in level 1 + computed: (_, result) => assert_class_string(result, 'CSSStyleValue') + }, { syntax: 'auto', // computes to a , which is not supported in level 1 diff --git a/tests/wpt/tests/css/css-typed-om/the-stylepropertymap/properties/color.html b/tests/wpt/tests/css/css-typed-om/the-stylepropertymap/properties/color.html index 58555ff8052..f56182977c5 100644 --- a/tests/wpt/tests/css/css-typed-om/the-stylepropertymap/properties/color.html +++ b/tests/wpt/tests/css/css-typed-om/the-stylepropertymap/properties/color.html @@ -14,7 +14,11 @@ 'use strict'; runPropertyTests('color', [ - { syntax: 'currentcolor' } + { + syntax: 'currentcolor', + // computes to a , which is not supported in level 1 + computed: (_, result) => assert_class_string(result, 'CSSStyleValue') + } ]); // s are not supported in level 1 diff --git a/tests/wpt/tests/css/css-typed-om/the-stylepropertymap/properties/column-rule-color.html b/tests/wpt/tests/css/css-typed-om/the-stylepropertymap/properties/column-rule-color.html index ea27c9eaec6..3d35b856d71 100644 --- a/tests/wpt/tests/css/css-typed-om/the-stylepropertymap/properties/column-rule-color.html +++ b/tests/wpt/tests/css/css-typed-om/the-stylepropertymap/properties/column-rule-color.html @@ -14,7 +14,11 @@ 'use strict'; runPropertyTests('column-rule-color', [ - { syntax: 'currentcolor' } + { + syntax: 'currentcolor', + // computes to a , which is not supported in level 1 + computed: (_, result) => assert_class_string(result, 'CSSStyleValue') + } ]); // s are not supported in level 1 diff --git a/tests/wpt/tests/css/css-typed-om/the-stylepropertymap/properties/flood-color.html b/tests/wpt/tests/css/css-typed-om/the-stylepropertymap/properties/flood-color.html index 99ee9f05adf..bb3ddc9fc9a 100644 --- a/tests/wpt/tests/css/css-typed-om/the-stylepropertymap/properties/flood-color.html +++ b/tests/wpt/tests/css/css-typed-om/the-stylepropertymap/properties/flood-color.html @@ -14,7 +14,11 @@ 'use strict'; runPropertyTests('flood-color', [ - { syntax: 'currentcolor' } + { + syntax: 'currentcolor', + // computes to a , which is not supported in level 1 + computed: (_, result) => assert_class_string(result, 'CSSStyleValue') + } ]); // s are not supported in level 1 diff --git a/tests/wpt/tests/css/css-typed-om/the-stylepropertymap/properties/lighting-color.html b/tests/wpt/tests/css/css-typed-om/the-stylepropertymap/properties/lighting-color.html index 5d69f2fa4aa..aec16433723 100644 --- a/tests/wpt/tests/css/css-typed-om/the-stylepropertymap/properties/lighting-color.html +++ b/tests/wpt/tests/css/css-typed-om/the-stylepropertymap/properties/lighting-color.html @@ -14,7 +14,11 @@ 'use strict'; runPropertyTests('lighting-color', [ - { syntax: 'currentcolor' } + { + syntax: 'currentcolor', + // computes to a , which is not supported in level 1 + computed: (_, result) => assert_class_string(result, 'CSSStyleValue') + } ]); // s are not supported in level 1 diff --git a/tests/wpt/tests/css/css-typed-om/the-stylepropertymap/properties/outline-color.html b/tests/wpt/tests/css/css-typed-om/the-stylepropertymap/properties/outline-color.html index e779d709fe2..6bfec87a8c7 100644 --- a/tests/wpt/tests/css/css-typed-om/the-stylepropertymap/properties/outline-color.html +++ b/tests/wpt/tests/css/css-typed-om/the-stylepropertymap/properties/outline-color.html @@ -14,7 +14,11 @@ 'use strict'; runPropertyTests('outline-color', [ - { syntax: 'currentcolor' } + { + syntax: 'currentcolor', + // computes to a , which is not supported in level 1 + computed: (_, result) => assert_class_string(result, 'CSSStyleValue') + } // FIXME: browsers may or may not support 'invert' keyword. ]); diff --git a/tests/wpt/tests/css/css-typed-om/the-stylepropertymap/properties/stop-color.html b/tests/wpt/tests/css/css-typed-om/the-stylepropertymap/properties/stop-color.html index 36b364bd4f3..83dcf0218a0 100644 --- a/tests/wpt/tests/css/css-typed-om/the-stylepropertymap/properties/stop-color.html +++ b/tests/wpt/tests/css/css-typed-om/the-stylepropertymap/properties/stop-color.html @@ -14,7 +14,11 @@ 'use strict'; runPropertyTests('stop-color', [ - { syntax: 'currentcolor' } + { + syntax: 'currentcolor', + // computes to a , which is not supported in level 1 + computed: (_, result) => assert_class_string(result, 'CSSStyleValue') + } ]); // s are not supported in level 1 diff --git a/tests/wpt/tests/css/css-typed-om/the-stylepropertymap/properties/text-decoration-color.html b/tests/wpt/tests/css/css-typed-om/the-stylepropertymap/properties/text-decoration-color.html index f49a5739fdb..b76f82c3ea1 100644 --- a/tests/wpt/tests/css/css-typed-om/the-stylepropertymap/properties/text-decoration-color.html +++ b/tests/wpt/tests/css/css-typed-om/the-stylepropertymap/properties/text-decoration-color.html @@ -14,7 +14,11 @@ 'use strict'; runPropertyTests('text-decoration-color', [ - { syntax: 'currentcolor' } + { + syntax: 'currentcolor', + // computes to a , which is not supported in level 1 + computed: (_, result) => assert_class_string(result, 'CSSStyleValue') + } ]); // s are not supported in level 1 diff --git a/tests/wpt/tests/css/css-typed-om/the-stylepropertymap/properties/text-emphasis-color.html b/tests/wpt/tests/css/css-typed-om/the-stylepropertymap/properties/text-emphasis-color.html index 8f106e6054f..8623d3dfb9b 100644 --- a/tests/wpt/tests/css/css-typed-om/the-stylepropertymap/properties/text-emphasis-color.html +++ b/tests/wpt/tests/css/css-typed-om/the-stylepropertymap/properties/text-emphasis-color.html @@ -14,7 +14,11 @@ 'use strict'; runPropertyTests('text-emphasis-color', [ - { syntax: 'currentcolor' } + { + syntax: 'currentcolor', + // computes to a , which is not supported in level 1 + computed: (_, result) => assert_class_string(result, 'CSSStyleValue') + } ]); // s are not supported in level 1 diff --git a/tests/wpt/tests/css/css-ui/parsing/canonical-order-outline-sub-properties-001.html b/tests/wpt/tests/css/css-ui/parsing/canonical-order-outline-sub-properties-001.html new file mode 100644 index 00000000000..aeb98ffa425 --- /dev/null +++ b/tests/wpt/tests/css/css-ui/parsing/canonical-order-outline-sub-properties-001.html @@ -0,0 +1,160 @@ + + + + + CSS Basic User Interface Test: canonical order of outline sub-properties + + + + + + + + + + + + + + + + +
+ + diff --git a/tests/wpt/tests/css/css-values/calc-size/animation/calc-size-height-interpolation.tentative.html b/tests/wpt/tests/css/css-values/calc-size/animation/calc-size-height-interpolation.tentative.html index 525c38805d6..04c44d0904e 100644 --- a/tests/wpt/tests/css/css-values/calc-size/animation/calc-size-height-interpolation.tentative.html +++ b/tests/wpt/tests/css/css-values/calc-size/animation/calc-size-height-interpolation.tentative.html @@ -22,6 +22,20 @@ + +
+
+ diff --git a/tests/wpt/tests/css/cssom/CSSStyleSheet-constructable-insertRule-base-uri-ref.html b/tests/wpt/tests/css/cssom/CSSStyleSheet-constructable-insertRule-base-uri-ref.html new file mode 100644 index 00000000000..2696593a45a --- /dev/null +++ b/tests/wpt/tests/css/cssom/CSSStyleSheet-constructable-insertRule-base-uri-ref.html @@ -0,0 +1,5 @@ + +CSS Test Reference + diff --git a/tests/wpt/tests/css/cssom/CSSStyleSheet-constructable-insertRule-base-uri.html b/tests/wpt/tests/css/cssom/CSSStyleSheet-constructable-insertRule-base-uri.html new file mode 100644 index 00000000000..22f298a34eb --- /dev/null +++ b/tests/wpt/tests/css/cssom/CSSStyleSheet-constructable-insertRule-base-uri.html @@ -0,0 +1,17 @@ + + +CSSStyleSheet.insertRule() on a constructable stylesheet uses the right base uri, even if replace/Sync() hasn't been called yet + + + + + + diff --git a/tests/wpt/tests/css/cssom/cssstyledeclaration-csstext-setter.window.js b/tests/wpt/tests/css/cssom/cssstyledeclaration-csstext-setter.window.js new file mode 100644 index 00000000000..4474358ed0f --- /dev/null +++ b/tests/wpt/tests/css/cssom/cssstyledeclaration-csstext-setter.window.js @@ -0,0 +1,64 @@ +// https://drafts.csswg.org/cssom/#dom-cssstyledeclaration-csstext + +[ + document.body, + document.createElement("cool-beans") +].forEach(element => { + test(t => { + t.add_cleanup(() => element.removeAttribute("style")); + + element.style.background = "red"; + assert_equals(element.getAttribute("style"), "background: red;"); + + element.style.cssText = "background:red"; + assert_equals(element.getAttribute("style"), "background: red;"); + }, `cssText setter should set style attribute even when there are no style changes (${element.localName})`); + + test(t => { + t.add_cleanup(() => element.removeAttribute("style")); + + element.setAttribute("style", "background: red"); + assert_equals(element.getAttribute("style"), "background: red"); + + element.style.cssText = "background:red"; + assert_equals(element.getAttribute("style"), "background: red;"); + }, `cssText setter should set style attribute even when there are no style changes, part 2 (${element.localName})`); + + test(t => { + t.add_cleanup(() => element.removeAttribute("style")); + + element.setAttribute("style", "background: red"); + assert_equals(element.getAttribute("style"), "background: red"); + + element.style.cssText = "background:red "; // trailing space + assert_equals(element.getAttribute("style"), "background: red;"); + }, `cssText setter should set style attribute even when there are no style changes, part 3 (${element.localName})`); + + test(t => { + t.add_cleanup(() => element.removeAttribute("style")); + + element.setAttribute("style", "background: red"); + assert_equals(element.getAttribute("style"), "background: red"); + + element.style.cssText = "background:red;"; + assert_equals(element.getAttribute("style"), "background: red;"); + }, `cssText setter should set style attribute even when there are no style changes, part 4 (${element.localName})`); +}); + +test(t => { + const style = document.createElement("style"); + t.add_cleanup(() => { + document.body.removeAttribute("style"); + style.remove(); + }); + style.textContent = `[style="background: red;"] { background:white !important; }`; + document.body.appendChild(style); + + document.body.setAttribute("style", "background:red"); + assert_true(document.body.matches("[style=\"background:red\"]")); + assert_equals(getComputedStyle(document.body).backgroundColor, "rgb(255, 0, 0)"); + + document.body.style.cssText = "background:red"; + assert_equals(getComputedStyle(document.body).backgroundColor, "rgb(255, 255, 255)"); + assert_true(document.body.matches("[style=\"background: red;\"]")); +}, `cssText setter and selector invalidation`); diff --git a/tests/wpt/tests/css/cssom/getComputedStyle-pseudo-with-argument.html b/tests/wpt/tests/css/cssom/getComputedStyle-pseudo-with-argument.html index 452f2bb2c63..bc23ad180bb 100644 --- a/tests/wpt/tests/css/cssom/getComputedStyle-pseudo-with-argument.html +++ b/tests/wpt/tests/css/cssom/getComputedStyle-pseudo-with-argument.html @@ -32,7 +32,15 @@ "::highlight($)", "::highlight (name)", "::highlight(name)a", + ":highlight(name)", "::view-transition-group(*)", + "::view-transition-image-pair(*)", + "::view-transition-old(*)", + "::view-transition-new(*)", + ":view-transition-group(name)", + ":view-transition-image-pair(name)", + ":view-transition-old(name)", + ":view-transition-new(name)", ].forEach(nonParsablePseudoIdentifier => { test(() => { const li = document.querySelector('li'); diff --git a/tests/wpt/tests/css/selectors/link-sharing-crash.html b/tests/wpt/tests/css/selectors/link-sharing-crash.html new file mode 100644 index 00000000000..3bcce92d49d --- /dev/null +++ b/tests/wpt/tests/css/selectors/link-sharing-crash.html @@ -0,0 +1,11 @@ + + diff --git a/tests/wpt/tests/css/selectors/pseudo-where-crash.html b/tests/wpt/tests/css/selectors/pseudo-where-crash.html new file mode 100644 index 00000000000..ad683ac8b9e --- /dev/null +++ b/tests/wpt/tests/css/selectors/pseudo-where-crash.html @@ -0,0 +1,7 @@ + + +
diff --git a/tests/wpt/tests/document-picture-in-picture/hide-return-to-opener-button-manual.https.html b/tests/wpt/tests/document-picture-in-picture/hide-return-to-opener-button-manual.https.html new file mode 100644 index 00000000000..17cd6657dda --- /dev/null +++ b/tests/wpt/tests/document-picture-in-picture/hide-return-to-opener-button-manual.https.html @@ -0,0 +1,21 @@ + +Test that using documentPictureInPicture's disallowReturnToOpener + parameter hides the return to opener button + +

+ This tests that a document picture-in-picture window opened with the `disallowReturnToOpener` + parameter set to `true` does not display a button to return to the opener. +

    +
  1. Click on the "Open document picture-in-picture window" button below.
  2. +
  3. Check that it does not display that button.
  4. +
+

+ + + diff --git a/tests/wpt/tests/dom/events/scrolling/scroll_support.js b/tests/wpt/tests/dom/events/scrolling/scroll_support.js index a0aefe636ab..e536b7d7488 100644 --- a/tests/wpt/tests/dom/events/scrolling/scroll_support.js +++ b/tests/wpt/tests/dom/events/scrolling/scroll_support.js @@ -33,8 +33,7 @@ async function waitForScrollReset(test, scroller, x = 0, y = 0) { } else { const eventTarget = scroller == document.scrollingElement ? document : scroller; - scroller.scrollTop = y; - scroller.scrollLeft = x; + scroller.scrollTo(x, y); waitForScrollendEventNoTimeout(eventTarget).then(resolve); } }); diff --git a/tests/wpt/tests/dom/nodes/insertion-removing-steps/Node-appendChild-script-in-script.tentative.html b/tests/wpt/tests/dom/nodes/insertion-removing-steps/Node-appendChild-script-in-script.tentative.html index 71081b49fec..39c43933236 100644 --- a/tests/wpt/tests/dom/nodes/insertion-removing-steps/Node-appendChild-script-in-script.tentative.html +++ b/tests/wpt/tests/dom/nodes/insertion-removing-steps/Node-appendChild-script-in-script.tentative.html @@ -12,26 +12,29 @@ test(() => { const s2 = document.createElement("script"); // This script, which is ultimately a *child* of the - // already-connected-but-empty `s1` script, runs first. This is because when - // the DocumentFragment `df` containing this script (`s2`) is appended to - // `s1`, we do not immediately execute `s1`, because of this condition: [1]. - // It specifies that when a "node or document fragment is inserted into the - // script", we only run the "prepare the script algorithm" for that script - // "after any script elements inserted at that time". + // already-connected-but-empty `s1` script, runs second, after `s1` runs. See + // the example in + // http://html.spec.whatwg.org/C/#script-processing-model:children-changed-steps + // for more information. // - // So upon insertion of `s2`, its insertion conditions are met and it is - // prepared and run first. During its execution, it mutates `s1`, adding more - // text to it. This condition still does not trigger the immediate execution - // of `s1`, because `s2`'s insertion is not complete yet. + // HISTORICAL CONTEXT: There used to be a condition in the HTML standard that + // said an "outer" script must be "prepared" when a node gets inserted into + // the script. BUT it also stipulated that if the insertion consists of any + // "inner" (nested, essentially) script elements, then this "outer" script + // must prepare/execute after any of those "inner" newly-inserted scripts + // themselves get prepared. // - // Once `s2` is finished being inserted, the condition to prepare and execute - // `s1` is met, and it is processed accordingly, which includes the execution - // of the text that `s2` added to `s1`. - // - // [1]: https://html.spec.whatwg.org/C#script-processing-model:prepare-the-script-element-4 + // This changed in https://github.com/whatwg/html/pull/10188. s2.textContent = ` happened.push("s2"); + + // This text never executes in the outer script, because by the time this + // gets appended, the outer script has "already started" [1], so it does not + // get re-prepared/executed a second time. + // + // [1]: https://html.spec.whatwg.org/C#already-started s1.appendChild(new Text("happened.push('s1ran');")); + happened.push("s2ran"); `; @@ -41,8 +44,8 @@ test(() => { assert_array_equals(happened, []); s1.appendChild(df); - assert_array_equals(happened, ["s2", "s2ran", "s1", "s1ran"]); -}, "An outer script does not execute until its inner ` diff --git a/tests/wpt/tests/dom/nodes/insertion-removing-steps/Node-appendChild-script-with-mutation-observer-takeRecords.html b/tests/wpt/tests/dom/nodes/insertion-removing-steps/Node-appendChild-script-with-mutation-observer-takeRecords.html new file mode 100644 index 00000000000..33598e64082 --- /dev/null +++ b/tests/wpt/tests/dom/nodes/insertion-removing-steps/Node-appendChild-script-with-mutation-observer-takeRecords.html @@ -0,0 +1,21 @@ + + +Node.appendChild: inserted script should be able to take own mutation record + + + +
+ diff --git a/tests/wpt/tests/dom/nodes/insertion-removing-steps/script-does-not-run-on-child-removal.window.js b/tests/wpt/tests/dom/nodes/insertion-removing-steps/script-does-not-run-on-child-removal.window.js new file mode 100644 index 00000000000..ed5bfbaa601 --- /dev/null +++ b/tests/wpt/tests/dom/nodes/insertion-removing-steps/script-does-not-run-on-child-removal.window.js @@ -0,0 +1,33 @@ +// See: +// - https://github.com/whatwg/dom/issues/808 +// - https://github.com/whatwg/dom/pull/1261 +// - https://github.com/whatwg/html/pull/10188 +// - https://source.chromium.org/chromium/chromium/src/+/604e798ec6ee30f44d57a5c4a44ce3dab3a871ed +// - https://github.com/whatwg/dom/pull/732#pullrequestreview-328249015 +// - https://github.com/whatwg/html/pull/4354#issuecomment-476038918 +test(() => { + window.script_did_run = false; + + const script = document.createElement('script'); + // This prevents execution on insertion. + script.type = '0'; + script.textContent = `script_did_run = true;`; + document.body.append(script); + assert_false(script_did_run, + 'Appending script with invalid type does not trigger execution'); + + const div = document.createElement('div'); + script.append(div); + assert_false(script_did_run, + 'Appending a child to an invalid-type script does not trigger execution'); + + // This enables, but does not trigger, execution. + script.type = ''; + assert_false(script_did_run, + 'Unsetting script type does not trigger execution'); + + div.remove(); + assert_false(script_did_run, + 'Removing child from valid script that has not already run, does not ' + + 'trigger execution'); +}, "Script execution is never triggered on child removals"); diff --git a/tests/wpt/tests/dom/observable/tentative/observable-from.any.js b/tests/wpt/tests/dom/observable/tentative/observable-from.any.js new file mode 100644 index 00000000000..80408ddced7 --- /dev/null +++ b/tests/wpt/tests/dom/observable/tentative/observable-from.any.js @@ -0,0 +1,354 @@ +// Because we test that the global error handler is called at various times. +setup({allow_uncaught_exception: true}); + +test(() => { + assert_equals(typeof Observable.from, "function", + "Observable.from() is a function"); +}, "from(): Observable.from() is a function"); + +test(() => { + assert_throws_js(TypeError, () => Observable.from(10), + "Number cannot convert to an Observable"); + assert_throws_js(TypeError, () => Observable.from(true), + "Boolean cannot convert to an Observable"); + assert_throws_js(TypeError, () => Observable.from("String"), + "String cannot convert to an Observable"); + assert_throws_js(TypeError, () => Observable.from({a: 10}), + "Object cannot convert to an Observable"); + assert_throws_js(TypeError, () => Observable.from(Symbol.iterator), + "Bare Symbol.iterator cannot convert to an Observable"); + assert_throws_js(TypeError, () => Observable.from(Promise), + "Promise constructor cannot convert to an Observable"); +}, "from(): Failed conversions"); + +test(() => { + const target = new EventTarget(); + const observable = target.on('custom'); + const from_observable = Observable.from(observable); + assert_equals(observable, from_observable); +}, "from(): Given an observable, it returns that exact observable"); + +test(() => { + let completeCalled = false; + const results = []; + const array = [1, 2, 3, 'a', new Date(), 15, [12]]; + const observable = Observable.from(array); + observable.subscribe({ + next: v => results.push(v), + error: e => assert_unreached('error is not called'), + complete: () => completeCalled = true + }); + + assert_array_equals(results, array); + assert_true(completeCalled); +}, "from(): Given an array"); + +test(() => { + const iterable = { + [Symbol.iterator]() { + let n = 0; + return { + next() { + n++; + if (n <= 3) { + return { value: n, done: false }; + } + return { value: undefined, done: true }; + }, + }; + }, + }; + + const observable = Observable.from(iterable); + + assert_true(observable instanceof Observable, "Observable.from() returns an Observable"); + + const results = []; + + observable.subscribe({ + next: (value) => results.push(value), + error: () => assert_unreached("should not error"), + complete: () => results.push("complete"), + }); + + assert_array_equals(results, [1, 2, 3, "complete"], + "Subscription pushes iterable values out to Observable"); + + // A second subscription should restart iteration. + observable.subscribe({ + next: (value) => results.push(value), + error: () => assert_unreached("should not error"), + complete: () => results.push("complete2"), + }); + + assert_array_equals(results, [1, 2, 3, "complete", 1, 2, 3, "complete2"], + "Subscribing again causes another fresh iteration on an un-exhausted iterable"); +}, "from(): Iterable converts to Observable"); + +// The result of the @@iterator method of the converted object is called: +// 1. Once on conversion (to test that the value is an iterable). +// 2. Once on subscription, to re-pull the iterator implementation from the +// raw JS object that the Observable owns once synchronous iteration is +// about to begin. +test(() => { + let numTimesSymbolIteratorCalled = 0; + let numTimesNextCalled = 0; + + const iterable = { + [Symbol.iterator]() { + numTimesSymbolIteratorCalled++; + return { + next() { + numTimesNextCalled++; + return {value: undefined, done: true}; + } + }; + } + }; + + const observable = Observable.from(iterable); + + assert_equals(numTimesSymbolIteratorCalled, 1, + "Observable.from(iterable) invokes the @@iterator method getter once"); + assert_equals(numTimesNextCalled, 0, + "Iterator next() is not called until subscription"); + + // Override iterable's `[Symbol.iterator]` protocol with an error-throwing + // function. We assert that on subscription, this method (the new `@@iterator` + // implementation), is called because only the raw JS object gets stored in + // the Observable that results in conversion. This raw value must get + // re-converted to an iterable once iteration is about to start. + const customError = new Error('@@iterator override error'); + iterable[Symbol.iterator] = () => { + throw customError; + }; + + let thrownError = null; + observable.subscribe({ + error: e => thrownError = e, + }); + + assert_equals(thrownError, customError, + "Error thrown from next() is passed to the error() handler"); + + assert_equals(numTimesSymbolIteratorCalled, 1, + "Subscription re-invokes @@iterator method, which now is a different " + + "method that does *not* increment our assertion value"); + assert_equals(numTimesNextCalled, 0, "Iterator next() is never called"); +}, "from(): [Symbol.iterator] side-effects (one observable)"); + +// Similar to the above test, but with more Observables! +test(() => { + let numTimesSymbolIteratorCalled = 0; + let numTimesNextCalled = 0; + + const iterable = { + [Symbol.iterator]() { + numTimesSymbolIteratorCalled++; + return { + next() { + numTimesNextCalled++; + return {value: undefined, done: true}; + } + }; + } + }; + + const obs1 = Observable.from(iterable); + const obs2 = Observable.from(iterable); + const obs3 = Observable.from(iterable); + const obs4 = Observable.from(obs3); + + assert_equals(numTimesSymbolIteratorCalled, 3, "Observable.from(iterable) invokes the iterator method getter once"); + assert_equals(numTimesNextCalled, 0, "Iterator next() is not called until subscription"); + + iterable[Symbol.iterator] = () => { + throw new Error('Symbol.iterator override error'); + }; + + let errorCount = 0; + + const observer = {error: e => errorCount++}; + obs1.subscribe(observer); + obs2.subscribe(observer); + obs3.subscribe(observer); + obs4.subscribe(observer); + assert_equals(errorCount, 4, + "Error-throwing `@@iterator` implementation is called once per " + + "subscription"); + + assert_equals(numTimesSymbolIteratorCalled, 3, + "Subscription re-invokes the iterator method getter once"); + assert_equals(numTimesNextCalled, 0, "Iterator next() is never called"); +}, "from(): [Symbol.iterator] side-effects (many observables)"); + +test(() => { + const customError = new Error('@@iterator next() error'); + const iterable = { + [Symbol.iterator]() { + return { + next() { + throw customError; + } + }; + } + }; + + let thrownError = null; + Observable.from(iterable).subscribe({ + error: e => thrownError = e, + }); + + assert_equals(thrownError, customError, + "Error thrown from next() is passed to the error() handler"); +}, "from(): [Symbol.iterator] next() throws error"); + +promise_test(async () => { + const promise = Promise.resolve('value'); + const observable = Observable.from(promise); + + assert_true(observable instanceof Observable, "Converts to Observable"); + + const results = []; + + observable.subscribe({ + next: (value) => results.push(value), + error: () => assert_unreached("error() is not called"), + complete: () => results.push("complete()"), + }); + + assert_array_equals(results, [], "Observable does not emit synchronously"); + + await promise; + + assert_array_equals(results, ["value", "complete()"], "Observable emits and completes after Promise resolves"); +}, "from(): Converts Promise to Observable"); + +promise_test(async t => { + let unhandledRejectionHandlerCalled = false; + const unhandledRejectionHandler = () => { + unhandledRejectionHandlerCalled = true; + }; + + self.addEventListener("unhandledrejection", unhandledRejectionHandler); + t.add_cleanup(() => self.removeEventListener("unhandledrejection", unhandledRejectionHandler)); + + const promise = Promise.reject("reason"); + const observable = Observable.from(promise); + + assert_true(observable instanceof Observable, "Converts to Observable"); + + const results = []; + + observable.subscribe({ + next: (value) => assert_unreached("next() not called"), + error: (error) => results.push(error), + complete: () => assert_unreached("complete() not called"), + }); + + assert_array_equals(results, [], "Observable does not emit synchronously"); + + let catchBlockEntered = false; + try { + await promise; + } catch { + catchBlockEntered = true; + } + + assert_true(catchBlockEntered, "Catch block entered"); + assert_false(unhandledRejectionHandlerCalled, "No unhandledrejection event"); + assert_array_equals(results, ["reason"], + "Observable emits error() after Promise rejects"); +}, "from(): Converts rejected Promise to Observable. No " + + "`unhandledrejection` event when error is handled by subscription"); + +promise_test(async t => { + let unhandledRejectionHandlerCalled = false; + const unhandledRejectionHandler = () => { + unhandledRejectionHandlerCalled = true; + }; + + self.addEventListener("unhandledrejection", unhandledRejectionHandler); + t.add_cleanup(() => self.removeEventListener("unhandledrejection", unhandledRejectionHandler)); + + let errorReported = null; + self.addEventListener("error", e => errorReported = e, { once: true }); + + let catchBlockEntered = false; + try { + const promise = Promise.reject("custom reason"); + const observable = Observable.from(promise); + + observable.subscribe(); + await promise; + } catch { + catchBlockEntered = true; + } + + assert_true(catchBlockEntered, "Catch block entered"); + assert_false(unhandledRejectionHandlerCalled, + "No unhandledrejection event, because error got reported to global"); + assert_not_equals(errorReported, null, "Error was reported to the global"); + + assert_true(errorReported.message.includes("custom reason"), + "Error message matches"); + assert_equals(errorReported.lineno, 0, "Error lineno is 0"); + assert_equals(errorReported.colno, 0, "Error lineno is 0"); + assert_equals(errorReported.error, "custom reason", + "Error object is equivalent"); +}, "from(): Rejections not handled by subscription are reported to the " + + "global, and still not sent as an unhandledrejection event"); + +test(() => { + const results = []; + const observable = new Observable(subscriber => { + subscriber.next('from Observable'); + subscriber.complete(); + }); + + observable[Symbol.iterator] = () => { + results.push('Symbol.iterator() called'); + return { + next() { + return {value: 'from @@iterator', done: true}; + } + }; + }; + + Observable.from(observable).subscribe({ + next: v => results.push(v), + complete: () => results.push("complete"), + }); + + assert_array_equals(results, ["from Observable", "complete"]); +}, "from(): Observable that implements @@iterator protocol gets converted " + + "as an Observable, not iterator"); + +test(() => { + const results = []; + const promise = new Promise(resolve => { + resolve('from Promise'); + }); + + promise[Symbol.iterator] = () => { + let done = false; + return { + next() { + if (!done) { + done = true; + return {value: 'from @@iterator', done: false}; + } else { + return {value: undefined, done: true}; + } + } + }; + }; + + Observable.from(promise).subscribe({ + next: v => results.push(v), + complete: () => results.push("complete"), + }); + + assert_array_equals(results, ["from @@iterator", "complete"]); +}, "from(): Promise that implements @@iterator protocol gets converted as " + + "an iterable, not Promise"); diff --git a/tests/wpt/tests/dom/ranges/Range-in-shadow-after-the-shadow-removed.html b/tests/wpt/tests/dom/ranges/Range-in-shadow-after-the-shadow-removed.html new file mode 100644 index 00000000000..54ea8aabeab --- /dev/null +++ b/tests/wpt/tests/dom/ranges/Range-in-shadow-after-the-shadow-removed.html @@ -0,0 +1,47 @@ + + + + + + +Range in shadow after removing the shadow + + + + + + diff --git a/tests/wpt/tests/fenced-frame/content-shared-storage-get.https.html b/tests/wpt/tests/fenced-frame/content-shared-storage-get.https.html new file mode 100644 index 00000000000..8afa8de5416 --- /dev/null +++ b/tests/wpt/tests/fenced-frame/content-shared-storage-get.https.html @@ -0,0 +1,141 @@ + +Test sharedStorage.get() in a fenced frame with network revocation. + + + + + + + + + + + diff --git a/tests/wpt/tests/html/browsers/browsing-the-web/history-traversal/pageswap/pageswap-cross-origin.sub.html b/tests/wpt/tests/html/browsers/browsing-the-web/history-traversal/pageswap/pageswap-cross-origin.sub.html index 44479cf0deb..4b68c32378f 100644 --- a/tests/wpt/tests/html/browsers/browsing-the-web/history-traversal/pageswap/pageswap-cross-origin.sub.html +++ b/tests/wpt/tests/html/browsers/browsing-the-web/history-traversal/pageswap/pageswap-cross-origin.sub.html @@ -6,8 +6,9 @@ + + + + diff --git a/tests/wpt/tests/html/browsers/browsing-the-web/history-traversal/pageswap/pageswap-replace-with-cross-origin-redirect.sub.html b/tests/wpt/tests/html/browsers/browsing-the-web/history-traversal/pageswap/pageswap-replace-with-cross-origin-redirect.sub.html new file mode 100644 index 00000000000..c6ced62057f --- /dev/null +++ b/tests/wpt/tests/html/browsers/browsing-the-web/history-traversal/pageswap/pageswap-replace-with-cross-origin-redirect.sub.html @@ -0,0 +1,69 @@ + +pageswap navigationactivation for replace navigations with a same-origin final url with cross-origin redirects + + + + + + diff --git a/tests/wpt/tests/html/browsers/browsing-the-web/history-traversal/pageswap/pageswap-traverse-navigation-cross-origin-redirect-no-bfcache.https.sub.html b/tests/wpt/tests/html/browsers/browsing-the-web/history-traversal/pageswap/pageswap-traverse-navigation-cross-origin-redirect-no-bfcache.https.sub.html new file mode 100644 index 00000000000..55438307212 --- /dev/null +++ b/tests/wpt/tests/html/browsers/browsing-the-web/history-traversal/pageswap/pageswap-traverse-navigation-cross-origin-redirect-no-bfcache.https.sub.html @@ -0,0 +1,77 @@ + +pageswap navigationactivation for traverse navigation when original navigation has cross-origin redirect + + + + + + + + + diff --git a/tests/wpt/tests/html/canvas/element/webgpu-access/2d.webgpuaccess.getTextureFormat.rgba16f.tentative.https.html b/tests/wpt/tests/html/canvas/element/webgpu-access/2d.webgpuaccess.getTextureFormat.rgba16f.tentative.https.html deleted file mode 100644 index a76c49d2d47..00000000000 --- a/tests/wpt/tests/html/canvas/element/webgpu-access/2d.webgpuaccess.getTextureFormat.rgba16f.tentative.https.html +++ /dev/null @@ -1,26 +0,0 @@ - - -Canvas test: 2d.webgpuaccess.getTextureFormat.rgba16f.tentative.https - - - - - - -

2d.webgpuaccess.getTextureFormat.rgba16f.tentative.https

-

getTextureFormat() returns RGBA16F for a float16 context

- - -

Actual output:

-

FAIL (fallback content)

- -
    - - diff --git a/tests/wpt/tests/html/canvas/element/webgpu-access/2d.webgpuaccess.getTextureFormat.rgba8.tentative.https.html b/tests/wpt/tests/html/canvas/element/webgpu-access/2d.webgpuaccess.getTextureFormat.rgba8.tentative.https.html deleted file mode 100644 index ef576133742..00000000000 --- a/tests/wpt/tests/html/canvas/element/webgpu-access/2d.webgpuaccess.getTextureFormat.rgba8.tentative.https.html +++ /dev/null @@ -1,26 +0,0 @@ - - -Canvas test: 2d.webgpuaccess.getTextureFormat.rgba8.tentative.https - - - - - - -

    2d.webgpuaccess.getTextureFormat.rgba8.tentative.https

    -

    getTextureFormat() returns RGBA8 or BGRA8 for a typical context

    - - -

    Actual output:

    -

    FAIL (fallback content)

    - -
      - - diff --git a/tests/wpt/tests/html/canvas/offscreen/manual/the-offscreen-canvas/offscreencanvas-worker-font-load-crash.html b/tests/wpt/tests/html/canvas/offscreen/manual/the-offscreen-canvas/offscreencanvas-worker-font-load-crash.html new file mode 100644 index 00000000000..1baf7847dea --- /dev/null +++ b/tests/wpt/tests/html/canvas/offscreen/manual/the-offscreen-canvas/offscreencanvas-worker-font-load-crash.html @@ -0,0 +1,19 @@ + + + diff --git a/tests/wpt/tests/html/canvas/offscreen/webgpu-access/2d.webgpuaccess.getTextureFormat.rgba16f.tentative.https.html b/tests/wpt/tests/html/canvas/offscreen/webgpu-access/2d.webgpuaccess.getTextureFormat.rgba16f.tentative.https.html deleted file mode 100644 index cd478e666fd..00000000000 --- a/tests/wpt/tests/html/canvas/offscreen/webgpu-access/2d.webgpuaccess.getTextureFormat.rgba16f.tentative.https.html +++ /dev/null @@ -1,27 +0,0 @@ - - -OffscreenCanvas test: 2d.webgpuaccess.getTextureFormat.rgba16f.tentative.https - - - - -

      2d.webgpuaccess.getTextureFormat.rgba16f.tentative.https

      -

      getTextureFormat() returns RGBA16F for a float16 context

      - - - diff --git a/tests/wpt/tests/html/canvas/offscreen/webgpu-access/2d.webgpuaccess.getTextureFormat.rgba16f.tentative.https.worker.js b/tests/wpt/tests/html/canvas/offscreen/webgpu-access/2d.webgpuaccess.getTextureFormat.rgba16f.tentative.https.worker.js deleted file mode 100644 index f24b8aa8504..00000000000 --- a/tests/wpt/tests/html/canvas/offscreen/webgpu-access/2d.webgpuaccess.getTextureFormat.rgba16f.tentative.https.worker.js +++ /dev/null @@ -1,22 +0,0 @@ -// DO NOT EDIT! This test has been generated by /html/canvas/tools/gentest.py. -// OffscreenCanvas test in a worker:2d.webgpuaccess.getTextureFormat.rgba16f.tentative.https -// Description:getTextureFormat() returns RGBA16F for a float16 context -// Note: - -importScripts("/resources/testharness.js"); -importScripts("/html/canvas/resources/canvas-tests.js"); - -var t = async_test("getTextureFormat() returns RGBA16F for a float16 context"); -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', {colorSpace: "display-p3", pixelFormat: "float16"}); - - _assertSame(ctx.getTextureFormat(), "rgba16float", "ctx.getTextureFormat()", "\"rgba16float\""); - t.done(); -}); -done(); diff --git a/tests/wpt/tests/html/canvas/offscreen/webgpu-access/2d.webgpuaccess.getTextureFormat.rgba8.tentative.https.html b/tests/wpt/tests/html/canvas/offscreen/webgpu-access/2d.webgpuaccess.getTextureFormat.rgba8.tentative.https.html deleted file mode 100644 index d77a2984087..00000000000 --- a/tests/wpt/tests/html/canvas/offscreen/webgpu-access/2d.webgpuaccess.getTextureFormat.rgba8.tentative.https.html +++ /dev/null @@ -1,27 +0,0 @@ - - -OffscreenCanvas test: 2d.webgpuaccess.getTextureFormat.rgba8.tentative.https - - - - -

      2d.webgpuaccess.getTextureFormat.rgba8.tentative.https

      -

      getTextureFormat() returns RGBA8 or BGRA8 for a typical context

      - - - diff --git a/tests/wpt/tests/html/canvas/offscreen/webgpu-access/2d.webgpuaccess.getTextureFormat.rgba8.tentative.https.worker.js b/tests/wpt/tests/html/canvas/offscreen/webgpu-access/2d.webgpuaccess.getTextureFormat.rgba8.tentative.https.worker.js deleted file mode 100644 index 4d4137e2d3c..00000000000 --- a/tests/wpt/tests/html/canvas/offscreen/webgpu-access/2d.webgpuaccess.getTextureFormat.rgba8.tentative.https.worker.js +++ /dev/null @@ -1,22 +0,0 @@ -// DO NOT EDIT! This test has been generated by /html/canvas/tools/gentest.py. -// OffscreenCanvas test in a worker:2d.webgpuaccess.getTextureFormat.rgba8.tentative.https -// Description:getTextureFormat() returns RGBA8 or BGRA8 for a typical context -// Note: - -importScripts("/resources/testharness.js"); -importScripts("/html/canvas/resources/canvas-tests.js"); - -var t = async_test("getTextureFormat() returns RGBA8 or BGRA8 for a typical context"); -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'); - - assert_regexp_match(ctx.getTextureFormat(), /^rgba8unorm|bgra8unorm$/); - t.done(); -}); -done(); diff --git a/tests/wpt/tests/html/canvas/tools/name2dir-canvas.yaml b/tests/wpt/tests/html/canvas/tools/name2dir-canvas.yaml index 79b5fb61f28..1e0caff5b98 100644 --- a/tests/wpt/tests/html/canvas/tools/name2dir-canvas.yaml +++ b/tests/wpt/tests/html/canvas/tools/name2dir-canvas.yaml @@ -24,4 +24,3 @@ 2d.video: "video" 2d.canvas.host: "canvas-host" 2d.canvas.context: "canvas-context" -2d.webgpuaccess: "webgpu-access" diff --git a/tests/wpt/tests/html/canvas/tools/name2dir-offscreen.yaml b/tests/wpt/tests/html/canvas/tools/name2dir-offscreen.yaml index 3f59fd8eead..6e4b3f42b2b 100644 --- a/tests/wpt/tests/html/canvas/tools/name2dir-offscreen.yaml +++ b/tests/wpt/tests/html/canvas/tools/name2dir-offscreen.yaml @@ -20,4 +20,3 @@ 2d.voidreturn: "conformance-requirements" 2d.canvas.host: "canvas-host" 2d.canvas.context: "canvas-context" -2d.webgpuaccess: "webgpu-access" diff --git a/tests/wpt/tests/html/canvas/tools/name2dir.yaml b/tests/wpt/tests/html/canvas/tools/name2dir.yaml index b0e541289f5..ae69c153780 100644 --- a/tests/wpt/tests/html/canvas/tools/name2dir.yaml +++ b/tests/wpt/tests/html/canvas/tools/name2dir.yaml @@ -23,4 +23,3 @@ 2d.video: "video" 2d.canvas.host: "canvas-host" 2d.canvas.context: "canvas-context" -2d.webgpuaccess: "webgpu-access" diff --git a/tests/wpt/tests/html/canvas/tools/yaml-new/webgpu-access.yaml b/tests/wpt/tests/html/canvas/tools/yaml-new/webgpu-access.yaml deleted file mode 100644 index fcf38d1f3d0..00000000000 --- a/tests/wpt/tests/html/canvas/tools/yaml-new/webgpu-access.yaml +++ /dev/null @@ -1,10 +0,0 @@ -- name: 2d.webgpuaccess.getTextureFormat.rgba8.tentative.https - desc: getTextureFormat() returns RGBA8 or BGRA8 for a typical context - code: | - @assert ctx.getTextureFormat() =~ /^rgba8unorm|bgra8unorm$/; - -- name: 2d.webgpuaccess.getTextureFormat.rgba16f.tentative.https - desc: getTextureFormat() returns RGBA16F for a float16 context - attributes: '{colorSpace: "display-p3", pixelFormat: "float16"}' - code: | - @assert ctx.getTextureFormat() === "rgba16float"; diff --git a/tests/wpt/tests/html/rendering/non-replaced-elements/sections-and-headings/headings-styles-no-h1-in-section.tentative.html b/tests/wpt/tests/html/rendering/non-replaced-elements/sections-and-headings/headings-styles-no-h1-in-section.tentative.html new file mode 100644 index 00000000000..61610c2fd6c --- /dev/null +++ b/tests/wpt/tests/html/rendering/non-replaced-elements/sections-and-headings/headings-styles-no-h1-in-section.tentative.html @@ -0,0 +1,147 @@ + +default styles for h1..h6, hgroup, article, aside, nav, section (no h1 in section UA styles) + + + + + + + +
      + +
      +

      +

      +

      +

      +
      +
      +
      +
      + + +
      +
      +

      +
      +

      +
      +

      +
      +

      +
      +

      +
      +

      +

      +

      +

      +
      +
      +
      +
      +
      +
      +
      + + +
      +

      +
      +

      +
      +

      +
      +

      +
      +

      +
      +

      +

      +

      +

      +
      +
      +
      +
      +
      +
      +
      +
      + +
      + + diff --git a/tests/wpt/tests/html/rendering/non-replaced-elements/sections-and-headings/headings-styles.html b/tests/wpt/tests/html/rendering/non-replaced-elements/sections-and-headings/headings-styles.html index 63e6a83e883..be531adfcf5 100644 --- a/tests/wpt/tests/html/rendering/non-replaced-elements/sections-and-headings/headings-styles.html +++ b/tests/wpt/tests/html/rendering/non-replaced-elements/sections-and-headings/headings-styles.html @@ -12,18 +12,18 @@ article, aside, h1, h2, h3, h4, h5, h6, hgroup, nav, section { display: block; } -h1 { margin-block-start: 0.67em; margin-block-end: 0.67em; font-size: 2.00em; font-weight: bold; } -h2 { margin-block-start: 0.83em; margin-block-end: 0.83em; font-size: 1.50em; font-weight: bold; } -h3 { margin-block-start: 1.00em; margin-block-end: 1.00em; font-size: 1.17em; font-weight: bold; } -h4 { margin-block-start: 1.33em; margin-block-end: 1.33em; font-size: 1.00em; font-weight: bold; } -h5 { margin-block-start: 1.67em; margin-block-end: 1.67em; font-size: 0.83em; font-weight: bold; } -h6 { margin-block-start: 2.33em; margin-block-end: 2.33em; font-size: 0.67em; font-weight: bold; } +h1 { margin-block: 0.67em; font-size: 2.00em; font-weight: bold; } +h2 { margin-block: 0.83em; font-size: 1.50em; font-weight: bold; } +h3 { margin-block: 1.00em; font-size: 1.17em; font-weight: bold; } +h4 { margin-block: 1.33em; font-size: 1.00em; font-weight: bold; } +h5 { margin-block: 1.67em; font-size: 0.83em; font-weight: bold; } +h6 { margin-block: 2.33em; font-size: 0.67em; font-weight: bold; } -:is(article, aside, nav, section) h1 { margin-block-start: 0.83em; margin-block-end: 0.83em; font-size: 1.50em; } -:is(article, aside, nav, section) :is(article, aside, nav, section) h1 { margin-block-start: 1.00em; margin-block-end: 1.00em; font-size: 1.17em; } -:is(article, aside, nav, section) :is(article, aside, nav, section) :is(article, aside, nav, section) h1 { margin-block-start: 1.33em; margin-block-end: 1.33em; font-size: 1.00em; } -:is(article, aside, nav, section) :is(article, aside, nav, section) :is(article, aside, nav, section) :is(article, aside, nav, section) h1 { margin-block-start: 1.67em; margin-block-end: 1.67em; font-size: 0.83em; } -:is(article, aside, nav, section) :is(article, aside, nav, section) :is(article, aside, nav, section) :is(article, aside, nav, section) :is(article, aside, nav, section) h1 { margin-block-start: 2.33em; margin-block-end: 2.33em; font-size: 0.67em; } +:is(article, aside, nav, section) h1 { margin-block: 0.83em; font-size: 1.50em; } +:is(article, aside, nav, section) :is(article, aside, nav, section) h1 { margin-block: 1.00em; font-size: 1.17em; } +:is(article, aside, nav, section) :is(article, aside, nav, section) :is(article, aside, nav, section) h1 { margin-block: 1.33em; font-size: 1.00em; } +:is(article, aside, nav, section) :is(article, aside, nav, section) :is(article, aside, nav, section) :is(article, aside, nav, section) h1 { margin-block: 1.67em; font-size: 0.83em; } +:is(article, aside, nav, section) :is(article, aside, nav, section) :is(article, aside, nav, section) :is(article, aside, nav, section) :is(article, aside, nav, section) h1 { margin-block: 2.33em; font-size: 0.67em; } diff --git a/tests/wpt/tests/html/rendering/non-replaced-elements/the-fieldset-and-legend-elements/fieldset-overflow.html b/tests/wpt/tests/html/rendering/non-replaced-elements/the-fieldset-and-legend-elements/fieldset-overflow.html index 83813f90209..089b0d9300b 100644 --- a/tests/wpt/tests/html/rendering/non-replaced-elements/the-fieldset-and-legend-elements/fieldset-overflow.html +++ b/tests/wpt/tests/html/rendering/non-replaced-elements/the-fieldset-and-legend-elements/fieldset-overflow.html @@ -1,5 +1,6 @@ fieldset overflow + + + + + + + + \ No newline at end of file diff --git a/tests/wpt/tests/html/semantics/permission-element/negative-offset-and-margin.html b/tests/wpt/tests/html/semantics/permission-element/negative-offset-and-margin.html index 860e637e0a9..97290bb4df3 100644 --- a/tests/wpt/tests/html/semantics/permission-element/negative-offset-and-margin.html +++ b/tests/wpt/tests/html/semantics/permission-element/negative-offset-and-margin.html @@ -20,11 +20,21 @@ margin-bottom: 50px; margin-right: 50px; } + + /* These various expressions all result in a negative value when calculated */ + #id3 { + outline-offset: min(-50px, 50px); + margin-top: min(10%, -50px); + margin-left: clamp(-100px, 1vw, -50px); + margin-bottom: 1% - 10000px; + margin-right: max(min(-1em, 10em), -5%); + } - + + \ No newline at end of file diff --git a/tests/wpt/tests/html/semantics/popovers/popover-anchor-display.tentative.html b/tests/wpt/tests/html/semantics/popovers/popover-anchor-display.tentative.html index d50dd6c857b..bddc44006df 100644 --- a/tests/wpt/tests/html/semantics/popovers/popover-anchor-display.tentative.html +++ b/tests/wpt/tests/html/semantics/popovers/popover-anchor-display.tentative.html @@ -94,7 +94,7 @@ showDefaultopenPopoversOnLoad(); top: anchor(top); } #popover5 { - anchor-default: --anchor1; /* shouldn't be used */ + position-anchor: --anchor1; /* shouldn't be used */ left: anchor(implicit right); top: anchor(implicit top); } @@ -102,7 +102,7 @@ showDefaultopenPopoversOnLoad(); anchor-name: --anchor6; } #popover6 { - anchor-default: --anchor6; + position-anchor: --anchor6; left: anchor(right); /* shouldn't use the implicit anchor */ top: anchor(top); } diff --git a/tests/wpt/tests/html/semantics/popovers/popover-anchor-scroll-display.tentative.html b/tests/wpt/tests/html/semantics/popovers/popover-anchor-scroll-display.tentative.html index 7ed6cf1adf8..2c6b0bafb94 100644 --- a/tests/wpt/tests/html/semantics/popovers/popover-anchor-scroll-display.tentative.html +++ b/tests/wpt/tests/html/semantics/popovers/popover-anchor-scroll-display.tentative.html @@ -56,7 +56,7 @@ anchor-name: --anchor2; } #popover2 { - anchor-default: --anchor2; + position-anchor: --anchor2; left: anchor(right); top: anchor(top); } diff --git a/tests/wpt/tests/html/webappapis/system-state-and-capabilities/the-navigator-object/navigator_user_agent.https.html b/tests/wpt/tests/html/webappapis/system-state-and-capabilities/the-navigator-object/navigator_user_agent.https.html index 10b3dd22497..3fbe3eaa62b 100644 --- a/tests/wpt/tests/html/webappapis/system-state-and-capabilities/the-navigator-object/navigator_user_agent.https.html +++ b/tests/wpt/tests/html/webappapis/system-state-and-capabilities/the-navigator-object/navigator_user_agent.https.html @@ -20,14 +20,14 @@ assert_equals(typeof uaData.mobile, "boolean", "mobile should be a boolean"); const highEntropyData = await uaData.getHighEntropyValues([ - "platformVersion", "architecture", "model", "uaFullVersion", "fullVersionList", "formFactor"]); + "platformVersion", "architecture", "model", "uaFullVersion", "fullVersionList", "formFactors"]); assert_equals(typeof highEntropyData["platform"], "string", "Platform brand should be a string"); assert_equals(typeof highEntropyData["platformVersion"], "string", "Platform version should be a string"); assert_equals(typeof highEntropyData["architecture"], "string", "Architecture should be a string"); assert_equals(typeof highEntropyData["model"], "string", "Model should be a string"); assert_equals(typeof highEntropyData["uaFullVersion"], "string", "UAFullVersion should be a string"); - for (formFactor of highEntropyData['formFactor']) { - assert_equals(typeof formFactor, "string", "Each FormFactor should be a string"); + for (formFactor of highEntropyData['formFactors']) { + assert_equals(typeof formFactor, "string", "Each FormFactors value should be a string"); } for (brandVersionPair of highEntropyData['fullVersionList']) { assert_equals(typeof brandVersionPair.brand, "string", "brand should be a string"); @@ -40,7 +40,7 @@ assert_false("architecture" in highEntropyData2, "Architecture should be an empty string"); assert_false("model" in highEntropyData2, "Model should be an empty string"); assert_false("uaFullVersion" in highEntropyData2, "UAFullVersion should be an empty string"); - assert_false("formFactor" in highEntropyData2, "FormFactor should be an empty string"); + assert_false("formFactors" in highEntropyData2, "FormFactors should be an empty array"); assert_false("fullVersionList" in highEntropyData2, "fullVersionList should not be present"); let finalPromise = uaData.getHighEntropyValues([]).then(() => { assert_true(didMicrotaskRun, "getHighEntropyValues queued on a task"); diff --git a/tests/wpt/tests/infrastructure/metadata/infrastructure/testdriver/minimize_restore_popup.html.ini b/tests/wpt/tests/infrastructure/metadata/infrastructure/testdriver/minimize_restore_popup.html.ini new file mode 100644 index 00000000000..6075b58d09c --- /dev/null +++ b/tests/wpt/tests/infrastructure/metadata/infrastructure/testdriver/minimize_restore_popup.html.ini @@ -0,0 +1,2 @@ +[minimize_restore_popup.html] + disabled: https://github.com/web-platform-tests/wpt/issues/45137 diff --git a/tests/wpt/tests/infrastructure/metadata/infrastructure/testdriver/test_win_open_with_interaction.html.ini b/tests/wpt/tests/infrastructure/metadata/infrastructure/testdriver/test_win_open_with_interaction.html.ini deleted file mode 100644 index b1e77bd8e59..00000000000 --- a/tests/wpt/tests/infrastructure/metadata/infrastructure/testdriver/test_win_open_with_interaction.html.ini +++ /dev/null @@ -1,5 +0,0 @@ -[test_win_open_with_interaction.html] - expected: [OK, TIMEOUT] - - [Tests pointer move/click in a window opened with `window.open.`] - expected: [FAIL, TIMEOUT, PASS] diff --git a/tests/wpt/tests/infrastructure/testdriver/minimize_restore_popup.html b/tests/wpt/tests/infrastructure/testdriver/minimize_restore_popup.html new file mode 100644 index 00000000000..99245083b59 --- /dev/null +++ b/tests/wpt/tests/infrastructure/testdriver/minimize_restore_popup.html @@ -0,0 +1,44 @@ + + +TestDriver minimize/restore method in popup + + + + + + diff --git a/tests/wpt/tests/interfaces/css-view-transitions-2.idl b/tests/wpt/tests/interfaces/css-view-transitions-2.idl index 89e57e251b1..d1e4eeb11e5 100644 --- a/tests/wpt/tests/interfaces/css-view-transitions-2.idl +++ b/tests/wpt/tests/interfaces/css-view-transitions-2.idl @@ -23,3 +23,7 @@ interface CSSViewTransitionRule : CSSRule { attribute ViewTransitionNavigation navigation; attribute DOMTokenList typeList; }; + +partial interface ViewTransition { + readonly attribute DOMTokenList typeList; +}; diff --git a/tests/wpt/tests/interfaces/document-picture-in-picture.idl b/tests/wpt/tests/interfaces/document-picture-in-picture.idl index f54f437a936..888855b38f2 100644 --- a/tests/wpt/tests/interfaces/document-picture-in-picture.idl +++ b/tests/wpt/tests/interfaces/document-picture-in-picture.idl @@ -20,6 +20,7 @@ interface DocumentPictureInPicture : EventTarget { dictionary DocumentPictureInPictureOptions { [EnforceRange] unsigned long long width = 0; [EnforceRange] unsigned long long height = 0; + boolean allowReturnToOpener = true; }; [Exposed=Window, SecureContext] diff --git a/tests/wpt/tests/interfaces/html.idl b/tests/wpt/tests/interfaces/html.idl index 7211231980f..d2caf12b5bf 100644 --- a/tests/wpt/tests/interfaces/html.idl +++ b/tests/wpt/tests/interfaces/html.idl @@ -123,6 +123,7 @@ interface HTMLElement : Element { readonly attribute DOMString accessKeyLabel; [CEReactions] attribute boolean draggable; [CEReactions] attribute boolean spellcheck; + [CEReactions] attribute DOMString writingSuggestions; [CEReactions] attribute DOMString autocapitalize; [CEReactions] attribute [LegacyNullToEmptyString] DOMString innerText; diff --git a/tests/wpt/tests/interfaces/long-animation-frames.idl b/tests/wpt/tests/interfaces/long-animation-frames.idl new file mode 100644 index 00000000000..79a42ca8f0a --- /dev/null +++ b/tests/wpt/tests/interfaces/long-animation-frames.idl @@ -0,0 +1,54 @@ +// GENERATED CONTENT - DO NOT EDIT +// Content was automatically extracted by Reffy into webref +// (https://github.com/w3c/webref) +// Source: Long Animation Frames API (https://w3c.github.io/long-animation-frames/) + +[Exposed=Window] +interface PerformanceLongAnimationFrameTiming : PerformanceEntry { + /* Overloading PerformanceEntry */ + readonly attribute DOMHighResTimeStamp startTime; + readonly attribute DOMHighResTimeStamp duration; + readonly attribute DOMString name; + readonly attribute DOMString entryType; + + readonly attribute DOMHighResTimeStamp renderStart; + readonly attribute DOMHighResTimeStamp styleAndLayoutStart; + readonly attribute DOMHighResTimeStamp blockingDuration; + readonly attribute DOMHighResTimeStamp firstUIEventTimestamp; + [SameObject] readonly attribute FrozenArray scripts; + [Default] object toJSON(); +}; + +enum ScriptInvokerType { + "classic-script", + "module-script", + "event-listener", + "user-callback", + "resolve-promise", + "reject-promise" +}; + +enum ScriptWindowAttribution { + "self", "descendant", "ancestor", "same-page", "other" +}; + +[Exposed=Window] +interface PerformanceScriptTiming : PerformanceEntry { + /* Overloading PerformanceEntry */ + readonly attribute DOMHighResTimeStamp startTime; + readonly attribute DOMHighResTimeStamp duration; + readonly attribute DOMString name; + readonly attribute DOMString entryType; + + readonly attribute ScriptInvokerType invokerType; + readonly attribute DOMString invoker; + readonly attribute DOMHighResTimeStamp executionStart; + readonly attribute DOMString sourceURL; + readonly attribute DOMString sourceFunctionName; + readonly attribute long long sourceCharPosition; + readonly attribute DOMHighResTimeStamp pauseDuration; + readonly attribute DOMHighResTimeStamp forcedStyleAndLayoutDuration; + readonly attribute Window? window; + readonly attribute ScriptWindowAttribution windowAttribution; + [Default] object toJSON(); +}; diff --git a/tests/wpt/tests/interfaces/longtasks.idl b/tests/wpt/tests/interfaces/longtasks.idl index e5b6ece16a1..3717469fd09 100644 --- a/tests/wpt/tests/interfaces/longtasks.idl +++ b/tests/wpt/tests/interfaces/longtasks.idl @@ -29,53 +29,3 @@ interface TaskAttributionTiming : PerformanceEntry { readonly attribute DOMString containerName; [Default] object toJSON(); }; - -[Exposed=Window] -interface PerformanceLongAnimationFrameTiming : PerformanceEntry { - /* Overloading PerformanceEntry */ - readonly attribute DOMHighResTimeStamp startTime; - readonly attribute DOMHighResTimeStamp duration; - readonly attribute DOMString name; - readonly attribute DOMString entryType; - - readonly attribute DOMHighResTimeStamp renderStart; - readonly attribute DOMHighResTimeStamp styleAndLayoutStart; - readonly attribute DOMHighResTimeStamp blockingDuration; - readonly attribute DOMHighResTimeStamp firstUIEventTimestamp; - [SameObject] readonly attribute FrozenArray scripts; - [Default] object toJSON(); -}; - -enum ScriptInvokerType { - "classic-script", - "module-script", - "event-listener", - "user-callback", - "resolve-promise", - "reject-promise" -}; - -enum ScriptWindowAttribution { - "self", "descendant", "ancestor", "same-page", "other" -}; - -[Exposed=Window] -interface PerformanceScriptTiming : PerformanceEntry { - /* Overloading PerformanceEntry */ - readonly attribute DOMHighResTimeStamp startTime; - readonly attribute DOMHighResTimeStamp duration; - readonly attribute DOMString name; - readonly attribute DOMString entryType; - - readonly attribute ScriptInvokerType invokerType; - readonly attribute DOMString invoker; - readonly attribute DOMHighResTimeStamp executionStart; - readonly attribute DOMString sourceURL; - readonly attribute DOMString sourceFunctionName; - readonly attribute long long sourceCharPosition; - readonly attribute DOMHighResTimeStamp pauseDuration; - readonly attribute DOMHighResTimeStamp forcedStyleAndLayoutDuration; - readonly attribute Window? window; - readonly attribute ScriptWindowAttribution windowAttribution; - [Default] object toJSON(); -}; diff --git a/tests/wpt/tests/interfaces/mediacapture-streams.idl b/tests/wpt/tests/interfaces/mediacapture-streams.idl index 373f0c328d9..f2ca21389e9 100644 --- a/tests/wpt/tests/interfaces/mediacapture-streams.idl +++ b/tests/wpt/tests/interfaces/mediacapture-streams.idl @@ -189,16 +189,6 @@ dictionary MediaStreamConstraints { (boolean or MediaTrackConstraints) audio = false; }; -partial interface Navigator { - [SecureContext] undefined getUserMedia(MediaStreamConstraints constraints, - NavigatorUserMediaSuccessCallback successCallback, - NavigatorUserMediaErrorCallback errorCallback); -}; - -callback NavigatorUserMediaSuccessCallback = undefined (MediaStream stream); - -callback NavigatorUserMediaErrorCallback = undefined (DOMException error); - dictionary DoubleRange { double max; double min; diff --git a/tests/wpt/tests/interfaces/navigation-timing.idl b/tests/wpt/tests/interfaces/navigation-timing.idl index 355950160e3..b381b486e19 100644 --- a/tests/wpt/tests/interfaces/navigation-timing.idl +++ b/tests/wpt/tests/interfaces/navigation-timing.idl @@ -16,6 +16,7 @@ interface PerformanceNavigationTiming : PerformanceResourceTiming { readonly attribute NavigationTimingType type; readonly attribute unsigned short redirectCount; readonly attribute DOMHighResTimeStamp criticalCHRestart; + readonly attribute NotRestoredReasons? notRestoredReasons; [Default] object toJSON(); }; diff --git a/tests/wpt/tests/interfaces/permissions.idl b/tests/wpt/tests/interfaces/permissions.idl index fbcb674e561..62c2e3ad76f 100644 --- a/tests/wpt/tests/interfaces/permissions.idl +++ b/tests/wpt/tests/interfaces/permissions.idl @@ -36,6 +36,6 @@ enum PermissionState { }; dictionary PermissionSetParameters { - required PermissionDescriptor descriptor; + required object descriptor; required PermissionState state; }; diff --git a/tests/wpt/tests/interfaces/turtledove.idl b/tests/wpt/tests/interfaces/turtledove.idl index 8a2d7bb594f..87aec6e6bca 100644 --- a/tests/wpt/tests/interfaces/turtledove.idl +++ b/tests/wpt/tests/interfaces/turtledove.idl @@ -32,6 +32,7 @@ dictionary GenerateBidInterestGroup { USVString trustedBiddingSignalsURL; sequence trustedBiddingSignalsKeys; DOMString trustedBiddingSignalsSlotSizeMode = "none"; + long maxTrustedBiddingSignalsURLLength; any userBiddingSignals; sequence ads; sequence adComponents; @@ -68,12 +69,14 @@ dictionary AuctionAdConfig { required USVString seller; required USVString decisionLogicURL; USVString trustedScoringSignalsURL; + long maxTrustedScoringSignalsURLLength; sequence interestGroupBuyers; Promise auctionSignals; record requestedSize; sequence> allSlotsRequestedSizes; Promise sellerSignals; Promise directFromSellerSignalsHeaderAdSlot; + Promise> deprecatedRenderURLReplacements; unsigned long long sellerTimeout; unsigned short sellerExperimentGroupId; USVString sellerCurrency; diff --git a/tests/wpt/tests/interfaces/ua-client-hints.idl b/tests/wpt/tests/interfaces/ua-client-hints.idl index 6a40e1bdc4b..5d44b0dd80a 100644 --- a/tests/wpt/tests/interfaces/ua-client-hints.idl +++ b/tests/wpt/tests/interfaces/ua-client-hints.idl @@ -12,7 +12,7 @@ dictionary UADataValues { DOMString architecture; DOMString bitness; sequence brands; - sequence formFactor; + sequence formFactors; sequence fullVersionList; DOMString model; boolean mobile; diff --git a/tests/wpt/tests/interfaces/web-animations-2.idl b/tests/wpt/tests/interfaces/web-animations-2.idl index f9f68a0d49a..4c3af535149 100644 --- a/tests/wpt/tests/interfaces/web-animations-2.idl +++ b/tests/wpt/tests/interfaces/web-animations-2.idl @@ -14,6 +14,7 @@ partial interface AnimationTimeline { partial interface Animation { attribute CSSNumberish? startTime; attribute CSSNumberish? currentTime; + readonly attribute double? progress; }; [Exposed=Window] diff --git a/tests/wpt/tests/interfaces/webcodecs.idl b/tests/wpt/tests/interfaces/webcodecs.idl index 48d89d0b477..aa823aa52df 100644 --- a/tests/wpt/tests/interfaces/webcodecs.idl +++ b/tests/wpt/tests/interfaces/webcodecs.idl @@ -390,21 +390,37 @@ dictionary PlaneLayout { enum VideoPixelFormat { // 4:2:0 Y, U, V "I420", + "I420P10", + "I420P12", // 4:2:0 Y, U, V, A "I420A", + "I420AP10", + "I420AP12", // 4:2:2 Y, U, V "I422", + "I422P10", + "I422P12", + // 4:2:2 Y, U, V, A + "I422A", + "I422AP10", + "I422AP12", // 4:4:4 Y, U, V "I444", + "I444P10", + "I444P12", + // 4:4:4 Y, U, V, A + "I444A", + "I444AP10", + "I444AP12", // 4:2:0 Y, UV "NV12", - // 32bpp RGBA + // 4:4:4 RGBA "RGBA", - // 32bpp RGBX (opaque) + // 4:4:4 RGBX (opaque) "RGBX", - // 32bpp BGRA + // 4:4:4 BGRA "BGRA", - // 32bpp BGRX (opaque) + // 4:4:4 BGRX (opaque) "BGRX", }; diff --git a/tests/wpt/tests/interfaces/webnn.idl b/tests/wpt/tests/interfaces/webnn.idl index 50ee64b185a..0b8ea7cb344 100644 --- a/tests/wpt/tests/interfaces/webnn.idl +++ b/tests/wpt/tests/interfaces/webnn.idl @@ -69,7 +69,7 @@ dictionary MLOperandDescriptor { // The dimensions field is empty for scalar operands, // and non-empty for tensor operands. - sequence dimensions = []; + sequence<[EnforceRange] unsigned long> dimensions = []; }; [SecureContext, Exposed=(Window, DedicatedWorker)] @@ -102,7 +102,7 @@ interface MLGraphBuilder { }; dictionary MLArgMinMaxOptions { - sequence axes; + sequence<[EnforceRange] unsigned long> axes; boolean keepDimensions = false; boolean selectLastIndex = false; }; @@ -115,7 +115,7 @@ partial interface MLGraphBuilder { dictionary MLBatchNormalizationOptions { MLOperand scale; MLOperand bias; - unsigned long axis = 1; + [EnforceRange] unsigned long axis = 1; float epsilon = 1e-5; MLActivation activation; }; @@ -140,7 +140,7 @@ partial interface MLGraphBuilder { }; partial interface MLGraphBuilder { - MLOperand concat(sequence inputs, unsigned long axis); + MLOperand concat(sequence inputs, [EnforceRange] unsigned long axis); }; enum MLConv2dFilterOperandLayout { @@ -151,10 +151,10 @@ enum MLConv2dFilterOperandLayout { }; dictionary MLConv2dOptions { - sequence padding; - sequence strides; - sequence dilations; - unsigned long groups = 1; + sequence<[EnforceRange] unsigned long> padding; + sequence<[EnforceRange] unsigned long> strides; + sequence<[EnforceRange] unsigned long> dilations; + [EnforceRange] unsigned long groups = 1; MLInputOperandLayout inputLayout = "nchw"; MLConv2dFilterOperandLayout filterLayout = "oihw"; MLOperand bias; @@ -172,12 +172,12 @@ enum MLConvTranspose2dFilterOperandLayout { }; dictionary MLConvTranspose2dOptions { - sequence padding; - sequence strides; - sequence dilations; - sequence outputPadding; - sequence outputSizes; - unsigned long groups = 1; + sequence<[EnforceRange] unsigned long> padding; + sequence<[EnforceRange] unsigned long> strides; + sequence<[EnforceRange] unsigned long> dilations; + sequence<[EnforceRange] unsigned long> outputPadding; + sequence<[EnforceRange] unsigned long> outputSizes; + [EnforceRange] unsigned long groups = 1; MLInputOperandLayout inputLayout = "nchw"; MLConvTranspose2dFilterOperandLayout filterLayout = "iohw"; MLOperand bias; @@ -234,11 +234,11 @@ partial interface MLGraphBuilder { }; partial interface MLGraphBuilder { - MLOperand expand(MLOperand input, sequence newShape); + MLOperand expand(MLOperand input, sequence<[EnforceRange] unsigned long> newShape); }; dictionary MLGatherOptions { - unsigned long axis = 0; + [EnforceRange] unsigned long axis = 0; }; partial interface MLGraphBuilder { @@ -280,8 +280,11 @@ dictionary MLGruOptions { }; partial interface MLGraphBuilder { - sequence gru(MLOperand input, MLOperand weight, MLOperand recurrentWeight, - unsigned long steps, unsigned long hiddenSize, + sequence gru(MLOperand input, + MLOperand weight, + MLOperand recurrentWeight, + [EnforceRange] unsigned long steps, + [EnforceRange] unsigned long hiddenSize, optional MLGruOptions options = {}); }; @@ -294,8 +297,11 @@ dictionary MLGruCellOptions { }; partial interface MLGraphBuilder { - MLOperand gruCell(MLOperand input, MLOperand weight, MLOperand recurrentWeight, - MLOperand hiddenState, unsigned long hiddenSize, + MLOperand gruCell(MLOperand input, + MLOperand weight, + MLOperand recurrentWeight, + MLOperand hiddenState, + [EnforceRange] unsigned long hiddenSize, optional MLGruCellOptions options = {}); }; @@ -329,7 +335,7 @@ partial interface MLGraphBuilder { dictionary MLLayerNormalizationOptions { MLOperand scale; MLOperand bias; - sequence axes; + sequence<[EnforceRange] unsigned long> axes; float epsilon = 1e-5; }; @@ -374,8 +380,11 @@ dictionary MLLstmOptions { }; partial interface MLGraphBuilder { - sequence lstm(MLOperand input, MLOperand weight, MLOperand recurrentWeight, - unsigned long steps, unsigned long hiddenSize, + sequence lstm(MLOperand input, + MLOperand weight, + MLOperand recurrentWeight, + [EnforceRange] unsigned long steps, + [EnforceRange] unsigned long hiddenSize, optional MLLstmOptions options = {}); }; @@ -388,8 +397,12 @@ dictionary MLLstmCellOptions { }; partial interface MLGraphBuilder { - sequence lstmCell(MLOperand input, MLOperand weight, MLOperand recurrentWeight, - MLOperand hiddenState, MLOperand cellState, unsigned long hiddenSize, + sequence lstmCell(MLOperand input, + MLOperand weight, + MLOperand recurrentWeight, + MLOperand hiddenState, + MLOperand cellState, + [EnforceRange] unsigned long hiddenSize, optional MLLstmCellOptions options = {}); }; @@ -411,8 +424,8 @@ dictionary MLPadOptions { partial interface MLGraphBuilder { MLOperand pad(MLOperand input, - sequence beginningPadding, - sequence endingPadding, + sequence<[EnforceRange] unsigned long> beginningPadding, + sequence<[EnforceRange] unsigned long> endingPadding, optional MLPadOptions options = {}); }; @@ -422,13 +435,13 @@ enum MLRoundingType { }; dictionary MLPool2dOptions { - sequence windowDimensions; - sequence padding; - sequence strides; - sequence dilations; + sequence<[EnforceRange] unsigned long> windowDimensions; + sequence<[EnforceRange] unsigned long> padding; + sequence<[EnforceRange] unsigned long> strides; + sequence<[EnforceRange] unsigned long> dilations; MLInputOperandLayout layout = "nchw"; MLRoundingType roundingType = "floor"; - sequence outputSizes; + sequence<[EnforceRange] unsigned long> outputSizes; }; partial interface MLGraphBuilder { @@ -442,7 +455,7 @@ partial interface MLGraphBuilder { }; dictionary MLReduceOptions { - sequence axes; + sequence<[EnforceRange] unsigned long> axes; boolean keepDimensions = false; }; @@ -472,8 +485,8 @@ enum MLInterpolationMode { dictionary MLResample2dOptions { MLInterpolationMode mode = "nearest-neighbor"; sequence scales; - sequence sizes; - sequence axes; + sequence<[EnforceRange] unsigned long> sizes; + sequence<[EnforceRange] unsigned long> axes; }; partial interface MLGraphBuilder { @@ -481,7 +494,7 @@ partial interface MLGraphBuilder { }; partial interface MLGraphBuilder { - MLOperand reshape(MLOperand input, sequence newShape); + MLOperand reshape(MLOperand input, sequence<[EnforceRange] unsigned long> newShape); }; partial interface MLGraphBuilder { @@ -490,7 +503,9 @@ partial interface MLGraphBuilder { }; partial interface MLGraphBuilder { - MLOperand slice(MLOperand input, sequence starts, sequence sizes); + MLOperand slice(MLOperand input, + sequence<[EnforceRange] unsigned long> starts, + sequence<[EnforceRange] unsigned long> sizes); }; partial interface MLGraphBuilder { @@ -513,12 +528,12 @@ partial interface MLGraphBuilder { }; dictionary MLSplitOptions { - unsigned long axis = 0; + [EnforceRange] unsigned long axis = 0; }; partial interface MLGraphBuilder { sequence split(MLOperand input, - (unsigned long or sequence) splits, + ([EnforceRange] unsigned long or sequence<[EnforceRange] unsigned long>) splits, optional MLSplitOptions options = {}); }; @@ -528,7 +543,7 @@ partial interface MLGraphBuilder { }; dictionary MLTransposeOptions { - sequence permutation; + sequence<[EnforceRange] unsigned long> permutation; }; partial interface MLGraphBuilder { @@ -537,7 +552,7 @@ partial interface MLGraphBuilder { dictionary MLTriangularOptions { boolean upper = true; - long diagonal = 0; + [EnforceRange] long diagonal = 0; }; partial interface MLGraphBuilder { diff --git a/tests/wpt/tests/lint.ignore b/tests/wpt/tests/lint.ignore index ebe734d0083..0258a1117aa 100644 --- a/tests/wpt/tests/lint.ignore +++ b/tests/wpt/tests/lint.ignore @@ -580,6 +580,7 @@ MISSING-LINK: css/cssom-view/scrollTop-display-change.html # TODO https://github.com/web-platform-tests/wpt/issues/5770 MISSING-LINK: css/css-highlight-api/idlharness.window.js MISSING-LINK: css/css-highlight-api/historical.window.js +MISSING-LINK: css/cssom/cssstyledeclaration-csstext-setter.window.js MISSING-LINK: css/geometry/*.worker.js MISSING-LINK: css/geometry/*.any.js MISSING-LINK: css/filter-effects/*.any.js @@ -745,5 +746,6 @@ HTML INVALID SYNTAX: domparsing/DOMParser-parseFromString-xml-parsererror.html HTML INVALID SYNTAX: domparsing/XMLSerializer-serializeToString.html HTML INVALID SYNTAX: html/canvas/element/manual/unclosed-canvas-4.htm HTML INVALID SYNTAX: html/syntax/parsing/unclosed-svg-script.html +HTML INVALID SYNTAX: mathml/crashtests/mozilla/411603-1.html HTML INVALID SYNTAX: quirks/percentage-height-calculation.html HTML INVALID SYNTAX: trusted-types/TrustedTypePolicyFactory-getAttributeType-namespace.html diff --git a/tests/wpt/tests/mathml/crashtests/mozilla/1140268-1.html b/tests/wpt/tests/mathml/crashtests/mozilla/1140268-1.html new file mode 100644 index 00000000000..5e5510ba7fd --- /dev/null +++ b/tests/wpt/tests/mathml/crashtests/mozilla/1140268-1.html @@ -0,0 +1,18 @@ + + + + + + + +boom! + + diff --git a/tests/wpt/tests/mathml/crashtests/mozilla/1397439-1.html b/tests/wpt/tests/mathml/crashtests/mozilla/1397439-1.html new file mode 100644 index 00000000000..b617f8e0ed8 --- /dev/null +++ b/tests/wpt/tests/mathml/crashtests/mozilla/1397439-1.html @@ -0,0 +1,6 @@ + + + + + + diff --git a/tests/wpt/tests/mathml/crashtests/mozilla/1403465.html b/tests/wpt/tests/mathml/crashtests/mozilla/1403465.html new file mode 100644 index 00000000000..924392757b3 --- /dev/null +++ b/tests/wpt/tests/mathml/crashtests/mozilla/1403465.html @@ -0,0 +1,24 @@ + + + + + + + diff --git a/tests/wpt/tests/mathml/crashtests/mozilla/1435015.html b/tests/wpt/tests/mathml/crashtests/mozilla/1435015.html new file mode 100644 index 00000000000..329aaca22f8 --- /dev/null +++ b/tests/wpt/tests/mathml/crashtests/mozilla/1435015.html @@ -0,0 +1,9 @@ + + + + diff --git a/tests/wpt/tests/mathml/crashtests/mozilla/1555757-1.html b/tests/wpt/tests/mathml/crashtests/mozilla/1555757-1.html new file mode 100644 index 00000000000..04f2b27a602 --- /dev/null +++ b/tests/wpt/tests/mathml/crashtests/mozilla/1555757-1.html @@ -0,0 +1,16 @@ + + + + + + + + + + + diff --git a/tests/wpt/tests/mathml/crashtests/mozilla/1555757-2.html b/tests/wpt/tests/mathml/crashtests/mozilla/1555757-2.html new file mode 100644 index 00000000000..eff048784a1 --- /dev/null +++ b/tests/wpt/tests/mathml/crashtests/mozilla/1555757-2.html @@ -0,0 +1,27 @@ + + + + + + + + + Change my size + + + diff --git a/tests/wpt/tests/mathml/crashtests/mozilla/1701975-1.html b/tests/wpt/tests/mathml/crashtests/mozilla/1701975-1.html new file mode 100644 index 00000000000..c7d54ca996f --- /dev/null +++ b/tests/wpt/tests/mathml/crashtests/mozilla/1701975-1.html @@ -0,0 +1,20 @@ + + + + + + + + + + + + diff --git a/tests/wpt/tests/mathml/crashtests/mozilla/243159-2.xhtml b/tests/wpt/tests/mathml/crashtests/mozilla/243159-2.xhtml new file mode 100644 index 00000000000..ff0326816d8 --- /dev/null +++ b/tests/wpt/tests/mathml/crashtests/mozilla/243159-2.xhtml @@ -0,0 +1,25 @@ + + + + + + + diff --git a/tests/wpt/tests/mathml/crashtests/mozilla/306902-1.xml b/tests/wpt/tests/mathml/crashtests/mozilla/306902-1.xml new file mode 100644 index 00000000000..24e8c068a0d --- /dev/null +++ b/tests/wpt/tests/mathml/crashtests/mozilla/306902-1.xml @@ -0,0 +1,14 @@ + + + + + + + + +XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + + + + + diff --git a/tests/wpt/tests/mathml/crashtests/mozilla/347506-1.xhtml b/tests/wpt/tests/mathml/crashtests/mozilla/347506-1.xhtml new file mode 100644 index 00000000000..4119389a56d --- /dev/null +++ b/tests/wpt/tests/mathml/crashtests/mozilla/347506-1.xhtml @@ -0,0 +1,23 @@ + + + + +
      + + + + x + y + + + z + w + + + + +
      + + + + \ No newline at end of file diff --git a/tests/wpt/tests/mathml/crashtests/mozilla/355993-1.xhtml b/tests/wpt/tests/mathml/crashtests/mozilla/355993-1.xhtml new file mode 100644 index 00000000000..cbbddf013aa --- /dev/null +++ b/tests/wpt/tests/mathml/crashtests/mozilla/355993-1.xhtml @@ -0,0 +1,26 @@ + + + + + + + + + +
      + + + + + + 1 + + + + +
      + + + diff --git a/tests/wpt/tests/mathml/crashtests/mozilla/364686-1.xhtml b/tests/wpt/tests/mathml/crashtests/mozilla/364686-1.xhtml new file mode 100644 index 00000000000..add9238d8fa --- /dev/null +++ b/tests/wpt/tests/mathml/crashtests/mozilla/364686-1.xhtml @@ -0,0 +1,11 @@ + + + + + + + + + + diff --git a/tests/wpt/tests/mathml/crashtests/mozilla/368461-1.xhtml b/tests/wpt/tests/mathml/crashtests/mozilla/368461-1.xhtml new file mode 100644 index 00000000000..d5baccf523e --- /dev/null +++ b/tests/wpt/tests/mathml/crashtests/mozilla/368461-1.xhtml @@ -0,0 +1,11 @@ + + + + + + + +

      Foo bar baz

      + + + diff --git a/tests/wpt/tests/mathml/crashtests/mozilla/370884-1.xhtml b/tests/wpt/tests/mathml/crashtests/mozilla/370884-1.xhtml new file mode 100644 index 00000000000..3959d4b1781 --- /dev/null +++ b/tests/wpt/tests/mathml/crashtests/mozilla/370884-1.xhtml @@ -0,0 +1,14 @@ + + + + + + + +
      +
      Y
      +
      +
      + + + diff --git a/tests/wpt/tests/mathml/crashtests/mozilla/382208-1.xhtml b/tests/wpt/tests/mathml/crashtests/mozilla/382208-1.xhtml new file mode 100644 index 00000000000..88d2728bfe6 --- /dev/null +++ b/tests/wpt/tests/mathml/crashtests/mozilla/382208-1.xhtml @@ -0,0 +1,7 @@ + + + +
      + + + diff --git a/tests/wpt/tests/mathml/crashtests/mozilla/382396-1.xhtml b/tests/wpt/tests/mathml/crashtests/mozilla/382396-1.xhtml new file mode 100644 index 00000000000..89af7ea18dd --- /dev/null +++ b/tests/wpt/tests/mathml/crashtests/mozilla/382396-1.xhtml @@ -0,0 +1,7 @@ + + + +

      a

      + + + diff --git a/tests/wpt/tests/mathml/crashtests/mozilla/384649-1.xhtml b/tests/wpt/tests/mathml/crashtests/mozilla/384649-1.xhtml new file mode 100644 index 00000000000..e2ba50cdeec --- /dev/null +++ b/tests/wpt/tests/mathml/crashtests/mozilla/384649-1.xhtml @@ -0,0 +1,31 @@ + + + + + + + +
      + + + + x + + + y + + + +
      + + + + diff --git a/tests/wpt/tests/mathml/crashtests/mozilla/385265-1.xhtml b/tests/wpt/tests/mathml/crashtests/mozilla/385265-1.xhtml new file mode 100644 index 00000000000..7994653ffa7 --- /dev/null +++ b/tests/wpt/tests/mathml/crashtests/mozilla/385265-1.xhtml @@ -0,0 +1,13 @@ + + + + + + + x + + + + + + \ No newline at end of file diff --git a/tests/wpt/tests/mathml/crashtests/mozilla/385289-1.xhtml b/tests/wpt/tests/mathml/crashtests/mozilla/385289-1.xhtml new file mode 100644 index 00000000000..8f0e871aaf4 --- /dev/null +++ b/tests/wpt/tests/mathml/crashtests/mozilla/385289-1.xhtml @@ -0,0 +1,30 @@ + + + + + + + +
      + + + v + 1 + + +
      + + + + diff --git a/tests/wpt/tests/mathml/crashtests/mozilla/394150-1.xhtml b/tests/wpt/tests/mathml/crashtests/mozilla/394150-1.xhtml new file mode 100644 index 00000000000..ee54a8dd3b7 --- /dev/null +++ b/tests/wpt/tests/mathml/crashtests/mozilla/394150-1.xhtml @@ -0,0 +1,27 @@ + + + + + + + + + + + + + + + diff --git a/tests/wpt/tests/mathml/crashtests/mozilla/395450-1.xhtml b/tests/wpt/tests/mathml/crashtests/mozilla/395450-1.xhtml new file mode 100644 index 00000000000..79510267bac --- /dev/null +++ b/tests/wpt/tests/mathml/crashtests/mozilla/395450-1.xhtml @@ -0,0 +1,28 @@ + + + + + + + + + + + + + + + + + diff --git a/tests/wpt/tests/mathml/crashtests/mozilla/399676-1.xhtml b/tests/wpt/tests/mathml/crashtests/mozilla/399676-1.xhtml new file mode 100644 index 00000000000..82b547e5eaf --- /dev/null +++ b/tests/wpt/tests/mathml/crashtests/mozilla/399676-1.xhtml @@ -0,0 +1,7 @@ + + + + + + + diff --git a/tests/wpt/tests/mathml/crashtests/mozilla/400445-1.xhtml b/tests/wpt/tests/mathml/crashtests/mozilla/400445-1.xhtml new file mode 100644 index 00000000000..9cb71dbbd6e --- /dev/null +++ b/tests/wpt/tests/mathml/crashtests/mozilla/400445-1.xhtml @@ -0,0 +1,22 @@ + + + + + + + + + diff --git a/tests/wpt/tests/mathml/crashtests/mozilla/400904-1.xhtml b/tests/wpt/tests/mathml/crashtests/mozilla/400904-1.xhtml new file mode 100644 index 00000000000..a00f42fd020 --- /dev/null +++ b/tests/wpt/tests/mathml/crashtests/mozilla/400904-1.xhtml @@ -0,0 +1,20 @@ + + + + + + + + + diff --git a/tests/wpt/tests/mathml/crashtests/mozilla/410728-1.xml b/tests/wpt/tests/mathml/crashtests/mozilla/410728-1.xml new file mode 100644 index 00000000000..deaeb8fc553 --- /dev/null +++ b/tests/wpt/tests/mathml/crashtests/mozilla/410728-1.xml @@ -0,0 +1,14 @@ + + +]> + + f ̲ + - + + + - + ̲ + diff --git a/tests/wpt/tests/mathml/crashtests/mozilla/411603-1.html b/tests/wpt/tests/mathml/crashtests/mozilla/411603-1.html new file mode 100644 index 00000000000..596565fbc38 --- /dev/null +++ b/tests/wpt/tests/mathml/crashtests/mozilla/411603-1.html @@ -0,0 +1,7 @@ + + + + + + + diff --git a/tests/wpt/tests/mathml/crashtests/mozilla/413274-1.xhtml b/tests/wpt/tests/mathml/crashtests/mozilla/413274-1.xhtml new file mode 100644 index 00000000000..19d8fab0fde --- /dev/null +++ b/tests/wpt/tests/mathml/crashtests/mozilla/413274-1.xhtml @@ -0,0 +1,18 @@ + + + + + + + + + + + + + + + + + + diff --git a/tests/wpt/tests/mathml/crashtests/mozilla/418007-1.xhtml b/tests/wpt/tests/mathml/crashtests/mozilla/418007-1.xhtml new file mode 100644 index 00000000000..f07a693444e --- /dev/null +++ b/tests/wpt/tests/mathml/crashtests/mozilla/418007-1.xhtml @@ -0,0 +1,24 @@ + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tests/wpt/tests/mathml/crashtests/mozilla/467914-1.html b/tests/wpt/tests/mathml/crashtests/mozilla/467914-1.html new file mode 100644 index 00000000000..4f518f09df3 --- /dev/null +++ b/tests/wpt/tests/mathml/crashtests/mozilla/467914-1.html @@ -0,0 +1,3 @@ + + + diff --git a/tests/wpt/tests/mathml/crashtests/mozilla/547843-1.xhtml b/tests/wpt/tests/mathml/crashtests/mozilla/547843-1.xhtml new file mode 100644 index 00000000000..0ad086d90c3 --- /dev/null +++ b/tests/wpt/tests/mathml/crashtests/mozilla/547843-1.xhtml @@ -0,0 +1 @@ +
      diff --git a/tests/wpt/tests/mathml/crashtests/mozilla/700031.xhtml b/tests/wpt/tests/mathml/crashtests/mozilla/700031.xhtml new file mode 100644 index 00000000000..70f924279ef --- /dev/null +++ b/tests/wpt/tests/mathml/crashtests/mozilla/700031.xhtml @@ -0,0 +1,9 @@ + + +
      + +abcdef + +
      + + diff --git a/tests/wpt/tests/pointerevents/compat/pointerevent_touch_target_after_pointerdown_target_removed.tentative.html b/tests/wpt/tests/pointerevents/compat/pointerevent_touch_target_after_pointerdown_target_removed.tentative.html new file mode 100644 index 00000000000..124133d25cc --- /dev/null +++ b/tests/wpt/tests/pointerevents/compat/pointerevent_touch_target_after_pointerdown_target_removed.tentative.html @@ -0,0 +1,281 @@ + + + + +Compatibility mapping with touch events after removing pointerdown target + + + + + + + + + diff --git a/tests/wpt/tests/pointerevents/pointerevent_mouse_capture_change_hover.html b/tests/wpt/tests/pointerevents/pointerevent_mouse_capture_change_hover.html index ef824dafd96..eb460009387 100644 --- a/tests/wpt/tests/pointerevents/pointerevent_mouse_capture_change_hover.html +++ b/tests/wpt/tests/pointerevents/pointerevent_mouse_capture_change_hover.html @@ -61,8 +61,8 @@ function releaseCapture(event) { function run() { promise_test (async() => { - // Move to (0, 0) to reset hovering. - await new test_driver.Actions().pointerMove(0, 0).send(); + // Move to (1, 1) to reset hovering. + await new test_driver.Actions().pointerMove(1, 1).send(); receivedEventList = []; // pointerdown at green -> set capture to green -> green receive the following moves. @@ -93,8 +93,8 @@ function run() { }, "Mouse down and capture to green."); promise_test (async() => { - // Move to (0, 0) to reset hovering. - await new test_driver.Actions().addPointer("mouse").pointerMove(0, 0).send(); + // Move to (1, 1) to reset hovering. + await new test_driver.Actions().addPointer("mouse").pointerMove(1, 1).send(); receivedEventList = []; // pointerdown at green -> set capture to blue -> blue receive the following moves. @@ -129,8 +129,8 @@ function run() { }, "Mouse down at green and capture to blue."); promise_test (async() => { - // Move to (0, 0) to reset hovering. - await new test_driver.Actions().addPointer("mouse").pointerMove(0, 0).send(); + // Move to (1, 1) to reset hovering. + await new test_driver.Actions().addPointer("mouse").pointerMove(1, 1).send(); receivedEventList = []; // pointerdown at green -> set capture to green -> green receive first move -> release capture -> blue receive the next move diff --git a/tests/wpt/tests/selection/crashtests/selection-modify-line-boundary-around-shadow.html b/tests/wpt/tests/selection/crashtests/selection-modify-line-boundary-around-shadow.html new file mode 100644 index 00000000000..bfca0402a70 --- /dev/null +++ b/tests/wpt/tests/selection/crashtests/selection-modify-line-boundary-around-shadow.html @@ -0,0 +1,30 @@ + + + + + + + +
      +
      + + diff --git a/tests/wpt/tests/selection/selection-range-after-editinghost-removed.html b/tests/wpt/tests/selection/selection-range-after-editinghost-removed.html new file mode 100644 index 00000000000..921903062ac --- /dev/null +++ b/tests/wpt/tests/selection/selection-range-after-editinghost-removed.html @@ -0,0 +1,69 @@ + + + + +Selection range in an editing host after the host is removed + + + + +
      + diff --git a/tests/wpt/tests/selection/selection-range-after-textcontrol-removed.html b/tests/wpt/tests/selection/selection-range-after-textcontrol-removed.html new file mode 100644 index 00000000000..e618f10f1d8 --- /dev/null +++ b/tests/wpt/tests/selection/selection-range-after-textcontrol-removed.html @@ -0,0 +1,55 @@ + + + + + + + + +Selection range after text control is removed + + + + + + diff --git a/tests/wpt/tests/selection/selection-range-in-shadow-after-the-shadow-removed.tentative.html b/tests/wpt/tests/selection/selection-range-in-shadow-after-the-shadow-removed.tentative.html new file mode 100644 index 00000000000..e9f63715a2f --- /dev/null +++ b/tests/wpt/tests/selection/selection-range-in-shadow-after-the-shadow-removed.tentative.html @@ -0,0 +1,96 @@ + + + + + + +Selection range in shadow after removing the shadow + + + + +
      + diff --git a/tests/wpt/tests/service-workers/service-worker/tentative/static-router/resources/router-rules.js b/tests/wpt/tests/service-workers/service-worker/tentative/static-router/resources/router-rules.js index 5a1c53671b9..c3aef4272f2 100644 --- a/tests/wpt/tests/service-workers/service-worker/tentative/static-router/resources/router-rules.js +++ b/tests/wpt/tests/service-workers/service-worker/tentative/static-router/resources/router-rules.js @@ -52,6 +52,12 @@ const routerRules = { }; return {condition: addOrCondition({}, 0), source: 'network'}; })(), + 'condition-invalid-router-size': [...Array(512)].map((val, i) => { + return { + condition: {urlPattern: `/foo-${i}`}, + source: 'network' + }; + }), 'condition-request-destination-script-network': [{condition: {requestDestination: 'script'}, source: 'network'}], 'condition-or-source-network': [{ diff --git a/tests/wpt/tests/service-workers/service-worker/tentative/static-router/static-router-invalid-rules.https.html b/tests/wpt/tests/service-workers/service-worker/tentative/static-router/static-router-invalid-rules.https.html index 86a50215f2e..9ef7cfdc9f3 100644 --- a/tests/wpt/tests/service-workers/service-worker/tentative/static-router/static-router-invalid-rules.https.html +++ b/tests/wpt/tests/service-workers/service-worker/tentative/static-router/static-router-invalid-rules.https.html @@ -17,6 +17,8 @@ const ROUTER_RULE_KEY_INVALID_REQUEST_METHOD = 'condition-invalid-request-method'; const ROUTER_RULE_KEY_INVALID_OR_CONDITION_DEPTH = 'condition-invalid-or-condition-depth'; +const ROUTER_RULE_KEY_INVALID_ROUTER_SIZE = + 'condition-invalid-router-size'; promise_test(async t => { const worker = await registerAndActivate(t, ROUTER_RULE_KEY_INVALID_REQUEST_METHOD); @@ -32,5 +34,12 @@ promise_test(async t => { assert_equals(errors.length, 1); }, 'addRoutes should raise if or condition exceeds the depth limit'); +promise_test(async t => { + const worker = await registerAndActivate(t, ROUTER_RULE_KEY_INVALID_ROUTER_SIZE); + t.add_cleanup(() => {reset_info_in_worker(worker)}); + const {errors} = await get_info_from_worker(worker); + assert_equals(errors.length, 1); +}, 'addRoutes should raise if the number of router rules exceeds the length limit'); + diff --git a/tests/wpt/tests/svg/import/animate-elem-30-t-manual.svg b/tests/wpt/tests/svg/import/animate-elem-30-t-manual.svg index d27f9a1d6da..bfc4cb48612 100644 --- a/tests/wpt/tests/svg/import/animate-elem-30-t-manual.svg +++ b/tests/wpt/tests/svg/import/animate-elem-30-t-manual.svg @@ -95,7 +95,7 @@ - + diff --git a/tests/wpt/tests/svg/import/animate-elem-85-t-manual.svg b/tests/wpt/tests/svg/import/animate-elem-85-t-manual.svg index 6c09ffb3b59..c5ded325cd8 100644 --- a/tests/wpt/tests/svg/import/animate-elem-85-t-manual.svg +++ b/tests/wpt/tests/svg/import/animate-elem-85-t-manual.svg @@ -15,7 +15,7 @@ version="$Revision: 1.8 $" testname="$RCSfile: animate-elem-85-t.svg,v $">

      - The first subtest tests animateColor with 'to' and 'from' values including + The first subtest tests animate with 'to' and 'from' values including currentColor. The second subtest checks that the value of currentColor is the current animated value of the color property, by animating the color property at the same time as animating fill with a 'from' or 'to' value of currentColor. @@ -50,29 +50,29 @@ - + - + - + - + - - + + - - + +