aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorServo WPT Sync <32481905+servo-wpt-sync@users.noreply.github.com>2024-07-21 03:59:39 -0400
committerGitHub <noreply@github.com>2024-07-21 07:59:39 +0000
commit2c4b96b872ea10771efbb9d536d38538364293b9 (patch)
treeba93e623c2cd39e7b648ec2467b0c46006dfe9d2
parenta7a380777d03807dcffe6c40127766362ac56398 (diff)
downloadservo-2c4b96b872ea10771efbb9d536d38538364293b9.tar.gz
servo-2c4b96b872ea10771efbb9d536d38538364293b9.zip
Update web-platform-tests to revision b'5af3e9c2a2aba76ade00f0dbc3486e50a74a4506' (#32824)
Signed-off-by: WPT Sync Bot <ghbot+wpt-sync@servo.org>
-rw-r--r--tests/wpt/meta-legacy-layout/css/css-align/animation/align-no-interpolation.html.ini87
-rw-r--r--tests/wpt/meta-legacy-layout/css/css-align/animation/justify-no-interpolation.html.ini174
-rw-r--r--tests/wpt/meta-legacy-layout/css/css-align/content-distribution/parse-align-content-001.html.ini27
-rw-r--r--tests/wpt/meta-legacy-layout/css/css-align/content-distribution/parse-align-content-002.html.ini22
-rw-r--r--tests/wpt/meta-legacy-layout/css/css-align/content-distribution/parse-align-content-003.html.ini27
-rw-r--r--tests/wpt/meta-legacy-layout/css/css-align/content-distribution/parse-align-content-005.html.ini6
-rw-r--r--tests/wpt/meta-legacy-layout/css/css-align/content-distribution/parse-justify-content-001.html.ini24
-rw-r--r--tests/wpt/meta-legacy-layout/css/css-align/content-distribution/parse-justify-content-002.html.ini22
-rw-r--r--tests/wpt/meta-legacy-layout/css/css-align/content-distribution/parse-justify-content-003.html.ini24
-rw-r--r--tests/wpt/meta-legacy-layout/css/css-align/content-distribution/parse-justify-content-005.html.ini6
-rw-r--r--tests/wpt/meta-legacy-layout/css/css-align/content-distribution/place-content-shorthand-001.html.ini46
-rw-r--r--tests/wpt/meta-legacy-layout/css/css-align/content-distribution/place-content-shorthand-002.html.ini649
-rw-r--r--tests/wpt/meta-legacy-layout/css/css-align/content-distribution/place-content-shorthand-003.html.ini7
-rw-r--r--tests/wpt/meta-legacy-layout/css/css-align/content-distribution/place-content-shorthand-005.html.ini7
-rw-r--r--tests/wpt/meta-legacy-layout/css/css-align/content-distribution/place-content-shorthand-006.html.ini67
-rw-r--r--tests/wpt/meta-legacy-layout/css/css-align/default-alignment/parse-align-items-001.html.ini37
-rw-r--r--tests/wpt/meta-legacy-layout/css/css-align/default-alignment/parse-align-items-002.html.ini22
-rw-r--r--tests/wpt/meta-legacy-layout/css/css-align/default-alignment/parse-align-items-003.html.ini37
-rw-r--r--tests/wpt/meta-legacy-layout/css/css-align/default-alignment/parse-align-items-005.html.ini10
-rw-r--r--tests/wpt/meta-legacy-layout/css/css-align/default-alignment/parse-justify-items-001.html.ini67
-rw-r--r--tests/wpt/meta-legacy-layout/css/css-align/default-alignment/parse-justify-items-002.html.ini22
-rw-r--r--tests/wpt/meta-legacy-layout/css/css-align/default-alignment/parse-justify-items-003.html.ini67
-rw-r--r--tests/wpt/meta-legacy-layout/css/css-align/default-alignment/parse-justify-items-004.html.ini97
-rw-r--r--tests/wpt/meta-legacy-layout/css/css-align/default-alignment/parse-justify-items-005.html.ini10
-rw-r--r--tests/wpt/meta-legacy-layout/css/css-align/default-alignment/place-items-shorthand-001.html.ini52
-rw-r--r--tests/wpt/meta-legacy-layout/css/css-align/default-alignment/place-items-shorthand-002.html.ini1123
-rw-r--r--tests/wpt/meta-legacy-layout/css/css-align/default-alignment/place-items-shorthand-003.html.ini7
-rw-r--r--tests/wpt/meta-legacy-layout/css/css-align/default-alignment/place-items-shorthand-004.html.ini13
-rw-r--r--tests/wpt/meta-legacy-layout/css/css-align/default-alignment/place-items-shorthand-005.html.ini7
-rw-r--r--tests/wpt/meta-legacy-layout/css/css-align/default-alignment/place-items-shorthand-006.html.ini109
-rw-r--r--tests/wpt/meta-legacy-layout/css/css-align/default-alignment/shorthand-serialization-001.html.ini52
-rw-r--r--tests/wpt/meta-legacy-layout/css/css-align/inheritance.html.ini30
-rw-r--r--tests/wpt/meta-legacy-layout/css/css-align/parsing/align-content-computed.html.ini15
-rw-r--r--tests/wpt/meta-legacy-layout/css/css-align/parsing/align-content-valid.html.ini18
-rw-r--r--tests/wpt/meta-legacy-layout/css/css-align/parsing/align-items-computed.html.ini25
-rw-r--r--tests/wpt/meta-legacy-layout/css/css-align/parsing/align-items-valid.html.ini28
-rw-r--r--tests/wpt/meta-legacy-layout/css/css-align/parsing/align-self-computed.html.ini28
-rw-r--r--tests/wpt/meta-legacy-layout/css/css-align/parsing/align-self-valid.html.ini28
-rw-r--r--tests/wpt/meta-legacy-layout/css/css-align/parsing/justify-content-computed.html.ini15
-rw-r--r--tests/wpt/meta-legacy-layout/css/css-align/parsing/justify-content-valid.html.ini15
-rw-r--r--tests/wpt/meta-legacy-layout/css/css-align/parsing/justify-items-computed.html.ini58
-rw-r--r--tests/wpt/meta-legacy-layout/css/css-align/parsing/justify-items-valid.html.ini61
-rw-r--r--tests/wpt/meta-legacy-layout/css/css-align/parsing/justify-self-computed.html.ini49
-rw-r--r--tests/wpt/meta-legacy-layout/css/css-align/parsing/justify-self-valid.html.ini52
-rw-r--r--tests/wpt/meta-legacy-layout/css/css-align/parsing/place-content-computed.html.ini70
-rw-r--r--tests/wpt/meta-legacy-layout/css/css-align/parsing/place-content-shorthand.html.ini46
-rw-r--r--tests/wpt/meta-legacy-layout/css/css-align/parsing/place-content-valid.html.ini70
-rw-r--r--tests/wpt/meta-legacy-layout/css/css-align/parsing/place-items-computed.html.ini52
-rw-r--r--tests/wpt/meta-legacy-layout/css/css-align/parsing/place-items-shorthand.html.ini37
-rw-r--r--tests/wpt/meta-legacy-layout/css/css-align/parsing/place-items-valid.html.ini55
-rw-r--r--tests/wpt/meta-legacy-layout/css/css-align/parsing/place-self-computed.html.ini49
-rw-r--r--tests/wpt/meta-legacy-layout/css/css-align/parsing/place-self-shorthand.html.ini37
-rw-r--r--tests/wpt/meta-legacy-layout/css/css-align/parsing/place-self-valid.html.ini49
-rw-r--r--tests/wpt/meta-legacy-layout/css/css-align/self-alignment/parse-align-self-001.html.ini40
-rw-r--r--tests/wpt/meta-legacy-layout/css/css-align/self-alignment/parse-align-self-002.html.ini22
-rw-r--r--tests/wpt/meta-legacy-layout/css/css-align/self-alignment/parse-align-self-003.html.ini40
-rw-r--r--tests/wpt/meta-legacy-layout/css/css-align/self-alignment/parse-align-self-005.html.ini10
-rw-r--r--tests/wpt/meta-legacy-layout/css/css-align/self-alignment/parse-justify-self-001.html.ini61
-rw-r--r--tests/wpt/meta-legacy-layout/css/css-align/self-alignment/parse-justify-self-002.html.ini22
-rw-r--r--tests/wpt/meta-legacy-layout/css/css-align/self-alignment/parse-justify-self-003.html.ini61
-rw-r--r--tests/wpt/meta-legacy-layout/css/css-align/self-alignment/parse-justify-self-004.html.ini79
-rw-r--r--tests/wpt/meta-legacy-layout/css/css-align/self-alignment/parse-justify-self-005.html.ini10
-rw-r--r--tests/wpt/meta-legacy-layout/css/css-align/self-alignment/place-self-shorthand-001.html.ini55
-rw-r--r--tests/wpt/meta-legacy-layout/css/css-align/self-alignment/place-self-shorthand-002.html.ini1081
-rw-r--r--tests/wpt/meta-legacy-layout/css/css-align/self-alignment/place-self-shorthand-003.html.ini7
-rw-r--r--tests/wpt/meta-legacy-layout/css/css-align/self-alignment/place-self-shorthand-004.html.ini13
-rw-r--r--tests/wpt/meta-legacy-layout/css/css-align/self-alignment/place-self-shorthand-005.html.ini7
-rw-r--r--tests/wpt/meta-legacy-layout/css/css-align/self-alignment/place-self-shorthand-006.html.ini118
-rw-r--r--tests/wpt/meta-legacy-layout/css/css-animations/jump-start-animation-before-phase.html.ini2
-rw-r--r--tests/wpt/meta-legacy-layout/css/css-cascade/scope-style-sharing-001.html.ini36
-rw-r--r--tests/wpt/meta-legacy-layout/css/css-cascade/scope-style-sharing-002.html.ini36
-rw-r--r--tests/wpt/meta-legacy-layout/css/css-display/parsing/display-valid.html.ini21
-rw-r--r--tests/wpt/meta-legacy-layout/css/css-flexbox/getcomputedstyle/flexbox_computedstyle_align-items-invalid.html.ini4
-rw-r--r--tests/wpt/meta-legacy-layout/css/css-flexbox/getcomputedstyle/flexbox_computedstyle_align-self-invalid.html.ini4
-rw-r--r--tests/wpt/meta-legacy-layout/css/css-flexbox/inheritance.html.ini16
-rw-r--r--tests/wpt/meta-legacy-layout/css/css-fonts/font-size-adjust-reload.html.ini2
-rw-r--r--tests/wpt/meta-legacy-layout/css/css-fonts/generic-family-keywords-001.html.ini6
-rw-r--r--tests/wpt/meta-legacy-layout/css/css-position/position-sticky-dynamic-ancestor-001.html.ini3
-rw-r--r--tests/wpt/meta-legacy-layout/css/css-sizing/animation/height-composition.html.ini55
-rw-r--r--tests/wpt/meta-legacy-layout/css/css-sizing/animation/max-height-composition.html.ini15
-rw-r--r--tests/wpt/meta-legacy-layout/css/css-sizing/animation/max-width-composition.html.ini15
-rw-r--r--tests/wpt/meta-legacy-layout/css/css-sizing/animation/min-height-composition.html.ini15
-rw-r--r--tests/wpt/meta-legacy-layout/css/css-sizing/animation/min-width-composition.html.ini15
-rw-r--r--tests/wpt/meta-legacy-layout/css/css-sizing/animation/width-composition.html.ini70
-rw-r--r--tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/abspos-001.html.ini2
-rw-r--r--tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/abspos-002.html.ini2
-rw-r--r--tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/abspos-003.html.ini2
-rw-r--r--tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/abspos-004.html.ini2
-rw-r--r--tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/abspos-005.html.ini2
-rw-r--r--tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/abspos-006.html.ini2
-rw-r--r--tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/abspos-007.html.ini2
-rw-r--r--tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/abspos-008.html.ini2
-rw-r--r--tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/abspos-009.html.ini2
-rw-r--r--tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/abspos-010.html.ini2
-rw-r--r--tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/abspos-011.html.ini2
-rw-r--r--tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/abspos-014.html.ini2
-rw-r--r--tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/abspos-015.html.ini2
-rw-r--r--tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/abspos-017.html.ini2
-rw-r--r--tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/abspos-018.html.ini2
-rw-r--r--tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/abspos-019.html.ini2
-rw-r--r--tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/abspos-020.html.ini2
-rw-r--r--tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/abspos-021.html.ini2
-rw-r--r--tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/auto-margins-001.html.ini2
-rw-r--r--tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/block-aspect-ratio-001.html.ini2
-rw-r--r--tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/block-aspect-ratio-002.html.ini2
-rw-r--r--tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/block-aspect-ratio-003.html.ini2
-rw-r--r--tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/block-aspect-ratio-004.html.ini2
-rw-r--r--tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/block-aspect-ratio-005.html.ini2
-rw-r--r--tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/block-aspect-ratio-006.html.ini2
-rw-r--r--tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/block-aspect-ratio-007.html.ini2
-rw-r--r--tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/block-aspect-ratio-008.html.ini2
-rw-r--r--tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/block-aspect-ratio-010.html.ini2
-rw-r--r--tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/block-aspect-ratio-011.html.ini2
-rw-r--r--tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/block-aspect-ratio-012.html.ini2
-rw-r--r--tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/block-aspect-ratio-013.html.ini2
-rw-r--r--tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/block-aspect-ratio-014.html.ini2
-rw-r--r--tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/block-aspect-ratio-015.html.ini2
-rw-r--r--tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/block-aspect-ratio-016.html.ini2
-rw-r--r--tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/block-aspect-ratio-018.html.ini2
-rw-r--r--tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/block-aspect-ratio-019.html.ini2
-rw-r--r--tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/block-aspect-ratio-020.html.ini2
-rw-r--r--tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/block-aspect-ratio-021.html.ini2
-rw-r--r--tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/block-aspect-ratio-023.html.ini2
-rw-r--r--tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/block-aspect-ratio-024.html.ini2
-rw-r--r--tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/block-aspect-ratio-025.html.ini2
-rw-r--r--tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/block-aspect-ratio-026.html.ini2
-rw-r--r--tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/block-aspect-ratio-027.html.ini2
-rw-r--r--tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/block-aspect-ratio-028.html.ini2
-rw-r--r--tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/block-aspect-ratio-030.html.ini2
-rw-r--r--tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/block-aspect-ratio-031.html.ini2
-rw-r--r--tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/block-aspect-ratio-032.html.ini2
-rw-r--r--tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/block-aspect-ratio-033.html.ini2
-rw-r--r--tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/block-aspect-ratio-036.html.ini2
-rw-r--r--tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/block-aspect-ratio-040.html.ini2
-rw-r--r--tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/block-aspect-ratio-042.html.ini2
-rw-r--r--tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/block-aspect-ratio-043.html.ini2
-rw-r--r--tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/block-aspect-ratio-044.html.ini2
-rw-r--r--tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/block-aspect-ratio-047.html.ini2
-rw-r--r--tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/block-aspect-ratio-049.html.ini2
-rw-r--r--tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/block-aspect-ratio-052.html.ini2
-rw-r--r--tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/block-aspect-ratio-053.html.ini2
-rw-r--r--tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/block-aspect-ratio-054.html.ini2
-rw-r--r--tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/block-aspect-ratio-055.html.ini2
-rw-r--r--tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/block-aspect-ratio-with-margin-collapsing-001.html.ini2
-rw-r--r--tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/block-aspect-ratio-with-margin-collapsing-002.html.ini2
-rw-r--r--tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/flex-aspect-ratio-001.html.ini2
-rw-r--r--tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/flex-aspect-ratio-002.html.ini2
-rw-r--r--tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/flex-aspect-ratio-003.html.ini2
-rw-r--r--tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/flex-aspect-ratio-005.html.ini2
-rw-r--r--tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/flex-aspect-ratio-006.html.ini2
-rw-r--r--tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/flex-aspect-ratio-007.html.ini2
-rw-r--r--tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/flex-aspect-ratio-008.html.ini2
-rw-r--r--tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/flex-aspect-ratio-009.html.ini2
-rw-r--r--tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/flex-aspect-ratio-011.html.ini2
-rw-r--r--tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/flex-aspect-ratio-012.html.ini2
-rw-r--r--tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/flex-aspect-ratio-013.html.ini2
-rw-r--r--tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/flex-aspect-ratio-014.html.ini2
-rw-r--r--tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/flex-aspect-ratio-015.html.ini2
-rw-r--r--tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/flex-aspect-ratio-016.html.ini2
-rw-r--r--tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/flex-aspect-ratio-017.html.ini2
-rw-r--r--tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/flex-aspect-ratio-018.html.ini2
-rw-r--r--tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/flex-aspect-ratio-019.html.ini2
-rw-r--r--tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/flex-aspect-ratio-020.html.ini2
-rw-r--r--tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/flex-aspect-ratio-021.html.ini2
-rw-r--r--tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/flex-aspect-ratio-022.html.ini2
-rw-r--r--tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/flex-aspect-ratio-023.html.ini2
-rw-r--r--tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/flex-aspect-ratio-024.html.ini2
-rw-r--r--tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/flex-aspect-ratio-025.html.ini2
-rw-r--r--tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/flex-aspect-ratio-026.html.ini2
-rw-r--r--tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/flex-aspect-ratio-027.html.ini2
-rw-r--r--tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/flex-aspect-ratio-028.html.ini2
-rw-r--r--tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/flex-aspect-ratio-032.html.ini2
-rw-r--r--tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/flex-aspect-ratio-033.html.ini2
-rw-r--r--tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/flex-aspect-ratio-034.html.ini2
-rw-r--r--tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/flex-aspect-ratio-035.html.ini2
-rw-r--r--tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/flex-aspect-ratio-036.html.ini2
-rw-r--r--tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/flex-aspect-ratio-037.html.ini2
-rw-r--r--tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/flex-aspect-ratio-038.html.ini2
-rw-r--r--tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/flex-aspect-ratio-039.html.ini2
-rw-r--r--tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/flex-aspect-ratio-043.html.ini2
-rw-r--r--tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/flex-aspect-ratio-044.html.ini2
-rw-r--r--tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/floats-aspect-ratio-001.html.ini2
-rw-r--r--tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/fractional-aspect-ratio.html.ini6
-rw-r--r--tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/grid-aspect-ratio-001.html.ini2
-rw-r--r--tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/grid-aspect-ratio-002.html.ini2
-rw-r--r--tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/grid-aspect-ratio-003.html.ini2
-rw-r--r--tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/grid-aspect-ratio-004.html.ini2
-rw-r--r--tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/grid-aspect-ratio-005.html.ini2
-rw-r--r--tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/grid-aspect-ratio-006.html.ini2
-rw-r--r--tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/grid-aspect-ratio-007.html.ini2
-rw-r--r--tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/grid-aspect-ratio-008.html.ini2
-rw-r--r--tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/grid-aspect-ratio-009.html.ini2
-rw-r--r--tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/grid-aspect-ratio-010.html.ini2
-rw-r--r--tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/grid-aspect-ratio-011.html.ini2
-rw-r--r--tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/grid-aspect-ratio-012.html.ini2
-rw-r--r--tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/grid-aspect-ratio-014.html.ini2
-rw-r--r--tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/grid-aspect-ratio-015.html.ini2
-rw-r--r--tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/grid-aspect-ratio-016.html.ini2
-rw-r--r--tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/grid-aspect-ratio-017.html.ini2
-rw-r--r--tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/grid-aspect-ratio-018.html.ini2
-rw-r--r--tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/grid-aspect-ratio-019.html.ini2
-rw-r--r--tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/grid-aspect-ratio-020.html.ini2
-rw-r--r--tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/grid-aspect-ratio-021.html.ini2
-rw-r--r--tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/grid-aspect-ratio-022.html.ini2
-rw-r--r--tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/grid-aspect-ratio-024.html.ini2
-rw-r--r--tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/grid-aspect-ratio-025.html.ini2
-rw-r--r--tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/grid-aspect-ratio-026.html.ini2
-rw-r--r--tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/grid-aspect-ratio-027.html.ini2
-rw-r--r--tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/grid-aspect-ratio-028.html.ini2
-rw-r--r--tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/grid-aspect-ratio-029.html.ini2
-rw-r--r--tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/grid-aspect-ratio-030.html.ini2
-rw-r--r--tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/grid-aspect-ratio-031.html.ini2
-rw-r--r--tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/grid-aspect-ratio-032.html.ini2
-rw-r--r--tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/grid-aspect-ratio-033.html.ini2
-rw-r--r--tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/grid-aspect-ratio-034.html.ini2
-rw-r--r--tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/grid-aspect-ratio-035.html.ini2
-rw-r--r--tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/grid-aspect-ratio-036.html.ini2
-rw-r--r--tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/grid-aspect-ratio-037.html.ini2
-rw-r--r--tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/grid-aspect-ratio-038.html.ini2
-rw-r--r--tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/grid-aspect-ratio-040.html.ini2
-rw-r--r--tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/grid-aspect-ratio-041.html.ini2
-rw-r--r--tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/intrinsic-size-001.html.ini2
-rw-r--r--tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/intrinsic-size-002.html.ini2
-rw-r--r--tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/intrinsic-size-003.html.ini2
-rw-r--r--tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/intrinsic-size-004.html.ini2
-rw-r--r--tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/intrinsic-size-005.html.ini2
-rw-r--r--tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/intrinsic-size-006.html.ini2
-rw-r--r--tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/intrinsic-size-007.html.ini2
-rw-r--r--tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/intrinsic-size-008.html.ini2
-rw-r--r--tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/intrinsic-size-010.html.ini2
-rw-r--r--tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/intrinsic-size-011.html.ini2
-rw-r--r--tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/intrinsic-size-012.html.ini2
-rw-r--r--tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/intrinsic-size-013.html.ini2
-rw-r--r--tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/intrinsic-size-014.html.ini2
-rw-r--r--tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/intrinsic-size-015.html.ini2
-rw-r--r--tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/intrinsic-size-020.html.ini2
-rw-r--r--tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/intrinsic-size-021.html.ini2
-rw-r--r--tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/intrinsic-size-022.html.ini2
-rw-r--r--tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/intrinsic-size-023.html.ini2
-rw-r--r--tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/intrinsic-size-024.html.ini2
-rw-r--r--tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/intrinsic-size-025.html.ini2
-rw-r--r--tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/percentage-resolution-001.html.ini2
-rw-r--r--tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/percentage-resolution-002.html.ini2
-rw-r--r--tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/percentage-resolution-003.html.ini2
-rw-r--r--tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/percentage-resolution-004.html.ini2
-rw-r--r--tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/percentage-resolution-005.html.ini2
-rw-r--r--tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/quirks-mode-001.html.ini3
-rw-r--r--tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/replaced-element-001.html.ini2
-rw-r--r--tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/replaced-element-002.html.ini2
-rw-r--r--tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/replaced-element-003.html.ini2
-rw-r--r--tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/replaced-element-004.html.ini2
-rw-r--r--tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/replaced-element-005.html.ini2
-rw-r--r--tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/replaced-element-006.html.ini2
-rw-r--r--tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/replaced-element-007.html.ini2
-rw-r--r--tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/replaced-element-008.html.ini2
-rw-r--r--tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/replaced-element-009.html.ini2
-rw-r--r--tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/replaced-element-010.html.ini2
-rw-r--r--tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/replaced-element-011.html.ini2
-rw-r--r--tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/replaced-element-012.html.ini2
-rw-r--r--tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/replaced-element-015.html.ini2
-rw-r--r--tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/replaced-element-016.html.ini2
-rw-r--r--tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/replaced-element-017.html.ini2
-rw-r--r--tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/replaced-element-018.html.ini2
-rw-r--r--tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/replaced-element-019.html.ini2
-rw-r--r--tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/replaced-element-020.html.ini2
-rw-r--r--tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/replaced-element-021.html.ini2
-rw-r--r--tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/replaced-element-022.html.ini2
-rw-r--r--tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/replaced-element-023.html.ini2
-rw-r--r--tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/replaced-element-025.html.ini2
-rw-r--r--tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/replaced-element-027.html.ini2
-rw-r--r--tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/replaced-element-031.html.ini2
-rw-r--r--tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/replaced-element-032.html.ini2
-rw-r--r--tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/replaced-element-033.html.ini2
-rw-r--r--tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/replaced-element-034.html.ini2
-rw-r--r--tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/replaced-element-036.html.ini6
-rw-r--r--tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/replaced-element-039.html.ini2
-rw-r--r--tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/replaced-element-040.html.ini2
-rw-r--r--tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/replaced-element-dynamic-aspect-ratio.html.ini2
-rw-r--r--tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/select-element-001.html.ini2
-rw-r--r--tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/table-element-001.html.ini2
-rw-r--r--tests/wpt/meta-legacy-layout/css/css-sizing/dynamic-available-size-iframe.html.ini2
-rw-r--r--tests/wpt/meta-legacy-layout/css/css-values/calc-size/animation/interpolate-size-height-composition.html.ini30
-rw-r--r--tests/wpt/meta-legacy-layout/css/css-values/calc-size/animation/interpolate-size-height-interpolation.html.ini738
-rw-r--r--tests/wpt/meta-legacy-layout/css/css-values/calc-size/animation/interpolate-size-logical-properties-interpolation.html.ini414
-rw-r--r--tests/wpt/meta-legacy-layout/css/css-values/calc-size/animation/interpolate-size-max-height-composition.html.ini30
-rw-r--r--tests/wpt/meta-legacy-layout/css/css-values/calc-size/animation/interpolate-size-max-height-interpolation.html.ini648
-rw-r--r--tests/wpt/meta-legacy-layout/css/css-values/calc-size/animation/interpolate-size-max-width-composition.html.ini45
-rw-r--r--tests/wpt/meta-legacy-layout/css/css-values/calc-size/animation/interpolate-size-max-width-interpolation.html.ini648
-rw-r--r--tests/wpt/meta-legacy-layout/css/css-values/calc-size/animation/interpolate-size-min-height-composition.html.ini30
-rw-r--r--tests/wpt/meta-legacy-layout/css/css-values/calc-size/animation/interpolate-size-min-height-interpolation.html.ini612
-rw-r--r--tests/wpt/meta-legacy-layout/css/css-values/calc-size/animation/interpolate-size-min-width-composition.html.ini45
-rw-r--r--tests/wpt/meta-legacy-layout/css/css-values/calc-size/animation/interpolate-size-min-width-interpolation.html.ini630
-rw-r--r--tests/wpt/meta-legacy-layout/css/css-values/calc-size/animation/interpolate-size-which-value.html.ini21
-rw-r--r--tests/wpt/meta-legacy-layout/css/css-values/calc-size/animation/interpolate-size-width-composition.html.ini30
-rw-r--r--tests/wpt/meta-legacy-layout/css/css-values/calc-size/animation/interpolate-size-width-interpolation.html.ini648
-rw-r--r--tests/wpt/meta-legacy-layout/css/css-values/calc-size/calc-size-parsing.tentative.html.ini36
-rw-r--r--tests/wpt/meta-legacy-layout/fetch/metadata/generated/css-font-face.sub.tentative.html.ini3
-rw-r--r--tests/wpt/meta-legacy-layout/html/browsers/browsing-the-web/navigating-across-documents/empty-iframe-load-event.html.ini6
-rw-r--r--tests/wpt/meta-legacy-layout/html/browsers/browsing-the-web/navigating-across-documents/initial-empty-document/load-pageshow-events-window-open.html.ini3
-rw-r--r--tests/wpt/meta-legacy-layout/html/browsers/browsing-the-web/navigating-across-documents/navigation-unload-same-origin.window.js.ini3
-rw-r--r--tests/wpt/meta-legacy-layout/html/browsers/history/the-history-interface/traverse_the_history_5.html.ini3
-rw-r--r--tests/wpt/meta-legacy-layout/html/canvas/element/manual/imagebitmap/createImageBitmap-invalid-args.html.ini1
-rw-r--r--tests/wpt/meta-legacy-layout/html/canvas/element/manual/imagebitmap/createImageBitmap-transfer.html.ini3
-rw-r--r--tests/wpt/meta-legacy-layout/html/canvas/element/scroll/2d.scrollPathIntoView.basic.html.ini4
-rw-r--r--tests/wpt/meta-legacy-layout/html/canvas/element/scroll/2d.scrollPathIntoView.path.html.ini4
-rw-r--r--tests/wpt/meta-legacy-layout/html/canvas/element/scroll/2d.scrollPathIntoView.verticalLR.html.ini4
-rw-r--r--tests/wpt/meta-legacy-layout/html/canvas/element/scroll/2d.scrollPathIntoView.verticalRL.html.ini4
-rw-r--r--tests/wpt/meta-legacy-layout/html/canvas/element/text/2d.text.drawing.style.measure.rtl.text.html.ini3
-rw-r--r--tests/wpt/meta-legacy-layout/html/canvas/element/text/2d.text.drawing.style.measure.textAlign.html.ini3
-rw-r--r--tests/wpt/meta-legacy-layout/html/canvas/element/text/2d.text.fontVariantCaps2.html.ini3
-rw-r--r--tests/wpt/meta-legacy-layout/html/canvas/element/text/2d.text.measure.getActualBoundingBox-exceptions.tentative.html.ini3
-rw-r--r--tests/wpt/meta-legacy-layout/html/canvas/offscreen/text/2d.text.measure.getActualBoundingBox-exceptions.tentative.html.ini3
-rw-r--r--tests/wpt/meta-legacy-layout/html/canvas/offscreen/text/2d.text.measure.getActualBoundingBox-exceptions.tentative.worker.js.ini3
-rw-r--r--tests/wpt/meta-legacy-layout/html/interaction/focus/the-autofocus-attribute/supported-elements.html.ini7
-rw-r--r--tests/wpt/meta-legacy-layout/html/semantics/embedded-content/the-iframe-element/iframe-loading-lazy-nav-form-submit.html.ini3
-rw-r--r--tests/wpt/meta-legacy-layout/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_popups_escaping-1.html.ini1
-rw-r--r--tests/wpt/meta-legacy-layout/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_popups_escaping-2.html.ini3
-rw-r--r--tests/wpt/meta-legacy-layout/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_popups_escaping-3.html.ini2
-rw-r--r--tests/wpt/meta-legacy-layout/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_popups_nonescaping-1.html.ini2
-rw-r--r--tests/wpt/meta-legacy-layout/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_popups_nonescaping-2.html.ini3
-rw-r--r--tests/wpt/meta-legacy-layout/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_popups_nonescaping-3.html.ini3
-rw-r--r--tests/wpt/meta-legacy-layout/html/semantics/forms/the-select-element/stylable-select/select-parsing.tentative.html.ini6
-rw-r--r--tests/wpt/meta-legacy-layout/quirks/line-height-in-list-item.html.ini2
-rw-r--r--tests/wpt/meta-legacy-layout/quirks/line-height-in-list-item.tentative.html.ini2
-rw-r--r--tests/wpt/meta-legacy-layout/url/failure.html.ini1
-rw-r--r--tests/wpt/meta-legacy-layout/webstorage/localstorage-basic-partitioned.sub.html.ini (renamed from tests/wpt/meta-legacy-layout/webstorage/localstorage-basic-partitioned.tentative.sub.html.ini)2
-rw-r--r--tests/wpt/meta-legacy-layout/webstorage/sessionStorage-basic-partitioned.sub.html.ini (renamed from tests/wpt/meta/webstorage/sessionStorage-basic-partitioned.tentative.sub.html.ini)2
-rw-r--r--tests/wpt/meta/MANIFEST.json2508
-rw-r--r--tests/wpt/meta/css/css-animations/jump-start-animation-before-phase.html.ini2
-rw-r--r--tests/wpt/meta/css/css-cascade/scope-style-sharing-001.html.ini36
-rw-r--r--tests/wpt/meta/css/css-cascade/scope-style-sharing-002.html.ini36
-rw-r--r--tests/wpt/meta/css/css-display/parsing/display-valid.html.ini15
-rw-r--r--tests/wpt/meta/css/css-fonts/font-size-adjust-reload.html.ini2
-rw-r--r--tests/wpt/meta/css/css-fonts/variations/at-font-face-font-matching.html.ini3
-rw-r--r--tests/wpt/meta/css/css-position/position-sticky-dynamic-ancestor-001.html.ini3
-rw-r--r--tests/wpt/meta/css/css-sizing/animation/height-composition.html.ini15
-rw-r--r--tests/wpt/meta/css/css-sizing/animation/max-height-composition.html.ini15
-rw-r--r--tests/wpt/meta/css/css-sizing/animation/max-width-composition.html.ini15
-rw-r--r--tests/wpt/meta/css/css-sizing/animation/min-height-composition.html.ini15
-rw-r--r--tests/wpt/meta/css/css-sizing/animation/min-width-composition.html.ini15
-rw-r--r--tests/wpt/meta/css/css-sizing/animation/width-composition.html.ini15
-rw-r--r--tests/wpt/meta/css/css-values/calc-size/animation/interpolate-size-height-composition.html.ini30
-rw-r--r--tests/wpt/meta/css/css-values/calc-size/animation/interpolate-size-height-interpolation.html.ini930
-rw-r--r--tests/wpt/meta/css/css-values/calc-size/animation/interpolate-size-logical-properties-interpolation.html.ini414
-rw-r--r--tests/wpt/meta/css/css-values/calc-size/animation/interpolate-size-max-height-composition.html.ini30
-rw-r--r--tests/wpt/meta/css/css-values/calc-size/animation/interpolate-size-max-height-interpolation.html.ini648
-rw-r--r--tests/wpt/meta/css/css-values/calc-size/animation/interpolate-size-max-width-composition.html.ini45
-rw-r--r--tests/wpt/meta/css/css-values/calc-size/animation/interpolate-size-max-width-interpolation.html.ini648
-rw-r--r--tests/wpt/meta/css/css-values/calc-size/animation/interpolate-size-min-height-composition.html.ini30
-rw-r--r--tests/wpt/meta/css/css-values/calc-size/animation/interpolate-size-min-height-interpolation.html.ini612
-rw-r--r--tests/wpt/meta/css/css-values/calc-size/animation/interpolate-size-min-width-composition.html.ini45
-rw-r--r--tests/wpt/meta/css/css-values/calc-size/animation/interpolate-size-min-width-interpolation.html.ini630
-rw-r--r--tests/wpt/meta/css/css-values/calc-size/animation/interpolate-size-which-value.html.ini21
-rw-r--r--tests/wpt/meta/css/css-values/calc-size/animation/interpolate-size-width-composition.html.ini45
-rw-r--r--tests/wpt/meta/css/css-values/calc-size/animation/interpolate-size-width-interpolation.html.ini783
-rw-r--r--tests/wpt/meta/css/css-values/calc-size/calc-size-parsing.tentative.html.ini36
-rw-r--r--tests/wpt/meta/fetch/metadata/generated/element-img-environment-change.sub.html.ini3
-rw-r--r--tests/wpt/meta/html/browsers/history/the-history-interface/traverse_the_history_3.html.ini3
-rw-r--r--tests/wpt/meta/html/canvas/element/manual/imagebitmap/createImageBitmap-drawImage.html.ini2
-rw-r--r--tests/wpt/meta/html/canvas/element/scroll/2d.scrollPathIntoView.basic.html.ini4
-rw-r--r--tests/wpt/meta/html/canvas/element/scroll/2d.scrollPathIntoView.path.html.ini4
-rw-r--r--tests/wpt/meta/html/canvas/element/scroll/2d.scrollPathIntoView.verticalLR.html.ini4
-rw-r--r--tests/wpt/meta/html/canvas/element/scroll/2d.scrollPathIntoView.verticalRL.html.ini4
-rw-r--r--tests/wpt/meta/html/canvas/element/text/2d.text.measure.getActualBoundingBox-exceptions.tentative.html.ini3
-rw-r--r--tests/wpt/meta/html/canvas/offscreen/text/2d.text.measure.getActualBoundingBox-exceptions.tentative.html.ini3
-rw-r--r--tests/wpt/meta/html/canvas/offscreen/text/2d.text.measure.getActualBoundingBox-exceptions.tentative.worker.js.ini3
-rw-r--r--tests/wpt/meta/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_popups_nonescaping-1.html.ini1
-rw-r--r--tests/wpt/meta/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_popups_nonescaping-2.html.ini2
-rw-r--r--tests/wpt/meta/html/semantics/forms/form-submission-0/reparent-form-during-planned-navigation-task.html.ini4
-rw-r--r--tests/wpt/meta/html/semantics/forms/the-select-element/stylable-select/select-parsing.tentative.html.ini6
-rw-r--r--tests/wpt/meta/quirks/line-height-in-list-item.html.ini2
-rw-r--r--tests/wpt/meta/quirks/line-height-in-list-item.tentative.html.ini2
-rw-r--r--tests/wpt/meta/webstorage/localstorage-about-blank-3P-iframe-opens-3P-window.partitioned.html.ini (renamed from tests/wpt/meta-legacy-layout/webstorage/localstorage-about-blank-3P-iframe-opens-3P-window.partitioned.tentative.html.ini)2
-rw-r--r--tests/wpt/meta/webstorage/localstorage-basic-partitioned.sub.html.ini (renamed from tests/wpt/meta/webstorage/localstorage-basic-partitioned.tentative.sub.html.ini)2
-rw-r--r--tests/wpt/meta/webstorage/sessionStorage-basic-partitioned.sub.html.ini (renamed from tests/wpt/meta-legacy-layout/webstorage/sessionStorage-basic-partitioned.tentative.sub.html.ini)2
-rw-r--r--tests/wpt/tests/.github/workflows/docker.yml2
-rw-r--r--tests/wpt/tests/IndexedDB/idb-partitioned-basic.sub.html (renamed from tests/wpt/tests/IndexedDB/idb-partitioned-basic.tentative.sub.html)4
-rw-r--r--tests/wpt/tests/IndexedDB/idb-partitioned-coverage.sub.html (renamed from tests/wpt/tests/IndexedDB/idb-partitioned-coverage.tentative.sub.html)2
-rw-r--r--tests/wpt/tests/IndexedDB/idb-partitioned-persistence.sub.html (renamed from tests/wpt/tests/IndexedDB/idb-partitioned-persistence.tentative.sub.html)4
-rw-r--r--tests/wpt/tests/IndexedDB/resources/idb-partitioned-basic-iframe.html (renamed from tests/wpt/tests/IndexedDB/resources/idb-partitioned-basic-iframe.tentative.html)0
-rw-r--r--tests/wpt/tests/IndexedDB/resources/idb-partitioned-coverage-iframe.html (renamed from tests/wpt/tests/IndexedDB/resources/idb-partitioned-coverage-iframe.tentative.html)0
-rw-r--r--tests/wpt/tests/IndexedDB/resources/idb-partitioned-persistence-iframe.html (renamed from tests/wpt/tests/IndexedDB/resources/idb-partitioned-persistence-iframe.tentative.html)0
-rw-r--r--tests/wpt/tests/IndexedDB/transaction-relaxed-durability.any.js (renamed from tests/wpt/tests/IndexedDB/transaction-relaxed-durability.tentative.any.js)0
-rw-r--r--tests/wpt/tests/attribution-reporting/aggregatable-debug/simple-source-aggregatable-debug-report.sub.https.html2
-rw-r--r--tests/wpt/tests/attribution-reporting/aggregatable-debug/simple-trigger-aggregatable-debug-report.sub.https.html2
-rw-r--r--tests/wpt/tests/content-security-policy/generic/eval-typecheck-callout-order.html (renamed from tests/wpt/tests/content-security-policy/generic/eval-typecheck-callout-order.tentative.html)0
-rw-r--r--tests/wpt/tests/content-security-policy/generic/eval-typecheck-callout-order.html.headers (renamed from tests/wpt/tests/content-security-policy/generic/eval-typecheck-callout-order.tentative.html.headers)0
-rw-r--r--tests/wpt/tests/content-security-policy/nonce-hiding/dangling-html-or-body.html (renamed from tests/wpt/tests/content-security-policy/nonce-hiding/dangling-html-or-body.tentative.html)0
-rw-r--r--tests/wpt/tests/content-security-policy/nonce-hiding/dangling-html-or-body.html.headers (renamed from tests/wpt/tests/content-security-policy/nonce-hiding/dangling-html-or-body.tentative.html.headers)0
-rw-r--r--tests/wpt/tests/contenteditable/synthetic-height.html (renamed from tests/wpt/tests/contenteditable/synthetic-height.tentative.html)0
-rw-r--r--tests/wpt/tests/cookie-store/idlharness.https.any.js (renamed from tests/wpt/tests/cookie-store/idlharness.tentative.https.any.js)0
-rw-r--r--tests/wpt/tests/cookies/resources/cookie-test.js4
-rw-r--r--tests/wpt/tests/css/css-align/blocks/align-content-block-dynamic-content-ref.html5
-rw-r--r--tests/wpt/tests/css/css-align/blocks/align-content-block-dynamic-content.html11
-rw-r--r--tests/wpt/tests/css/css-animations/jump-start-animation-before-phase-ref.html20
-rw-r--r--tests/wpt/tests/css/css-animations/jump-start-animation-before-phase.html36
-rw-r--r--tests/wpt/tests/css/css-break/box-decoration-break-clone-010.html9
-rw-r--r--tests/wpt/tests/css/css-break/box-decoration-break-clone-011.html11
-rw-r--r--tests/wpt/tests/css/css-break/box-decoration-break-clone-012.html21
-rw-r--r--tests/wpt/tests/css/css-break/box-decoration-break-clone-013.html11
-rw-r--r--tests/wpt/tests/css/css-break/box-decoration-break-clone-014.html11
-rw-r--r--tests/wpt/tests/css/css-break/box-decoration-break-clone-015.html11
-rw-r--r--tests/wpt/tests/css/css-break/box-decoration-break-clone-016.html11
-rw-r--r--tests/wpt/tests/css/css-break/box-decoration-break-clone-017.html11
-rw-r--r--tests/wpt/tests/css/css-break/box-decoration-break-clone-018.html11
-rw-r--r--tests/wpt/tests/css/css-break/box-decoration-break-clone-019.html11
-rw-r--r--tests/wpt/tests/css/css-break/box-decoration-break-clone-020.html12
-rw-r--r--tests/wpt/tests/css/css-break/box-decoration-break-clone-021.html12
-rw-r--r--tests/wpt/tests/css/css-break/box-decoration-break-clone-022.html16
-rw-r--r--tests/wpt/tests/css/css-break/box-decoration-break-clone-023.html20
-rw-r--r--tests/wpt/tests/css/css-break/grid/grid-container-fragmentation-012.html14
-rw-r--r--tests/wpt/tests/css/css-cascade/scope-style-sharing-001.html266
-rw-r--r--tests/wpt/tests/css/css-cascade/scope-style-sharing-002.html316
-rw-r--r--tests/wpt/tests/css/css-contain/content-visibility/content-visibility-anchor-positioning-001.html111
-rw-r--r--tests/wpt/tests/css/css-contain/content-visibility/content-visibility-anchor-positioning-002.html110
-rw-r--r--tests/wpt/tests/css/css-contain/content-visibility/content-visibility-anchor-positioning-003.html78
-rw-r--r--tests/wpt/tests/css/css-contain/content-visibility/content-visibility-anchor-positioning-004.html94
-rw-r--r--tests/wpt/tests/css/css-contain/content-visibility/content-visibility-anchor-positioning-005.html90
-rw-r--r--tests/wpt/tests/css/css-contain/content-visibility/content-visibility-anchor-positioning-006.html90
-rw-r--r--tests/wpt/tests/css/css-contain/content-visibility/content-visibility-anchor-positioning-007.html85
-rw-r--r--tests/wpt/tests/css/css-display/parsing/display-valid.html18
-rw-r--r--tests/wpt/tests/css/css-fonts/font-size-adjust-reload.html27
-rw-r--r--tests/wpt/tests/css/css-highlight-api/painting/custom-highlight-painting-vertical-writing-mode-001.html2
-rw-r--r--tests/wpt/tests/css/css-overflow/document-element-overflow-hidden-scroll-ref.html2
-rw-r--r--tests/wpt/tests/css/css-overflow/document-element-overflow-hidden-scroll.html22
-rw-r--r--tests/wpt/tests/css/css-page/margin-boxes/content-004-print-ref.html34
-rw-r--r--tests/wpt/tests/css/css-page/margin-boxes/content-004-print.html32
-rw-r--r--tests/wpt/tests/css/css-page/margin-boxes/content-005-print-ref.html34
-rw-r--r--tests/wpt/tests/css/css-page/margin-boxes/content-005-print.html36
-rw-r--r--tests/wpt/tests/css/css-page/margin-boxes/content-006-print.html39
-rw-r--r--tests/wpt/tests/css/css-page/monolithic-overflow-031-print-ref.html24
-rw-r--r--tests/wpt/tests/css/css-page/monolithic-overflow-031-print.html23
-rw-r--r--tests/wpt/tests/css/css-page/monolithic-overflow-032-print-ref.html35
-rw-r--r--tests/wpt/tests/css/css-page/monolithic-overflow-032-print.tentative.html25
-rw-r--r--tests/wpt/tests/css/css-page/parsing/page-rules-001.html19
-rw-r--r--tests/wpt/tests/css/css-position/position-sticky-dynamic-ancestor-001.html63
-rw-r--r--tests/wpt/tests/css/css-scroll-anchoring/adjustment-followed-by-scrollBy.html4
-rw-r--r--tests/wpt/tests/css/css-sizing/animation/height-composition.html21
-rw-r--r--tests/wpt/tests/css/css-sizing/animation/max-height-composition.html13
-rw-r--r--tests/wpt/tests/css/css-sizing/animation/max-width-composition.html13
-rw-r--r--tests/wpt/tests/css/css-sizing/animation/min-height-composition.html13
-rw-r--r--tests/wpt/tests/css/css-sizing/animation/min-width-composition.html13
-rw-r--r--tests/wpt/tests/css/css-sizing/animation/width-composition.html23
-rw-r--r--tests/wpt/tests/css/css-values/calc-size/animation/calc-size-height-interpolation.tentative.html1
-rw-r--r--tests/wpt/tests/css/css-values/calc-size/animation/interpolate-size-height-composition.html57
-rw-r--r--tests/wpt/tests/css/css-values/calc-size/animation/interpolate-size-height-interpolation.html158
-rw-r--r--tests/wpt/tests/css/css-values/calc-size/animation/interpolate-size-logical-properties-interpolation.html121
-rw-r--r--tests/wpt/tests/css/css-values/calc-size/animation/interpolate-size-max-height-composition.html63
-rw-r--r--tests/wpt/tests/css/css-values/calc-size/animation/interpolate-size-max-height-interpolation.html111
-rw-r--r--tests/wpt/tests/css/css-values/calc-size/animation/interpolate-size-max-width-composition.html76
-rw-r--r--tests/wpt/tests/css/css-values/calc-size/animation/interpolate-size-max-width-interpolation.html104
-rw-r--r--tests/wpt/tests/css/css-values/calc-size/animation/interpolate-size-min-height-composition.html63
-rw-r--r--tests/wpt/tests/css/css-values/calc-size/animation/interpolate-size-min-height-interpolation.html125
-rw-r--r--tests/wpt/tests/css/css-values/calc-size/animation/interpolate-size-min-width-composition.html76
-rw-r--r--tests/wpt/tests/css/css-values/calc-size/animation/interpolate-size-min-width-interpolation.html125
-rw-r--r--tests/wpt/tests/css/css-values/calc-size/animation/interpolate-size-which-value.html83
-rw-r--r--tests/wpt/tests/css/css-values/calc-size/animation/interpolate-size-width-composition.html70
-rw-r--r--tests/wpt/tests/css/css-values/calc-size/animation/interpolate-size-width-interpolation.html138
-rw-r--r--tests/wpt/tests/css/css-values/calc-size/calc-size-parsing.tentative.html13
-rw-r--r--tests/wpt/tests/css/css-writing-modes/forms/select-multiple-options-visual-order.html1
-rw-r--r--tests/wpt/tests/document-picture-in-picture/prefer-initial-window-placement-manual.https.html25
-rw-r--r--tests/wpt/tests/editing/other/merge-span-with-style-after-backspace-having-contenteditable.html41
-rw-r--r--tests/wpt/tests/editing/other/merge-span-with-style-after-forwarddelete-having-contenteditable.html41
-rw-r--r--tests/wpt/tests/editing/other/merge-span-with-style-after-pressing-enter-followed-by-backspace-in-contenteditable-div.html41
-rw-r--r--tests/wpt/tests/fedcm/fedcm-authz/fedcm-userinfo-after-resolve.https.html6
-rw-r--r--tests/wpt/tests/fedcm/fedcm-button-and-other-account/fedcm-button-mode-auto-selected-flag.tentative.https.html34
-rw-r--r--tests/wpt/tests/fedcm/fedcm-button-and-other-account/fedcm-button-mode-basics.tentative.https.html11
-rw-r--r--tests/wpt/tests/fedcm/fedcm-identity-assertion-nocors.https.html4
-rw-r--r--tests/wpt/tests/fedcm/fedcm-pending-userinfo.https.html6
-rw-r--r--tests/wpt/tests/fedcm/fedcm-userinfo.https.html6
-rw-r--r--tests/wpt/tests/fenced-frame/ancestor-throttle.https.html2
-rw-r--r--tests/wpt/tests/html/browsers/the-window-object/window-indexed-properties-delete-no-cache.html1
-rw-r--r--tests/wpt/tests/html/canvas/element/scroll/2d.scrollPathIntoView.basic.html37
-rw-r--r--tests/wpt/tests/html/canvas/element/scroll/2d.scrollPathIntoView.path.html37
-rw-r--r--tests/wpt/tests/html/canvas/element/scroll/2d.scrollPathIntoView.verticalLR.html38
-rw-r--r--tests/wpt/tests/html/canvas/element/scroll/2d.scrollPathIntoView.verticalRL.html40
-rw-r--r--tests/wpt/tests/html/canvas/element/text/2d.text.measure.getActualBoundingBox-exceptions.tentative.html1
-rw-r--r--tests/wpt/tests/html/canvas/offscreen/text/2d.text.measure.getActualBoundingBox-exceptions.tentative.html1
-rw-r--r--tests/wpt/tests/html/canvas/offscreen/text/2d.text.measure.getActualBoundingBox-exceptions.tentative.worker.js1
-rw-r--r--tests/wpt/tests/html/canvas/tools/yaml-new/text.yaml1
-rw-r--r--tests/wpt/tests/html/rendering/widgets/button-layout/button-dynamic-content-ref.html5
-rw-r--r--tests/wpt/tests/html/rendering/widgets/button-layout/button-dynamic-content.html11
-rw-r--r--tests/wpt/tests/html/semantics/forms/the-optgroup-element/optgroup-removal.window.js2
-rw-r--r--tests/wpt/tests/html/semantics/forms/the-select-element/stylable-select/select-datalist-options-idl.tentative.html75
-rw-r--r--tests/wpt/tests/html/semantics/forms/the-select-element/stylable-select/select-parsing.tentative.html28
-rw-r--r--tests/wpt/tests/intersection-observer/explicit-root-different-document.html (renamed from tests/wpt/tests/intersection-observer/explicit-root-different-document.tentative.html)0
-rw-r--r--tests/wpt/tests/intersection-observer/not-in-containing-block-chain.html (renamed from tests/wpt/tests/intersection-observer/not-in-containing-block-chain.tentative.html)0
-rw-r--r--tests/wpt/tests/loading/preloader-css-import-no-quote.html (renamed from tests/wpt/tests/loading/preloader-css-import-no-quote.tentative.html)0
-rw-r--r--tests/wpt/tests/loading/preloader-css-import-no-semicolon.html (renamed from tests/wpt/tests/loading/preloader-css-import-no-semicolon.tentative.html)0
-rw-r--r--tests/wpt/tests/loading/preloader-css-import-no-space.html (renamed from tests/wpt/tests/loading/preloader-css-import-no-space.tentative.html)0
-rw-r--r--tests/wpt/tests/loading/preloader-css-import-single-quote.html (renamed from tests/wpt/tests/loading/preloader-css-import-single-quote.tentative.html)0
-rw-r--r--tests/wpt/tests/loading/preloader-css-import.html (renamed from tests/wpt/tests/loading/preloader-css-import.tentative.html)0
-rw-r--r--tests/wpt/tests/loading/preloader-link-media.html (renamed from tests/wpt/tests/loading/preloader-link-media.tentative.html)0
-rw-r--r--tests/wpt/tests/loading/preloader-template.html (renamed from tests/wpt/tests/loading/preloader-template.tentative.html)0
-rw-r--r--tests/wpt/tests/mathml/presentation-markup/mrow/mrow-fallback-001.html47
-rw-r--r--tests/wpt/tests/mathml/presentation-markup/mrow/mrow-fallback-002.html60
-rw-r--r--tests/wpt/tests/mathml/presentation-markup/mrow/mrow-fallback.html129
-rw-r--r--tests/wpt/tests/mathml/support/invalid-markup.js96
-rw-r--r--tests/wpt/tests/mimesniff/sniffing/html.window.js12
-rw-r--r--tests/wpt/tests/mimesniff/sniffing/support/atom.html3
-rw-r--r--tests/wpt/tests/mimesniff/sniffing/support/rss.html3
-rw-r--r--tests/wpt/tests/navigation-api/navigate-event/intercept-history-pushState.html5
-rw-r--r--tests/wpt/tests/pointerevents/persistentDeviceId/get-persistendeviceid-from-pointer-event.tentative.html2
-rw-r--r--tests/wpt/tests/pointerevents/persistentDeviceId/pointer-event-has-persistentdeviceid-from-pointer-event-init.tentative.html4
-rw-r--r--tests/wpt/tests/quirks/line-height-in-list-item.html (renamed from tests/wpt/tests/quirks/line-height-in-list-item.tentative.html)0
-rw-r--r--tests/wpt/tests/resources/chromium/mock-pressure-service.js25
-rw-r--r--tests/wpt/tests/scroll-animations/css/animation-shorthand.html2
-rw-r--r--tests/wpt/tests/scroll-to-text-fragment/non-html-documents-json.html52
-rw-r--r--tests/wpt/tests/scroll-to-text-fragment/non-html-documents.html5
-rw-r--r--tests/wpt/tests/scroll-to-text-fragment/scroll-to-text-fragment-scroll-to-center-target.html26
-rw-r--r--tests/wpt/tests/scroll-to-text-fragment/scroll-to-text-fragment-scroll-to-center.html25
-rw-r--r--tests/wpt/tests/scroll-to-text-fragment/scroll-to-text-fragment-target.html1
-rw-r--r--tests/wpt/tests/scroll-to-text-fragment/scroll-to-text-fragment.html5
-rw-r--r--tests/wpt/tests/scroll-to-text-fragment/sequential-focus.html45
-rw-r--r--tests/wpt/tests/selection/crashtests/selection-modify-line-from-contenteditable-to-textarea.html35
-rw-r--r--tests/wpt/tests/shadow-dom/focus-navigation/reading-flow/tentative/grid-order-pseudo-elements.html40
-rw-r--r--tests/wpt/tests/storage-access-api/hasStorageAccess-ABA.sub.https.window.js (renamed from tests/wpt/tests/storage-access-api/hasStorageAccess-ABA.tentative.sub.https.window.js)0
-rw-r--r--tests/wpt/tests/storage-access-api/helpers.js11
-rw-r--r--tests/wpt/tests/storage-access-api/requestStorageAccess-ABA.sub.https.window.js (renamed from tests/wpt/tests/storage-access-api/requestStorageAccess-ABA.tentative.sub.https.window.js)0
-rw-r--r--tests/wpt/tests/storage-access-api/requestStorageAccess-cross-origin-iframe-navigation-relax.sub.https.window.js (renamed from tests/wpt/tests/storage-access-api/requestStorageAccess-cross-origin-iframe-navigation-relax.tentative.sub.https.window.js)0
-rw-r--r--tests/wpt/tests/storage-access-api/requestStorageAccess-dedicated-worker.sub.https.window.js (renamed from tests/wpt/tests/storage-access-api/requestStorageAccess-dedicated-worker.tentative.sub.https.window.js)0
-rw-r--r--tests/wpt/tests/storage-access-api/requestStorageAccess-sandboxed-iframe-allow-storage-access.sub.https.window.js29
-rw-r--r--tests/wpt/tests/storage-access-api/requestStorageAccess-sandboxed-iframe.sub.https.window.js82
-rw-r--r--tests/wpt/tests/storage-access-api/requestStorageAccess-web-socket.sub.https.window.js (renamed from tests/wpt/tests/storage-access-api/requestStorageAccess-web-socket.tentative.sub.https.window.js)0
-rw-r--r--tests/wpt/tests/storage-access-api/resources/embedded_responder.js6
-rw-r--r--tests/wpt/tests/storage-access-api/resources/script-with-cookie-header.py14
-rw-r--r--tests/wpt/tests/storage-access-api/sandboxAttribute.window.js7
-rw-r--r--tests/wpt/tests/storage-access-api/storage-access-permission.sub.https.window.js47
-rw-r--r--tests/wpt/tests/svg/embedded/image-modify-href-1.svg30
-rw-r--r--tests/wpt/tests/svg/embedded/image-modify-href-2.svg38
-rw-r--r--tests/wpt/tests/svg/embedded/image-modify-href-3.svg33
-rw-r--r--tests/wpt/tests/svg/embedded/image-remove-href-1.svg20
-rw-r--r--tests/wpt/tests/svg/embedded/image-remove-href-2.svg31
-rw-r--r--tests/wpt/tests/svg/embedded/image-remove-href-3.svg22
-rw-r--r--tests/wpt/tests/svg/path/property/d-none-expected.svg4
-rw-r--r--tests/wpt/tests/svg/path/property/d-none-ref.svg4
-rw-r--r--tests/wpt/tests/svg/path/property/d-none.svg11
-rw-r--r--tests/wpt/tests/svg/text/reftests/text-bidi-controls-anchors-1-ref.svg36
-rw-r--r--tests/wpt/tests/svg/text/reftests/text-bidi-controls-anchors-1.svg47
-rw-r--r--tests/wpt/tests/svg/text/reftests/text-bidi-controls-anchors-2-ref.svg36
-rw-r--r--tests/wpt/tests/svg/text/reftests/text-bidi-controls-anchors-2.svg47
-rw-r--r--tests/wpt/tests/svg/text/reftests/textpath-letter-spacing-01-ref.svg6
-rw-r--r--tests/wpt/tests/svg/text/reftests/textpath-letter-spacing-01.svg13
-rw-r--r--tests/wpt/tests/svg/types/scripted/SVGLength-px.html10
-rw-r--r--tests/wpt/tests/tools/serve/serve.py19
-rw-r--r--tests/wpt/tests/tools/serve/test_serve.py47
-rw-r--r--tests/wpt/tests/tools/wptrunner/wptrunner/browsers/chrome.py2
-rw-r--r--tests/wpt/tests/tools/wptrunner/wptrunner/browsers/firefox.py2
-rw-r--r--tests/wpt/tests/tools/wptrunner/wptrunner/testloader.py10
-rw-r--r--tests/wpt/tests/tools/wptrunner/wptrunner/wptrunner.py12
-rw-r--r--tests/wpt/tests/top-level-storage-access-api/README.md4
-rw-r--r--tests/wpt/tests/top-level-storage-access-api/requestStorageAccessFor-insecure.sub.window.js (renamed from tests/wpt/tests/top-level-storage-access-api/tentative/requestStorageAccessFor-insecure.sub.window.js)0
-rw-r--r--tests/wpt/tests/top-level-storage-access-api/requestStorageAccessFor.sub.https.window.js (renamed from tests/wpt/tests/top-level-storage-access-api/tentative/requestStorageAccessFor.sub.https.window.js)0
-rw-r--r--tests/wpt/tests/top-level-storage-access-api/resources/permissions-iframe.https.html (renamed from tests/wpt/tests/top-level-storage-access-api/tentative/resources/permissions-iframe.https.html)0
-rw-r--r--tests/wpt/tests/top-level-storage-access-api/resources/requestStorageAccessFor-iframe.html (renamed from tests/wpt/tests/top-level-storage-access-api/tentative/resources/requestStorageAccessFor-iframe.html)0
-rw-r--r--tests/wpt/tests/top-level-storage-access-api/resources/requestStorageAccessFor-iframe.https.html (renamed from tests/wpt/tests/top-level-storage-access-api/tentative/resources/requestStorageAccessFor-iframe.https.html)0
-rw-r--r--tests/wpt/tests/top-level-storage-access-api/top-level-storage-access-permission.sub.https.window.js (renamed from tests/wpt/tests/top-level-storage-access-api/tentative/top-level-storage-access-permission.sub.https.window.js)0
-rw-r--r--tests/wpt/tests/trusted-types/TrustedTypePolicyFactory-createPolicy-createXYZTests.html9
-rw-r--r--tests/wpt/tests/trusted-types/TrustedTypePolicyFactory-createPolicy-cspTests.html2
-rw-r--r--tests/wpt/tests/trusted-types/TrustedTypePolicyFactory-createPolicy-nameTests.html17
-rw-r--r--tests/wpt/tests/trusted-types/block-string-assignment-to-Document-write.html4
-rw-r--r--tests/wpt/tests/trusted-types/block-text-node-insertion-into-script-element.html77
-rw-r--r--tests/wpt/tests/trusted-types/block-text-node-insertion-into-svg-script-element.html192
-rw-r--r--tests/wpt/tests/trusted-types/resources/block-text-node-insertion.js60
-rw-r--r--tests/wpt/tests/trusted-types/trusted-types-eval-reporting-no-unsafe-eval.html1
-rw-r--r--tests/wpt/tests/trusted-types/trusted-types-eval-reporting-report-only.html1
-rw-r--r--tests/wpt/tests/trusted-types/trusted-types-eval-reporting.html1
-rw-r--r--tests/wpt/tests/trusted-types/trusted-types-svg-script-set-href.html14
-rw-r--r--tests/wpt/tests/url/README.md10
-rw-r--r--tests/wpt/tests/url/a-element-origin-xhtml.xhtml6
-rw-r--r--tests/wpt/tests/url/a-element-origin.html6
-rw-r--r--tests/wpt/tests/url/a-element-xhtml.xhtml6
-rw-r--r--tests/wpt/tests/url/a-element.html6
-rw-r--r--tests/wpt/tests/url/failure.html5
-rw-r--r--tests/wpt/tests/url/resources/a-element-origin.js5
-rw-r--r--tests/wpt/tests/url/resources/a-element.js5
-rw-r--r--tests/wpt/tests/url/resources/urltestdata-javascript-only.json18
-rw-r--r--tests/wpt/tests/url/resources/urltestdata.json15
-rw-r--r--tests/wpt/tests/url/url-constructor.any.js5
-rw-r--r--tests/wpt/tests/url/url-origin.any.js5
-rw-r--r--tests/wpt/tests/webcodecs/audio-data.any.js15
-rw-r--r--tests/wpt/tests/webcodecs/videoFrame-copyTo-rgb.any.js1
-rw-r--r--tests/wpt/tests/webdriver/tests/bidi/network/combined/network_events.py79
-rw-r--r--tests/wpt/tests/webdriver/tests/bidi/script/add_preload_script/invalid.py62
-rw-r--r--tests/wpt/tests/webdriver/tests/bidi/script/call_function/invalid.py167
-rw-r--r--tests/wpt/tests/webdriver/tests/classic/element_send_keys/scroll_into_view.py87
-rw-r--r--tests/wpt/tests/webnn/conformance_tests/elementwise_logical.https.any.js26
-rw-r--r--tests/wpt/tests/webnn/conformance_tests/equal.https.any.js13
-rw-r--r--tests/wpt/tests/webnn/conformance_tests/greater.https.any.js13
-rw-r--r--tests/wpt/tests/webnn/conformance_tests/greater_or_equal.https.any.js13
-rw-r--r--tests/wpt/tests/webnn/conformance_tests/lesser.https.any.js13
-rw-r--r--tests/wpt/tests/webnn/conformance_tests/lesser_or_equal.https.any.js13
-rw-r--r--tests/wpt/tests/webnn/conformance_tests/logical_not.https.any.js13
-rw-r--r--tests/wpt/tests/webnn/resources/test_data/add.json23
-rw-r--r--tests/wpt/tests/webnn/resources/test_data/arg_max.json243
-rw-r--r--tests/wpt/tests/webnn/resources/test_data/arg_min.json243
-rw-r--r--tests/wpt/tests/webnn/resources/utils.js225
-rw-r--r--tests/wpt/tests/webnn/validation_tests/argMinMax.https.any.js49
-rw-r--r--tests/wpt/tests/webstorage/localstorage-about-blank-3P-iframe-opens-3P-window.partitioned.html (renamed from tests/wpt/tests/webstorage/localstorage-about-blank-3P-iframe-opens-3P-window.partitioned.tentative.html)0
-rw-r--r--tests/wpt/tests/webstorage/localstorage-basic-partitioned.sub.html (renamed from tests/wpt/tests/webstorage/localstorage-basic-partitioned.tentative.sub.html)2
-rw-r--r--tests/wpt/tests/webstorage/localstorage-cross-origin-iframe.https.window.js (renamed from tests/wpt/tests/webstorage/localstorage-cross-origin-iframe.tentative.https.window.js)0
-rw-r--r--tests/wpt/tests/webstorage/sessionStorage-basic-partitioned.sub.html (renamed from tests/wpt/tests/webstorage/sessionStorage-basic-partitioned.tentative.sub.html)2
-rw-r--r--tests/wpt/tests/webxr/resources/webxr_util.js23
603 files changed, 18365 insertions, 7227 deletions
diff --git a/tests/wpt/meta-legacy-layout/css/css-align/animation/align-no-interpolation.html.ini b/tests/wpt/meta-legacy-layout/css/css-align/animation/align-no-interpolation.html.ini
index 7e9cf0e7661..690aab5fb9c 100644
--- a/tests/wpt/meta-legacy-layout/css/css-align/animation/align-no-interpolation.html.ini
+++ b/tests/wpt/meta-legacy-layout/css/css-align/animation/align-no-interpolation.html.ini
@@ -8,60 +8,6 @@
[CSS Transitions: property <align-content> from [initial\] to [baseline\] at (0.3) should be [initial\]]
expected: FAIL
- [CSS Transitions: property <align-content> from [initial\] to [baseline\] at (0.5) should be [baseline\]]
- expected: FAIL
-
- [CSS Transitions: property <align-content> from [initial\] to [baseline\] at (0.6) should be [baseline\]]
- expected: FAIL
-
- [CSS Transitions: property <align-content> from [initial\] to [baseline\] at (1) should be [baseline\]]
- expected: FAIL
-
- [CSS Transitions: property <align-content> from [initial\] to [baseline\] at (1.5) should be [baseline\]]
- expected: FAIL
-
- [CSS Transitions with transition: all: property <align-content> from [initial\] to [baseline\] at (-0.3) should be [baseline\]]
- expected: FAIL
-
- [CSS Transitions with transition: all: property <align-content> from [initial\] to [baseline\] at (0) should be [baseline\]]
- expected: FAIL
-
- [CSS Transitions with transition: all: property <align-content> from [initial\] to [baseline\] at (0.3) should be [baseline\]]
- expected: FAIL
-
- [CSS Transitions with transition: all: property <align-content> from [initial\] to [baseline\] at (0.5) should be [baseline\]]
- expected: FAIL
-
- [CSS Transitions with transition: all: property <align-content> from [initial\] to [baseline\] at (0.6) should be [baseline\]]
- expected: FAIL
-
- [CSS Transitions with transition: all: property <align-content> from [initial\] to [baseline\] at (1) should be [baseline\]]
- expected: FAIL
-
- [CSS Transitions with transition: all: property <align-content> from [initial\] to [baseline\] at (1.5) should be [baseline\]]
- expected: FAIL
-
- [CSS Animations: property <align-content> from [initial\] to [baseline\] at (-0.3) should be [initial\]]
- expected: FAIL
-
- [CSS Animations: property <align-content> from [initial\] to [baseline\] at (0) should be [initial\]]
- expected: FAIL
-
- [CSS Animations: property <align-content> from [initial\] to [baseline\] at (0.3) should be [initial\]]
- expected: FAIL
-
- [CSS Animations: property <align-content> from [initial\] to [baseline\] at (0.5) should be [baseline\]]
- expected: FAIL
-
- [CSS Animations: property <align-content> from [initial\] to [baseline\] at (0.6) should be [baseline\]]
- expected: FAIL
-
- [CSS Animations: property <align-content> from [initial\] to [baseline\] at (1) should be [baseline\]]
- expected: FAIL
-
- [CSS Animations: property <align-content> from [initial\] to [baseline\] at (1.5) should be [baseline\]]
- expected: FAIL
-
[Web Animations: property <align-content> from [initial\] to [baseline\] at (-0.3) should be [initial\]]
expected: FAIL
@@ -125,15 +71,6 @@
[Web Animations: property <align-self> from [initial\] to [baseline\] at (1.5) should be [baseline\]]
expected: FAIL
- [CSS Transitions: property <align-content> from [initial\] to [baseline\] at (-0.3) should be [baseline\]]
- expected: FAIL
-
- [CSS Transitions: property <align-content> from [initial\] to [baseline\] at (0) should be [baseline\]]
- expected: FAIL
-
- [CSS Transitions: property <align-content> from [initial\] to [baseline\] at (0.3) should be [baseline\]]
- expected: FAIL
-
[CSS Transitions with transition-behavior:allow-discrete: property <align-content> from [initial\] to [baseline\] at (-0.3) should be [initial\]]
expected: FAIL
@@ -143,18 +80,6 @@
[CSS Transitions with transition-behavior:allow-discrete: property <align-content> from [initial\] to [baseline\] at (0.3) should be [initial\]]
expected: FAIL
- [CSS Transitions with transition-behavior:allow-discrete: property <align-content> from [initial\] to [baseline\] at (0.5) should be [baseline\]]
- expected: FAIL
-
- [CSS Transitions with transition-behavior:allow-discrete: property <align-content> from [initial\] to [baseline\] at (0.6) should be [baseline\]]
- expected: FAIL
-
- [CSS Transitions with transition-behavior:allow-discrete: property <align-content> from [initial\] to [baseline\] at (1) should be [baseline\]]
- expected: FAIL
-
- [CSS Transitions with transition-behavior:allow-discrete: property <align-content> from [initial\] to [baseline\] at (1.5) should be [baseline\]]
- expected: FAIL
-
[CSS Transitions with transition-property:all and transition-behavor:allow-discrete: property <align-content> from [initial\] to [baseline\] at (-0.3) should be [initial\]]
expected: FAIL
@@ -164,18 +89,6 @@
[CSS Transitions with transition-property:all and transition-behavor:allow-discrete: property <align-content> from [initial\] to [baseline\] at (0.3) should be [initial\]]
expected: FAIL
- [CSS Transitions with transition-property:all and transition-behavor:allow-discrete: property <align-content> from [initial\] to [baseline\] at (0.5) should be [baseline\]]
- expected: FAIL
-
- [CSS Transitions with transition-property:all and transition-behavor:allow-discrete: property <align-content> from [initial\] to [baseline\] at (0.6) should be [baseline\]]
- expected: FAIL
-
- [CSS Transitions with transition-property:all and transition-behavor:allow-discrete: property <align-content> from [initial\] to [baseline\] at (1) should be [baseline\]]
- expected: FAIL
-
- [CSS Transitions with transition-property:all and transition-behavor:allow-discrete: property <align-content> from [initial\] to [baseline\] at (1.5) should be [baseline\]]
- expected: FAIL
-
[CSS Transitions with transition-behavior:allow-discrete: property <align-items> from [initial\] to [baseline\] at (-0.3) should be [initial\]]
expected: FAIL
diff --git a/tests/wpt/meta-legacy-layout/css/css-align/animation/justify-no-interpolation.html.ini b/tests/wpt/meta-legacy-layout/css/css-align/animation/justify-no-interpolation.html.ini
index 3167cf2059c..b22da2cd6a3 100644
--- a/tests/wpt/meta-legacy-layout/css/css-align/animation/justify-no-interpolation.html.ini
+++ b/tests/wpt/meta-legacy-layout/css/css-align/animation/justify-no-interpolation.html.ini
@@ -8,60 +8,6 @@
[CSS Transitions: property <justify-items> from [initial\] to [baseline\] at (0.3) should be [initial\]]
expected: FAIL
- [CSS Transitions: property <justify-items> from [initial\] to [baseline\] at (0.5) should be [baseline\]]
- expected: FAIL
-
- [CSS Transitions: property <justify-items> from [initial\] to [baseline\] at (0.6) should be [baseline\]]
- expected: FAIL
-
- [CSS Transitions: property <justify-items> from [initial\] to [baseline\] at (1) should be [baseline\]]
- expected: FAIL
-
- [CSS Transitions: property <justify-items> from [initial\] to [baseline\] at (1.5) should be [baseline\]]
- expected: FAIL
-
- [CSS Transitions with transition: all: property <justify-items> from [initial\] to [baseline\] at (-0.3) should be [baseline\]]
- expected: FAIL
-
- [CSS Transitions with transition: all: property <justify-items> from [initial\] to [baseline\] at (0) should be [baseline\]]
- expected: FAIL
-
- [CSS Transitions with transition: all: property <justify-items> from [initial\] to [baseline\] at (0.3) should be [baseline\]]
- expected: FAIL
-
- [CSS Transitions with transition: all: property <justify-items> from [initial\] to [baseline\] at (0.5) should be [baseline\]]
- expected: FAIL
-
- [CSS Transitions with transition: all: property <justify-items> from [initial\] to [baseline\] at (0.6) should be [baseline\]]
- expected: FAIL
-
- [CSS Transitions with transition: all: property <justify-items> from [initial\] to [baseline\] at (1) should be [baseline\]]
- expected: FAIL
-
- [CSS Transitions with transition: all: property <justify-items> from [initial\] to [baseline\] at (1.5) should be [baseline\]]
- expected: FAIL
-
- [CSS Animations: property <justify-items> from [initial\] to [baseline\] at (-0.3) should be [initial\]]
- expected: FAIL
-
- [CSS Animations: property <justify-items> from [initial\] to [baseline\] at (0) should be [initial\]]
- expected: FAIL
-
- [CSS Animations: property <justify-items> from [initial\] to [baseline\] at (0.3) should be [initial\]]
- expected: FAIL
-
- [CSS Animations: property <justify-items> from [initial\] to [baseline\] at (0.5) should be [baseline\]]
- expected: FAIL
-
- [CSS Animations: property <justify-items> from [initial\] to [baseline\] at (0.6) should be [baseline\]]
- expected: FAIL
-
- [CSS Animations: property <justify-items> from [initial\] to [baseline\] at (1) should be [baseline\]]
- expected: FAIL
-
- [CSS Animations: property <justify-items> from [initial\] to [baseline\] at (1.5) should be [baseline\]]
- expected: FAIL
-
[Web Animations: property <justify-items> from [initial\] to [baseline\] at (-0.3) should be [initial\]]
expected: FAIL
@@ -92,60 +38,6 @@
[CSS Transitions: property <justify-self> from [initial\] to [baseline\] at (0.3) should be [initial\]]
expected: FAIL
- [CSS Transitions: property <justify-self> from [initial\] to [baseline\] at (0.5) should be [baseline\]]
- expected: FAIL
-
- [CSS Transitions: property <justify-self> from [initial\] to [baseline\] at (0.6) should be [baseline\]]
- expected: FAIL
-
- [CSS Transitions: property <justify-self> from [initial\] to [baseline\] at (1) should be [baseline\]]
- expected: FAIL
-
- [CSS Transitions: property <justify-self> from [initial\] to [baseline\] at (1.5) should be [baseline\]]
- expected: FAIL
-
- [CSS Transitions with transition: all: property <justify-self> from [initial\] to [baseline\] at (-0.3) should be [baseline\]]
- expected: FAIL
-
- [CSS Transitions with transition: all: property <justify-self> from [initial\] to [baseline\] at (0) should be [baseline\]]
- expected: FAIL
-
- [CSS Transitions with transition: all: property <justify-self> from [initial\] to [baseline\] at (0.3) should be [baseline\]]
- expected: FAIL
-
- [CSS Transitions with transition: all: property <justify-self> from [initial\] to [baseline\] at (0.5) should be [baseline\]]
- expected: FAIL
-
- [CSS Transitions with transition: all: property <justify-self> from [initial\] to [baseline\] at (0.6) should be [baseline\]]
- expected: FAIL
-
- [CSS Transitions with transition: all: property <justify-self> from [initial\] to [baseline\] at (1) should be [baseline\]]
- expected: FAIL
-
- [CSS Transitions with transition: all: property <justify-self> from [initial\] to [baseline\] at (1.5) should be [baseline\]]
- expected: FAIL
-
- [CSS Animations: property <justify-self> from [initial\] to [baseline\] at (-0.3) should be [initial\]]
- expected: FAIL
-
- [CSS Animations: property <justify-self> from [initial\] to [baseline\] at (0) should be [initial\]]
- expected: FAIL
-
- [CSS Animations: property <justify-self> from [initial\] to [baseline\] at (0.3) should be [initial\]]
- expected: FAIL
-
- [CSS Animations: property <justify-self> from [initial\] to [baseline\] at (0.5) should be [baseline\]]
- expected: FAIL
-
- [CSS Animations: property <justify-self> from [initial\] to [baseline\] at (0.6) should be [baseline\]]
- expected: FAIL
-
- [CSS Animations: property <justify-self> from [initial\] to [baseline\] at (1) should be [baseline\]]
- expected: FAIL
-
- [CSS Animations: property <justify-self> from [initial\] to [baseline\] at (1.5) should be [baseline\]]
- expected: FAIL
-
[Web Animations: property <justify-self> from [initial\] to [baseline\] at (-0.3) should be [initial\]]
expected: FAIL
@@ -167,24 +59,6 @@
[Web Animations: property <justify-self> from [initial\] to [baseline\] at (1.5) should be [baseline\]]
expected: FAIL
- [CSS Transitions: property <justify-items> from [initial\] to [baseline\] at (-0.3) should be [baseline\]]
- expected: FAIL
-
- [CSS Transitions: property <justify-items> from [initial\] to [baseline\] at (0) should be [baseline\]]
- expected: FAIL
-
- [CSS Transitions: property <justify-items> from [initial\] to [baseline\] at (0.3) should be [baseline\]]
- expected: FAIL
-
- [CSS Transitions: property <justify-self> from [initial\] to [baseline\] at (-0.3) should be [baseline\]]
- expected: FAIL
-
- [CSS Transitions: property <justify-self> from [initial\] to [baseline\] at (0) should be [baseline\]]
- expected: FAIL
-
- [CSS Transitions: property <justify-self> from [initial\] to [baseline\] at (0.3) should be [baseline\]]
- expected: FAIL
-
[CSS Transitions with transition-behavior:allow-discrete: property <justify-items> from [initial\] to [baseline\] at (-0.3) should be [initial\]]
expected: FAIL
@@ -194,18 +68,6 @@
[CSS Transitions with transition-behavior:allow-discrete: property <justify-items> from [initial\] to [baseline\] at (0.3) should be [initial\]]
expected: FAIL
- [CSS Transitions with transition-behavior:allow-discrete: property <justify-items> from [initial\] to [baseline\] at (0.5) should be [baseline\]]
- expected: FAIL
-
- [CSS Transitions with transition-behavior:allow-discrete: property <justify-items> from [initial\] to [baseline\] at (0.6) should be [baseline\]]
- expected: FAIL
-
- [CSS Transitions with transition-behavior:allow-discrete: property <justify-items> from [initial\] to [baseline\] at (1) should be [baseline\]]
- expected: FAIL
-
- [CSS Transitions with transition-behavior:allow-discrete: property <justify-items> from [initial\] to [baseline\] at (1.5) should be [baseline\]]
- expected: FAIL
-
[CSS Transitions with transition-property:all and transition-behavor:allow-discrete: property <justify-items> from [initial\] to [baseline\] at (-0.3) should be [initial\]]
expected: FAIL
@@ -215,18 +77,6 @@
[CSS Transitions with transition-property:all and transition-behavor:allow-discrete: property <justify-items> from [initial\] to [baseline\] at (0.3) should be [initial\]]
expected: FAIL
- [CSS Transitions with transition-property:all and transition-behavor:allow-discrete: property <justify-items> from [initial\] to [baseline\] at (0.5) should be [baseline\]]
- expected: FAIL
-
- [CSS Transitions with transition-property:all and transition-behavor:allow-discrete: property <justify-items> from [initial\] to [baseline\] at (0.6) should be [baseline\]]
- expected: FAIL
-
- [CSS Transitions with transition-property:all and transition-behavor:allow-discrete: property <justify-items> from [initial\] to [baseline\] at (1) should be [baseline\]]
- expected: FAIL
-
- [CSS Transitions with transition-property:all and transition-behavor:allow-discrete: property <justify-items> from [initial\] to [baseline\] at (1.5) should be [baseline\]]
- expected: FAIL
-
[CSS Transitions with transition-behavior:allow-discrete: property <justify-self> from [initial\] to [baseline\] at (-0.3) should be [initial\]]
expected: FAIL
@@ -236,18 +86,6 @@
[CSS Transitions with transition-behavior:allow-discrete: property <justify-self> from [initial\] to [baseline\] at (0.3) should be [initial\]]
expected: FAIL
- [CSS Transitions with transition-behavior:allow-discrete: property <justify-self> from [initial\] to [baseline\] at (0.5) should be [baseline\]]
- expected: FAIL
-
- [CSS Transitions with transition-behavior:allow-discrete: property <justify-self> from [initial\] to [baseline\] at (0.6) should be [baseline\]]
- expected: FAIL
-
- [CSS Transitions with transition-behavior:allow-discrete: property <justify-self> from [initial\] to [baseline\] at (1) should be [baseline\]]
- expected: FAIL
-
- [CSS Transitions with transition-behavior:allow-discrete: property <justify-self> from [initial\] to [baseline\] at (1.5) should be [baseline\]]
- expected: FAIL
-
[CSS Transitions with transition-property:all and transition-behavor:allow-discrete: property <justify-self> from [initial\] to [baseline\] at (-0.3) should be [initial\]]
expected: FAIL
@@ -256,15 +94,3 @@
[CSS Transitions with transition-property:all and transition-behavor:allow-discrete: property <justify-self> from [initial\] to [baseline\] at (0.3) should be [initial\]]
expected: FAIL
-
- [CSS Transitions with transition-property:all and transition-behavor:allow-discrete: property <justify-self> from [initial\] to [baseline\] at (0.5) should be [baseline\]]
- expected: FAIL
-
- [CSS Transitions with transition-property:all and transition-behavor:allow-discrete: property <justify-self> from [initial\] to [baseline\] at (0.6) should be [baseline\]]
- expected: FAIL
-
- [CSS Transitions with transition-property:all and transition-behavor:allow-discrete: property <justify-self> from [initial\] to [baseline\] at (1) should be [baseline\]]
- expected: FAIL
-
- [CSS Transitions with transition-property:all and transition-behavor:allow-discrete: property <justify-self> from [initial\] to [baseline\] at (1.5) should be [baseline\]]
- expected: FAIL
diff --git a/tests/wpt/meta-legacy-layout/css/css-align/content-distribution/parse-align-content-001.html.ini b/tests/wpt/meta-legacy-layout/css/css-align/content-distribution/parse-align-content-001.html.ini
deleted file mode 100644
index a486c8f2fd9..00000000000
--- a/tests/wpt/meta-legacy-layout/css/css-align/content-distribution/parse-align-content-001.html.ini
+++ /dev/null
@@ -1,27 +0,0 @@
-[parse-align-content-001.html]
- [Checking align-content: safe end]
- expected: FAIL
-
- [Checking align-content: first baseline]
- expected: FAIL
-
- [Checking align-content: safe flex-end]
- expected: FAIL
-
- [Checking align-content: baseline]
- expected: FAIL
-
- [Checking align-content: last baseline]
- expected: FAIL
-
- [Checking align-content: unsafe flex-start]
- expected: FAIL
-
- [Checking align-content: unsafe end]
- expected: FAIL
-
- [Checking align-content: safe center]
- expected: FAIL
-
- [Checking align-content: normal]
- expected: FAIL
diff --git a/tests/wpt/meta-legacy-layout/css/css-align/content-distribution/parse-align-content-002.html.ini b/tests/wpt/meta-legacy-layout/css/css-align/content-distribution/parse-align-content-002.html.ini
deleted file mode 100644
index d7dc21d00c6..00000000000
--- a/tests/wpt/meta-legacy-layout/css/css-align/content-distribution/parse-align-content-002.html.ini
+++ /dev/null
@@ -1,22 +0,0 @@
-[parse-align-content-002.html]
- [Test grid items align-content: 'initial']
- expected: FAIL
-
- [Test absolute positioned grid items align-content: 'initial']
- expected: FAIL
-
- [Test align-content: 'initial']
- expected: FAIL
-
- [Test absolute positioned flex items align-content: 'initial']
- expected: FAIL
-
- [Test flex items align-content: 'initial']
- expected: FAIL
-
- [Test 'initial' value when nothing is specified]
- expected: FAIL
-
- [Test absolute positioned elements align-content: 'initial']
- expected: FAIL
-
diff --git a/tests/wpt/meta-legacy-layout/css/css-align/content-distribution/parse-align-content-003.html.ini b/tests/wpt/meta-legacy-layout/css/css-align/content-distribution/parse-align-content-003.html.ini
deleted file mode 100644
index cae41d93086..00000000000
--- a/tests/wpt/meta-legacy-layout/css/css-align/content-distribution/parse-align-content-003.html.ini
+++ /dev/null
@@ -1,27 +0,0 @@
-[parse-align-content-003.html]
- [Checking align-content: safe end]
- expected: FAIL
-
- [Checking align-content: first baseline]
- expected: FAIL
-
- [Checking align-content: safe flex-end]
- expected: FAIL
-
- [Checking align-content: baseline]
- expected: FAIL
-
- [Checking align-content: last baseline]
- expected: FAIL
-
- [Checking align-content: unsafe flex-start]
- expected: FAIL
-
- [Checking align-content: unsafe end]
- expected: FAIL
-
- [Checking align-content: safe center]
- expected: FAIL
-
- [Checking align-content: normal]
- expected: FAIL
diff --git a/tests/wpt/meta-legacy-layout/css/css-align/content-distribution/parse-align-content-005.html.ini b/tests/wpt/meta-legacy-layout/css/css-align/content-distribution/parse-align-content-005.html.ini
deleted file mode 100644
index b743419a2b3..00000000000
--- a/tests/wpt/meta-legacy-layout/css/css-align/content-distribution/parse-align-content-005.html.ini
+++ /dev/null
@@ -1,6 +0,0 @@
-[parse-align-content-005.html]
- [Test the value 'inherit' overrides current value ('unsafe center')]
- expected: FAIL
-
- [Test the value 'inherit' overrides current value ('safe start')]
- expected: FAIL
diff --git a/tests/wpt/meta-legacy-layout/css/css-align/content-distribution/parse-justify-content-001.html.ini b/tests/wpt/meta-legacy-layout/css/css-align/content-distribution/parse-justify-content-001.html.ini
deleted file mode 100644
index 6e2757a39b0..00000000000
--- a/tests/wpt/meta-legacy-layout/css/css-align/content-distribution/parse-justify-content-001.html.ini
+++ /dev/null
@@ -1,24 +0,0 @@
-[parse-justify-content-001.html]
- [Checking justify-content: safe center]
- expected: FAIL
-
- [Checking justify-content: left]
- expected: FAIL
-
- [Checking justify-content: unsafe flex-start]
- expected: FAIL
-
- [Checking justify-content: right]
- expected: FAIL
-
- [Checking justify-content: safe end]
- expected: FAIL
-
- [Checking justify-content: safe flex-end]
- expected: FAIL
-
- [Checking justify-content: normal]
- expected: FAIL
-
- [Checking justify-content: unsafe end]
- expected: FAIL
diff --git a/tests/wpt/meta-legacy-layout/css/css-align/content-distribution/parse-justify-content-002.html.ini b/tests/wpt/meta-legacy-layout/css/css-align/content-distribution/parse-justify-content-002.html.ini
deleted file mode 100644
index b8ffb863a90..00000000000
--- a/tests/wpt/meta-legacy-layout/css/css-align/content-distribution/parse-justify-content-002.html.ini
+++ /dev/null
@@ -1,22 +0,0 @@
-[parse-justify-content-002.html]
- [Test flex items justify-content: 'initial']
- expected: FAIL
-
- [Test grid items justify-content: 'initial']
- expected: FAIL
-
- [Test justify-content: 'initial']
- expected: FAIL
-
- [Test absolute positioned flex items justify-content: 'initial']
- expected: FAIL
-
- [Test absolute positioned grid items justify-content: 'initial']
- expected: FAIL
-
- [Test absolute positioned elements justify-content: 'initial']
- expected: FAIL
-
- [Test 'initial' value when nothing is specified]
- expected: FAIL
-
diff --git a/tests/wpt/meta-legacy-layout/css/css-align/content-distribution/parse-justify-content-003.html.ini b/tests/wpt/meta-legacy-layout/css/css-align/content-distribution/parse-justify-content-003.html.ini
deleted file mode 100644
index 9fc2d0039f3..00000000000
--- a/tests/wpt/meta-legacy-layout/css/css-align/content-distribution/parse-justify-content-003.html.ini
+++ /dev/null
@@ -1,24 +0,0 @@
-[parse-justify-content-003.html]
- [Checking justify-content: safe center]
- expected: FAIL
-
- [Checking justify-content: left]
- expected: FAIL
-
- [Checking justify-content: unsafe flex-start]
- expected: FAIL
-
- [Checking justify-content: right]
- expected: FAIL
-
- [Checking justify-content: safe end]
- expected: FAIL
-
- [Checking justify-content: safe flex-end]
- expected: FAIL
-
- [Checking justify-content: normal]
- expected: FAIL
-
- [Checking justify-content: unsafe end]
- expected: FAIL
diff --git a/tests/wpt/meta-legacy-layout/css/css-align/content-distribution/parse-justify-content-005.html.ini b/tests/wpt/meta-legacy-layout/css/css-align/content-distribution/parse-justify-content-005.html.ini
deleted file mode 100644
index 7ab98752660..00000000000
--- a/tests/wpt/meta-legacy-layout/css/css-align/content-distribution/parse-justify-content-005.html.ini
+++ /dev/null
@@ -1,6 +0,0 @@
-[parse-justify-content-005.html]
- [Test the value 'inherit' overrides current value ('safe left')]
- expected: FAIL
-
- [Test the value 'inherit' overrides current value ('unsafe center')]
- expected: FAIL
diff --git a/tests/wpt/meta-legacy-layout/css/css-align/content-distribution/place-content-shorthand-001.html.ini b/tests/wpt/meta-legacy-layout/css/css-align/content-distribution/place-content-shorthand-001.html.ini
deleted file mode 100644
index 0418089f208..00000000000
--- a/tests/wpt/meta-legacy-layout/css/css-align/content-distribution/place-content-shorthand-001.html.ini
+++ /dev/null
@@ -1,46 +0,0 @@
-[place-content-shorthand-001.html]
- [Checking place-content: unsafe flex-start]
- expected: FAIL
-
- [Checking place-content: space-between]
- expected: FAIL
-
- [Checking place-content: flex-end]
- expected: FAIL
-
- [Checking place-content: flex-start]
- expected: FAIL
-
- [Checking place-content: unsafe end]
- expected: FAIL
-
- [Checking place-content: end]
- expected: FAIL
-
- [Checking place-content: safe end]
- expected: FAIL
-
- [Checking place-content: start]
- expected: FAIL
-
- [Checking place-content: center]
- expected: FAIL
-
- [Checking place-content: normal]
- expected: FAIL
-
- [Checking place-content: space-evenly]
- expected: FAIL
-
- [Checking place-content: safe flex-end]
- expected: FAIL
-
- [Checking place-content: safe center]
- expected: FAIL
-
- [Checking place-content: space-around]
- expected: FAIL
-
- [Checking place-content: stretch]
- expected: FAIL
-
diff --git a/tests/wpt/meta-legacy-layout/css/css-align/content-distribution/place-content-shorthand-002.html.ini b/tests/wpt/meta-legacy-layout/css/css-align/content-distribution/place-content-shorthand-002.html.ini
deleted file mode 100644
index a0df58ee67c..00000000000
--- a/tests/wpt/meta-legacy-layout/css/css-align/content-distribution/place-content-shorthand-002.html.ini
+++ /dev/null
@@ -1,649 +0,0 @@
-[place-content-shorthand-002.html]
- [Checking place-content: space-around flex-start]
- expected: FAIL
-
- [Checking place-content: flex-end end]
- expected: FAIL
-
- [Checking place-content: safe flex-end stretch]
- expected: FAIL
-
- [Checking place-content: space-between stretch]
- expected: FAIL
-
- [Checking place-content: start normal]
- expected: FAIL
-
- [Checking place-content: last baseline left]
- expected: FAIL
-
- [Checking place-content: safe end stretch]
- expected: FAIL
-
- [Checking place-content: unsafe end space-around]
- expected: FAIL
-
- [Checking place-content: baseline space-around]
- expected: FAIL
-
- [Checking place-content: center normal]
- expected: FAIL
-
- [Checking place-content: center center]
- expected: FAIL
-
- [Checking place-content: flex-end flex-start]
- expected: FAIL
-
- [Checking place-content: flex-start space-around]
- expected: FAIL
-
- [Checking place-content: first baseline right]
- expected: FAIL
-
- [Checking place-content: safe flex-end right]
- expected: FAIL
-
- [Checking place-content: baseline stretch]
- expected: FAIL
-
- [Checking place-content: safe center right]
- expected: FAIL
-
- [Checking place-content: flex-start start]
- expected: FAIL
-
- [Checking place-content: safe center normal]
- expected: FAIL
-
- [Checking place-content: baseline right]
- expected: FAIL
-
- [Checking place-content: start space-between]
- expected: FAIL
-
- [Checking place-content: baseline space-between]
- expected: FAIL
-
- [Checking place-content: unsafe end stretch]
- expected: FAIL
-
- [Checking place-content: last baseline space-between]
- expected: FAIL
-
- [Checking place-content: baseline start]
- expected: FAIL
-
- [Checking place-content: stretch stretch]
- expected: FAIL
-
- [Checking place-content: unsafe flex-start flex-start]
- expected: FAIL
-
- [Checking place-content: space-around space-evenly]
- expected: FAIL
-
- [Checking place-content: unsafe end space-between]
- expected: FAIL
-
- [Checking place-content: start start]
- expected: FAIL
-
- [Checking place-content: flex-start normal]
- expected: FAIL
-
- [Checking place-content: start flex-end]
- expected: FAIL
-
- [Checking place-content: unsafe end start]
- expected: FAIL
-
- [Checking place-content: unsafe end right]
- expected: FAIL
-
- [Checking place-content: space-between normal]
- expected: FAIL
-
- [Checking place-content: space-around space-around]
- expected: FAIL
-
- [Checking place-content: unsafe flex-start left]
- expected: FAIL
-
- [Checking place-content: space-around flex-end]
- expected: FAIL
-
- [Checking place-content: space-evenly space-around]
- expected: FAIL
-
- [Checking place-content: start left]
- expected: FAIL
-
- [Checking place-content: stretch normal]
- expected: FAIL
-
- [Checking place-content: unsafe flex-start space-between]
- expected: FAIL
-
- [Checking place-content: stretch space-around]
- expected: FAIL
-
- [Checking place-content: space-around right]
- expected: FAIL
-
- [Checking place-content: safe center space-around]
- expected: FAIL
-
- [Checking place-content: center space-evenly]
- expected: FAIL
-
- [Checking place-content: center space-around]
- expected: FAIL
-
- [Checking place-content: space-around space-between]
- expected: FAIL
-
- [Checking place-content: flex-end start]
- expected: FAIL
-
- [Checking place-content: end flex-start]
- expected: FAIL
-
- [Checking place-content: stretch center]
- expected: FAIL
-
- [Checking place-content: flex-end normal]
- expected: FAIL
-
- [Checking place-content: safe flex-end flex-start]
- expected: FAIL
-
- [Checking place-content: last baseline flex-end]
- expected: FAIL
-
- [Checking place-content: baseline left]
- expected: FAIL
-
- [Checking place-content: first baseline flex-end]
- expected: FAIL
-
- [Checking place-content: flex-start flex-start]
- expected: FAIL
-
- [Checking place-content: space-between flex-end]
- expected: FAIL
-
- [Checking place-content: space-between end]
- expected: FAIL
-
- [Checking place-content: unsafe flex-start start]
- expected: FAIL
-
- [Checking place-content: safe center space-evenly]
- expected: FAIL
-
- [Checking place-content: unsafe flex-start center]
- expected: FAIL
-
- [Checking place-content: safe end normal]
- expected: FAIL
-
- [Checking place-content: end space-between]
- expected: FAIL
-
- [Checking place-content: unsafe flex-start space-around]
- expected: FAIL
-
- [Checking place-content: normal stretch]
- expected: FAIL
-
- [Checking place-content: space-between space-evenly]
- expected: FAIL
-
- [Checking place-content: normal flex-end]
- expected: FAIL
-
- [Checking place-content: safe end center]
- expected: FAIL
-
- [Checking place-content: space-evenly end]
- expected: FAIL
-
- [Checking place-content: flex-end stretch]
- expected: FAIL
-
- [Checking place-content: start flex-start]
- expected: FAIL
-
- [Checking place-content: stretch end]
- expected: FAIL
-
- [Checking place-content: unsafe end center]
- expected: FAIL
-
- [Checking place-content: normal space-between]
- expected: FAIL
-
- [Checking place-content: space-evenly right]
- expected: FAIL
-
- [Checking place-content: flex-end space-between]
- expected: FAIL
-
- [Checking place-content: normal start]
- expected: FAIL
-
- [Checking place-content: flex-end space-around]
- expected: FAIL
-
- [Checking place-content: center stretch]
- expected: FAIL
-
- [Checking place-content: end start]
- expected: FAIL
-
- [Checking place-content: last baseline space-around]
- expected: FAIL
-
- [Checking place-content: stretch right]
- expected: FAIL
-
- [Checking place-content: unsafe end space-evenly]
- expected: FAIL
-
- [Checking place-content: normal right]
- expected: FAIL
-
- [Checking place-content: safe end start]
- expected: FAIL
-
- [Checking place-content: safe flex-end start]
- expected: FAIL
-
- [Checking place-content: safe center stretch]
- expected: FAIL
-
- [Checking place-content: unsafe flex-start end]
- expected: FAIL
-
- [Checking place-content: unsafe end left]
- expected: FAIL
-
- [Checking place-content: safe center flex-start]
- expected: FAIL
-
- [Checking place-content: center space-between]
- expected: FAIL
-
- [Checking place-content: safe end space-evenly]
- expected: FAIL
-
- [Checking place-content: first baseline end]
- expected: FAIL
-
- [Checking place-content: last baseline stretch]
- expected: FAIL
-
- [Checking place-content: normal space-evenly]
- expected: FAIL
-
- [Checking place-content: safe end end]
- expected: FAIL
-
- [Checking place-content: center end]
- expected: FAIL
-
- [Checking place-content: safe end flex-start]
- expected: FAIL
-
- [Checking place-content: end normal]
- expected: FAIL
-
- [Checking place-content: start stretch]
- expected: FAIL
-
- [Checking place-content: center start]
- expected: FAIL
-
- [Checking place-content: safe end flex-end]
- expected: FAIL
-
- [Checking place-content: normal normal]
- expected: FAIL
-
- [Checking place-content: start right]
- expected: FAIL
-
- [Checking place-content: safe flex-end left]
- expected: FAIL
-
- [Checking place-content: space-around normal]
- expected: FAIL
-
- [Checking place-content: flex-start space-between]
- expected: FAIL
-
- [Checking place-content: start space-around]
- expected: FAIL
-
- [Checking place-content: safe flex-end space-between]
- expected: FAIL
-
- [Checking place-content: normal center]
- expected: FAIL
-
- [Checking place-content: safe center left]
- expected: FAIL
-
- [Checking place-content: flex-end space-evenly]
- expected: FAIL
-
- [Checking place-content: end left]
- expected: FAIL
-
- [Checking place-content: space-evenly space-between]
- expected: FAIL
-
- [Checking place-content: unsafe end flex-end]
- expected: FAIL
-
- [Checking place-content: baseline flex-end]
- expected: FAIL
-
- [Checking place-content: safe flex-end space-evenly]
- expected: FAIL
-
- [Checking place-content: space-between space-between]
- expected: FAIL
-
- [Checking place-content: safe end right]
- expected: FAIL
-
- [Checking place-content: stretch space-evenly]
- expected: FAIL
-
- [Checking place-content: normal flex-start]
- expected: FAIL
-
- [Checking place-content: baseline center]
- expected: FAIL
-
- [Checking place-content: space-evenly space-evenly]
- expected: FAIL
-
- [Checking place-content: first baseline stretch]
- expected: FAIL
-
- [Checking place-content: flex-start right]
- expected: FAIL
-
- [Checking place-content: stretch flex-start]
- expected: FAIL
-
- [Checking place-content: last baseline space-evenly]
- expected: FAIL
-
- [Checking place-content: safe flex-end space-around]
- expected: FAIL
-
- [Checking place-content: unsafe flex-start space-evenly]
- expected: FAIL
-
- [Checking place-content: last baseline end]
- expected: FAIL
-
- [Checking place-content: end center]
- expected: FAIL
-
- [Checking place-content: first baseline left]
- expected: FAIL
-
- [Checking place-content: safe center end]
- expected: FAIL
-
- [Checking place-content: stretch start]
- expected: FAIL
-
- [Checking place-content: space-around end]
- expected: FAIL
-
- [Checking place-content: space-around center]
- expected: FAIL
-
- [Checking place-content: safe end space-between]
- expected: FAIL
-
- [Checking place-content: flex-end center]
- expected: FAIL
-
- [Checking place-content: unsafe flex-start right]
- expected: FAIL
-
- [Checking place-content: unsafe flex-start flex-end]
- expected: FAIL
-
- [Checking place-content: safe end left]
- expected: FAIL
-
- [Checking place-content: flex-end flex-end]
- expected: FAIL
-
- [Checking place-content: baseline end]
- expected: FAIL
-
- [Checking place-content: unsafe flex-start normal]
- expected: FAIL
-
- [Checking place-content: unsafe end end]
- expected: FAIL
-
- [Checking place-content: last baseline normal]
- expected: FAIL
-
- [Checking place-content: last baseline center]
- expected: FAIL
-
- [Checking place-content: flex-start center]
- expected: FAIL
-
- [Checking place-content: first baseline flex-start]
- expected: FAIL
-
- [Checking place-content: space-around start]
- expected: FAIL
-
- [Checking place-content: end stretch]
- expected: FAIL
-
- [Checking place-content: end right]
- expected: FAIL
-
- [Checking place-content: end end]
- expected: FAIL
-
- [Checking place-content: space-evenly flex-end]
- expected: FAIL
-
- [Checking place-content: space-evenly stretch]
- expected: FAIL
-
- [Checking place-content: start space-evenly]
- expected: FAIL
-
- [Checking place-content: space-around stretch]
- expected: FAIL
-
- [Checking place-content: space-between right]
- expected: FAIL
-
- [Checking place-content: unsafe flex-start stretch]
- expected: FAIL
-
- [Checking place-content: baseline space-evenly]
- expected: FAIL
-
- [Checking place-content: stretch flex-end]
- expected: FAIL
-
- [Checking place-content: end space-evenly]
- expected: FAIL
-
- [Checking place-content: flex-start space-evenly]
- expected: FAIL
-
- [Checking place-content: space-evenly start]
- expected: FAIL
-
- [Checking place-content: space-evenly normal]
- expected: FAIL
-
- [Checking place-content: flex-end left]
- expected: FAIL
-
- [Checking place-content: space-evenly flex-start]
- expected: FAIL
-
- [Checking place-content: baseline normal]
- expected: FAIL
-
- [Checking place-content: first baseline start]
- expected: FAIL
-
- [Checking place-content: normal space-around]
- expected: FAIL
-
- [Checking place-content: unsafe end normal]
- expected: FAIL
-
- [Checking place-content: start end]
- expected: FAIL
-
- [Checking place-content: safe flex-end center]
- expected: FAIL
-
- [Checking place-content: center right]
- expected: FAIL
-
- [Checking place-content: space-between start]
- expected: FAIL
-
- [Checking place-content: space-evenly left]
- expected: FAIL
-
- [Checking place-content: start center]
- expected: FAIL
-
- [Checking place-content: first baseline center]
- expected: FAIL
-
- [Checking place-content: safe center space-between]
- expected: FAIL
-
- [Checking place-content: flex-start stretch]
- expected: FAIL
-
- [Checking place-content: safe flex-end end]
- expected: FAIL
-
- [Checking place-content: last baseline flex-start]
- expected: FAIL
-
- [Checking place-content: center flex-end]
- expected: FAIL
-
- [Checking place-content: first baseline normal]
- expected: FAIL
-
- [Checking place-content: safe flex-end normal]
- expected: FAIL
-
- [Checking place-content: end flex-end]
- expected: FAIL
-
- [Checking place-content: space-evenly center]
- expected: FAIL
-
- [Checking place-content: baseline flex-start]
- expected: FAIL
-
- [Checking place-content: safe end space-around]
- expected: FAIL
-
- [Checking place-content: flex-start left]
- expected: FAIL
-
- [Checking place-content: flex-start end]
- expected: FAIL
-
- [Checking place-content: stretch left]
- expected: FAIL
-
- [Checking place-content: center left]
- expected: FAIL
-
- [Checking place-content: space-between left]
- expected: FAIL
-
- [Checking place-content: safe center start]
- expected: FAIL
-
- [Checking place-content: safe center flex-end]
- expected: FAIL
-
- [Checking place-content: stretch space-between]
- expected: FAIL
-
- [Checking place-content: space-between center]
- expected: FAIL
-
- [Checking place-content: space-between flex-start]
- expected: FAIL
-
- [Checking place-content: safe flex-end flex-end]
- expected: FAIL
-
- [Checking place-content: last baseline start]
- expected: FAIL
-
- [Checking place-content: last baseline right]
- expected: FAIL
-
- [Checking place-content: normal end]
- expected: FAIL
-
- [Checking place-content: flex-start flex-end]
- expected: FAIL
-
- [Checking place-content: end space-around]
- expected: FAIL
-
- [Checking place-content: first baseline space-around]
- expected: FAIL
-
- [Checking place-content: flex-end right]
- expected: FAIL
-
- [Checking place-content: first baseline space-between]
- expected: FAIL
-
- [Checking place-content: safe center center]
- expected: FAIL
-
- [Checking place-content: normal left]
- expected: FAIL
-
- [Checking place-content: space-around left]
- expected: FAIL
-
- [Checking place-content: space-between space-around]
- expected: FAIL
-
- [Checking place-content: unsafe end flex-start]
- expected: FAIL
-
- [Checking place-content: first baseline space-evenly]
- expected: FAIL
-
- [Checking place-content: center flex-start]
- expected: FAIL
-
diff --git a/tests/wpt/meta-legacy-layout/css/css-align/content-distribution/place-content-shorthand-003.html.ini b/tests/wpt/meta-legacy-layout/css/css-align/content-distribution/place-content-shorthand-003.html.ini
deleted file mode 100644
index a0c506ce964..00000000000
--- a/tests/wpt/meta-legacy-layout/css/css-align/content-distribution/place-content-shorthand-003.html.ini
+++ /dev/null
@@ -1,7 +0,0 @@
-[place-content-shorthand-003.html]
- [Check place-content: initial - align-content expanded value]
- expected: FAIL
-
- [Check place-content: initial - justify-content expanded value]
- expected: FAIL
-
diff --git a/tests/wpt/meta-legacy-layout/css/css-align/content-distribution/place-content-shorthand-005.html.ini b/tests/wpt/meta-legacy-layout/css/css-align/content-distribution/place-content-shorthand-005.html.ini
deleted file mode 100644
index 81743d01c77..00000000000
--- a/tests/wpt/meta-legacy-layout/css/css-align/content-distribution/place-content-shorthand-005.html.ini
+++ /dev/null
@@ -1,7 +0,0 @@
-[place-content-shorthand-005.html]
- [Check place-content: inherit - align-content resolved value]
- expected: FAIL
-
- [Check place-content: inherit - justify-content resolved value]
- expected: FAIL
-
diff --git a/tests/wpt/meta-legacy-layout/css/css-align/content-distribution/place-content-shorthand-006.html.ini b/tests/wpt/meta-legacy-layout/css/css-align/content-distribution/place-content-shorthand-006.html.ini
deleted file mode 100644
index 1c50effc06b..00000000000
--- a/tests/wpt/meta-legacy-layout/css/css-align/content-distribution/place-content-shorthand-006.html.ini
+++ /dev/null
@@ -1,67 +0,0 @@
-[place-content-shorthand-006.html]
- [Checking place-content: center center]
- expected: FAIL
-
- [Checking place-content: first baseline right]
- expected: FAIL
-
- [Checking place-content: stretch stretch]
- expected: FAIL
-
- [Checking place-content: start start]
- expected: FAIL
-
- [Checking place-content: space-around space-around]
- expected: FAIL
-
- [Checking place-content: first baseline flex-end]
- expected: FAIL
-
- [Checking place-content: flex-start flex-start]
- expected: FAIL
-
- [Checking place-content: first baseline end]
- expected: FAIL
-
- [Checking place-content: normal normal]
- expected: FAIL
-
- [Checking place-content: space-between space-between]
- expected: FAIL
-
- [Checking place-content: space-evenly space-evenly]
- expected: FAIL
-
- [Checking place-content: first baseline stretch]
- expected: FAIL
-
- [Checking place-content: first baseline left]
- expected: FAIL
-
- [Checking place-content: flex-end flex-end]
- expected: FAIL
-
- [Checking place-content: first baseline flex-start]
- expected: FAIL
-
- [Checking place-content: end end]
- expected: FAIL
-
- [Checking place-content: first baseline start]
- expected: FAIL
-
- [Checking place-content: first baseline center]
- expected: FAIL
-
- [Checking place-content: first baseline normal]
- expected: FAIL
-
- [Checking place-content: first baseline space-around]
- expected: FAIL
-
- [Checking place-content: first baseline space-between]
- expected: FAIL
-
- [Checking place-content: first baseline space-evenly]
- expected: FAIL
-
diff --git a/tests/wpt/meta-legacy-layout/css/css-align/default-alignment/parse-align-items-001.html.ini b/tests/wpt/meta-legacy-layout/css/css-align/default-alignment/parse-align-items-001.html.ini
deleted file mode 100644
index ab62cb100f3..00000000000
--- a/tests/wpt/meta-legacy-layout/css/css-align/default-alignment/parse-align-items-001.html.ini
+++ /dev/null
@@ -1,37 +0,0 @@
-[parse-align-items-001.html]
- [Checking align-items: normal]
- expected: FAIL
-
- [Checking align-items: safe flex-end]
- expected: FAIL
-
- [Checking align-items: unsafe end]
- expected: FAIL
-
- [Checking align-items: safe end]
- expected: FAIL
-
- [Checking align-items: end]
- expected: FAIL
-
- [Checking align-items: start]
- expected: FAIL
-
- [Checking align-items: self-start]
- expected: FAIL
-
- [Checking align-items: last baseline]
- expected: FAIL
-
- [Checking align-items: self-end]
- expected: FAIL
-
- [Checking align-items: safe center]
- expected: FAIL
-
- [Checking align-items: first baseline]
- expected: FAIL
-
- [Checking align-items: unsafe flex-start]
- expected: FAIL
-
diff --git a/tests/wpt/meta-legacy-layout/css/css-align/default-alignment/parse-align-items-002.html.ini b/tests/wpt/meta-legacy-layout/css/css-align/default-alignment/parse-align-items-002.html.ini
deleted file mode 100644
index d396f94dcdb..00000000000
--- a/tests/wpt/meta-legacy-layout/css/css-align/default-alignment/parse-align-items-002.html.ini
+++ /dev/null
@@ -1,22 +0,0 @@
-[parse-align-items-002.html]
- [Test flex items align-items: 'initial']
- expected: FAIL
-
- [Test absolute positioned flex items align-items: 'initial']
- expected: FAIL
-
- [Test grid items align-items: 'initial']
- expected: FAIL
-
- [Test absolute positioned grid items align-items: 'initial']
- expected: FAIL
-
- [Test absolute positioned elements align-items: 'initial']
- expected: FAIL
-
- [Test align-items: 'initial']
- expected: FAIL
-
- [Test 'initial' value when nothing is specified]
- expected: FAIL
-
diff --git a/tests/wpt/meta-legacy-layout/css/css-align/default-alignment/parse-align-items-003.html.ini b/tests/wpt/meta-legacy-layout/css/css-align/default-alignment/parse-align-items-003.html.ini
deleted file mode 100644
index 6657f2dd09b..00000000000
--- a/tests/wpt/meta-legacy-layout/css/css-align/default-alignment/parse-align-items-003.html.ini
+++ /dev/null
@@ -1,37 +0,0 @@
-[parse-align-items-003.html]
- [Checking align-items: normal]
- expected: FAIL
-
- [Checking align-items: safe flex-end]
- expected: FAIL
-
- [Checking align-items: unsafe end]
- expected: FAIL
-
- [Checking align-items: safe end]
- expected: FAIL
-
- [Checking align-items: end]
- expected: FAIL
-
- [Checking align-items: start]
- expected: FAIL
-
- [Checking align-items: self-start]
- expected: FAIL
-
- [Checking align-items: last baseline]
- expected: FAIL
-
- [Checking align-items: self-end]
- expected: FAIL
-
- [Checking align-items: safe center]
- expected: FAIL
-
- [Checking align-items: first baseline]
- expected: FAIL
-
- [Checking align-items: unsafe flex-start]
- expected: FAIL
-
diff --git a/tests/wpt/meta-legacy-layout/css/css-align/default-alignment/parse-align-items-005.html.ini b/tests/wpt/meta-legacy-layout/css/css-align/default-alignment/parse-align-items-005.html.ini
deleted file mode 100644
index 0e11813f0e1..00000000000
--- a/tests/wpt/meta-legacy-layout/css/css-align/default-alignment/parse-align-items-005.html.ini
+++ /dev/null
@@ -1,10 +0,0 @@
-[parse-align-items-005.html]
- [Test the value 'inherit' overrides current value ('end')]
- expected: FAIL
-
- [Test the value 'inherit' overrides current value ('unsafe center')]
- expected: FAIL
-
- [Test the value 'inherit' overrides current value ('safe start')]
- expected: FAIL
-
diff --git a/tests/wpt/meta-legacy-layout/css/css-align/default-alignment/parse-justify-items-001.html.ini b/tests/wpt/meta-legacy-layout/css/css-align/default-alignment/parse-justify-items-001.html.ini
deleted file mode 100644
index a4f701dd9d8..00000000000
--- a/tests/wpt/meta-legacy-layout/css/css-align/default-alignment/parse-justify-items-001.html.ini
+++ /dev/null
@@ -1,67 +0,0 @@
-[parse-justify-items-001.html]
- [Checking justify-items: right]
- expected: FAIL
-
- [Checking justify-items: flex-end]
- expected: FAIL
-
- [Checking justify-items: legacy center]
- expected: FAIL
-
- [Checking justify-items: start]
- expected: FAIL
-
- [Checking justify-items: self-end]
- expected: FAIL
-
- [Checking justify-items: normal]
- expected: FAIL
-
- [Checking justify-items: stretch]
- expected: FAIL
-
- [Checking justify-items: first baseline]
- expected: FAIL
-
- [Checking justify-items: safe flex-end]
- expected: FAIL
-
- [Checking justify-items: safe center]
- expected: FAIL
-
- [Checking justify-items: center]
- expected: FAIL
-
- [Checking justify-items: flex-start]
- expected: FAIL
-
- [Checking justify-items: left]
- expected: FAIL
-
- [Checking justify-items: self-start]
- expected: FAIL
-
- [Checking justify-items: last baseline]
- expected: FAIL
-
- [Checking justify-items: legacy left]
- expected: FAIL
-
- [Checking justify-items: unsafe end]
- expected: FAIL
-
- [Checking justify-items: unsafe flex-start]
- expected: FAIL
-
- [Checking justify-items: baseline]
- expected: FAIL
-
- [Checking justify-items: legacy right]
- expected: FAIL
-
- [Checking justify-items: end]
- expected: FAIL
-
- [Checking justify-items: safe end]
- expected: FAIL
-
diff --git a/tests/wpt/meta-legacy-layout/css/css-align/default-alignment/parse-justify-items-002.html.ini b/tests/wpt/meta-legacy-layout/css/css-align/default-alignment/parse-justify-items-002.html.ini
deleted file mode 100644
index 2609715d83d..00000000000
--- a/tests/wpt/meta-legacy-layout/css/css-align/default-alignment/parse-justify-items-002.html.ini
+++ /dev/null
@@ -1,22 +0,0 @@
-[parse-justify-items-002.html]
- [Test absolute positioned grid items justify-items: 'initial']
- expected: FAIL
-
- [Test absolute positioned elements justify-items: 'initial']
- expected: FAIL
-
- [Test flex items justify-items: 'initial']
- expected: FAIL
-
- [Test absolute positioned flex items justify-items: 'initial']
- expected: FAIL
-
- [Test justify-items: 'initial']
- expected: FAIL
-
- [Test grid items justify-items: 'initial']
- expected: FAIL
-
- [Test 'initial' value when nothing is specified]
- expected: FAIL
-
diff --git a/tests/wpt/meta-legacy-layout/css/css-align/default-alignment/parse-justify-items-003.html.ini b/tests/wpt/meta-legacy-layout/css/css-align/default-alignment/parse-justify-items-003.html.ini
deleted file mode 100644
index 7f07ff6587a..00000000000
--- a/tests/wpt/meta-legacy-layout/css/css-align/default-alignment/parse-justify-items-003.html.ini
+++ /dev/null
@@ -1,67 +0,0 @@
-[parse-justify-items-003.html]
- [Checking justify-items: right]
- expected: FAIL
-
- [Checking justify-items: flex-end]
- expected: FAIL
-
- [Checking justify-items: legacy center]
- expected: FAIL
-
- [Checking justify-items: start]
- expected: FAIL
-
- [Checking justify-items: self-end]
- expected: FAIL
-
- [Checking justify-items: normal]
- expected: FAIL
-
- [Checking justify-items: stretch]
- expected: FAIL
-
- [Checking justify-items: first baseline]
- expected: FAIL
-
- [Checking justify-items: safe flex-end]
- expected: FAIL
-
- [Checking justify-items: safe center]
- expected: FAIL
-
- [Checking justify-items: center]
- expected: FAIL
-
- [Checking justify-items: flex-start]
- expected: FAIL
-
- [Checking justify-items: left]
- expected: FAIL
-
- [Checking justify-items: self-start]
- expected: FAIL
-
- [Checking justify-items: last baseline]
- expected: FAIL
-
- [Checking justify-items: legacy left]
- expected: FAIL
-
- [Checking justify-items: unsafe end]
- expected: FAIL
-
- [Checking justify-items: unsafe flex-start]
- expected: FAIL
-
- [Checking justify-items: baseline]
- expected: FAIL
-
- [Checking justify-items: legacy right]
- expected: FAIL
-
- [Checking justify-items: end]
- expected: FAIL
-
- [Checking justify-items: safe end]
- expected: FAIL
-
diff --git a/tests/wpt/meta-legacy-layout/css/css-align/default-alignment/parse-justify-items-004.html.ini b/tests/wpt/meta-legacy-layout/css/css-align/default-alignment/parse-justify-items-004.html.ini
deleted file mode 100644
index ece2985c596..00000000000
--- a/tests/wpt/meta-legacy-layout/css/css-align/default-alignment/parse-justify-items-004.html.ini
+++ /dev/null
@@ -1,97 +0,0 @@
-[parse-justify-items-004.html]
- [Checking invalid combination - justify-items: unsafe safe]
- expected: FAIL
-
- [Checking invalid combination - justify-items: legacy stretch]
- expected: FAIL
-
- [Checking invalid combination - justify-items: legacy end]
- expected: FAIL
-
- [Checking invalid combination - justify-items: baseline normal]
- expected: FAIL
-
- [Checking invalid combination - justify-items: first baseline center]
- expected: FAIL
-
- [Checking invalid combination - justify-items: baseline first]
- expected: FAIL
-
- [Checking invalid combination - justify-items: baseline safe]
- expected: FAIL
-
- [Checking invalid combination - justify-items: last baseline center]
- expected: FAIL
-
- [Checking invalid combination - justify-items: unsafe safe left]
- expected: FAIL
-
- [Checking invalid combination - justify-items: auto safe]
- expected: FAIL
-
- [Checking invalid combination - justify-items: legacy left right]
- expected: FAIL
-
- [Checking invalid combination - justify-items: unsafe stretch]
- expected: FAIL
-
- [Checking invalid combination - justify-items: space-around]
- expected: FAIL
-
- [Checking invalid combination - justify-items: normal stretch]
- expected: FAIL
-
- [Checking invalid combination - justify-items: safe]
- expected: FAIL
-
- [Checking invalid combination - justify-items: unsafe left safe]
- expected: FAIL
-
- [Checking invalid combination - justify-items: left safe unsafe safe]
- expected: FAIL
-
- [Checking invalid combination - justify-items: legacy right unsafe]
- expected: FAIL
-
- [Checking invalid combination - justify-items: center start]
- expected: FAIL
-
- [Checking invalid combination - justify-items: auto left]
- expected: FAIL
-
- [Checking invalid combination - justify-items: baseline center]
- expected: FAIL
-
- [Checking invalid combination - justify-items: legacy auto]
- expected: FAIL
-
- [Checking invalid combination - justify-items: unsafe unsafe]
- expected: FAIL
-
- [Checking invalid combination - justify-items: stretch unsafe]
- expected: FAIL
-
- [Checking invalid combination - justify-items: safe stretch]
- expected: FAIL
-
- [Checking invalid combination - justify-items: baseline last]
- expected: FAIL
-
- [Checking invalid combination - justify-items: stretch right]
- expected: FAIL
-
- [Checking invalid combination - justify-items: legacy start]
- expected: FAIL
-
- [Checking invalid combination - justify-items: normal unsafe]
- expected: FAIL
-
- [Checking invalid combination - justify-items: start safe]
- expected: FAIL
-
- [Checking invalid combination - justify-items: auto]
- expected: FAIL
-
- [Checking invalid combination - justify-items: unsafe baseline]
- expected: FAIL
-
diff --git a/tests/wpt/meta-legacy-layout/css/css-align/default-alignment/parse-justify-items-005.html.ini b/tests/wpt/meta-legacy-layout/css/css-align/default-alignment/parse-justify-items-005.html.ini
deleted file mode 100644
index 0a814dbba73..00000000000
--- a/tests/wpt/meta-legacy-layout/css/css-align/default-alignment/parse-justify-items-005.html.ini
+++ /dev/null
@@ -1,10 +0,0 @@
-[parse-justify-items-005.html]
- [Test the value 'inherit' overrides current value ('end')]
- expected: FAIL
-
- [Test the value 'inherit' overrides current value ('safe left')]
- expected: FAIL
-
- [Test the value 'inherit' overrides current value ('unsafe center')]
- expected: FAIL
-
diff --git a/tests/wpt/meta-legacy-layout/css/css-align/default-alignment/place-items-shorthand-001.html.ini b/tests/wpt/meta-legacy-layout/css/css-align/default-alignment/place-items-shorthand-001.html.ini
deleted file mode 100644
index 1ac077510ea..00000000000
--- a/tests/wpt/meta-legacy-layout/css/css-align/default-alignment/place-items-shorthand-001.html.ini
+++ /dev/null
@@ -1,52 +0,0 @@
-[place-items-shorthand-001.html]
- [Checking place-items: end]
- expected: FAIL
-
- [Checking place-items: center]
- expected: FAIL
-
- [Checking place-items: flex-start]
- expected: FAIL
-
- [Checking place-items: unsafe flex-start]
- expected: FAIL
-
- [Checking place-items: safe flex-end]
- expected: FAIL
-
- [Checking place-items: stretch]
- expected: FAIL
-
- [Checking place-items: first baseline]
- expected: FAIL
-
- [Checking place-items: unsafe end]
- expected: FAIL
-
- [Checking place-items: flex-end]
- expected: FAIL
-
- [Checking place-items: self-end]
- expected: FAIL
-
- [Checking place-items: safe center]
- expected: FAIL
-
- [Checking place-items: safe end]
- expected: FAIL
-
- [Checking place-items: self-start]
- expected: FAIL
-
- [Checking place-items: normal]
- expected: FAIL
-
- [Checking place-items: last baseline]
- expected: FAIL
-
- [Checking place-items: start]
- expected: FAIL
-
- [Checking place-items: baseline]
- expected: FAIL
-
diff --git a/tests/wpt/meta-legacy-layout/css/css-align/default-alignment/place-items-shorthand-002.html.ini b/tests/wpt/meta-legacy-layout/css/css-align/default-alignment/place-items-shorthand-002.html.ini
deleted file mode 100644
index 707aa9fd9e4..00000000000
--- a/tests/wpt/meta-legacy-layout/css/css-align/default-alignment/place-items-shorthand-002.html.ini
+++ /dev/null
@@ -1,1123 +0,0 @@
-[place-items-shorthand-002.html]
- [Checking place-items: end right]
- expected: FAIL
-
- [Checking place-items: safe center safe flex-end]
- expected: FAIL
-
- [Checking place-items: normal unsafe flex-start]
- expected: FAIL
-
- [Checking place-items: start end]
- expected: FAIL
-
- [Checking place-items: end normal]
- expected: FAIL
-
- [Checking place-items: normal self-start]
- expected: FAIL
-
- [Checking place-items: safe flex-end legacy left]
- expected: FAIL
-
- [Checking place-items: end self-end]
- expected: FAIL
-
- [Checking place-items: normal last baseline]
- expected: FAIL
-
- [Checking place-items: safe end safe flex-end]
- expected: FAIL
-
- [Checking place-items: baseline self-end]
- expected: FAIL
-
- [Checking place-items: flex-start flex-start]
- expected: FAIL
-
- [Checking place-items: unsafe end legacy right]
- expected: FAIL
-
- [Checking place-items: safe end unsafe end]
- expected: FAIL
-
- [Checking place-items: self-start start]
- expected: FAIL
-
- [Checking place-items: self-start safe center]
- expected: FAIL
-
- [Checking place-items: self-start first baseline]
- expected: FAIL
-
- [Checking place-items: baseline flex-start]
- expected: FAIL
-
- [Checking place-items: safe end flex-end]
- expected: FAIL
-
- [Checking place-items: unsafe end safe end]
- expected: FAIL
-
- [Checking place-items: safe center left]
- expected: FAIL
-
- [Checking place-items: first baseline last baseline]
- expected: FAIL
-
- [Checking place-items: safe flex-end baseline]
- expected: FAIL
-
- [Checking place-items: safe flex-end stretch]
- expected: FAIL
-
- [Checking place-items: start right]
- expected: FAIL
-
- [Checking place-items: flex-end center]
- expected: FAIL
-
- [Checking place-items: unsafe end self-end]
- expected: FAIL
-
- [Checking place-items: self-start last baseline]
- expected: FAIL
-
- [Checking place-items: safe center flex-end]
- expected: FAIL
-
- [Checking place-items: unsafe end flex-end]
- expected: FAIL
-
- [Checking place-items: unsafe end safe flex-end]
- expected: FAIL
-
- [Checking place-items: start first baseline]
- expected: FAIL
-
- [Checking place-items: unsafe flex-start unsafe end]
- expected: FAIL
-
- [Checking place-items: stretch baseline]
- expected: FAIL
-
- [Checking place-items: center safe center]
- expected: FAIL
-
- [Checking place-items: start left]
- expected: FAIL
-
- [Checking place-items: center center]
- expected: FAIL
-
- [Checking place-items: unsafe flex-start legacy center]
- expected: FAIL
-
- [Checking place-items: unsafe end unsafe flex-start]
- expected: FAIL
-
- [Checking place-items: start unsafe flex-start]
- expected: FAIL
-
- [Checking place-items: self-end stretch]
- expected: FAIL
-
- [Checking place-items: safe flex-end safe center]
- expected: FAIL
-
- [Checking place-items: normal baseline]
- expected: FAIL
-
- [Checking place-items: safe end legacy center]
- expected: FAIL
-
- [Checking place-items: stretch legacy center]
- expected: FAIL
-
- [Checking place-items: unsafe end self-start]
- expected: FAIL
-
- [Checking place-items: safe flex-end normal]
- expected: FAIL
-
- [Checking place-items: unsafe end unsafe end]
- expected: FAIL
-
- [Checking place-items: baseline normal]
- expected: FAIL
-
- [Checking place-items: first baseline baseline]
- expected: FAIL
-
- [Checking place-items: flex-end first baseline]
- expected: FAIL
-
- [Checking place-items: safe center center]
- expected: FAIL
-
- [Checking place-items: first baseline safe center]
- expected: FAIL
-
- [Checking place-items: unsafe end center]
- expected: FAIL
-
- [Checking place-items: baseline center]
- expected: FAIL
-
- [Checking place-items: stretch first baseline]
- expected: FAIL
-
- [Checking place-items: center self-end]
- expected: FAIL
-
- [Checking place-items: self-end flex-end]
- expected: FAIL
-
- [Checking place-items: self-end self-end]
- expected: FAIL
-
- [Checking place-items: last baseline legacy center]
- expected: FAIL
-
- [Checking place-items: last baseline safe center]
- expected: FAIL
-
- [Checking place-items: safe end safe center]
- expected: FAIL
-
- [Checking place-items: unsafe flex-start safe center]
- expected: FAIL
-
- [Checking place-items: unsafe end left]
- expected: FAIL
-
- [Checking place-items: first baseline safe flex-end]
- expected: FAIL
-
- [Checking place-items: safe end self-start]
- expected: FAIL
-
- [Checking place-items: baseline legacy right]
- expected: FAIL
-
- [Checking place-items: self-end last baseline]
- expected: FAIL
-
- [Checking place-items: unsafe flex-start unsafe flex-start]
- expected: FAIL
-
- [Checking place-items: safe flex-end legacy center]
- expected: FAIL
-
- [Checking place-items: self-end unsafe end]
- expected: FAIL
-
- [Checking place-items: first baseline legacy left]
- expected: FAIL
-
- [Checking place-items: stretch flex-start]
- expected: FAIL
-
- [Checking place-items: safe center safe end]
- expected: FAIL
-
- [Checking place-items: first baseline unsafe flex-start]
- expected: FAIL
-
- [Checking place-items: self-start legacy right]
- expected: FAIL
-
- [Checking place-items: safe flex-end self-start]
- expected: FAIL
-
- [Checking place-items: stretch legacy left]
- expected: FAIL
-
- [Checking place-items: normal flex-start]
- expected: FAIL
-
- [Checking place-items: first baseline legacy right]
- expected: FAIL
-
- [Checking place-items: unsafe flex-start self-start]
- expected: FAIL
-
- [Checking place-items: safe center legacy right]
- expected: FAIL
-
- [Checking place-items: flex-end last baseline]
- expected: FAIL
-
- [Checking place-items: first baseline center]
- expected: FAIL
-
- [Checking place-items: unsafe flex-start safe flex-end]
- expected: FAIL
-
- [Checking place-items: safe flex-end unsafe flex-start]
- expected: FAIL
-
- [Checking place-items: self-start safe end]
- expected: FAIL
-
- [Checking place-items: flex-start start]
- expected: FAIL
-
- [Checking place-items: flex-end unsafe flex-start]
- expected: FAIL
-
- [Checking place-items: baseline right]
- expected: FAIL
-
- [Checking place-items: safe flex-end end]
- expected: FAIL
-
- [Checking place-items: self-start self-end]
- expected: FAIL
-
- [Checking place-items: self-end baseline]
- expected: FAIL
-
- [Checking place-items: self-start flex-end]
- expected: FAIL
-
- [Checking place-items: flex-start legacy center]
- expected: FAIL
-
- [Checking place-items: last baseline self-end]
- expected: FAIL
-
- [Checking place-items: last baseline last baseline]
- expected: FAIL
-
- [Checking place-items: stretch self-start]
- expected: FAIL
-
- [Checking place-items: start safe flex-end]
- expected: FAIL
-
- [Checking place-items: unsafe end flex-start]
- expected: FAIL
-
- [Checking place-items: unsafe flex-start baseline]
- expected: FAIL
-
- [Checking place-items: end left]
- expected: FAIL
-
- [Checking place-items: stretch safe flex-end]
- expected: FAIL
-
- [Checking place-items: self-end normal]
- expected: FAIL
-
- [Checking place-items: safe flex-end safe flex-end]
- expected: FAIL
-
- [Checking place-items: unsafe end baseline]
- expected: FAIL
-
- [Checking place-items: safe end normal]
- expected: FAIL
-
- [Checking place-items: normal right]
- expected: FAIL
-
- [Checking place-items: safe center unsafe end]
- expected: FAIL
-
- [Checking place-items: center legacy left]
- expected: FAIL
-
- [Checking place-items: first baseline right]
- expected: FAIL
-
- [Checking place-items: center legacy center]
- expected: FAIL
-
- [Checking place-items: start self-end]
- expected: FAIL
-
- [Checking place-items: start unsafe end]
- expected: FAIL
-
- [Checking place-items: unsafe end right]
- expected: FAIL
-
- [Checking place-items: unsafe flex-start flex-end]
- expected: FAIL
-
- [Checking place-items: end stretch]
- expected: FAIL
-
- [Checking place-items: safe center legacy left]
- expected: FAIL
-
- [Checking place-items: last baseline stretch]
- expected: FAIL
-
- [Checking place-items: start legacy center]
- expected: FAIL
-
- [Checking place-items: first baseline unsafe end]
- expected: FAIL
-
- [Checking place-items: flex-end normal]
- expected: FAIL
-
- [Checking place-items: safe center self-start]
- expected: FAIL
-
- [Checking place-items: self-end safe flex-end]
- expected: FAIL
-
- [Checking place-items: last baseline flex-end]
- expected: FAIL
-
- [Checking place-items: center end]
- expected: FAIL
-
- [Checking place-items: first baseline flex-end]
- expected: FAIL
-
- [Checking place-items: unsafe end first baseline]
- expected: FAIL
-
- [Checking place-items: flex-end safe center]
- expected: FAIL
-
- [Checking place-items: last baseline safe flex-end]
- expected: FAIL
-
- [Checking place-items: self-start legacy center]
- expected: FAIL
-
- [Checking place-items: last baseline unsafe flex-start]
- expected: FAIL
-
- [Checking place-items: flex-start normal]
- expected: FAIL
-
- [Checking place-items: self-start left]
- expected: FAIL
-
- [Checking place-items: self-end start]
- expected: FAIL
-
- [Checking place-items: baseline left]
- expected: FAIL
-
- [Checking place-items: end end]
- expected: FAIL
-
- [Checking place-items: flex-start center]
- expected: FAIL
-
- [Checking place-items: safe center first baseline]
- expected: FAIL
-
- [Checking place-items: self-end unsafe flex-start]
- expected: FAIL
-
- [Checking place-items: baseline self-start]
- expected: FAIL
-
- [Checking place-items: flex-end stretch]
- expected: FAIL
-
- [Checking place-items: baseline first baseline]
- expected: FAIL
-
- [Checking place-items: flex-end legacy left]
- expected: FAIL
-
- [Checking place-items: center unsafe end]
- expected: FAIL
-
- [Checking place-items: baseline flex-end]
- expected: FAIL
-
- [Checking place-items: end safe center]
- expected: FAIL
-
- [Checking place-items: start safe center]
- expected: FAIL
-
- [Checking place-items: baseline unsafe end]
- expected: FAIL
-
- [Checking place-items: normal unsafe end]
- expected: FAIL
-
- [Checking place-items: normal safe center]
- expected: FAIL
-
- [Checking place-items: normal start]
- expected: FAIL
-
- [Checking place-items: stretch last baseline]
- expected: FAIL
-
- [Checking place-items: flex-start safe end]
- expected: FAIL
-
- [Checking place-items: flex-end self-end]
- expected: FAIL
-
- [Checking place-items: start safe end]
- expected: FAIL
-
- [Checking place-items: flex-end legacy center]
- expected: FAIL
-
- [Checking place-items: center unsafe flex-start]
- expected: FAIL
-
- [Checking place-items: end legacy right]
- expected: FAIL
-
- [Checking place-items: stretch flex-end]
- expected: FAIL
-
- [Checking place-items: normal left]
- expected: FAIL
-
- [Checking place-items: last baseline first baseline]
- expected: FAIL
-
- [Checking place-items: safe flex-end flex-end]
- expected: FAIL
-
- [Checking place-items: flex-start self-end]
- expected: FAIL
-
- [Checking place-items: first baseline safe end]
- expected: FAIL
-
- [Checking place-items: first baseline left]
- expected: FAIL
-
- [Checking place-items: safe center end]
- expected: FAIL
-
- [Checking place-items: unsafe flex-start self-end]
- expected: FAIL
-
- [Checking place-items: center baseline]
- expected: FAIL
-
- [Checking place-items: self-start unsafe flex-start]
- expected: FAIL
-
- [Checking place-items: stretch unsafe flex-start]
- expected: FAIL
-
- [Checking place-items: baseline baseline]
- expected: FAIL
-
- [Checking place-items: unsafe end start]
- expected: FAIL
-
- [Checking place-items: self-start baseline]
- expected: FAIL
-
- [Checking place-items: stretch safe center]
- expected: FAIL
-
- [Checking place-items: safe center safe center]
- expected: FAIL
-
- [Checking place-items: flex-end right]
- expected: FAIL
-
- [Checking place-items: last baseline start]
- expected: FAIL
-
- [Checking place-items: baseline start]
- expected: FAIL
-
- [Checking place-items: start start]
- expected: FAIL
-
- [Checking place-items: safe center flex-start]
- expected: FAIL
-
- [Checking place-items: last baseline legacy left]
- expected: FAIL
-
- [Checking place-items: last baseline self-start]
- expected: FAIL
-
- [Checking place-items: first baseline start]
- expected: FAIL
-
- [Checking place-items: unsafe end last baseline]
- expected: FAIL
-
- [Checking place-items: center last baseline]
- expected: FAIL
-
- [Checking place-items: safe end flex-start]
- expected: FAIL
-
- [Checking place-items: end start]
- expected: FAIL
-
- [Checking place-items: last baseline center]
- expected: FAIL
-
- [Checking place-items: unsafe flex-start flex-start]
- expected: FAIL
-
- [Checking place-items: end first baseline]
- expected: FAIL
-
- [Checking place-items: start normal]
- expected: FAIL
-
- [Checking place-items: baseline last baseline]
- expected: FAIL
-
- [Checking place-items: safe end self-end]
- expected: FAIL
-
- [Checking place-items: safe flex-end center]
- expected: FAIL
-
- [Checking place-items: start flex-end]
- expected: FAIL
-
- [Checking place-items: stretch normal]
- expected: FAIL
-
- [Checking place-items: flex-start legacy right]
- expected: FAIL
-
- [Checking place-items: safe center normal]
- expected: FAIL
-
- [Checking place-items: normal legacy left]
- expected: FAIL
-
- [Checking place-items: start legacy right]
- expected: FAIL
-
- [Checking place-items: safe center self-end]
- expected: FAIL
-
- [Checking place-items: self-end safe center]
- expected: FAIL
-
- [Checking place-items: stretch stretch]
- expected: FAIL
-
- [Checking place-items: end safe end]
- expected: FAIL
-
- [Checking place-items: safe end safe end]
- expected: FAIL
-
- [Checking place-items: flex-start safe center]
- expected: FAIL
-
- [Checking place-items: self-end legacy right]
- expected: FAIL
-
- [Checking place-items: last baseline unsafe end]
- expected: FAIL
-
- [Checking place-items: first baseline self-end]
- expected: FAIL
-
- [Checking place-items: unsafe flex-start legacy left]
- expected: FAIL
-
- [Checking place-items: safe center legacy center]
- expected: FAIL
-
- [Checking place-items: first baseline flex-start]
- expected: FAIL
-
- [Checking place-items: normal self-end]
- expected: FAIL
-
- [Checking place-items: end flex-start]
- expected: FAIL
-
- [Checking place-items: center legacy right]
- expected: FAIL
-
- [Checking place-items: center flex-start]
- expected: FAIL
-
- [Checking place-items: end unsafe end]
- expected: FAIL
-
- [Checking place-items: baseline safe center]
- expected: FAIL
-
- [Checking place-items: stretch right]
- expected: FAIL
-
- [Checking place-items: safe end start]
- expected: FAIL
-
- [Checking place-items: flex-end end]
- expected: FAIL
-
- [Checking place-items: self-start normal]
- expected: FAIL
-
- [Checking place-items: end baseline]
- expected: FAIL
-
- [Checking place-items: center left]
- expected: FAIL
-
- [Checking place-items: start stretch]
- expected: FAIL
-
- [Checking place-items: unsafe flex-start center]
- expected: FAIL
-
- [Checking place-items: flex-end safe flex-end]
- expected: FAIL
-
- [Checking place-items: unsafe end stretch]
- expected: FAIL
-
- [Checking place-items: normal normal]
- expected: FAIL
-
- [Checking place-items: normal stretch]
- expected: FAIL
-
- [Checking place-items: unsafe flex-start normal]
- expected: FAIL
-
- [Checking place-items: safe flex-end last baseline]
- expected: FAIL
-
- [Checking place-items: self-end end]
- expected: FAIL
-
- [Checking place-items: self-start safe flex-end]
- expected: FAIL
-
- [Checking place-items: safe end unsafe flex-start]
- expected: FAIL
-
- [Checking place-items: first baseline self-start]
- expected: FAIL
-
- [Checking place-items: baseline legacy center]
- expected: FAIL
-
- [Checking place-items: last baseline legacy right]
- expected: FAIL
-
- [Checking place-items: unsafe flex-start right]
- expected: FAIL
-
- [Checking place-items: safe end legacy left]
- expected: FAIL
-
- [Checking place-items: baseline legacy left]
- expected: FAIL
-
- [Checking place-items: start last baseline]
- expected: FAIL
-
- [Checking place-items: unsafe end end]
- expected: FAIL
-
- [Checking place-items: normal flex-end]
- expected: FAIL
-
- [Checking place-items: baseline end]
- expected: FAIL
-
- [Checking place-items: self-start stretch]
- expected: FAIL
-
- [Checking place-items: safe end stretch]
- expected: FAIL
-
- [Checking place-items: flex-start unsafe end]
- expected: FAIL
-
- [Checking place-items: unsafe flex-start safe end]
- expected: FAIL
-
- [Checking place-items: flex-end flex-start]
- expected: FAIL
-
- [Checking place-items: flex-start self-start]
- expected: FAIL
-
- [Checking place-items: center stretch]
- expected: FAIL
-
- [Checking place-items: unsafe flex-start start]
- expected: FAIL
-
- [Checking place-items: flex-start first baseline]
- expected: FAIL
-
- [Checking place-items: safe end left]
- expected: FAIL
-
- [Checking place-items: center safe end]
- expected: FAIL
-
- [Checking place-items: flex-end left]
- expected: FAIL
-
- [Checking place-items: unsafe end legacy left]
- expected: FAIL
-
- [Checking place-items: last baseline flex-start]
- expected: FAIL
-
- [Checking place-items: self-end first baseline]
- expected: FAIL
-
- [Checking place-items: center flex-end]
- expected: FAIL
-
- [Checking place-items: end safe flex-end]
- expected: FAIL
-
- [Checking place-items: self-start end]
- expected: FAIL
-
- [Checking place-items: flex-end safe end]
- expected: FAIL
-
- [Checking place-items: safe flex-end safe end]
- expected: FAIL
-
- [Checking place-items: safe end baseline]
- expected: FAIL
-
- [Checking place-items: stretch safe end]
- expected: FAIL
-
- [Checking place-items: flex-end legacy right]
- expected: FAIL
-
- [Checking place-items: safe end right]
- expected: FAIL
-
- [Checking place-items: end center]
- expected: FAIL
-
- [Checking place-items: safe end last baseline]
- expected: FAIL
-
- [Checking place-items: stretch center]
- expected: FAIL
-
- [Checking place-items: stretch legacy right]
- expected: FAIL
-
- [Checking place-items: flex-end flex-end]
- expected: FAIL
-
- [Checking place-items: first baseline legacy center]
- expected: FAIL
-
- [Checking place-items: unsafe flex-start end]
- expected: FAIL
-
- [Checking place-items: self-end left]
- expected: FAIL
-
- [Checking place-items: safe center unsafe flex-start]
- expected: FAIL
-
- [Checking place-items: center start]
- expected: FAIL
-
- [Checking place-items: safe center start]
- expected: FAIL
-
- [Checking place-items: last baseline right]
- expected: FAIL
-
- [Checking place-items: safe center right]
- expected: FAIL
-
- [Checking place-items: safe end legacy right]
- expected: FAIL
-
- [Checking place-items: self-end center]
- expected: FAIL
-
- [Checking place-items: center normal]
- expected: FAIL
-
- [Checking place-items: self-start legacy left]
- expected: FAIL
-
- [Checking place-items: normal first baseline]
- expected: FAIL
-
- [Checking place-items: unsafe flex-start legacy right]
- expected: FAIL
-
- [Checking place-items: self-start self-start]
- expected: FAIL
-
- [Checking place-items: baseline stretch]
- expected: FAIL
-
- [Checking place-items: stretch start]
- expected: FAIL
-
- [Checking place-items: self-start unsafe end]
- expected: FAIL
-
- [Checking place-items: flex-start baseline]
- expected: FAIL
-
- [Checking place-items: normal legacy center]
- expected: FAIL
-
- [Checking place-items: safe center last baseline]
- expected: FAIL
-
- [Checking place-items: stretch self-end]
- expected: FAIL
-
- [Checking place-items: flex-start legacy left]
- expected: FAIL
-
- [Checking place-items: stretch end]
- expected: FAIL
-
- [Checking place-items: flex-start flex-end]
- expected: FAIL
-
- [Checking place-items: safe flex-end flex-start]
- expected: FAIL
-
- [Checking place-items: start self-start]
- expected: FAIL
-
- [Checking place-items: center right]
- expected: FAIL
-
- [Checking place-items: safe flex-end start]
- expected: FAIL
-
- [Checking place-items: end last baseline]
- expected: FAIL
-
- [Checking place-items: end legacy center]
- expected: FAIL
-
- [Checking place-items: normal center]
- expected: FAIL
-
- [Checking place-items: safe end center]
- expected: FAIL
-
- [Checking place-items: end legacy left]
- expected: FAIL
-
- [Checking place-items: unsafe flex-start left]
- expected: FAIL
-
- [Checking place-items: center first baseline]
- expected: FAIL
-
- [Checking place-items: safe end first baseline]
- expected: FAIL
-
- [Checking place-items: safe flex-end first baseline]
- expected: FAIL
-
- [Checking place-items: end unsafe flex-start]
- expected: FAIL
-
- [Checking place-items: flex-start right]
- expected: FAIL
-
- [Checking place-items: normal safe flex-end]
- expected: FAIL
-
- [Checking place-items: start flex-start]
- expected: FAIL
-
- [Checking place-items: safe center baseline]
- expected: FAIL
-
- [Checking place-items: unsafe flex-start first baseline]
- expected: FAIL
-
- [Checking place-items: safe flex-end left]
- expected: FAIL
-
- [Checking place-items: flex-start stretch]
- expected: FAIL
-
- [Checking place-items: center self-start]
- expected: FAIL
-
- [Checking place-items: normal safe end]
- expected: FAIL
-
- [Checking place-items: last baseline end]
- expected: FAIL
-
- [Checking place-items: self-start center]
- expected: FAIL
-
- [Checking place-items: self-end right]
- expected: FAIL
-
- [Checking place-items: baseline unsafe flex-start]
- expected: FAIL
-
- [Checking place-items: safe flex-end self-end]
- expected: FAIL
-
- [Checking place-items: safe flex-end unsafe end]
- expected: FAIL
-
- [Checking place-items: first baseline first baseline]
- expected: FAIL
-
- [Checking place-items: last baseline safe end]
- expected: FAIL
-
- [Checking place-items: safe end end]
- expected: FAIL
-
- [Checking place-items: start center]
- expected: FAIL
-
- [Checking place-items: normal end]
- expected: FAIL
-
- [Checking place-items: flex-start last baseline]
- expected: FAIL
-
- [Checking place-items: stretch left]
- expected: FAIL
-
- [Checking place-items: first baseline end]
- expected: FAIL
-
- [Checking place-items: flex-end baseline]
- expected: FAIL
-
- [Checking place-items: flex-end self-start]
- expected: FAIL
-
- [Checking place-items: self-end legacy left]
- expected: FAIL
-
- [Checking place-items: first baseline stretch]
- expected: FAIL
-
- [Checking place-items: unsafe end normal]
- expected: FAIL
-
- [Checking place-items: baseline safe end]
- expected: FAIL
-
- [Checking place-items: start baseline]
- expected: FAIL
-
- [Checking place-items: flex-end start]
- expected: FAIL
-
- [Checking place-items: flex-end unsafe end]
- expected: FAIL
-
- [Checking place-items: baseline safe flex-end]
- expected: FAIL
-
- [Checking place-items: start legacy left]
- expected: FAIL
-
- [Checking place-items: flex-start safe flex-end]
- expected: FAIL
-
- [Checking place-items: flex-start unsafe flex-start]
- expected: FAIL
-
- [Checking place-items: self-end flex-start]
- expected: FAIL
-
- [Checking place-items: self-start right]
- expected: FAIL
-
- [Checking place-items: end flex-end]
- expected: FAIL
-
- [Checking place-items: last baseline left]
- expected: FAIL
-
- [Checking place-items: self-end self-start]
- expected: FAIL
-
- [Checking place-items: flex-start end]
- expected: FAIL
-
- [Checking place-items: self-end safe end]
- expected: FAIL
-
- [Checking place-items: safe flex-end right]
- expected: FAIL
-
- [Checking place-items: end self-start]
- expected: FAIL
-
- [Checking place-items: unsafe flex-start last baseline]
- expected: FAIL
-
- [Checking place-items: self-start flex-start]
- expected: FAIL
-
- [Checking place-items: safe flex-end legacy right]
- expected: FAIL
-
- [Checking place-items: center safe flex-end]
- expected: FAIL
-
- [Checking place-items: flex-start left]
- expected: FAIL
-
- [Checking place-items: unsafe end safe center]
- expected: FAIL
-
- [Checking place-items: first baseline normal]
- expected: FAIL
-
- [Checking place-items: stretch unsafe end]
- expected: FAIL
-
- [Checking place-items: safe center stretch]
- expected: FAIL
-
- [Checking place-items: unsafe end legacy center]
- expected: FAIL
-
- [Checking place-items: last baseline normal]
- expected: FAIL
-
- [Checking place-items: last baseline baseline]
- expected: FAIL
-
- [Checking place-items: normal legacy right]
- expected: FAIL
-
- [Checking place-items: unsafe flex-start stretch]
- expected: FAIL
-
- [Checking place-items: self-end legacy center]
- expected: FAIL
-
diff --git a/tests/wpt/meta-legacy-layout/css/css-align/default-alignment/place-items-shorthand-003.html.ini b/tests/wpt/meta-legacy-layout/css/css-align/default-alignment/place-items-shorthand-003.html.ini
deleted file mode 100644
index a18021d228f..00000000000
--- a/tests/wpt/meta-legacy-layout/css/css-align/default-alignment/place-items-shorthand-003.html.ini
+++ /dev/null
@@ -1,7 +0,0 @@
-[place-items-shorthand-003.html]
- [Check place-items: initial - align-items expanded value]
- expected: FAIL
-
- [Check place-items: initial - justify-items expanded value]
- expected: FAIL
-
diff --git a/tests/wpt/meta-legacy-layout/css/css-align/default-alignment/place-items-shorthand-004.html.ini b/tests/wpt/meta-legacy-layout/css/css-align/default-alignment/place-items-shorthand-004.html.ini
deleted file mode 100644
index ed70c4c481e..00000000000
--- a/tests/wpt/meta-legacy-layout/css/css-align/default-alignment/place-items-shorthand-004.html.ini
+++ /dev/null
@@ -1,13 +0,0 @@
-[place-items-shorthand-004.html]
- [Verify empty declaration is invalid]
- expected: FAIL
-
- [Verify fallback values are invalid]
- expected: FAIL
-
- [Verify numeric values are invalid]
- expected: FAIL
-
- [Verify 'left' and 'right' values are invalid for block/cross axis alignment]
- expected: FAIL
-
diff --git a/tests/wpt/meta-legacy-layout/css/css-align/default-alignment/place-items-shorthand-005.html.ini b/tests/wpt/meta-legacy-layout/css/css-align/default-alignment/place-items-shorthand-005.html.ini
deleted file mode 100644
index 12d16df600c..00000000000
--- a/tests/wpt/meta-legacy-layout/css/css-align/default-alignment/place-items-shorthand-005.html.ini
+++ /dev/null
@@ -1,7 +0,0 @@
-[place-items-shorthand-005.html]
- [Check place-items: inherit - align-items resolved value]
- expected: FAIL
-
- [Check place-items: inherit - justify-items resolved value]
- expected: FAIL
-
diff --git a/tests/wpt/meta-legacy-layout/css/css-align/default-alignment/place-items-shorthand-006.html.ini b/tests/wpt/meta-legacy-layout/css/css-align/default-alignment/place-items-shorthand-006.html.ini
deleted file mode 100644
index 01688dfed2c..00000000000
--- a/tests/wpt/meta-legacy-layout/css/css-align/default-alignment/place-items-shorthand-006.html.ini
+++ /dev/null
@@ -1,109 +0,0 @@
-[place-items-shorthand-006.html]
- [Checking place-items: first baseline start]
- expected: FAIL
-
- [Checking place-items: last baseline last baseline]
- expected: FAIL
-
- [Checking place-items: flex-start flex-start]
- expected: FAIL
-
- [Checking place-items: end first baseline]
- expected: FAIL
-
- [Checking place-items: self-start first baseline]
- expected: FAIL
-
- [Checking place-items: normal first baseline]
- expected: FAIL
-
- [Checking place-items: self-start self-start]
- expected: FAIL
-
- [Checking place-items: first baseline right]
- expected: FAIL
-
- [Checking place-items: flex-start first baseline]
- expected: FAIL
-
- [Checking place-items: stretch stretch]
- expected: FAIL
-
- [Checking place-items: first baseline last baseline]
- expected: FAIL
-
- [Checking place-items: first baseline self-end]
- expected: FAIL
-
- [Checking place-items: baseline baseline]
- expected: FAIL
-
- [Checking place-items: start first baseline]
- expected: FAIL
-
- [Checking place-items: first baseline flex-start]
- expected: FAIL
-
- [Checking place-items: first baseline flex-end]
- expected: FAIL
-
- [Checking place-items: center first baseline]
- expected: FAIL
-
- [Checking place-items: end end]
- expected: FAIL
-
- [Checking place-items: first baseline baseline]
- expected: FAIL
-
- [Checking place-items: first baseline first baseline]
- expected: FAIL
-
- [Checking place-items: flex-end flex-end]
- expected: FAIL
-
- [Checking place-items: first baseline self-start]
- expected: FAIL
-
- [Checking place-items: stretch first baseline]
- expected: FAIL
-
- [Checking place-items: first baseline end]
- expected: FAIL
-
- [Checking place-items: first baseline stretch]
- expected: FAIL
-
- [Checking place-items: self-end self-end]
- expected: FAIL
-
- [Checking place-items: last baseline first baseline]
- expected: FAIL
-
- [Checking place-items: center center]
- expected: FAIL
-
- [Checking place-items: flex-end first baseline]
- expected: FAIL
-
- [Checking place-items: first baseline left]
- expected: FAIL
-
- [Checking place-items: first baseline normal]
- expected: FAIL
-
- [Checking place-items: baseline first baseline]
- expected: FAIL
-
- [Checking place-items: first baseline center]
- expected: FAIL
-
- [Checking place-items: self-end first baseline]
- expected: FAIL
-
- [Checking place-items: normal normal]
- expected: FAIL
-
- [Checking place-items: start start]
- expected: FAIL
-
diff --git a/tests/wpt/meta-legacy-layout/css/css-align/default-alignment/shorthand-serialization-001.html.ini b/tests/wpt/meta-legacy-layout/css/css-align/default-alignment/shorthand-serialization-001.html.ini
deleted file mode 100644
index 1c1542bf448..00000000000
--- a/tests/wpt/meta-legacy-layout/css/css-align/default-alignment/shorthand-serialization-001.html.ini
+++ /dev/null
@@ -1,52 +0,0 @@
-[shorthand-serialization-001.html]
- [test shorthand serialization {"justifySelf":"unsafe start","shorthand":["auto start","auto unsafe start"\]}]
- expected: FAIL
-
- [test shorthand serialization {"justifySelf":"last baseline start","shorthand":""}]
- expected: FAIL
-
- [test shorthand serialization {"justifyContent":"safe start","shorthand":"normal safe start"}]
- expected: FAIL
-
- [test shorthand serialization {"justifyItems":"left legacy","shorthand":"normal legacy left"}]
- expected: FAIL
-
- [test shorthand serialization {"alignContent":"baseline safe right","shorthand":""}]
- expected: FAIL
-
- [test shorthand serialization {"justifyItems":"safe start","shorthand":"normal safe start"}]
- expected: FAIL
-
- [test shorthand serialization {"alignItems":"stretch","justifyItems":"end","shorthand":"stretch end"}]
- expected: FAIL
-
- [test shorthand serialization {"alignItems":"baseline","shorthand":"baseline legacy"}]
- expected: FAIL
-
- [test shorthand serialization {"justifyItems":"unsafe start","shorthand":["normal unsafe start"\]}]
- expected: FAIL
-
- [test shorthand serialization {"alignSelf":"self-end safe","shorthand":""}]
- expected: FAIL
-
- [test shorthand serialization {"justifyContent":"unsafe start","shorthand":["normal unsafe start"\]}]
- expected: FAIL
-
- [test shorthand serialization {"justifyItems":"stretch","shorthand":"normal stretch"}]
- expected: FAIL
-
- [test shorthand serialization {"alignContent":"center","shorthand":"center normal"}]
- expected: FAIL
-
- [test shorthand serialization {"alignContent":"start","justifyContent":"end","shorthand":"start end"}]
- expected: FAIL
-
- [test shorthand serialization {"justifyContent":"space-evenly start","shorthand":""}]
- expected: FAIL
-
- [test shorthand serialization {"alignItems":"center","shorthand":"center legacy"}]
- expected: FAIL
-
- [test shorthand serialization {"alignSelf":"baseline","justifySelf":"last baseline","shorthand":"baseline last baseline"}]
- expected: FAIL
-
diff --git a/tests/wpt/meta-legacy-layout/css/css-align/inheritance.html.ini b/tests/wpt/meta-legacy-layout/css/css-align/inheritance.html.ini
index efe23207c84..8e3d9b6c540 100644
--- a/tests/wpt/meta-legacy-layout/css/css-align/inheritance.html.ini
+++ b/tests/wpt/meta-legacy-layout/css/css-align/inheritance.html.ini
@@ -1,45 +1,15 @@
[inheritance.html]
- [Property align-self does not inherit]
- expected: FAIL
-
- [Property align-items has initial value normal]
- expected: FAIL
-
- [Property align-content has initial value normal]
- expected: FAIL
-
- [Property align-items does not inherit]
- expected: FAIL
-
- [Property align-self has initial value auto]
- expected: FAIL
-
- [Property justify-content has initial value normal]
- expected: FAIL
-
- [Property align-content does not inherit]
- expected: FAIL
-
- [Property justify-self has initial value auto]
- expected: FAIL
-
[Property row-gap does not inherit]
expected: FAIL
[Property row-gap has initial value normal]
expected: FAIL
- [Property justify-items does not inherit]
- expected: FAIL
-
[Property column-gap has initial value normal]
expected: FAIL
[Property justify-items has initial value legacy center]
expected: FAIL
- [Property justify-self does not inherit]
- expected: FAIL
-
[Property column-gap does not inherit]
expected: FAIL
diff --git a/tests/wpt/meta-legacy-layout/css/css-align/parsing/align-content-computed.html.ini b/tests/wpt/meta-legacy-layout/css/css-align/parsing/align-content-computed.html.ini
index 6cc4974411e..ef2529a6e39 100644
--- a/tests/wpt/meta-legacy-layout/css/css-align/parsing/align-content-computed.html.ini
+++ b/tests/wpt/meta-legacy-layout/css/css-align/parsing/align-content-computed.html.ini
@@ -22,18 +22,3 @@
[Property align-content value 'space-evenly' computes to 'space-evenly']
expected: FAIL
-
- [Property align-content value 'last baseline']
- expected: FAIL
-
- [Property align-content value 'baseline']
- expected: FAIL
-
- [Property align-content value 'unsafe end']
- expected: FAIL
-
- [Property align-content value 'normal']
- expected: FAIL
-
- [Property align-content value 'safe flex-start']
- expected: FAIL
diff --git a/tests/wpt/meta-legacy-layout/css/css-align/parsing/align-content-valid.html.ini b/tests/wpt/meta-legacy-layout/css/css-align/parsing/align-content-valid.html.ini
deleted file mode 100644
index 534aae82912..00000000000
--- a/tests/wpt/meta-legacy-layout/css/css-align/parsing/align-content-valid.html.ini
+++ /dev/null
@@ -1,18 +0,0 @@
-[align-content-valid.html]
- [e.style['align-content'\] = "first baseline" should set the property value]
- expected: FAIL
-
- [e.style['align-content'\] = "unsafe end" should set the property value]
- expected: FAIL
-
- [e.style['align-content'\] = "normal" should set the property value]
- expected: FAIL
-
- [e.style['align-content'\] = "baseline" should set the property value]
- expected: FAIL
-
- [e.style['align-content'\] = "safe flex-start" should set the property value]
- expected: FAIL
-
- [e.style['align-content'\] = "last baseline" should set the property value]
- expected: FAIL
diff --git a/tests/wpt/meta-legacy-layout/css/css-align/parsing/align-items-computed.html.ini b/tests/wpt/meta-legacy-layout/css/css-align/parsing/align-items-computed.html.ini
index a6bf5fa814d..1e7494f9ede 100644
--- a/tests/wpt/meta-legacy-layout/css/css-align/parsing/align-items-computed.html.ini
+++ b/tests/wpt/meta-legacy-layout/css/css-align/parsing/align-items-computed.html.ini
@@ -22,28 +22,3 @@
[Property align-items value 'last baseline' computes to 'last baseline']
expected: FAIL
-
- [Property align-items value 'self-end']
- expected: FAIL
-
- [Property align-items value 'start']
- expected: FAIL
-
- [Property align-items value 'unsafe center']
- expected: FAIL
-
- [Property align-items value 'last baseline']
- expected: FAIL
-
- [Property align-items value 'end']
- expected: FAIL
-
- [Property align-items value 'self-start']
- expected: FAIL
-
- [Property align-items value 'safe self-end']
- expected: FAIL
-
- [Property align-items value 'normal']
- expected: FAIL
-
diff --git a/tests/wpt/meta-legacy-layout/css/css-align/parsing/align-items-valid.html.ini b/tests/wpt/meta-legacy-layout/css/css-align/parsing/align-items-valid.html.ini
deleted file mode 100644
index 96318c358d4..00000000000
--- a/tests/wpt/meta-legacy-layout/css/css-align/parsing/align-items-valid.html.ini
+++ /dev/null
@@ -1,28 +0,0 @@
-[align-items-valid.html]
- [e.style['align-items'\] = "last baseline" should set the property value]
- expected: FAIL
-
- [e.style['align-items'\] = "unsafe center" should set the property value]
- expected: FAIL
-
- [e.style['align-items'\] = "first baseline" should set the property value]
- expected: FAIL
-
- [e.style['align-items'\] = "normal" should set the property value]
- expected: FAIL
-
- [e.style['align-items'\] = "start" should set the property value]
- expected: FAIL
-
- [e.style['align-items'\] = "self-start" should set the property value]
- expected: FAIL
-
- [e.style['align-items'\] = "end" should set the property value]
- expected: FAIL
-
- [e.style['align-items'\] = "self-end" should set the property value]
- expected: FAIL
-
- [e.style['align-items'\] = "safe self-end" should set the property value]
- expected: FAIL
-
diff --git a/tests/wpt/meta-legacy-layout/css/css-align/parsing/align-self-computed.html.ini b/tests/wpt/meta-legacy-layout/css/css-align/parsing/align-self-computed.html.ini
index 6d95449604f..617f03148a1 100644
--- a/tests/wpt/meta-legacy-layout/css/css-align/parsing/align-self-computed.html.ini
+++ b/tests/wpt/meta-legacy-layout/css/css-align/parsing/align-self-computed.html.ini
@@ -25,31 +25,3 @@
[Property align-self value 'start' computes to 'start']
expected: FAIL
-
- [Property align-self value 'safe self-end']
- expected: FAIL
-
- [Property align-self value 'self-start']
- expected: FAIL
-
- [Property align-self value 'unsafe center']
- expected: FAIL
-
- [Property align-self value 'normal']
- expected: FAIL
-
- [Property align-self value 'self-end']
- expected: FAIL
-
- [Property align-self value 'start']
- expected: FAIL
-
- [Property align-self value 'auto']
- expected: FAIL
-
- [Property align-self value 'last baseline']
- expected: FAIL
-
- [Property align-self value 'end']
- expected: FAIL
-
diff --git a/tests/wpt/meta-legacy-layout/css/css-align/parsing/align-self-valid.html.ini b/tests/wpt/meta-legacy-layout/css/css-align/parsing/align-self-valid.html.ini
deleted file mode 100644
index efffe6178d0..00000000000
--- a/tests/wpt/meta-legacy-layout/css/css-align/parsing/align-self-valid.html.ini
+++ /dev/null
@@ -1,28 +0,0 @@
-[align-self-valid.html]
- [e.style['align-self'\] = "self-end" should set the property value]
- expected: FAIL
-
- [e.style['align-self'\] = "last baseline" should set the property value]
- expected: FAIL
-
- [e.style['align-self'\] = "first baseline" should set the property value]
- expected: FAIL
-
- [e.style['align-self'\] = "start" should set the property value]
- expected: FAIL
-
- [e.style['align-self'\] = "end" should set the property value]
- expected: FAIL
-
- [e.style['align-self'\] = "safe self-end" should set the property value]
- expected: FAIL
-
- [e.style['align-self'\] = "normal" should set the property value]
- expected: FAIL
-
- [e.style['align-self'\] = "unsafe center" should set the property value]
- expected: FAIL
-
- [e.style['align-self'\] = "self-start" should set the property value]
- expected: FAIL
-
diff --git a/tests/wpt/meta-legacy-layout/css/css-align/parsing/justify-content-computed.html.ini b/tests/wpt/meta-legacy-layout/css/css-align/parsing/justify-content-computed.html.ini
index de67d888a24..e5981902de0 100644
--- a/tests/wpt/meta-legacy-layout/css/css-align/parsing/justify-content-computed.html.ini
+++ b/tests/wpt/meta-legacy-layout/css/css-align/parsing/justify-content-computed.html.ini
@@ -22,18 +22,3 @@
[Property justify-content value 'safe flex-start' computes to 'safe flex-start']
expected: FAIL
-
- [Property justify-content value 'unsafe end']
- expected: FAIL
-
- [Property justify-content value 'normal']
- expected: FAIL
-
- [Property justify-content value 'unsafe right']
- expected: FAIL
-
- [Property justify-content value 'safe flex-start']
- expected: FAIL
-
- [Property justify-content value 'left']
- expected: FAIL
diff --git a/tests/wpt/meta-legacy-layout/css/css-align/parsing/justify-content-valid.html.ini b/tests/wpt/meta-legacy-layout/css/css-align/parsing/justify-content-valid.html.ini
deleted file mode 100644
index 0fe3fef2683..00000000000
--- a/tests/wpt/meta-legacy-layout/css/css-align/parsing/justify-content-valid.html.ini
+++ /dev/null
@@ -1,15 +0,0 @@
-[justify-content-valid.html]
- [e.style['justify-content'\] = "unsafe right" should set the property value]
- expected: FAIL
-
- [e.style['justify-content'\] = "normal" should set the property value]
- expected: FAIL
-
- [e.style['justify-content'\] = "unsafe end" should set the property value]
- expected: FAIL
-
- [e.style['justify-content'\] = "safe flex-start" should set the property value]
- expected: FAIL
-
- [e.style['justify-content'\] = "left" should set the property value]
- expected: FAIL
diff --git a/tests/wpt/meta-legacy-layout/css/css-align/parsing/justify-items-computed.html.ini b/tests/wpt/meta-legacy-layout/css/css-align/parsing/justify-items-computed.html.ini
index 3cd51733267..1a3786143b5 100644
--- a/tests/wpt/meta-legacy-layout/css/css-align/parsing/justify-items-computed.html.ini
+++ b/tests/wpt/meta-legacy-layout/css/css-align/parsing/justify-items-computed.html.ini
@@ -58,61 +58,3 @@
[Property justify-items value 'end' computes to 'end']
expected: FAIL
-
- [Property justify-items value 'legacy right']
- expected: FAIL
-
- [Property justify-items value 'safe self-end']
- expected: FAIL
-
- [Property justify-items value 'center']
- expected: FAIL
-
- [Property justify-items value 'legacy']
- expected: FAIL
-
- [Property justify-items value 'normal']
- expected: FAIL
-
- [Property justify-items value 'legacy center']
- expected: FAIL
-
- [Property justify-items value 'flex-start']
- expected: FAIL
-
- [Property justify-items value 'self-end']
- expected: FAIL
-
- [Property justify-items value 'last baseline']
- expected: FAIL
-
- [Property justify-items value 'safe left']
- expected: FAIL
-
- [Property justify-items value 'right']
- expected: FAIL
-
- [Property justify-items value 'start']
- expected: FAIL
-
- [Property justify-items value 'end']
- expected: FAIL
-
- [Property justify-items value 'stretch']
- expected: FAIL
-
- [Property justify-items value 'unsafe center']
- expected: FAIL
-
- [Property justify-items value 'flex-end']
- expected: FAIL
-
- [Property justify-items value 'self-start']
- expected: FAIL
-
- [Property justify-items value 'legacy left']
- expected: FAIL
-
- [Property justify-items value 'baseline']
- expected: FAIL
-
diff --git a/tests/wpt/meta-legacy-layout/css/css-align/parsing/justify-items-valid.html.ini b/tests/wpt/meta-legacy-layout/css/css-align/parsing/justify-items-valid.html.ini
deleted file mode 100644
index 731e9282c24..00000000000
--- a/tests/wpt/meta-legacy-layout/css/css-align/parsing/justify-items-valid.html.ini
+++ /dev/null
@@ -1,61 +0,0 @@
-[justify-items-valid.html]
- [e.style['justify-items'\] = "self-end" should set the property value]
- expected: FAIL
-
- [e.style['justify-items'\] = "unsafe center" should set the property value]
- expected: FAIL
-
- [e.style['justify-items'\] = "safe left" should set the property value]
- expected: FAIL
-
- [e.style['justify-items'\] = "baseline" should set the property value]
- expected: FAIL
-
- [e.style['justify-items'\] = "safe self-end" should set the property value]
- expected: FAIL
-
- [e.style['justify-items'\] = "flex-start" should set the property value]
- expected: FAIL
-
- [e.style['justify-items'\] = "center" should set the property value]
- expected: FAIL
-
- [e.style['justify-items'\] = "center legacy" should set the property value]
- expected: FAIL
-
- [e.style['justify-items'\] = "right legacy" should set the property value]
- expected: FAIL
-
- [e.style['justify-items'\] = "last baseline" should set the property value]
- expected: FAIL
-
- [e.style['justify-items'\] = "start" should set the property value]
- expected: FAIL
-
- [e.style['justify-items'\] = "left legacy" should set the property value]
- expected: FAIL
-
- [e.style['justify-items'\] = "normal" should set the property value]
- expected: FAIL
-
- [e.style['justify-items'\] = "stretch" should set the property value]
- expected: FAIL
-
- [e.style['justify-items'\] = "flex-end" should set the property value]
- expected: FAIL
-
- [e.style['justify-items'\] = "self-start" should set the property value]
- expected: FAIL
-
- [e.style['justify-items'\] = "end" should set the property value]
- expected: FAIL
-
- [e.style['justify-items'\] = "first baseline" should set the property value]
- expected: FAIL
-
- [e.style['justify-items'\] = "right" should set the property value]
- expected: FAIL
-
- [e.style['justify-items'\] = "legacy" should set the property value]
- expected: FAIL
-
diff --git a/tests/wpt/meta-legacy-layout/css/css-align/parsing/justify-self-computed.html.ini b/tests/wpt/meta-legacy-layout/css/css-align/parsing/justify-self-computed.html.ini
index b739e8a51d0..fd7f342c9aa 100644
--- a/tests/wpt/meta-legacy-layout/css/css-align/parsing/justify-self-computed.html.ini
+++ b/tests/wpt/meta-legacy-layout/css/css-align/parsing/justify-self-computed.html.ini
@@ -46,52 +46,3 @@
[Property justify-self value 'unsafe center' computes to 'unsafe center']
expected: FAIL
-
- [Property justify-self value 'center']
- expected: FAIL
-
- [Property justify-self value 'safe self-end']
- expected: FAIL
-
- [Property justify-self value 'auto']
- expected: FAIL
-
- [Property justify-self value 'unsafe center']
- expected: FAIL
-
- [Property justify-self value 'baseline']
- expected: FAIL
-
- [Property justify-self value 'start']
- expected: FAIL
-
- [Property justify-self value 'last baseline']
- expected: FAIL
-
- [Property justify-self value 'normal']
- expected: FAIL
-
- [Property justify-self value 'end']
- expected: FAIL
-
- [Property justify-self value 'flex-end']
- expected: FAIL
-
- [Property justify-self value 'stretch']
- expected: FAIL
-
- [Property justify-self value 'self-start']
- expected: FAIL
-
- [Property justify-self value 'flex-start']
- expected: FAIL
-
- [Property justify-self value 'self-end']
- expected: FAIL
-
- [Property justify-self value 'left']
- expected: FAIL
-
- [Property justify-self value 'unsafe right']
- expected: FAIL
-
diff --git a/tests/wpt/meta-legacy-layout/css/css-align/parsing/justify-self-valid.html.ini b/tests/wpt/meta-legacy-layout/css/css-align/parsing/justify-self-valid.html.ini
deleted file mode 100644
index b019690d48a..00000000000
--- a/tests/wpt/meta-legacy-layout/css/css-align/parsing/justify-self-valid.html.ini
+++ /dev/null
@@ -1,52 +0,0 @@
-[justify-self-valid.html]
- [e.style['justify-self'\] = "self-end" should set the property value]
- expected: FAIL
-
- [e.style['justify-self'\] = "unsafe center" should set the property value]
- expected: FAIL
-
- [e.style['justify-self'\] = "auto" should set the property value]
- expected: FAIL
-
- [e.style['justify-self'\] = "safe self-end" should set the property value]
- expected: FAIL
-
- [e.style['justify-self'\] = "baseline" should set the property value]
- expected: FAIL
-
- [e.style['justify-self'\] = "start" should set the property value]
- expected: FAIL
-
- [e.style['justify-self'\] = "left" should set the property value]
- expected: FAIL
-
- [e.style['justify-self'\] = "center" should set the property value]
- expected: FAIL
-
- [e.style['justify-self'\] = "flex-start" should set the property value]
- expected: FAIL
-
- [e.style['justify-self'\] = "stretch" should set the property value]
- expected: FAIL
-
- [e.style['justify-self'\] = "normal" should set the property value]
- expected: FAIL
-
- [e.style['justify-self'\] = "end" should set the property value]
- expected: FAIL
-
- [e.style['justify-self'\] = "flex-end" should set the property value]
- expected: FAIL
-
- [e.style['justify-self'\] = "self-start" should set the property value]
- expected: FAIL
-
- [e.style['justify-self'\] = "last baseline" should set the property value]
- expected: FAIL
-
- [e.style['justify-self'\] = "first baseline" should set the property value]
- expected: FAIL
-
- [e.style['justify-self'\] = "unsafe right" should set the property value]
- expected: FAIL
-
diff --git a/tests/wpt/meta-legacy-layout/css/css-align/parsing/place-content-computed.html.ini b/tests/wpt/meta-legacy-layout/css/css-align/parsing/place-content-computed.html.ini
index c940f4a8ce1..afa6b809d8d 100644
--- a/tests/wpt/meta-legacy-layout/css/css-align/parsing/place-content-computed.html.ini
+++ b/tests/wpt/meta-legacy-layout/css/css-align/parsing/place-content-computed.html.ini
@@ -67,73 +67,3 @@
[Property place-content value 'normal right' computes to 'normal right']
expected: FAIL
-
- [Property place-content value 'last baseline flex-start']
- expected: FAIL
-
- [Property place-content value 'first baseline stretch']
- expected: FAIL
-
- [Property place-content value 'flex-start flex-start']
- expected: FAIL
-
- [Property place-content value 'space-around']
- expected: FAIL
-
- [Property place-content value 'space-evenly']
- expected: FAIL
-
- [Property place-content value 'safe flex-start']
- expected: FAIL
-
- [Property place-content value 'center normal']
- expected: FAIL
-
- [Property place-content value 'end']
- expected: FAIL
-
- [Property place-content value 'stretch']
- expected: FAIL
-
- [Property place-content value 'normal normal']
- expected: FAIL
-
- [Property place-content value 'center']
- expected: FAIL
-
- [Property place-content value 'space-evenly unsafe end']
- expected: FAIL
-
- [Property place-content value 'baseline stretch']
- expected: FAIL
-
- [Property place-content value 'space-between']
- expected: FAIL
-
- [Property place-content value 'baseline space-around']
- expected: FAIL
-
- [Property place-content value 'first baseline start']
- expected: FAIL
-
- [Property place-content value 'baseline']
- expected: FAIL
-
- [Property place-content value 'last baseline']
- expected: FAIL
-
- [Property place-content value 'normal stretch']
- expected: FAIL
-
- [Property place-content value 'normal right']
- expected: FAIL
-
- [Property place-content value 'first baseline']
- expected: FAIL
-
- [Property place-content value 'baseline unsafe left']
- expected: FAIL
-
- [Property place-content value 'unsafe end unsafe end']
- expected: FAIL
-
diff --git a/tests/wpt/meta-legacy-layout/css/css-align/parsing/place-content-shorthand.html.ini b/tests/wpt/meta-legacy-layout/css/css-align/parsing/place-content-shorthand.html.ini
index 727620ff56d..19bfd19e112 100644
--- a/tests/wpt/meta-legacy-layout/css/css-align/parsing/place-content-shorthand.html.ini
+++ b/tests/wpt/meta-legacy-layout/css/css-align/parsing/place-content-shorthand.html.ini
@@ -13,49 +13,3 @@
[e.style['place-content'\] = "last baseline flex-start" should set the longhand values]
expected: FAIL
-
- [e.style['place-content'\] = "first baseline" should set justify-content]
- expected: FAIL
-
- [e.style['place-content'\] = "normal" should set justify-content]
- expected: FAIL
-
- [e.style['place-content'\] = "space-evenly unsafe end" should set align-content]
- expected: FAIL
-
- [e.style['place-content'\] = "last baseline flex-start" should set justify-content]
- expected: FAIL
-
- [e.style['place-content'\] = "last baseline flex-start" should set align-content]
- expected: FAIL
-
- [e.style['place-content'\] = "space-around" should set align-content]
- expected: FAIL
-
- [e.style['place-content'\] = "first baseline" should set align-content]
- expected: FAIL
-
- [e.style['place-content'\] = "normal" should set align-content]
- expected: FAIL
-
- [e.style['place-content'\] = "space-around" should set justify-content]
- expected: FAIL
-
- [e.style['place-content'\] = "space-evenly unsafe end" should set justify-content]
- expected: FAIL
-
- [e.style['place-content'\] = "first baseline" should not set unrelated longhands]
- expected: FAIL
-
- [e.style['place-content'\] = "last baseline flex-start" should not set unrelated longhands]
- expected: FAIL
-
- [e.style['place-content'\] = "space-evenly unsafe end" should not set unrelated longhands]
- expected: FAIL
-
- [e.style['place-content'\] = "normal" should not set unrelated longhands]
- expected: FAIL
-
- [e.style['place-content'\] = "space-around" should not set unrelated longhands]
- expected: FAIL
-
diff --git a/tests/wpt/meta-legacy-layout/css/css-align/parsing/place-content-valid.html.ini b/tests/wpt/meta-legacy-layout/css/css-align/parsing/place-content-valid.html.ini
deleted file mode 100644
index bff62b2539c..00000000000
--- a/tests/wpt/meta-legacy-layout/css/css-align/parsing/place-content-valid.html.ini
+++ /dev/null
@@ -1,70 +0,0 @@
-[place-content-valid.html]
- [e.style['place-content'\] = "stretch" should set the property value]
- expected: FAIL
-
- [e.style['place-content'\] = "baseline" should set the property value]
- expected: FAIL
-
- [e.style['place-content'\] = "first baseline stretch" should set the property value]
- expected: FAIL
-
- [e.style['place-content'\] = "unsafe end unsafe end" should set the property value]
- expected: FAIL
-
- [e.style['place-content'\] = "space-between" should set the property value]
- expected: FAIL
-
- [e.style['place-content'\] = "center" should set the property value]
- expected: FAIL
-
- [e.style['place-content'\] = "safe flex-start" should set the property value]
- expected: FAIL
-
- [e.style['place-content'\] = "baseline space-around" should set the property value]
- expected: FAIL
-
- [e.style['place-content'\] = "normal normal" should set the property value]
- expected: FAIL
-
- [e.style['place-content'\] = "flex-start flex-start" should set the property value]
- expected: FAIL
-
- [e.style['place-content'\] = "normal stretch" should set the property value]
- expected: FAIL
-
- [e.style['place-content'\] = "center normal" should set the property value]
- expected: FAIL
-
- [e.style['place-content'\] = "normal right" should set the property value]
- expected: FAIL
-
- [e.style['place-content'\] = "space-around" should set the property value]
- expected: FAIL
-
- [e.style['place-content'\] = "space-evenly" should set the property value]
- expected: FAIL
-
- [e.style['place-content'\] = "end" should set the property value]
- expected: FAIL
-
- [e.style['place-content'\] = "baseline stretch" should set the property value]
- expected: FAIL
-
- [e.style['place-content'\] = "first baseline start" should set the property value]
- expected: FAIL
-
- [e.style['place-content'\] = "last baseline flex-start" should set the property value]
- expected: FAIL
-
- [e.style['place-content'\] = "baseline unsafe left" should set the property value]
- expected: FAIL
-
- [e.style['place-content'\] = "first baseline" should set the property value]
- expected: FAIL
-
- [e.style['place-content'\] = "space-evenly unsafe end" should set the property value]
- expected: FAIL
-
- [e.style['place-content'\] = "last baseline" should set the property value]
- expected: FAIL
-
diff --git a/tests/wpt/meta-legacy-layout/css/css-align/parsing/place-items-computed.html.ini b/tests/wpt/meta-legacy-layout/css/css-align/parsing/place-items-computed.html.ini
index 92e56bb50ad..2ba2ad4d438 100644
--- a/tests/wpt/meta-legacy-layout/css/css-align/parsing/place-items-computed.html.ini
+++ b/tests/wpt/meta-legacy-layout/css/css-align/parsing/place-items-computed.html.ini
@@ -53,57 +53,5 @@
[Property place-items value 'stretch baseline' computes to 'stretch baseline']
expected: FAIL
- [Property place-items value 'flex-end']
- expected: FAIL
-
- [Property place-items value 'safe self-end']
- expected: FAIL
-
- [Property place-items value 'center']
- expected: FAIL
-
- [Property place-items value 'stretch legacy left']
- expected: FAIL
-
- [Property place-items value 'first baseline right legacy']
- expected: FAIL
-
- [Property place-items value 'unsafe center unsafe center']
- expected: FAIL
-
- [Property place-items value 'stretch stretch']
- expected: FAIL
-
- [Property place-items value 'safe self-end normal']
- expected: FAIL
-
- [Property place-items value 'normal']
- expected: FAIL
-
- [Property place-items value 'baseline unsafe left']
- expected: FAIL
-
- [Property place-items value 'self-start']
- expected: FAIL
-
- [Property place-items value 'first baseline']
- expected: FAIL
-
[Property place-items value 'flex-end legacy']
expected: FAIL
-
- [Property place-items value 'normal right']
- expected: FAIL
-
- [Property place-items value 'last baseline center']
- expected: FAIL
-
- [Property place-items value 'last baseline last baseline']
- expected: FAIL
-
- [Property place-items value 'end end']
- expected: FAIL
-
- [Property place-items value 'stretch baseline']
- expected: FAIL
-
diff --git a/tests/wpt/meta-legacy-layout/css/css-align/parsing/place-items-shorthand.html.ini b/tests/wpt/meta-legacy-layout/css/css-align/parsing/place-items-shorthand.html.ini
index 0552254ef78..db633c3bdcb 100644
--- a/tests/wpt/meta-legacy-layout/css/css-align/parsing/place-items-shorthand.html.ini
+++ b/tests/wpt/meta-legacy-layout/css/css-align/parsing/place-items-shorthand.html.ini
@@ -10,40 +10,3 @@
[e.style['place-items'\] = "first baseline" should set the longhand values]
expected: FAIL
-
- [e.style['place-items'\] = "stretch right legacy" should set align-items]
- expected: FAIL
-
- [e.style['place-items'\] = "normal" should set align-items]
- expected: FAIL
-
- [e.style['place-items'\] = "last baseline flex-start" should set align-items]
- expected: FAIL
-
- [e.style['place-items'\] = "normal" should set justify-items]
- expected: FAIL
-
- [e.style['place-items'\] = "last baseline flex-start" should set justify-items]
- expected: FAIL
-
- [e.style['place-items'\] = "first baseline" should set align-items]
- expected: FAIL
-
- [e.style['place-items'\] = "stretch right legacy" should set justify-items]
- expected: FAIL
-
- [e.style['place-items'\] = "first baseline" should set justify-items]
- expected: FAIL
-
- [e.style['place-items'\] = "first baseline" should not set unrelated longhands]
- expected: FAIL
-
- [e.style['place-items'\] = "normal" should not set unrelated longhands]
- expected: FAIL
-
- [e.style['place-items'\] = "last baseline flex-start" should not set unrelated longhands]
- expected: FAIL
-
- [e.style['place-items'\] = "stretch right legacy" should not set unrelated longhands]
- expected: FAIL
-
diff --git a/tests/wpt/meta-legacy-layout/css/css-align/parsing/place-items-valid.html.ini b/tests/wpt/meta-legacy-layout/css/css-align/parsing/place-items-valid.html.ini
deleted file mode 100644
index e019b0b9586..00000000000
--- a/tests/wpt/meta-legacy-layout/css/css-align/parsing/place-items-valid.html.ini
+++ /dev/null
@@ -1,55 +0,0 @@
-[place-items-valid.html]
- [e.style['place-items'\] = "stretch stretch" should set the property value]
- expected: FAIL
-
- [e.style['place-items'\] = "baseline unsafe left" should set the property value]
- expected: FAIL
-
- [e.style['place-items'\] = "self-start" should set the property value]
- expected: FAIL
-
- [e.style['place-items'\] = "last baseline last baseline" should set the property value]
- expected: FAIL
-
- [e.style['place-items'\] = "stretch baseline" should set the property value]
- expected: FAIL
-
- [e.style['place-items'\] = "center" should set the property value]
- expected: FAIL
-
- [e.style['place-items'\] = "safe self-end" should set the property value]
- expected: FAIL
-
- [e.style['place-items'\] = "flex-end legacy" should set the property value]
- expected: FAIL
-
- [e.style['place-items'\] = "first baseline" should set the property value]
- expected: FAIL
-
- [e.style['place-items'\] = "normal" should set the property value]
- expected: FAIL
-
- [e.style['place-items'\] = "first baseline right legacy" should set the property value]
- expected: FAIL
-
- [e.style['place-items'\] = "last baseline center" should set the property value]
- expected: FAIL
-
- [e.style['place-items'\] = "end end" should set the property value]
- expected: FAIL
-
- [e.style['place-items'\] = "normal right" should set the property value]
- expected: FAIL
-
- [e.style['place-items'\] = "stretch legacy left" should set the property value]
- expected: FAIL
-
- [e.style['place-items'\] = "flex-end" should set the property value]
- expected: FAIL
-
- [e.style['place-items'\] = "safe self-end normal" should set the property value]
- expected: FAIL
-
- [e.style['place-items'\] = "unsafe center unsafe center" should set the property value]
- expected: FAIL
-
diff --git a/tests/wpt/meta-legacy-layout/css/css-align/parsing/place-self-computed.html.ini b/tests/wpt/meta-legacy-layout/css/css-align/parsing/place-self-computed.html.ini
index cdfa9f7b492..2add73b0303 100644
--- a/tests/wpt/meta-legacy-layout/css/css-align/parsing/place-self-computed.html.ini
+++ b/tests/wpt/meta-legacy-layout/css/css-align/parsing/place-self-computed.html.ini
@@ -46,52 +46,3 @@
[Property place-self value 'center center' computes to 'center']
expected: FAIL
-
- [Property place-self value 'safe self-end safe self-end']
- expected: FAIL
-
- [Property place-self value 'unsafe center stretch']
- expected: FAIL
-
- [Property place-self value 'auto last baseline']
- expected: FAIL
-
- [Property place-self value 'baseline flex-end']
- expected: FAIL
-
- [Property place-self value 'center center']
- expected: FAIL
-
- [Property place-self value 'flex-end']
- expected: FAIL
-
- [Property place-self value 'last baseline last baseline']
- expected: FAIL
-
- [Property place-self value 'auto auto']
- expected: FAIL
-
- [Property place-self value 'normal right']
- expected: FAIL
-
- [Property place-self value 'stretch']
- expected: FAIL
-
- [Property place-self value 'start']
- expected: FAIL
-
- [Property place-self value 'unsafe center']
- expected: FAIL
-
- [Property place-self value 'normal']
- expected: FAIL
-
- [Property place-self value 'first baseline']
- expected: FAIL
-
- [Property place-self value 'baseline unsafe left']
- expected: FAIL
-
- [Property place-self value 'self-start']
- expected: FAIL
-
diff --git a/tests/wpt/meta-legacy-layout/css/css-align/parsing/place-self-shorthand.html.ini b/tests/wpt/meta-legacy-layout/css/css-align/parsing/place-self-shorthand.html.ini
index ff8804e191c..479e4cfff71 100644
--- a/tests/wpt/meta-legacy-layout/css/css-align/parsing/place-self-shorthand.html.ini
+++ b/tests/wpt/meta-legacy-layout/css/css-align/parsing/place-self-shorthand.html.ini
@@ -10,40 +10,3 @@
[e.style['place-self'\] = "first baseline" should set the longhand values]
expected: FAIL
-
- [e.style['place-self'\] = "normal" should set align-self]
- expected: FAIL
-
- [e.style['place-self'\] = "unsafe self-start stretch" should set align-self]
- expected: FAIL
-
- [e.style['place-self'\] = "first baseline" should set justify-self]
- expected: FAIL
-
- [e.style['place-self'\] = "unsafe self-start stretch" should set justify-self]
- expected: FAIL
-
- [e.style['place-self'\] = "last baseline flex-start" should set align-self]
- expected: FAIL
-
- [e.style['place-self'\] = "normal" should set justify-self]
- expected: FAIL
-
- [e.style['place-self'\] = "first baseline" should set align-self]
- expected: FAIL
-
- [e.style['place-self'\] = "last baseline flex-start" should set justify-self]
- expected: FAIL
-
- [e.style['place-self'\] = "unsafe self-start stretch" should not set unrelated longhands]
- expected: FAIL
-
- [e.style['place-self'\] = "normal" should not set unrelated longhands]
- expected: FAIL
-
- [e.style['place-self'\] = "first baseline" should not set unrelated longhands]
- expected: FAIL
-
- [e.style['place-self'\] = "last baseline flex-start" should not set unrelated longhands]
- expected: FAIL
-
diff --git a/tests/wpt/meta-legacy-layout/css/css-align/parsing/place-self-valid.html.ini b/tests/wpt/meta-legacy-layout/css/css-align/parsing/place-self-valid.html.ini
deleted file mode 100644
index a5f440e1aad..00000000000
--- a/tests/wpt/meta-legacy-layout/css/css-align/parsing/place-self-valid.html.ini
+++ /dev/null
@@ -1,49 +0,0 @@
-[place-self-valid.html]
- [e.style['place-self'\] = "center center" should set the property value]
- expected: FAIL
-
- [e.style['place-self'\] = "self-start" should set the property value]
- expected: FAIL
-
- [e.style['place-self'\] = "unsafe center" should set the property value]
- expected: FAIL
-
- [e.style['place-self'\] = "auto last baseline" should set the property value]
- expected: FAIL
-
- [e.style['place-self'\] = "normal right" should set the property value]
- expected: FAIL
-
- [e.style['place-self'\] = "baseline flex-end" should set the property value]
- expected: FAIL
-
- [e.style['place-self'\] = "flex-end" should set the property value]
- expected: FAIL
-
- [e.style['place-self'\] = "auto auto" should set the property value]
- expected: FAIL
-
- [e.style['place-self'\] = "start" should set the property value]
- expected: FAIL
-
- [e.style['place-self'\] = "baseline unsafe left" should set the property value]
- expected: FAIL
-
- [e.style['place-self'\] = "last baseline last baseline" should set the property value]
- expected: FAIL
-
- [e.style['place-self'\] = "first baseline" should set the property value]
- expected: FAIL
-
- [e.style['place-self'\] = "normal" should set the property value]
- expected: FAIL
-
- [e.style['place-self'\] = "unsafe center stretch" should set the property value]
- expected: FAIL
-
- [e.style['place-self'\] = "safe self-end safe self-end" should set the property value]
- expected: FAIL
-
- [e.style['place-self'\] = "stretch" should set the property value]
- expected: FAIL
-
diff --git a/tests/wpt/meta-legacy-layout/css/css-align/self-alignment/parse-align-self-001.html.ini b/tests/wpt/meta-legacy-layout/css/css-align/self-alignment/parse-align-self-001.html.ini
deleted file mode 100644
index 696a9027723..00000000000
--- a/tests/wpt/meta-legacy-layout/css/css-align/self-alignment/parse-align-self-001.html.ini
+++ /dev/null
@@ -1,40 +0,0 @@
-[parse-align-self-001.html]
- [Checking align-self: auto]
- expected: FAIL
-
- [Checking align-self: normal]
- expected: FAIL
-
- [Checking align-self: safe flex-end]
- expected: FAIL
-
- [Checking align-self: end]
- expected: FAIL
-
- [Checking align-self: safe end]
- expected: FAIL
-
- [Checking align-self: unsafe end]
- expected: FAIL
-
- [Checking align-self: self-end]
- expected: FAIL
-
- [Checking align-self: first baseline]
- expected: FAIL
-
- [Checking align-self: safe center]
- expected: FAIL
-
- [Checking align-self: unsafe flex-start]
- expected: FAIL
-
- [Checking align-self: self-start]
- expected: FAIL
-
- [Checking align-self: start]
- expected: FAIL
-
- [Checking align-self: last baseline]
- expected: FAIL
-
diff --git a/tests/wpt/meta-legacy-layout/css/css-align/self-alignment/parse-align-self-002.html.ini b/tests/wpt/meta-legacy-layout/css/css-align/self-alignment/parse-align-self-002.html.ini
deleted file mode 100644
index 6a1d8e37d99..00000000000
--- a/tests/wpt/meta-legacy-layout/css/css-align/self-alignment/parse-align-self-002.html.ini
+++ /dev/null
@@ -1,22 +0,0 @@
-[parse-align-self-002.html]
- [Test grid items align-self: 'initial']
- expected: FAIL
-
- [Test align-self: 'initial']
- expected: FAIL
-
- [Test absolute positioned grid items align-self: 'initial']
- expected: FAIL
-
- [Test absolute positioned elements align-self: 'initial']
- expected: FAIL
-
- [Test flex items align-self: 'initial']
- expected: FAIL
-
- [Test 'initial' value when nothing is specified]
- expected: FAIL
-
- [Test absolute positioned flex items align-self: 'initial']
- expected: FAIL
-
diff --git a/tests/wpt/meta-legacy-layout/css/css-align/self-alignment/parse-align-self-003.html.ini b/tests/wpt/meta-legacy-layout/css/css-align/self-alignment/parse-align-self-003.html.ini
deleted file mode 100644
index 176e797313b..00000000000
--- a/tests/wpt/meta-legacy-layout/css/css-align/self-alignment/parse-align-self-003.html.ini
+++ /dev/null
@@ -1,40 +0,0 @@
-[parse-align-self-003.html]
- [Checking align-self: auto]
- expected: FAIL
-
- [Checking align-self: normal]
- expected: FAIL
-
- [Checking align-self: safe flex-end]
- expected: FAIL
-
- [Checking align-self: end]
- expected: FAIL
-
- [Checking align-self: safe end]
- expected: FAIL
-
- [Checking align-self: unsafe end]
- expected: FAIL
-
- [Checking align-self: self-end]
- expected: FAIL
-
- [Checking align-self: first baseline]
- expected: FAIL
-
- [Checking align-self: safe center]
- expected: FAIL
-
- [Checking align-self: unsafe flex-start]
- expected: FAIL
-
- [Checking align-self: self-start]
- expected: FAIL
-
- [Checking align-self: start]
- expected: FAIL
-
- [Checking align-self: last baseline]
- expected: FAIL
-
diff --git a/tests/wpt/meta-legacy-layout/css/css-align/self-alignment/parse-align-self-005.html.ini b/tests/wpt/meta-legacy-layout/css/css-align/self-alignment/parse-align-self-005.html.ini
deleted file mode 100644
index 2cd1de67b8c..00000000000
--- a/tests/wpt/meta-legacy-layout/css/css-align/self-alignment/parse-align-self-005.html.ini
+++ /dev/null
@@ -1,10 +0,0 @@
-[parse-align-self-005.html]
- [Test the value 'inherit' overrides current value ('end')]
- expected: FAIL
-
- [Test the value 'inherit' overrides current value ('unsafe center')]
- expected: FAIL
-
- [Test the value 'inherit' overrides current value ('safe start')]
- expected: FAIL
-
diff --git a/tests/wpt/meta-legacy-layout/css/css-align/self-alignment/parse-justify-self-001.html.ini b/tests/wpt/meta-legacy-layout/css/css-align/self-alignment/parse-justify-self-001.html.ini
deleted file mode 100644
index c922ac9fe66..00000000000
--- a/tests/wpt/meta-legacy-layout/css/css-align/self-alignment/parse-justify-self-001.html.ini
+++ /dev/null
@@ -1,61 +0,0 @@
-[parse-justify-self-001.html]
- [Checking justify-self: unsafe flex-start]
- expected: FAIL
-
- [Checking justify-self: unsafe end]
- expected: FAIL
-
- [Checking justify-self: first baseline]
- expected: FAIL
-
- [Checking justify-self: self-start]
- expected: FAIL
-
- [Checking justify-self: baseline]
- expected: FAIL
-
- [Checking justify-self: safe center]
- expected: FAIL
-
- [Checking justify-self: self-end]
- expected: FAIL
-
- [Checking justify-self: end]
- expected: FAIL
-
- [Checking justify-self: flex-end]
- expected: FAIL
-
- [Checking justify-self: safe flex-end]
- expected: FAIL
-
- [Checking justify-self: safe end]
- expected: FAIL
-
- [Checking justify-self: center]
- expected: FAIL
-
- [Checking justify-self: right]
- expected: FAIL
-
- [Checking justify-self: flex-start]
- expected: FAIL
-
- [Checking justify-self: auto]
- expected: FAIL
-
- [Checking justify-self: left]
- expected: FAIL
-
- [Checking justify-self: last baseline]
- expected: FAIL
-
- [Checking justify-self: start]
- expected: FAIL
-
- [Checking justify-self: normal]
- expected: FAIL
-
- [Checking justify-self: stretch]
- expected: FAIL
-
diff --git a/tests/wpt/meta-legacy-layout/css/css-align/self-alignment/parse-justify-self-002.html.ini b/tests/wpt/meta-legacy-layout/css/css-align/self-alignment/parse-justify-self-002.html.ini
deleted file mode 100644
index 3214fdd2bcd..00000000000
--- a/tests/wpt/meta-legacy-layout/css/css-align/self-alignment/parse-justify-self-002.html.ini
+++ /dev/null
@@ -1,22 +0,0 @@
-[parse-justify-self-002.html]
- [Test absolute positioned elements justify-self: 'initial']
- expected: FAIL
-
- [Test flex items justify-self: 'initial']
- expected: FAIL
-
- [Test grid items justify-self: 'initial']
- expected: FAIL
-
- [Test justify-self: 'initial']
- expected: FAIL
-
- [Test absolute positioned flex items justify-self: 'initial']
- expected: FAIL
-
- [Test absolute positioned grid items justify-self: 'initial']
- expected: FAIL
-
- [Test 'initial' value when nothing is specified]
- expected: FAIL
-
diff --git a/tests/wpt/meta-legacy-layout/css/css-align/self-alignment/parse-justify-self-003.html.ini b/tests/wpt/meta-legacy-layout/css/css-align/self-alignment/parse-justify-self-003.html.ini
deleted file mode 100644
index 3a72a45cc56..00000000000
--- a/tests/wpt/meta-legacy-layout/css/css-align/self-alignment/parse-justify-self-003.html.ini
+++ /dev/null
@@ -1,61 +0,0 @@
-[parse-justify-self-003.html]
- [Checking justify-self: unsafe flex-start]
- expected: FAIL
-
- [Checking justify-self: unsafe end]
- expected: FAIL
-
- [Checking justify-self: first baseline]
- expected: FAIL
-
- [Checking justify-self: self-start]
- expected: FAIL
-
- [Checking justify-self: baseline]
- expected: FAIL
-
- [Checking justify-self: safe center]
- expected: FAIL
-
- [Checking justify-self: self-end]
- expected: FAIL
-
- [Checking justify-self: end]
- expected: FAIL
-
- [Checking justify-self: flex-end]
- expected: FAIL
-
- [Checking justify-self: safe flex-end]
- expected: FAIL
-
- [Checking justify-self: safe end]
- expected: FAIL
-
- [Checking justify-self: center]
- expected: FAIL
-
- [Checking justify-self: right]
- expected: FAIL
-
- [Checking justify-self: flex-start]
- expected: FAIL
-
- [Checking justify-self: auto]
- expected: FAIL
-
- [Checking justify-self: left]
- expected: FAIL
-
- [Checking justify-self: last baseline]
- expected: FAIL
-
- [Checking justify-self: start]
- expected: FAIL
-
- [Checking justify-self: normal]
- expected: FAIL
-
- [Checking justify-self: stretch]
- expected: FAIL
-
diff --git a/tests/wpt/meta-legacy-layout/css/css-align/self-alignment/parse-justify-self-004.html.ini b/tests/wpt/meta-legacy-layout/css/css-align/self-alignment/parse-justify-self-004.html.ini
deleted file mode 100644
index c2bda5f441b..00000000000
--- a/tests/wpt/meta-legacy-layout/css/css-align/self-alignment/parse-justify-self-004.html.ini
+++ /dev/null
@@ -1,79 +0,0 @@
-[parse-justify-self-004.html]
- [Checking invalid combination - justify-self: baseline safe]
- expected: FAIL
-
- [Checking invalid combination - justify-self: auto safe]
- expected: FAIL
-
- [Checking invalid combination - justify-self: normal unsafe]
- expected: FAIL
-
- [Checking invalid combination - justify-self: first baseline center]
- expected: FAIL
-
- [Checking invalid combination - justify-self: start safe]
- expected: FAIL
-
- [Checking invalid combination - justify-self: last baseline center]
- expected: FAIL
-
- [Checking invalid combination - justify-self: unsafe stretch]
- expected: FAIL
-
- [Checking invalid combination - justify-self: space-around]
- expected: FAIL
-
- [Checking invalid combination - justify-self: auto left]
- expected: FAIL
-
- [Checking invalid combination - justify-self: safe stretch]
- expected: FAIL
-
- [Checking invalid combination - justify-self: center start]
- expected: FAIL
-
- [Checking invalid combination - justify-self: baseline last]
- expected: FAIL
-
- [Checking invalid combination - justify-self: normal stretch]
- expected: FAIL
-
- [Checking invalid combination - justify-self: legacy]
- expected: FAIL
-
- [Checking invalid combination - justify-self: unsafe left safe]
- expected: FAIL
-
- [Checking invalid combination - justify-self: unsafe safe left]
- expected: FAIL
-
- [Checking invalid combination - justify-self: safe]
- expected: FAIL
-
- [Checking invalid combination - justify-self: stretch right]
- expected: FAIL
-
- [Checking invalid combination - justify-self: unsafe unsafe]
- expected: FAIL
-
- [Checking invalid combination - justify-self: stretch unsafe]
- expected: FAIL
-
- [Checking invalid combination - justify-self: left safe unsafe safe]
- expected: FAIL
-
- [Checking invalid combination - justify-self: unsafe baseline]
- expected: FAIL
-
- [Checking invalid combination - justify-self: baseline center]
- expected: FAIL
-
- [Checking invalid combination - justify-self: baseline first]
- expected: FAIL
-
- [Checking invalid combination - justify-self: baseline normal]
- expected: FAIL
-
- [Checking invalid combination - justify-self: unsafe safe]
- expected: FAIL
-
diff --git a/tests/wpt/meta-legacy-layout/css/css-align/self-alignment/parse-justify-self-005.html.ini b/tests/wpt/meta-legacy-layout/css/css-align/self-alignment/parse-justify-self-005.html.ini
deleted file mode 100644
index a6d1458677b..00000000000
--- a/tests/wpt/meta-legacy-layout/css/css-align/self-alignment/parse-justify-self-005.html.ini
+++ /dev/null
@@ -1,10 +0,0 @@
-[parse-justify-self-005.html]
- [Test the value 'inherit' overrides current value ('end')]
- expected: FAIL
-
- [Test the value 'inherit' overrides current value ('safe left')]
- expected: FAIL
-
- [Test the value 'inherit' overrides current value ('unsafe center')]
- expected: FAIL
-
diff --git a/tests/wpt/meta-legacy-layout/css/css-align/self-alignment/place-self-shorthand-001.html.ini b/tests/wpt/meta-legacy-layout/css/css-align/self-alignment/place-self-shorthand-001.html.ini
deleted file mode 100644
index 4340ae3d007..00000000000
--- a/tests/wpt/meta-legacy-layout/css/css-align/self-alignment/place-self-shorthand-001.html.ini
+++ /dev/null
@@ -1,55 +0,0 @@
-[place-self-shorthand-001.html]
- [Checking place-self: self-start]
- expected: FAIL
-
- [Checking place-self: self-end]
- expected: FAIL
-
- [Checking place-self: first baseline]
- expected: FAIL
-
- [Checking place-self: safe flex-end]
- expected: FAIL
-
- [Checking place-self: end]
- expected: FAIL
-
- [Checking place-self: auto]
- expected: FAIL
-
- [Checking place-self: safe end]
- expected: FAIL
-
- [Checking place-self: unsafe flex-start]
- expected: FAIL
-
- [Checking place-self: unsafe end]
- expected: FAIL
-
- [Checking place-self: flex-end]
- expected: FAIL
-
- [Checking place-self: safe center]
- expected: FAIL
-
- [Checking place-self: last baseline]
- expected: FAIL
-
- [Checking place-self: center]
- expected: FAIL
-
- [Checking place-self: baseline]
- expected: FAIL
-
- [Checking place-self: flex-start]
- expected: FAIL
-
- [Checking place-self: start]
- expected: FAIL
-
- [Checking place-self: normal]
- expected: FAIL
-
- [Checking place-self: stretch]
- expected: FAIL
-
diff --git a/tests/wpt/meta-legacy-layout/css/css-align/self-alignment/place-self-shorthand-002.html.ini b/tests/wpt/meta-legacy-layout/css/css-align/self-alignment/place-self-shorthand-002.html.ini
deleted file mode 100644
index 849f4a7d798..00000000000
--- a/tests/wpt/meta-legacy-layout/css/css-align/self-alignment/place-self-shorthand-002.html.ini
+++ /dev/null
@@ -1,1081 +0,0 @@
-[place-self-shorthand-002.html]
- [Checking place-self: stretch last baseline]
- expected: FAIL
-
- [Checking place-self: start center]
- expected: FAIL
-
- [Checking place-self: flex-end safe center]
- expected: FAIL
-
- [Checking place-self: auto first baseline]
- expected: FAIL
-
- [Checking place-self: self-end self-start]
- expected: FAIL
-
- [Checking place-self: unsafe end flex-end]
- expected: FAIL
-
- [Checking place-self: stretch safe end]
- expected: FAIL
-
- [Checking place-self: baseline unsafe end]
- expected: FAIL
-
- [Checking place-self: self-start stretch]
- expected: FAIL
-
- [Checking place-self: flex-start end]
- expected: FAIL
-
- [Checking place-self: flex-end stretch]
- expected: FAIL
-
- [Checking place-self: unsafe flex-start self-end]
- expected: FAIL
-
- [Checking place-self: end unsafe end]
- expected: FAIL
-
- [Checking place-self: first baseline center]
- expected: FAIL
-
- [Checking place-self: baseline auto]
- expected: FAIL
-
- [Checking place-self: center end]
- expected: FAIL
-
- [Checking place-self: safe flex-end flex-start]
- expected: FAIL
-
- [Checking place-self: self-end stretch]
- expected: FAIL
-
- [Checking place-self: safe end flex-start]
- expected: FAIL
-
- [Checking place-self: start stretch]
- expected: FAIL
-
- [Checking place-self: baseline start]
- expected: FAIL
-
- [Checking place-self: safe center stretch]
- expected: FAIL
-
- [Checking place-self: safe end right]
- expected: FAIL
-
- [Checking place-self: safe center right]
- expected: FAIL
-
- [Checking place-self: normal flex-start]
- expected: FAIL
-
- [Checking place-self: self-start last baseline]
- expected: FAIL
-
- [Checking place-self: stretch self-start]
- expected: FAIL
-
- [Checking place-self: first baseline flex-end]
- expected: FAIL
-
- [Checking place-self: safe center left]
- expected: FAIL
-
- [Checking place-self: start left]
- expected: FAIL
-
- [Checking place-self: start end]
- expected: FAIL
-
- [Checking place-self: safe center safe end]
- expected: FAIL
-
- [Checking place-self: stretch self-end]
- expected: FAIL
-
- [Checking place-self: safe center safe center]
- expected: FAIL
-
- [Checking place-self: baseline right]
- expected: FAIL
-
- [Checking place-self: safe end safe end]
- expected: FAIL
-
- [Checking place-self: last baseline safe center]
- expected: FAIL
-
- [Checking place-self: normal end]
- expected: FAIL
-
- [Checking place-self: first baseline end]
- expected: FAIL
-
- [Checking place-self: last baseline stretch]
- expected: FAIL
-
- [Checking place-self: center first baseline]
- expected: FAIL
-
- [Checking place-self: auto unsafe end]
- expected: FAIL
-
- [Checking place-self: normal flex-end]
- expected: FAIL
-
- [Checking place-self: normal left]
- expected: FAIL
-
- [Checking place-self: flex-end end]
- expected: FAIL
-
- [Checking place-self: stretch unsafe flex-start]
- expected: FAIL
-
- [Checking place-self: last baseline start]
- expected: FAIL
-
- [Checking place-self: center flex-end]
- expected: FAIL
-
- [Checking place-self: center last baseline]
- expected: FAIL
-
- [Checking place-self: self-end safe end]
- expected: FAIL
-
- [Checking place-self: first baseline self-end]
- expected: FAIL
-
- [Checking place-self: unsafe end center]
- expected: FAIL
-
- [Checking place-self: baseline safe center]
- expected: FAIL
-
- [Checking place-self: auto auto]
- expected: FAIL
-
- [Checking place-self: unsafe end end]
- expected: FAIL
-
- [Checking place-self: flex-end auto]
- expected: FAIL
-
- [Checking place-self: unsafe end unsafe end]
- expected: FAIL
-
- [Checking place-self: self-end safe center]
- expected: FAIL
-
- [Checking place-self: normal safe end]
- expected: FAIL
-
- [Checking place-self: center safe center]
- expected: FAIL
-
- [Checking place-self: self-start unsafe flex-start]
- expected: FAIL
-
- [Checking place-self: safe flex-end stretch]
- expected: FAIL
-
- [Checking place-self: flex-end self-end]
- expected: FAIL
-
- [Checking place-self: start unsafe flex-start]
- expected: FAIL
-
- [Checking place-self: self-end self-end]
- expected: FAIL
-
- [Checking place-self: stretch left]
- expected: FAIL
-
- [Checking place-self: unsafe end flex-start]
- expected: FAIL
-
- [Checking place-self: self-start normal]
- expected: FAIL
-
- [Checking place-self: safe flex-end last baseline]
- expected: FAIL
-
- [Checking place-self: self-start first baseline]
- expected: FAIL
-
- [Checking place-self: safe end flex-end]
- expected: FAIL
-
- [Checking place-self: auto end]
- expected: FAIL
-
- [Checking place-self: safe end self-end]
- expected: FAIL
-
- [Checking place-self: first baseline last baseline]
- expected: FAIL
-
- [Checking place-self: flex-end flex-start]
- expected: FAIL
-
- [Checking place-self: safe end safe center]
- expected: FAIL
-
- [Checking place-self: unsafe flex-start baseline]
- expected: FAIL
-
- [Checking place-self: flex-start start]
- expected: FAIL
-
- [Checking place-self: self-end auto]
- expected: FAIL
-
- [Checking place-self: first baseline stretch]
- expected: FAIL
-
- [Checking place-self: first baseline safe flex-end]
- expected: FAIL
-
- [Checking place-self: self-start safe flex-end]
- expected: FAIL
-
- [Checking place-self: safe flex-end auto]
- expected: FAIL
-
- [Checking place-self: last baseline unsafe end]
- expected: FAIL
-
- [Checking place-self: flex-start baseline]
- expected: FAIL
-
- [Checking place-self: stretch flex-start]
- expected: FAIL
-
- [Checking place-self: self-start start]
- expected: FAIL
-
- [Checking place-self: stretch start]
- expected: FAIL
-
- [Checking place-self: flex-start safe end]
- expected: FAIL
-
- [Checking place-self: safe flex-end right]
- expected: FAIL
-
- [Checking place-self: flex-end safe end]
- expected: FAIL
-
- [Checking place-self: start last baseline]
- expected: FAIL
-
- [Checking place-self: unsafe end last baseline]
- expected: FAIL
-
- [Checking place-self: start baseline]
- expected: FAIL
-
- [Checking place-self: unsafe flex-start safe center]
- expected: FAIL
-
- [Checking place-self: safe end first baseline]
- expected: FAIL
-
- [Checking place-self: end safe flex-end]
- expected: FAIL
-
- [Checking place-self: flex-start left]
- expected: FAIL
-
- [Checking place-self: last baseline self-start]
- expected: FAIL
-
- [Checking place-self: self-start safe center]
- expected: FAIL
-
- [Checking place-self: auto baseline]
- expected: FAIL
-
- [Checking place-self: unsafe flex-start left]
- expected: FAIL
-
- [Checking place-self: baseline baseline]
- expected: FAIL
-
- [Checking place-self: center start]
- expected: FAIL
-
- [Checking place-self: safe end baseline]
- expected: FAIL
-
- [Checking place-self: flex-end right]
- expected: FAIL
-
- [Checking place-self: auto self-start]
- expected: FAIL
-
- [Checking place-self: safe end end]
- expected: FAIL
-
- [Checking place-self: normal safe flex-end]
- expected: FAIL
-
- [Checking place-self: normal auto]
- expected: FAIL
-
- [Checking place-self: start safe flex-end]
- expected: FAIL
-
- [Checking place-self: flex-start self-start]
- expected: FAIL
-
- [Checking place-self: baseline self-start]
- expected: FAIL
-
- [Checking place-self: end baseline]
- expected: FAIL
-
- [Checking place-self: first baseline unsafe flex-start]
- expected: FAIL
-
- [Checking place-self: center self-start]
- expected: FAIL
-
- [Checking place-self: first baseline flex-start]
- expected: FAIL
-
- [Checking place-self: safe flex-end flex-end]
- expected: FAIL
-
- [Checking place-self: safe end center]
- expected: FAIL
-
- [Checking place-self: stretch first baseline]
- expected: FAIL
-
- [Checking place-self: auto safe end]
- expected: FAIL
-
- [Checking place-self: start first baseline]
- expected: FAIL
-
- [Checking place-self: safe flex-end first baseline]
- expected: FAIL
-
- [Checking place-self: start flex-start]
- expected: FAIL
-
- [Checking place-self: auto right]
- expected: FAIL
-
- [Checking place-self: safe end last baseline]
- expected: FAIL
-
- [Checking place-self: normal start]
- expected: FAIL
-
- [Checking place-self: self-end last baseline]
- expected: FAIL
-
- [Checking place-self: unsafe end unsafe flex-start]
- expected: FAIL
-
- [Checking place-self: unsafe flex-start center]
- expected: FAIL
-
- [Checking place-self: auto normal]
- expected: FAIL
-
- [Checking place-self: safe center self-end]
- expected: FAIL
-
- [Checking place-self: end safe end]
- expected: FAIL
-
- [Checking place-self: auto stretch]
- expected: FAIL
-
- [Checking place-self: normal self-start]
- expected: FAIL
-
- [Checking place-self: self-start baseline]
- expected: FAIL
-
- [Checking place-self: unsafe flex-start unsafe flex-start]
- expected: FAIL
-
- [Checking place-self: flex-end last baseline]
- expected: FAIL
-
- [Checking place-self: auto start]
- expected: FAIL
-
- [Checking place-self: flex-end first baseline]
- expected: FAIL
-
- [Checking place-self: center stretch]
- expected: FAIL
-
- [Checking place-self: unsafe end safe flex-end]
- expected: FAIL
-
- [Checking place-self: last baseline right]
- expected: FAIL
-
- [Checking place-self: flex-start stretch]
- expected: FAIL
-
- [Checking place-self: unsafe end start]
- expected: FAIL
-
- [Checking place-self: safe center end]
- expected: FAIL
-
- [Checking place-self: stretch stretch]
- expected: FAIL
-
- [Checking place-self: flex-start last baseline]
- expected: FAIL
-
- [Checking place-self: safe flex-end normal]
- expected: FAIL
-
- [Checking place-self: center auto]
- expected: FAIL
-
- [Checking place-self: end self-start]
- expected: FAIL
-
- [Checking place-self: normal unsafe flex-start]
- expected: FAIL
-
- [Checking place-self: start self-end]
- expected: FAIL
-
- [Checking place-self: normal center]
- expected: FAIL
-
- [Checking place-self: unsafe flex-start first baseline]
- expected: FAIL
-
- [Checking place-self: auto self-end]
- expected: FAIL
-
- [Checking place-self: flex-end center]
- expected: FAIL
-
- [Checking place-self: unsafe end baseline]
- expected: FAIL
-
- [Checking place-self: unsafe flex-start auto]
- expected: FAIL
-
- [Checking place-self: first baseline safe center]
- expected: FAIL
-
- [Checking place-self: stretch auto]
- expected: FAIL
-
- [Checking place-self: safe center safe flex-end]
- expected: FAIL
-
- [Checking place-self: self-end flex-start]
- expected: FAIL
-
- [Checking place-self: center unsafe flex-start]
- expected: FAIL
-
- [Checking place-self: self-start end]
- expected: FAIL
-
- [Checking place-self: flex-end normal]
- expected: FAIL
-
- [Checking place-self: end self-end]
- expected: FAIL
-
- [Checking place-self: safe center auto]
- expected: FAIL
-
- [Checking place-self: safe end self-start]
- expected: FAIL
-
- [Checking place-self: safe center unsafe flex-start]
- expected: FAIL
-
- [Checking place-self: end first baseline]
- expected: FAIL
-
- [Checking place-self: stretch normal]
- expected: FAIL
-
- [Checking place-self: self-end first baseline]
- expected: FAIL
-
- [Checking place-self: safe end safe flex-end]
- expected: FAIL
-
- [Checking place-self: safe flex-end safe center]
- expected: FAIL
-
- [Checking place-self: flex-start safe flex-end]
- expected: FAIL
-
- [Checking place-self: start normal]
- expected: FAIL
-
- [Checking place-self: safe center baseline]
- expected: FAIL
-
- [Checking place-self: baseline flex-end]
- expected: FAIL
-
- [Checking place-self: safe center self-start]
- expected: FAIL
-
- [Checking place-self: safe flex-end left]
- expected: FAIL
-
- [Checking place-self: flex-start unsafe end]
- expected: FAIL
-
- [Checking place-self: end start]
- expected: FAIL
-
- [Checking place-self: flex-end baseline]
- expected: FAIL
-
- [Checking place-self: safe end start]
- expected: FAIL
-
- [Checking place-self: unsafe flex-start end]
- expected: FAIL
-
- [Checking place-self: self-start right]
- expected: FAIL
-
- [Checking place-self: safe center first baseline]
- expected: FAIL
-
- [Checking place-self: safe flex-end self-start]
- expected: FAIL
-
- [Checking place-self: end center]
- expected: FAIL
-
- [Checking place-self: baseline first baseline]
- expected: FAIL
-
- [Checking place-self: safe end unsafe flex-start]
- expected: FAIL
-
- [Checking place-self: first baseline baseline]
- expected: FAIL
-
- [Checking place-self: last baseline auto]
- expected: FAIL
-
- [Checking place-self: flex-end flex-end]
- expected: FAIL
-
- [Checking place-self: first baseline self-start]
- expected: FAIL
-
- [Checking place-self: safe center flex-start]
- expected: FAIL
-
- [Checking place-self: self-start self-end]
- expected: FAIL
-
- [Checking place-self: last baseline self-end]
- expected: FAIL
-
- [Checking place-self: safe flex-end unsafe flex-start]
- expected: FAIL
-
- [Checking place-self: safe flex-end self-end]
- expected: FAIL
-
- [Checking place-self: first baseline auto]
- expected: FAIL
-
- [Checking place-self: start auto]
- expected: FAIL
-
- [Checking place-self: center unsafe end]
- expected: FAIL
-
- [Checking place-self: self-end right]
- expected: FAIL
-
- [Checking place-self: center safe flex-end]
- expected: FAIL
-
- [Checking place-self: stretch unsafe end]
- expected: FAIL
-
- [Checking place-self: last baseline flex-start]
- expected: FAIL
-
- [Checking place-self: normal right]
- expected: FAIL
-
- [Checking place-self: auto center]
- expected: FAIL
-
- [Checking place-self: last baseline baseline]
- expected: FAIL
-
- [Checking place-self: first baseline first baseline]
- expected: FAIL
-
- [Checking place-self: unsafe flex-start safe flex-end]
- expected: FAIL
-
- [Checking place-self: end safe center]
- expected: FAIL
-
- [Checking place-self: flex-end safe flex-end]
- expected: FAIL
-
- [Checking place-self: self-start center]
- expected: FAIL
-
- [Checking place-self: baseline last baseline]
- expected: FAIL
-
- [Checking place-self: unsafe flex-start self-start]
- expected: FAIL
-
- [Checking place-self: end normal]
- expected: FAIL
-
- [Checking place-self: self-start unsafe end]
- expected: FAIL
-
- [Checking place-self: auto unsafe flex-start]
- expected: FAIL
-
- [Checking place-self: flex-start right]
- expected: FAIL
-
- [Checking place-self: baseline left]
- expected: FAIL
-
- [Checking place-self: unsafe flex-start normal]
- expected: FAIL
-
- [Checking place-self: safe center flex-end]
- expected: FAIL
-
- [Checking place-self: unsafe end self-end]
- expected: FAIL
-
- [Checking place-self: last baseline safe end]
- expected: FAIL
-
- [Checking place-self: flex-start flex-start]
- expected: FAIL
-
- [Checking place-self: self-start flex-start]
- expected: FAIL
-
- [Checking place-self: end left]
- expected: FAIL
-
- [Checking place-self: end last baseline]
- expected: FAIL
-
- [Checking place-self: baseline flex-start]
- expected: FAIL
-
- [Checking place-self: unsafe flex-start right]
- expected: FAIL
-
- [Checking place-self: stretch center]
- expected: FAIL
-
- [Checking place-self: unsafe end right]
- expected: FAIL
-
- [Checking place-self: flex-start unsafe flex-start]
- expected: FAIL
-
- [Checking place-self: first baseline start]
- expected: FAIL
-
- [Checking place-self: flex-end unsafe flex-start]
- expected: FAIL
-
- [Checking place-self: last baseline last baseline]
- expected: FAIL
-
- [Checking place-self: normal safe center]
- expected: FAIL
-
- [Checking place-self: last baseline left]
- expected: FAIL
-
- [Checking place-self: auto left]
- expected: FAIL
-
- [Checking place-self: start unsafe end]
- expected: FAIL
-
- [Checking place-self: start self-start]
- expected: FAIL
-
- [Checking place-self: unsafe end stretch]
- expected: FAIL
-
- [Checking place-self: auto last baseline]
- expected: FAIL
-
- [Checking place-self: self-end unsafe end]
- expected: FAIL
-
- [Checking place-self: end flex-start]
- expected: FAIL
-
- [Checking place-self: last baseline end]
- expected: FAIL
-
- [Checking place-self: self-end baseline]
- expected: FAIL
-
- [Checking place-self: baseline safe flex-end]
- expected: FAIL
-
- [Checking place-self: stretch flex-end]
- expected: FAIL
-
- [Checking place-self: flex-end left]
- expected: FAIL
-
- [Checking place-self: self-start auto]
- expected: FAIL
-
- [Checking place-self: end auto]
- expected: FAIL
-
- [Checking place-self: flex-start normal]
- expected: FAIL
-
- [Checking place-self: unsafe flex-start safe end]
- expected: FAIL
-
- [Checking place-self: stretch baseline]
- expected: FAIL
-
- [Checking place-self: self-start self-start]
- expected: FAIL
-
- [Checking place-self: safe center last baseline]
- expected: FAIL
-
- [Checking place-self: start safe center]
- expected: FAIL
-
- [Checking place-self: flex-start self-end]
- expected: FAIL
-
- [Checking place-self: baseline self-end]
- expected: FAIL
-
- [Checking place-self: normal baseline]
- expected: FAIL
-
- [Checking place-self: safe center unsafe end]
- expected: FAIL
-
- [Checking place-self: end end]
- expected: FAIL
-
- [Checking place-self: self-end flex-end]
- expected: FAIL
-
- [Checking place-self: last baseline safe flex-end]
- expected: FAIL
-
- [Checking place-self: unsafe flex-start stretch]
- expected: FAIL
-
- [Checking place-self: auto safe flex-end]
- expected: FAIL
-
- [Checking place-self: self-start safe end]
- expected: FAIL
-
- [Checking place-self: safe end unsafe end]
- expected: FAIL
-
- [Checking place-self: baseline unsafe flex-start]
- expected: FAIL
-
- [Checking place-self: safe center normal]
- expected: FAIL
-
- [Checking place-self: unsafe end normal]
- expected: FAIL
-
- [Checking place-self: safe end stretch]
- expected: FAIL
-
- [Checking place-self: unsafe end first baseline]
- expected: FAIL
-
- [Checking place-self: auto safe center]
- expected: FAIL
-
- [Checking place-self: self-end center]
- expected: FAIL
-
- [Checking place-self: end flex-end]
- expected: FAIL
-
- [Checking place-self: first baseline unsafe end]
- expected: FAIL
-
- [Checking place-self: stretch end]
- expected: FAIL
-
- [Checking place-self: self-end unsafe flex-start]
- expected: FAIL
-
- [Checking place-self: safe center start]
- expected: FAIL
-
- [Checking place-self: safe flex-end center]
- expected: FAIL
-
- [Checking place-self: last baseline first baseline]
- expected: FAIL
-
- [Checking place-self: normal last baseline]
- expected: FAIL
-
- [Checking place-self: unsafe end auto]
- expected: FAIL
-
- [Checking place-self: flex-start flex-end]
- expected: FAIL
-
- [Checking place-self: safe end auto]
- expected: FAIL
-
- [Checking place-self: first baseline safe end]
- expected: FAIL
-
- [Checking place-self: self-end normal]
- expected: FAIL
-
- [Checking place-self: first baseline right]
- expected: FAIL
-
- [Checking place-self: end right]
- expected: FAIL
-
- [Checking place-self: normal stretch]
- expected: FAIL
-
- [Checking place-self: end unsafe flex-start]
- expected: FAIL
-
- [Checking place-self: auto flex-start]
- expected: FAIL
-
- [Checking place-self: unsafe end safe end]
- expected: FAIL
-
- [Checking place-self: safe end left]
- expected: FAIL
-
- [Checking place-self: center center]
- expected: FAIL
-
- [Checking place-self: self-start left]
- expected: FAIL
-
- [Checking place-self: safe end normal]
- expected: FAIL
-
- [Checking place-self: safe flex-end baseline]
- expected: FAIL
-
- [Checking place-self: flex-start center]
- expected: FAIL
-
- [Checking place-self: flex-start auto]
- expected: FAIL
-
- [Checking place-self: last baseline center]
- expected: FAIL
-
- [Checking place-self: unsafe flex-start flex-start]
- expected: FAIL
-
- [Checking place-self: flex-start safe center]
- expected: FAIL
-
- [Checking place-self: center right]
- expected: FAIL
-
- [Checking place-self: center baseline]
- expected: FAIL
-
- [Checking place-self: start right]
- expected: FAIL
-
- [Checking place-self: baseline safe end]
- expected: FAIL
-
- [Checking place-self: center left]
- expected: FAIL
-
- [Checking place-self: start safe end]
- expected: FAIL
-
- [Checking place-self: safe flex-end end]
- expected: FAIL
-
- [Checking place-self: flex-end unsafe end]
- expected: FAIL
-
- [Checking place-self: last baseline normal]
- expected: FAIL
-
- [Checking place-self: first baseline normal]
- expected: FAIL
-
- [Checking place-self: end stretch]
- expected: FAIL
-
- [Checking place-self: normal self-end]
- expected: FAIL
-
- [Checking place-self: flex-end start]
- expected: FAIL
-
- [Checking place-self: stretch right]
- expected: FAIL
-
- [Checking place-self: normal normal]
- expected: FAIL
-
- [Checking place-self: unsafe end self-start]
- expected: FAIL
-
- [Checking place-self: unsafe end left]
- expected: FAIL
-
- [Checking place-self: center self-end]
- expected: FAIL
-
- [Checking place-self: baseline center]
- expected: FAIL
-
- [Checking place-self: center normal]
- expected: FAIL
-
- [Checking place-self: start flex-end]
- expected: FAIL
-
- [Checking place-self: self-end end]
- expected: FAIL
-
- [Checking place-self: safe flex-end start]
- expected: FAIL
-
- [Checking place-self: flex-start first baseline]
- expected: FAIL
-
- [Checking place-self: flex-end self-start]
- expected: FAIL
-
- [Checking place-self: safe flex-end unsafe end]
- expected: FAIL
-
- [Checking place-self: safe flex-end safe flex-end]
- expected: FAIL
-
- [Checking place-self: safe flex-end safe end]
- expected: FAIL
-
- [Checking place-self: baseline normal]
- expected: FAIL
-
- [Checking place-self: normal unsafe end]
- expected: FAIL
-
- [Checking place-self: stretch safe center]
- expected: FAIL
-
- [Checking place-self: auto flex-end]
- expected: FAIL
-
- [Checking place-self: unsafe flex-start unsafe end]
- expected: FAIL
-
- [Checking place-self: first baseline left]
- expected: FAIL
-
- [Checking place-self: self-end safe flex-end]
- expected: FAIL
-
- [Checking place-self: self-start flex-end]
- expected: FAIL
-
- [Checking place-self: safe center center]
- expected: FAIL
-
- [Checking place-self: last baseline flex-end]
- expected: FAIL
-
- [Checking place-self: normal first baseline]
- expected: FAIL
-
- [Checking place-self: baseline end]
- expected: FAIL
-
- [Checking place-self: self-end start]
- expected: FAIL
-
- [Checking place-self: unsafe flex-start flex-end]
- expected: FAIL
-
- [Checking place-self: last baseline unsafe flex-start]
- expected: FAIL
-
- [Checking place-self: stretch safe flex-end]
- expected: FAIL
-
- [Checking place-self: baseline stretch]
- expected: FAIL
-
- [Checking place-self: center flex-start]
- expected: FAIL
-
- [Checking place-self: start start]
- expected: FAIL
-
- [Checking place-self: center safe end]
- expected: FAIL
-
- [Checking place-self: unsafe flex-start start]
- expected: FAIL
-
- [Checking place-self: self-end left]
- expected: FAIL
-
- [Checking place-self: unsafe end safe center]
- expected: FAIL
-
- [Checking place-self: unsafe flex-start last baseline]
- expected: FAIL
-
diff --git a/tests/wpt/meta-legacy-layout/css/css-align/self-alignment/place-self-shorthand-003.html.ini b/tests/wpt/meta-legacy-layout/css/css-align/self-alignment/place-self-shorthand-003.html.ini
deleted file mode 100644
index bb1646afce1..00000000000
--- a/tests/wpt/meta-legacy-layout/css/css-align/self-alignment/place-self-shorthand-003.html.ini
+++ /dev/null
@@ -1,7 +0,0 @@
-[place-self-shorthand-003.html]
- [Check place-self: initial - align-self expanded value]
- expected: FAIL
-
- [Check place-self: initial - justify-self expanded value]
- expected: FAIL
-
diff --git a/tests/wpt/meta-legacy-layout/css/css-align/self-alignment/place-self-shorthand-004.html.ini b/tests/wpt/meta-legacy-layout/css/css-align/self-alignment/place-self-shorthand-004.html.ini
deleted file mode 100644
index e062da058e4..00000000000
--- a/tests/wpt/meta-legacy-layout/css/css-align/self-alignment/place-self-shorthand-004.html.ini
+++ /dev/null
@@ -1,13 +0,0 @@
-[place-self-shorthand-004.html]
- [Verify empty declaration is invalid]
- expected: FAIL
-
- [Verify fallback values are invalid]
- expected: FAIL
-
- [Verify numeric values are invalid]
- expected: FAIL
-
- [Verify 'left' and 'right' values are invalid for block/cross axis alignment]
- expected: FAIL
-
diff --git a/tests/wpt/meta-legacy-layout/css/css-align/self-alignment/place-self-shorthand-005.html.ini b/tests/wpt/meta-legacy-layout/css/css-align/self-alignment/place-self-shorthand-005.html.ini
deleted file mode 100644
index d5aff1caebf..00000000000
--- a/tests/wpt/meta-legacy-layout/css/css-align/self-alignment/place-self-shorthand-005.html.ini
+++ /dev/null
@@ -1,7 +0,0 @@
-[place-self-shorthand-005.html]
- [Check place-self: inherit - align-self resolved value]
- expected: FAIL
-
- [Check place-self: inherit - justify-self resolved value]
- expected: FAIL
-
diff --git a/tests/wpt/meta-legacy-layout/css/css-align/self-alignment/place-self-shorthand-006.html.ini b/tests/wpt/meta-legacy-layout/css/css-align/self-alignment/place-self-shorthand-006.html.ini
deleted file mode 100644
index 4de8d147c3c..00000000000
--- a/tests/wpt/meta-legacy-layout/css/css-align/self-alignment/place-self-shorthand-006.html.ini
+++ /dev/null
@@ -1,118 +0,0 @@
-[place-self-shorthand-006.html]
- [Checking place-self: first baseline stretch]
- expected: FAIL
-
- [Checking place-self: self-start self-start]
- expected: FAIL
-
- [Checking place-self: auto first baseline]
- expected: FAIL
-
- [Checking place-self: end first baseline]
- expected: FAIL
-
- [Checking place-self: first baseline self-end]
- expected: FAIL
-
- [Checking place-self: first baseline center]
- expected: FAIL
-
- [Checking place-self: baseline baseline]
- expected: FAIL
-
- [Checking place-self: first baseline right]
- expected: FAIL
-
- [Checking place-self: last baseline first baseline]
- expected: FAIL
-
- [Checking place-self: flex-end flex-end]
- expected: FAIL
-
- [Checking place-self: first baseline self-start]
- expected: FAIL
-
- [Checking place-self: first baseline end]
- expected: FAIL
-
- [Checking place-self: center center]
- expected: FAIL
-
- [Checking place-self: first baseline flex-end]
- expected: FAIL
-
- [Checking place-self: stretch first baseline]
- expected: FAIL
-
- [Checking place-self: start first baseline]
- expected: FAIL
-
- [Checking place-self: first baseline auto]
- expected: FAIL
-
- [Checking place-self: first baseline first baseline]
- expected: FAIL
-
- [Checking place-self: first baseline normal]
- expected: FAIL
-
- [Checking place-self: normal normal]
- expected: FAIL
-
- [Checking place-self: baseline first baseline]
- expected: FAIL
-
- [Checking place-self: self-end first baseline]
- expected: FAIL
-
- [Checking place-self: center first baseline]
- expected: FAIL
-
- [Checking place-self: first baseline baseline]
- expected: FAIL
-
- [Checking place-self: flex-start flex-start]
- expected: FAIL
-
- [Checking place-self: flex-start first baseline]
- expected: FAIL
-
- [Checking place-self: flex-end first baseline]
- expected: FAIL
-
- [Checking place-self: first baseline start]
- expected: FAIL
-
- [Checking place-self: last baseline last baseline]
- expected: FAIL
-
- [Checking place-self: auto auto]
- expected: FAIL
-
- [Checking place-self: first baseline left]
- expected: FAIL
-
- [Checking place-self: stretch stretch]
- expected: FAIL
-
- [Checking place-self: normal first baseline]
- expected: FAIL
-
- [Checking place-self: self-end self-end]
- expected: FAIL
-
- [Checking place-self: self-start first baseline]
- expected: FAIL
-
- [Checking place-self: start start]
- expected: FAIL
-
- [Checking place-self: first baseline flex-start]
- expected: FAIL
-
- [Checking place-self: first baseline last baseline]
- expected: FAIL
-
- [Checking place-self: end end]
- expected: FAIL
-
diff --git a/tests/wpt/meta-legacy-layout/css/css-animations/jump-start-animation-before-phase.html.ini b/tests/wpt/meta-legacy-layout/css/css-animations/jump-start-animation-before-phase.html.ini
new file mode 100644
index 00000000000..4595bc7f1ef
--- /dev/null
+++ b/tests/wpt/meta-legacy-layout/css/css-animations/jump-start-animation-before-phase.html.ini
@@ -0,0 +1,2 @@
+[jump-start-animation-before-phase.html]
+ expected: TIMEOUT
diff --git a/tests/wpt/meta-legacy-layout/css/css-cascade/scope-style-sharing-001.html.ini b/tests/wpt/meta-legacy-layout/css/css-cascade/scope-style-sharing-001.html.ini
new file mode 100644
index 00000000000..8d99ae7c08a
--- /dev/null
+++ b/tests/wpt/meta-legacy-layout/css/css-cascade/scope-style-sharing-001.html.ini
@@ -0,0 +1,36 @@
+[scope-style-sharing-001.html]
+ [@scope with sibling style sharing, second sibling exits scope]
+ expected: FAIL
+
+ [@scope with sibling style sharing, first sibling matches scope]
+ expected: FAIL
+
+ [@scope with sibling style sharing, first sibling enters scope]
+ expected: FAIL
+
+ [@scope with sibling style sharing, second sibling enters scope]
+ expected: FAIL
+
+ [@scope with sibling style sharing, first sibling has implicit scope]
+ expected: FAIL
+
+ [@scope with sibling style sharing, second sibling has implicit scope]
+ expected: FAIL
+
+ [@scope with sibling style sharing, second sibling exits implicit scope]
+ expected: FAIL
+
+ [@scope with sibling style sharing, first sibling exits implicit scope]
+ expected: FAIL
+
+ [@scope with sibling style sharing, first sibling enters scope with :has]
+ expected: FAIL
+
+ [@scope with sibling style sharing, second sibling enters scope with :has]
+ expected: FAIL
+
+ [@scope with sibling style sharing, first sibling enters scope with ID selector]
+ expected: FAIL
+
+ [@scope with sibling style sharing, second sibling enters scope with ID selector]
+ expected: FAIL
diff --git a/tests/wpt/meta-legacy-layout/css/css-cascade/scope-style-sharing-002.html.ini b/tests/wpt/meta-legacy-layout/css/css-cascade/scope-style-sharing-002.html.ini
new file mode 100644
index 00000000000..160cae6962e
--- /dev/null
+++ b/tests/wpt/meta-legacy-layout/css/css-cascade/scope-style-sharing-002.html.ini
@@ -0,0 +1,36 @@
+[scope-style-sharing-002.html]
+ [@scope with cousin style sharing, second sibling exits scope]
+ expected: FAIL
+
+ [@scope with cousin style sharing, first sibling exits scope]
+ expected: FAIL
+
+ [@scope with cousin style sharing, first sibling enters scope]
+ expected: FAIL
+
+ [@scope with cousin style sharing, second sibling enters scope]
+ expected: FAIL
+
+ [@scope with cousin style sharing, second sibling parent does not have implicit scope]
+ expected: FAIL
+
+ [@scope with cousin style sharing, first sibling parent does not have implicit scope]
+ expected: FAIL
+
+ [@scope with cousin style sharing, second sibling does not have implicit scope]
+ expected: FAIL
+
+ [@scope with cousin style sharing, first sibling does not have implicit scope]
+ expected: FAIL
+
+ [@scope with cousin style sharing, first sibling enters scope with :has]
+ expected: FAIL
+
+ [@scope with cousin style sharing, second sibling enters scope with :has]
+ expected: FAIL
+
+ [@scope with cousin style sharing, first sibling enters scope ID selector]
+ expected: FAIL
+
+ [@scope with cousin style sharing, second sibling enters scope ID selector]
+ expected: FAIL
diff --git a/tests/wpt/meta-legacy-layout/css/css-display/parsing/display-valid.html.ini b/tests/wpt/meta-legacy-layout/css/css-display/parsing/display-valid.html.ini
index e9cc2a90d06..3295d2fbbfa 100644
--- a/tests/wpt/meta-legacy-layout/css/css-display/parsing/display-valid.html.ini
+++ b/tests/wpt/meta-legacy-layout/css/css-display/parsing/display-valid.html.ini
@@ -8,9 +8,6 @@
[e.style['display'\] = "run-in" should set the property value]
expected: FAIL
- [e.style['display'\] = "flow" should set the property value]
- expected: FAIL
-
[e.style['display'\] = "ruby" should set the property value]
expected: FAIL
@@ -56,30 +53,12 @@
[e.style['display'\] = "list-item flow-root block" should set the property value]
expected: FAIL
- [e.style['display'\] = "flow-root inline" should set the property value]
- expected: FAIL
-
- [e.style['display'\] = "inline flow-root" should set the property value]
- expected: FAIL
-
- [e.style['display'\] = "flex inline" should set the property value]
- expected: FAIL
-
- [e.style['display'\] = "inline flex" should set the property value]
- expected: FAIL
-
[e.style['display'\] = "grid inline" should set the property value]
expected: FAIL
[e.style['display'\] = "inline grid" should set the property value]
expected: FAIL
- [e.style['display'\] = "table inline" should set the property value]
- expected: FAIL
-
- [e.style['display'\] = "inline table" should set the property value]
- expected: FAIL
-
[e.style['display'\] = "inline ruby" should set the property value]
expected: FAIL
diff --git a/tests/wpt/meta-legacy-layout/css/css-flexbox/getcomputedstyle/flexbox_computedstyle_align-items-invalid.html.ini b/tests/wpt/meta-legacy-layout/css/css-flexbox/getcomputedstyle/flexbox_computedstyle_align-items-invalid.html.ini
deleted file mode 100644
index d5138d10fee..00000000000
--- a/tests/wpt/meta-legacy-layout/css/css-flexbox/getcomputedstyle/flexbox_computedstyle_align-items-invalid.html.ini
+++ /dev/null
@@ -1,4 +0,0 @@
-[flexbox_computedstyle_align-items-invalid.html]
- [flexbox | computed style | align-items: invalid]
- expected: FAIL
-
diff --git a/tests/wpt/meta-legacy-layout/css/css-flexbox/getcomputedstyle/flexbox_computedstyle_align-self-invalid.html.ini b/tests/wpt/meta-legacy-layout/css/css-flexbox/getcomputedstyle/flexbox_computedstyle_align-self-invalid.html.ini
deleted file mode 100644
index 956c3ead1ee..00000000000
--- a/tests/wpt/meta-legacy-layout/css/css-flexbox/getcomputedstyle/flexbox_computedstyle_align-self-invalid.html.ini
+++ /dev/null
@@ -1,4 +0,0 @@
-[flexbox_computedstyle_align-self-invalid.html]
- [flexbox | computed style | align-self: invalid]
- expected: FAIL
-
diff --git a/tests/wpt/meta-legacy-layout/css/css-flexbox/inheritance.html.ini b/tests/wpt/meta-legacy-layout/css/css-flexbox/inheritance.html.ini
deleted file mode 100644
index 6e8b478ba6e..00000000000
--- a/tests/wpt/meta-legacy-layout/css/css-flexbox/inheritance.html.ini
+++ /dev/null
@@ -1,16 +0,0 @@
-[inheritance.html]
- [Property align-self does not inherit]
- expected: FAIL
-
- [Property align-items has initial value normal]
- expected: FAIL
-
- [Property align-content has initial value normal]
- expected: FAIL
-
- [Property justify-content has initial value normal]
- expected: FAIL
-
- [Property align-self has initial value auto]
- expected: FAIL
-
diff --git a/tests/wpt/meta-legacy-layout/css/css-fonts/font-size-adjust-reload.html.ini b/tests/wpt/meta-legacy-layout/css/css-fonts/font-size-adjust-reload.html.ini
deleted file mode 100644
index bc77583f93e..00000000000
--- a/tests/wpt/meta-legacy-layout/css/css-fonts/font-size-adjust-reload.html.ini
+++ /dev/null
@@ -1,2 +0,0 @@
-[font-size-adjust-reload.html]
- expected: TIMEOUT
diff --git a/tests/wpt/meta-legacy-layout/css/css-fonts/generic-family-keywords-001.html.ini b/tests/wpt/meta-legacy-layout/css/css-fonts/generic-family-keywords-001.html.ini
index 185d50ed83a..f0ceefab252 100644
--- a/tests/wpt/meta-legacy-layout/css/css-fonts/generic-family-keywords-001.html.ini
+++ b/tests/wpt/meta-legacy-layout/css/css-fonts/generic-family-keywords-001.html.ini
@@ -28,3 +28,9 @@
[@font-face matching for quoted and unquoted ui-serif]
expected: FAIL
+
+ [@font-face matching for quoted and unquoted cursive]
+ expected: FAIL
+
+ [@font-face matching for quoted and unquoted fantasy]
+ expected: FAIL
diff --git a/tests/wpt/meta-legacy-layout/css/css-position/position-sticky-dynamic-ancestor-001.html.ini b/tests/wpt/meta-legacy-layout/css/css-position/position-sticky-dynamic-ancestor-001.html.ini
new file mode 100644
index 00000000000..790d1cca7d7
--- /dev/null
+++ b/tests/wpt/meta-legacy-layout/css/css-position/position-sticky-dynamic-ancestor-001.html.ini
@@ -0,0 +1,3 @@
+[position-sticky-dynamic-ancestor-001.html]
+ [Dynamic sticky position change doesn't break inner sticky positioned items]
+ expected: FAIL
diff --git a/tests/wpt/meta-legacy-layout/css/css-sizing/animation/height-composition.html.ini b/tests/wpt/meta-legacy-layout/css/css-sizing/animation/height-composition.html.ini
index 33ffe2e861d..643dbbe0ca0 100644
--- a/tests/wpt/meta-legacy-layout/css/css-sizing/animation/height-composition.html.ini
+++ b/tests/wpt/meta-legacy-layout/css/css-sizing/animation/height-composition.html.ini
@@ -1,60 +1,15 @@
[height-composition.html]
- [Compositing: property <height> underlying [50px\] from add [100px\] to add [200px\] at (-0.3) should be [120px\]]
+ [Compositing: property <height> underlying [min-content\] from add [100px\] to add [200px\] at (-0.3) should be [70px\]]
expected: FAIL
- [Compositing: property <height> underlying [50px\] from add [100px\] to add [200px\] at (0) should be [150px\]]
+ [Compositing: property <height> underlying [min-content\] from add [100px\] to add [200px\] at (0) should be [100px\]]
expected: FAIL
- [Compositing: property <height> underlying [50px\] from add [100px\] to add [200px\] at (0.5) should be [200px\]]
+ [Compositing: property <height> underlying [min-content\] from add [100px\] to add [200px\] at (0.5) should be [150px\]]
expected: FAIL
- [Compositing: property <height> underlying [50px\] from add [100px\] to add [200px\] at (1) should be [250px\]]
+ [Compositing: property <height> underlying [min-content\] from add [100px\] to add [200px\] at (1) should be [200px\]]
expected: FAIL
- [Compositing: property <height> underlying [50px\] from add [100px\] to add [200px\] at (1.5) should be [300px\]]
- expected: FAIL
-
- [Compositing: property <height> underlying [100px\] from add [10px\] to add [2px\] at (-0.5) should be [114px\]]
- expected: FAIL
-
- [Compositing: property <height> underlying [100px\] from add [10px\] to add [2px\] at (0) should be [110px\]]
- expected: FAIL
-
- [Compositing: property <height> underlying [100px\] from add [10px\] to add [2px\] at (0.5) should be [106px\]]
- expected: FAIL
-
- [Compositing: property <height> underlying [100px\] from add [10px\] to add [2px\] at (1) should be [102px\]]
- expected: FAIL
-
- [Compositing: property <height> underlying [100px\] from add [10px\] to add [2px\] at (1.5) should be [98px\]]
- expected: FAIL
-
- [Compositing: property <height> underlying [50px\] from add [100px\] to replace [200px\] at (-0.3) should be [135px\]]
- expected: FAIL
-
- [Compositing: property <height> underlying [50px\] from add [100px\] to replace [200px\] at (0) should be [150px\]]
- expected: FAIL
-
- [Compositing: property <height> underlying [50px\] from add [100px\] to replace [200px\] at (0.5) should be [175px\]]
- expected: FAIL
-
- [Compositing: property <height> underlying [50px\] from add [100px\] to replace [200px\] at (1) should be [200px\]]
- expected: FAIL
-
- [Compositing: property <height> underlying [50px\] from add [100px\] to replace [200px\] at (1.5) should be [225px\]]
- expected: FAIL
-
- [Compositing: property <height> underlying [100px\] from add [100px\] to add [auto\] at (-0.3) should be [200px\]]
- expected: FAIL
-
- [Compositing: property <height> underlying [100px\] from add [100px\] to add [auto\] at (0) should be [200px\]]
- expected: FAIL
-
- [Compositing: property <height> underlying [100px\] from add [100px\] to add [auto\] at (0.5) should be [auto\]]
- expected: FAIL
-
- [Compositing: property <height> underlying [100px\] from add [100px\] to add [auto\] at (1) should be [auto\]]
- expected: FAIL
-
- [Compositing: property <height> underlying [100px\] from add [100px\] to add [auto\] at (1.5) should be [auto\]]
+ [Compositing: property <height> underlying [min-content\] from add [100px\] to add [200px\] at (1.5) should be [250px\]]
expected: FAIL
diff --git a/tests/wpt/meta-legacy-layout/css/css-sizing/animation/max-height-composition.html.ini b/tests/wpt/meta-legacy-layout/css/css-sizing/animation/max-height-composition.html.ini
index 28facc8864e..53126986176 100644
--- a/tests/wpt/meta-legacy-layout/css/css-sizing/animation/max-height-composition.html.ini
+++ b/tests/wpt/meta-legacy-layout/css/css-sizing/animation/max-height-composition.html.ini
@@ -73,3 +73,18 @@
[Compositing: property <max-height> underlying [100px\] from add [100px\] to add [none\] at (1.5) should be [none\]]
expected: FAIL
+
+ [Compositing: property <max-height> underlying [100px\] from add [min-content\] to add [100px\] at (-0.3) should be [min-content\]]
+ expected: FAIL
+
+ [Compositing: property <max-height> underlying [100px\] from add [min-content\] to add [100px\] at (0) should be [min-content\]]
+ expected: FAIL
+
+ [Compositing: property <max-height> underlying [100px\] from add [min-content\] to add [100px\] at (0.5) should be [200px\]]
+ expected: FAIL
+
+ [Compositing: property <max-height> underlying [100px\] from add [min-content\] to add [100px\] at (1) should be [200px\]]
+ expected: FAIL
+
+ [Compositing: property <max-height> underlying [100px\] from add [min-content\] to add [100px\] at (1.5) should be [200px\]]
+ expected: FAIL
diff --git a/tests/wpt/meta-legacy-layout/css/css-sizing/animation/max-width-composition.html.ini b/tests/wpt/meta-legacy-layout/css/css-sizing/animation/max-width-composition.html.ini
index 69d1d540a53..7b6bf253a30 100644
--- a/tests/wpt/meta-legacy-layout/css/css-sizing/animation/max-width-composition.html.ini
+++ b/tests/wpt/meta-legacy-layout/css/css-sizing/animation/max-width-composition.html.ini
@@ -73,3 +73,18 @@
[Compositing: property <max-width> underlying [100px\] from add [100px\] to add [none\] at (1.5) should be [none\]]
expected: FAIL
+
+ [Compositing: property <max-width> underlying [fit-content\] from add [100px\] to add [200px\] at (-0.3) should be [70px\]]
+ expected: FAIL
+
+ [Compositing: property <max-width> underlying [fit-content\] from add [100px\] to add [200px\] at (0) should be [100px\]]
+ expected: FAIL
+
+ [Compositing: property <max-width> underlying [fit-content\] from add [100px\] to add [200px\] at (0.5) should be [150px\]]
+ expected: FAIL
+
+ [Compositing: property <max-width> underlying [fit-content\] from add [100px\] to add [200px\] at (1) should be [200px\]]
+ expected: FAIL
+
+ [Compositing: property <max-width> underlying [fit-content\] from add [100px\] to add [200px\] at (1.5) should be [250px\]]
+ expected: FAIL
diff --git a/tests/wpt/meta-legacy-layout/css/css-sizing/animation/min-height-composition.html.ini b/tests/wpt/meta-legacy-layout/css/css-sizing/animation/min-height-composition.html.ini
index 4e2cdc22de4..7d7b1f41943 100644
--- a/tests/wpt/meta-legacy-layout/css/css-sizing/animation/min-height-composition.html.ini
+++ b/tests/wpt/meta-legacy-layout/css/css-sizing/animation/min-height-composition.html.ini
@@ -73,3 +73,18 @@
[Compositing: property <min-height> underlying [100px\] from add [100px\] to add [auto\] at (1.5) should be [auto\]]
expected: FAIL
+
+ [Compositing: property <min-height> underlying [100px\] from add [min-content\] to add [max-content\] at (-0.3) should be [min-content\]]
+ expected: FAIL
+
+ [Compositing: property <min-height> underlying [100px\] from add [min-content\] to add [max-content\] at (0) should be [min-content\]]
+ expected: FAIL
+
+ [Compositing: property <min-height> underlying [100px\] from add [min-content\] to add [max-content\] at (0.5) should be [max-content\]]
+ expected: FAIL
+
+ [Compositing: property <min-height> underlying [100px\] from add [min-content\] to add [max-content\] at (1) should be [max-content\]]
+ expected: FAIL
+
+ [Compositing: property <min-height> underlying [100px\] from add [min-content\] to add [max-content\] at (1.5) should be [max-content\]]
+ expected: FAIL
diff --git a/tests/wpt/meta-legacy-layout/css/css-sizing/animation/min-width-composition.html.ini b/tests/wpt/meta-legacy-layout/css/css-sizing/animation/min-width-composition.html.ini
index 25c9a1f924e..26c9a5ad785 100644
--- a/tests/wpt/meta-legacy-layout/css/css-sizing/animation/min-width-composition.html.ini
+++ b/tests/wpt/meta-legacy-layout/css/css-sizing/animation/min-width-composition.html.ini
@@ -73,3 +73,18 @@
[Compositing: property <min-width> underlying [100px\] from add [100px\] to add [auto\] at (1.5) should be [auto\]]
expected: FAIL
+
+ [Compositing: property <min-width> underlying [min-content\] from add [max-content\] to add [fit-content\] at (-0.3) should be [max-content\]]
+ expected: FAIL
+
+ [Compositing: property <min-width> underlying [min-content\] from add [max-content\] to add [fit-content\] at (0) should be [max-content\]]
+ expected: FAIL
+
+ [Compositing: property <min-width> underlying [min-content\] from add [max-content\] to add [fit-content\] at (0.5) should be [fit-content\]]
+ expected: FAIL
+
+ [Compositing: property <min-width> underlying [min-content\] from add [max-content\] to add [fit-content\] at (1) should be [fit-content\]]
+ expected: FAIL
+
+ [Compositing: property <min-width> underlying [min-content\] from add [max-content\] to add [fit-content\] at (1.5) should be [fit-content\]]
+ expected: FAIL
diff --git a/tests/wpt/meta-legacy-layout/css/css-sizing/animation/width-composition.html.ini b/tests/wpt/meta-legacy-layout/css/css-sizing/animation/width-composition.html.ini
index d20916ae05b..161ad92d8df 100644
--- a/tests/wpt/meta-legacy-layout/css/css-sizing/animation/width-composition.html.ini
+++ b/tests/wpt/meta-legacy-layout/css/css-sizing/animation/width-composition.html.ini
@@ -1,75 +1,15 @@
[width-composition.html]
- [Compositing: property <width> underlying [50px\] from add [100px\] to add [200px\] at (-0.3) should be [120px\]]
+ [Compositing: property <width> underlying [100px\] from add [100px\] to add [min-content\] at (-0.3) should be [200px\]]
expected: FAIL
- [Compositing: property <width> underlying [50px\] from add [100px\] to add [200px\] at (0) should be [150px\]]
+ [Compositing: property <width> underlying [100px\] from add [100px\] to add [min-content\] at (0) should be [200px\]]
expected: FAIL
- [Compositing: property <width> underlying [50px\] from add [100px\] to add [200px\] at (0.5) should be [200px\]]
+ [Compositing: property <width> underlying [100px\] from add [100px\] to add [min-content\] at (0.5) should be [75px\]]
expected: FAIL
- [Compositing: property <width> underlying [50px\] from add [100px\] to add [200px\] at (1) should be [250px\]]
+ [Compositing: property <width> underlying [100px\] from add [100px\] to add [min-content\] at (1) should be [75px\]]
expected: FAIL
- [Compositing: property <width> underlying [50px\] from add [100px\] to add [200px\] at (1.5) should be [300px\]]
- expected: FAIL
-
- [Compositing: property <width> underlying [100px\] from add [10px\] to add [2px\] at (-0.5) should be [114px\]]
- expected: FAIL
-
- [Compositing: property <width> underlying [100px\] from add [10px\] to add [2px\] at (0) should be [110px\]]
- expected: FAIL
-
- [Compositing: property <width> underlying [100px\] from add [10px\] to add [2px\] at (0.5) should be [106px\]]
- expected: FAIL
-
- [Compositing: property <width> underlying [100px\] from add [10px\] to add [2px\] at (1) should be [102px\]]
- expected: FAIL
-
- [Compositing: property <width> underlying [100px\] from add [10px\] to add [2px\] at (1.5) should be [98px\]]
- expected: FAIL
-
- [Compositing: property <width> underlying [10%\] from add [100px\] to add [20%\] at (-0.3) should be [calc(130px + 4%)\]]
- expected: FAIL
-
- [Compositing: property <width> underlying [10%\] from add [100px\] to add [20%\] at (0) should be [calc(100px + 10%)\]]
- expected: FAIL
-
- [Compositing: property <width> underlying [10%\] from add [100px\] to add [20%\] at (0.5) should be [calc(50px + 20%)\]]
- expected: FAIL
-
- [Compositing: property <width> underlying [10%\] from add [100px\] to add [20%\] at (1) should be [30%\]]
- expected: FAIL
-
- [Compositing: property <width> underlying [10%\] from add [100px\] to add [20%\] at (1.5) should be [calc(-50px + 40%)\]]
- expected: FAIL
-
- [Compositing: property <width> underlying [50px\] from add [100px\] to replace [200px\] at (-0.3) should be [135px\]]
- expected: FAIL
-
- [Compositing: property <width> underlying [50px\] from add [100px\] to replace [200px\] at (0) should be [150px\]]
- expected: FAIL
-
- [Compositing: property <width> underlying [50px\] from add [100px\] to replace [200px\] at (0.5) should be [175px\]]
- expected: FAIL
-
- [Compositing: property <width> underlying [50px\] from add [100px\] to replace [200px\] at (1) should be [200px\]]
- expected: FAIL
-
- [Compositing: property <width> underlying [50px\] from add [100px\] to replace [200px\] at (1.5) should be [225px\]]
- expected: FAIL
-
- [Compositing: property <width> underlying [100px\] from add [100px\] to add [auto\] at (-0.3) should be [200px\]]
- expected: FAIL
-
- [Compositing: property <width> underlying [100px\] from add [100px\] to add [auto\] at (0) should be [200px\]]
- expected: FAIL
-
- [Compositing: property <width> underlying [100px\] from add [100px\] to add [auto\] at (0.5) should be [auto\]]
- expected: FAIL
-
- [Compositing: property <width> underlying [100px\] from add [100px\] to add [auto\] at (1) should be [auto\]]
- expected: FAIL
-
- [Compositing: property <width> underlying [100px\] from add [100px\] to add [auto\] at (1.5) should be [auto\]]
+ [Compositing: property <width> underlying [100px\] from add [100px\] to add [min-content\] at (1.5) should be [75px\]]
expected: FAIL
diff --git a/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/abspos-001.html.ini b/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/abspos-001.html.ini
new file mode 100644
index 00000000000..7614f7890c1
--- /dev/null
+++ b/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/abspos-001.html.ini
@@ -0,0 +1,2 @@
+[abspos-001.html]
+ expected: FAIL
diff --git a/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/abspos-002.html.ini b/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/abspos-002.html.ini
new file mode 100644
index 00000000000..1f2837e123d
--- /dev/null
+++ b/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/abspos-002.html.ini
@@ -0,0 +1,2 @@
+[abspos-002.html]
+ expected: FAIL
diff --git a/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/abspos-003.html.ini b/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/abspos-003.html.ini
new file mode 100644
index 00000000000..56a88506a30
--- /dev/null
+++ b/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/abspos-003.html.ini
@@ -0,0 +1,2 @@
+[abspos-003.html]
+ expected: FAIL
diff --git a/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/abspos-004.html.ini b/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/abspos-004.html.ini
new file mode 100644
index 00000000000..ad28d6b8b18
--- /dev/null
+++ b/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/abspos-004.html.ini
@@ -0,0 +1,2 @@
+[abspos-004.html]
+ expected: FAIL
diff --git a/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/abspos-005.html.ini b/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/abspos-005.html.ini
new file mode 100644
index 00000000000..0d5c5bd85c6
--- /dev/null
+++ b/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/abspos-005.html.ini
@@ -0,0 +1,2 @@
+[abspos-005.html]
+ expected: FAIL
diff --git a/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/abspos-006.html.ini b/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/abspos-006.html.ini
new file mode 100644
index 00000000000..58a32887e25
--- /dev/null
+++ b/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/abspos-006.html.ini
@@ -0,0 +1,2 @@
+[abspos-006.html]
+ expected: FAIL
diff --git a/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/abspos-007.html.ini b/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/abspos-007.html.ini
new file mode 100644
index 00000000000..5e4ad99dbd2
--- /dev/null
+++ b/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/abspos-007.html.ini
@@ -0,0 +1,2 @@
+[abspos-007.html]
+ expected: FAIL
diff --git a/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/abspos-008.html.ini b/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/abspos-008.html.ini
new file mode 100644
index 00000000000..41f9253a63e
--- /dev/null
+++ b/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/abspos-008.html.ini
@@ -0,0 +1,2 @@
+[abspos-008.html]
+ expected: FAIL
diff --git a/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/abspos-009.html.ini b/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/abspos-009.html.ini
new file mode 100644
index 00000000000..c349d3480c5
--- /dev/null
+++ b/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/abspos-009.html.ini
@@ -0,0 +1,2 @@
+[abspos-009.html]
+ expected: FAIL
diff --git a/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/abspos-010.html.ini b/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/abspos-010.html.ini
new file mode 100644
index 00000000000..22a82027584
--- /dev/null
+++ b/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/abspos-010.html.ini
@@ -0,0 +1,2 @@
+[abspos-010.html]
+ expected: FAIL
diff --git a/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/abspos-011.html.ini b/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/abspos-011.html.ini
new file mode 100644
index 00000000000..80b7449b148
--- /dev/null
+++ b/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/abspos-011.html.ini
@@ -0,0 +1,2 @@
+[abspos-011.html]
+ expected: FAIL
diff --git a/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/abspos-014.html.ini b/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/abspos-014.html.ini
new file mode 100644
index 00000000000..420fd836dab
--- /dev/null
+++ b/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/abspos-014.html.ini
@@ -0,0 +1,2 @@
+[abspos-014.html]
+ expected: FAIL
diff --git a/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/abspos-015.html.ini b/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/abspos-015.html.ini
new file mode 100644
index 00000000000..0d55bbd79f0
--- /dev/null
+++ b/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/abspos-015.html.ini
@@ -0,0 +1,2 @@
+[abspos-015.html]
+ expected: FAIL
diff --git a/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/abspos-017.html.ini b/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/abspos-017.html.ini
new file mode 100644
index 00000000000..f6fc7bdd443
--- /dev/null
+++ b/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/abspos-017.html.ini
@@ -0,0 +1,2 @@
+[abspos-017.html]
+ expected: FAIL
diff --git a/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/abspos-018.html.ini b/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/abspos-018.html.ini
new file mode 100644
index 00000000000..7b055d9e98a
--- /dev/null
+++ b/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/abspos-018.html.ini
@@ -0,0 +1,2 @@
+[abspos-018.html]
+ expected: FAIL
diff --git a/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/abspos-019.html.ini b/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/abspos-019.html.ini
new file mode 100644
index 00000000000..7a78439ef60
--- /dev/null
+++ b/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/abspos-019.html.ini
@@ -0,0 +1,2 @@
+[abspos-019.html]
+ expected: FAIL
diff --git a/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/abspos-020.html.ini b/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/abspos-020.html.ini
new file mode 100644
index 00000000000..2f6a840153c
--- /dev/null
+++ b/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/abspos-020.html.ini
@@ -0,0 +1,2 @@
+[abspos-020.html]
+ expected: FAIL
diff --git a/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/abspos-021.html.ini b/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/abspos-021.html.ini
new file mode 100644
index 00000000000..7253f018d8e
--- /dev/null
+++ b/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/abspos-021.html.ini
@@ -0,0 +1,2 @@
+[abspos-021.html]
+ expected: FAIL
diff --git a/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/auto-margins-001.html.ini b/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/auto-margins-001.html.ini
new file mode 100644
index 00000000000..febd0904c80
--- /dev/null
+++ b/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/auto-margins-001.html.ini
@@ -0,0 +1,2 @@
+[auto-margins-001.html]
+ expected: FAIL
diff --git a/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/block-aspect-ratio-001.html.ini b/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/block-aspect-ratio-001.html.ini
new file mode 100644
index 00000000000..f60dd7f98ba
--- /dev/null
+++ b/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/block-aspect-ratio-001.html.ini
@@ -0,0 +1,2 @@
+[block-aspect-ratio-001.html]
+ expected: FAIL
diff --git a/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/block-aspect-ratio-002.html.ini b/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/block-aspect-ratio-002.html.ini
new file mode 100644
index 00000000000..457ac4cc033
--- /dev/null
+++ b/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/block-aspect-ratio-002.html.ini
@@ -0,0 +1,2 @@
+[block-aspect-ratio-002.html]
+ expected: FAIL
diff --git a/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/block-aspect-ratio-003.html.ini b/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/block-aspect-ratio-003.html.ini
new file mode 100644
index 00000000000..cc6a72b5d19
--- /dev/null
+++ b/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/block-aspect-ratio-003.html.ini
@@ -0,0 +1,2 @@
+[block-aspect-ratio-003.html]
+ expected: FAIL
diff --git a/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/block-aspect-ratio-004.html.ini b/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/block-aspect-ratio-004.html.ini
new file mode 100644
index 00000000000..9ae7e341db3
--- /dev/null
+++ b/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/block-aspect-ratio-004.html.ini
@@ -0,0 +1,2 @@
+[block-aspect-ratio-004.html]
+ expected: FAIL
diff --git a/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/block-aspect-ratio-005.html.ini b/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/block-aspect-ratio-005.html.ini
new file mode 100644
index 00000000000..260f4f2dfb4
--- /dev/null
+++ b/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/block-aspect-ratio-005.html.ini
@@ -0,0 +1,2 @@
+[block-aspect-ratio-005.html]
+ expected: FAIL
diff --git a/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/block-aspect-ratio-006.html.ini b/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/block-aspect-ratio-006.html.ini
new file mode 100644
index 00000000000..3165b03d03f
--- /dev/null
+++ b/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/block-aspect-ratio-006.html.ini
@@ -0,0 +1,2 @@
+[block-aspect-ratio-006.html]
+ expected: FAIL
diff --git a/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/block-aspect-ratio-007.html.ini b/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/block-aspect-ratio-007.html.ini
new file mode 100644
index 00000000000..82f8c4670b7
--- /dev/null
+++ b/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/block-aspect-ratio-007.html.ini
@@ -0,0 +1,2 @@
+[block-aspect-ratio-007.html]
+ expected: FAIL
diff --git a/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/block-aspect-ratio-008.html.ini b/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/block-aspect-ratio-008.html.ini
new file mode 100644
index 00000000000..1d672838e41
--- /dev/null
+++ b/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/block-aspect-ratio-008.html.ini
@@ -0,0 +1,2 @@
+[block-aspect-ratio-008.html]
+ expected: FAIL
diff --git a/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/block-aspect-ratio-010.html.ini b/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/block-aspect-ratio-010.html.ini
new file mode 100644
index 00000000000..51676fbbe6a
--- /dev/null
+++ b/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/block-aspect-ratio-010.html.ini
@@ -0,0 +1,2 @@
+[block-aspect-ratio-010.html]
+ expected: FAIL
diff --git a/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/block-aspect-ratio-011.html.ini b/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/block-aspect-ratio-011.html.ini
new file mode 100644
index 00000000000..f6f5dc47a59
--- /dev/null
+++ b/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/block-aspect-ratio-011.html.ini
@@ -0,0 +1,2 @@
+[block-aspect-ratio-011.html]
+ expected: FAIL
diff --git a/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/block-aspect-ratio-012.html.ini b/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/block-aspect-ratio-012.html.ini
new file mode 100644
index 00000000000..749ae43335b
--- /dev/null
+++ b/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/block-aspect-ratio-012.html.ini
@@ -0,0 +1,2 @@
+[block-aspect-ratio-012.html]
+ expected: FAIL
diff --git a/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/block-aspect-ratio-013.html.ini b/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/block-aspect-ratio-013.html.ini
new file mode 100644
index 00000000000..800fc56f81d
--- /dev/null
+++ b/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/block-aspect-ratio-013.html.ini
@@ -0,0 +1,2 @@
+[block-aspect-ratio-013.html]
+ expected: FAIL
diff --git a/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/block-aspect-ratio-014.html.ini b/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/block-aspect-ratio-014.html.ini
new file mode 100644
index 00000000000..f66395533f7
--- /dev/null
+++ b/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/block-aspect-ratio-014.html.ini
@@ -0,0 +1,2 @@
+[block-aspect-ratio-014.html]
+ expected: FAIL
diff --git a/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/block-aspect-ratio-015.html.ini b/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/block-aspect-ratio-015.html.ini
new file mode 100644
index 00000000000..d13914ef0b7
--- /dev/null
+++ b/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/block-aspect-ratio-015.html.ini
@@ -0,0 +1,2 @@
+[block-aspect-ratio-015.html]
+ expected: FAIL
diff --git a/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/block-aspect-ratio-016.html.ini b/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/block-aspect-ratio-016.html.ini
new file mode 100644
index 00000000000..2d9b0cb4f80
--- /dev/null
+++ b/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/block-aspect-ratio-016.html.ini
@@ -0,0 +1,2 @@
+[block-aspect-ratio-016.html]
+ expected: FAIL
diff --git a/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/block-aspect-ratio-018.html.ini b/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/block-aspect-ratio-018.html.ini
new file mode 100644
index 00000000000..b9571dd03cf
--- /dev/null
+++ b/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/block-aspect-ratio-018.html.ini
@@ -0,0 +1,2 @@
+[block-aspect-ratio-018.html]
+ expected: FAIL
diff --git a/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/block-aspect-ratio-019.html.ini b/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/block-aspect-ratio-019.html.ini
new file mode 100644
index 00000000000..fc0cb000400
--- /dev/null
+++ b/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/block-aspect-ratio-019.html.ini
@@ -0,0 +1,2 @@
+[block-aspect-ratio-019.html]
+ expected: FAIL
diff --git a/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/block-aspect-ratio-020.html.ini b/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/block-aspect-ratio-020.html.ini
new file mode 100644
index 00000000000..3c0493a07d3
--- /dev/null
+++ b/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/block-aspect-ratio-020.html.ini
@@ -0,0 +1,2 @@
+[block-aspect-ratio-020.html]
+ expected: FAIL
diff --git a/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/block-aspect-ratio-021.html.ini b/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/block-aspect-ratio-021.html.ini
new file mode 100644
index 00000000000..935bb5fa940
--- /dev/null
+++ b/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/block-aspect-ratio-021.html.ini
@@ -0,0 +1,2 @@
+[block-aspect-ratio-021.html]
+ expected: FAIL
diff --git a/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/block-aspect-ratio-023.html.ini b/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/block-aspect-ratio-023.html.ini
new file mode 100644
index 00000000000..6d52575a36b
--- /dev/null
+++ b/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/block-aspect-ratio-023.html.ini
@@ -0,0 +1,2 @@
+[block-aspect-ratio-023.html]
+ expected: FAIL
diff --git a/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/block-aspect-ratio-024.html.ini b/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/block-aspect-ratio-024.html.ini
new file mode 100644
index 00000000000..e05b6d0265a
--- /dev/null
+++ b/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/block-aspect-ratio-024.html.ini
@@ -0,0 +1,2 @@
+[block-aspect-ratio-024.html]
+ expected: FAIL
diff --git a/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/block-aspect-ratio-025.html.ini b/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/block-aspect-ratio-025.html.ini
new file mode 100644
index 00000000000..de74e984446
--- /dev/null
+++ b/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/block-aspect-ratio-025.html.ini
@@ -0,0 +1,2 @@
+[block-aspect-ratio-025.html]
+ expected: FAIL
diff --git a/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/block-aspect-ratio-026.html.ini b/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/block-aspect-ratio-026.html.ini
new file mode 100644
index 00000000000..32f46f686e1
--- /dev/null
+++ b/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/block-aspect-ratio-026.html.ini
@@ -0,0 +1,2 @@
+[block-aspect-ratio-026.html]
+ expected: FAIL
diff --git a/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/block-aspect-ratio-027.html.ini b/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/block-aspect-ratio-027.html.ini
new file mode 100644
index 00000000000..103b888ba60
--- /dev/null
+++ b/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/block-aspect-ratio-027.html.ini
@@ -0,0 +1,2 @@
+[block-aspect-ratio-027.html]
+ expected: FAIL
diff --git a/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/block-aspect-ratio-028.html.ini b/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/block-aspect-ratio-028.html.ini
new file mode 100644
index 00000000000..b673c4844e8
--- /dev/null
+++ b/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/block-aspect-ratio-028.html.ini
@@ -0,0 +1,2 @@
+[block-aspect-ratio-028.html]
+ expected: FAIL
diff --git a/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/block-aspect-ratio-030.html.ini b/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/block-aspect-ratio-030.html.ini
new file mode 100644
index 00000000000..7bdf8cc9b49
--- /dev/null
+++ b/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/block-aspect-ratio-030.html.ini
@@ -0,0 +1,2 @@
+[block-aspect-ratio-030.html]
+ expected: FAIL
diff --git a/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/block-aspect-ratio-031.html.ini b/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/block-aspect-ratio-031.html.ini
new file mode 100644
index 00000000000..d213a740e8b
--- /dev/null
+++ b/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/block-aspect-ratio-031.html.ini
@@ -0,0 +1,2 @@
+[block-aspect-ratio-031.html]
+ expected: FAIL
diff --git a/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/block-aspect-ratio-032.html.ini b/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/block-aspect-ratio-032.html.ini
new file mode 100644
index 00000000000..dac1be1b468
--- /dev/null
+++ b/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/block-aspect-ratio-032.html.ini
@@ -0,0 +1,2 @@
+[block-aspect-ratio-032.html]
+ expected: FAIL
diff --git a/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/block-aspect-ratio-033.html.ini b/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/block-aspect-ratio-033.html.ini
new file mode 100644
index 00000000000..5bcfb449872
--- /dev/null
+++ b/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/block-aspect-ratio-033.html.ini
@@ -0,0 +1,2 @@
+[block-aspect-ratio-033.html]
+ expected: FAIL
diff --git a/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/block-aspect-ratio-036.html.ini b/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/block-aspect-ratio-036.html.ini
new file mode 100644
index 00000000000..29aa248de11
--- /dev/null
+++ b/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/block-aspect-ratio-036.html.ini
@@ -0,0 +1,2 @@
+[block-aspect-ratio-036.html]
+ expected: FAIL
diff --git a/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/block-aspect-ratio-040.html.ini b/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/block-aspect-ratio-040.html.ini
new file mode 100644
index 00000000000..e06d8dea7bb
--- /dev/null
+++ b/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/block-aspect-ratio-040.html.ini
@@ -0,0 +1,2 @@
+[block-aspect-ratio-040.html]
+ expected: FAIL
diff --git a/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/block-aspect-ratio-042.html.ini b/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/block-aspect-ratio-042.html.ini
new file mode 100644
index 00000000000..22341d7f6fe
--- /dev/null
+++ b/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/block-aspect-ratio-042.html.ini
@@ -0,0 +1,2 @@
+[block-aspect-ratio-042.html]
+ expected: FAIL
diff --git a/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/block-aspect-ratio-043.html.ini b/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/block-aspect-ratio-043.html.ini
new file mode 100644
index 00000000000..5745df6352d
--- /dev/null
+++ b/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/block-aspect-ratio-043.html.ini
@@ -0,0 +1,2 @@
+[block-aspect-ratio-043.html]
+ expected: FAIL
diff --git a/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/block-aspect-ratio-044.html.ini b/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/block-aspect-ratio-044.html.ini
new file mode 100644
index 00000000000..39f43980eff
--- /dev/null
+++ b/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/block-aspect-ratio-044.html.ini
@@ -0,0 +1,2 @@
+[block-aspect-ratio-044.html]
+ expected: FAIL
diff --git a/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/block-aspect-ratio-047.html.ini b/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/block-aspect-ratio-047.html.ini
new file mode 100644
index 00000000000..540f57fbf6a
--- /dev/null
+++ b/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/block-aspect-ratio-047.html.ini
@@ -0,0 +1,2 @@
+[block-aspect-ratio-047.html]
+ expected: FAIL
diff --git a/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/block-aspect-ratio-049.html.ini b/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/block-aspect-ratio-049.html.ini
new file mode 100644
index 00000000000..5871659d777
--- /dev/null
+++ b/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/block-aspect-ratio-049.html.ini
@@ -0,0 +1,2 @@
+[block-aspect-ratio-049.html]
+ expected: FAIL
diff --git a/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/block-aspect-ratio-052.html.ini b/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/block-aspect-ratio-052.html.ini
new file mode 100644
index 00000000000..a5e614d6086
--- /dev/null
+++ b/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/block-aspect-ratio-052.html.ini
@@ -0,0 +1,2 @@
+[block-aspect-ratio-052.html]
+ expected: FAIL
diff --git a/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/block-aspect-ratio-053.html.ini b/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/block-aspect-ratio-053.html.ini
new file mode 100644
index 00000000000..a2dc5261bb1
--- /dev/null
+++ b/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/block-aspect-ratio-053.html.ini
@@ -0,0 +1,2 @@
+[block-aspect-ratio-053.html]
+ expected: FAIL
diff --git a/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/block-aspect-ratio-054.html.ini b/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/block-aspect-ratio-054.html.ini
new file mode 100644
index 00000000000..f8745d01c62
--- /dev/null
+++ b/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/block-aspect-ratio-054.html.ini
@@ -0,0 +1,2 @@
+[block-aspect-ratio-054.html]
+ expected: FAIL
diff --git a/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/block-aspect-ratio-055.html.ini b/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/block-aspect-ratio-055.html.ini
new file mode 100644
index 00000000000..c96ffde6998
--- /dev/null
+++ b/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/block-aspect-ratio-055.html.ini
@@ -0,0 +1,2 @@
+[block-aspect-ratio-055.html]
+ expected: FAIL
diff --git a/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/block-aspect-ratio-with-margin-collapsing-001.html.ini b/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/block-aspect-ratio-with-margin-collapsing-001.html.ini
new file mode 100644
index 00000000000..ce80d676caa
--- /dev/null
+++ b/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/block-aspect-ratio-with-margin-collapsing-001.html.ini
@@ -0,0 +1,2 @@
+[block-aspect-ratio-with-margin-collapsing-001.html]
+ expected: FAIL
diff --git a/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/block-aspect-ratio-with-margin-collapsing-002.html.ini b/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/block-aspect-ratio-with-margin-collapsing-002.html.ini
new file mode 100644
index 00000000000..c38247e41a5
--- /dev/null
+++ b/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/block-aspect-ratio-with-margin-collapsing-002.html.ini
@@ -0,0 +1,2 @@
+[block-aspect-ratio-with-margin-collapsing-002.html]
+ expected: FAIL
diff --git a/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/flex-aspect-ratio-001.html.ini b/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/flex-aspect-ratio-001.html.ini
new file mode 100644
index 00000000000..6a2d8a2ad2f
--- /dev/null
+++ b/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/flex-aspect-ratio-001.html.ini
@@ -0,0 +1,2 @@
+[flex-aspect-ratio-001.html]
+ expected: FAIL
diff --git a/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/flex-aspect-ratio-002.html.ini b/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/flex-aspect-ratio-002.html.ini
new file mode 100644
index 00000000000..e73a37e16ec
--- /dev/null
+++ b/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/flex-aspect-ratio-002.html.ini
@@ -0,0 +1,2 @@
+[flex-aspect-ratio-002.html]
+ expected: FAIL
diff --git a/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/flex-aspect-ratio-003.html.ini b/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/flex-aspect-ratio-003.html.ini
new file mode 100644
index 00000000000..0e2935d2780
--- /dev/null
+++ b/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/flex-aspect-ratio-003.html.ini
@@ -0,0 +1,2 @@
+[flex-aspect-ratio-003.html]
+ expected: FAIL
diff --git a/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/flex-aspect-ratio-005.html.ini b/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/flex-aspect-ratio-005.html.ini
new file mode 100644
index 00000000000..c474a9ee4a0
--- /dev/null
+++ b/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/flex-aspect-ratio-005.html.ini
@@ -0,0 +1,2 @@
+[flex-aspect-ratio-005.html]
+ expected: FAIL
diff --git a/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/flex-aspect-ratio-006.html.ini b/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/flex-aspect-ratio-006.html.ini
new file mode 100644
index 00000000000..f0fd802568d
--- /dev/null
+++ b/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/flex-aspect-ratio-006.html.ini
@@ -0,0 +1,2 @@
+[flex-aspect-ratio-006.html]
+ expected: FAIL
diff --git a/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/flex-aspect-ratio-007.html.ini b/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/flex-aspect-ratio-007.html.ini
new file mode 100644
index 00000000000..6806e35ac03
--- /dev/null
+++ b/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/flex-aspect-ratio-007.html.ini
@@ -0,0 +1,2 @@
+[flex-aspect-ratio-007.html]
+ expected: FAIL
diff --git a/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/flex-aspect-ratio-008.html.ini b/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/flex-aspect-ratio-008.html.ini
new file mode 100644
index 00000000000..c7050d14390
--- /dev/null
+++ b/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/flex-aspect-ratio-008.html.ini
@@ -0,0 +1,2 @@
+[flex-aspect-ratio-008.html]
+ expected: FAIL
diff --git a/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/flex-aspect-ratio-009.html.ini b/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/flex-aspect-ratio-009.html.ini
new file mode 100644
index 00000000000..10dd2136d8e
--- /dev/null
+++ b/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/flex-aspect-ratio-009.html.ini
@@ -0,0 +1,2 @@
+[flex-aspect-ratio-009.html]
+ expected: FAIL
diff --git a/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/flex-aspect-ratio-011.html.ini b/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/flex-aspect-ratio-011.html.ini
new file mode 100644
index 00000000000..63e638d36fb
--- /dev/null
+++ b/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/flex-aspect-ratio-011.html.ini
@@ -0,0 +1,2 @@
+[flex-aspect-ratio-011.html]
+ expected: FAIL
diff --git a/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/flex-aspect-ratio-012.html.ini b/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/flex-aspect-ratio-012.html.ini
new file mode 100644
index 00000000000..7ace4455f1b
--- /dev/null
+++ b/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/flex-aspect-ratio-012.html.ini
@@ -0,0 +1,2 @@
+[flex-aspect-ratio-012.html]
+ expected: FAIL
diff --git a/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/flex-aspect-ratio-013.html.ini b/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/flex-aspect-ratio-013.html.ini
new file mode 100644
index 00000000000..2c3aa84bfdc
--- /dev/null
+++ b/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/flex-aspect-ratio-013.html.ini
@@ -0,0 +1,2 @@
+[flex-aspect-ratio-013.html]
+ expected: FAIL
diff --git a/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/flex-aspect-ratio-014.html.ini b/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/flex-aspect-ratio-014.html.ini
new file mode 100644
index 00000000000..25d9096f488
--- /dev/null
+++ b/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/flex-aspect-ratio-014.html.ini
@@ -0,0 +1,2 @@
+[flex-aspect-ratio-014.html]
+ expected: FAIL
diff --git a/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/flex-aspect-ratio-015.html.ini b/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/flex-aspect-ratio-015.html.ini
new file mode 100644
index 00000000000..3b6708cbdb8
--- /dev/null
+++ b/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/flex-aspect-ratio-015.html.ini
@@ -0,0 +1,2 @@
+[flex-aspect-ratio-015.html]
+ expected: FAIL
diff --git a/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/flex-aspect-ratio-016.html.ini b/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/flex-aspect-ratio-016.html.ini
new file mode 100644
index 00000000000..5e23eeb1b9b
--- /dev/null
+++ b/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/flex-aspect-ratio-016.html.ini
@@ -0,0 +1,2 @@
+[flex-aspect-ratio-016.html]
+ expected: FAIL
diff --git a/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/flex-aspect-ratio-017.html.ini b/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/flex-aspect-ratio-017.html.ini
new file mode 100644
index 00000000000..41525f9765d
--- /dev/null
+++ b/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/flex-aspect-ratio-017.html.ini
@@ -0,0 +1,2 @@
+[flex-aspect-ratio-017.html]
+ expected: FAIL
diff --git a/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/flex-aspect-ratio-018.html.ini b/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/flex-aspect-ratio-018.html.ini
new file mode 100644
index 00000000000..a1d13465ba8
--- /dev/null
+++ b/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/flex-aspect-ratio-018.html.ini
@@ -0,0 +1,2 @@
+[flex-aspect-ratio-018.html]
+ expected: FAIL
diff --git a/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/flex-aspect-ratio-019.html.ini b/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/flex-aspect-ratio-019.html.ini
new file mode 100644
index 00000000000..463a345d8b5
--- /dev/null
+++ b/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/flex-aspect-ratio-019.html.ini
@@ -0,0 +1,2 @@
+[flex-aspect-ratio-019.html]
+ expected: FAIL
diff --git a/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/flex-aspect-ratio-020.html.ini b/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/flex-aspect-ratio-020.html.ini
new file mode 100644
index 00000000000..4fa69963d77
--- /dev/null
+++ b/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/flex-aspect-ratio-020.html.ini
@@ -0,0 +1,2 @@
+[flex-aspect-ratio-020.html]
+ expected: FAIL
diff --git a/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/flex-aspect-ratio-021.html.ini b/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/flex-aspect-ratio-021.html.ini
new file mode 100644
index 00000000000..5820f9e1b9c
--- /dev/null
+++ b/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/flex-aspect-ratio-021.html.ini
@@ -0,0 +1,2 @@
+[flex-aspect-ratio-021.html]
+ expected: FAIL
diff --git a/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/flex-aspect-ratio-022.html.ini b/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/flex-aspect-ratio-022.html.ini
new file mode 100644
index 00000000000..60fb52656a2
--- /dev/null
+++ b/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/flex-aspect-ratio-022.html.ini
@@ -0,0 +1,2 @@
+[flex-aspect-ratio-022.html]
+ expected: FAIL
diff --git a/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/flex-aspect-ratio-023.html.ini b/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/flex-aspect-ratio-023.html.ini
new file mode 100644
index 00000000000..0451d606b3e
--- /dev/null
+++ b/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/flex-aspect-ratio-023.html.ini
@@ -0,0 +1,2 @@
+[flex-aspect-ratio-023.html]
+ expected: FAIL
diff --git a/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/flex-aspect-ratio-024.html.ini b/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/flex-aspect-ratio-024.html.ini
new file mode 100644
index 00000000000..93fd3ca88b9
--- /dev/null
+++ b/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/flex-aspect-ratio-024.html.ini
@@ -0,0 +1,2 @@
+[flex-aspect-ratio-024.html]
+ expected: FAIL
diff --git a/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/flex-aspect-ratio-025.html.ini b/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/flex-aspect-ratio-025.html.ini
new file mode 100644
index 00000000000..fbc8d5094f0
--- /dev/null
+++ b/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/flex-aspect-ratio-025.html.ini
@@ -0,0 +1,2 @@
+[flex-aspect-ratio-025.html]
+ expected: FAIL
diff --git a/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/flex-aspect-ratio-026.html.ini b/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/flex-aspect-ratio-026.html.ini
new file mode 100644
index 00000000000..d639c2f9eff
--- /dev/null
+++ b/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/flex-aspect-ratio-026.html.ini
@@ -0,0 +1,2 @@
+[flex-aspect-ratio-026.html]
+ expected: FAIL
diff --git a/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/flex-aspect-ratio-027.html.ini b/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/flex-aspect-ratio-027.html.ini
new file mode 100644
index 00000000000..d138f03a7e8
--- /dev/null
+++ b/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/flex-aspect-ratio-027.html.ini
@@ -0,0 +1,2 @@
+[flex-aspect-ratio-027.html]
+ expected: FAIL
diff --git a/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/flex-aspect-ratio-028.html.ini b/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/flex-aspect-ratio-028.html.ini
new file mode 100644
index 00000000000..7ef950ecb46
--- /dev/null
+++ b/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/flex-aspect-ratio-028.html.ini
@@ -0,0 +1,2 @@
+[flex-aspect-ratio-028.html]
+ expected: FAIL
diff --git a/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/flex-aspect-ratio-032.html.ini b/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/flex-aspect-ratio-032.html.ini
new file mode 100644
index 00000000000..954f2f82967
--- /dev/null
+++ b/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/flex-aspect-ratio-032.html.ini
@@ -0,0 +1,2 @@
+[flex-aspect-ratio-032.html]
+ expected: FAIL
diff --git a/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/flex-aspect-ratio-033.html.ini b/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/flex-aspect-ratio-033.html.ini
new file mode 100644
index 00000000000..0ee52d8d028
--- /dev/null
+++ b/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/flex-aspect-ratio-033.html.ini
@@ -0,0 +1,2 @@
+[flex-aspect-ratio-033.html]
+ expected: FAIL
diff --git a/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/flex-aspect-ratio-034.html.ini b/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/flex-aspect-ratio-034.html.ini
new file mode 100644
index 00000000000..602737bd48c
--- /dev/null
+++ b/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/flex-aspect-ratio-034.html.ini
@@ -0,0 +1,2 @@
+[flex-aspect-ratio-034.html]
+ expected: FAIL
diff --git a/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/flex-aspect-ratio-035.html.ini b/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/flex-aspect-ratio-035.html.ini
new file mode 100644
index 00000000000..d29779efe6e
--- /dev/null
+++ b/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/flex-aspect-ratio-035.html.ini
@@ -0,0 +1,2 @@
+[flex-aspect-ratio-035.html]
+ expected: FAIL
diff --git a/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/flex-aspect-ratio-036.html.ini b/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/flex-aspect-ratio-036.html.ini
new file mode 100644
index 00000000000..9d5f708aa6b
--- /dev/null
+++ b/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/flex-aspect-ratio-036.html.ini
@@ -0,0 +1,2 @@
+[flex-aspect-ratio-036.html]
+ expected: FAIL
diff --git a/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/flex-aspect-ratio-037.html.ini b/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/flex-aspect-ratio-037.html.ini
new file mode 100644
index 00000000000..508afeee874
--- /dev/null
+++ b/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/flex-aspect-ratio-037.html.ini
@@ -0,0 +1,2 @@
+[flex-aspect-ratio-037.html]
+ expected: FAIL
diff --git a/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/flex-aspect-ratio-038.html.ini b/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/flex-aspect-ratio-038.html.ini
new file mode 100644
index 00000000000..da784c26079
--- /dev/null
+++ b/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/flex-aspect-ratio-038.html.ini
@@ -0,0 +1,2 @@
+[flex-aspect-ratio-038.html]
+ expected: FAIL
diff --git a/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/flex-aspect-ratio-039.html.ini b/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/flex-aspect-ratio-039.html.ini
new file mode 100644
index 00000000000..9d63a882f32
--- /dev/null
+++ b/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/flex-aspect-ratio-039.html.ini
@@ -0,0 +1,2 @@
+[flex-aspect-ratio-039.html]
+ expected: FAIL
diff --git a/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/flex-aspect-ratio-043.html.ini b/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/flex-aspect-ratio-043.html.ini
new file mode 100644
index 00000000000..7eef9b9109f
--- /dev/null
+++ b/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/flex-aspect-ratio-043.html.ini
@@ -0,0 +1,2 @@
+[flex-aspect-ratio-043.html]
+ expected: FAIL
diff --git a/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/flex-aspect-ratio-044.html.ini b/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/flex-aspect-ratio-044.html.ini
new file mode 100644
index 00000000000..fd156b32084
--- /dev/null
+++ b/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/flex-aspect-ratio-044.html.ini
@@ -0,0 +1,2 @@
+[flex-aspect-ratio-044.html]
+ expected: FAIL
diff --git a/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/floats-aspect-ratio-001.html.ini b/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/floats-aspect-ratio-001.html.ini
new file mode 100644
index 00000000000..381eabf8f8f
--- /dev/null
+++ b/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/floats-aspect-ratio-001.html.ini
@@ -0,0 +1,2 @@
+[floats-aspect-ratio-001.html]
+ expected: FAIL
diff --git a/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/fractional-aspect-ratio.html.ini b/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/fractional-aspect-ratio.html.ini
new file mode 100644
index 00000000000..af84f499a9a
--- /dev/null
+++ b/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/fractional-aspect-ratio.html.ini
@@ -0,0 +1,6 @@
+[fractional-aspect-ratio.html]
+ [div 1]
+ expected: FAIL
+
+ [div 2]
+ expected: FAIL
diff --git a/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/grid-aspect-ratio-001.html.ini b/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/grid-aspect-ratio-001.html.ini
new file mode 100644
index 00000000000..0c87aad2f92
--- /dev/null
+++ b/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/grid-aspect-ratio-001.html.ini
@@ -0,0 +1,2 @@
+[grid-aspect-ratio-001.html]
+ expected: FAIL
diff --git a/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/grid-aspect-ratio-002.html.ini b/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/grid-aspect-ratio-002.html.ini
new file mode 100644
index 00000000000..a385532ec81
--- /dev/null
+++ b/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/grid-aspect-ratio-002.html.ini
@@ -0,0 +1,2 @@
+[grid-aspect-ratio-002.html]
+ expected: FAIL
diff --git a/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/grid-aspect-ratio-003.html.ini b/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/grid-aspect-ratio-003.html.ini
new file mode 100644
index 00000000000..6110268aa54
--- /dev/null
+++ b/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/grid-aspect-ratio-003.html.ini
@@ -0,0 +1,2 @@
+[grid-aspect-ratio-003.html]
+ expected: FAIL
diff --git a/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/grid-aspect-ratio-004.html.ini b/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/grid-aspect-ratio-004.html.ini
new file mode 100644
index 00000000000..85a65b2259f
--- /dev/null
+++ b/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/grid-aspect-ratio-004.html.ini
@@ -0,0 +1,2 @@
+[grid-aspect-ratio-004.html]
+ expected: FAIL
diff --git a/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/grid-aspect-ratio-005.html.ini b/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/grid-aspect-ratio-005.html.ini
new file mode 100644
index 00000000000..c190092d3a9
--- /dev/null
+++ b/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/grid-aspect-ratio-005.html.ini
@@ -0,0 +1,2 @@
+[grid-aspect-ratio-005.html]
+ expected: FAIL
diff --git a/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/grid-aspect-ratio-006.html.ini b/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/grid-aspect-ratio-006.html.ini
new file mode 100644
index 00000000000..6ddf93b6fbe
--- /dev/null
+++ b/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/grid-aspect-ratio-006.html.ini
@@ -0,0 +1,2 @@
+[grid-aspect-ratio-006.html]
+ expected: FAIL
diff --git a/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/grid-aspect-ratio-007.html.ini b/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/grid-aspect-ratio-007.html.ini
new file mode 100644
index 00000000000..d3164fd188c
--- /dev/null
+++ b/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/grid-aspect-ratio-007.html.ini
@@ -0,0 +1,2 @@
+[grid-aspect-ratio-007.html]
+ expected: FAIL
diff --git a/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/grid-aspect-ratio-008.html.ini b/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/grid-aspect-ratio-008.html.ini
new file mode 100644
index 00000000000..757239fc528
--- /dev/null
+++ b/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/grid-aspect-ratio-008.html.ini
@@ -0,0 +1,2 @@
+[grid-aspect-ratio-008.html]
+ expected: FAIL
diff --git a/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/grid-aspect-ratio-009.html.ini b/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/grid-aspect-ratio-009.html.ini
new file mode 100644
index 00000000000..1fa3a2d2b0e
--- /dev/null
+++ b/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/grid-aspect-ratio-009.html.ini
@@ -0,0 +1,2 @@
+[grid-aspect-ratio-009.html]
+ expected: FAIL
diff --git a/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/grid-aspect-ratio-010.html.ini b/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/grid-aspect-ratio-010.html.ini
new file mode 100644
index 00000000000..6f3f1fa4966
--- /dev/null
+++ b/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/grid-aspect-ratio-010.html.ini
@@ -0,0 +1,2 @@
+[grid-aspect-ratio-010.html]
+ expected: FAIL
diff --git a/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/grid-aspect-ratio-011.html.ini b/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/grid-aspect-ratio-011.html.ini
new file mode 100644
index 00000000000..180562e0108
--- /dev/null
+++ b/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/grid-aspect-ratio-011.html.ini
@@ -0,0 +1,2 @@
+[grid-aspect-ratio-011.html]
+ expected: FAIL
diff --git a/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/grid-aspect-ratio-012.html.ini b/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/grid-aspect-ratio-012.html.ini
new file mode 100644
index 00000000000..1a8778a21cf
--- /dev/null
+++ b/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/grid-aspect-ratio-012.html.ini
@@ -0,0 +1,2 @@
+[grid-aspect-ratio-012.html]
+ expected: FAIL
diff --git a/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/grid-aspect-ratio-014.html.ini b/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/grid-aspect-ratio-014.html.ini
new file mode 100644
index 00000000000..a8c90ae4096
--- /dev/null
+++ b/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/grid-aspect-ratio-014.html.ini
@@ -0,0 +1,2 @@
+[grid-aspect-ratio-014.html]
+ expected: FAIL
diff --git a/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/grid-aspect-ratio-015.html.ini b/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/grid-aspect-ratio-015.html.ini
new file mode 100644
index 00000000000..8c4dc6fbb62
--- /dev/null
+++ b/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/grid-aspect-ratio-015.html.ini
@@ -0,0 +1,2 @@
+[grid-aspect-ratio-015.html]
+ expected: FAIL
diff --git a/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/grid-aspect-ratio-016.html.ini b/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/grid-aspect-ratio-016.html.ini
new file mode 100644
index 00000000000..0a6e31765a7
--- /dev/null
+++ b/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/grid-aspect-ratio-016.html.ini
@@ -0,0 +1,2 @@
+[grid-aspect-ratio-016.html]
+ expected: FAIL
diff --git a/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/grid-aspect-ratio-017.html.ini b/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/grid-aspect-ratio-017.html.ini
new file mode 100644
index 00000000000..5f923d3ef88
--- /dev/null
+++ b/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/grid-aspect-ratio-017.html.ini
@@ -0,0 +1,2 @@
+[grid-aspect-ratio-017.html]
+ expected: FAIL
diff --git a/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/grid-aspect-ratio-018.html.ini b/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/grid-aspect-ratio-018.html.ini
new file mode 100644
index 00000000000..05d7df0240d
--- /dev/null
+++ b/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/grid-aspect-ratio-018.html.ini
@@ -0,0 +1,2 @@
+[grid-aspect-ratio-018.html]
+ expected: FAIL
diff --git a/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/grid-aspect-ratio-019.html.ini b/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/grid-aspect-ratio-019.html.ini
new file mode 100644
index 00000000000..9d6a4d70e0b
--- /dev/null
+++ b/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/grid-aspect-ratio-019.html.ini
@@ -0,0 +1,2 @@
+[grid-aspect-ratio-019.html]
+ expected: FAIL
diff --git a/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/grid-aspect-ratio-020.html.ini b/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/grid-aspect-ratio-020.html.ini
new file mode 100644
index 00000000000..064714960bf
--- /dev/null
+++ b/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/grid-aspect-ratio-020.html.ini
@@ -0,0 +1,2 @@
+[grid-aspect-ratio-020.html]
+ expected: FAIL
diff --git a/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/grid-aspect-ratio-021.html.ini b/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/grid-aspect-ratio-021.html.ini
new file mode 100644
index 00000000000..e78f7347425
--- /dev/null
+++ b/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/grid-aspect-ratio-021.html.ini
@@ -0,0 +1,2 @@
+[grid-aspect-ratio-021.html]
+ expected: FAIL
diff --git a/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/grid-aspect-ratio-022.html.ini b/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/grid-aspect-ratio-022.html.ini
new file mode 100644
index 00000000000..d0d2794eb79
--- /dev/null
+++ b/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/grid-aspect-ratio-022.html.ini
@@ -0,0 +1,2 @@
+[grid-aspect-ratio-022.html]
+ expected: FAIL
diff --git a/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/grid-aspect-ratio-024.html.ini b/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/grid-aspect-ratio-024.html.ini
new file mode 100644
index 00000000000..347f2791ba9
--- /dev/null
+++ b/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/grid-aspect-ratio-024.html.ini
@@ -0,0 +1,2 @@
+[grid-aspect-ratio-024.html]
+ expected: FAIL
diff --git a/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/grid-aspect-ratio-025.html.ini b/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/grid-aspect-ratio-025.html.ini
new file mode 100644
index 00000000000..0892c598edb
--- /dev/null
+++ b/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/grid-aspect-ratio-025.html.ini
@@ -0,0 +1,2 @@
+[grid-aspect-ratio-025.html]
+ expected: FAIL
diff --git a/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/grid-aspect-ratio-026.html.ini b/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/grid-aspect-ratio-026.html.ini
new file mode 100644
index 00000000000..b8b29217f4a
--- /dev/null
+++ b/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/grid-aspect-ratio-026.html.ini
@@ -0,0 +1,2 @@
+[grid-aspect-ratio-026.html]
+ expected: FAIL
diff --git a/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/grid-aspect-ratio-027.html.ini b/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/grid-aspect-ratio-027.html.ini
new file mode 100644
index 00000000000..c3ebe96ea39
--- /dev/null
+++ b/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/grid-aspect-ratio-027.html.ini
@@ -0,0 +1,2 @@
+[grid-aspect-ratio-027.html]
+ expected: FAIL
diff --git a/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/grid-aspect-ratio-028.html.ini b/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/grid-aspect-ratio-028.html.ini
new file mode 100644
index 00000000000..8ac35f36aef
--- /dev/null
+++ b/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/grid-aspect-ratio-028.html.ini
@@ -0,0 +1,2 @@
+[grid-aspect-ratio-028.html]
+ expected: FAIL
diff --git a/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/grid-aspect-ratio-029.html.ini b/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/grid-aspect-ratio-029.html.ini
new file mode 100644
index 00000000000..aeab6adbab0
--- /dev/null
+++ b/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/grid-aspect-ratio-029.html.ini
@@ -0,0 +1,2 @@
+[grid-aspect-ratio-029.html]
+ expected: FAIL
diff --git a/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/grid-aspect-ratio-030.html.ini b/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/grid-aspect-ratio-030.html.ini
new file mode 100644
index 00000000000..52f117fb974
--- /dev/null
+++ b/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/grid-aspect-ratio-030.html.ini
@@ -0,0 +1,2 @@
+[grid-aspect-ratio-030.html]
+ expected: FAIL
diff --git a/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/grid-aspect-ratio-031.html.ini b/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/grid-aspect-ratio-031.html.ini
new file mode 100644
index 00000000000..7e3f3c49acd
--- /dev/null
+++ b/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/grid-aspect-ratio-031.html.ini
@@ -0,0 +1,2 @@
+[grid-aspect-ratio-031.html]
+ expected: FAIL
diff --git a/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/grid-aspect-ratio-032.html.ini b/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/grid-aspect-ratio-032.html.ini
new file mode 100644
index 00000000000..9b06cefceb4
--- /dev/null
+++ b/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/grid-aspect-ratio-032.html.ini
@@ -0,0 +1,2 @@
+[grid-aspect-ratio-032.html]
+ expected: FAIL
diff --git a/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/grid-aspect-ratio-033.html.ini b/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/grid-aspect-ratio-033.html.ini
new file mode 100644
index 00000000000..e57083e5a90
--- /dev/null
+++ b/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/grid-aspect-ratio-033.html.ini
@@ -0,0 +1,2 @@
+[grid-aspect-ratio-033.html]
+ expected: FAIL
diff --git a/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/grid-aspect-ratio-034.html.ini b/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/grid-aspect-ratio-034.html.ini
new file mode 100644
index 00000000000..ca4e6d8ec7f
--- /dev/null
+++ b/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/grid-aspect-ratio-034.html.ini
@@ -0,0 +1,2 @@
+[grid-aspect-ratio-034.html]
+ expected: FAIL
diff --git a/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/grid-aspect-ratio-035.html.ini b/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/grid-aspect-ratio-035.html.ini
new file mode 100644
index 00000000000..a77a11d8933
--- /dev/null
+++ b/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/grid-aspect-ratio-035.html.ini
@@ -0,0 +1,2 @@
+[grid-aspect-ratio-035.html]
+ expected: FAIL
diff --git a/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/grid-aspect-ratio-036.html.ini b/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/grid-aspect-ratio-036.html.ini
new file mode 100644
index 00000000000..cd8d0ee290a
--- /dev/null
+++ b/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/grid-aspect-ratio-036.html.ini
@@ -0,0 +1,2 @@
+[grid-aspect-ratio-036.html]
+ expected: FAIL
diff --git a/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/grid-aspect-ratio-037.html.ini b/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/grid-aspect-ratio-037.html.ini
new file mode 100644
index 00000000000..2949a91e8d6
--- /dev/null
+++ b/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/grid-aspect-ratio-037.html.ini
@@ -0,0 +1,2 @@
+[grid-aspect-ratio-037.html]
+ expected: FAIL
diff --git a/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/grid-aspect-ratio-038.html.ini b/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/grid-aspect-ratio-038.html.ini
new file mode 100644
index 00000000000..9fd6221bf21
--- /dev/null
+++ b/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/grid-aspect-ratio-038.html.ini
@@ -0,0 +1,2 @@
+[grid-aspect-ratio-038.html]
+ expected: FAIL
diff --git a/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/grid-aspect-ratio-040.html.ini b/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/grid-aspect-ratio-040.html.ini
new file mode 100644
index 00000000000..62ed4724885
--- /dev/null
+++ b/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/grid-aspect-ratio-040.html.ini
@@ -0,0 +1,2 @@
+[grid-aspect-ratio-040.html]
+ expected: FAIL
diff --git a/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/grid-aspect-ratio-041.html.ini b/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/grid-aspect-ratio-041.html.ini
new file mode 100644
index 00000000000..3c833b2f9a7
--- /dev/null
+++ b/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/grid-aspect-ratio-041.html.ini
@@ -0,0 +1,2 @@
+[grid-aspect-ratio-041.html]
+ expected: FAIL
diff --git a/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/intrinsic-size-001.html.ini b/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/intrinsic-size-001.html.ini
new file mode 100644
index 00000000000..12d28f94e1d
--- /dev/null
+++ b/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/intrinsic-size-001.html.ini
@@ -0,0 +1,2 @@
+[intrinsic-size-001.html]
+ expected: FAIL
diff --git a/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/intrinsic-size-002.html.ini b/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/intrinsic-size-002.html.ini
new file mode 100644
index 00000000000..36976d29d93
--- /dev/null
+++ b/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/intrinsic-size-002.html.ini
@@ -0,0 +1,2 @@
+[intrinsic-size-002.html]
+ expected: FAIL
diff --git a/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/intrinsic-size-003.html.ini b/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/intrinsic-size-003.html.ini
new file mode 100644
index 00000000000..0dd8c185329
--- /dev/null
+++ b/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/intrinsic-size-003.html.ini
@@ -0,0 +1,2 @@
+[intrinsic-size-003.html]
+ expected: FAIL
diff --git a/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/intrinsic-size-004.html.ini b/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/intrinsic-size-004.html.ini
new file mode 100644
index 00000000000..61fff7f31e2
--- /dev/null
+++ b/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/intrinsic-size-004.html.ini
@@ -0,0 +1,2 @@
+[intrinsic-size-004.html]
+ expected: FAIL
diff --git a/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/intrinsic-size-005.html.ini b/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/intrinsic-size-005.html.ini
new file mode 100644
index 00000000000..87a88f8b640
--- /dev/null
+++ b/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/intrinsic-size-005.html.ini
@@ -0,0 +1,2 @@
+[intrinsic-size-005.html]
+ expected: FAIL
diff --git a/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/intrinsic-size-006.html.ini b/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/intrinsic-size-006.html.ini
new file mode 100644
index 00000000000..d75651daaea
--- /dev/null
+++ b/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/intrinsic-size-006.html.ini
@@ -0,0 +1,2 @@
+[intrinsic-size-006.html]
+ expected: FAIL
diff --git a/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/intrinsic-size-007.html.ini b/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/intrinsic-size-007.html.ini
new file mode 100644
index 00000000000..4105b5754f0
--- /dev/null
+++ b/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/intrinsic-size-007.html.ini
@@ -0,0 +1,2 @@
+[intrinsic-size-007.html]
+ expected: FAIL
diff --git a/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/intrinsic-size-008.html.ini b/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/intrinsic-size-008.html.ini
new file mode 100644
index 00000000000..3e3e1bce6e9
--- /dev/null
+++ b/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/intrinsic-size-008.html.ini
@@ -0,0 +1,2 @@
+[intrinsic-size-008.html]
+ expected: FAIL
diff --git a/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/intrinsic-size-010.html.ini b/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/intrinsic-size-010.html.ini
new file mode 100644
index 00000000000..2b14135878a
--- /dev/null
+++ b/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/intrinsic-size-010.html.ini
@@ -0,0 +1,2 @@
+[intrinsic-size-010.html]
+ expected: FAIL
diff --git a/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/intrinsic-size-011.html.ini b/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/intrinsic-size-011.html.ini
new file mode 100644
index 00000000000..06286436fd1
--- /dev/null
+++ b/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/intrinsic-size-011.html.ini
@@ -0,0 +1,2 @@
+[intrinsic-size-011.html]
+ expected: FAIL
diff --git a/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/intrinsic-size-012.html.ini b/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/intrinsic-size-012.html.ini
new file mode 100644
index 00000000000..78844d0f36e
--- /dev/null
+++ b/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/intrinsic-size-012.html.ini
@@ -0,0 +1,2 @@
+[intrinsic-size-012.html]
+ expected: FAIL
diff --git a/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/intrinsic-size-013.html.ini b/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/intrinsic-size-013.html.ini
new file mode 100644
index 00000000000..5c06d9e9289
--- /dev/null
+++ b/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/intrinsic-size-013.html.ini
@@ -0,0 +1,2 @@
+[intrinsic-size-013.html]
+ expected: FAIL
diff --git a/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/intrinsic-size-014.html.ini b/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/intrinsic-size-014.html.ini
new file mode 100644
index 00000000000..dfb345856fd
--- /dev/null
+++ b/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/intrinsic-size-014.html.ini
@@ -0,0 +1,2 @@
+[intrinsic-size-014.html]
+ expected: FAIL
diff --git a/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/intrinsic-size-015.html.ini b/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/intrinsic-size-015.html.ini
new file mode 100644
index 00000000000..6818b61e28f
--- /dev/null
+++ b/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/intrinsic-size-015.html.ini
@@ -0,0 +1,2 @@
+[intrinsic-size-015.html]
+ expected: FAIL
diff --git a/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/intrinsic-size-020.html.ini b/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/intrinsic-size-020.html.ini
new file mode 100644
index 00000000000..cd504c9f35d
--- /dev/null
+++ b/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/intrinsic-size-020.html.ini
@@ -0,0 +1,2 @@
+[intrinsic-size-020.html]
+ expected: FAIL
diff --git a/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/intrinsic-size-021.html.ini b/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/intrinsic-size-021.html.ini
new file mode 100644
index 00000000000..2a2c3167b35
--- /dev/null
+++ b/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/intrinsic-size-021.html.ini
@@ -0,0 +1,2 @@
+[intrinsic-size-021.html]
+ expected: FAIL
diff --git a/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/intrinsic-size-022.html.ini b/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/intrinsic-size-022.html.ini
new file mode 100644
index 00000000000..4826395f732
--- /dev/null
+++ b/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/intrinsic-size-022.html.ini
@@ -0,0 +1,2 @@
+[intrinsic-size-022.html]
+ expected: FAIL
diff --git a/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/intrinsic-size-023.html.ini b/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/intrinsic-size-023.html.ini
new file mode 100644
index 00000000000..b8dadfb164e
--- /dev/null
+++ b/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/intrinsic-size-023.html.ini
@@ -0,0 +1,2 @@
+[intrinsic-size-023.html]
+ expected: FAIL
diff --git a/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/intrinsic-size-024.html.ini b/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/intrinsic-size-024.html.ini
new file mode 100644
index 00000000000..7949d795118
--- /dev/null
+++ b/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/intrinsic-size-024.html.ini
@@ -0,0 +1,2 @@
+[intrinsic-size-024.html]
+ expected: FAIL
diff --git a/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/intrinsic-size-025.html.ini b/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/intrinsic-size-025.html.ini
new file mode 100644
index 00000000000..c5b1cd36da0
--- /dev/null
+++ b/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/intrinsic-size-025.html.ini
@@ -0,0 +1,2 @@
+[intrinsic-size-025.html]
+ expected: FAIL
diff --git a/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/percentage-resolution-001.html.ini b/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/percentage-resolution-001.html.ini
new file mode 100644
index 00000000000..cdb659b3c47
--- /dev/null
+++ b/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/percentage-resolution-001.html.ini
@@ -0,0 +1,2 @@
+[percentage-resolution-001.html]
+ expected: FAIL
diff --git a/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/percentage-resolution-002.html.ini b/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/percentage-resolution-002.html.ini
new file mode 100644
index 00000000000..c7f992db86d
--- /dev/null
+++ b/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/percentage-resolution-002.html.ini
@@ -0,0 +1,2 @@
+[percentage-resolution-002.html]
+ expected: FAIL
diff --git a/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/percentage-resolution-003.html.ini b/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/percentage-resolution-003.html.ini
new file mode 100644
index 00000000000..6c95f442525
--- /dev/null
+++ b/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/percentage-resolution-003.html.ini
@@ -0,0 +1,2 @@
+[percentage-resolution-003.html]
+ expected: FAIL
diff --git a/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/percentage-resolution-004.html.ini b/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/percentage-resolution-004.html.ini
new file mode 100644
index 00000000000..eedb1d5e5ca
--- /dev/null
+++ b/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/percentage-resolution-004.html.ini
@@ -0,0 +1,2 @@
+[percentage-resolution-004.html]
+ expected: FAIL
diff --git a/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/percentage-resolution-005.html.ini b/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/percentage-resolution-005.html.ini
new file mode 100644
index 00000000000..dcb7e9148d1
--- /dev/null
+++ b/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/percentage-resolution-005.html.ini
@@ -0,0 +1,2 @@
+[percentage-resolution-005.html]
+ expected: FAIL
diff --git a/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/quirks-mode-001.html.ini b/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/quirks-mode-001.html.ini
new file mode 100644
index 00000000000..1b168db4589
--- /dev/null
+++ b/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/quirks-mode-001.html.ini
@@ -0,0 +1,3 @@
+[quirks-mode-001.html]
+ [body height is 100]
+ expected: FAIL
diff --git a/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/replaced-element-001.html.ini b/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/replaced-element-001.html.ini
new file mode 100644
index 00000000000..5c831df5045
--- /dev/null
+++ b/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/replaced-element-001.html.ini
@@ -0,0 +1,2 @@
+[replaced-element-001.html]
+ expected: FAIL
diff --git a/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/replaced-element-002.html.ini b/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/replaced-element-002.html.ini
new file mode 100644
index 00000000000..9be1a75b5c6
--- /dev/null
+++ b/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/replaced-element-002.html.ini
@@ -0,0 +1,2 @@
+[replaced-element-002.html]
+ expected: FAIL
diff --git a/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/replaced-element-003.html.ini b/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/replaced-element-003.html.ini
new file mode 100644
index 00000000000..ed3f1adefc3
--- /dev/null
+++ b/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/replaced-element-003.html.ini
@@ -0,0 +1,2 @@
+[replaced-element-003.html]
+ expected: FAIL
diff --git a/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/replaced-element-004.html.ini b/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/replaced-element-004.html.ini
new file mode 100644
index 00000000000..8f82e7aa536
--- /dev/null
+++ b/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/replaced-element-004.html.ini
@@ -0,0 +1,2 @@
+[replaced-element-004.html]
+ expected: FAIL
diff --git a/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/replaced-element-005.html.ini b/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/replaced-element-005.html.ini
new file mode 100644
index 00000000000..44c90c5d021
--- /dev/null
+++ b/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/replaced-element-005.html.ini
@@ -0,0 +1,2 @@
+[replaced-element-005.html]
+ expected: FAIL
diff --git a/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/replaced-element-006.html.ini b/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/replaced-element-006.html.ini
new file mode 100644
index 00000000000..78fd7dbd3fc
--- /dev/null
+++ b/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/replaced-element-006.html.ini
@@ -0,0 +1,2 @@
+[replaced-element-006.html]
+ expected: FAIL
diff --git a/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/replaced-element-007.html.ini b/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/replaced-element-007.html.ini
new file mode 100644
index 00000000000..397bca2e36d
--- /dev/null
+++ b/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/replaced-element-007.html.ini
@@ -0,0 +1,2 @@
+[replaced-element-007.html]
+ expected: FAIL
diff --git a/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/replaced-element-008.html.ini b/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/replaced-element-008.html.ini
new file mode 100644
index 00000000000..05c693dda98
--- /dev/null
+++ b/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/replaced-element-008.html.ini
@@ -0,0 +1,2 @@
+[replaced-element-008.html]
+ expected: FAIL
diff --git a/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/replaced-element-009.html.ini b/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/replaced-element-009.html.ini
new file mode 100644
index 00000000000..b094fe452e8
--- /dev/null
+++ b/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/replaced-element-009.html.ini
@@ -0,0 +1,2 @@
+[replaced-element-009.html]
+ expected: FAIL
diff --git a/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/replaced-element-010.html.ini b/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/replaced-element-010.html.ini
new file mode 100644
index 00000000000..5306fd2e947
--- /dev/null
+++ b/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/replaced-element-010.html.ini
@@ -0,0 +1,2 @@
+[replaced-element-010.html]
+ expected: FAIL
diff --git a/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/replaced-element-011.html.ini b/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/replaced-element-011.html.ini
new file mode 100644
index 00000000000..873bd786ed2
--- /dev/null
+++ b/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/replaced-element-011.html.ini
@@ -0,0 +1,2 @@
+[replaced-element-011.html]
+ expected: FAIL
diff --git a/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/replaced-element-012.html.ini b/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/replaced-element-012.html.ini
new file mode 100644
index 00000000000..f0f4f86b8fd
--- /dev/null
+++ b/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/replaced-element-012.html.ini
@@ -0,0 +1,2 @@
+[replaced-element-012.html]
+ expected: FAIL
diff --git a/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/replaced-element-015.html.ini b/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/replaced-element-015.html.ini
new file mode 100644
index 00000000000..46e7d609433
--- /dev/null
+++ b/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/replaced-element-015.html.ini
@@ -0,0 +1,2 @@
+[replaced-element-015.html]
+ expected: FAIL
diff --git a/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/replaced-element-016.html.ini b/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/replaced-element-016.html.ini
new file mode 100644
index 00000000000..669a52a7628
--- /dev/null
+++ b/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/replaced-element-016.html.ini
@@ -0,0 +1,2 @@
+[replaced-element-016.html]
+ expected: FAIL
diff --git a/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/replaced-element-017.html.ini b/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/replaced-element-017.html.ini
new file mode 100644
index 00000000000..a8f9a3aebc7
--- /dev/null
+++ b/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/replaced-element-017.html.ini
@@ -0,0 +1,2 @@
+[replaced-element-017.html]
+ expected: FAIL
diff --git a/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/replaced-element-018.html.ini b/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/replaced-element-018.html.ini
new file mode 100644
index 00000000000..734b649ac9d
--- /dev/null
+++ b/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/replaced-element-018.html.ini
@@ -0,0 +1,2 @@
+[replaced-element-018.html]
+ expected: FAIL
diff --git a/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/replaced-element-019.html.ini b/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/replaced-element-019.html.ini
new file mode 100644
index 00000000000..c9a719cff5f
--- /dev/null
+++ b/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/replaced-element-019.html.ini
@@ -0,0 +1,2 @@
+[replaced-element-019.html]
+ expected: FAIL
diff --git a/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/replaced-element-020.html.ini b/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/replaced-element-020.html.ini
new file mode 100644
index 00000000000..57c7f44c539
--- /dev/null
+++ b/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/replaced-element-020.html.ini
@@ -0,0 +1,2 @@
+[replaced-element-020.html]
+ expected: FAIL
diff --git a/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/replaced-element-021.html.ini b/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/replaced-element-021.html.ini
new file mode 100644
index 00000000000..2d2ac4a032b
--- /dev/null
+++ b/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/replaced-element-021.html.ini
@@ -0,0 +1,2 @@
+[replaced-element-021.html]
+ expected: FAIL
diff --git a/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/replaced-element-022.html.ini b/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/replaced-element-022.html.ini
new file mode 100644
index 00000000000..9ec9e0b2192
--- /dev/null
+++ b/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/replaced-element-022.html.ini
@@ -0,0 +1,2 @@
+[replaced-element-022.html]
+ expected: FAIL
diff --git a/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/replaced-element-023.html.ini b/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/replaced-element-023.html.ini
new file mode 100644
index 00000000000..388c41c2b2c
--- /dev/null
+++ b/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/replaced-element-023.html.ini
@@ -0,0 +1,2 @@
+[replaced-element-023.html]
+ expected: FAIL
diff --git a/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/replaced-element-025.html.ini b/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/replaced-element-025.html.ini
new file mode 100644
index 00000000000..6e5eadfede8
--- /dev/null
+++ b/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/replaced-element-025.html.ini
@@ -0,0 +1,2 @@
+[replaced-element-025.html]
+ expected: FAIL
diff --git a/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/replaced-element-027.html.ini b/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/replaced-element-027.html.ini
new file mode 100644
index 00000000000..3207d66a97f
--- /dev/null
+++ b/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/replaced-element-027.html.ini
@@ -0,0 +1,2 @@
+[replaced-element-027.html]
+ expected: FAIL
diff --git a/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/replaced-element-031.html.ini b/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/replaced-element-031.html.ini
new file mode 100644
index 00000000000..bd6a2a25263
--- /dev/null
+++ b/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/replaced-element-031.html.ini
@@ -0,0 +1,2 @@
+[replaced-element-031.html]
+ expected: FAIL
diff --git a/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/replaced-element-032.html.ini b/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/replaced-element-032.html.ini
new file mode 100644
index 00000000000..cbb89ffd95a
--- /dev/null
+++ b/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/replaced-element-032.html.ini
@@ -0,0 +1,2 @@
+[replaced-element-032.html]
+ expected: FAIL
diff --git a/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/replaced-element-033.html.ini b/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/replaced-element-033.html.ini
new file mode 100644
index 00000000000..26c172e3a52
--- /dev/null
+++ b/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/replaced-element-033.html.ini
@@ -0,0 +1,2 @@
+[replaced-element-033.html]
+ expected: FAIL
diff --git a/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/replaced-element-034.html.ini b/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/replaced-element-034.html.ini
new file mode 100644
index 00000000000..48a22660506
--- /dev/null
+++ b/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/replaced-element-034.html.ini
@@ -0,0 +1,2 @@
+[replaced-element-034.html]
+ expected: FAIL
diff --git a/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/replaced-element-036.html.ini b/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/replaced-element-036.html.ini
new file mode 100644
index 00000000000..453560a3f33
--- /dev/null
+++ b/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/replaced-element-036.html.ini
@@ -0,0 +1,6 @@
+[replaced-element-036.html]
+ [display:block img should be 200px high]
+ expected: FAIL
+
+ [display:inline-block img should be 200px high]
+ expected: FAIL
diff --git a/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/replaced-element-039.html.ini b/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/replaced-element-039.html.ini
new file mode 100644
index 00000000000..8509b12fd8a
--- /dev/null
+++ b/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/replaced-element-039.html.ini
@@ -0,0 +1,2 @@
+[replaced-element-039.html]
+ expected: FAIL
diff --git a/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/replaced-element-040.html.ini b/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/replaced-element-040.html.ini
new file mode 100644
index 00000000000..025be76d78e
--- /dev/null
+++ b/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/replaced-element-040.html.ini
@@ -0,0 +1,2 @@
+[replaced-element-040.html]
+ expected: FAIL
diff --git a/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/replaced-element-dynamic-aspect-ratio.html.ini b/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/replaced-element-dynamic-aspect-ratio.html.ini
new file mode 100644
index 00000000000..919fb85dac8
--- /dev/null
+++ b/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/replaced-element-dynamic-aspect-ratio.html.ini
@@ -0,0 +1,2 @@
+[replaced-element-dynamic-aspect-ratio.html]
+ expected: FAIL
diff --git a/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/select-element-001.html.ini b/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/select-element-001.html.ini
new file mode 100644
index 00000000000..5235e174e34
--- /dev/null
+++ b/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/select-element-001.html.ini
@@ -0,0 +1,2 @@
+[select-element-001.html]
+ expected: FAIL
diff --git a/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/table-element-001.html.ini b/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/table-element-001.html.ini
new file mode 100644
index 00000000000..a9091ef44f8
--- /dev/null
+++ b/tests/wpt/meta-legacy-layout/css/css-sizing/aspect-ratio/table-element-001.html.ini
@@ -0,0 +1,2 @@
+[table-element-001.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-values/calc-size/animation/interpolate-size-height-composition.html.ini b/tests/wpt/meta-legacy-layout/css/css-values/calc-size/animation/interpolate-size-height-composition.html.ini
new file mode 100644
index 00000000000..b649855796c
--- /dev/null
+++ b/tests/wpt/meta-legacy-layout/css/css-values/calc-size/animation/interpolate-size-height-composition.html.ini
@@ -0,0 +1,30 @@
+[interpolate-size-height-composition.html]
+ [Compositing: property <height> underlying [fit-content\] from add [100px\] to add [200px\] at (-0.3) should be [120px\]]
+ expected: FAIL
+
+ [Compositing: property <height> underlying [fit-content\] from add [100px\] to add [200px\] at (0) should be [150px\]]
+ expected: FAIL
+
+ [Compositing: property <height> underlying [fit-content\] from add [100px\] to add [200px\] at (0.5) should be [200px\]]
+ expected: FAIL
+
+ [Compositing: property <height> underlying [fit-content\] from add [100px\] to add [200px\] at (1) should be [250px\]]
+ expected: FAIL
+
+ [Compositing: property <height> underlying [fit-content\] from add [100px\] to add [200px\] at (1.5) should be [300px\]]
+ expected: FAIL
+
+ [Compositing: property <height> underlying [fit-content\] from add [min-content\] to add [200px\] at (-0.3) should be [5px\]]
+ expected: FAIL
+
+ [Compositing: property <height> underlying [fit-content\] from add [min-content\] to add [200px\] at (0) should be [50px\]]
+ expected: FAIL
+
+ [Compositing: property <height> underlying [fit-content\] from add [min-content\] to add [200px\] at (0.5) should be [125px\]]
+ expected: FAIL
+
+ [Compositing: property <height> underlying [fit-content\] from add [min-content\] to add [200px\] at (1) should be [200px\]]
+ expected: FAIL
+
+ [Compositing: property <height> underlying [fit-content\] from add [min-content\] to add [200px\] at (1.5) should be [275px\]]
+ expected: FAIL
diff --git a/tests/wpt/meta-legacy-layout/css/css-values/calc-size/animation/interpolate-size-height-interpolation.html.ini b/tests/wpt/meta-legacy-layout/css/css-values/calc-size/animation/interpolate-size-height-interpolation.html.ini
new file mode 100644
index 00000000000..2cea53c78fe
--- /dev/null
+++ b/tests/wpt/meta-legacy-layout/css/css-values/calc-size/animation/interpolate-size-height-interpolation.html.ini
@@ -0,0 +1,738 @@
+[interpolate-size-height-interpolation.html]
+ [Web Animations: property <height> from [initial\] to [90px\] at (-0.3) should be [38px\]]
+ expected: FAIL
+
+ [Web Animations: property <height> from [initial\] to [90px\] at (0) should be [50px\]]
+ expected: FAIL
+
+ [Web Animations: property <height> from [initial\] to [90px\] at (0.3) should be [62px\]]
+ expected: FAIL
+
+ [Web Animations: property <height> from [initial\] to [90px\] at (0.6) should be [74px\]]
+ expected: FAIL
+
+ [Web Animations: property <height> from [initial\] to [90px\] at (1) should be [90px\]]
+ expected: FAIL
+
+ [Web Animations: property <height> from [initial\] to [90px\] at (1.5) should be [110px\]]
+ expected: FAIL
+
+ [Web Animations: property <height> from [unset\] to [10px\] at (-0.3) should be [62px\]]
+ expected: FAIL
+
+ [Web Animations: property <height> from [unset\] to [10px\] at (0) should be [50px\]]
+ expected: FAIL
+
+ [Web Animations: property <height> from [unset\] to [10px\] at (0.3) should be [38px\]]
+ expected: FAIL
+
+ [Web Animations: property <height> from [unset\] to [10px\] at (0.6) should be [26px\]]
+ expected: FAIL
+
+ [Web Animations: property <height> from [unset\] to [10px\] at (1) should be [10px\]]
+ expected: FAIL
+
+ [Web Animations: property <height> from [unset\] to [10px\] at (1.5) should be [0px\]]
+ expected: FAIL
+
+ [Web Animations: property <height> from [0px\] to [auto\] at (-0.3) should be [0px\]]
+ expected: FAIL
+
+ [Web Animations: property <height> from [0px\] to [auto\] at (0) should be [0px\]]
+ expected: FAIL
+
+ [Web Animations: property <height> from [0px\] to [auto\] at (0.3) should be [15px\]]
+ expected: FAIL
+
+ [Web Animations: property <height> from [0px\] to [auto\] at (0.6) should be [30px\]]
+ expected: FAIL
+
+ [Web Animations: property <height> from [0px\] to [auto\] at (1) should be [50px\]]
+ expected: FAIL
+
+ [Web Animations: property <height> from [0px\] to [auto\] at (1.5) should be [75px\]]
+ expected: FAIL
+
+ [Web Animations: property <height> from [auto\] to [10px\] at (-0.3) should be [62px\]]
+ expected: FAIL
+
+ [Web Animations: property <height> from [auto\] to [10px\] at (0) should be [50px\]]
+ expected: FAIL
+
+ [Web Animations: property <height> from [auto\] to [10px\] at (0.3) should be [38px\]]
+ expected: FAIL
+
+ [Web Animations: property <height> from [auto\] to [10px\] at (0.6) should be [26px\]]
+ expected: FAIL
+
+ [Web Animations: property <height> from [auto\] to [10px\] at (1) should be [10px\]]
+ expected: FAIL
+
+ [Web Animations: property <height> from [auto\] to [10px\] at (1.5) should be [0px\]]
+ expected: FAIL
+
+ [CSS Transitions: property <height> from [min-content\] to [inherit\] at (-0.3) should be [5px\]]
+ expected: FAIL
+
+ [CSS Transitions: property <height> from [min-content\] to [inherit\] at (0) should be [50px\]]
+ expected: FAIL
+
+ [CSS Transitions: property <height> from [min-content\] to [inherit\] at (0.3) should be [95px\]]
+ expected: FAIL
+
+ [CSS Transitions: property <height> from [min-content\] to [inherit\] at (0.6) should be [140px\]]
+ expected: FAIL
+
+ [CSS Transitions: property <height> from [min-content\] to [inherit\] at (1) should be [200px\]]
+ expected: FAIL
+
+ [CSS Transitions: property <height> from [min-content\] to [inherit\] at (1.5) should be [275px\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <height> from [min-content\] to [inherit\] at (-0.3) should be [5px\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <height> from [min-content\] to [inherit\] at (0) should be [50px\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <height> from [min-content\] to [inherit\] at (0.3) should be [95px\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <height> from [min-content\] to [inherit\] at (0.6) should be [140px\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <height> from [min-content\] to [inherit\] at (1) should be [200px\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <height> from [min-content\] to [inherit\] at (1.5) should be [275px\]]
+ expected: FAIL
+
+ [CSS Animations: property <height> from [min-content\] to [inherit\] at (-0.3) should be [5px\]]
+ expected: FAIL
+
+ [CSS Animations: property <height> from [min-content\] to [inherit\] at (0) should be [50px\]]
+ expected: FAIL
+
+ [CSS Animations: property <height> from [min-content\] to [inherit\] at (0.3) should be [95px\]]
+ expected: FAIL
+
+ [CSS Animations: property <height> from [min-content\] to [inherit\] at (0.6) should be [140px\]]
+ expected: FAIL
+
+ [CSS Animations: property <height> from [min-content\] to [inherit\] at (1) should be [200px\]]
+ expected: FAIL
+
+ [CSS Animations: property <height> from [min-content\] to [inherit\] at (1.5) should be [275px\]]
+ expected: FAIL
+
+ [Web Animations: property <height> from [min-content\] to [inherit\] at (-0.3) should be [5px\]]
+ expected: FAIL
+
+ [Web Animations: property <height> from [min-content\] to [inherit\] at (0) should be [50px\]]
+ expected: FAIL
+
+ [Web Animations: property <height> from [min-content\] to [inherit\] at (0.3) should be [95px\]]
+ expected: FAIL
+
+ [Web Animations: property <height> from [min-content\] to [inherit\] at (0.6) should be [140px\]]
+ expected: FAIL
+
+ [Web Animations: property <height> from [min-content\] to [inherit\] at (1) should be [200px\]]
+ expected: FAIL
+
+ [Web Animations: property <height> from [min-content\] to [inherit\] at (1.5) should be [275px\]]
+ expected: FAIL
+
+ [CSS Transitions with transition-behavior:allow-discrete: property <height> from [auto\] to [min-content\] at (-0.3) should be [auto\]]
+ expected: FAIL
+
+ [CSS Transitions with transition-behavior:allow-discrete: property <height> from [auto\] to [min-content\] at (0) should be [auto\]]
+ expected: FAIL
+
+ [CSS Transitions with transition-behavior:allow-discrete: property <height> from [auto\] to [min-content\] at (0.3) should be [auto\]]
+ expected: FAIL
+
+ [CSS Transitions with transition-behavior:allow-discrete: property <height> from [auto\] to [min-content\] at (0.5) should be [min-content\]]
+ expected: FAIL
+
+ [CSS Transitions with transition-behavior:allow-discrete: property <height> from [auto\] to [min-content\] at (0.6) should be [min-content\]]
+ expected: FAIL
+
+ [CSS Transitions with transition-behavior:allow-discrete: property <height> from [auto\] to [min-content\] at (1) should be [min-content\]]
+ expected: FAIL
+
+ [CSS Transitions with transition-behavior:allow-discrete: property <height> from [auto\] to [min-content\] at (1.5) should be [min-content\]]
+ expected: FAIL
+
+ [CSS Transitions with transition-property:all and transition-behavor:allow-discrete: property <height> from [auto\] to [min-content\] at (-0.3) should be [auto\]]
+ expected: FAIL
+
+ [CSS Transitions with transition-property:all and transition-behavor:allow-discrete: property <height> from [auto\] to [min-content\] at (0) should be [auto\]]
+ expected: FAIL
+
+ [CSS Transitions with transition-property:all and transition-behavor:allow-discrete: property <height> from [auto\] to [min-content\] at (0.3) should be [auto\]]
+ expected: FAIL
+
+ [CSS Transitions with transition-property:all and transition-behavor:allow-discrete: property <height> from [auto\] to [min-content\] at (0.5) should be [min-content\]]
+ expected: FAIL
+
+ [CSS Transitions with transition-property:all and transition-behavor:allow-discrete: property <height> from [auto\] to [min-content\] at (0.6) should be [min-content\]]
+ expected: FAIL
+
+ [CSS Transitions with transition-property:all and transition-behavor:allow-discrete: property <height> from [auto\] to [min-content\] at (1) should be [min-content\]]
+ expected: FAIL
+
+ [CSS Transitions with transition-property:all and transition-behavor:allow-discrete: property <height> from [auto\] to [min-content\] at (1.5) should be [min-content\]]
+ expected: FAIL
+
+ [CSS Transitions: property <height> from [auto\] to [min-content\] at (-0.3) should be [min-content\]]
+ expected: FAIL
+
+ [CSS Transitions: property <height> from [auto\] to [min-content\] at (0) should be [min-content\]]
+ expected: FAIL
+
+ [CSS Transitions: property <height> from [auto\] to [min-content\] at (0.3) should be [min-content\]]
+ expected: FAIL
+
+ [CSS Transitions: property <height> from [auto\] to [min-content\] at (0.5) should be [min-content\]]
+ expected: FAIL
+
+ [CSS Transitions: property <height> from [auto\] to [min-content\] at (0.6) should be [min-content\]]
+ expected: FAIL
+
+ [CSS Transitions: property <height> from [auto\] to [min-content\] at (1) should be [min-content\]]
+ expected: FAIL
+
+ [CSS Transitions: property <height> from [auto\] to [min-content\] at (1.5) should be [min-content\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <height> from [auto\] to [min-content\] at (-0.3) should be [min-content\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <height> from [auto\] to [min-content\] at (0) should be [min-content\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <height> from [auto\] to [min-content\] at (0.3) should be [min-content\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <height> from [auto\] to [min-content\] at (0.5) should be [min-content\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <height> from [auto\] to [min-content\] at (0.6) should be [min-content\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <height> from [auto\] to [min-content\] at (1) should be [min-content\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <height> from [auto\] to [min-content\] at (1.5) should be [min-content\]]
+ expected: FAIL
+
+ [CSS Animations: property <height> from [auto\] to [min-content\] at (-0.3) should be [auto\]]
+ expected: FAIL
+
+ [CSS Animations: property <height> from [auto\] to [min-content\] at (0) should be [auto\]]
+ expected: FAIL
+
+ [CSS Animations: property <height> from [auto\] to [min-content\] at (0.3) should be [auto\]]
+ expected: FAIL
+
+ [CSS Animations: property <height> from [auto\] to [min-content\] at (0.5) should be [min-content\]]
+ expected: FAIL
+
+ [CSS Animations: property <height> from [auto\] to [min-content\] at (0.6) should be [min-content\]]
+ expected: FAIL
+
+ [CSS Animations: property <height> from [auto\] to [min-content\] at (1) should be [min-content\]]
+ expected: FAIL
+
+ [CSS Animations: property <height> from [auto\] to [min-content\] at (1.5) should be [min-content\]]
+ expected: FAIL
+
+ [Web Animations: property <height> from [auto\] to [min-content\] at (-0.3) should be [auto\]]
+ expected: FAIL
+
+ [Web Animations: property <height> from [auto\] to [min-content\] at (0) should be [auto\]]
+ expected: FAIL
+
+ [Web Animations: property <height> from [auto\] to [min-content\] at (0.3) should be [auto\]]
+ expected: FAIL
+
+ [Web Animations: property <height> from [auto\] to [min-content\] at (0.5) should be [min-content\]]
+ expected: FAIL
+
+ [Web Animations: property <height> from [auto\] to [min-content\] at (0.6) should be [min-content\]]
+ expected: FAIL
+
+ [Web Animations: property <height> from [auto\] to [min-content\] at (1) should be [min-content\]]
+ expected: FAIL
+
+ [Web Animations: property <height> from [auto\] to [min-content\] at (1.5) should be [min-content\]]
+ expected: FAIL
+
+ [CSS Transitions: property <height> from [fit-content\] to [10px\] at (-0.3) should be [62px\]]
+ expected: FAIL
+
+ [CSS Transitions: property <height> from [fit-content\] to [10px\] at (0) should be [50px\]]
+ expected: FAIL
+
+ [CSS Transitions: property <height> from [fit-content\] to [10px\] at (0.3) should be [38px\]]
+ expected: FAIL
+
+ [CSS Transitions: property <height> from [fit-content\] to [10px\] at (0.6) should be [26px\]]
+ expected: FAIL
+
+ [CSS Transitions: property <height> from [fit-content\] to [10px\] at (1) should be [10px\]]
+ expected: FAIL
+
+ [CSS Transitions: property <height> from [fit-content\] to [10px\] at (1.5) should be [0px\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <height> from [fit-content\] to [10px\] at (-0.3) should be [62px\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <height> from [fit-content\] to [10px\] at (0) should be [50px\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <height> from [fit-content\] to [10px\] at (0.3) should be [38px\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <height> from [fit-content\] to [10px\] at (0.6) should be [26px\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <height> from [fit-content\] to [10px\] at (1) should be [10px\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <height> from [fit-content\] to [10px\] at (1.5) should be [0px\]]
+ expected: FAIL
+
+ [CSS Animations: property <height> from [fit-content\] to [10px\] at (-0.3) should be [62px\]]
+ expected: FAIL
+
+ [CSS Animations: property <height> from [fit-content\] to [10px\] at (0) should be [50px\]]
+ expected: FAIL
+
+ [CSS Animations: property <height> from [fit-content\] to [10px\] at (0.3) should be [38px\]]
+ expected: FAIL
+
+ [CSS Animations: property <height> from [fit-content\] to [10px\] at (0.6) should be [26px\]]
+ expected: FAIL
+
+ [CSS Animations: property <height> from [fit-content\] to [10px\] at (1) should be [10px\]]
+ expected: FAIL
+
+ [CSS Animations: property <height> from [fit-content\] to [10px\] at (1.5) should be [0px\]]
+ expected: FAIL
+
+ [Web Animations: property <height> from [fit-content\] to [10px\] at (-0.3) should be [62px\]]
+ expected: FAIL
+
+ [Web Animations: property <height> from [fit-content\] to [10px\] at (0) should be [50px\]]
+ expected: FAIL
+
+ [Web Animations: property <height> from [fit-content\] to [10px\] at (0.3) should be [38px\]]
+ expected: FAIL
+
+ [Web Animations: property <height> from [fit-content\] to [10px\] at (0.6) should be [26px\]]
+ expected: FAIL
+
+ [Web Animations: property <height> from [fit-content\] to [10px\] at (1) should be [10px\]]
+ expected: FAIL
+
+ [Web Animations: property <height> from [fit-content\] to [10px\] at (1.5) should be [0px\]]
+ expected: FAIL
+
+ [CSS Transitions with transition-behavior:allow-discrete: property <height> from [max-content\] to [fit-content\] at (-0.3) should be [max-content\]]
+ expected: FAIL
+
+ [CSS Transitions with transition-behavior:allow-discrete: property <height> from [max-content\] to [fit-content\] at (0) should be [max-content\]]
+ expected: FAIL
+
+ [CSS Transitions with transition-behavior:allow-discrete: property <height> from [max-content\] to [fit-content\] at (0.3) should be [max-content\]]
+ expected: FAIL
+
+ [CSS Transitions with transition-behavior:allow-discrete: property <height> from [max-content\] to [fit-content\] at (0.5) should be [fit-content\]]
+ expected: FAIL
+
+ [CSS Transitions with transition-behavior:allow-discrete: property <height> from [max-content\] to [fit-content\] at (0.6) should be [fit-content\]]
+ expected: FAIL
+
+ [CSS Transitions with transition-behavior:allow-discrete: property <height> from [max-content\] to [fit-content\] at (1) should be [fit-content\]]
+ expected: FAIL
+
+ [CSS Transitions with transition-behavior:allow-discrete: property <height> from [max-content\] to [fit-content\] at (1.5) should be [fit-content\]]
+ expected: FAIL
+
+ [CSS Transitions with transition-property:all and transition-behavor:allow-discrete: property <height> from [max-content\] to [fit-content\] at (-0.3) should be [max-content\]]
+ expected: FAIL
+
+ [CSS Transitions with transition-property:all and transition-behavor:allow-discrete: property <height> from [max-content\] to [fit-content\] at (0) should be [max-content\]]
+ expected: FAIL
+
+ [CSS Transitions with transition-property:all and transition-behavor:allow-discrete: property <height> from [max-content\] to [fit-content\] at (0.3) should be [max-content\]]
+ expected: FAIL
+
+ [CSS Transitions with transition-property:all and transition-behavor:allow-discrete: property <height> from [max-content\] to [fit-content\] at (0.5) should be [fit-content\]]
+ expected: FAIL
+
+ [CSS Transitions with transition-property:all and transition-behavor:allow-discrete: property <height> from [max-content\] to [fit-content\] at (0.6) should be [fit-content\]]
+ expected: FAIL
+
+ [CSS Transitions with transition-property:all and transition-behavor:allow-discrete: property <height> from [max-content\] to [fit-content\] at (1) should be [fit-content\]]
+ expected: FAIL
+
+ [CSS Transitions with transition-property:all and transition-behavor:allow-discrete: property <height> from [max-content\] to [fit-content\] at (1.5) should be [fit-content\]]
+ expected: FAIL
+
+ [CSS Transitions: property <height> from [max-content\] to [fit-content\] at (-0.3) should be [fit-content\]]
+ expected: FAIL
+
+ [CSS Transitions: property <height> from [max-content\] to [fit-content\] at (0) should be [fit-content\]]
+ expected: FAIL
+
+ [CSS Transitions: property <height> from [max-content\] to [fit-content\] at (0.3) should be [fit-content\]]
+ expected: FAIL
+
+ [CSS Transitions: property <height> from [max-content\] to [fit-content\] at (0.5) should be [fit-content\]]
+ expected: FAIL
+
+ [CSS Transitions: property <height> from [max-content\] to [fit-content\] at (0.6) should be [fit-content\]]
+ expected: FAIL
+
+ [CSS Transitions: property <height> from [max-content\] to [fit-content\] at (1) should be [fit-content\]]
+ expected: FAIL
+
+ [CSS Transitions: property <height> from [max-content\] to [fit-content\] at (1.5) should be [fit-content\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <height> from [max-content\] to [fit-content\] at (-0.3) should be [fit-content\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <height> from [max-content\] to [fit-content\] at (0) should be [fit-content\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <height> from [max-content\] to [fit-content\] at (0.3) should be [fit-content\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <height> from [max-content\] to [fit-content\] at (0.5) should be [fit-content\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <height> from [max-content\] to [fit-content\] at (0.6) should be [fit-content\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <height> from [max-content\] to [fit-content\] at (1) should be [fit-content\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <height> from [max-content\] to [fit-content\] at (1.5) should be [fit-content\]]
+ expected: FAIL
+
+ [CSS Animations: property <height> from [max-content\] to [fit-content\] at (-0.3) should be [max-content\]]
+ expected: FAIL
+
+ [CSS Animations: property <height> from [max-content\] to [fit-content\] at (0) should be [max-content\]]
+ expected: FAIL
+
+ [CSS Animations: property <height> from [max-content\] to [fit-content\] at (0.3) should be [max-content\]]
+ expected: FAIL
+
+ [CSS Animations: property <height> from [max-content\] to [fit-content\] at (0.5) should be [fit-content\]]
+ expected: FAIL
+
+ [CSS Animations: property <height> from [max-content\] to [fit-content\] at (0.6) should be [fit-content\]]
+ expected: FAIL
+
+ [CSS Animations: property <height> from [max-content\] to [fit-content\] at (1) should be [fit-content\]]
+ expected: FAIL
+
+ [CSS Animations: property <height> from [max-content\] to [fit-content\] at (1.5) should be [fit-content\]]
+ expected: FAIL
+
+ [Web Animations: property <height> from [max-content\] to [fit-content\] at (-0.3) should be [max-content\]]
+ expected: FAIL
+
+ [Web Animations: property <height> from [max-content\] to [fit-content\] at (0) should be [max-content\]]
+ expected: FAIL
+
+ [Web Animations: property <height> from [max-content\] to [fit-content\] at (0.3) should be [max-content\]]
+ expected: FAIL
+
+ [Web Animations: property <height> from [max-content\] to [fit-content\] at (0.5) should be [fit-content\]]
+ expected: FAIL
+
+ [Web Animations: property <height> from [max-content\] to [fit-content\] at (0.6) should be [fit-content\]]
+ expected: FAIL
+
+ [Web Animations: property <height> from [max-content\] to [fit-content\] at (1) should be [fit-content\]]
+ expected: FAIL
+
+ [Web Animations: property <height> from [max-content\] to [fit-content\] at (1.5) should be [fit-content\]]
+ expected: FAIL
+
+ [CSS Transitions with transition-behavior:allow-discrete: property <height> from [max-content\] to [stretch\] at (-0.3) should be [max-content\]]
+ expected: FAIL
+
+ [CSS Transitions with transition-behavior:allow-discrete: property <height> from [max-content\] to [stretch\] at (0) should be [max-content\]]
+ expected: FAIL
+
+ [CSS Transitions with transition-behavior:allow-discrete: property <height> from [max-content\] to [stretch\] at (0.3) should be [max-content\]]
+ expected: FAIL
+
+ [CSS Transitions with transition-behavior:allow-discrete: property <height> from [max-content\] to [stretch\] at (0.5) should be [stretch\]]
+ expected: FAIL
+
+ [CSS Transitions with transition-behavior:allow-discrete: property <height> from [max-content\] to [stretch\] at (0.6) should be [stretch\]]
+ expected: FAIL
+
+ [CSS Transitions with transition-behavior:allow-discrete: property <height> from [max-content\] to [stretch\] at (1) should be [stretch\]]
+ expected: FAIL
+
+ [CSS Transitions with transition-behavior:allow-discrete: property <height> from [max-content\] to [stretch\] at (1.5) should be [stretch\]]
+ expected: FAIL
+
+ [CSS Transitions with transition-property:all and transition-behavor:allow-discrete: property <height> from [max-content\] to [stretch\] at (-0.3) should be [max-content\]]
+ expected: FAIL
+
+ [CSS Transitions with transition-property:all and transition-behavor:allow-discrete: property <height> from [max-content\] to [stretch\] at (0) should be [max-content\]]
+ expected: FAIL
+
+ [CSS Transitions with transition-property:all and transition-behavor:allow-discrete: property <height> from [max-content\] to [stretch\] at (0.3) should be [max-content\]]
+ expected: FAIL
+
+ [CSS Transitions with transition-property:all and transition-behavor:allow-discrete: property <height> from [max-content\] to [stretch\] at (0.5) should be [stretch\]]
+ expected: FAIL
+
+ [CSS Transitions with transition-property:all and transition-behavor:allow-discrete: property <height> from [max-content\] to [stretch\] at (0.6) should be [stretch\]]
+ expected: FAIL
+
+ [CSS Transitions with transition-property:all and transition-behavor:allow-discrete: property <height> from [max-content\] to [stretch\] at (1) should be [stretch\]]
+ expected: FAIL
+
+ [CSS Transitions with transition-property:all and transition-behavor:allow-discrete: property <height> from [max-content\] to [stretch\] at (1.5) should be [stretch\]]
+ expected: FAIL
+
+ [CSS Transitions: property <height> from [max-content\] to [stretch\] at (-0.3) should be [stretch\]]
+ expected: FAIL
+
+ [CSS Transitions: property <height> from [max-content\] to [stretch\] at (0) should be [stretch\]]
+ expected: FAIL
+
+ [CSS Transitions: property <height> from [max-content\] to [stretch\] at (0.3) should be [stretch\]]
+ expected: FAIL
+
+ [CSS Transitions: property <height> from [max-content\] to [stretch\] at (0.5) should be [stretch\]]
+ expected: FAIL
+
+ [CSS Transitions: property <height> from [max-content\] to [stretch\] at (0.6) should be [stretch\]]
+ expected: FAIL
+
+ [CSS Transitions: property <height> from [max-content\] to [stretch\] at (1) should be [stretch\]]
+ expected: FAIL
+
+ [CSS Transitions: property <height> from [max-content\] to [stretch\] at (1.5) should be [stretch\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <height> from [max-content\] to [stretch\] at (-0.3) should be [stretch\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <height> from [max-content\] to [stretch\] at (0) should be [stretch\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <height> from [max-content\] to [stretch\] at (0.3) should be [stretch\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <height> from [max-content\] to [stretch\] at (0.5) should be [stretch\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <height> from [max-content\] to [stretch\] at (0.6) should be [stretch\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <height> from [max-content\] to [stretch\] at (1) should be [stretch\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <height> from [max-content\] to [stretch\] at (1.5) should be [stretch\]]
+ expected: FAIL
+
+ [CSS Animations: property <height> from [max-content\] to [stretch\] at (-0.3) should be [max-content\]]
+ expected: FAIL
+
+ [CSS Animations: property <height> from [max-content\] to [stretch\] at (0) should be [max-content\]]
+ expected: FAIL
+
+ [CSS Animations: property <height> from [max-content\] to [stretch\] at (0.3) should be [max-content\]]
+ expected: FAIL
+
+ [CSS Animations: property <height> from [max-content\] to [stretch\] at (0.5) should be [stretch\]]
+ expected: FAIL
+
+ [CSS Animations: property <height> from [max-content\] to [stretch\] at (0.6) should be [stretch\]]
+ expected: FAIL
+
+ [CSS Animations: property <height> from [max-content\] to [stretch\] at (1) should be [stretch\]]
+ expected: FAIL
+
+ [CSS Animations: property <height> from [max-content\] to [stretch\] at (1.5) should be [stretch\]]
+ expected: FAIL
+
+ [Web Animations: property <height> from [max-content\] to [stretch\] at (-0.3) should be [max-content\]]
+ expected: FAIL
+
+ [Web Animations: property <height> from [max-content\] to [stretch\] at (0) should be [max-content\]]
+ expected: FAIL
+
+ [Web Animations: property <height> from [max-content\] to [stretch\] at (0.3) should be [max-content\]]
+ expected: FAIL
+
+ [Web Animations: property <height> from [max-content\] to [stretch\] at (0.5) should be [stretch\]]
+ expected: FAIL
+
+ [Web Animations: property <height> from [max-content\] to [stretch\] at (0.6) should be [stretch\]]
+ expected: FAIL
+
+ [Web Animations: property <height> from [max-content\] to [stretch\] at (1) should be [stretch\]]
+ expected: FAIL
+
+ [Web Animations: property <height> from [max-content\] to [stretch\] at (1.5) should be [stretch\]]
+ expected: FAIL
+
+ [CSS Transitions: property <height> from [max-content\] to neutral at (-0.3) should be [20px\]]
+ expected: FAIL
+
+ [CSS Transitions: property <height> from [max-content\] to neutral at (0) should be [50px\]]
+ expected: FAIL
+
+ [CSS Transitions: property <height> from [max-content\] to neutral at (0.3) should be [80px\]]
+ expected: FAIL
+
+ [CSS Transitions: property <height> from [max-content\] to neutral at (0.6) should be [110px\]]
+ expected: FAIL
+
+ [CSS Transitions: property <height> from [max-content\] to neutral at (1) should be [150px\]]
+ expected: FAIL
+
+ [CSS Transitions: property <height> from [max-content\] to neutral at (1.5) should be [200px\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <height> from [max-content\] to neutral at (-0.3) should be [20px\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <height> from [max-content\] to neutral at (0) should be [50px\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <height> from [max-content\] to neutral at (0.3) should be [80px\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <height> from [max-content\] to neutral at (0.6) should be [110px\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <height> from [max-content\] to neutral at (1) should be [150px\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <height> from [max-content\] to neutral at (1.5) should be [200px\]]
+ expected: FAIL
+
+ [CSS Animations: property <height> from [max-content\] to neutral at (-0.3) should be [20px\]]
+ expected: FAIL
+
+ [CSS Animations: property <height> from [max-content\] to neutral at (0) should be [50px\]]
+ expected: FAIL
+
+ [CSS Animations: property <height> from [max-content\] to neutral at (0.3) should be [80px\]]
+ expected: FAIL
+
+ [CSS Animations: property <height> from [max-content\] to neutral at (0.6) should be [110px\]]
+ expected: FAIL
+
+ [CSS Animations: property <height> from [max-content\] to neutral at (1) should be [150px\]]
+ expected: FAIL
+
+ [CSS Animations: property <height> from [max-content\] to neutral at (1.5) should be [200px\]]
+ expected: FAIL
+
+ [Web Animations: property <height> from [max-content\] to neutral at (-0.3) should be [20px\]]
+ expected: FAIL
+
+ [Web Animations: property <height> from [max-content\] to neutral at (0) should be [50px\]]
+ expected: FAIL
+
+ [Web Animations: property <height> from [max-content\] to neutral at (0.3) should be [80px\]]
+ expected: FAIL
+
+ [Web Animations: property <height> from [max-content\] to neutral at (0.6) should be [110px\]]
+ expected: FAIL
+
+ [Web Animations: property <height> from [max-content\] to neutral at (1) should be [150px\]]
+ expected: FAIL
+
+ [Web Animations: property <height> from [max-content\] to neutral at (1.5) should be [200px\]]
+ expected: FAIL
+
+ [CSS Transitions: property <height> from neutral to [fit-content\] at (-0.3) should be [180px\]]
+ expected: FAIL
+
+ [CSS Transitions: property <height> from neutral to [fit-content\] at (0) should be [150px\]]
+ expected: FAIL
+
+ [CSS Transitions: property <height> from neutral to [fit-content\] at (0.3) should be [120px\]]
+ expected: FAIL
+
+ [CSS Transitions: property <height> from neutral to [fit-content\] at (0.6) should be [90px\]]
+ expected: FAIL
+
+ [CSS Transitions: property <height> from neutral to [fit-content\] at (1) should be [50px\]]
+ expected: FAIL
+
+ [CSS Transitions: property <height> from neutral to [fit-content\] at (1.5) should be [0px\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <height> from neutral to [fit-content\] at (-0.3) should be [180px\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <height> from neutral to [fit-content\] at (0) should be [150px\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <height> from neutral to [fit-content\] at (0.3) should be [120px\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <height> from neutral to [fit-content\] at (0.6) should be [90px\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <height> from neutral to [fit-content\] at (1) should be [50px\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <height> from neutral to [fit-content\] at (1.5) should be [0px\]]
+ expected: FAIL
+
+ [CSS Animations: property <height> from neutral to [fit-content\] at (-0.3) should be [180px\]]
+ expected: FAIL
+
+ [CSS Animations: property <height> from neutral to [fit-content\] at (0) should be [150px\]]
+ expected: FAIL
+
+ [CSS Animations: property <height> from neutral to [fit-content\] at (0.3) should be [120px\]]
+ expected: FAIL
+
+ [CSS Animations: property <height> from neutral to [fit-content\] at (0.6) should be [90px\]]
+ expected: FAIL
+
+ [CSS Animations: property <height> from neutral to [fit-content\] at (1) should be [50px\]]
+ expected: FAIL
+
+ [CSS Animations: property <height> from neutral to [fit-content\] at (1.5) should be [0px\]]
+ expected: FAIL
+
+ [Web Animations: property <height> from neutral to [fit-content\] at (-0.3) should be [180px\]]
+ expected: FAIL
+
+ [Web Animations: property <height> from neutral to [fit-content\] at (0) should be [150px\]]
+ expected: FAIL
+
+ [Web Animations: property <height> from neutral to [fit-content\] at (0.3) should be [120px\]]
+ expected: FAIL
+
+ [Web Animations: property <height> from neutral to [fit-content\] at (0.6) should be [90px\]]
+ expected: FAIL
+
+ [Web Animations: property <height> from neutral to [fit-content\] at (1) should be [50px\]]
+ expected: FAIL
+
+ [Web Animations: property <height> from neutral to [fit-content\] at (1.5) should be [0px\]]
+ expected: FAIL
diff --git a/tests/wpt/meta-legacy-layout/css/css-values/calc-size/animation/interpolate-size-logical-properties-interpolation.html.ini b/tests/wpt/meta-legacy-layout/css/css-values/calc-size/animation/interpolate-size-logical-properties-interpolation.html.ini
new file mode 100644
index 00000000000..76110844385
--- /dev/null
+++ b/tests/wpt/meta-legacy-layout/css/css-values/calc-size/animation/interpolate-size-logical-properties-interpolation.html.ini
@@ -0,0 +1,414 @@
+[interpolate-size-logical-properties-interpolation.html]
+ [CSS Transitions: property <block-size> from [max-content\] to [25px\] at (-0.3) should be [90px\]]
+ expected: FAIL
+
+ [CSS Transitions: property <block-size> from [max-content\] to [25px\] at (0) should be [75px\]]
+ expected: FAIL
+
+ [CSS Transitions: property <block-size> from [max-content\] to [25px\] at (0.3) should be [60px\]]
+ expected: FAIL
+
+ [CSS Transitions: property <block-size> from [max-content\] to [25px\] at (0.6) should be [45px\]]
+ expected: FAIL
+
+ [CSS Transitions: property <block-size> from [max-content\] to [25px\] at (1) should be [25px\]]
+ expected: FAIL
+
+ [CSS Transitions: property <block-size> from [max-content\] to [25px\] at (1.5) should be [0px\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <block-size> from [max-content\] to [25px\] at (-0.3) should be [90px\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <block-size> from [max-content\] to [25px\] at (0) should be [75px\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <block-size> from [max-content\] to [25px\] at (0.3) should be [60px\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <block-size> from [max-content\] to [25px\] at (0.6) should be [45px\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <block-size> from [max-content\] to [25px\] at (1) should be [25px\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <block-size> from [max-content\] to [25px\] at (1.5) should be [0px\]]
+ expected: FAIL
+
+ [CSS Animations: property <block-size> from [max-content\] to [25px\] at (-0.3) should be [90px\]]
+ expected: FAIL
+
+ [CSS Animations: property <block-size> from [max-content\] to [25px\] at (0) should be [75px\]]
+ expected: FAIL
+
+ [CSS Animations: property <block-size> from [max-content\] to [25px\] at (0.3) should be [60px\]]
+ expected: FAIL
+
+ [CSS Animations: property <block-size> from [max-content\] to [25px\] at (0.6) should be [45px\]]
+ expected: FAIL
+
+ [CSS Animations: property <block-size> from [max-content\] to [25px\] at (1) should be [25px\]]
+ expected: FAIL
+
+ [CSS Animations: property <block-size> from [max-content\] to [25px\] at (1.5) should be [0px\]]
+ expected: FAIL
+
+ [Web Animations: property <block-size> from [max-content\] to [25px\] at (-0.3) should be [90px\]]
+ expected: FAIL
+
+ [Web Animations: property <block-size> from [max-content\] to [25px\] at (0) should be [75px\]]
+ expected: FAIL
+
+ [Web Animations: property <block-size> from [max-content\] to [25px\] at (0.3) should be [60px\]]
+ expected: FAIL
+
+ [Web Animations: property <block-size> from [max-content\] to [25px\] at (0.6) should be [45px\]]
+ expected: FAIL
+
+ [Web Animations: property <block-size> from [max-content\] to [25px\] at (1) should be [25px\]]
+ expected: FAIL
+
+ [Web Animations: property <block-size> from [max-content\] to [25px\] at (1.5) should be [0px\]]
+ expected: FAIL
+
+ [CSS Transitions: property <inline-size> from [max-content\] to neutral at (-0.3) should be [132.5px\]]
+ expected: FAIL
+
+ [CSS Transitions: property <inline-size> from [max-content\] to neutral at (0) should be [125px\]]
+ expected: FAIL
+
+ [CSS Transitions: property <inline-size> from [max-content\] to neutral at (0.3) should be [117.5px\]]
+ expected: FAIL
+
+ [CSS Transitions: property <inline-size> from [max-content\] to neutral at (0.6) should be [110px\]]
+ expected: FAIL
+
+ [CSS Transitions: property <inline-size> from [max-content\] to neutral at (1) should be [100px\]]
+ expected: FAIL
+
+ [CSS Transitions: property <inline-size> from [max-content\] to neutral at (1.5) should be [87.5px\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <inline-size> from [max-content\] to neutral at (-0.3) should be [132.5px\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <inline-size> from [max-content\] to neutral at (0) should be [125px\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <inline-size> from [max-content\] to neutral at (0.3) should be [117.5px\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <inline-size> from [max-content\] to neutral at (0.6) should be [110px\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <inline-size> from [max-content\] to neutral at (1) should be [100px\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <inline-size> from [max-content\] to neutral at (1.5) should be [87.5px\]]
+ expected: FAIL
+
+ [CSS Animations: property <inline-size> from [max-content\] to neutral at (-0.3) should be [132.5px\]]
+ expected: FAIL
+
+ [CSS Animations: property <inline-size> from [max-content\] to neutral at (0) should be [125px\]]
+ expected: FAIL
+
+ [CSS Animations: property <inline-size> from [max-content\] to neutral at (0.3) should be [117.5px\]]
+ expected: FAIL
+
+ [CSS Animations: property <inline-size> from [max-content\] to neutral at (0.6) should be [110px\]]
+ expected: FAIL
+
+ [CSS Animations: property <inline-size> from [max-content\] to neutral at (1) should be [100px\]]
+ expected: FAIL
+
+ [CSS Animations: property <inline-size> from [max-content\] to neutral at (1.5) should be [87.5px\]]
+ expected: FAIL
+
+ [Web Animations: property <inline-size> from [max-content\] to neutral at (-0.3) should be [132.5px\]]
+ expected: FAIL
+
+ [Web Animations: property <inline-size> from [max-content\] to neutral at (0) should be [125px\]]
+ expected: FAIL
+
+ [Web Animations: property <inline-size> from [max-content\] to neutral at (0.3) should be [117.5px\]]
+ expected: FAIL
+
+ [Web Animations: property <inline-size> from [max-content\] to neutral at (0.6) should be [110px\]]
+ expected: FAIL
+
+ [Web Animations: property <inline-size> from [max-content\] to neutral at (1) should be [100px\]]
+ expected: FAIL
+
+ [Web Animations: property <inline-size> from [max-content\] to neutral at (1.5) should be [87.5px\]]
+ expected: FAIL
+
+ [CSS Transitions: property <max-block-size> from neutral to [fit-content\] at (-0.3) should be [calc-size(fit-content, 130px + size * -0.3)\]]
+ expected: FAIL
+
+ [CSS Transitions: property <max-block-size> from neutral to [fit-content\] at (0) should be [calc-size(fit-content, 100px + size * 0)\]]
+ expected: FAIL
+
+ [CSS Transitions: property <max-block-size> from neutral to [fit-content\] at (0.3) should be [calc-size(fit-content, 70px + size * 0.3)\]]
+ expected: FAIL
+
+ [CSS Transitions: property <max-block-size> from neutral to [fit-content\] at (0.6) should be [calc-size(fit-content, 40px + size * 0.6)\]]
+ expected: FAIL
+
+ [CSS Transitions: property <max-block-size> from neutral to [fit-content\] at (1) should be [calc-size(fit-content, 0px + size * 1)\]]
+ expected: FAIL
+
+ [CSS Transitions: property <max-block-size> from neutral to [fit-content\] at (1.5) should be [calc-size(fit-content, -50px + size * 1.5)\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <max-block-size> from neutral to [fit-content\] at (-0.3) should be [calc-size(fit-content, 130px + size * -0.3)\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <max-block-size> from neutral to [fit-content\] at (0) should be [calc-size(fit-content, 100px + size * 0)\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <max-block-size> from neutral to [fit-content\] at (0.3) should be [calc-size(fit-content, 70px + size * 0.3)\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <max-block-size> from neutral to [fit-content\] at (0.6) should be [calc-size(fit-content, 40px + size * 0.6)\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <max-block-size> from neutral to [fit-content\] at (1) should be [calc-size(fit-content, 0px + size * 1)\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <max-block-size> from neutral to [fit-content\] at (1.5) should be [calc-size(fit-content, -50px + size * 1.5)\]]
+ expected: FAIL
+
+ [CSS Animations: property <max-block-size> from neutral to [fit-content\] at (-0.3) should be [calc-size(fit-content, 130px + size * -0.3)\]]
+ expected: FAIL
+
+ [CSS Animations: property <max-block-size> from neutral to [fit-content\] at (0) should be [calc-size(fit-content, 100px + size * 0)\]]
+ expected: FAIL
+
+ [CSS Animations: property <max-block-size> from neutral to [fit-content\] at (0.3) should be [calc-size(fit-content, 70px + size * 0.3)\]]
+ expected: FAIL
+
+ [CSS Animations: property <max-block-size> from neutral to [fit-content\] at (0.6) should be [calc-size(fit-content, 40px + size * 0.6)\]]
+ expected: FAIL
+
+ [CSS Animations: property <max-block-size> from neutral to [fit-content\] at (1) should be [calc-size(fit-content, 0px + size * 1)\]]
+ expected: FAIL
+
+ [CSS Animations: property <max-block-size> from neutral to [fit-content\] at (1.5) should be [calc-size(fit-content, -50px + size * 1.5)\]]
+ expected: FAIL
+
+ [Web Animations: property <max-block-size> from neutral to [fit-content\] at (-0.3) should be [calc-size(fit-content, 130px + size * -0.3)\]]
+ expected: FAIL
+
+ [Web Animations: property <max-block-size> from neutral to [fit-content\] at (0) should be [calc-size(fit-content, 100px + size * 0)\]]
+ expected: FAIL
+
+ [Web Animations: property <max-block-size> from neutral to [fit-content\] at (0.3) should be [calc-size(fit-content, 70px + size * 0.3)\]]
+ expected: FAIL
+
+ [Web Animations: property <max-block-size> from neutral to [fit-content\] at (0.6) should be [calc-size(fit-content, 40px + size * 0.6)\]]
+ expected: FAIL
+
+ [Web Animations: property <max-block-size> from neutral to [fit-content\] at (1) should be [calc-size(fit-content, 0px + size * 1)\]]
+ expected: FAIL
+
+ [Web Animations: property <max-block-size> from neutral to [fit-content\] at (1.5) should be [calc-size(fit-content, -50px + size * 1.5)\]]
+ expected: FAIL
+
+ [CSS Transitions: property <max-inline-size> from [max-content\] to [100px\] at (-0.3) should be [calc-size(max-content, -30px + size * 1.3)\]]
+ expected: FAIL
+
+ [CSS Transitions: property <max-inline-size> from [max-content\] to [100px\] at (0) should be [calc-size(max-content, 0px + size * 1)\]]
+ expected: FAIL
+
+ [CSS Transitions: property <max-inline-size> from [max-content\] to [100px\] at (0.3) should be [calc-size(max-content, 30px + size * 0.7)\]]
+ expected: FAIL
+
+ [CSS Transitions: property <max-inline-size> from [max-content\] to [100px\] at (0.6) should be [calc-size(max-content, 60px + size * 0.4)\]]
+ expected: FAIL
+
+ [CSS Transitions: property <max-inline-size> from [max-content\] to [100px\] at (1) should be [calc-size(max-content, 100px + size * 0)\]]
+ expected: FAIL
+
+ [CSS Transitions: property <max-inline-size> from [max-content\] to [100px\] at (1.5) should be [calc-size(max-content, 150px + size * -0.5)\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <max-inline-size> from [max-content\] to [100px\] at (-0.3) should be [calc-size(max-content, -30px + size * 1.3)\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <max-inline-size> from [max-content\] to [100px\] at (0) should be [calc-size(max-content, 0px + size * 1)\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <max-inline-size> from [max-content\] to [100px\] at (0.3) should be [calc-size(max-content, 30px + size * 0.7)\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <max-inline-size> from [max-content\] to [100px\] at (0.6) should be [calc-size(max-content, 60px + size * 0.4)\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <max-inline-size> from [max-content\] to [100px\] at (1) should be [calc-size(max-content, 100px + size * 0)\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <max-inline-size> from [max-content\] to [100px\] at (1.5) should be [calc-size(max-content, 150px + size * -0.5)\]]
+ expected: FAIL
+
+ [CSS Animations: property <max-inline-size> from [max-content\] to [100px\] at (-0.3) should be [calc-size(max-content, -30px + size * 1.3)\]]
+ expected: FAIL
+
+ [CSS Animations: property <max-inline-size> from [max-content\] to [100px\] at (0) should be [calc-size(max-content, 0px + size * 1)\]]
+ expected: FAIL
+
+ [CSS Animations: property <max-inline-size> from [max-content\] to [100px\] at (0.3) should be [calc-size(max-content, 30px + size * 0.7)\]]
+ expected: FAIL
+
+ [CSS Animations: property <max-inline-size> from [max-content\] to [100px\] at (0.6) should be [calc-size(max-content, 60px + size * 0.4)\]]
+ expected: FAIL
+
+ [CSS Animations: property <max-inline-size> from [max-content\] to [100px\] at (1) should be [calc-size(max-content, 100px + size * 0)\]]
+ expected: FAIL
+
+ [CSS Animations: property <max-inline-size> from [max-content\] to [100px\] at (1.5) should be [calc-size(max-content, 150px + size * -0.5)\]]
+ expected: FAIL
+
+ [Web Animations: property <max-inline-size> from [max-content\] to [100px\] at (-0.3) should be [calc-size(max-content, -30px + size * 1.3)\]]
+ expected: FAIL
+
+ [Web Animations: property <max-inline-size> from [max-content\] to [100px\] at (0) should be [calc-size(max-content, 0px + size * 1)\]]
+ expected: FAIL
+
+ [Web Animations: property <max-inline-size> from [max-content\] to [100px\] at (0.3) should be [calc-size(max-content, 30px + size * 0.7)\]]
+ expected: FAIL
+
+ [Web Animations: property <max-inline-size> from [max-content\] to [100px\] at (0.6) should be [calc-size(max-content, 60px + size * 0.4)\]]
+ expected: FAIL
+
+ [Web Animations: property <max-inline-size> from [max-content\] to [100px\] at (1) should be [calc-size(max-content, 100px + size * 0)\]]
+ expected: FAIL
+
+ [Web Animations: property <max-inline-size> from [max-content\] to [100px\] at (1.5) should be [calc-size(max-content, 150px + size * -0.5)\]]
+ expected: FAIL
+
+ [CSS Transitions: property <min-block-size> from [200px\] to [min-content\] at (-0.3) should be [calc-size(min-content, 260px + size * -0.3)\]]
+ expected: FAIL
+
+ [CSS Transitions: property <min-block-size> from [200px\] to [min-content\] at (0) should be [calc-size(min-content, 200px + size * 0)\]]
+ expected: FAIL
+
+ [CSS Transitions: property <min-block-size> from [200px\] to [min-content\] at (0.3) should be [calc-size(min-content, 140px + size * 0.3)\]]
+ expected: FAIL
+
+ [CSS Transitions: property <min-block-size> from [200px\] to [min-content\] at (0.6) should be [calc-size(min-content, 80px + size * 0.6)\]]
+ expected: FAIL
+
+ [CSS Transitions: property <min-block-size> from [200px\] to [min-content\] at (1) should be [calc-size(min-content, 0px + size * 1)\]]
+ expected: FAIL
+
+ [CSS Transitions: property <min-block-size> from [200px\] to [min-content\] at (1.5) should be [calc-size(min-content, -100px + size * 1.5)\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <min-block-size> from [200px\] to [min-content\] at (-0.3) should be [calc-size(min-content, 260px + size * -0.3)\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <min-block-size> from [200px\] to [min-content\] at (0) should be [calc-size(min-content, 200px + size * 0)\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <min-block-size> from [200px\] to [min-content\] at (0.3) should be [calc-size(min-content, 140px + size * 0.3)\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <min-block-size> from [200px\] to [min-content\] at (0.6) should be [calc-size(min-content, 80px + size * 0.6)\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <min-block-size> from [200px\] to [min-content\] at (1) should be [calc-size(min-content, 0px + size * 1)\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <min-block-size> from [200px\] to [min-content\] at (1.5) should be [calc-size(min-content, -100px + size * 1.5)\]]
+ expected: FAIL
+
+ [CSS Animations: property <min-block-size> from [200px\] to [min-content\] at (-0.3) should be [calc-size(min-content, 260px + size * -0.3)\]]
+ expected: FAIL
+
+ [CSS Animations: property <min-block-size> from [200px\] to [min-content\] at (0) should be [calc-size(min-content, 200px + size * 0)\]]
+ expected: FAIL
+
+ [CSS Animations: property <min-block-size> from [200px\] to [min-content\] at (0.3) should be [calc-size(min-content, 140px + size * 0.3)\]]
+ expected: FAIL
+
+ [CSS Animations: property <min-block-size> from [200px\] to [min-content\] at (0.6) should be [calc-size(min-content, 80px + size * 0.6)\]]
+ expected: FAIL
+
+ [CSS Animations: property <min-block-size> from [200px\] to [min-content\] at (1) should be [calc-size(min-content, 0px + size * 1)\]]
+ expected: FAIL
+
+ [CSS Animations: property <min-block-size> from [200px\] to [min-content\] at (1.5) should be [calc-size(min-content, -100px + size * 1.5)\]]
+ expected: FAIL
+
+ [Web Animations: property <min-block-size> from [200px\] to [min-content\] at (-0.3) should be [calc-size(min-content, 260px + size * -0.3)\]]
+ expected: FAIL
+
+ [Web Animations: property <min-block-size> from [200px\] to [min-content\] at (0) should be [calc-size(min-content, 200px + size * 0)\]]
+ expected: FAIL
+
+ [Web Animations: property <min-block-size> from [200px\] to [min-content\] at (0.3) should be [calc-size(min-content, 140px + size * 0.3)\]]
+ expected: FAIL
+
+ [Web Animations: property <min-block-size> from [200px\] to [min-content\] at (0.6) should be [calc-size(min-content, 80px + size * 0.6)\]]
+ expected: FAIL
+
+ [Web Animations: property <min-block-size> from [200px\] to [min-content\] at (1) should be [calc-size(min-content, 0px + size * 1)\]]
+ expected: FAIL
+
+ [Web Animations: property <min-block-size> from [200px\] to [min-content\] at (1.5) should be [calc-size(min-content, -100px + size * 1.5)\]]
+ expected: FAIL
+
+ [CSS Transitions: property <min-inline-size> from neutral to [100px\] at (-0.3) should be [calc-size(auto, -30px + size * 1.3)\]]
+ expected: FAIL
+
+ [CSS Transitions: property <min-inline-size> from neutral to [100px\] at (0) should be [calc-size(auto, 0px + size * 1)\]]
+ expected: FAIL
+
+ [CSS Transitions: property <min-inline-size> from neutral to [100px\] at (0.3) should be [calc-size(auto, 30px + size * 0.7)\]]
+ expected: FAIL
+
+ [CSS Transitions: property <min-inline-size> from neutral to [100px\] at (0.6) should be [calc-size(auto, 60px + size * 0.4)\]]
+ expected: FAIL
+
+ [CSS Transitions: property <min-inline-size> from neutral to [100px\] at (1) should be [calc-size(auto, 100px + size * 0)\]]
+ expected: FAIL
+
+ [CSS Transitions: property <min-inline-size> from neutral to [100px\] at (1.5) should be [calc-size(auto, 150px + size * -0.5)\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <min-inline-size> from neutral to [100px\] at (-0.3) should be [calc-size(auto, -30px + size * 1.3)\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <min-inline-size> from neutral to [100px\] at (0) should be [calc-size(auto, 0px + size * 1)\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <min-inline-size> from neutral to [100px\] at (0.3) should be [calc-size(auto, 30px + size * 0.7)\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <min-inline-size> from neutral to [100px\] at (0.6) should be [calc-size(auto, 60px + size * 0.4)\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <min-inline-size> from neutral to [100px\] at (1) should be [calc-size(auto, 100px + size * 0)\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <min-inline-size> from neutral to [100px\] at (1.5) should be [calc-size(auto, 150px + size * -0.5)\]]
+ expected: FAIL
+
+ [Web Animations: property <min-inline-size> from neutral to [100px\] at (-0.3) should be [calc-size(auto, -30px + size * 1.3)\]]
+ expected: FAIL
+
+ [Web Animations: property <min-inline-size> from neutral to [100px\] at (0) should be [calc-size(auto, 0px + size * 1)\]]
+ expected: FAIL
+
+ [Web Animations: property <min-inline-size> from neutral to [100px\] at (0.3) should be [calc-size(auto, 30px + size * 0.7)\]]
+ expected: FAIL
+
+ [Web Animations: property <min-inline-size> from neutral to [100px\] at (0.6) should be [calc-size(auto, 60px + size * 0.4)\]]
+ expected: FAIL
+
+ [Web Animations: property <min-inline-size> from neutral to [100px\] at (1) should be [calc-size(auto, 100px + size * 0)\]]
+ expected: FAIL
+
+ [Web Animations: property <min-inline-size> from neutral to [100px\] at (1.5) should be [calc-size(auto, 150px + size * -0.5)\]]
+ expected: FAIL
diff --git a/tests/wpt/meta-legacy-layout/css/css-values/calc-size/animation/interpolate-size-max-height-composition.html.ini b/tests/wpt/meta-legacy-layout/css/css-values/calc-size/animation/interpolate-size-max-height-composition.html.ini
new file mode 100644
index 00000000000..c480e928296
--- /dev/null
+++ b/tests/wpt/meta-legacy-layout/css/css-values/calc-size/animation/interpolate-size-max-height-composition.html.ini
@@ -0,0 +1,30 @@
+[interpolate-size-max-height-composition.html]
+ [Compositing: property <max-height> underlying [fit-content\] from add [100px\] to add [200px\] at (-0.3) should be [calc-size(fit-content, 70px + size * 1)\]]
+ expected: FAIL
+
+ [Compositing: property <max-height> underlying [fit-content\] from add [100px\] to add [200px\] at (0) should be [calc-size(fit-content, 100px + size * 1)\]]
+ expected: FAIL
+
+ [Compositing: property <max-height> underlying [fit-content\] from add [100px\] to add [200px\] at (0.5) should be [calc-size(fit-content, 150px + size * 1)\]]
+ expected: FAIL
+
+ [Compositing: property <max-height> underlying [fit-content\] from add [100px\] to add [200px\] at (1) should be [calc-size(fit-content, 200px + size * 1)\]]
+ expected: FAIL
+
+ [Compositing: property <max-height> underlying [fit-content\] from add [100px\] to add [200px\] at (1.5) should be [calc-size(fit-content, 250px + size * 1)\]]
+ expected: FAIL
+
+ [Compositing: property <max-height> underlying [fit-content\] from add [min-content\] to add [200px\] at (-0.3) should be [calc-size(min-content, -60px + size * 1.3)\]]
+ expected: FAIL
+
+ [Compositing: property <max-height> underlying [fit-content\] from add [min-content\] to add [200px\] at (0) should be [calc-size(min-content, 0px + size * 1)\]]
+ expected: FAIL
+
+ [Compositing: property <max-height> underlying [fit-content\] from add [min-content\] to add [200px\] at (0.5) should be [calc-size(min-content, 100px + size * 0.5)\]]
+ expected: FAIL
+
+ [Compositing: property <max-height> underlying [fit-content\] from add [min-content\] to add [200px\] at (1) should be [calc-size(min-content, 200px + size * 0)\]]
+ expected: FAIL
+
+ [Compositing: property <max-height> underlying [fit-content\] from add [min-content\] to add [200px\] at (1.5) should be [calc-size(min-content, 300px + size * -0.5)\]]
+ expected: FAIL
diff --git a/tests/wpt/meta-legacy-layout/css/css-values/calc-size/animation/interpolate-size-max-height-interpolation.html.ini b/tests/wpt/meta-legacy-layout/css/css-values/calc-size/animation/interpolate-size-max-height-interpolation.html.ini
new file mode 100644
index 00000000000..d963c09739b
--- /dev/null
+++ b/tests/wpt/meta-legacy-layout/css/css-values/calc-size/animation/interpolate-size-max-height-interpolation.html.ini
@@ -0,0 +1,648 @@
+[interpolate-size-max-height-interpolation.html]
+ [CSS Transitions with transition-behavior:allow-discrete: property <max-height> from [initial\] to [20px\] at (-0.3) should be [initial\]]
+ expected: FAIL
+
+ [CSS Transitions with transition-behavior:allow-discrete: property <max-height> from [initial\] to [20px\] at (0) should be [initial\]]
+ expected: FAIL
+
+ [CSS Transitions with transition-behavior:allow-discrete: property <max-height> from [initial\] to [20px\] at (0.3) should be [initial\]]
+ expected: FAIL
+
+ [CSS Transitions with transition-property:all and transition-behavor:allow-discrete: property <max-height> from [initial\] to [20px\] at (-0.3) should be [initial\]]
+ expected: FAIL
+
+ [CSS Transitions with transition-property:all and transition-behavor:allow-discrete: property <max-height> from [initial\] to [20px\] at (0) should be [initial\]]
+ expected: FAIL
+
+ [CSS Transitions with transition-property:all and transition-behavor:allow-discrete: property <max-height> from [initial\] to [20px\] at (0.3) should be [initial\]]
+ expected: FAIL
+
+ [CSS Animations: property <max-height> from [initial\] to [20px\] at (-0.3) should be [initial\]]
+ expected: FAIL
+
+ [CSS Animations: property <max-height> from [initial\] to [20px\] at (0) should be [initial\]]
+ expected: FAIL
+
+ [CSS Animations: property <max-height> from [initial\] to [20px\] at (0.3) should be [initial\]]
+ expected: FAIL
+
+ [CSS Animations: property <max-height> from [initial\] to [20px\] at (0.5) should be [20px\]]
+ expected: FAIL
+
+ [CSS Animations: property <max-height> from [initial\] to [20px\] at (0.6) should be [20px\]]
+ expected: FAIL
+
+ [CSS Animations: property <max-height> from [initial\] to [20px\] at (1) should be [20px\]]
+ expected: FAIL
+
+ [CSS Animations: property <max-height> from [initial\] to [20px\] at (1.5) should be [20px\]]
+ expected: FAIL
+
+ [Web Animations: property <max-height> from [initial\] to [20px\] at (-0.3) should be [initial\]]
+ expected: FAIL
+
+ [Web Animations: property <max-height> from [initial\] to [20px\] at (0) should be [initial\]]
+ expected: FAIL
+
+ [Web Animations: property <max-height> from [initial\] to [20px\] at (0.3) should be [initial\]]
+ expected: FAIL
+
+ [Web Animations: property <max-height> from [initial\] to [20px\] at (0.5) should be [20px\]]
+ expected: FAIL
+
+ [Web Animations: property <max-height> from [initial\] to [20px\] at (0.6) should be [20px\]]
+ expected: FAIL
+
+ [Web Animations: property <max-height> from [initial\] to [20px\] at (1) should be [20px\]]
+ expected: FAIL
+
+ [Web Animations: property <max-height> from [initial\] to [20px\] at (1.5) should be [20px\]]
+ expected: FAIL
+
+ [CSS Transitions with transition-behavior:allow-discrete: property <max-height> from [unset\] to [20px\] at (-0.3) should be [unset\]]
+ expected: FAIL
+
+ [CSS Transitions with transition-behavior:allow-discrete: property <max-height> from [unset\] to [20px\] at (0) should be [unset\]]
+ expected: FAIL
+
+ [CSS Transitions with transition-behavior:allow-discrete: property <max-height> from [unset\] to [20px\] at (0.3) should be [unset\]]
+ expected: FAIL
+
+ [CSS Transitions with transition-property:all and transition-behavor:allow-discrete: property <max-height> from [unset\] to [20px\] at (-0.3) should be [unset\]]
+ expected: FAIL
+
+ [CSS Transitions with transition-property:all and transition-behavor:allow-discrete: property <max-height> from [unset\] to [20px\] at (0) should be [unset\]]
+ expected: FAIL
+
+ [CSS Transitions with transition-property:all and transition-behavor:allow-discrete: property <max-height> from [unset\] to [20px\] at (0.3) should be [unset\]]
+ expected: FAIL
+
+ [CSS Animations: property <max-height> from [unset\] to [20px\] at (-0.3) should be [unset\]]
+ expected: FAIL
+
+ [CSS Animations: property <max-height> from [unset\] to [20px\] at (0) should be [unset\]]
+ expected: FAIL
+
+ [CSS Animations: property <max-height> from [unset\] to [20px\] at (0.3) should be [unset\]]
+ expected: FAIL
+
+ [CSS Animations: property <max-height> from [unset\] to [20px\] at (0.5) should be [20px\]]
+ expected: FAIL
+
+ [CSS Animations: property <max-height> from [unset\] to [20px\] at (0.6) should be [20px\]]
+ expected: FAIL
+
+ [CSS Animations: property <max-height> from [unset\] to [20px\] at (1) should be [20px\]]
+ expected: FAIL
+
+ [CSS Animations: property <max-height> from [unset\] to [20px\] at (1.5) should be [20px\]]
+ expected: FAIL
+
+ [Web Animations: property <max-height> from [unset\] to [20px\] at (-0.3) should be [unset\]]
+ expected: FAIL
+
+ [Web Animations: property <max-height> from [unset\] to [20px\] at (0) should be [unset\]]
+ expected: FAIL
+
+ [Web Animations: property <max-height> from [unset\] to [20px\] at (0.3) should be [unset\]]
+ expected: FAIL
+
+ [Web Animations: property <max-height> from [unset\] to [20px\] at (0.5) should be [20px\]]
+ expected: FAIL
+
+ [Web Animations: property <max-height> from [unset\] to [20px\] at (0.6) should be [20px\]]
+ expected: FAIL
+
+ [Web Animations: property <max-height> from [unset\] to [20px\] at (1) should be [20px\]]
+ expected: FAIL
+
+ [Web Animations: property <max-height> from [unset\] to [20px\] at (1.5) should be [20px\]]
+ expected: FAIL
+
+ [CSS Transitions with transition-behavior:allow-discrete: property <max-height> from [none\] to [20px\] at (-0.3) should be [none\]]
+ expected: FAIL
+
+ [CSS Transitions with transition-behavior:allow-discrete: property <max-height> from [none\] to [20px\] at (0) should be [none\]]
+ expected: FAIL
+
+ [CSS Transitions with transition-behavior:allow-discrete: property <max-height> from [none\] to [20px\] at (0.3) should be [none\]]
+ expected: FAIL
+
+ [CSS Transitions with transition-property:all and transition-behavor:allow-discrete: property <max-height> from [none\] to [20px\] at (-0.3) should be [none\]]
+ expected: FAIL
+
+ [CSS Transitions with transition-property:all and transition-behavor:allow-discrete: property <max-height> from [none\] to [20px\] at (0) should be [none\]]
+ expected: FAIL
+
+ [CSS Transitions with transition-property:all and transition-behavor:allow-discrete: property <max-height> from [none\] to [20px\] at (0.3) should be [none\]]
+ expected: FAIL
+
+ [CSS Animations: property <max-height> from [none\] to [20px\] at (-0.3) should be [none\]]
+ expected: FAIL
+
+ [CSS Animations: property <max-height> from [none\] to [20px\] at (0) should be [none\]]
+ expected: FAIL
+
+ [CSS Animations: property <max-height> from [none\] to [20px\] at (0.3) should be [none\]]
+ expected: FAIL
+
+ [CSS Animations: property <max-height> from [none\] to [20px\] at (0.5) should be [20px\]]
+ expected: FAIL
+
+ [CSS Animations: property <max-height> from [none\] to [20px\] at (0.6) should be [20px\]]
+ expected: FAIL
+
+ [CSS Animations: property <max-height> from [none\] to [20px\] at (1) should be [20px\]]
+ expected: FAIL
+
+ [CSS Animations: property <max-height> from [none\] to [20px\] at (1.5) should be [20px\]]
+ expected: FAIL
+
+ [Web Animations: property <max-height> from [none\] to [20px\] at (-0.3) should be [none\]]
+ expected: FAIL
+
+ [Web Animations: property <max-height> from [none\] to [20px\] at (0) should be [none\]]
+ expected: FAIL
+
+ [Web Animations: property <max-height> from [none\] to [20px\] at (0.3) should be [none\]]
+ expected: FAIL
+
+ [Web Animations: property <max-height> from [none\] to [20px\] at (0.5) should be [20px\]]
+ expected: FAIL
+
+ [Web Animations: property <max-height> from [none\] to [20px\] at (0.6) should be [20px\]]
+ expected: FAIL
+
+ [Web Animations: property <max-height> from [none\] to [20px\] at (1) should be [20px\]]
+ expected: FAIL
+
+ [Web Animations: property <max-height> from [none\] to [20px\] at (1.5) should be [20px\]]
+ expected: FAIL
+
+ [CSS Transitions with transition-behavior:allow-discrete: property <max-height> from [none\] to [max-content\] at (-0.3) should be [none\]]
+ expected: FAIL
+
+ [CSS Transitions with transition-behavior:allow-discrete: property <max-height> from [none\] to [max-content\] at (0) should be [none\]]
+ expected: FAIL
+
+ [CSS Transitions with transition-behavior:allow-discrete: property <max-height> from [none\] to [max-content\] at (0.3) should be [none\]]
+ expected: FAIL
+
+ [CSS Transitions with transition-behavior:allow-discrete: property <max-height> from [none\] to [max-content\] at (0.5) should be [max-content\]]
+ expected: FAIL
+
+ [CSS Transitions with transition-behavior:allow-discrete: property <max-height> from [none\] to [max-content\] at (0.6) should be [max-content\]]
+ expected: FAIL
+
+ [CSS Transitions with transition-behavior:allow-discrete: property <max-height> from [none\] to [max-content\] at (1) should be [max-content\]]
+ expected: FAIL
+
+ [CSS Transitions with transition-behavior:allow-discrete: property <max-height> from [none\] to [max-content\] at (1.5) should be [max-content\]]
+ expected: FAIL
+
+ [CSS Transitions with transition-property:all and transition-behavor:allow-discrete: property <max-height> from [none\] to [max-content\] at (-0.3) should be [none\]]
+ expected: FAIL
+
+ [CSS Transitions with transition-property:all and transition-behavor:allow-discrete: property <max-height> from [none\] to [max-content\] at (0) should be [none\]]
+ expected: FAIL
+
+ [CSS Transitions with transition-property:all and transition-behavor:allow-discrete: property <max-height> from [none\] to [max-content\] at (0.3) should be [none\]]
+ expected: FAIL
+
+ [CSS Transitions with transition-property:all and transition-behavor:allow-discrete: property <max-height> from [none\] to [max-content\] at (0.5) should be [max-content\]]
+ expected: FAIL
+
+ [CSS Transitions with transition-property:all and transition-behavor:allow-discrete: property <max-height> from [none\] to [max-content\] at (0.6) should be [max-content\]]
+ expected: FAIL
+
+ [CSS Transitions with transition-property:all and transition-behavor:allow-discrete: property <max-height> from [none\] to [max-content\] at (1) should be [max-content\]]
+ expected: FAIL
+
+ [CSS Transitions with transition-property:all and transition-behavor:allow-discrete: property <max-height> from [none\] to [max-content\] at (1.5) should be [max-content\]]
+ expected: FAIL
+
+ [CSS Transitions: property <max-height> from [none\] to [max-content\] at (-0.3) should be [max-content\]]
+ expected: FAIL
+
+ [CSS Transitions: property <max-height> from [none\] to [max-content\] at (0) should be [max-content\]]
+ expected: FAIL
+
+ [CSS Transitions: property <max-height> from [none\] to [max-content\] at (0.3) should be [max-content\]]
+ expected: FAIL
+
+ [CSS Transitions: property <max-height> from [none\] to [max-content\] at (0.5) should be [max-content\]]
+ expected: FAIL
+
+ [CSS Transitions: property <max-height> from [none\] to [max-content\] at (0.6) should be [max-content\]]
+ expected: FAIL
+
+ [CSS Transitions: property <max-height> from [none\] to [max-content\] at (1) should be [max-content\]]
+ expected: FAIL
+
+ [CSS Transitions: property <max-height> from [none\] to [max-content\] at (1.5) should be [max-content\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <max-height> from [none\] to [max-content\] at (-0.3) should be [max-content\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <max-height> from [none\] to [max-content\] at (0) should be [max-content\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <max-height> from [none\] to [max-content\] at (0.3) should be [max-content\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <max-height> from [none\] to [max-content\] at (0.5) should be [max-content\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <max-height> from [none\] to [max-content\] at (0.6) should be [max-content\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <max-height> from [none\] to [max-content\] at (1) should be [max-content\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <max-height> from [none\] to [max-content\] at (1.5) should be [max-content\]]
+ expected: FAIL
+
+ [CSS Animations: property <max-height> from [none\] to [max-content\] at (-0.3) should be [none\]]
+ expected: FAIL
+
+ [CSS Animations: property <max-height> from [none\] to [max-content\] at (0) should be [none\]]
+ expected: FAIL
+
+ [CSS Animations: property <max-height> from [none\] to [max-content\] at (0.3) should be [none\]]
+ expected: FAIL
+
+ [CSS Animations: property <max-height> from [none\] to [max-content\] at (0.5) should be [max-content\]]
+ expected: FAIL
+
+ [CSS Animations: property <max-height> from [none\] to [max-content\] at (0.6) should be [max-content\]]
+ expected: FAIL
+
+ [CSS Animations: property <max-height> from [none\] to [max-content\] at (1) should be [max-content\]]
+ expected: FAIL
+
+ [CSS Animations: property <max-height> from [none\] to [max-content\] at (1.5) should be [max-content\]]
+ expected: FAIL
+
+ [Web Animations: property <max-height> from [none\] to [max-content\] at (-0.3) should be [none\]]
+ expected: FAIL
+
+ [Web Animations: property <max-height> from [none\] to [max-content\] at (0) should be [none\]]
+ expected: FAIL
+
+ [Web Animations: property <max-height> from [none\] to [max-content\] at (0.3) should be [none\]]
+ expected: FAIL
+
+ [Web Animations: property <max-height> from [none\] to [max-content\] at (0.5) should be [max-content\]]
+ expected: FAIL
+
+ [Web Animations: property <max-height> from [none\] to [max-content\] at (0.6) should be [max-content\]]
+ expected: FAIL
+
+ [Web Animations: property <max-height> from [none\] to [max-content\] at (1) should be [max-content\]]
+ expected: FAIL
+
+ [Web Animations: property <max-height> from [none\] to [max-content\] at (1.5) should be [max-content\]]
+ expected: FAIL
+
+ [CSS Transitions with transition-behavior:allow-discrete: property <max-height> from [stretch\] to [fit-content\] at (-0.3) should be [stretch\]]
+ expected: FAIL
+
+ [CSS Transitions with transition-behavior:allow-discrete: property <max-height> from [stretch\] to [fit-content\] at (0) should be [stretch\]]
+ expected: FAIL
+
+ [CSS Transitions with transition-behavior:allow-discrete: property <max-height> from [stretch\] to [fit-content\] at (0.3) should be [stretch\]]
+ expected: FAIL
+
+ [CSS Transitions with transition-behavior:allow-discrete: property <max-height> from [stretch\] to [fit-content\] at (0.5) should be [fit-content\]]
+ expected: FAIL
+
+ [CSS Transitions with transition-behavior:allow-discrete: property <max-height> from [stretch\] to [fit-content\] at (0.6) should be [fit-content\]]
+ expected: FAIL
+
+ [CSS Transitions with transition-behavior:allow-discrete: property <max-height> from [stretch\] to [fit-content\] at (1) should be [fit-content\]]
+ expected: FAIL
+
+ [CSS Transitions with transition-behavior:allow-discrete: property <max-height> from [stretch\] to [fit-content\] at (1.5) should be [fit-content\]]
+ expected: FAIL
+
+ [CSS Transitions with transition-property:all and transition-behavor:allow-discrete: property <max-height> from [stretch\] to [fit-content\] at (-0.3) should be [stretch\]]
+ expected: FAIL
+
+ [CSS Transitions with transition-property:all and transition-behavor:allow-discrete: property <max-height> from [stretch\] to [fit-content\] at (0) should be [stretch\]]
+ expected: FAIL
+
+ [CSS Transitions with transition-property:all and transition-behavor:allow-discrete: property <max-height> from [stretch\] to [fit-content\] at (0.3) should be [stretch\]]
+ expected: FAIL
+
+ [CSS Transitions with transition-property:all and transition-behavor:allow-discrete: property <max-height> from [stretch\] to [fit-content\] at (0.5) should be [fit-content\]]
+ expected: FAIL
+
+ [CSS Transitions with transition-property:all and transition-behavor:allow-discrete: property <max-height> from [stretch\] to [fit-content\] at (0.6) should be [fit-content\]]
+ expected: FAIL
+
+ [CSS Transitions with transition-property:all and transition-behavor:allow-discrete: property <max-height> from [stretch\] to [fit-content\] at (1) should be [fit-content\]]
+ expected: FAIL
+
+ [CSS Transitions with transition-property:all and transition-behavor:allow-discrete: property <max-height> from [stretch\] to [fit-content\] at (1.5) should be [fit-content\]]
+ expected: FAIL
+
+ [CSS Transitions: property <max-height> from [stretch\] to [fit-content\] at (-0.3) should be [fit-content\]]
+ expected: FAIL
+
+ [CSS Transitions: property <max-height> from [stretch\] to [fit-content\] at (0) should be [fit-content\]]
+ expected: FAIL
+
+ [CSS Transitions: property <max-height> from [stretch\] to [fit-content\] at (0.3) should be [fit-content\]]
+ expected: FAIL
+
+ [CSS Transitions: property <max-height> from [stretch\] to [fit-content\] at (0.5) should be [fit-content\]]
+ expected: FAIL
+
+ [CSS Transitions: property <max-height> from [stretch\] to [fit-content\] at (0.6) should be [fit-content\]]
+ expected: FAIL
+
+ [CSS Transitions: property <max-height> from [stretch\] to [fit-content\] at (1) should be [fit-content\]]
+ expected: FAIL
+
+ [CSS Transitions: property <max-height> from [stretch\] to [fit-content\] at (1.5) should be [fit-content\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <max-height> from [stretch\] to [fit-content\] at (-0.3) should be [fit-content\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <max-height> from [stretch\] to [fit-content\] at (0) should be [fit-content\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <max-height> from [stretch\] to [fit-content\] at (0.3) should be [fit-content\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <max-height> from [stretch\] to [fit-content\] at (0.5) should be [fit-content\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <max-height> from [stretch\] to [fit-content\] at (0.6) should be [fit-content\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <max-height> from [stretch\] to [fit-content\] at (1) should be [fit-content\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <max-height> from [stretch\] to [fit-content\] at (1.5) should be [fit-content\]]
+ expected: FAIL
+
+ [CSS Animations: property <max-height> from [stretch\] to [fit-content\] at (-0.3) should be [stretch\]]
+ expected: FAIL
+
+ [CSS Animations: property <max-height> from [stretch\] to [fit-content\] at (0) should be [stretch\]]
+ expected: FAIL
+
+ [CSS Animations: property <max-height> from [stretch\] to [fit-content\] at (0.3) should be [stretch\]]
+ expected: FAIL
+
+ [CSS Animations: property <max-height> from [stretch\] to [fit-content\] at (0.5) should be [fit-content\]]
+ expected: FAIL
+
+ [CSS Animations: property <max-height> from [stretch\] to [fit-content\] at (0.6) should be [fit-content\]]
+ expected: FAIL
+
+ [CSS Animations: property <max-height> from [stretch\] to [fit-content\] at (1) should be [fit-content\]]
+ expected: FAIL
+
+ [CSS Animations: property <max-height> from [stretch\] to [fit-content\] at (1.5) should be [fit-content\]]
+ expected: FAIL
+
+ [Web Animations: property <max-height> from [stretch\] to [fit-content\] at (-0.3) should be [stretch\]]
+ expected: FAIL
+
+ [Web Animations: property <max-height> from [stretch\] to [fit-content\] at (0) should be [stretch\]]
+ expected: FAIL
+
+ [Web Animations: property <max-height> from [stretch\] to [fit-content\] at (0.3) should be [stretch\]]
+ expected: FAIL
+
+ [Web Animations: property <max-height> from [stretch\] to [fit-content\] at (0.5) should be [fit-content\]]
+ expected: FAIL
+
+ [Web Animations: property <max-height> from [stretch\] to [fit-content\] at (0.6) should be [fit-content\]]
+ expected: FAIL
+
+ [Web Animations: property <max-height> from [stretch\] to [fit-content\] at (1) should be [fit-content\]]
+ expected: FAIL
+
+ [Web Animations: property <max-height> from [stretch\] to [fit-content\] at (1.5) should be [fit-content\]]
+ expected: FAIL
+
+ [CSS Transitions: property <max-height> from [150px\] to [min-content\] at (-0.3) should be [calc-size(min-content, 195px + size * -0.3)\]]
+ expected: FAIL
+
+ [CSS Transitions: property <max-height> from [150px\] to [min-content\] at (0) should be [calc-size(min-content, 150px + size * 0)\]]
+ expected: FAIL
+
+ [CSS Transitions: property <max-height> from [150px\] to [min-content\] at (0.3) should be [calc-size(min-content, 105px + size * 0.3)\]]
+ expected: FAIL
+
+ [CSS Transitions: property <max-height> from [150px\] to [min-content\] at (0.6) should be [calc-size(min-content, 60px + size * 0.6)\]]
+ expected: FAIL
+
+ [CSS Transitions: property <max-height> from [150px\] to [min-content\] at (1) should be [calc-size(min-content, 0px + size * 1)\]]
+ expected: FAIL
+
+ [CSS Transitions: property <max-height> from [150px\] to [min-content\] at (1.5) should be [calc-size(min-content, -75px + size * 1.5)\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <max-height> from [150px\] to [min-content\] at (-0.3) should be [calc-size(min-content, 195px + size * -0.3)\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <max-height> from [150px\] to [min-content\] at (0) should be [calc-size(min-content, 150px + size * 0)\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <max-height> from [150px\] to [min-content\] at (0.3) should be [calc-size(min-content, 105px + size * 0.3)\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <max-height> from [150px\] to [min-content\] at (0.6) should be [calc-size(min-content, 60px + size * 0.6)\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <max-height> from [150px\] to [min-content\] at (1) should be [calc-size(min-content, 0px + size * 1)\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <max-height> from [150px\] to [min-content\] at (1.5) should be [calc-size(min-content, -75px + size * 1.5)\]]
+ expected: FAIL
+
+ [CSS Animations: property <max-height> from [150px\] to [min-content\] at (-0.3) should be [calc-size(min-content, 195px + size * -0.3)\]]
+ expected: FAIL
+
+ [CSS Animations: property <max-height> from [150px\] to [min-content\] at (0) should be [calc-size(min-content, 150px + size * 0)\]]
+ expected: FAIL
+
+ [CSS Animations: property <max-height> from [150px\] to [min-content\] at (0.3) should be [calc-size(min-content, 105px + size * 0.3)\]]
+ expected: FAIL
+
+ [CSS Animations: property <max-height> from [150px\] to [min-content\] at (0.6) should be [calc-size(min-content, 60px + size * 0.6)\]]
+ expected: FAIL
+
+ [CSS Animations: property <max-height> from [150px\] to [min-content\] at (1) should be [calc-size(min-content, 0px + size * 1)\]]
+ expected: FAIL
+
+ [CSS Animations: property <max-height> from [150px\] to [min-content\] at (1.5) should be [calc-size(min-content, -75px + size * 1.5)\]]
+ expected: FAIL
+
+ [Web Animations: property <max-height> from [150px\] to [min-content\] at (-0.3) should be [calc-size(min-content, 195px + size * -0.3)\]]
+ expected: FAIL
+
+ [Web Animations: property <max-height> from [150px\] to [min-content\] at (0) should be [calc-size(min-content, 150px + size * 0)\]]
+ expected: FAIL
+
+ [Web Animations: property <max-height> from [150px\] to [min-content\] at (0.3) should be [calc-size(min-content, 105px + size * 0.3)\]]
+ expected: FAIL
+
+ [Web Animations: property <max-height> from [150px\] to [min-content\] at (0.6) should be [calc-size(min-content, 60px + size * 0.6)\]]
+ expected: FAIL
+
+ [Web Animations: property <max-height> from [150px\] to [min-content\] at (1) should be [calc-size(min-content, 0px + size * 1)\]]
+ expected: FAIL
+
+ [Web Animations: property <max-height> from [150px\] to [min-content\] at (1.5) should be [calc-size(min-content, -75px + size * 1.5)\]]
+ expected: FAIL
+
+ [CSS Transitions: property <max-height> from [min-content\] to neutral at (-0.3) should be [calc-size(min-content, -30px + size * 1.3)\]]
+ expected: FAIL
+
+ [CSS Transitions: property <max-height> from [min-content\] to neutral at (0) should be [calc-size(min-content, 0px + size * 1)\]]
+ expected: FAIL
+
+ [CSS Transitions: property <max-height> from [min-content\] to neutral at (0.3) should be [calc-size(min-content, 30px + size * 0.7)\]]
+ expected: FAIL
+
+ [CSS Transitions: property <max-height> from [min-content\] to neutral at (0.6) should be [calc-size(min-content, 60px + size * 0.4)\]]
+ expected: FAIL
+
+ [CSS Transitions: property <max-height> from [min-content\] to neutral at (1) should be [calc-size(min-content, 100px + size * 0)\]]
+ expected: FAIL
+
+ [CSS Transitions: property <max-height> from [min-content\] to neutral at (1.5) should be [calc-size(min-content, 150px + size * -0.5)\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <max-height> from [min-content\] to neutral at (-0.3) should be [calc-size(min-content, -30px + size * 1.3)\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <max-height> from [min-content\] to neutral at (0) should be [calc-size(min-content, 0px + size * 1)\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <max-height> from [min-content\] to neutral at (0.3) should be [calc-size(min-content, 30px + size * 0.7)\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <max-height> from [min-content\] to neutral at (0.6) should be [calc-size(min-content, 60px + size * 0.4)\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <max-height> from [min-content\] to neutral at (1) should be [calc-size(min-content, 100px + size * 0)\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <max-height> from [min-content\] to neutral at (1.5) should be [calc-size(min-content, 150px + size * -0.5)\]]
+ expected: FAIL
+
+ [CSS Animations: property <max-height> from [min-content\] to neutral at (-0.3) should be [calc-size(min-content, -30px + size * 1.3)\]]
+ expected: FAIL
+
+ [CSS Animations: property <max-height> from [min-content\] to neutral at (0) should be [calc-size(min-content, 0px + size * 1)\]]
+ expected: FAIL
+
+ [CSS Animations: property <max-height> from [min-content\] to neutral at (0.3) should be [calc-size(min-content, 30px + size * 0.7)\]]
+ expected: FAIL
+
+ [CSS Animations: property <max-height> from [min-content\] to neutral at (0.6) should be [calc-size(min-content, 60px + size * 0.4)\]]
+ expected: FAIL
+
+ [CSS Animations: property <max-height> from [min-content\] to neutral at (1) should be [calc-size(min-content, 100px + size * 0)\]]
+ expected: FAIL
+
+ [CSS Animations: property <max-height> from [min-content\] to neutral at (1.5) should be [calc-size(min-content, 150px + size * -0.5)\]]
+ expected: FAIL
+
+ [Web Animations: property <max-height> from [min-content\] to neutral at (-0.3) should be [calc-size(min-content, -30px + size * 1.3)\]]
+ expected: FAIL
+
+ [Web Animations: property <max-height> from [min-content\] to neutral at (0) should be [calc-size(min-content, 0px + size * 1)\]]
+ expected: FAIL
+
+ [Web Animations: property <max-height> from [min-content\] to neutral at (0.3) should be [calc-size(min-content, 30px + size * 0.7)\]]
+ expected: FAIL
+
+ [Web Animations: property <max-height> from [min-content\] to neutral at (0.6) should be [calc-size(min-content, 60px + size * 0.4)\]]
+ expected: FAIL
+
+ [Web Animations: property <max-height> from [min-content\] to neutral at (1) should be [calc-size(min-content, 100px + size * 0)\]]
+ expected: FAIL
+
+ [Web Animations: property <max-height> from [min-content\] to neutral at (1.5) should be [calc-size(min-content, 150px + size * -0.5)\]]
+ expected: FAIL
+
+ [CSS Transitions: property <max-height> from neutral to [max-content\] at (-0.3) should be [calc-size(max-content, 130px + size * -0.3)\]]
+ expected: FAIL
+
+ [CSS Transitions: property <max-height> from neutral to [max-content\] at (0) should be [calc-size(max-content, 100px + size * 0)\]]
+ expected: FAIL
+
+ [CSS Transitions: property <max-height> from neutral to [max-content\] at (0.3) should be [calc-size(max-content, 70px + size * 0.3)\]]
+ expected: FAIL
+
+ [CSS Transitions: property <max-height> from neutral to [max-content\] at (0.6) should be [calc-size(max-content, 40px + size * 0.6)\]]
+ expected: FAIL
+
+ [CSS Transitions: property <max-height> from neutral to [max-content\] at (1) should be [calc-size(max-content, 0px + size * 1)\]]
+ expected: FAIL
+
+ [CSS Transitions: property <max-height> from neutral to [max-content\] at (1.5) should be [calc-size(max-content, -50px + size * 1.5)\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <max-height> from neutral to [max-content\] at (-0.3) should be [calc-size(max-content, 130px + size * -0.3)\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <max-height> from neutral to [max-content\] at (0) should be [calc-size(max-content, 100px + size * 0)\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <max-height> from neutral to [max-content\] at (0.3) should be [calc-size(max-content, 70px + size * 0.3)\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <max-height> from neutral to [max-content\] at (0.6) should be [calc-size(max-content, 40px + size * 0.6)\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <max-height> from neutral to [max-content\] at (1) should be [calc-size(max-content, 0px + size * 1)\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <max-height> from neutral to [max-content\] at (1.5) should be [calc-size(max-content, -50px + size * 1.5)\]]
+ expected: FAIL
+
+ [CSS Animations: property <max-height> from neutral to [max-content\] at (-0.3) should be [calc-size(max-content, 130px + size * -0.3)\]]
+ expected: FAIL
+
+ [CSS Animations: property <max-height> from neutral to [max-content\] at (0) should be [calc-size(max-content, 100px + size * 0)\]]
+ expected: FAIL
+
+ [CSS Animations: property <max-height> from neutral to [max-content\] at (0.3) should be [calc-size(max-content, 70px + size * 0.3)\]]
+ expected: FAIL
+
+ [CSS Animations: property <max-height> from neutral to [max-content\] at (0.6) should be [calc-size(max-content, 40px + size * 0.6)\]]
+ expected: FAIL
+
+ [CSS Animations: property <max-height> from neutral to [max-content\] at (1) should be [calc-size(max-content, 0px + size * 1)\]]
+ expected: FAIL
+
+ [CSS Animations: property <max-height> from neutral to [max-content\] at (1.5) should be [calc-size(max-content, -50px + size * 1.5)\]]
+ expected: FAIL
+
+ [Web Animations: property <max-height> from neutral to [max-content\] at (-0.3) should be [calc-size(max-content, 130px + size * -0.3)\]]
+ expected: FAIL
+
+ [Web Animations: property <max-height> from neutral to [max-content\] at (0) should be [calc-size(max-content, 100px + size * 0)\]]
+ expected: FAIL
+
+ [Web Animations: property <max-height> from neutral to [max-content\] at (0.3) should be [calc-size(max-content, 70px + size * 0.3)\]]
+ expected: FAIL
+
+ [Web Animations: property <max-height> from neutral to [max-content\] at (0.6) should be [calc-size(max-content, 40px + size * 0.6)\]]
+ expected: FAIL
+
+ [Web Animations: property <max-height> from neutral to [max-content\] at (1) should be [calc-size(max-content, 0px + size * 1)\]]
+ expected: FAIL
+
+ [Web Animations: property <max-height> from neutral to [max-content\] at (1.5) should be [calc-size(max-content, -50px + size * 1.5)\]]
+ expected: FAIL
diff --git a/tests/wpt/meta-legacy-layout/css/css-values/calc-size/animation/interpolate-size-max-width-composition.html.ini b/tests/wpt/meta-legacy-layout/css/css-values/calc-size/animation/interpolate-size-max-width-composition.html.ini
new file mode 100644
index 00000000000..3a8389477a1
--- /dev/null
+++ b/tests/wpt/meta-legacy-layout/css/css-values/calc-size/animation/interpolate-size-max-width-composition.html.ini
@@ -0,0 +1,45 @@
+[interpolate-size-max-width-composition.html]
+ [Compositing: property <max-width> underlying [100px\] from add [100px\] to add [fit-content\] at (-0.3) should be [calc-size(fit-content, 230px + size * -0.3)\]]
+ expected: FAIL
+
+ [Compositing: property <max-width> underlying [100px\] from add [100px\] to add [fit-content\] at (0) should be [calc-size(fit-content, 200px + size * 0)\]]
+ expected: FAIL
+
+ [Compositing: property <max-width> underlying [100px\] from add [100px\] to add [fit-content\] at (0.5) should be [calc-size(fit-content, 150px + size * 0.5)\]]
+ expected: FAIL
+
+ [Compositing: property <max-width> underlying [100px\] from add [100px\] to add [fit-content\] at (1) should be [calc-size(fit-content, 100px + size * 1)\]]
+ expected: FAIL
+
+ [Compositing: property <max-width> underlying [100px\] from add [100px\] to add [fit-content\] at (1.5) should be [calc-size(fit-content, 50px + size * 1.5)\]]
+ expected: FAIL
+
+ [Compositing: property <max-width> underlying [100px\] from add [fit-content\] to add [max-content\] at (-0.3) should be [calc-size(fit-content, 100px + size)\]]
+ expected: FAIL
+
+ [Compositing: property <max-width> underlying [100px\] from add [fit-content\] to add [max-content\] at (0) should be [calc-size(fit-content, 100px + size)\]]
+ expected: FAIL
+
+ [Compositing: property <max-width> underlying [100px\] from add [fit-content\] to add [max-content\] at (0.5) should be [calc-size(max-content, 100px + size)\]]
+ expected: FAIL
+
+ [Compositing: property <max-width> underlying [100px\] from add [fit-content\] to add [max-content\] at (1) should be [calc-size(max-content, 100px + size)\]]
+ expected: FAIL
+
+ [Compositing: property <max-width> underlying [100px\] from add [fit-content\] to add [max-content\] at (1.5) should be [calc-size(max-content, 100px + size)\]]
+ expected: FAIL
+
+ [Compositing: property <max-width> underlying [max-content\] from add [100px\] to add [min-content\] at (-0.3) should be [calc-size(min-content, 130px + size * -0.3)\]]
+ expected: FAIL
+
+ [Compositing: property <max-width> underlying [max-content\] from add [100px\] to add [min-content\] at (0) should be [calc-size(min-content, 100px + size * 0)\]]
+ expected: FAIL
+
+ [Compositing: property <max-width> underlying [max-content\] from add [100px\] to add [min-content\] at (0.5) should be [calc-size(min-content, 50px + size * 0.5)\]]
+ expected: FAIL
+
+ [Compositing: property <max-width> underlying [max-content\] from add [100px\] to add [min-content\] at (1) should be [calc-size(min-content, 0px + size * 1)\]]
+ expected: FAIL
+
+ [Compositing: property <max-width> underlying [max-content\] from add [100px\] to add [min-content\] at (1.5) should be [calc-size(min-content, -50px + size * 1.5)\]]
+ expected: FAIL
diff --git a/tests/wpt/meta-legacy-layout/css/css-values/calc-size/animation/interpolate-size-max-width-interpolation.html.ini b/tests/wpt/meta-legacy-layout/css/css-values/calc-size/animation/interpolate-size-max-width-interpolation.html.ini
new file mode 100644
index 00000000000..f005b4f4766
--- /dev/null
+++ b/tests/wpt/meta-legacy-layout/css/css-values/calc-size/animation/interpolate-size-max-width-interpolation.html.ini
@@ -0,0 +1,648 @@
+[interpolate-size-max-width-interpolation.html]
+ [CSS Transitions with transition-behavior:allow-discrete: property <max-width> from [initial\] to [20px\] at (-0.3) should be [initial\]]
+ expected: FAIL
+
+ [CSS Transitions with transition-behavior:allow-discrete: property <max-width> from [initial\] to [20px\] at (0) should be [initial\]]
+ expected: FAIL
+
+ [CSS Transitions with transition-behavior:allow-discrete: property <max-width> from [initial\] to [20px\] at (0.3) should be [initial\]]
+ expected: FAIL
+
+ [CSS Transitions with transition-property:all and transition-behavor:allow-discrete: property <max-width> from [initial\] to [20px\] at (-0.3) should be [initial\]]
+ expected: FAIL
+
+ [CSS Transitions with transition-property:all and transition-behavor:allow-discrete: property <max-width> from [initial\] to [20px\] at (0) should be [initial\]]
+ expected: FAIL
+
+ [CSS Transitions with transition-property:all and transition-behavor:allow-discrete: property <max-width> from [initial\] to [20px\] at (0.3) should be [initial\]]
+ expected: FAIL
+
+ [CSS Animations: property <max-width> from [initial\] to [20px\] at (-0.3) should be [initial\]]
+ expected: FAIL
+
+ [CSS Animations: property <max-width> from [initial\] to [20px\] at (0) should be [initial\]]
+ expected: FAIL
+
+ [CSS Animations: property <max-width> from [initial\] to [20px\] at (0.3) should be [initial\]]
+ expected: FAIL
+
+ [CSS Animations: property <max-width> from [initial\] to [20px\] at (0.5) should be [20px\]]
+ expected: FAIL
+
+ [CSS Animations: property <max-width> from [initial\] to [20px\] at (0.6) should be [20px\]]
+ expected: FAIL
+
+ [CSS Animations: property <max-width> from [initial\] to [20px\] at (1) should be [20px\]]
+ expected: FAIL
+
+ [CSS Animations: property <max-width> from [initial\] to [20px\] at (1.5) should be [20px\]]
+ expected: FAIL
+
+ [Web Animations: property <max-width> from [initial\] to [20px\] at (-0.3) should be [initial\]]
+ expected: FAIL
+
+ [Web Animations: property <max-width> from [initial\] to [20px\] at (0) should be [initial\]]
+ expected: FAIL
+
+ [Web Animations: property <max-width> from [initial\] to [20px\] at (0.3) should be [initial\]]
+ expected: FAIL
+
+ [Web Animations: property <max-width> from [initial\] to [20px\] at (0.5) should be [20px\]]
+ expected: FAIL
+
+ [Web Animations: property <max-width> from [initial\] to [20px\] at (0.6) should be [20px\]]
+ expected: FAIL
+
+ [Web Animations: property <max-width> from [initial\] to [20px\] at (1) should be [20px\]]
+ expected: FAIL
+
+ [Web Animations: property <max-width> from [initial\] to [20px\] at (1.5) should be [20px\]]
+ expected: FAIL
+
+ [CSS Transitions with transition-behavior:allow-discrete: property <max-width> from [unset\] to [20px\] at (-0.3) should be [unset\]]
+ expected: FAIL
+
+ [CSS Transitions with transition-behavior:allow-discrete: property <max-width> from [unset\] to [20px\] at (0) should be [unset\]]
+ expected: FAIL
+
+ [CSS Transitions with transition-behavior:allow-discrete: property <max-width> from [unset\] to [20px\] at (0.3) should be [unset\]]
+ expected: FAIL
+
+ [CSS Transitions with transition-property:all and transition-behavor:allow-discrete: property <max-width> from [unset\] to [20px\] at (-0.3) should be [unset\]]
+ expected: FAIL
+
+ [CSS Transitions with transition-property:all and transition-behavor:allow-discrete: property <max-width> from [unset\] to [20px\] at (0) should be [unset\]]
+ expected: FAIL
+
+ [CSS Transitions with transition-property:all and transition-behavor:allow-discrete: property <max-width> from [unset\] to [20px\] at (0.3) should be [unset\]]
+ expected: FAIL
+
+ [CSS Animations: property <max-width> from [unset\] to [20px\] at (-0.3) should be [unset\]]
+ expected: FAIL
+
+ [CSS Animations: property <max-width> from [unset\] to [20px\] at (0) should be [unset\]]
+ expected: FAIL
+
+ [CSS Animations: property <max-width> from [unset\] to [20px\] at (0.3) should be [unset\]]
+ expected: FAIL
+
+ [CSS Animations: property <max-width> from [unset\] to [20px\] at (0.5) should be [20px\]]
+ expected: FAIL
+
+ [CSS Animations: property <max-width> from [unset\] to [20px\] at (0.6) should be [20px\]]
+ expected: FAIL
+
+ [CSS Animations: property <max-width> from [unset\] to [20px\] at (1) should be [20px\]]
+ expected: FAIL
+
+ [CSS Animations: property <max-width> from [unset\] to [20px\] at (1.5) should be [20px\]]
+ expected: FAIL
+
+ [Web Animations: property <max-width> from [unset\] to [20px\] at (-0.3) should be [unset\]]
+ expected: FAIL
+
+ [Web Animations: property <max-width> from [unset\] to [20px\] at (0) should be [unset\]]
+ expected: FAIL
+
+ [Web Animations: property <max-width> from [unset\] to [20px\] at (0.3) should be [unset\]]
+ expected: FAIL
+
+ [Web Animations: property <max-width> from [unset\] to [20px\] at (0.5) should be [20px\]]
+ expected: FAIL
+
+ [Web Animations: property <max-width> from [unset\] to [20px\] at (0.6) should be [20px\]]
+ expected: FAIL
+
+ [Web Animations: property <max-width> from [unset\] to [20px\] at (1) should be [20px\]]
+ expected: FAIL
+
+ [Web Animations: property <max-width> from [unset\] to [20px\] at (1.5) should be [20px\]]
+ expected: FAIL
+
+ [CSS Transitions with transition-behavior:allow-discrete: property <max-width> from [none\] to [20px\] at (-0.3) should be [none\]]
+ expected: FAIL
+
+ [CSS Transitions with transition-behavior:allow-discrete: property <max-width> from [none\] to [20px\] at (0) should be [none\]]
+ expected: FAIL
+
+ [CSS Transitions with transition-behavior:allow-discrete: property <max-width> from [none\] to [20px\] at (0.3) should be [none\]]
+ expected: FAIL
+
+ [CSS Transitions with transition-property:all and transition-behavor:allow-discrete: property <max-width> from [none\] to [20px\] at (-0.3) should be [none\]]
+ expected: FAIL
+
+ [CSS Transitions with transition-property:all and transition-behavor:allow-discrete: property <max-width> from [none\] to [20px\] at (0) should be [none\]]
+ expected: FAIL
+
+ [CSS Transitions with transition-property:all and transition-behavor:allow-discrete: property <max-width> from [none\] to [20px\] at (0.3) should be [none\]]
+ expected: FAIL
+
+ [CSS Animations: property <max-width> from [none\] to [20px\] at (-0.3) should be [none\]]
+ expected: FAIL
+
+ [CSS Animations: property <max-width> from [none\] to [20px\] at (0) should be [none\]]
+ expected: FAIL
+
+ [CSS Animations: property <max-width> from [none\] to [20px\] at (0.3) should be [none\]]
+ expected: FAIL
+
+ [CSS Animations: property <max-width> from [none\] to [20px\] at (0.5) should be [20px\]]
+ expected: FAIL
+
+ [CSS Animations: property <max-width> from [none\] to [20px\] at (0.6) should be [20px\]]
+ expected: FAIL
+
+ [CSS Animations: property <max-width> from [none\] to [20px\] at (1) should be [20px\]]
+ expected: FAIL
+
+ [CSS Animations: property <max-width> from [none\] to [20px\] at (1.5) should be [20px\]]
+ expected: FAIL
+
+ [Web Animations: property <max-width> from [none\] to [20px\] at (-0.3) should be [none\]]
+ expected: FAIL
+
+ [Web Animations: property <max-width> from [none\] to [20px\] at (0) should be [none\]]
+ expected: FAIL
+
+ [Web Animations: property <max-width> from [none\] to [20px\] at (0.3) should be [none\]]
+ expected: FAIL
+
+ [Web Animations: property <max-width> from [none\] to [20px\] at (0.5) should be [20px\]]
+ expected: FAIL
+
+ [Web Animations: property <max-width> from [none\] to [20px\] at (0.6) should be [20px\]]
+ expected: FAIL
+
+ [Web Animations: property <max-width> from [none\] to [20px\] at (1) should be [20px\]]
+ expected: FAIL
+
+ [Web Animations: property <max-width> from [none\] to [20px\] at (1.5) should be [20px\]]
+ expected: FAIL
+
+ [CSS Transitions with transition-behavior:allow-discrete: property <max-width> from [stretch\] to [none\] at (-0.3) should be [stretch\]]
+ expected: FAIL
+
+ [CSS Transitions with transition-behavior:allow-discrete: property <max-width> from [stretch\] to [none\] at (0) should be [stretch\]]
+ expected: FAIL
+
+ [CSS Transitions with transition-behavior:allow-discrete: property <max-width> from [stretch\] to [none\] at (0.3) should be [stretch\]]
+ expected: FAIL
+
+ [CSS Transitions with transition-behavior:allow-discrete: property <max-width> from [stretch\] to [none\] at (0.5) should be [none\]]
+ expected: FAIL
+
+ [CSS Transitions with transition-behavior:allow-discrete: property <max-width> from [stretch\] to [none\] at (0.6) should be [none\]]
+ expected: FAIL
+
+ [CSS Transitions with transition-behavior:allow-discrete: property <max-width> from [stretch\] to [none\] at (1) should be [none\]]
+ expected: FAIL
+
+ [CSS Transitions with transition-behavior:allow-discrete: property <max-width> from [stretch\] to [none\] at (1.5) should be [none\]]
+ expected: FAIL
+
+ [CSS Transitions with transition-property:all and transition-behavor:allow-discrete: property <max-width> from [stretch\] to [none\] at (-0.3) should be [stretch\]]
+ expected: FAIL
+
+ [CSS Transitions with transition-property:all and transition-behavor:allow-discrete: property <max-width> from [stretch\] to [none\] at (0) should be [stretch\]]
+ expected: FAIL
+
+ [CSS Transitions with transition-property:all and transition-behavor:allow-discrete: property <max-width> from [stretch\] to [none\] at (0.3) should be [stretch\]]
+ expected: FAIL
+
+ [CSS Transitions with transition-property:all and transition-behavor:allow-discrete: property <max-width> from [stretch\] to [none\] at (0.5) should be [none\]]
+ expected: FAIL
+
+ [CSS Transitions with transition-property:all and transition-behavor:allow-discrete: property <max-width> from [stretch\] to [none\] at (0.6) should be [none\]]
+ expected: FAIL
+
+ [CSS Transitions with transition-property:all and transition-behavor:allow-discrete: property <max-width> from [stretch\] to [none\] at (1) should be [none\]]
+ expected: FAIL
+
+ [CSS Transitions with transition-property:all and transition-behavor:allow-discrete: property <max-width> from [stretch\] to [none\] at (1.5) should be [none\]]
+ expected: FAIL
+
+ [CSS Transitions: property <max-width> from [stretch\] to [none\] at (-0.3) should be [none\]]
+ expected: FAIL
+
+ [CSS Transitions: property <max-width> from [stretch\] to [none\] at (0) should be [none\]]
+ expected: FAIL
+
+ [CSS Transitions: property <max-width> from [stretch\] to [none\] at (0.3) should be [none\]]
+ expected: FAIL
+
+ [CSS Transitions: property <max-width> from [stretch\] to [none\] at (0.5) should be [none\]]
+ expected: FAIL
+
+ [CSS Transitions: property <max-width> from [stretch\] to [none\] at (0.6) should be [none\]]
+ expected: FAIL
+
+ [CSS Transitions: property <max-width> from [stretch\] to [none\] at (1) should be [none\]]
+ expected: FAIL
+
+ [CSS Transitions: property <max-width> from [stretch\] to [none\] at (1.5) should be [none\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <max-width> from [stretch\] to [none\] at (-0.3) should be [none\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <max-width> from [stretch\] to [none\] at (0) should be [none\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <max-width> from [stretch\] to [none\] at (0.3) should be [none\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <max-width> from [stretch\] to [none\] at (0.5) should be [none\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <max-width> from [stretch\] to [none\] at (0.6) should be [none\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <max-width> from [stretch\] to [none\] at (1) should be [none\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <max-width> from [stretch\] to [none\] at (1.5) should be [none\]]
+ expected: FAIL
+
+ [CSS Animations: property <max-width> from [stretch\] to [none\] at (-0.3) should be [stretch\]]
+ expected: FAIL
+
+ [CSS Animations: property <max-width> from [stretch\] to [none\] at (0) should be [stretch\]]
+ expected: FAIL
+
+ [CSS Animations: property <max-width> from [stretch\] to [none\] at (0.3) should be [stretch\]]
+ expected: FAIL
+
+ [CSS Animations: property <max-width> from [stretch\] to [none\] at (0.5) should be [none\]]
+ expected: FAIL
+
+ [CSS Animations: property <max-width> from [stretch\] to [none\] at (0.6) should be [none\]]
+ expected: FAIL
+
+ [CSS Animations: property <max-width> from [stretch\] to [none\] at (1) should be [none\]]
+ expected: FAIL
+
+ [CSS Animations: property <max-width> from [stretch\] to [none\] at (1.5) should be [none\]]
+ expected: FAIL
+
+ [Web Animations: property <max-width> from [stretch\] to [none\] at (-0.3) should be [stretch\]]
+ expected: FAIL
+
+ [Web Animations: property <max-width> from [stretch\] to [none\] at (0) should be [stretch\]]
+ expected: FAIL
+
+ [Web Animations: property <max-width> from [stretch\] to [none\] at (0.3) should be [stretch\]]
+ expected: FAIL
+
+ [Web Animations: property <max-width> from [stretch\] to [none\] at (0.5) should be [none\]]
+ expected: FAIL
+
+ [Web Animations: property <max-width> from [stretch\] to [none\] at (0.6) should be [none\]]
+ expected: FAIL
+
+ [Web Animations: property <max-width> from [stretch\] to [none\] at (1) should be [none\]]
+ expected: FAIL
+
+ [Web Animations: property <max-width> from [stretch\] to [none\] at (1.5) should be [none\]]
+ expected: FAIL
+
+ [CSS Transitions: property <max-width> from [fit-content\] to [50px\] at (-0.3) should be [calc-size(fit-content, -15px + size * 1.3)\]]
+ expected: FAIL
+
+ [CSS Transitions: property <max-width> from [fit-content\] to [50px\] at (0) should be [calc-size(fit-content, 0px + size * 1)\]]
+ expected: FAIL
+
+ [CSS Transitions: property <max-width> from [fit-content\] to [50px\] at (0.3) should be [calc-size(fit-content, 15px + size * 0.7)\]]
+ expected: FAIL
+
+ [CSS Transitions: property <max-width> from [fit-content\] to [50px\] at (0.6) should be [calc-size(fit-content, 30px + size * 0.4)\]]
+ expected: FAIL
+
+ [CSS Transitions: property <max-width> from [fit-content\] to [50px\] at (1) should be [calc-size(fit-content, 50px + size * 0)\]]
+ expected: FAIL
+
+ [CSS Transitions: property <max-width> from [fit-content\] to [50px\] at (1.5) should be [calc-size(fit-content, 75px + size * -0.5)\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <max-width> from [fit-content\] to [50px\] at (-0.3) should be [calc-size(fit-content, -15px + size * 1.3)\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <max-width> from [fit-content\] to [50px\] at (0) should be [calc-size(fit-content, 0px + size * 1)\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <max-width> from [fit-content\] to [50px\] at (0.3) should be [calc-size(fit-content, 15px + size * 0.7)\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <max-width> from [fit-content\] to [50px\] at (0.6) should be [calc-size(fit-content, 30px + size * 0.4)\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <max-width> from [fit-content\] to [50px\] at (1) should be [calc-size(fit-content, 50px + size * 0)\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <max-width> from [fit-content\] to [50px\] at (1.5) should be [calc-size(fit-content, 75px + size * -0.5)\]]
+ expected: FAIL
+
+ [CSS Animations: property <max-width> from [fit-content\] to [50px\] at (-0.3) should be [calc-size(fit-content, -15px + size * 1.3)\]]
+ expected: FAIL
+
+ [CSS Animations: property <max-width> from [fit-content\] to [50px\] at (0) should be [calc-size(fit-content, 0px + size * 1)\]]
+ expected: FAIL
+
+ [CSS Animations: property <max-width> from [fit-content\] to [50px\] at (0.3) should be [calc-size(fit-content, 15px + size * 0.7)\]]
+ expected: FAIL
+
+ [CSS Animations: property <max-width> from [fit-content\] to [50px\] at (0.6) should be [calc-size(fit-content, 30px + size * 0.4)\]]
+ expected: FAIL
+
+ [CSS Animations: property <max-width> from [fit-content\] to [50px\] at (1) should be [calc-size(fit-content, 50px + size * 0)\]]
+ expected: FAIL
+
+ [CSS Animations: property <max-width> from [fit-content\] to [50px\] at (1.5) should be [calc-size(fit-content, 75px + size * -0.5)\]]
+ expected: FAIL
+
+ [Web Animations: property <max-width> from [fit-content\] to [50px\] at (-0.3) should be [calc-size(fit-content, -15px + size * 1.3)\]]
+ expected: FAIL
+
+ [Web Animations: property <max-width> from [fit-content\] to [50px\] at (0) should be [calc-size(fit-content, 0px + size * 1)\]]
+ expected: FAIL
+
+ [Web Animations: property <max-width> from [fit-content\] to [50px\] at (0.3) should be [calc-size(fit-content, 15px + size * 0.7)\]]
+ expected: FAIL
+
+ [Web Animations: property <max-width> from [fit-content\] to [50px\] at (0.6) should be [calc-size(fit-content, 30px + size * 0.4)\]]
+ expected: FAIL
+
+ [Web Animations: property <max-width> from [fit-content\] to [50px\] at (1) should be [calc-size(fit-content, 50px + size * 0)\]]
+ expected: FAIL
+
+ [Web Animations: property <max-width> from [fit-content\] to [50px\] at (1.5) should be [calc-size(fit-content, 75px + size * -0.5)\]]
+ expected: FAIL
+
+ [CSS Transitions with transition-behavior:allow-discrete: property <max-width> from [max-content\] to [min-content\] at (-0.3) should be [max-content\]]
+ expected: FAIL
+
+ [CSS Transitions with transition-behavior:allow-discrete: property <max-width> from [max-content\] to [min-content\] at (0) should be [max-content\]]
+ expected: FAIL
+
+ [CSS Transitions with transition-behavior:allow-discrete: property <max-width> from [max-content\] to [min-content\] at (0.3) should be [max-content\]]
+ expected: FAIL
+
+ [CSS Transitions with transition-behavior:allow-discrete: property <max-width> from [max-content\] to [min-content\] at (0.5) should be [min-content\]]
+ expected: FAIL
+
+ [CSS Transitions with transition-behavior:allow-discrete: property <max-width> from [max-content\] to [min-content\] at (0.6) should be [min-content\]]
+ expected: FAIL
+
+ [CSS Transitions with transition-behavior:allow-discrete: property <max-width> from [max-content\] to [min-content\] at (1) should be [min-content\]]
+ expected: FAIL
+
+ [CSS Transitions with transition-behavior:allow-discrete: property <max-width> from [max-content\] to [min-content\] at (1.5) should be [min-content\]]
+ expected: FAIL
+
+ [CSS Transitions with transition-property:all and transition-behavor:allow-discrete: property <max-width> from [max-content\] to [min-content\] at (-0.3) should be [max-content\]]
+ expected: FAIL
+
+ [CSS Transitions with transition-property:all and transition-behavor:allow-discrete: property <max-width> from [max-content\] to [min-content\] at (0) should be [max-content\]]
+ expected: FAIL
+
+ [CSS Transitions with transition-property:all and transition-behavor:allow-discrete: property <max-width> from [max-content\] to [min-content\] at (0.3) should be [max-content\]]
+ expected: FAIL
+
+ [CSS Transitions with transition-property:all and transition-behavor:allow-discrete: property <max-width> from [max-content\] to [min-content\] at (0.5) should be [min-content\]]
+ expected: FAIL
+
+ [CSS Transitions with transition-property:all and transition-behavor:allow-discrete: property <max-width> from [max-content\] to [min-content\] at (0.6) should be [min-content\]]
+ expected: FAIL
+
+ [CSS Transitions with transition-property:all and transition-behavor:allow-discrete: property <max-width> from [max-content\] to [min-content\] at (1) should be [min-content\]]
+ expected: FAIL
+
+ [CSS Transitions with transition-property:all and transition-behavor:allow-discrete: property <max-width> from [max-content\] to [min-content\] at (1.5) should be [min-content\]]
+ expected: FAIL
+
+ [CSS Transitions: property <max-width> from [max-content\] to [min-content\] at (-0.3) should be [min-content\]]
+ expected: FAIL
+
+ [CSS Transitions: property <max-width> from [max-content\] to [min-content\] at (0) should be [min-content\]]
+ expected: FAIL
+
+ [CSS Transitions: property <max-width> from [max-content\] to [min-content\] at (0.3) should be [min-content\]]
+ expected: FAIL
+
+ [CSS Transitions: property <max-width> from [max-content\] to [min-content\] at (0.5) should be [min-content\]]
+ expected: FAIL
+
+ [CSS Transitions: property <max-width> from [max-content\] to [min-content\] at (0.6) should be [min-content\]]
+ expected: FAIL
+
+ [CSS Transitions: property <max-width> from [max-content\] to [min-content\] at (1) should be [min-content\]]
+ expected: FAIL
+
+ [CSS Transitions: property <max-width> from [max-content\] to [min-content\] at (1.5) should be [min-content\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <max-width> from [max-content\] to [min-content\] at (-0.3) should be [min-content\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <max-width> from [max-content\] to [min-content\] at (0) should be [min-content\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <max-width> from [max-content\] to [min-content\] at (0.3) should be [min-content\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <max-width> from [max-content\] to [min-content\] at (0.5) should be [min-content\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <max-width> from [max-content\] to [min-content\] at (0.6) should be [min-content\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <max-width> from [max-content\] to [min-content\] at (1) should be [min-content\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <max-width> from [max-content\] to [min-content\] at (1.5) should be [min-content\]]
+ expected: FAIL
+
+ [CSS Animations: property <max-width> from [max-content\] to [min-content\] at (-0.3) should be [max-content\]]
+ expected: FAIL
+
+ [CSS Animations: property <max-width> from [max-content\] to [min-content\] at (0) should be [max-content\]]
+ expected: FAIL
+
+ [CSS Animations: property <max-width> from [max-content\] to [min-content\] at (0.3) should be [max-content\]]
+ expected: FAIL
+
+ [CSS Animations: property <max-width> from [max-content\] to [min-content\] at (0.5) should be [min-content\]]
+ expected: FAIL
+
+ [CSS Animations: property <max-width> from [max-content\] to [min-content\] at (0.6) should be [min-content\]]
+ expected: FAIL
+
+ [CSS Animations: property <max-width> from [max-content\] to [min-content\] at (1) should be [min-content\]]
+ expected: FAIL
+
+ [CSS Animations: property <max-width> from [max-content\] to [min-content\] at (1.5) should be [min-content\]]
+ expected: FAIL
+
+ [Web Animations: property <max-width> from [max-content\] to [min-content\] at (-0.3) should be [max-content\]]
+ expected: FAIL
+
+ [Web Animations: property <max-width> from [max-content\] to [min-content\] at (0) should be [max-content\]]
+ expected: FAIL
+
+ [Web Animations: property <max-width> from [max-content\] to [min-content\] at (0.3) should be [max-content\]]
+ expected: FAIL
+
+ [Web Animations: property <max-width> from [max-content\] to [min-content\] at (0.5) should be [min-content\]]
+ expected: FAIL
+
+ [Web Animations: property <max-width> from [max-content\] to [min-content\] at (0.6) should be [min-content\]]
+ expected: FAIL
+
+ [Web Animations: property <max-width> from [max-content\] to [min-content\] at (1) should be [min-content\]]
+ expected: FAIL
+
+ [Web Animations: property <max-width> from [max-content\] to [min-content\] at (1.5) should be [min-content\]]
+ expected: FAIL
+
+ [CSS Transitions: property <max-width> from [min-content\] to neutral at (-0.3) should be [calc-size(min-content, -45px + size * 1.3)\]]
+ expected: FAIL
+
+ [CSS Transitions: property <max-width> from [min-content\] to neutral at (0) should be [calc-size(min-content, 0px + size * 1)\]]
+ expected: FAIL
+
+ [CSS Transitions: property <max-width> from [min-content\] to neutral at (0.3) should be [calc-size(min-content, 45px + size * 0.7)\]]
+ expected: FAIL
+
+ [CSS Transitions: property <max-width> from [min-content\] to neutral at (0.6) should be [calc-size(min-content, 90px + size * 0.4)\]]
+ expected: FAIL
+
+ [CSS Transitions: property <max-width> from [min-content\] to neutral at (1) should be [calc-size(min-content, 150px + size * 0)\]]
+ expected: FAIL
+
+ [CSS Transitions: property <max-width> from [min-content\] to neutral at (1.5) should be [calc-size(min-content, 225px + size * -0.5)\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <max-width> from [min-content\] to neutral at (-0.3) should be [calc-size(min-content, -45px + size * 1.3)\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <max-width> from [min-content\] to neutral at (0) should be [calc-size(min-content, 0px + size * 1)\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <max-width> from [min-content\] to neutral at (0.3) should be [calc-size(min-content, 45px + size * 0.7)\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <max-width> from [min-content\] to neutral at (0.6) should be [calc-size(min-content, 90px + size * 0.4)\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <max-width> from [min-content\] to neutral at (1) should be [calc-size(min-content, 150px + size * 0)\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <max-width> from [min-content\] to neutral at (1.5) should be [calc-size(min-content, 225px + size * -0.5)\]]
+ expected: FAIL
+
+ [CSS Animations: property <max-width> from [min-content\] to neutral at (-0.3) should be [calc-size(min-content, -45px + size * 1.3)\]]
+ expected: FAIL
+
+ [CSS Animations: property <max-width> from [min-content\] to neutral at (0) should be [calc-size(min-content, 0px + size * 1)\]]
+ expected: FAIL
+
+ [CSS Animations: property <max-width> from [min-content\] to neutral at (0.3) should be [calc-size(min-content, 45px + size * 0.7)\]]
+ expected: FAIL
+
+ [CSS Animations: property <max-width> from [min-content\] to neutral at (0.6) should be [calc-size(min-content, 90px + size * 0.4)\]]
+ expected: FAIL
+
+ [CSS Animations: property <max-width> from [min-content\] to neutral at (1) should be [calc-size(min-content, 150px + size * 0)\]]
+ expected: FAIL
+
+ [CSS Animations: property <max-width> from [min-content\] to neutral at (1.5) should be [calc-size(min-content, 225px + size * -0.5)\]]
+ expected: FAIL
+
+ [Web Animations: property <max-width> from [min-content\] to neutral at (-0.3) should be [calc-size(min-content, -45px + size * 1.3)\]]
+ expected: FAIL
+
+ [Web Animations: property <max-width> from [min-content\] to neutral at (0) should be [calc-size(min-content, 0px + size * 1)\]]
+ expected: FAIL
+
+ [Web Animations: property <max-width> from [min-content\] to neutral at (0.3) should be [calc-size(min-content, 45px + size * 0.7)\]]
+ expected: FAIL
+
+ [Web Animations: property <max-width> from [min-content\] to neutral at (0.6) should be [calc-size(min-content, 90px + size * 0.4)\]]
+ expected: FAIL
+
+ [Web Animations: property <max-width> from [min-content\] to neutral at (1) should be [calc-size(min-content, 150px + size * 0)\]]
+ expected: FAIL
+
+ [Web Animations: property <max-width> from [min-content\] to neutral at (1.5) should be [calc-size(min-content, 225px + size * -0.5)\]]
+ expected: FAIL
+
+ [CSS Transitions: property <max-width> from neutral to [fit-content\] at (-0.3) should be [calc-size(fit-content, 195px + size * -0.3)\]]
+ expected: FAIL
+
+ [CSS Transitions: property <max-width> from neutral to [fit-content\] at (0) should be [calc-size(fit-content, 150px + size * 0)\]]
+ expected: FAIL
+
+ [CSS Transitions: property <max-width> from neutral to [fit-content\] at (0.3) should be [calc-size(fit-content, 105px + size * 0.3)\]]
+ expected: FAIL
+
+ [CSS Transitions: property <max-width> from neutral to [fit-content\] at (0.6) should be [calc-size(fit-content, 60px + size * 0.6)\]]
+ expected: FAIL
+
+ [CSS Transitions: property <max-width> from neutral to [fit-content\] at (1) should be [calc-size(fit-content, 0px + size * 1)\]]
+ expected: FAIL
+
+ [CSS Transitions: property <max-width> from neutral to [fit-content\] at (1.5) should be [calc-size(fit-content, -75px + size * 1.5)\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <max-width> from neutral to [fit-content\] at (-0.3) should be [calc-size(fit-content, 195px + size * -0.3)\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <max-width> from neutral to [fit-content\] at (0) should be [calc-size(fit-content, 150px + size * 0)\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <max-width> from neutral to [fit-content\] at (0.3) should be [calc-size(fit-content, 105px + size * 0.3)\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <max-width> from neutral to [fit-content\] at (0.6) should be [calc-size(fit-content, 60px + size * 0.6)\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <max-width> from neutral to [fit-content\] at (1) should be [calc-size(fit-content, 0px + size * 1)\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <max-width> from neutral to [fit-content\] at (1.5) should be [calc-size(fit-content, -75px + size * 1.5)\]]
+ expected: FAIL
+
+ [CSS Animations: property <max-width> from neutral to [fit-content\] at (-0.3) should be [calc-size(fit-content, 195px + size * -0.3)\]]
+ expected: FAIL
+
+ [CSS Animations: property <max-width> from neutral to [fit-content\] at (0) should be [calc-size(fit-content, 150px + size * 0)\]]
+ expected: FAIL
+
+ [CSS Animations: property <max-width> from neutral to [fit-content\] at (0.3) should be [calc-size(fit-content, 105px + size * 0.3)\]]
+ expected: FAIL
+
+ [CSS Animations: property <max-width> from neutral to [fit-content\] at (0.6) should be [calc-size(fit-content, 60px + size * 0.6)\]]
+ expected: FAIL
+
+ [CSS Animations: property <max-width> from neutral to [fit-content\] at (1) should be [calc-size(fit-content, 0px + size * 1)\]]
+ expected: FAIL
+
+ [CSS Animations: property <max-width> from neutral to [fit-content\] at (1.5) should be [calc-size(fit-content, -75px + size * 1.5)\]]
+ expected: FAIL
+
+ [Web Animations: property <max-width> from neutral to [fit-content\] at (-0.3) should be [calc-size(fit-content, 195px + size * -0.3)\]]
+ expected: FAIL
+
+ [Web Animations: property <max-width> from neutral to [fit-content\] at (0) should be [calc-size(fit-content, 150px + size * 0)\]]
+ expected: FAIL
+
+ [Web Animations: property <max-width> from neutral to [fit-content\] at (0.3) should be [calc-size(fit-content, 105px + size * 0.3)\]]
+ expected: FAIL
+
+ [Web Animations: property <max-width> from neutral to [fit-content\] at (0.6) should be [calc-size(fit-content, 60px + size * 0.6)\]]
+ expected: FAIL
+
+ [Web Animations: property <max-width> from neutral to [fit-content\] at (1) should be [calc-size(fit-content, 0px + size * 1)\]]
+ expected: FAIL
+
+ [Web Animations: property <max-width> from neutral to [fit-content\] at (1.5) should be [calc-size(fit-content, -75px + size * 1.5)\]]
+ expected: FAIL
diff --git a/tests/wpt/meta-legacy-layout/css/css-values/calc-size/animation/interpolate-size-min-height-composition.html.ini b/tests/wpt/meta-legacy-layout/css/css-values/calc-size/animation/interpolate-size-min-height-composition.html.ini
new file mode 100644
index 00000000000..67c9993b16a
--- /dev/null
+++ b/tests/wpt/meta-legacy-layout/css/css-values/calc-size/animation/interpolate-size-min-height-composition.html.ini
@@ -0,0 +1,30 @@
+[interpolate-size-min-height-composition.html]
+ [Compositing: property <min-height> underlying [fit-content\] from add [100px\] to add [200px\] at (-0.3) should be [calc-size(fit-content, 70px + size * 1)\]]
+ expected: FAIL
+
+ [Compositing: property <min-height> underlying [fit-content\] from add [100px\] to add [200px\] at (0) should be [calc-size(fit-content, 100px + size * 1)\]]
+ expected: FAIL
+
+ [Compositing: property <min-height> underlying [fit-content\] from add [100px\] to add [200px\] at (0.5) should be [calc-size(fit-content, 150px + size * 1)\]]
+ expected: FAIL
+
+ [Compositing: property <min-height> underlying [fit-content\] from add [100px\] to add [200px\] at (1) should be [calc-size(fit-content, 200px + size * 1)\]]
+ expected: FAIL
+
+ [Compositing: property <min-height> underlying [fit-content\] from add [100px\] to add [200px\] at (1.5) should be [calc-size(fit-content, 250px + size * 1)\]]
+ expected: FAIL
+
+ [Compositing: property <min-height> underlying [fit-content\] from add [200px\] to add [min-content\] at (-0.3) should be [calc-size(min-content, 260px + size * -0.3)\]]
+ expected: FAIL
+
+ [Compositing: property <min-height> underlying [fit-content\] from add [200px\] to add [min-content\] at (0) should be [calc-size(min-content, 200px + size * 0)\]]
+ expected: FAIL
+
+ [Compositing: property <min-height> underlying [fit-content\] from add [200px\] to add [min-content\] at (0.5) should be [calc-size(min-content, 100px + size * 0.5)\]]
+ expected: FAIL
+
+ [Compositing: property <min-height> underlying [fit-content\] from add [200px\] to add [min-content\] at (1) should be [calc-size(min-content, 0px + size * 1)\]]
+ expected: FAIL
+
+ [Compositing: property <min-height> underlying [fit-content\] from add [200px\] to add [min-content\] at (1.5) should be [calc-size(min-content, -100px + size * 1.5)\]]
+ expected: FAIL
diff --git a/tests/wpt/meta-legacy-layout/css/css-values/calc-size/animation/interpolate-size-min-height-interpolation.html.ini b/tests/wpt/meta-legacy-layout/css/css-values/calc-size/animation/interpolate-size-min-height-interpolation.html.ini
new file mode 100644
index 00000000000..cdb6f02c96c
--- /dev/null
+++ b/tests/wpt/meta-legacy-layout/css/css-values/calc-size/animation/interpolate-size-min-height-interpolation.html.ini
@@ -0,0 +1,612 @@
+[interpolate-size-min-height-interpolation.html]
+ [CSS Transitions: property <min-height> from [initial\] to [20px\] at (-0.3) should be [calc-size(auto, -6px + size * 1.3)\]]
+ expected: FAIL
+
+ [CSS Transitions: property <min-height> from [initial\] to [20px\] at (0) should be [calc-size(auto, 0px + size * 1)\]]
+ expected: FAIL
+
+ [CSS Transitions: property <min-height> from [initial\] to [20px\] at (0.3) should be [calc-size(auto, 6px + size * 0.7)\]]
+ expected: FAIL
+
+ [CSS Transitions: property <min-height> from [initial\] to [20px\] at (0.6) should be [calc-size(auto, 12px + size * 0.4)\]]
+ expected: FAIL
+
+ [CSS Transitions: property <min-height> from [initial\] to [20px\] at (1) should be [calc-size(auto, 20px + size * 0)\]]
+ expected: FAIL
+
+ [CSS Transitions: property <min-height> from [initial\] to [20px\] at (1.5) should be [calc-size(auto, 30px + size * -0.5)\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <min-height> from [initial\] to [20px\] at (-0.3) should be [calc-size(auto, -6px + size * 1.3)\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <min-height> from [initial\] to [20px\] at (0) should be [calc-size(auto, 0px + size * 1)\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <min-height> from [initial\] to [20px\] at (0.3) should be [calc-size(auto, 6px + size * 0.7)\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <min-height> from [initial\] to [20px\] at (0.6) should be [calc-size(auto, 12px + size * 0.4)\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <min-height> from [initial\] to [20px\] at (1) should be [calc-size(auto, 20px + size * 0)\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <min-height> from [initial\] to [20px\] at (1.5) should be [calc-size(auto, 30px + size * -0.5)\]]
+ expected: FAIL
+
+ [Web Animations: property <min-height> from [initial\] to [20px\] at (-0.3) should be [calc-size(auto, -6px + size * 1.3)\]]
+ expected: FAIL
+
+ [Web Animations: property <min-height> from [initial\] to [20px\] at (0) should be [calc-size(auto, 0px + size * 1)\]]
+ expected: FAIL
+
+ [Web Animations: property <min-height> from [initial\] to [20px\] at (0.3) should be [calc-size(auto, 6px + size * 0.7)\]]
+ expected: FAIL
+
+ [Web Animations: property <min-height> from [initial\] to [20px\] at (0.6) should be [calc-size(auto, 12px + size * 0.4)\]]
+ expected: FAIL
+
+ [Web Animations: property <min-height> from [initial\] to [20px\] at (1) should be [calc-size(auto, 20px + size * 0)\]]
+ expected: FAIL
+
+ [Web Animations: property <min-height> from [initial\] to [20px\] at (1.5) should be [calc-size(auto, 30px + size * -0.5)\]]
+ expected: FAIL
+
+ [CSS Transitions: property <min-height> from [unset\] to [20px\] at (-0.3) should be [calc-size(auto, -6px + size * 1.3)\]]
+ expected: FAIL
+
+ [CSS Transitions: property <min-height> from [unset\] to [20px\] at (0) should be [calc-size(auto, 0px + size * 1)\]]
+ expected: FAIL
+
+ [CSS Transitions: property <min-height> from [unset\] to [20px\] at (0.3) should be [calc-size(auto, 6px + size * 0.7)\]]
+ expected: FAIL
+
+ [CSS Transitions: property <min-height> from [unset\] to [20px\] at (0.6) should be [calc-size(auto, 12px + size * 0.4)\]]
+ expected: FAIL
+
+ [CSS Transitions: property <min-height> from [unset\] to [20px\] at (1) should be [calc-size(auto, 20px + size * 0)\]]
+ expected: FAIL
+
+ [CSS Transitions: property <min-height> from [unset\] to [20px\] at (1.5) should be [calc-size(auto, 30px + size * -0.5)\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <min-height> from [unset\] to [20px\] at (-0.3) should be [calc-size(auto, -6px + size * 1.3)\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <min-height> from [unset\] to [20px\] at (0) should be [calc-size(auto, 0px + size * 1)\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <min-height> from [unset\] to [20px\] at (0.3) should be [calc-size(auto, 6px + size * 0.7)\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <min-height> from [unset\] to [20px\] at (0.6) should be [calc-size(auto, 12px + size * 0.4)\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <min-height> from [unset\] to [20px\] at (1) should be [calc-size(auto, 20px + size * 0)\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <min-height> from [unset\] to [20px\] at (1.5) should be [calc-size(auto, 30px + size * -0.5)\]]
+ expected: FAIL
+
+ [Web Animations: property <min-height> from [unset\] to [20px\] at (-0.3) should be [calc-size(auto, -6px + size * 1.3)\]]
+ expected: FAIL
+
+ [Web Animations: property <min-height> from [unset\] to [20px\] at (0) should be [calc-size(auto, 0px + size * 1)\]]
+ expected: FAIL
+
+ [Web Animations: property <min-height> from [unset\] to [20px\] at (0.3) should be [calc-size(auto, 6px + size * 0.7)\]]
+ expected: FAIL
+
+ [Web Animations: property <min-height> from [unset\] to [20px\] at (0.6) should be [calc-size(auto, 12px + size * 0.4)\]]
+ expected: FAIL
+
+ [Web Animations: property <min-height> from [unset\] to [20px\] at (1) should be [calc-size(auto, 20px + size * 0)\]]
+ expected: FAIL
+
+ [Web Animations: property <min-height> from [unset\] to [20px\] at (1.5) should be [calc-size(auto, 30px + size * -0.5)\]]
+ expected: FAIL
+
+ [CSS Transitions: property <min-height> from [auto\] to [20px\] at (-0.3) should be [calc-size(auto, -6px + size * 1.3)\]]
+ expected: FAIL
+
+ [CSS Transitions: property <min-height> from [auto\] to [20px\] at (0) should be [calc-size(auto, 0px + size * 1)\]]
+ expected: FAIL
+
+ [CSS Transitions: property <min-height> from [auto\] to [20px\] at (0.3) should be [calc-size(auto, 6px + size * 0.7)\]]
+ expected: FAIL
+
+ [CSS Transitions: property <min-height> from [auto\] to [20px\] at (0.6) should be [calc-size(auto, 12px + size * 0.4)\]]
+ expected: FAIL
+
+ [CSS Transitions: property <min-height> from [auto\] to [20px\] at (1) should be [calc-size(auto, 20px + size * 0)\]]
+ expected: FAIL
+
+ [CSS Transitions: property <min-height> from [auto\] to [20px\] at (1.5) should be [calc-size(auto, 30px + size * -0.5)\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <min-height> from [auto\] to [20px\] at (-0.3) should be [calc-size(auto, -6px + size * 1.3)\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <min-height> from [auto\] to [20px\] at (0) should be [calc-size(auto, 0px + size * 1)\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <min-height> from [auto\] to [20px\] at (0.3) should be [calc-size(auto, 6px + size * 0.7)\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <min-height> from [auto\] to [20px\] at (0.6) should be [calc-size(auto, 12px + size * 0.4)\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <min-height> from [auto\] to [20px\] at (1) should be [calc-size(auto, 20px + size * 0)\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <min-height> from [auto\] to [20px\] at (1.5) should be [calc-size(auto, 30px + size * -0.5)\]]
+ expected: FAIL
+
+ [Web Animations: property <min-height> from [auto\] to [20px\] at (-0.3) should be [calc-size(auto, -6px + size * 1.3)\]]
+ expected: FAIL
+
+ [Web Animations: property <min-height> from [auto\] to [20px\] at (0) should be [calc-size(auto, 0px + size * 1)\]]
+ expected: FAIL
+
+ [Web Animations: property <min-height> from [auto\] to [20px\] at (0.3) should be [calc-size(auto, 6px + size * 0.7)\]]
+ expected: FAIL
+
+ [Web Animations: property <min-height> from [auto\] to [20px\] at (0.6) should be [calc-size(auto, 12px + size * 0.4)\]]
+ expected: FAIL
+
+ [Web Animations: property <min-height> from [auto\] to [20px\] at (1) should be [calc-size(auto, 20px + size * 0)\]]
+ expected: FAIL
+
+ [Web Animations: property <min-height> from [auto\] to [20px\] at (1.5) should be [calc-size(auto, 30px + size * -0.5)\]]
+ expected: FAIL
+
+ [CSS Transitions: property <min-height> from [auto\] to [0px\] at (-0.3) should be [calc-size(auto, 0px + size * 1.3)\]]
+ expected: FAIL
+
+ [CSS Transitions: property <min-height> from [auto\] to [0px\] at (0) should be [calc-size(auto, 0px + size * 1)\]]
+ expected: FAIL
+
+ [CSS Transitions: property <min-height> from [auto\] to [0px\] at (0.3) should be [calc-size(auto, 0px + size * 0.7)\]]
+ expected: FAIL
+
+ [CSS Transitions: property <min-height> from [auto\] to [0px\] at (0.6) should be [calc-size(auto, 0px + size * 0.4)\]]
+ expected: FAIL
+
+ [CSS Transitions: property <min-height> from [auto\] to [0px\] at (1) should be [calc-size(auto, 0px + size * 0)\]]
+ expected: FAIL
+
+ [CSS Transitions: property <min-height> from [auto\] to [0px\] at (1.5) should be [calc-size(auto, 0px + size * -0.5)\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <min-height> from [auto\] to [0px\] at (-0.3) should be [calc-size(auto, 0px + size * 1.3)\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <min-height> from [auto\] to [0px\] at (0) should be [calc-size(auto, 0px + size * 1)\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <min-height> from [auto\] to [0px\] at (0.3) should be [calc-size(auto, 0px + size * 0.7)\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <min-height> from [auto\] to [0px\] at (0.6) should be [calc-size(auto, 0px + size * 0.4)\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <min-height> from [auto\] to [0px\] at (1) should be [calc-size(auto, 0px + size * 0)\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <min-height> from [auto\] to [0px\] at (1.5) should be [calc-size(auto, 0px + size * -0.5)\]]
+ expected: FAIL
+
+ [Web Animations: property <min-height> from [auto\] to [0px\] at (-0.3) should be [calc-size(auto, 0px + size * 1.3)\]]
+ expected: FAIL
+
+ [Web Animations: property <min-height> from [auto\] to [0px\] at (0) should be [calc-size(auto, 0px + size * 1)\]]
+ expected: FAIL
+
+ [Web Animations: property <min-height> from [auto\] to [0px\] at (0.3) should be [calc-size(auto, 0px + size * 0.7)\]]
+ expected: FAIL
+
+ [Web Animations: property <min-height> from [auto\] to [0px\] at (0.6) should be [calc-size(auto, 0px + size * 0.4)\]]
+ expected: FAIL
+
+ [Web Animations: property <min-height> from [auto\] to [0px\] at (1) should be [calc-size(auto, 0px + size * 0)\]]
+ expected: FAIL
+
+ [Web Animations: property <min-height> from [auto\] to [0px\] at (1.5) should be [calc-size(auto, 0px + size * -0.5)\]]
+ expected: FAIL
+
+ [CSS Transitions with transition-behavior:allow-discrete: property <min-height> from [fit-content\] to [min-content\] at (-0.3) should be [fit-content\]]
+ expected: FAIL
+
+ [CSS Transitions with transition-behavior:allow-discrete: property <min-height> from [fit-content\] to [min-content\] at (0) should be [fit-content\]]
+ expected: FAIL
+
+ [CSS Transitions with transition-behavior:allow-discrete: property <min-height> from [fit-content\] to [min-content\] at (0.3) should be [fit-content\]]
+ expected: FAIL
+
+ [CSS Transitions with transition-behavior:allow-discrete: property <min-height> from [fit-content\] to [min-content\] at (0.5) should be [min-content\]]
+ expected: FAIL
+
+ [CSS Transitions with transition-behavior:allow-discrete: property <min-height> from [fit-content\] to [min-content\] at (0.6) should be [min-content\]]
+ expected: FAIL
+
+ [CSS Transitions with transition-behavior:allow-discrete: property <min-height> from [fit-content\] to [min-content\] at (1) should be [min-content\]]
+ expected: FAIL
+
+ [CSS Transitions with transition-behavior:allow-discrete: property <min-height> from [fit-content\] to [min-content\] at (1.5) should be [min-content\]]
+ expected: FAIL
+
+ [CSS Transitions with transition-property:all and transition-behavor:allow-discrete: property <min-height> from [fit-content\] to [min-content\] at (-0.3) should be [fit-content\]]
+ expected: FAIL
+
+ [CSS Transitions with transition-property:all and transition-behavor:allow-discrete: property <min-height> from [fit-content\] to [min-content\] at (0) should be [fit-content\]]
+ expected: FAIL
+
+ [CSS Transitions with transition-property:all and transition-behavor:allow-discrete: property <min-height> from [fit-content\] to [min-content\] at (0.3) should be [fit-content\]]
+ expected: FAIL
+
+ [CSS Transitions with transition-property:all and transition-behavor:allow-discrete: property <min-height> from [fit-content\] to [min-content\] at (0.5) should be [min-content\]]
+ expected: FAIL
+
+ [CSS Transitions with transition-property:all and transition-behavor:allow-discrete: property <min-height> from [fit-content\] to [min-content\] at (0.6) should be [min-content\]]
+ expected: FAIL
+
+ [CSS Transitions with transition-property:all and transition-behavor:allow-discrete: property <min-height> from [fit-content\] to [min-content\] at (1) should be [min-content\]]
+ expected: FAIL
+
+ [CSS Transitions with transition-property:all and transition-behavor:allow-discrete: property <min-height> from [fit-content\] to [min-content\] at (1.5) should be [min-content\]]
+ expected: FAIL
+
+ [CSS Transitions: property <min-height> from [fit-content\] to [min-content\] at (-0.3) should be [min-content\]]
+ expected: FAIL
+
+ [CSS Transitions: property <min-height> from [fit-content\] to [min-content\] at (0) should be [min-content\]]
+ expected: FAIL
+
+ [CSS Transitions: property <min-height> from [fit-content\] to [min-content\] at (0.3) should be [min-content\]]
+ expected: FAIL
+
+ [CSS Transitions: property <min-height> from [fit-content\] to [min-content\] at (0.5) should be [min-content\]]
+ expected: FAIL
+
+ [CSS Transitions: property <min-height> from [fit-content\] to [min-content\] at (0.6) should be [min-content\]]
+ expected: FAIL
+
+ [CSS Transitions: property <min-height> from [fit-content\] to [min-content\] at (1) should be [min-content\]]
+ expected: FAIL
+
+ [CSS Transitions: property <min-height> from [fit-content\] to [min-content\] at (1.5) should be [min-content\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <min-height> from [fit-content\] to [min-content\] at (-0.3) should be [min-content\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <min-height> from [fit-content\] to [min-content\] at (0) should be [min-content\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <min-height> from [fit-content\] to [min-content\] at (0.3) should be [min-content\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <min-height> from [fit-content\] to [min-content\] at (0.5) should be [min-content\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <min-height> from [fit-content\] to [min-content\] at (0.6) should be [min-content\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <min-height> from [fit-content\] to [min-content\] at (1) should be [min-content\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <min-height> from [fit-content\] to [min-content\] at (1.5) should be [min-content\]]
+ expected: FAIL
+
+ [CSS Animations: property <min-height> from [fit-content\] to [min-content\] at (-0.3) should be [fit-content\]]
+ expected: FAIL
+
+ [CSS Animations: property <min-height> from [fit-content\] to [min-content\] at (0) should be [fit-content\]]
+ expected: FAIL
+
+ [CSS Animations: property <min-height> from [fit-content\] to [min-content\] at (0.3) should be [fit-content\]]
+ expected: FAIL
+
+ [CSS Animations: property <min-height> from [fit-content\] to [min-content\] at (0.5) should be [min-content\]]
+ expected: FAIL
+
+ [CSS Animations: property <min-height> from [fit-content\] to [min-content\] at (0.6) should be [min-content\]]
+ expected: FAIL
+
+ [CSS Animations: property <min-height> from [fit-content\] to [min-content\] at (1) should be [min-content\]]
+ expected: FAIL
+
+ [CSS Animations: property <min-height> from [fit-content\] to [min-content\] at (1.5) should be [min-content\]]
+ expected: FAIL
+
+ [Web Animations: property <min-height> from [fit-content\] to [min-content\] at (-0.3) should be [fit-content\]]
+ expected: FAIL
+
+ [Web Animations: property <min-height> from [fit-content\] to [min-content\] at (0) should be [fit-content\]]
+ expected: FAIL
+
+ [Web Animations: property <min-height> from [fit-content\] to [min-content\] at (0.3) should be [fit-content\]]
+ expected: FAIL
+
+ [Web Animations: property <min-height> from [fit-content\] to [min-content\] at (0.5) should be [min-content\]]
+ expected: FAIL
+
+ [Web Animations: property <min-height> from [fit-content\] to [min-content\] at (0.6) should be [min-content\]]
+ expected: FAIL
+
+ [Web Animations: property <min-height> from [fit-content\] to [min-content\] at (1) should be [min-content\]]
+ expected: FAIL
+
+ [Web Animations: property <min-height> from [fit-content\] to [min-content\] at (1.5) should be [min-content\]]
+ expected: FAIL
+
+ [CSS Transitions with transition-behavior:allow-discrete: property <min-height> from [max-content\] to [stretch\] at (-0.3) should be [max-content\]]
+ expected: FAIL
+
+ [CSS Transitions with transition-behavior:allow-discrete: property <min-height> from [max-content\] to [stretch\] at (0) should be [max-content\]]
+ expected: FAIL
+
+ [CSS Transitions with transition-behavior:allow-discrete: property <min-height> from [max-content\] to [stretch\] at (0.3) should be [max-content\]]
+ expected: FAIL
+
+ [CSS Transitions with transition-behavior:allow-discrete: property <min-height> from [max-content\] to [stretch\] at (0.5) should be [stretch\]]
+ expected: FAIL
+
+ [CSS Transitions with transition-behavior:allow-discrete: property <min-height> from [max-content\] to [stretch\] at (0.6) should be [stretch\]]
+ expected: FAIL
+
+ [CSS Transitions with transition-behavior:allow-discrete: property <min-height> from [max-content\] to [stretch\] at (1) should be [stretch\]]
+ expected: FAIL
+
+ [CSS Transitions with transition-behavior:allow-discrete: property <min-height> from [max-content\] to [stretch\] at (1.5) should be [stretch\]]
+ expected: FAIL
+
+ [CSS Transitions with transition-property:all and transition-behavor:allow-discrete: property <min-height> from [max-content\] to [stretch\] at (-0.3) should be [max-content\]]
+ expected: FAIL
+
+ [CSS Transitions with transition-property:all and transition-behavor:allow-discrete: property <min-height> from [max-content\] to [stretch\] at (0) should be [max-content\]]
+ expected: FAIL
+
+ [CSS Transitions with transition-property:all and transition-behavor:allow-discrete: property <min-height> from [max-content\] to [stretch\] at (0.3) should be [max-content\]]
+ expected: FAIL
+
+ [CSS Transitions with transition-property:all and transition-behavor:allow-discrete: property <min-height> from [max-content\] to [stretch\] at (0.5) should be [stretch\]]
+ expected: FAIL
+
+ [CSS Transitions with transition-property:all and transition-behavor:allow-discrete: property <min-height> from [max-content\] to [stretch\] at (0.6) should be [stretch\]]
+ expected: FAIL
+
+ [CSS Transitions with transition-property:all and transition-behavor:allow-discrete: property <min-height> from [max-content\] to [stretch\] at (1) should be [stretch\]]
+ expected: FAIL
+
+ [CSS Transitions with transition-property:all and transition-behavor:allow-discrete: property <min-height> from [max-content\] to [stretch\] at (1.5) should be [stretch\]]
+ expected: FAIL
+
+ [CSS Transitions: property <min-height> from [max-content\] to [stretch\] at (-0.3) should be [stretch\]]
+ expected: FAIL
+
+ [CSS Transitions: property <min-height> from [max-content\] to [stretch\] at (0) should be [stretch\]]
+ expected: FAIL
+
+ [CSS Transitions: property <min-height> from [max-content\] to [stretch\] at (0.3) should be [stretch\]]
+ expected: FAIL
+
+ [CSS Transitions: property <min-height> from [max-content\] to [stretch\] at (0.5) should be [stretch\]]
+ expected: FAIL
+
+ [CSS Transitions: property <min-height> from [max-content\] to [stretch\] at (0.6) should be [stretch\]]
+ expected: FAIL
+
+ [CSS Transitions: property <min-height> from [max-content\] to [stretch\] at (1) should be [stretch\]]
+ expected: FAIL
+
+ [CSS Transitions: property <min-height> from [max-content\] to [stretch\] at (1.5) should be [stretch\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <min-height> from [max-content\] to [stretch\] at (-0.3) should be [stretch\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <min-height> from [max-content\] to [stretch\] at (0) should be [stretch\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <min-height> from [max-content\] to [stretch\] at (0.3) should be [stretch\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <min-height> from [max-content\] to [stretch\] at (0.5) should be [stretch\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <min-height> from [max-content\] to [stretch\] at (0.6) should be [stretch\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <min-height> from [max-content\] to [stretch\] at (1) should be [stretch\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <min-height> from [max-content\] to [stretch\] at (1.5) should be [stretch\]]
+ expected: FAIL
+
+ [CSS Animations: property <min-height> from [max-content\] to [stretch\] at (-0.3) should be [max-content\]]
+ expected: FAIL
+
+ [CSS Animations: property <min-height> from [max-content\] to [stretch\] at (0) should be [max-content\]]
+ expected: FAIL
+
+ [CSS Animations: property <min-height> from [max-content\] to [stretch\] at (0.3) should be [max-content\]]
+ expected: FAIL
+
+ [CSS Animations: property <min-height> from [max-content\] to [stretch\] at (0.5) should be [stretch\]]
+ expected: FAIL
+
+ [CSS Animations: property <min-height> from [max-content\] to [stretch\] at (0.6) should be [stretch\]]
+ expected: FAIL
+
+ [CSS Animations: property <min-height> from [max-content\] to [stretch\] at (1) should be [stretch\]]
+ expected: FAIL
+
+ [CSS Animations: property <min-height> from [max-content\] to [stretch\] at (1.5) should be [stretch\]]
+ expected: FAIL
+
+ [Web Animations: property <min-height> from [max-content\] to [stretch\] at (-0.3) should be [max-content\]]
+ expected: FAIL
+
+ [Web Animations: property <min-height> from [max-content\] to [stretch\] at (0) should be [max-content\]]
+ expected: FAIL
+
+ [Web Animations: property <min-height> from [max-content\] to [stretch\] at (0.3) should be [max-content\]]
+ expected: FAIL
+
+ [Web Animations: property <min-height> from [max-content\] to [stretch\] at (0.5) should be [stretch\]]
+ expected: FAIL
+
+ [Web Animations: property <min-height> from [max-content\] to [stretch\] at (0.6) should be [stretch\]]
+ expected: FAIL
+
+ [Web Animations: property <min-height> from [max-content\] to [stretch\] at (1) should be [stretch\]]
+ expected: FAIL
+
+ [Web Animations: property <min-height> from [max-content\] to [stretch\] at (1.5) should be [stretch\]]
+ expected: FAIL
+
+ [CSS Transitions: property <min-height> from [fit-content\] to neutral at (-0.3) should be [calc-size(fit-content, -3px + size * 1.3)\]]
+ expected: FAIL
+
+ [CSS Transitions: property <min-height> from [fit-content\] to neutral at (0) should be [calc-size(fit-content, 0px + size * 1)\]]
+ expected: FAIL
+
+ [CSS Transitions: property <min-height> from [fit-content\] to neutral at (0.3) should be [calc-size(fit-content, 3px + size * 0.7)\]]
+ expected: FAIL
+
+ [CSS Transitions: property <min-height> from [fit-content\] to neutral at (0.6) should be [calc-size(fit-content, 6px + size * 0.4)\]]
+ expected: FAIL
+
+ [CSS Transitions: property <min-height> from [fit-content\] to neutral at (1) should be [calc-size(fit-content, 10px + size * 0)\]]
+ expected: FAIL
+
+ [CSS Transitions: property <min-height> from [fit-content\] to neutral at (1.5) should be [calc-size(fit-content, 15px + size * -0.5)\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <min-height> from [fit-content\] to neutral at (-0.3) should be [calc-size(fit-content, -3px + size * 1.3)\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <min-height> from [fit-content\] to neutral at (0) should be [calc-size(fit-content, 0px + size * 1)\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <min-height> from [fit-content\] to neutral at (0.3) should be [calc-size(fit-content, 3px + size * 0.7)\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <min-height> from [fit-content\] to neutral at (0.6) should be [calc-size(fit-content, 6px + size * 0.4)\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <min-height> from [fit-content\] to neutral at (1) should be [calc-size(fit-content, 10px + size * 0)\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <min-height> from [fit-content\] to neutral at (1.5) should be [calc-size(fit-content, 15px + size * -0.5)\]]
+ expected: FAIL
+
+ [CSS Animations: property <min-height> from [fit-content\] to neutral at (-0.3) should be [calc-size(fit-content, -3px + size * 1.3)\]]
+ expected: FAIL
+
+ [CSS Animations: property <min-height> from [fit-content\] to neutral at (0) should be [calc-size(fit-content, 0px + size * 1)\]]
+ expected: FAIL
+
+ [CSS Animations: property <min-height> from [fit-content\] to neutral at (0.3) should be [calc-size(fit-content, 3px + size * 0.7)\]]
+ expected: FAIL
+
+ [CSS Animations: property <min-height> from [fit-content\] to neutral at (0.6) should be [calc-size(fit-content, 6px + size * 0.4)\]]
+ expected: FAIL
+
+ [CSS Animations: property <min-height> from [fit-content\] to neutral at (1) should be [calc-size(fit-content, 10px + size * 0)\]]
+ expected: FAIL
+
+ [CSS Animations: property <min-height> from [fit-content\] to neutral at (1.5) should be [calc-size(fit-content, 15px + size * -0.5)\]]
+ expected: FAIL
+
+ [Web Animations: property <min-height> from [fit-content\] to neutral at (-0.3) should be [calc-size(fit-content, -3px + size * 1.3)\]]
+ expected: FAIL
+
+ [Web Animations: property <min-height> from [fit-content\] to neutral at (0) should be [calc-size(fit-content, 0px + size * 1)\]]
+ expected: FAIL
+
+ [Web Animations: property <min-height> from [fit-content\] to neutral at (0.3) should be [calc-size(fit-content, 3px + size * 0.7)\]]
+ expected: FAIL
+
+ [Web Animations: property <min-height> from [fit-content\] to neutral at (0.6) should be [calc-size(fit-content, 6px + size * 0.4)\]]
+ expected: FAIL
+
+ [Web Animations: property <min-height> from [fit-content\] to neutral at (1) should be [calc-size(fit-content, 10px + size * 0)\]]
+ expected: FAIL
+
+ [Web Animations: property <min-height> from [fit-content\] to neutral at (1.5) should be [calc-size(fit-content, 15px + size * -0.5)\]]
+ expected: FAIL
+
+ [CSS Transitions: property <min-height> from neutral to [min-content\] at (-0.3) should be [calc-size(min-content, 13px + size * -0.3)\]]
+ expected: FAIL
+
+ [CSS Transitions: property <min-height> from neutral to [min-content\] at (0) should be [calc-size(min-content, 10px + size * 0)\]]
+ expected: FAIL
+
+ [CSS Transitions: property <min-height> from neutral to [min-content\] at (0.3) should be [calc-size(min-content, 7px + size * 0.3)\]]
+ expected: FAIL
+
+ [CSS Transitions: property <min-height> from neutral to [min-content\] at (0.6) should be [calc-size(min-content, 4px + size * 0.6)\]]
+ expected: FAIL
+
+ [CSS Transitions: property <min-height> from neutral to [min-content\] at (1) should be [calc-size(min-content, 0px + size * 1)\]]
+ expected: FAIL
+
+ [CSS Transitions: property <min-height> from neutral to [min-content\] at (1.5) should be [calc-size(min-content, -5px + size * 1.5)\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <min-height> from neutral to [min-content\] at (-0.3) should be [calc-size(min-content, 13px + size * -0.3)\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <min-height> from neutral to [min-content\] at (0) should be [calc-size(min-content, 10px + size * 0)\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <min-height> from neutral to [min-content\] at (0.3) should be [calc-size(min-content, 7px + size * 0.3)\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <min-height> from neutral to [min-content\] at (0.6) should be [calc-size(min-content, 4px + size * 0.6)\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <min-height> from neutral to [min-content\] at (1) should be [calc-size(min-content, 0px + size * 1)\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <min-height> from neutral to [min-content\] at (1.5) should be [calc-size(min-content, -5px + size * 1.5)\]]
+ expected: FAIL
+
+ [CSS Animations: property <min-height> from neutral to [min-content\] at (-0.3) should be [calc-size(min-content, 13px + size * -0.3)\]]
+ expected: FAIL
+
+ [CSS Animations: property <min-height> from neutral to [min-content\] at (0) should be [calc-size(min-content, 10px + size * 0)\]]
+ expected: FAIL
+
+ [CSS Animations: property <min-height> from neutral to [min-content\] at (0.3) should be [calc-size(min-content, 7px + size * 0.3)\]]
+ expected: FAIL
+
+ [CSS Animations: property <min-height> from neutral to [min-content\] at (0.6) should be [calc-size(min-content, 4px + size * 0.6)\]]
+ expected: FAIL
+
+ [CSS Animations: property <min-height> from neutral to [min-content\] at (1) should be [calc-size(min-content, 0px + size * 1)\]]
+ expected: FAIL
+
+ [CSS Animations: property <min-height> from neutral to [min-content\] at (1.5) should be [calc-size(min-content, -5px + size * 1.5)\]]
+ expected: FAIL
+
+ [Web Animations: property <min-height> from neutral to [min-content\] at (-0.3) should be [calc-size(min-content, 13px + size * -0.3)\]]
+ expected: FAIL
+
+ [Web Animations: property <min-height> from neutral to [min-content\] at (0) should be [calc-size(min-content, 10px + size * 0)\]]
+ expected: FAIL
+
+ [Web Animations: property <min-height> from neutral to [min-content\] at (0.3) should be [calc-size(min-content, 7px + size * 0.3)\]]
+ expected: FAIL
+
+ [Web Animations: property <min-height> from neutral to [min-content\] at (0.6) should be [calc-size(min-content, 4px + size * 0.6)\]]
+ expected: FAIL
+
+ [Web Animations: property <min-height> from neutral to [min-content\] at (1) should be [calc-size(min-content, 0px + size * 1)\]]
+ expected: FAIL
+
+ [Web Animations: property <min-height> from neutral to [min-content\] at (1.5) should be [calc-size(min-content, -5px + size * 1.5)\]]
+ expected: FAIL
diff --git a/tests/wpt/meta-legacy-layout/css/css-values/calc-size/animation/interpolate-size-min-width-composition.html.ini b/tests/wpt/meta-legacy-layout/css/css-values/calc-size/animation/interpolate-size-min-width-composition.html.ini
new file mode 100644
index 00000000000..ab115e64efe
--- /dev/null
+++ b/tests/wpt/meta-legacy-layout/css/css-values/calc-size/animation/interpolate-size-min-width-composition.html.ini
@@ -0,0 +1,45 @@
+[interpolate-size-min-width-composition.html]
+ [Compositing: property <min-width> underlying [100px\] from add [max-content\] to add [100px\] at (-0.3) should be [calc-size(max-content, 70px + size * 1.3)\]]
+ expected: FAIL
+
+ [Compositing: property <min-width> underlying [100px\] from add [max-content\] to add [100px\] at (0) should be [calc-size(max-content, 100px + size * 1)\]]
+ expected: FAIL
+
+ [Compositing: property <min-width> underlying [100px\] from add [max-content\] to add [100px\] at (0.5) should be [calc-size(max-content, 150px + size * 0.5)\]]
+ expected: FAIL
+
+ [Compositing: property <min-width> underlying [100px\] from add [max-content\] to add [100px\] at (1) should be [calc-size(max-content, 200px + size * 0)\]]
+ expected: FAIL
+
+ [Compositing: property <min-width> underlying [100px\] from add [max-content\] to add [100px\] at (1.5) should be [calc-size(max-content, 250px + size * -0.5)\]]
+ expected: FAIL
+
+ [Compositing: property <min-width> underlying [min-content\] from add [fit-content\] to add [max-content\] at (-0.3) should be [fit-content\]]
+ expected: FAIL
+
+ [Compositing: property <min-width> underlying [min-content\] from add [fit-content\] to add [max-content\] at (0) should be [fit-content\]]
+ expected: FAIL
+
+ [Compositing: property <min-width> underlying [min-content\] from add [fit-content\] to add [max-content\] at (0.5) should be [max-content\]]
+ expected: FAIL
+
+ [Compositing: property <min-width> underlying [min-content\] from add [fit-content\] to add [max-content\] at (1) should be [max-content\]]
+ expected: FAIL
+
+ [Compositing: property <min-width> underlying [min-content\] from add [fit-content\] to add [max-content\] at (1.5) should be [max-content\]]
+ expected: FAIL
+
+ [Compositing: property <min-width> underlying [max-content\] from add [100px\] to add [min-content\] at (-0.3) should be [calc-size(min-content, 130px + size * -0.3)\]]
+ expected: FAIL
+
+ [Compositing: property <min-width> underlying [max-content\] from add [100px\] to add [min-content\] at (0) should be [calc-size(min-content, 100px + size * 0)\]]
+ expected: FAIL
+
+ [Compositing: property <min-width> underlying [max-content\] from add [100px\] to add [min-content\] at (0.5) should be [calc-size(min-content, 50px + size * 0.5)\]]
+ expected: FAIL
+
+ [Compositing: property <min-width> underlying [max-content\] from add [100px\] to add [min-content\] at (1) should be [calc-size(min-content, 0px + size * 1)\]]
+ expected: FAIL
+
+ [Compositing: property <min-width> underlying [max-content\] from add [100px\] to add [min-content\] at (1.5) should be [calc-size(min-content, -50px + size * 1.5)\]]
+ expected: FAIL
diff --git a/tests/wpt/meta-legacy-layout/css/css-values/calc-size/animation/interpolate-size-min-width-interpolation.html.ini b/tests/wpt/meta-legacy-layout/css/css-values/calc-size/animation/interpolate-size-min-width-interpolation.html.ini
new file mode 100644
index 00000000000..60e5c1a02c4
--- /dev/null
+++ b/tests/wpt/meta-legacy-layout/css/css-values/calc-size/animation/interpolate-size-min-width-interpolation.html.ini
@@ -0,0 +1,630 @@
+[interpolate-size-min-width-interpolation.html]
+ [CSS Transitions: property <min-width> from [initial\] to [20px\] at (-0.3) should be [calc-size(auto, -6px + size * 1.3)\]]
+ expected: FAIL
+
+ [CSS Transitions: property <min-width> from [initial\] to [20px\] at (0) should be [calc-size(auto, 0px + size * 1)\]]
+ expected: FAIL
+
+ [CSS Transitions: property <min-width> from [initial\] to [20px\] at (0.3) should be [calc-size(auto, 6px + size * 0.7)\]]
+ expected: FAIL
+
+ [CSS Transitions: property <min-width> from [initial\] to [20px\] at (0.6) should be [calc-size(auto, 12px + size * 0.4)\]]
+ expected: FAIL
+
+ [CSS Transitions: property <min-width> from [initial\] to [20px\] at (1) should be [calc-size(auto, 20px + size * 0)\]]
+ expected: FAIL
+
+ [CSS Transitions: property <min-width> from [initial\] to [20px\] at (1.5) should be [calc-size(auto, 30px + size * -0.5)\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <min-width> from [initial\] to [20px\] at (-0.3) should be [calc-size(auto, -6px + size * 1.3)\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <min-width> from [initial\] to [20px\] at (0) should be [calc-size(auto, 0px + size * 1)\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <min-width> from [initial\] to [20px\] at (0.3) should be [calc-size(auto, 6px + size * 0.7)\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <min-width> from [initial\] to [20px\] at (0.6) should be [calc-size(auto, 12px + size * 0.4)\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <min-width> from [initial\] to [20px\] at (1) should be [calc-size(auto, 20px + size * 0)\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <min-width> from [initial\] to [20px\] at (1.5) should be [calc-size(auto, 30px + size * -0.5)\]]
+ expected: FAIL
+
+ [Web Animations: property <min-width> from [initial\] to [20px\] at (-0.3) should be [calc-size(auto, -6px + size * 1.3)\]]
+ expected: FAIL
+
+ [Web Animations: property <min-width> from [initial\] to [20px\] at (0) should be [calc-size(auto, 0px + size * 1)\]]
+ expected: FAIL
+
+ [Web Animations: property <min-width> from [initial\] to [20px\] at (0.3) should be [calc-size(auto, 6px + size * 0.7)\]]
+ expected: FAIL
+
+ [Web Animations: property <min-width> from [initial\] to [20px\] at (0.6) should be [calc-size(auto, 12px + size * 0.4)\]]
+ expected: FAIL
+
+ [Web Animations: property <min-width> from [initial\] to [20px\] at (1) should be [calc-size(auto, 20px + size * 0)\]]
+ expected: FAIL
+
+ [Web Animations: property <min-width> from [initial\] to [20px\] at (1.5) should be [calc-size(auto, 30px + size * -0.5)\]]
+ expected: FAIL
+
+ [CSS Transitions: property <min-width> from [unset\] to [20px\] at (-0.3) should be [calc-size(auto, -6px + size * 1.3)\]]
+ expected: FAIL
+
+ [CSS Transitions: property <min-width> from [unset\] to [20px\] at (0) should be [calc-size(auto, 0px + size * 1)\]]
+ expected: FAIL
+
+ [CSS Transitions: property <min-width> from [unset\] to [20px\] at (0.3) should be [calc-size(auto, 6px + size * 0.7)\]]
+ expected: FAIL
+
+ [CSS Transitions: property <min-width> from [unset\] to [20px\] at (0.6) should be [calc-size(auto, 12px + size * 0.4)\]]
+ expected: FAIL
+
+ [CSS Transitions: property <min-width> from [unset\] to [20px\] at (1) should be [calc-size(auto, 20px + size * 0)\]]
+ expected: FAIL
+
+ [CSS Transitions: property <min-width> from [unset\] to [20px\] at (1.5) should be [calc-size(auto, 30px + size * -0.5)\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <min-width> from [unset\] to [20px\] at (-0.3) should be [calc-size(auto, -6px + size * 1.3)\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <min-width> from [unset\] to [20px\] at (0) should be [calc-size(auto, 0px + size * 1)\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <min-width> from [unset\] to [20px\] at (0.3) should be [calc-size(auto, 6px + size * 0.7)\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <min-width> from [unset\] to [20px\] at (0.6) should be [calc-size(auto, 12px + size * 0.4)\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <min-width> from [unset\] to [20px\] at (1) should be [calc-size(auto, 20px + size * 0)\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <min-width> from [unset\] to [20px\] at (1.5) should be [calc-size(auto, 30px + size * -0.5)\]]
+ expected: FAIL
+
+ [Web Animations: property <min-width> from [unset\] to [20px\] at (-0.3) should be [calc-size(auto, -6px + size * 1.3)\]]
+ expected: FAIL
+
+ [Web Animations: property <min-width> from [unset\] to [20px\] at (0) should be [calc-size(auto, 0px + size * 1)\]]
+ expected: FAIL
+
+ [Web Animations: property <min-width> from [unset\] to [20px\] at (0.3) should be [calc-size(auto, 6px + size * 0.7)\]]
+ expected: FAIL
+
+ [Web Animations: property <min-width> from [unset\] to [20px\] at (0.6) should be [calc-size(auto, 12px + size * 0.4)\]]
+ expected: FAIL
+
+ [Web Animations: property <min-width> from [unset\] to [20px\] at (1) should be [calc-size(auto, 20px + size * 0)\]]
+ expected: FAIL
+
+ [Web Animations: property <min-width> from [unset\] to [20px\] at (1.5) should be [calc-size(auto, 30px + size * -0.5)\]]
+ expected: FAIL
+
+ [CSS Transitions: property <min-width> from [auto\] to [20px\] at (-0.3) should be [calc-size(auto, -6px + size * 1.3)\]]
+ expected: FAIL
+
+ [CSS Transitions: property <min-width> from [auto\] to [20px\] at (0) should be [calc-size(auto, 0px + size * 1)\]]
+ expected: FAIL
+
+ [CSS Transitions: property <min-width> from [auto\] to [20px\] at (0.3) should be [calc-size(auto, 6px + size * 0.7)\]]
+ expected: FAIL
+
+ [CSS Transitions: property <min-width> from [auto\] to [20px\] at (0.6) should be [calc-size(auto, 12px + size * 0.4)\]]
+ expected: FAIL
+
+ [CSS Transitions: property <min-width> from [auto\] to [20px\] at (1) should be [calc-size(auto, 20px + size * 0)\]]
+ expected: FAIL
+
+ [CSS Transitions: property <min-width> from [auto\] to [20px\] at (1.5) should be [calc-size(auto, 30px + size * -0.5)\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <min-width> from [auto\] to [20px\] at (-0.3) should be [calc-size(auto, -6px + size * 1.3)\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <min-width> from [auto\] to [20px\] at (0) should be [calc-size(auto, 0px + size * 1)\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <min-width> from [auto\] to [20px\] at (0.3) should be [calc-size(auto, 6px + size * 0.7)\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <min-width> from [auto\] to [20px\] at (0.6) should be [calc-size(auto, 12px + size * 0.4)\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <min-width> from [auto\] to [20px\] at (1) should be [calc-size(auto, 20px + size * 0)\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <min-width> from [auto\] to [20px\] at (1.5) should be [calc-size(auto, 30px + size * -0.5)\]]
+ expected: FAIL
+
+ [Web Animations: property <min-width> from [auto\] to [20px\] at (-0.3) should be [calc-size(auto, -6px + size * 1.3)\]]
+ expected: FAIL
+
+ [Web Animations: property <min-width> from [auto\] to [20px\] at (0) should be [calc-size(auto, 0px + size * 1)\]]
+ expected: FAIL
+
+ [Web Animations: property <min-width> from [auto\] to [20px\] at (0.3) should be [calc-size(auto, 6px + size * 0.7)\]]
+ expected: FAIL
+
+ [Web Animations: property <min-width> from [auto\] to [20px\] at (0.6) should be [calc-size(auto, 12px + size * 0.4)\]]
+ expected: FAIL
+
+ [Web Animations: property <min-width> from [auto\] to [20px\] at (1) should be [calc-size(auto, 20px + size * 0)\]]
+ expected: FAIL
+
+ [Web Animations: property <min-width> from [auto\] to [20px\] at (1.5) should be [calc-size(auto, 30px + size * -0.5)\]]
+ expected: FAIL
+
+ [CSS Transitions: property <min-width> from [0px\] to [stretch\] at (-0.3) should be [calc-size(stretch, 0px + size * -0.3)\]]
+ expected: FAIL
+
+ [CSS Transitions: property <min-width> from [0px\] to [stretch\] at (0) should be [calc-size(stretch, 0px + size * 0)\]]
+ expected: FAIL
+
+ [CSS Transitions: property <min-width> from [0px\] to [stretch\] at (0.3) should be [calc-size(stretch, 0px + size * 0.3)\]]
+ expected: FAIL
+
+ [CSS Transitions: property <min-width> from [0px\] to [stretch\] at (0.6) should be [calc-size(stretch, 0px + size * 0.6)\]]
+ expected: FAIL
+
+ [CSS Transitions: property <min-width> from [0px\] to [stretch\] at (1) should be [calc-size(stretch, 0px + size * 1)\]]
+ expected: FAIL
+
+ [CSS Transitions: property <min-width> from [0px\] to [stretch\] at (1.5) should be [calc-size(stretch, 0px + size * 1.5)\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <min-width> from [0px\] to [stretch\] at (-0.3) should be [calc-size(stretch, 0px + size * -0.3)\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <min-width> from [0px\] to [stretch\] at (0) should be [calc-size(stretch, 0px + size * 0)\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <min-width> from [0px\] to [stretch\] at (0.3) should be [calc-size(stretch, 0px + size * 0.3)\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <min-width> from [0px\] to [stretch\] at (0.6) should be [calc-size(stretch, 0px + size * 0.6)\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <min-width> from [0px\] to [stretch\] at (1) should be [calc-size(stretch, 0px + size * 1)\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <min-width> from [0px\] to [stretch\] at (1.5) should be [calc-size(stretch, 0px + size * 1.5)\]]
+ expected: FAIL
+
+ [CSS Animations: property <min-width> from [0px\] to [stretch\] at (-0.3) should be [calc-size(stretch, 0px + size * -0.3)\]]
+ expected: FAIL
+
+ [CSS Animations: property <min-width> from [0px\] to [stretch\] at (0) should be [calc-size(stretch, 0px + size * 0)\]]
+ expected: FAIL
+
+ [CSS Animations: property <min-width> from [0px\] to [stretch\] at (0.3) should be [calc-size(stretch, 0px + size * 0.3)\]]
+ expected: FAIL
+
+ [CSS Animations: property <min-width> from [0px\] to [stretch\] at (0.6) should be [calc-size(stretch, 0px + size * 0.6)\]]
+ expected: FAIL
+
+ [CSS Animations: property <min-width> from [0px\] to [stretch\] at (1) should be [calc-size(stretch, 0px + size * 1)\]]
+ expected: FAIL
+
+ [CSS Animations: property <min-width> from [0px\] to [stretch\] at (1.5) should be [calc-size(stretch, 0px + size * 1.5)\]]
+ expected: FAIL
+
+ [Web Animations: property <min-width> from [0px\] to [stretch\] at (-0.3) should be [calc-size(stretch, 0px + size * -0.3)\]]
+ expected: FAIL
+
+ [Web Animations: property <min-width> from [0px\] to [stretch\] at (0) should be [calc-size(stretch, 0px + size * 0)\]]
+ expected: FAIL
+
+ [Web Animations: property <min-width> from [0px\] to [stretch\] at (0.3) should be [calc-size(stretch, 0px + size * 0.3)\]]
+ expected: FAIL
+
+ [Web Animations: property <min-width> from [0px\] to [stretch\] at (0.6) should be [calc-size(stretch, 0px + size * 0.6)\]]
+ expected: FAIL
+
+ [Web Animations: property <min-width> from [0px\] to [stretch\] at (1) should be [calc-size(stretch, 0px + size * 1)\]]
+ expected: FAIL
+
+ [Web Animations: property <min-width> from [0px\] to [stretch\] at (1.5) should be [calc-size(stretch, 0px + size * 1.5)\]]
+ expected: FAIL
+
+ [CSS Transitions with transition-behavior:allow-discrete: property <min-width> from [min-content\] to [fit-content\] at (-0.3) should be [min-content\]]
+ expected: FAIL
+
+ [CSS Transitions with transition-behavior:allow-discrete: property <min-width> from [min-content\] to [fit-content\] at (0) should be [min-content\]]
+ expected: FAIL
+
+ [CSS Transitions with transition-behavior:allow-discrete: property <min-width> from [min-content\] to [fit-content\] at (0.3) should be [min-content\]]
+ expected: FAIL
+
+ [CSS Transitions with transition-behavior:allow-discrete: property <min-width> from [min-content\] to [fit-content\] at (0.5) should be [fit-content\]]
+ expected: FAIL
+
+ [CSS Transitions with transition-behavior:allow-discrete: property <min-width> from [min-content\] to [fit-content\] at (0.6) should be [fit-content\]]
+ expected: FAIL
+
+ [CSS Transitions with transition-behavior:allow-discrete: property <min-width> from [min-content\] to [fit-content\] at (1) should be [fit-content\]]
+ expected: FAIL
+
+ [CSS Transitions with transition-behavior:allow-discrete: property <min-width> from [min-content\] to [fit-content\] at (1.5) should be [fit-content\]]
+ expected: FAIL
+
+ [CSS Transitions with transition-property:all and transition-behavor:allow-discrete: property <min-width> from [min-content\] to [fit-content\] at (-0.3) should be [min-content\]]
+ expected: FAIL
+
+ [CSS Transitions with transition-property:all and transition-behavor:allow-discrete: property <min-width> from [min-content\] to [fit-content\] at (0) should be [min-content\]]
+ expected: FAIL
+
+ [CSS Transitions with transition-property:all and transition-behavor:allow-discrete: property <min-width> from [min-content\] to [fit-content\] at (0.3) should be [min-content\]]
+ expected: FAIL
+
+ [CSS Transitions with transition-property:all and transition-behavor:allow-discrete: property <min-width> from [min-content\] to [fit-content\] at (0.5) should be [fit-content\]]
+ expected: FAIL
+
+ [CSS Transitions with transition-property:all and transition-behavor:allow-discrete: property <min-width> from [min-content\] to [fit-content\] at (0.6) should be [fit-content\]]
+ expected: FAIL
+
+ [CSS Transitions with transition-property:all and transition-behavor:allow-discrete: property <min-width> from [min-content\] to [fit-content\] at (1) should be [fit-content\]]
+ expected: FAIL
+
+ [CSS Transitions with transition-property:all and transition-behavor:allow-discrete: property <min-width> from [min-content\] to [fit-content\] at (1.5) should be [fit-content\]]
+ expected: FAIL
+
+ [CSS Transitions: property <min-width> from [min-content\] to [fit-content\] at (-0.3) should be [fit-content\]]
+ expected: FAIL
+
+ [CSS Transitions: property <min-width> from [min-content\] to [fit-content\] at (0) should be [fit-content\]]
+ expected: FAIL
+
+ [CSS Transitions: property <min-width> from [min-content\] to [fit-content\] at (0.3) should be [fit-content\]]
+ expected: FAIL
+
+ [CSS Transitions: property <min-width> from [min-content\] to [fit-content\] at (0.5) should be [fit-content\]]
+ expected: FAIL
+
+ [CSS Transitions: property <min-width> from [min-content\] to [fit-content\] at (0.6) should be [fit-content\]]
+ expected: FAIL
+
+ [CSS Transitions: property <min-width> from [min-content\] to [fit-content\] at (1) should be [fit-content\]]
+ expected: FAIL
+
+ [CSS Transitions: property <min-width> from [min-content\] to [fit-content\] at (1.5) should be [fit-content\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <min-width> from [min-content\] to [fit-content\] at (-0.3) should be [fit-content\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <min-width> from [min-content\] to [fit-content\] at (0) should be [fit-content\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <min-width> from [min-content\] to [fit-content\] at (0.3) should be [fit-content\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <min-width> from [min-content\] to [fit-content\] at (0.5) should be [fit-content\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <min-width> from [min-content\] to [fit-content\] at (0.6) should be [fit-content\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <min-width> from [min-content\] to [fit-content\] at (1) should be [fit-content\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <min-width> from [min-content\] to [fit-content\] at (1.5) should be [fit-content\]]
+ expected: FAIL
+
+ [CSS Animations: property <min-width> from [min-content\] to [fit-content\] at (-0.3) should be [min-content\]]
+ expected: FAIL
+
+ [CSS Animations: property <min-width> from [min-content\] to [fit-content\] at (0) should be [min-content\]]
+ expected: FAIL
+
+ [CSS Animations: property <min-width> from [min-content\] to [fit-content\] at (0.3) should be [min-content\]]
+ expected: FAIL
+
+ [CSS Animations: property <min-width> from [min-content\] to [fit-content\] at (0.5) should be [fit-content\]]
+ expected: FAIL
+
+ [CSS Animations: property <min-width> from [min-content\] to [fit-content\] at (0.6) should be [fit-content\]]
+ expected: FAIL
+
+ [CSS Animations: property <min-width> from [min-content\] to [fit-content\] at (1) should be [fit-content\]]
+ expected: FAIL
+
+ [CSS Animations: property <min-width> from [min-content\] to [fit-content\] at (1.5) should be [fit-content\]]
+ expected: FAIL
+
+ [Web Animations: property <min-width> from [min-content\] to [fit-content\] at (-0.3) should be [min-content\]]
+ expected: FAIL
+
+ [Web Animations: property <min-width> from [min-content\] to [fit-content\] at (0) should be [min-content\]]
+ expected: FAIL
+
+ [Web Animations: property <min-width> from [min-content\] to [fit-content\] at (0.3) should be [min-content\]]
+ expected: FAIL
+
+ [Web Animations: property <min-width> from [min-content\] to [fit-content\] at (0.5) should be [fit-content\]]
+ expected: FAIL
+
+ [Web Animations: property <min-width> from [min-content\] to [fit-content\] at (0.6) should be [fit-content\]]
+ expected: FAIL
+
+ [Web Animations: property <min-width> from [min-content\] to [fit-content\] at (1) should be [fit-content\]]
+ expected: FAIL
+
+ [Web Animations: property <min-width> from [min-content\] to [fit-content\] at (1.5) should be [fit-content\]]
+ expected: FAIL
+
+ [CSS Transitions with transition-behavior:allow-discrete: property <min-width> from [auto\] to [max-content\] at (-0.3) should be [auto\]]
+ expected: FAIL
+
+ [CSS Transitions with transition-behavior:allow-discrete: property <min-width> from [auto\] to [max-content\] at (0) should be [auto\]]
+ expected: FAIL
+
+ [CSS Transitions with transition-behavior:allow-discrete: property <min-width> from [auto\] to [max-content\] at (0.3) should be [auto\]]
+ expected: FAIL
+
+ [CSS Transitions with transition-behavior:allow-discrete: property <min-width> from [auto\] to [max-content\] at (0.5) should be [max-content\]]
+ expected: FAIL
+
+ [CSS Transitions with transition-behavior:allow-discrete: property <min-width> from [auto\] to [max-content\] at (0.6) should be [max-content\]]
+ expected: FAIL
+
+ [CSS Transitions with transition-behavior:allow-discrete: property <min-width> from [auto\] to [max-content\] at (1) should be [max-content\]]
+ expected: FAIL
+
+ [CSS Transitions with transition-behavior:allow-discrete: property <min-width> from [auto\] to [max-content\] at (1.5) should be [max-content\]]
+ expected: FAIL
+
+ [CSS Transitions with transition-property:all and transition-behavor:allow-discrete: property <min-width> from [auto\] to [max-content\] at (-0.3) should be [auto\]]
+ expected: FAIL
+
+ [CSS Transitions with transition-property:all and transition-behavor:allow-discrete: property <min-width> from [auto\] to [max-content\] at (0) should be [auto\]]
+ expected: FAIL
+
+ [CSS Transitions with transition-property:all and transition-behavor:allow-discrete: property <min-width> from [auto\] to [max-content\] at (0.3) should be [auto\]]
+ expected: FAIL
+
+ [CSS Transitions with transition-property:all and transition-behavor:allow-discrete: property <min-width> from [auto\] to [max-content\] at (0.5) should be [max-content\]]
+ expected: FAIL
+
+ [CSS Transitions with transition-property:all and transition-behavor:allow-discrete: property <min-width> from [auto\] to [max-content\] at (0.6) should be [max-content\]]
+ expected: FAIL
+
+ [CSS Transitions with transition-property:all and transition-behavor:allow-discrete: property <min-width> from [auto\] to [max-content\] at (1) should be [max-content\]]
+ expected: FAIL
+
+ [CSS Transitions with transition-property:all and transition-behavor:allow-discrete: property <min-width> from [auto\] to [max-content\] at (1.5) should be [max-content\]]
+ expected: FAIL
+
+ [CSS Transitions: property <min-width> from [auto\] to [max-content\] at (-0.3) should be [max-content\]]
+ expected: FAIL
+
+ [CSS Transitions: property <min-width> from [auto\] to [max-content\] at (0) should be [max-content\]]
+ expected: FAIL
+
+ [CSS Transitions: property <min-width> from [auto\] to [max-content\] at (0.3) should be [max-content\]]
+ expected: FAIL
+
+ [CSS Transitions: property <min-width> from [auto\] to [max-content\] at (0.5) should be [max-content\]]
+ expected: FAIL
+
+ [CSS Transitions: property <min-width> from [auto\] to [max-content\] at (0.6) should be [max-content\]]
+ expected: FAIL
+
+ [CSS Transitions: property <min-width> from [auto\] to [max-content\] at (1) should be [max-content\]]
+ expected: FAIL
+
+ [CSS Transitions: property <min-width> from [auto\] to [max-content\] at (1.5) should be [max-content\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <min-width> from [auto\] to [max-content\] at (-0.3) should be [max-content\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <min-width> from [auto\] to [max-content\] at (0) should be [max-content\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <min-width> from [auto\] to [max-content\] at (0.3) should be [max-content\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <min-width> from [auto\] to [max-content\] at (0.5) should be [max-content\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <min-width> from [auto\] to [max-content\] at (0.6) should be [max-content\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <min-width> from [auto\] to [max-content\] at (1) should be [max-content\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <min-width> from [auto\] to [max-content\] at (1.5) should be [max-content\]]
+ expected: FAIL
+
+ [CSS Animations: property <min-width> from [auto\] to [max-content\] at (-0.3) should be [auto\]]
+ expected: FAIL
+
+ [CSS Animations: property <min-width> from [auto\] to [max-content\] at (0) should be [auto\]]
+ expected: FAIL
+
+ [CSS Animations: property <min-width> from [auto\] to [max-content\] at (0.3) should be [auto\]]
+ expected: FAIL
+
+ [CSS Animations: property <min-width> from [auto\] to [max-content\] at (0.5) should be [max-content\]]
+ expected: FAIL
+
+ [CSS Animations: property <min-width> from [auto\] to [max-content\] at (0.6) should be [max-content\]]
+ expected: FAIL
+
+ [CSS Animations: property <min-width> from [auto\] to [max-content\] at (1) should be [max-content\]]
+ expected: FAIL
+
+ [CSS Animations: property <min-width> from [auto\] to [max-content\] at (1.5) should be [max-content\]]
+ expected: FAIL
+
+ [Web Animations: property <min-width> from [auto\] to [max-content\] at (-0.3) should be [auto\]]
+ expected: FAIL
+
+ [Web Animations: property <min-width> from [auto\] to [max-content\] at (0) should be [auto\]]
+ expected: FAIL
+
+ [Web Animations: property <min-width> from [auto\] to [max-content\] at (0.3) should be [auto\]]
+ expected: FAIL
+
+ [Web Animations: property <min-width> from [auto\] to [max-content\] at (0.5) should be [max-content\]]
+ expected: FAIL
+
+ [Web Animations: property <min-width> from [auto\] to [max-content\] at (0.6) should be [max-content\]]
+ expected: FAIL
+
+ [Web Animations: property <min-width> from [auto\] to [max-content\] at (1) should be [max-content\]]
+ expected: FAIL
+
+ [Web Animations: property <min-width> from [auto\] to [max-content\] at (1.5) should be [max-content\]]
+ expected: FAIL
+
+ [CSS Transitions: property <min-width> from [fit-content\] to neutral at (-0.3) should be [calc-size(fit-content, -3px + size * 1.3)\]]
+ expected: FAIL
+
+ [CSS Transitions: property <min-width> from [fit-content\] to neutral at (0) should be [calc-size(fit-content, 0px + size * 1)\]]
+ expected: FAIL
+
+ [CSS Transitions: property <min-width> from [fit-content\] to neutral at (0.3) should be [calc-size(fit-content, 3px + size * 0.7)\]]
+ expected: FAIL
+
+ [CSS Transitions: property <min-width> from [fit-content\] to neutral at (0.6) should be [calc-size(fit-content, 6px + size * 0.4)\]]
+ expected: FAIL
+
+ [CSS Transitions: property <min-width> from [fit-content\] to neutral at (1) should be [calc-size(fit-content, 10px + size * 0)\]]
+ expected: FAIL
+
+ [CSS Transitions: property <min-width> from [fit-content\] to neutral at (1.5) should be [calc-size(fit-content, 15px + size * -0.5)\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <min-width> from [fit-content\] to neutral at (-0.3) should be [calc-size(fit-content, -3px + size * 1.3)\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <min-width> from [fit-content\] to neutral at (0) should be [calc-size(fit-content, 0px + size * 1)\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <min-width> from [fit-content\] to neutral at (0.3) should be [calc-size(fit-content, 3px + size * 0.7)\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <min-width> from [fit-content\] to neutral at (0.6) should be [calc-size(fit-content, 6px + size * 0.4)\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <min-width> from [fit-content\] to neutral at (1) should be [calc-size(fit-content, 10px + size * 0)\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <min-width> from [fit-content\] to neutral at (1.5) should be [calc-size(fit-content, 15px + size * -0.5)\]]
+ expected: FAIL
+
+ [CSS Animations: property <min-width> from [fit-content\] to neutral at (-0.3) should be [calc-size(fit-content, -3px + size * 1.3)\]]
+ expected: FAIL
+
+ [CSS Animations: property <min-width> from [fit-content\] to neutral at (0) should be [calc-size(fit-content, 0px + size * 1)\]]
+ expected: FAIL
+
+ [CSS Animations: property <min-width> from [fit-content\] to neutral at (0.3) should be [calc-size(fit-content, 3px + size * 0.7)\]]
+ expected: FAIL
+
+ [CSS Animations: property <min-width> from [fit-content\] to neutral at (0.6) should be [calc-size(fit-content, 6px + size * 0.4)\]]
+ expected: FAIL
+
+ [CSS Animations: property <min-width> from [fit-content\] to neutral at (1) should be [calc-size(fit-content, 10px + size * 0)\]]
+ expected: FAIL
+
+ [CSS Animations: property <min-width> from [fit-content\] to neutral at (1.5) should be [calc-size(fit-content, 15px + size * -0.5)\]]
+ expected: FAIL
+
+ [Web Animations: property <min-width> from [fit-content\] to neutral at (-0.3) should be [calc-size(fit-content, -3px + size * 1.3)\]]
+ expected: FAIL
+
+ [Web Animations: property <min-width> from [fit-content\] to neutral at (0) should be [calc-size(fit-content, 0px + size * 1)\]]
+ expected: FAIL
+
+ [Web Animations: property <min-width> from [fit-content\] to neutral at (0.3) should be [calc-size(fit-content, 3px + size * 0.7)\]]
+ expected: FAIL
+
+ [Web Animations: property <min-width> from [fit-content\] to neutral at (0.6) should be [calc-size(fit-content, 6px + size * 0.4)\]]
+ expected: FAIL
+
+ [Web Animations: property <min-width> from [fit-content\] to neutral at (1) should be [calc-size(fit-content, 10px + size * 0)\]]
+ expected: FAIL
+
+ [Web Animations: property <min-width> from [fit-content\] to neutral at (1.5) should be [calc-size(fit-content, 15px + size * -0.5)\]]
+ expected: FAIL
+
+ [CSS Transitions: property <min-width> from neutral to [max-content\] at (-0.3) should be [calc-size(max-content, 13px + size * -0.3)\]]
+ expected: FAIL
+
+ [CSS Transitions: property <min-width> from neutral to [max-content\] at (0) should be [calc-size(max-content, 10px + size * 0)\]]
+ expected: FAIL
+
+ [CSS Transitions: property <min-width> from neutral to [max-content\] at (0.3) should be [calc-size(max-content, 7px + size * 0.3)\]]
+ expected: FAIL
+
+ [CSS Transitions: property <min-width> from neutral to [max-content\] at (0.6) should be [calc-size(max-content, 4px + size * 0.6)\]]
+ expected: FAIL
+
+ [CSS Transitions: property <min-width> from neutral to [max-content\] at (1) should be [calc-size(max-content, 0px + size * 1)\]]
+ expected: FAIL
+
+ [CSS Transitions: property <min-width> from neutral to [max-content\] at (1.5) should be [calc-size(max-content, -5px + size * 1.5)\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <min-width> from neutral to [max-content\] at (-0.3) should be [calc-size(max-content, 13px + size * -0.3)\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <min-width> from neutral to [max-content\] at (0) should be [calc-size(max-content, 10px + size * 0)\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <min-width> from neutral to [max-content\] at (0.3) should be [calc-size(max-content, 7px + size * 0.3)\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <min-width> from neutral to [max-content\] at (0.6) should be [calc-size(max-content, 4px + size * 0.6)\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <min-width> from neutral to [max-content\] at (1) should be [calc-size(max-content, 0px + size * 1)\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <min-width> from neutral to [max-content\] at (1.5) should be [calc-size(max-content, -5px + size * 1.5)\]]
+ expected: FAIL
+
+ [CSS Animations: property <min-width> from neutral to [max-content\] at (-0.3) should be [calc-size(max-content, 13px + size * -0.3)\]]
+ expected: FAIL
+
+ [CSS Animations: property <min-width> from neutral to [max-content\] at (0) should be [calc-size(max-content, 10px + size * 0)\]]
+ expected: FAIL
+
+ [CSS Animations: property <min-width> from neutral to [max-content\] at (0.3) should be [calc-size(max-content, 7px + size * 0.3)\]]
+ expected: FAIL
+
+ [CSS Animations: property <min-width> from neutral to [max-content\] at (0.6) should be [calc-size(max-content, 4px + size * 0.6)\]]
+ expected: FAIL
+
+ [CSS Animations: property <min-width> from neutral to [max-content\] at (1) should be [calc-size(max-content, 0px + size * 1)\]]
+ expected: FAIL
+
+ [CSS Animations: property <min-width> from neutral to [max-content\] at (1.5) should be [calc-size(max-content, -5px + size * 1.5)\]]
+ expected: FAIL
+
+ [Web Animations: property <min-width> from neutral to [max-content\] at (-0.3) should be [calc-size(max-content, 13px + size * -0.3)\]]
+ expected: FAIL
+
+ [Web Animations: property <min-width> from neutral to [max-content\] at (0) should be [calc-size(max-content, 10px + size * 0)\]]
+ expected: FAIL
+
+ [Web Animations: property <min-width> from neutral to [max-content\] at (0.3) should be [calc-size(max-content, 7px + size * 0.3)\]]
+ expected: FAIL
+
+ [Web Animations: property <min-width> from neutral to [max-content\] at (0.6) should be [calc-size(max-content, 4px + size * 0.6)\]]
+ expected: FAIL
+
+ [Web Animations: property <min-width> from neutral to [max-content\] at (1) should be [calc-size(max-content, 0px + size * 1)\]]
+ expected: FAIL
+
+ [Web Animations: property <min-width> from neutral to [max-content\] at (1.5) should be [calc-size(max-content, -5px + size * 1.5)\]]
+ expected: FAIL
diff --git a/tests/wpt/meta-legacy-layout/css/css-values/calc-size/animation/interpolate-size-which-value.html.ini b/tests/wpt/meta-legacy-layout/css/css-values/calc-size/animation/interpolate-size-which-value.html.ini
new file mode 100644
index 00000000000..5160938c50b
--- /dev/null
+++ b/tests/wpt/meta-legacy-layout/css/css-values/calc-size/animation/interpolate-size-which-value.html.ini
@@ -0,0 +1,21 @@
+[interpolate-size-which-value.html]
+ [Use the after-change value of interpolate-size: numeric-only when starting CSS transition from 100px to min-content]
+ expected: FAIL
+
+ [Use the non-animation value of interpolate-size: numeric-only when starting CSS animation from 100px to min-content]
+ expected: FAIL
+
+ [Use the after-change value of interpolate-size: numeric-only when starting CSS transition from min-content to 100px]
+ expected: FAIL
+
+ [Use the non-animation value of interpolate-size: numeric-only when starting CSS animation from min-content to 100px]
+ expected: FAIL
+
+ [Use the non-animation value of interpolate-size: allow-keywords when starting CSS animation from 100px to min-content]
+ expected: FAIL
+
+ [Use the after-change value of interpolate-size: allow-keywords when starting CSS transition from min-content to 100px]
+ expected: FAIL
+
+ [Use the non-animation value of interpolate-size: allow-keywords when starting CSS animation from min-content to 100px]
+ expected: FAIL
diff --git a/tests/wpt/meta-legacy-layout/css/css-values/calc-size/animation/interpolate-size-width-composition.html.ini b/tests/wpt/meta-legacy-layout/css/css-values/calc-size/animation/interpolate-size-width-composition.html.ini
new file mode 100644
index 00000000000..3349052a7b2
--- /dev/null
+++ b/tests/wpt/meta-legacy-layout/css/css-values/calc-size/animation/interpolate-size-width-composition.html.ini
@@ -0,0 +1,30 @@
+[interpolate-size-width-composition.html]
+ [Compositing: property <width> underlying [100px\] from add [fit-content\] to add [auto\] at (-0.3) should be [200px\]]
+ expected: FAIL
+
+ [Compositing: property <width> underlying [100px\] from add [fit-content\] to add [auto\] at (0) should be [200px\]]
+ expected: FAIL
+
+ [Compositing: property <width> underlying [100px\] from add [fit-content\] to add [auto\] at (0.5) should be [300px\]]
+ expected: FAIL
+
+ [Compositing: property <width> underlying [100px\] from add [fit-content\] to add [auto\] at (1) should be [300px\]]
+ expected: FAIL
+
+ [Compositing: property <width> underlying [100px\] from add [fit-content\] to add [auto\] at (1.5) should be [300px\]]
+ expected: FAIL
+
+ [Compositing: property <width> underlying [max-content\] from add [100px\] to add [auto\] at (-0.3) should be [70px\]]
+ expected: FAIL
+
+ [Compositing: property <width> underlying [max-content\] from add [100px\] to add [auto\] at (0) should be [100px\]]
+ expected: FAIL
+
+ [Compositing: property <width> underlying [max-content\] from add [100px\] to add [auto\] at (0.5) should be [150px\]]
+ expected: FAIL
+
+ [Compositing: property <width> underlying [max-content\] from add [100px\] to add [auto\] at (1) should be [200px\]]
+ expected: FAIL
+
+ [Compositing: property <width> underlying [max-content\] from add [100px\] to add [auto\] at (1.5) should be [250px\]]
+ expected: FAIL
diff --git a/tests/wpt/meta-legacy-layout/css/css-values/calc-size/animation/interpolate-size-width-interpolation.html.ini b/tests/wpt/meta-legacy-layout/css/css-values/calc-size/animation/interpolate-size-width-interpolation.html.ini
new file mode 100644
index 00000000000..b565f16cd14
--- /dev/null
+++ b/tests/wpt/meta-legacy-layout/css/css-values/calc-size/animation/interpolate-size-width-interpolation.html.ini
@@ -0,0 +1,648 @@
+[interpolate-size-width-interpolation.html]
+ [Web Animations: property <width> from [initial\] to [50px\] at (-0.3) should be [180px\]]
+ expected: FAIL
+
+ [Web Animations: property <width> from [initial\] to [50px\] at (0) should be [150px\]]
+ expected: FAIL
+
+ [Web Animations: property <width> from [initial\] to [50px\] at (0.3) should be [120px\]]
+ expected: FAIL
+
+ [Web Animations: property <width> from [initial\] to [50px\] at (0.6) should be [90px\]]
+ expected: FAIL
+
+ [Web Animations: property <width> from [initial\] to [50px\] at (1) should be [50px\]]
+ expected: FAIL
+
+ [Web Animations: property <width> from [initial\] to [50px\] at (1.5) should be [0px\]]
+ expected: FAIL
+
+ [Web Animations: property <width> from [unset\] to [50px\] at (-0.3) should be [180px\]]
+ expected: FAIL
+
+ [Web Animations: property <width> from [unset\] to [50px\] at (0) should be [150px\]]
+ expected: FAIL
+
+ [Web Animations: property <width> from [unset\] to [50px\] at (0.3) should be [120px\]]
+ expected: FAIL
+
+ [Web Animations: property <width> from [unset\] to [50px\] at (0.6) should be [90px\]]
+ expected: FAIL
+
+ [Web Animations: property <width> from [unset\] to [50px\] at (1) should be [50px\]]
+ expected: FAIL
+
+ [Web Animations: property <width> from [unset\] to [50px\] at (1.5) should be [0px\]]
+ expected: FAIL
+
+ [Web Animations: property <width> from [auto\] to [50px\] at (-0.3) should be [180px\]]
+ expected: FAIL
+
+ [Web Animations: property <width> from [auto\] to [50px\] at (0) should be [150px\]]
+ expected: FAIL
+
+ [Web Animations: property <width> from [auto\] to [50px\] at (0.3) should be [120px\]]
+ expected: FAIL
+
+ [Web Animations: property <width> from [auto\] to [50px\] at (0.6) should be [90px\]]
+ expected: FAIL
+
+ [Web Animations: property <width> from [auto\] to [50px\] at (1) should be [50px\]]
+ expected: FAIL
+
+ [Web Animations: property <width> from [auto\] to [50px\] at (1.5) should be [0px\]]
+ expected: FAIL
+
+ [CSS Transitions with transition-behavior:allow-discrete: property <width> from [auto\] to [fit-content\] at (-0.3) should be [auto\]]
+ expected: FAIL
+
+ [CSS Transitions with transition-behavior:allow-discrete: property <width> from [auto\] to [fit-content\] at (0) should be [auto\]]
+ expected: FAIL
+
+ [CSS Transitions with transition-behavior:allow-discrete: property <width> from [auto\] to [fit-content\] at (0.3) should be [auto\]]
+ expected: FAIL
+
+ [CSS Transitions with transition-behavior:allow-discrete: property <width> from [auto\] to [fit-content\] at (0.5) should be [fit-content\]]
+ expected: FAIL
+
+ [CSS Transitions with transition-behavior:allow-discrete: property <width> from [auto\] to [fit-content\] at (0.6) should be [fit-content\]]
+ expected: FAIL
+
+ [CSS Transitions with transition-behavior:allow-discrete: property <width> from [auto\] to [fit-content\] at (1) should be [fit-content\]]
+ expected: FAIL
+
+ [CSS Transitions with transition-behavior:allow-discrete: property <width> from [auto\] to [fit-content\] at (1.5) should be [fit-content\]]
+ expected: FAIL
+
+ [CSS Transitions with transition-property:all and transition-behavor:allow-discrete: property <width> from [auto\] to [fit-content\] at (-0.3) should be [auto\]]
+ expected: FAIL
+
+ [CSS Transitions with transition-property:all and transition-behavor:allow-discrete: property <width> from [auto\] to [fit-content\] at (0) should be [auto\]]
+ expected: FAIL
+
+ [CSS Transitions with transition-property:all and transition-behavor:allow-discrete: property <width> from [auto\] to [fit-content\] at (0.3) should be [auto\]]
+ expected: FAIL
+
+ [CSS Transitions with transition-property:all and transition-behavor:allow-discrete: property <width> from [auto\] to [fit-content\] at (0.5) should be [fit-content\]]
+ expected: FAIL
+
+ [CSS Transitions with transition-property:all and transition-behavor:allow-discrete: property <width> from [auto\] to [fit-content\] at (0.6) should be [fit-content\]]
+ expected: FAIL
+
+ [CSS Transitions with transition-property:all and transition-behavor:allow-discrete: property <width> from [auto\] to [fit-content\] at (1) should be [fit-content\]]
+ expected: FAIL
+
+ [CSS Transitions with transition-property:all and transition-behavor:allow-discrete: property <width> from [auto\] to [fit-content\] at (1.5) should be [fit-content\]]
+ expected: FAIL
+
+ [CSS Transitions: property <width> from [auto\] to [fit-content\] at (-0.3) should be [fit-content\]]
+ expected: FAIL
+
+ [CSS Transitions: property <width> from [auto\] to [fit-content\] at (0) should be [fit-content\]]
+ expected: FAIL
+
+ [CSS Transitions: property <width> from [auto\] to [fit-content\] at (0.3) should be [fit-content\]]
+ expected: FAIL
+
+ [CSS Transitions: property <width> from [auto\] to [fit-content\] at (0.5) should be [fit-content\]]
+ expected: FAIL
+
+ [CSS Transitions: property <width> from [auto\] to [fit-content\] at (0.6) should be [fit-content\]]
+ expected: FAIL
+
+ [CSS Transitions: property <width> from [auto\] to [fit-content\] at (1) should be [fit-content\]]
+ expected: FAIL
+
+ [CSS Transitions: property <width> from [auto\] to [fit-content\] at (1.5) should be [fit-content\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <width> from [auto\] to [fit-content\] at (-0.3) should be [fit-content\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <width> from [auto\] to [fit-content\] at (0) should be [fit-content\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <width> from [auto\] to [fit-content\] at (0.3) should be [fit-content\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <width> from [auto\] to [fit-content\] at (0.5) should be [fit-content\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <width> from [auto\] to [fit-content\] at (0.6) should be [fit-content\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <width> from [auto\] to [fit-content\] at (1) should be [fit-content\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <width> from [auto\] to [fit-content\] at (1.5) should be [fit-content\]]
+ expected: FAIL
+
+ [CSS Animations: property <width> from [auto\] to [fit-content\] at (-0.3) should be [auto\]]
+ expected: FAIL
+
+ [CSS Animations: property <width> from [auto\] to [fit-content\] at (0) should be [auto\]]
+ expected: FAIL
+
+ [CSS Animations: property <width> from [auto\] to [fit-content\] at (0.3) should be [auto\]]
+ expected: FAIL
+
+ [CSS Animations: property <width> from [auto\] to [fit-content\] at (0.5) should be [fit-content\]]
+ expected: FAIL
+
+ [CSS Animations: property <width> from [auto\] to [fit-content\] at (0.6) should be [fit-content\]]
+ expected: FAIL
+
+ [CSS Animations: property <width> from [auto\] to [fit-content\] at (1) should be [fit-content\]]
+ expected: FAIL
+
+ [CSS Animations: property <width> from [auto\] to [fit-content\] at (1.5) should be [fit-content\]]
+ expected: FAIL
+
+ [Web Animations: property <width> from [auto\] to [fit-content\] at (-0.3) should be [auto\]]
+ expected: FAIL
+
+ [Web Animations: property <width> from [auto\] to [fit-content\] at (0) should be [auto\]]
+ expected: FAIL
+
+ [Web Animations: property <width> from [auto\] to [fit-content\] at (0.3) should be [auto\]]
+ expected: FAIL
+
+ [Web Animations: property <width> from [auto\] to [fit-content\] at (0.5) should be [fit-content\]]
+ expected: FAIL
+
+ [Web Animations: property <width> from [auto\] to [fit-content\] at (0.6) should be [fit-content\]]
+ expected: FAIL
+
+ [Web Animations: property <width> from [auto\] to [fit-content\] at (1) should be [fit-content\]]
+ expected: FAIL
+
+ [Web Animations: property <width> from [auto\] to [fit-content\] at (1.5) should be [fit-content\]]
+ expected: FAIL
+
+ [CSS Transitions with transition-behavior:allow-discrete: property <width> from [stretch\] to [auto\] at (-0.3) should be [stretch\]]
+ expected: FAIL
+
+ [CSS Transitions with transition-behavior:allow-discrete: property <width> from [stretch\] to [auto\] at (0) should be [stretch\]]
+ expected: FAIL
+
+ [CSS Transitions with transition-behavior:allow-discrete: property <width> from [stretch\] to [auto\] at (0.3) should be [stretch\]]
+ expected: FAIL
+
+ [CSS Transitions with transition-behavior:allow-discrete: property <width> from [stretch\] to [auto\] at (0.5) should be [auto\]]
+ expected: FAIL
+
+ [CSS Transitions with transition-behavior:allow-discrete: property <width> from [stretch\] to [auto\] at (0.6) should be [auto\]]
+ expected: FAIL
+
+ [CSS Transitions with transition-behavior:allow-discrete: property <width> from [stretch\] to [auto\] at (1) should be [auto\]]
+ expected: FAIL
+
+ [CSS Transitions with transition-behavior:allow-discrete: property <width> from [stretch\] to [auto\] at (1.5) should be [auto\]]
+ expected: FAIL
+
+ [CSS Transitions with transition-property:all and transition-behavor:allow-discrete: property <width> from [stretch\] to [auto\] at (-0.3) should be [stretch\]]
+ expected: FAIL
+
+ [CSS Transitions with transition-property:all and transition-behavor:allow-discrete: property <width> from [stretch\] to [auto\] at (0) should be [stretch\]]
+ expected: FAIL
+
+ [CSS Transitions with transition-property:all and transition-behavor:allow-discrete: property <width> from [stretch\] to [auto\] at (0.3) should be [stretch\]]
+ expected: FAIL
+
+ [CSS Transitions with transition-property:all and transition-behavor:allow-discrete: property <width> from [stretch\] to [auto\] at (0.5) should be [auto\]]
+ expected: FAIL
+
+ [CSS Transitions with transition-property:all and transition-behavor:allow-discrete: property <width> from [stretch\] to [auto\] at (0.6) should be [auto\]]
+ expected: FAIL
+
+ [CSS Transitions with transition-property:all and transition-behavor:allow-discrete: property <width> from [stretch\] to [auto\] at (1) should be [auto\]]
+ expected: FAIL
+
+ [CSS Transitions with transition-property:all and transition-behavor:allow-discrete: property <width> from [stretch\] to [auto\] at (1.5) should be [auto\]]
+ expected: FAIL
+
+ [CSS Transitions: property <width> from [stretch\] to [auto\] at (-0.3) should be [auto\]]
+ expected: FAIL
+
+ [CSS Transitions: property <width> from [stretch\] to [auto\] at (0) should be [auto\]]
+ expected: FAIL
+
+ [CSS Transitions: property <width> from [stretch\] to [auto\] at (0.3) should be [auto\]]
+ expected: FAIL
+
+ [CSS Transitions: property <width> from [stretch\] to [auto\] at (0.5) should be [auto\]]
+ expected: FAIL
+
+ [CSS Transitions: property <width> from [stretch\] to [auto\] at (0.6) should be [auto\]]
+ expected: FAIL
+
+ [CSS Transitions: property <width> from [stretch\] to [auto\] at (1) should be [auto\]]
+ expected: FAIL
+
+ [CSS Transitions: property <width> from [stretch\] to [auto\] at (1.5) should be [auto\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <width> from [stretch\] to [auto\] at (-0.3) should be [auto\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <width> from [stretch\] to [auto\] at (0) should be [auto\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <width> from [stretch\] to [auto\] at (0.3) should be [auto\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <width> from [stretch\] to [auto\] at (0.5) should be [auto\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <width> from [stretch\] to [auto\] at (0.6) should be [auto\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <width> from [stretch\] to [auto\] at (1) should be [auto\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <width> from [stretch\] to [auto\] at (1.5) should be [auto\]]
+ expected: FAIL
+
+ [CSS Animations: property <width> from [stretch\] to [auto\] at (-0.3) should be [stretch\]]
+ expected: FAIL
+
+ [CSS Animations: property <width> from [stretch\] to [auto\] at (0) should be [stretch\]]
+ expected: FAIL
+
+ [CSS Animations: property <width> from [stretch\] to [auto\] at (0.3) should be [stretch\]]
+ expected: FAIL
+
+ [CSS Animations: property <width> from [stretch\] to [auto\] at (0.5) should be [auto\]]
+ expected: FAIL
+
+ [CSS Animations: property <width> from [stretch\] to [auto\] at (0.6) should be [auto\]]
+ expected: FAIL
+
+ [CSS Animations: property <width> from [stretch\] to [auto\] at (1) should be [auto\]]
+ expected: FAIL
+
+ [CSS Animations: property <width> from [stretch\] to [auto\] at (1.5) should be [auto\]]
+ expected: FAIL
+
+ [Web Animations: property <width> from [stretch\] to [auto\] at (-0.3) should be [stretch\]]
+ expected: FAIL
+
+ [Web Animations: property <width> from [stretch\] to [auto\] at (0) should be [stretch\]]
+ expected: FAIL
+
+ [Web Animations: property <width> from [stretch\] to [auto\] at (0.3) should be [stretch\]]
+ expected: FAIL
+
+ [Web Animations: property <width> from [stretch\] to [auto\] at (0.5) should be [auto\]]
+ expected: FAIL
+
+ [Web Animations: property <width> from [stretch\] to [auto\] at (0.6) should be [auto\]]
+ expected: FAIL
+
+ [Web Animations: property <width> from [stretch\] to [auto\] at (1) should be [auto\]]
+ expected: FAIL
+
+ [Web Animations: property <width> from [stretch\] to [auto\] at (1.5) should be [auto\]]
+ expected: FAIL
+
+ [CSS Transitions: property <width> from [200px\] to [fit-content\] at (-0.3) should be [230px\]]
+ expected: FAIL
+
+ [CSS Transitions: property <width> from [200px\] to [fit-content\] at (0) should be [200px\]]
+ expected: FAIL
+
+ [CSS Transitions: property <width> from [200px\] to [fit-content\] at (0.3) should be [170px\]]
+ expected: FAIL
+
+ [CSS Transitions: property <width> from [200px\] to [fit-content\] at (0.6) should be [140px\]]
+ expected: FAIL
+
+ [CSS Transitions: property <width> from [200px\] to [fit-content\] at (1) should be [100px\]]
+ expected: FAIL
+
+ [CSS Transitions: property <width> from [200px\] to [fit-content\] at (1.5) should be [50px\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <width> from [200px\] to [fit-content\] at (-0.3) should be [230px\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <width> from [200px\] to [fit-content\] at (0) should be [200px\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <width> from [200px\] to [fit-content\] at (0.3) should be [170px\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <width> from [200px\] to [fit-content\] at (0.6) should be [140px\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <width> from [200px\] to [fit-content\] at (1) should be [100px\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <width> from [200px\] to [fit-content\] at (1.5) should be [50px\]]
+ expected: FAIL
+
+ [CSS Animations: property <width> from [200px\] to [fit-content\] at (-0.3) should be [230px\]]
+ expected: FAIL
+
+ [CSS Animations: property <width> from [200px\] to [fit-content\] at (0) should be [200px\]]
+ expected: FAIL
+
+ [CSS Animations: property <width> from [200px\] to [fit-content\] at (0.3) should be [170px\]]
+ expected: FAIL
+
+ [CSS Animations: property <width> from [200px\] to [fit-content\] at (0.6) should be [140px\]]
+ expected: FAIL
+
+ [CSS Animations: property <width> from [200px\] to [fit-content\] at (1) should be [100px\]]
+ expected: FAIL
+
+ [CSS Animations: property <width> from [200px\] to [fit-content\] at (1.5) should be [50px\]]
+ expected: FAIL
+
+ [Web Animations: property <width> from [200px\] to [fit-content\] at (-0.3) should be [230px\]]
+ expected: FAIL
+
+ [Web Animations: property <width> from [200px\] to [fit-content\] at (0) should be [200px\]]
+ expected: FAIL
+
+ [Web Animations: property <width> from [200px\] to [fit-content\] at (0.3) should be [170px\]]
+ expected: FAIL
+
+ [Web Animations: property <width> from [200px\] to [fit-content\] at (0.6) should be [140px\]]
+ expected: FAIL
+
+ [Web Animations: property <width> from [200px\] to [fit-content\] at (1) should be [100px\]]
+ expected: FAIL
+
+ [Web Animations: property <width> from [200px\] to [fit-content\] at (1.5) should be [50px\]]
+ expected: FAIL
+
+ [CSS Transitions with transition-behavior:allow-discrete: property <width> from [max-content\] to [min-content\] at (-0.3) should be [max-content\]]
+ expected: FAIL
+
+ [CSS Transitions with transition-behavior:allow-discrete: property <width> from [max-content\] to [min-content\] at (0) should be [max-content\]]
+ expected: FAIL
+
+ [CSS Transitions with transition-behavior:allow-discrete: property <width> from [max-content\] to [min-content\] at (0.3) should be [max-content\]]
+ expected: FAIL
+
+ [CSS Transitions with transition-behavior:allow-discrete: property <width> from [max-content\] to [min-content\] at (0.5) should be [min-content\]]
+ expected: FAIL
+
+ [CSS Transitions with transition-behavior:allow-discrete: property <width> from [max-content\] to [min-content\] at (0.6) should be [min-content\]]
+ expected: FAIL
+
+ [CSS Transitions with transition-behavior:allow-discrete: property <width> from [max-content\] to [min-content\] at (1) should be [min-content\]]
+ expected: FAIL
+
+ [CSS Transitions with transition-behavior:allow-discrete: property <width> from [max-content\] to [min-content\] at (1.5) should be [min-content\]]
+ expected: FAIL
+
+ [CSS Transitions with transition-property:all and transition-behavor:allow-discrete: property <width> from [max-content\] to [min-content\] at (-0.3) should be [max-content\]]
+ expected: FAIL
+
+ [CSS Transitions with transition-property:all and transition-behavor:allow-discrete: property <width> from [max-content\] to [min-content\] at (0) should be [max-content\]]
+ expected: FAIL
+
+ [CSS Transitions with transition-property:all and transition-behavor:allow-discrete: property <width> from [max-content\] to [min-content\] at (0.3) should be [max-content\]]
+ expected: FAIL
+
+ [CSS Transitions with transition-property:all and transition-behavor:allow-discrete: property <width> from [max-content\] to [min-content\] at (0.5) should be [min-content\]]
+ expected: FAIL
+
+ [CSS Transitions with transition-property:all and transition-behavor:allow-discrete: property <width> from [max-content\] to [min-content\] at (0.6) should be [min-content\]]
+ expected: FAIL
+
+ [CSS Transitions with transition-property:all and transition-behavor:allow-discrete: property <width> from [max-content\] to [min-content\] at (1) should be [min-content\]]
+ expected: FAIL
+
+ [CSS Transitions with transition-property:all and transition-behavor:allow-discrete: property <width> from [max-content\] to [min-content\] at (1.5) should be [min-content\]]
+ expected: FAIL
+
+ [CSS Transitions: property <width> from [max-content\] to [min-content\] at (-0.3) should be [min-content\]]
+ expected: FAIL
+
+ [CSS Transitions: property <width> from [max-content\] to [min-content\] at (0) should be [min-content\]]
+ expected: FAIL
+
+ [CSS Transitions: property <width> from [max-content\] to [min-content\] at (0.3) should be [min-content\]]
+ expected: FAIL
+
+ [CSS Transitions: property <width> from [max-content\] to [min-content\] at (0.5) should be [min-content\]]
+ expected: FAIL
+
+ [CSS Transitions: property <width> from [max-content\] to [min-content\] at (0.6) should be [min-content\]]
+ expected: FAIL
+
+ [CSS Transitions: property <width> from [max-content\] to [min-content\] at (1) should be [min-content\]]
+ expected: FAIL
+
+ [CSS Transitions: property <width> from [max-content\] to [min-content\] at (1.5) should be [min-content\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <width> from [max-content\] to [min-content\] at (-0.3) should be [min-content\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <width> from [max-content\] to [min-content\] at (0) should be [min-content\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <width> from [max-content\] to [min-content\] at (0.3) should be [min-content\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <width> from [max-content\] to [min-content\] at (0.5) should be [min-content\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <width> from [max-content\] to [min-content\] at (0.6) should be [min-content\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <width> from [max-content\] to [min-content\] at (1) should be [min-content\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <width> from [max-content\] to [min-content\] at (1.5) should be [min-content\]]
+ expected: FAIL
+
+ [CSS Animations: property <width> from [max-content\] to [min-content\] at (-0.3) should be [max-content\]]
+ expected: FAIL
+
+ [CSS Animations: property <width> from [max-content\] to [min-content\] at (0) should be [max-content\]]
+ expected: FAIL
+
+ [CSS Animations: property <width> from [max-content\] to [min-content\] at (0.3) should be [max-content\]]
+ expected: FAIL
+
+ [CSS Animations: property <width> from [max-content\] to [min-content\] at (0.5) should be [min-content\]]
+ expected: FAIL
+
+ [CSS Animations: property <width> from [max-content\] to [min-content\] at (0.6) should be [min-content\]]
+ expected: FAIL
+
+ [CSS Animations: property <width> from [max-content\] to [min-content\] at (1) should be [min-content\]]
+ expected: FAIL
+
+ [CSS Animations: property <width> from [max-content\] to [min-content\] at (1.5) should be [min-content\]]
+ expected: FAIL
+
+ [Web Animations: property <width> from [max-content\] to [min-content\] at (-0.3) should be [max-content\]]
+ expected: FAIL
+
+ [Web Animations: property <width> from [max-content\] to [min-content\] at (0) should be [max-content\]]
+ expected: FAIL
+
+ [Web Animations: property <width> from [max-content\] to [min-content\] at (0.3) should be [max-content\]]
+ expected: FAIL
+
+ [Web Animations: property <width> from [max-content\] to [min-content\] at (0.5) should be [min-content\]]
+ expected: FAIL
+
+ [Web Animations: property <width> from [max-content\] to [min-content\] at (0.6) should be [min-content\]]
+ expected: FAIL
+
+ [Web Animations: property <width> from [max-content\] to [min-content\] at (1) should be [min-content\]]
+ expected: FAIL
+
+ [Web Animations: property <width> from [max-content\] to [min-content\] at (1.5) should be [min-content\]]
+ expected: FAIL
+
+ [CSS Transitions: property <width> from [max-content\] to neutral at (-0.3) should be [115px\]]
+ expected: FAIL
+
+ [CSS Transitions: property <width> from [max-content\] to neutral at (0) should be [100px\]]
+ expected: FAIL
+
+ [CSS Transitions: property <width> from [max-content\] to neutral at (0.3) should be [85px\]]
+ expected: FAIL
+
+ [CSS Transitions: property <width> from [max-content\] to neutral at (0.6) should be [70px\]]
+ expected: FAIL
+
+ [CSS Transitions: property <width> from [max-content\] to neutral at (1) should be [50px\]]
+ expected: FAIL
+
+ [CSS Transitions: property <width> from [max-content\] to neutral at (1.5) should be [25px\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <width> from [max-content\] to neutral at (-0.3) should be [115px\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <width> from [max-content\] to neutral at (0) should be [100px\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <width> from [max-content\] to neutral at (0.3) should be [85px\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <width> from [max-content\] to neutral at (0.6) should be [70px\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <width> from [max-content\] to neutral at (1) should be [50px\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <width> from [max-content\] to neutral at (1.5) should be [25px\]]
+ expected: FAIL
+
+ [CSS Animations: property <width> from [max-content\] to neutral at (-0.3) should be [115px\]]
+ expected: FAIL
+
+ [CSS Animations: property <width> from [max-content\] to neutral at (0) should be [100px\]]
+ expected: FAIL
+
+ [CSS Animations: property <width> from [max-content\] to neutral at (0.3) should be [85px\]]
+ expected: FAIL
+
+ [CSS Animations: property <width> from [max-content\] to neutral at (0.6) should be [70px\]]
+ expected: FAIL
+
+ [CSS Animations: property <width> from [max-content\] to neutral at (1) should be [50px\]]
+ expected: FAIL
+
+ [CSS Animations: property <width> from [max-content\] to neutral at (1.5) should be [25px\]]
+ expected: FAIL
+
+ [Web Animations: property <width> from [max-content\] to neutral at (-0.3) should be [115px\]]
+ expected: FAIL
+
+ [Web Animations: property <width> from [max-content\] to neutral at (0) should be [100px\]]
+ expected: FAIL
+
+ [Web Animations: property <width> from [max-content\] to neutral at (0.3) should be [85px\]]
+ expected: FAIL
+
+ [Web Animations: property <width> from [max-content\] to neutral at (0.6) should be [70px\]]
+ expected: FAIL
+
+ [Web Animations: property <width> from [max-content\] to neutral at (1) should be [50px\]]
+ expected: FAIL
+
+ [Web Animations: property <width> from [max-content\] to neutral at (1.5) should be [25px\]]
+ expected: FAIL
+
+ [CSS Transitions: property <width> from neutral to [min-content\] at (-0.3) should be [35px\]]
+ expected: FAIL
+
+ [CSS Transitions: property <width> from neutral to [min-content\] at (0) should be [50px\]]
+ expected: FAIL
+
+ [CSS Transitions: property <width> from neutral to [min-content\] at (0.3) should be [65px\]]
+ expected: FAIL
+
+ [CSS Transitions: property <width> from neutral to [min-content\] at (0.6) should be [80px\]]
+ expected: FAIL
+
+ [CSS Transitions: property <width> from neutral to [min-content\] at (1) should be [100px\]]
+ expected: FAIL
+
+ [CSS Transitions: property <width> from neutral to [min-content\] at (1.5) should be [125px\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <width> from neutral to [min-content\] at (-0.3) should be [35px\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <width> from neutral to [min-content\] at (0) should be [50px\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <width> from neutral to [min-content\] at (0.3) should be [65px\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <width> from neutral to [min-content\] at (0.6) should be [80px\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <width> from neutral to [min-content\] at (1) should be [100px\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <width> from neutral to [min-content\] at (1.5) should be [125px\]]
+ expected: FAIL
+
+ [CSS Animations: property <width> from neutral to [min-content\] at (-0.3) should be [35px\]]
+ expected: FAIL
+
+ [CSS Animations: property <width> from neutral to [min-content\] at (0) should be [50px\]]
+ expected: FAIL
+
+ [CSS Animations: property <width> from neutral to [min-content\] at (0.3) should be [65px\]]
+ expected: FAIL
+
+ [CSS Animations: property <width> from neutral to [min-content\] at (0.6) should be [80px\]]
+ expected: FAIL
+
+ [CSS Animations: property <width> from neutral to [min-content\] at (1) should be [100px\]]
+ expected: FAIL
+
+ [CSS Animations: property <width> from neutral to [min-content\] at (1.5) should be [125px\]]
+ expected: FAIL
+
+ [Web Animations: property <width> from neutral to [min-content\] at (-0.3) should be [35px\]]
+ expected: FAIL
+
+ [Web Animations: property <width> from neutral to [min-content\] at (0) should be [50px\]]
+ expected: FAIL
+
+ [Web Animations: property <width> from neutral to [min-content\] at (0.3) should be [65px\]]
+ expected: FAIL
+
+ [Web Animations: property <width> from neutral to [min-content\] at (0.6) should be [80px\]]
+ expected: FAIL
+
+ [Web Animations: property <width> from neutral to [min-content\] at (1) should be [100px\]]
+ expected: FAIL
+
+ [Web Animations: property <width> from neutral to [min-content\] at (1.5) should be [125px\]]
+ 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 998e202dbc3..07e762043c2 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
@@ -73,3 +73,39 @@
[e.style['width'\] = "calc-size(calc-size(30px))" should set the property value]
expected: FAIL
+
+ [e.style['width'\] = "calc-size(max-content, size)" should set the property value]
+ expected: FAIL
+
+ [e.style['height'\] = "calc-size(max-content, size)" should set the property value]
+ expected: FAIL
+
+ [e.style['max-width'\] = "calc-size(max-content, size)" should set the property value]
+ expected: FAIL
+
+ [e.style['max-height'\] = "calc-size(max-content, size)" should set the property value]
+ expected: FAIL
+
+ [e.style['min-width'\] = "calc-size(max-content, size)" should set the property value]
+ expected: FAIL
+
+ [e.style['min-height'\] = "calc-size(max-content, size)" should set the property value]
+ expected: FAIL
+
+ [e.style['block-size'\] = "calc-size(max-content, size)" should set the property value]
+ expected: FAIL
+
+ [e.style['inline-size'\] = "calc-size(max-content, size)" should set the property value]
+ expected: FAIL
+
+ [e.style['max-block-size'\] = "calc-size(max-content, size)" should set the property value]
+ expected: FAIL
+
+ [e.style['max-inline-size'\] = "calc-size(max-content, size)" should set the property value]
+ expected: FAIL
+
+ [e.style['min-block-size'\] = "calc-size(max-content, size)" should set the property value]
+ expected: FAIL
+
+ [e.style['min-inline-size'\] = "calc-size(max-content, size)" should set the property value]
+ expected: FAIL
diff --git a/tests/wpt/meta-legacy-layout/fetch/metadata/generated/css-font-face.sub.tentative.html.ini b/tests/wpt/meta-legacy-layout/fetch/metadata/generated/css-font-face.sub.tentative.html.ini
index 349ae97cf12..fe95022ae6e 100644
--- a/tests/wpt/meta-legacy-layout/fetch/metadata/generated/css-font-face.sub.tentative.html.ini
+++ b/tests/wpt/meta-legacy-layout/fetch/metadata/generated/css-font-face.sub.tentative.html.ini
@@ -31,6 +31,3 @@
[sec-fetch-dest - Not sent to non-trustworthy same-site destination]
expected: FAIL
-
- [sec-fetch-user - Not sent to non-trustworthy cross-site destination]
- expected: FAIL
diff --git a/tests/wpt/meta-legacy-layout/html/browsers/browsing-the-web/navigating-across-documents/empty-iframe-load-event.html.ini b/tests/wpt/meta-legacy-layout/html/browsers/browsing-the-web/navigating-across-documents/empty-iframe-load-event.html.ini
new file mode 100644
index 00000000000..3e07e6b7d1f
--- /dev/null
+++ b/tests/wpt/meta-legacy-layout/html/browsers/browsing-the-web/navigating-across-documents/empty-iframe-load-event.html.ini
@@ -0,0 +1,6 @@
+[empty-iframe-load-event.html]
+ [Check execution order from nested timeout]
+ expected: FAIL
+
+ [Check execution order on load handler]
+ expected: FAIL
diff --git a/tests/wpt/meta-legacy-layout/html/browsers/browsing-the-web/navigating-across-documents/initial-empty-document/load-pageshow-events-window-open.html.ini b/tests/wpt/meta-legacy-layout/html/browsers/browsing-the-web/navigating-across-documents/initial-empty-document/load-pageshow-events-window-open.html.ini
index 324db3d9b35..5aef7ce66ce 100644
--- a/tests/wpt/meta-legacy-layout/html/browsers/browsing-the-web/navigating-across-documents/initial-empty-document/load-pageshow-events-window-open.html.ini
+++ b/tests/wpt/meta-legacy-layout/html/browsers/browsing-the-web/navigating-across-documents/initial-empty-document/load-pageshow-events-window-open.html.ini
@@ -10,3 +10,6 @@
[load event does not fire on window.open('about:blank?foo')]
expected: FAIL
+
+ [load event does not fire on window.open('about:blank')]
+ expected: FAIL
diff --git a/tests/wpt/meta-legacy-layout/html/browsers/browsing-the-web/navigating-across-documents/navigation-unload-same-origin.window.js.ini b/tests/wpt/meta-legacy-layout/html/browsers/browsing-the-web/navigating-across-documents/navigation-unload-same-origin.window.js.ini
deleted file mode 100644
index 7dc346632a4..00000000000
--- a/tests/wpt/meta-legacy-layout/html/browsers/browsing-the-web/navigating-across-documents/navigation-unload-same-origin.window.js.ini
+++ /dev/null
@@ -1,3 +0,0 @@
-[navigation-unload-same-origin.window.html]
- [Same-origin navigation started from unload handler must be ignored]
- expected: FAIL
diff --git a/tests/wpt/meta-legacy-layout/html/browsers/history/the-history-interface/traverse_the_history_5.html.ini b/tests/wpt/meta-legacy-layout/html/browsers/history/the-history-interface/traverse_the_history_5.html.ini
new file mode 100644
index 00000000000..7a5fcb79165
--- /dev/null
+++ b/tests/wpt/meta-legacy-layout/html/browsers/history/the-history-interface/traverse_the_history_5.html.ini
@@ -0,0 +1,3 @@
+[traverse_the_history_5.html]
+ [Multiple history traversals, last would be aborted]
+ expected: FAIL
diff --git a/tests/wpt/meta-legacy-layout/html/canvas/element/manual/imagebitmap/createImageBitmap-invalid-args.html.ini b/tests/wpt/meta-legacy-layout/html/canvas/element/manual/imagebitmap/createImageBitmap-invalid-args.html.ini
index f37d61b11a6..191de56c828 100644
--- a/tests/wpt/meta-legacy-layout/html/canvas/element/manual/imagebitmap/createImageBitmap-invalid-args.html.ini
+++ b/tests/wpt/meta-legacy-layout/html/canvas/element/manual/imagebitmap/createImageBitmap-invalid-args.html.ini
@@ -260,4 +260,3 @@
[createImageBitmap with a Blob source and a value of 0 in resizeHeight]
expected: NOTRUN
-
diff --git a/tests/wpt/meta-legacy-layout/html/canvas/element/manual/imagebitmap/createImageBitmap-transfer.html.ini b/tests/wpt/meta-legacy-layout/html/canvas/element/manual/imagebitmap/createImageBitmap-transfer.html.ini
index 880d455e2d1..5d2657041d1 100644
--- a/tests/wpt/meta-legacy-layout/html/canvas/element/manual/imagebitmap/createImageBitmap-transfer.html.ini
+++ b/tests/wpt/meta-legacy-layout/html/canvas/element/manual/imagebitmap/createImageBitmap-transfer.html.ini
@@ -1,5 +1,5 @@
[createImageBitmap-transfer.html]
- expected: TIMEOUT
+ expected: ERROR
[Transfer ImageBitmap created from a vector HTMLImageElement]
expected: FAIL
@@ -35,4 +35,3 @@
[Transferring a non-origin-clean ImageBitmap throws.]
expected: NOTRUN
-
diff --git a/tests/wpt/meta-legacy-layout/html/canvas/element/scroll/2d.scrollPathIntoView.basic.html.ini b/tests/wpt/meta-legacy-layout/html/canvas/element/scroll/2d.scrollPathIntoView.basic.html.ini
deleted file mode 100644
index 1dfa4dc645b..00000000000
--- a/tests/wpt/meta-legacy-layout/html/canvas/element/scroll/2d.scrollPathIntoView.basic.html.ini
+++ /dev/null
@@ -1,4 +0,0 @@
-[2d.scrollPathIntoView.basic.html]
- [scrollPathIntoView() works]
- expected: FAIL
-
diff --git a/tests/wpt/meta-legacy-layout/html/canvas/element/scroll/2d.scrollPathIntoView.path.html.ini b/tests/wpt/meta-legacy-layout/html/canvas/element/scroll/2d.scrollPathIntoView.path.html.ini
deleted file mode 100644
index 9424d8df4f8..00000000000
--- a/tests/wpt/meta-legacy-layout/html/canvas/element/scroll/2d.scrollPathIntoView.path.html.ini
+++ /dev/null
@@ -1,4 +0,0 @@
-[2d.scrollPathIntoView.path.html]
- [scrollPathIntoView() with path argument works]
- expected: FAIL
-
diff --git a/tests/wpt/meta-legacy-layout/html/canvas/element/scroll/2d.scrollPathIntoView.verticalLR.html.ini b/tests/wpt/meta-legacy-layout/html/canvas/element/scroll/2d.scrollPathIntoView.verticalLR.html.ini
deleted file mode 100644
index f15be9112ad..00000000000
--- a/tests/wpt/meta-legacy-layout/html/canvas/element/scroll/2d.scrollPathIntoView.verticalLR.html.ini
+++ /dev/null
@@ -1,4 +0,0 @@
-[2d.scrollPathIntoView.verticalLR.html]
- [scrollPathIntoView() works in vertical-lr writing mode]
- expected: FAIL
-
diff --git a/tests/wpt/meta-legacy-layout/html/canvas/element/scroll/2d.scrollPathIntoView.verticalRL.html.ini b/tests/wpt/meta-legacy-layout/html/canvas/element/scroll/2d.scrollPathIntoView.verticalRL.html.ini
deleted file mode 100644
index 37aa1c76d82..00000000000
--- a/tests/wpt/meta-legacy-layout/html/canvas/element/scroll/2d.scrollPathIntoView.verticalRL.html.ini
+++ /dev/null
@@ -1,4 +0,0 @@
-[2d.scrollPathIntoView.verticalRL.html]
- [scrollPathIntoView() works in vertical-rl writing mode]
- expected: FAIL
-
diff --git a/tests/wpt/meta-legacy-layout/html/canvas/element/text/2d.text.drawing.style.measure.rtl.text.html.ini b/tests/wpt/meta-legacy-layout/html/canvas/element/text/2d.text.drawing.style.measure.rtl.text.html.ini
deleted file mode 100644
index 370a19f75d2..00000000000
--- a/tests/wpt/meta-legacy-layout/html/canvas/element/text/2d.text.drawing.style.measure.rtl.text.html.ini
+++ /dev/null
@@ -1,3 +0,0 @@
-[2d.text.drawing.style.measure.rtl.text.html]
- [Measurement should follow canvas direction instead text direction]
- expected: FAIL
diff --git a/tests/wpt/meta-legacy-layout/html/canvas/element/text/2d.text.drawing.style.measure.textAlign.html.ini b/tests/wpt/meta-legacy-layout/html/canvas/element/text/2d.text.drawing.style.measure.textAlign.html.ini
deleted file mode 100644
index 6d8e70c072f..00000000000
--- a/tests/wpt/meta-legacy-layout/html/canvas/element/text/2d.text.drawing.style.measure.textAlign.html.ini
+++ /dev/null
@@ -1,3 +0,0 @@
-[2d.text.drawing.style.measure.textAlign.html]
- [Measurement should be related to textAlignment]
- expected: FAIL
diff --git a/tests/wpt/meta-legacy-layout/html/canvas/element/text/2d.text.fontVariantCaps2.html.ini b/tests/wpt/meta-legacy-layout/html/canvas/element/text/2d.text.fontVariantCaps2.html.ini
deleted file mode 100644
index 53142ddcd6c..00000000000
--- a/tests/wpt/meta-legacy-layout/html/canvas/element/text/2d.text.fontVariantCaps2.html.ini
+++ /dev/null
@@ -1,3 +0,0 @@
-[2d.text.fontVariantCaps2.html]
- [Testing small caps setting in fontVariant]
- expected: FAIL
diff --git a/tests/wpt/meta-legacy-layout/html/canvas/element/text/2d.text.measure.getActualBoundingBox-exceptions.tentative.html.ini b/tests/wpt/meta-legacy-layout/html/canvas/element/text/2d.text.measure.getActualBoundingBox-exceptions.tentative.html.ini
index 26263231bef..2d35306eab0 100644
--- a/tests/wpt/meta-legacy-layout/html/canvas/element/text/2d.text.measure.getActualBoundingBox-exceptions.tentative.html.ini
+++ b/tests/wpt/meta-legacy-layout/html/canvas/element/text/2d.text.measure.getActualBoundingBox-exceptions.tentative.html.ini
@@ -1,2 +1,3 @@
[2d.text.measure.getActualBoundingBox-exceptions.tentative.html]
- expected: ERROR
+ [Check that TextMetrics::getActualBoundingBox() throws when using invalid indexes.]
+ expected: FAIL
diff --git a/tests/wpt/meta-legacy-layout/html/canvas/offscreen/text/2d.text.measure.getActualBoundingBox-exceptions.tentative.html.ini b/tests/wpt/meta-legacy-layout/html/canvas/offscreen/text/2d.text.measure.getActualBoundingBox-exceptions.tentative.html.ini
index 26263231bef..2d35306eab0 100644
--- a/tests/wpt/meta-legacy-layout/html/canvas/offscreen/text/2d.text.measure.getActualBoundingBox-exceptions.tentative.html.ini
+++ b/tests/wpt/meta-legacy-layout/html/canvas/offscreen/text/2d.text.measure.getActualBoundingBox-exceptions.tentative.html.ini
@@ -1,2 +1,3 @@
[2d.text.measure.getActualBoundingBox-exceptions.tentative.html]
- expected: ERROR
+ [Check that TextMetrics::getActualBoundingBox() throws when using invalid indexes.]
+ expected: FAIL
diff --git a/tests/wpt/meta-legacy-layout/html/canvas/offscreen/text/2d.text.measure.getActualBoundingBox-exceptions.tentative.worker.js.ini b/tests/wpt/meta-legacy-layout/html/canvas/offscreen/text/2d.text.measure.getActualBoundingBox-exceptions.tentative.worker.js.ini
index 615275f70fe..0a33e60450b 100644
--- a/tests/wpt/meta-legacy-layout/html/canvas/offscreen/text/2d.text.measure.getActualBoundingBox-exceptions.tentative.worker.js.ini
+++ b/tests/wpt/meta-legacy-layout/html/canvas/offscreen/text/2d.text.measure.getActualBoundingBox-exceptions.tentative.worker.js.ini
@@ -1,2 +1,3 @@
[2d.text.measure.getActualBoundingBox-exceptions.tentative.worker.html]
- expected: TIMEOUT
+ [Check that TextMetrics::getActualBoundingBox() throws when using invalid indexes.]
+ expected: FAIL
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 09c25efb089..d169bd2e9fa 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,5 +1,4 @@
[supported-elements.html]
- expected: TIMEOUT
[Contenteditable element should support autofocus]
expected: FAIL
@@ -7,10 +6,10 @@
expected: FAIL
[Host element with delegatesFocus including no focusable descendants should be skipped]
- expected: NOTRUN
+ expected: FAIL
[Area element should support autofocus]
- expected: NOTRUN
+ expected: FAIL
[Host element with delegatesFocus should support autofocus]
- expected: NOTRUN
+ expected: FAIL
diff --git a/tests/wpt/meta-legacy-layout/html/semantics/embedded-content/the-iframe-element/iframe-loading-lazy-nav-form-submit.html.ini b/tests/wpt/meta-legacy-layout/html/semantics/embedded-content/the-iframe-element/iframe-loading-lazy-nav-form-submit.html.ini
deleted file mode 100644
index 721952ed48a..00000000000
--- a/tests/wpt/meta-legacy-layout/html/semantics/embedded-content/the-iframe-element/iframe-loading-lazy-nav-form-submit.html.ini
+++ /dev/null
@@ -1,3 +0,0 @@
-[iframe-loading-lazy-nav-form-submit.html]
- [Navigating iframe loading='lazy' before it is loaded: form submit]
- expected: FAIL
diff --git a/tests/wpt/meta-legacy-layout/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_popups_escaping-1.html.ini b/tests/wpt/meta-legacy-layout/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_popups_escaping-1.html.ini
index e5994e21efc..25d9964f057 100644
--- a/tests/wpt/meta-legacy-layout/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_popups_escaping-1.html.ini
+++ b/tests/wpt/meta-legacy-layout/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_popups_escaping-1.html.ini
@@ -1,5 +1,4 @@
[iframe_sandbox_popups_escaping-1.html]
type: testharness
- expected: 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_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 68203d2a082..841bafc6eca 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,3 @@
[iframe_sandbox_popups_escaping-2.html]
- expected: CRASH
[Check that popups from a sandboxed iframe escape the sandbox if\n allow-popups-to-escape-sandbox is used]
- expected: TIMEOUT
+ expected: FAIL
diff --git a/tests/wpt/meta-legacy-layout/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_popups_escaping-3.html.ini b/tests/wpt/meta-legacy-layout/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_popups_escaping-3.html.ini
index fe55ddae3f1..a6c31bc671e 100644
--- a/tests/wpt/meta-legacy-layout/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_popups_escaping-3.html.ini
+++ b/tests/wpt/meta-legacy-layout/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_popups_escaping-3.html.ini
@@ -1,4 +1,4 @@
[iframe_sandbox_popups_escaping-3.html]
type: testharness
[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-legacy-layout/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_popups_nonescaping-1.html.ini b/tests/wpt/meta-legacy-layout/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_popups_nonescaping-1.html.ini
index f9138fb999a..bc56655a13c 100644
--- a/tests/wpt/meta-legacy-layout/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_popups_nonescaping-1.html.ini
+++ b/tests/wpt/meta-legacy-layout/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_popups_nonescaping-1.html.ini
@@ -2,4 +2,4 @@
type: testharness
expected: TIMEOUT
[Check that popups from a sandboxed iframe do not escape the sandbox]
- expected: NOTRUN
+ expected: FAIL
diff --git a/tests/wpt/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 76e34322dca..6bec7a732b8 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,4 @@
[iframe_sandbox_popups_nonescaping-2.html]
type: testharness
- expected: TIMEOUT
[Check that popups from a sandboxed iframe do not escape the sandbox]
- expected: NOTRUN
+ expected: FAIL
diff --git a/tests/wpt/meta-legacy-layout/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_popups_nonescaping-3.html.ini b/tests/wpt/meta-legacy-layout/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_popups_nonescaping-3.html.ini
index d5fd800f09d..ff6467094b8 100644
--- a/tests/wpt/meta-legacy-layout/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_popups_nonescaping-3.html.ini
+++ b/tests/wpt/meta-legacy-layout/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_popups_nonescaping-3.html.ini
@@ -1,4 +1,3 @@
[iframe_sandbox_popups_nonescaping-3.html]
- expected: TIMEOUT
[Check that popups from a sandboxed iframe do not escape the sandbox]
- expected: NOTRUN
+ expected: FAIL
diff --git a/tests/wpt/meta-legacy-layout/html/semantics/forms/the-select-element/stylable-select/select-parsing.tentative.html.ini b/tests/wpt/meta-legacy-layout/html/semantics/forms/the-select-element/stylable-select/select-parsing.tentative.html.ini
index ee79c0a08cd..85465f58574 100644
--- a/tests/wpt/meta-legacy-layout/html/semantics/forms/the-select-element/stylable-select/select-parsing.tentative.html.ini
+++ b/tests/wpt/meta-legacy-layout/html/semantics/forms/the-select-element/stylable-select/select-parsing.tentative.html.ini
@@ -16,3 +16,9 @@
[Nested <button>s or <datalist>s in <select> should be dropped.]
expected: FAIL
+
+ [<div>s, <button>s, and <datalist>s should be allowed in <select>.]
+ expected: FAIL
+
+ [Divs and imgs should be allowed as direct children of select and within options without a datalist.]
+ expected: FAIL
diff --git a/tests/wpt/meta-legacy-layout/quirks/line-height-in-list-item.html.ini b/tests/wpt/meta-legacy-layout/quirks/line-height-in-list-item.html.ini
new file mode 100644
index 00000000000..dc0b5c1dcc5
--- /dev/null
+++ b/tests/wpt/meta-legacy-layout/quirks/line-height-in-list-item.html.ini
@@ -0,0 +1,2 @@
+[line-height-in-list-item.html]
+ expected: FAIL
diff --git a/tests/wpt/meta-legacy-layout/quirks/line-height-in-list-item.tentative.html.ini b/tests/wpt/meta-legacy-layout/quirks/line-height-in-list-item.tentative.html.ini
deleted file mode 100644
index d7ad6098d4d..00000000000
--- a/tests/wpt/meta-legacy-layout/quirks/line-height-in-list-item.tentative.html.ini
+++ /dev/null
@@ -1,2 +0,0 @@
-[line-height-in-list-item.tentative.html]
- expected: FAIL
diff --git a/tests/wpt/meta-legacy-layout/url/failure.html.ini b/tests/wpt/meta-legacy-layout/url/failure.html.ini
index 9e541022c0a..e739baf2ea5 100644
--- a/tests/wpt/meta-legacy-layout/url/failure.html.ini
+++ b/tests/wpt/meta-legacy-layout/url/failure.html.ini
@@ -1,6 +1,5 @@
[failure.html]
type: testharness
- expected: CRASH
[Test URL parser failure consistency]
expected: FAIL
diff --git a/tests/wpt/meta-legacy-layout/webstorage/localstorage-basic-partitioned.tentative.sub.html.ini b/tests/wpt/meta-legacy-layout/webstorage/localstorage-basic-partitioned.sub.html.ini
index 12c96e3e191..53b1d11a9c7 100644
--- a/tests/wpt/meta-legacy-layout/webstorage/localstorage-basic-partitioned.tentative.sub.html.ini
+++ b/tests/wpt/meta-legacy-layout/webstorage/localstorage-basic-partitioned.sub.html.ini
@@ -1,4 +1,4 @@
-[localstorage-basic-partitioned.tentative.sub.html]
+[localstorage-basic-partitioned.sub.html]
expected: TIMEOUT
[Simple test for partitioned localStorage]
expected: TIMEOUT
diff --git a/tests/wpt/meta/webstorage/sessionStorage-basic-partitioned.tentative.sub.html.ini b/tests/wpt/meta-legacy-layout/webstorage/sessionStorage-basic-partitioned.sub.html.ini
index 030b13bcb30..0ed459828e5 100644
--- a/tests/wpt/meta/webstorage/sessionStorage-basic-partitioned.tentative.sub.html.ini
+++ b/tests/wpt/meta-legacy-layout/webstorage/sessionStorage-basic-partitioned.sub.html.ini
@@ -1,4 +1,4 @@
-[sessionStorage-basic-partitioned.tentative.sub.html]
+[sessionStorage-basic-partitioned.sub.html]
expected: TIMEOUT
[Simple test for partitioned sessionStorage]
expected: TIMEOUT
diff --git a/tests/wpt/meta/MANIFEST.json b/tests/wpt/meta/MANIFEST.json
index 19cdffd47c9..2d309d489bf 100644
--- a/tests/wpt/meta/MANIFEST.json
+++ b/tests/wpt/meta/MANIFEST.json
@@ -8317,6 +8317,13 @@
{}
]
],
+ "selection-modify-line-from-contenteditable-to-textarea.html": [
+ "41d377a9a60f30c8ccc8995832995c2d4450a902",
+ [
+ null,
+ {}
+ ]
+ ],
"selection-modify-line-next-to-input-and-make-it-invisible.html": [
"09e018f581905b35fcdb4ba70aade0de27785efb",
[
@@ -20744,6 +20751,13 @@
null,
{}
]
+ ],
+ "prefer-initial-window-placement-manual.https.html": [
+ "16ba7f4f59b2f6434ec289c14c8fbd6917b52fc9",
+ [
+ null,
+ {}
+ ]
]
},
"dpub-aam": {
@@ -32590,6 +32604,45 @@
{}
]
],
+ "content-004-print.html": [
+ "cf593fb93cc4293c29556daad6b7a19cb34579dd",
+ [
+ null,
+ [
+ [
+ "/css/css-page/margin-boxes/content-004-print-ref.html",
+ "=="
+ ]
+ ],
+ {}
+ ]
+ ],
+ "content-005-print.html": [
+ "faca453fef8ce4928d3efda2fff8e402af9f0b82",
+ [
+ null,
+ [
+ [
+ "/css/css-page/margin-boxes/content-005-print-ref.html",
+ "=="
+ ]
+ ],
+ {}
+ ]
+ ],
+ "content-006-print.html": [
+ "68ece6326ae8795ef5a08a04faf564a202f7b602",
+ [
+ null,
+ [
+ [
+ "/css/css-page/margin-boxes/content-005-print-ref.html",
+ "=="
+ ]
+ ],
+ {}
+ ]
+ ],
"dimensions-001-print.html": [
"20d4e3059e0df47c0e4f782bfce782c0184789f1",
[
@@ -33241,6 +33294,32 @@
{}
]
],
+ "monolithic-overflow-031-print.html": [
+ "c17849006222a5c71c2d0d53c4c521baccd8ec1a",
+ [
+ null,
+ [
+ [
+ "/css/css-page/monolithic-overflow-031-print-ref.html",
+ "=="
+ ]
+ ],
+ {}
+ ]
+ ],
+ "monolithic-overflow-032-print.tentative.html": [
+ "ad7ccf029f683c9b3b857d401357292418b7f208",
+ [
+ null,
+ [
+ [
+ "/css/css-page/monolithic-overflow-032-print-ref.html",
+ "=="
+ ]
+ ],
+ {}
+ ]
+ ],
"page-background-001-print.html": [
"e1bc2196940047d8948f819c32d65aedd0e76416",
[
@@ -36395,7 +36474,7 @@
]
},
"contenteditable": {
- "synthetic-height.tentative.html": [
+ "synthetic-height.html": [
"4d466bff412e6de924b9886ef808b49f7ff2b44d",
[
null,
@@ -122241,6 +122320,19 @@
{}
]
],
+ "align-content-block-dynamic-content.html": [
+ "4d54c8847a9dd705899455ca291bd58bdcc08d10",
+ [
+ null,
+ [
+ [
+ "/css/css-align/blocks/align-content-block-dynamic-content-ref.html",
+ "=="
+ ]
+ ],
+ {}
+ ]
+ ],
"align-content-block-overflow-000.html": [
"c53606a0589af0bbd9c0bd7c513621b88f90687e",
[
@@ -123456,6 +123548,19 @@
{}
]
],
+ "jump-start-animation-before-phase.html": [
+ "86cca0bcda1a490718a99a4299ee9f8e1b78d386",
+ [
+ null,
+ [
+ [
+ "/css/css-animations/jump-start-animation-before-phase-ref.html",
+ "=="
+ ]
+ ],
+ {}
+ ]
+ ],
"nested-scale-animations.html": [
"8793e044b703e1bc30a710142d310f1f28c3350a",
[
@@ -134778,6 +134883,188 @@
{}
]
],
+ "box-decoration-break-clone-010.html": [
+ "283ddb96ed46d94c10e25c711efb23e0d50cfef4",
+ [
+ null,
+ [
+ [
+ "/css/reference/ref-filled-green-100px-square.xht",
+ "=="
+ ]
+ ],
+ {}
+ ]
+ ],
+ "box-decoration-break-clone-011.html": [
+ "f4bea5092b389111016a056a06ed983b000989a4",
+ [
+ null,
+ [
+ [
+ "/css/reference/ref-filled-green-100px-square.xht",
+ "=="
+ ]
+ ],
+ {}
+ ]
+ ],
+ "box-decoration-break-clone-012.html": [
+ "fb2b42f4d63590869937ecdd7b1d3e3d008ef918",
+ [
+ null,
+ [
+ [
+ "/css/reference/ref-filled-green-100px-square.xht",
+ "=="
+ ]
+ ],
+ {}
+ ]
+ ],
+ "box-decoration-break-clone-013.html": [
+ "5dea3757a80bb9e7f0239f470839d12a25cc039e",
+ [
+ null,
+ [
+ [
+ "/css/reference/ref-filled-green-100px-square.xht",
+ "=="
+ ]
+ ],
+ {}
+ ]
+ ],
+ "box-decoration-break-clone-014.html": [
+ "f6b17e48c0f01297bbb82fb5001352a1d0e7691f",
+ [
+ null,
+ [
+ [
+ "/css/reference/ref-filled-green-100px-square.xht",
+ "=="
+ ]
+ ],
+ {}
+ ]
+ ],
+ "box-decoration-break-clone-015.html": [
+ "36751ef11aeea651dc859125ede70d8fd4b46448",
+ [
+ null,
+ [
+ [
+ "/css/reference/ref-filled-green-100px-square.xht",
+ "=="
+ ]
+ ],
+ {}
+ ]
+ ],
+ "box-decoration-break-clone-016.html": [
+ "850e264f19143c3280695cfb5bbda87be04e1fca",
+ [
+ null,
+ [
+ [
+ "/css/reference/ref-filled-green-100px-square.xht",
+ "=="
+ ]
+ ],
+ {}
+ ]
+ ],
+ "box-decoration-break-clone-017.html": [
+ "aad729907bfcbd8718d38f25799dad90c8aeae0e",
+ [
+ null,
+ [
+ [
+ "/css/reference/ref-filled-green-100px-square.xht",
+ "=="
+ ]
+ ],
+ {}
+ ]
+ ],
+ "box-decoration-break-clone-018.html": [
+ "ae9811f7a27ffa6ca1fa249b7a3e03a3bf28973c",
+ [
+ null,
+ [
+ [
+ "/css/reference/ref-filled-green-100px-square.xht",
+ "=="
+ ]
+ ],
+ {}
+ ]
+ ],
+ "box-decoration-break-clone-019.html": [
+ "55e1495f9c4b70ab50763af07435f1fe73ec21a5",
+ [
+ null,
+ [
+ [
+ "/css/reference/ref-filled-green-100px-square.xht",
+ "=="
+ ]
+ ],
+ {}
+ ]
+ ],
+ "box-decoration-break-clone-020.html": [
+ "2f24cf48e21cbe8e1af3d5faef6f4d6e50d6be28",
+ [
+ null,
+ [
+ [
+ "/css/reference/ref-filled-green-100px-square.xht",
+ "=="
+ ]
+ ],
+ {}
+ ]
+ ],
+ "box-decoration-break-clone-021.html": [
+ "825c25dbf52beaabdee9ae47b6fd3ffadc717118",
+ [
+ null,
+ [
+ [
+ "/css/reference/ref-filled-green-100px-square.xht",
+ "=="
+ ]
+ ],
+ {}
+ ]
+ ],
+ "box-decoration-break-clone-022.html": [
+ "7250351fa08cfb86aba467d77238374563f9b7e4",
+ [
+ null,
+ [
+ [
+ "/css/reference/ref-filled-green-100px-square.xht",
+ "=="
+ ]
+ ],
+ {}
+ ]
+ ],
+ "box-decoration-break-clone-023.html": [
+ "90d397494681f7dc8aefd080ebb0f07b177b6d51",
+ [
+ null,
+ [
+ [
+ "/css/reference/ref-filled-green-100px-square.xht",
+ "=="
+ ]
+ ],
+ {}
+ ]
+ ],
"box-shadow-001.html": [
"d35aeb682dcfcc77c41f8b09642b3481a4b7f39d",
[
@@ -139513,6 +139800,19 @@
{}
]
],
+ "grid-container-fragmentation-012.html": [
+ "1a6935291bbed2a1efc51aa7a7d2ab10f79b4575",
+ [
+ null,
+ [
+ [
+ "/css/reference/ref-filled-green-100px-square.xht",
+ "=="
+ ]
+ ],
+ {}
+ ]
+ ],
"grid-item-008.html": [
"b9caacc4af242de39e0876383b61c56e8c46ae48",
[
@@ -177677,7 +177977,7 @@
]
],
"font-size-adjust-reload.html": [
- "68ccba4398d62028d018c0848553913b8dd9b18c",
+ "1a2bc5145698ef2eada6eddb250b13d2f58ce9f8",
[
null,
[
@@ -190953,7 +191253,7 @@
]
],
"custom-highlight-painting-vertical-writing-mode-001.html": [
- "ba25037976c3fac7acb7ac930f9e1ba1cfb97af8",
+ "f2a0efcc874f7d1017c02c55bfe95f2c51f1bea7",
[
null,
[
@@ -190973,7 +191273,7 @@
],
[
0,
- 18
+ 20
]
]
]
@@ -214088,6 +214388,19 @@
{}
]
],
+ "document-element-overflow-hidden-scroll.html": [
+ "6a341703aee1e2864a6612a5777c13284b7e7ef5",
+ [
+ null,
+ [
+ [
+ "/css/css-overflow/document-element-overflow-hidden-scroll-ref.html",
+ "=="
+ ]
+ ],
+ {}
+ ]
+ ],
"dynamic-visible-to-clip-001.html": [
"e2011324dda6e00309bf70c2e364fdb2dd1f23ae",
[
@@ -329749,6 +330062,19 @@
{}
]
],
+ "button-dynamic-content.html": [
+ "5bfd3d729d778736d8c5697602da183a588980f4",
+ [
+ null,
+ [
+ [
+ "/html/rendering/widgets/button-layout/button-dynamic-content-ref.html",
+ "=="
+ ]
+ ],
+ {}
+ ]
+ ],
"display-none-or-contents.html": [
"8f0ad3ab29c9d976bf18e2f180d4862d41aebb3e",
[
@@ -338812,7 +339138,7 @@
{}
]
],
- "line-height-in-list-item.tentative.html": [
+ "line-height-in-list-item.html": [
"be655e51fc8f84d2d34930414de5428412f98b5b",
[
null,
@@ -340200,6 +340526,84 @@
],
{}
]
+ ],
+ "image-modify-href-1.svg": [
+ "20bc1567eafdbb66ed52ea99fe18e8458878e58c",
+ [
+ null,
+ [
+ [
+ "/svg/embedded/reference/green-rect-100x100.svg",
+ "=="
+ ]
+ ],
+ {}
+ ]
+ ],
+ "image-modify-href-2.svg": [
+ "0b028ce188dc234ef4750aa27e1fde20259b2b1e",
+ [
+ null,
+ [
+ [
+ "/svg/embedded/reference/green-rect-100x100.svg",
+ "=="
+ ]
+ ],
+ {}
+ ]
+ ],
+ "image-modify-href-3.svg": [
+ "533a28ebb2b3c7fa3f9fe084891aa5de9770f876",
+ [
+ null,
+ [
+ [
+ "/svg/embedded/reference/green-rect-100x100.svg",
+ "=="
+ ]
+ ],
+ {}
+ ]
+ ],
+ "image-remove-href-1.svg": [
+ "f35fa08f561dc38363d5c83918ec789fbc523b60",
+ [
+ null,
+ [
+ [
+ "/svg/embedded/reference/green-rect-100x100.svg",
+ "=="
+ ]
+ ],
+ {}
+ ]
+ ],
+ "image-remove-href-2.svg": [
+ "7db8454f3b62fc983cd52505a080b0d33042039e",
+ [
+ null,
+ [
+ [
+ "/svg/embedded/reference/green-rect-100x100.svg",
+ "=="
+ ]
+ ],
+ {}
+ ]
+ ],
+ "image-remove-href-3.svg": [
+ "885a3baa6e9fd64bc5fae1d2c3404edc2e3ac0fa",
+ [
+ null,
+ [
+ [
+ "/svg/embedded/reference/green-rect-100x100.svg",
+ "=="
+ ]
+ ],
+ {}
+ ]
]
},
"extensibility": {
@@ -342157,6 +342561,19 @@
]
},
"property": {
+ "d-none.svg": [
+ "6f82a06a0d76ac0215e4eae8267b767efbd20051",
+ [
+ null,
+ [
+ [
+ "/svg/path/property/d-none-ref.svg",
+ "=="
+ ]
+ ],
+ {}
+ ]
+ ],
"marker-path.svg": [
"c03e9c515c478dc6c46521b0867ec714d55e13e9",
[
@@ -343661,6 +344078,32 @@
{}
]
],
+ "text-bidi-controls-anchors-1.svg": [
+ "92a1ed1e3fb0426319934f739847dec9583f8cf4",
+ [
+ null,
+ [
+ [
+ "/svg/text/reftests/text-bidi-controls-anchors-1-ref.svg",
+ "=="
+ ]
+ ],
+ {}
+ ]
+ ],
+ "text-bidi-controls-anchors-2.svg": [
+ "b9a4a9b5e7df978775eb7c5c64d0a653a8c60006",
+ [
+ null,
+ [
+ [
+ "/svg/text/reftests/text-bidi-controls-anchors-2-ref.svg",
+ "=="
+ ]
+ ],
+ {}
+ ]
+ ],
"text-clipped-offscreen-move-onscreen.html": [
"c29f790326537395d40f251d3a0be746014fbb5e",
[
@@ -344012,6 +344455,19 @@
{}
]
],
+ "textpath-letter-spacing-01.svg": [
+ "4815e618a6d18a6bfdac3ba1d8f84e63758c47a9",
+ [
+ null,
+ [
+ [
+ "/svg/text/reftests/textpath-letter-spacing-01-ref.svg",
+ "=="
+ ]
+ ],
+ {}
+ ]
+ ],
"textpath-shape-001.svg": [
"dbc0d9e42062d89fafe4c7220bd89c40d7dbd8fa",
[
@@ -347625,7 +348081,7 @@
],
"workflows": {
"docker.yml": [
- "c6cb0ac58ef342491f46cb3527bcf1dc35d0e83d",
+ "2484331cc09a2ebdaf8668afec22efaebb710e0d",
[]
],
"documentation.yml": [
@@ -347896,15 +348352,15 @@
"3f5238e841d7f3af9a87fb8e8fe4e784dc662a67",
[]
],
- "idb-partitioned-basic-iframe.tentative.html": [
+ "idb-partitioned-basic-iframe.html": [
"ed6bbf272f0af4609e77afa7679ec5f0d677e100",
[]
],
- "idb-partitioned-coverage-iframe.tentative.html": [
+ "idb-partitioned-coverage-iframe.html": [
"a7be7e2cc94766f1c591f63c1b20db9521024cd7",
[]
],
- "idb-partitioned-persistence-iframe.tentative.html": [
+ "idb-partitioned-persistence-iframe.html": [
"ad6869f945a44a5f9d13a3ba0bee2cba7c3d0cf1",
[]
],
@@ -371228,7 +371684,7 @@
"877e192bbff2204ddf56f83e411f17bfb6adab89",
[]
],
- "eval-typecheck-callout-order.tentative.html.headers": [
+ "eval-typecheck-callout-order.html.headers": [
"85de8bd415def35ca45c0abf74590cdfa393d0f4",
[]
],
@@ -371568,7 +372024,7 @@
}
},
"nonce-hiding": {
- "dangling-html-or-body.tentative.html.headers": [
+ "dangling-html-or-body.html.headers": [
"67d4c81e589d487b25bdb73a89f8ba1c49a0c431",
[]
],
@@ -372549,7 +373005,7 @@
[]
],
"cookie-test.js": [
- "8299c4731786dcf6ada011820e008d670a4df78d",
+ "58f5109c813507e5292707cba54f385f0959e207",
[]
],
"cookie.py": [
@@ -390475,6 +390931,10 @@
"7b27284cdf42896765b1cf05c1e8ab74d1ab3649",
[]
],
+ "align-content-block-dynamic-content-ref.html": [
+ "b77c76235d9d7de087540e74163f80bd623ca067",
+ []
+ ],
"align-content-block-overflow-000-ref.html": [
"8ca5407e4ca0a65d3a98e322c90d4cada8fef15b",
[]
@@ -390772,6 +391232,10 @@
"a25f465fdf9c10d3d51e7576eb475d025516b2ad",
[]
],
+ "jump-start-animation-before-phase-ref.html": [
+ "3e1d363058f1378aeb45e94389517410359a4010",
+ []
+ ],
"nested-scale-animations-ref.html": [
"6dd3cde31126329fd3012c0fc1feac5855b24826",
[]
@@ -412782,6 +413246,10 @@
"2dce244975220f63b60e7cac9938e1b74cebe6ed",
[]
],
+ "document-element-overflow-hidden-scroll-ref.html": [
+ "ebd2d860cec74ba0d535637934aca8dadf90571d",
+ []
+ ],
"incremental-scroll-ref.html": [
"131e54ec2913621bd0cd6e3adf8e22e03b129d8a",
[]
@@ -413555,6 +414023,14 @@
"ba45b88cd4d84e429c97796d5941fe999e0143fd",
[]
],
+ "content-004-print-ref.html": [
+ "7159484f62c41a2f348646f861e43b96e2b1f2c4",
+ []
+ ],
+ "content-005-print-ref.html": [
+ "b49a84cf050696fece39e001d512fb833beebf2e",
+ []
+ ],
"dimensions-001-print-ref.html": [
"dca52cb8bc727c99bc941b24797255e89fbf1811",
[]
@@ -413712,6 +414188,14 @@
"d8468e3b14dc0346f178727336572f5122b0e4bf",
[]
],
+ "monolithic-overflow-031-print-ref.html": [
+ "c2d8b7ea5ff42b01399c39691a3a2c97b5001949",
+ []
+ ],
+ "monolithic-overflow-032-print-ref.html": [
+ "36724ac929d83e3f3286a971f56700acd96047b4",
+ []
+ ],
"page-background-001-print-ref.html": [
"8269582d04172ac593bea8026d74cc80128a91e1",
[]
@@ -445389,7 +445873,7 @@
[]
],
"text.yaml": [
- "240a04ce8dc47b2d052809c1c72284ee169895e2",
+ "b54cc7ebc266c50f742e309ea263468771e4a65d",
[]
],
"the-canvas-state.yaml": [
@@ -451556,6 +452040,10 @@
"57a06d7d836d44260dc019994b75e3983e365de1",
[]
],
+ "button-dynamic-content-ref.html": [
+ "732ee9185f630f444f8cdd70db8a1116067b513d",
+ []
+ ],
"display-none-or-contents-ref.html": [
"c20a3065e443ed09151be84d5f350a31fe0977c6",
[]
@@ -461762,6 +462250,10 @@
"f05d7278adbcd6cf34cc229e67aef6c74c880958",
[]
],
+ "invalid-markup.js": [
+ "451033ce07616183f43aaaa2fd7d94ef0e684647",
+ []
+ ],
"layout-comparison.js": [
"452b45006e4d032709d10b3232b8d73e4dc50e33",
[]
@@ -462688,6 +463180,18 @@
[]
]
}
+ },
+ "sniffing": {
+ "support": {
+ "atom.html": [
+ "b343d6d6154219cfc911d0e31dc747f29ec0bec3",
+ []
+ ],
+ "rss.html": [
+ "d708b0d8ebdde748773a7f3a2518d61506830d3e",
+ []
+ ]
+ }
}
},
"mixed-content": {
@@ -467221,7 +467725,7 @@
[]
],
"mock-pressure-service.js": [
- "8e205d31cb71c11711afc3b5ac379738880c9efa",
+ "610d02a9164ce5aba99e0cd20e37321c054af252",
[]
],
"mock-pressure-service.js.headers": [
@@ -468135,8 +468639,12 @@
"b7d517a7f6b2781f882d0f4804225354d8dd0ac8",
[]
],
+ "scroll-to-text-fragment-scroll-to-center-target.html": [
+ "dbadc4a51b925e92a1d29e710e9469011ecd902a",
+ []
+ ],
"scroll-to-text-fragment-target.html": [
- "b2be85132cb8f2f2c14c82bf1854c3130f375c96",
+ "3bf78f1600129f60cab68b433e58743766652bcf",
[]
],
"stash.js": [
@@ -472476,7 +472984,7 @@
[]
],
"helpers.js": [
- "416c4a401efcd8933233a755ab65400cca4cdcb3",
+ "7a476805135df44ff141d3f59ac9c59e2966b3e8",
[]
],
"resources": {
@@ -472493,7 +473001,7 @@
[]
],
"embedded_responder.js": [
- "3cca86154af7e26db37acb26761d98d9f531cfee",
+ "15ba640a1e5ce95572498dda285f02c3bfe883c2",
[]
],
"embedded_worker.py": [
@@ -472541,7 +473049,7 @@
[]
],
"script-with-cookie-header.py": [
- "ae95b7593fbece5de63b7fc7fb7fe3ec45e16e57",
+ "2237bba463547e890dc12bd4b11edbd7b539d9d7",
[]
],
"set-cookie-header.py": [
@@ -473379,6 +473887,14 @@
]
},
"property": {
+ "d-none-expected.svg": [
+ "60195b1777f3ed2fd800380d02ba488e24ed5af5",
+ []
+ ],
+ "d-none-ref.svg": [
+ "60195b1777f3ed2fd800380d02ba488e24ed5af5",
+ []
+ ],
"marker-path-ref.svg": [
"8cd5c8ea486d09f743d5ee24e99a3e9dccc8e012",
[]
@@ -473757,6 +474273,14 @@
"18c00ab332c73f5c033e37d4429872d07210ade4",
[]
],
+ "text-bidi-controls-anchors-1-ref.svg": [
+ "45c955b2b9fe8d5a5dd00ab1bf89eeb93d060d1f",
+ []
+ ],
+ "text-bidi-controls-anchors-2-ref.svg": [
+ "08862dc3e5ce99c1c8e39ce5111a1ddb12399a6c",
+ []
+ ],
"text-clipped-offscreen-move-onscreen-ref.html": [
"b03ac22aaa3155323ea1574e49241368ec1ad66c",
[]
@@ -473869,6 +474393,10 @@
"1572149cf68bde8c0e8c032b28d37ae95c64652a",
[]
],
+ "textpath-letter-spacing-01-ref.svg": [
+ "9264c265f71526b9e9700f1c9f37d7ac37309529",
+ []
+ ],
"textpath-shape-001-ref.svg": [
"10827c85810cdf9dc7e70a665c289814d35ed219",
[]
@@ -474793,7 +475321,7 @@
[]
],
"serve.py": [
- "6afe6f9dd7a048bd0b8c8e25260cbb92d44fe12b",
+ "a11e15db98db3f5f9e0980b39fdcffa5080d9737",
[]
],
"test_functional.py": [
@@ -474801,7 +475329,7 @@
[]
],
"test_serve.py": [
- "e590b49870fbbb5cd160001a3de9f17da97f3440",
+ "9dcda584de2ea44898a7e6af76075e5931ea97fb",
[]
],
"wave.py": [
@@ -485389,7 +485917,7 @@
[]
],
"chrome.py": [
- "d0d9f1d3421c233c10d6c7daea6eed84551690ab",
+ "8ebbfdc91a527e150f8b2223891780bfac7a67c8",
[]
],
"chrome_android.py": [
@@ -485417,7 +485945,7 @@
[]
],
"firefox.py": [
- "d977930a289b614caf4e0c598876500b20630497",
+ "74a9e02dafe93e209e21d46a6245077e79bfccc6",
[]
],
"firefox_android.py": [
@@ -485672,7 +486200,7 @@
[]
],
"testloader.py": [
- "c7cdee6887ec51e25fdbaa95210afe3568d45bf4",
+ "65f6b2b673a492ca1cd341190deb69dd843b8902",
[]
],
"testrunner.py": [
@@ -485860,7 +486388,7 @@
}
},
"wptrunner.py": [
- "d9d85de6a4d04b33d4ca231a44ce3cba7974a575",
+ "f390f29c0794f0e5dbd4ebedff6fe219d59e926f",
[]
],
"wpttest.py": [
@@ -486272,24 +486800,22 @@
},
"top-level-storage-access-api": {
"README.md": [
- "e3636a221ecd07caaea91a68e677f4bd5f0bc1ee",
+ "e0e385f6e7581eb32b2e77a648b8a6cdb213b635",
[]
],
- "tentative": {
- "resources": {
- "permissions-iframe.https.html": [
- "c9907203322112ffb01a50b09541e891250c4f5e",
- []
- ],
- "requestStorageAccessFor-iframe.html": [
- "050196dfdb9e66d2309a8f2286cb0a67eb34121b",
- []
- ],
- "requestStorageAccessFor-iframe.https.html": [
- "14da63b033cbe3418af599939d3cf407485ccf8c",
- []
- ]
- }
+ "resources": {
+ "permissions-iframe.https.html": [
+ "c9907203322112ffb01a50b09541e891250c4f5e",
+ []
+ ],
+ "requestStorageAccessFor-iframe.html": [
+ "050196dfdb9e66d2309a8f2286cb0a67eb34121b",
+ []
+ ],
+ "requestStorageAccessFor-iframe.https.html": [
+ "14da63b033cbe3418af599939d3cf407485ccf8c",
+ []
+ ]
}
},
"touch-events": {
@@ -486349,6 +486875,12 @@
"c6412f8d472fcfd6022b0ae485f52b3d3dedd820",
[]
],
+ "resources": {
+ "block-text-node-insertion.js": [
+ "1b924aaf7f33f5d68d07a0490eef855cf7523634",
+ []
+ ]
+ },
"support": {
"HTMLScriptElement-internal-slot-support.html": [
"b9a0ceefae22a7becb4552e0aadc7e9bfc24cd24",
@@ -487050,7 +487582,7 @@
[]
],
"README.md": [
- "fa5e3b0dc72385a5a60125802d78c53e46e99058",
+ "9b48384756847a2f9bd04105b26aef81063fe9cf",
[]
],
"WEB_FEATURES.yml": [
@@ -487063,11 +487595,11 @@
[]
],
"a-element-origin.js": [
- "c1c24c8986b4aa6c1c214c3e5f480ace2abf885f",
+ "3e5e6cd0c76e43a5188277a26e279364ea02ed8d",
[]
],
"a-element.js": [
- "cff4160d32894231c5ea3d8316930564915a2c0e",
+ "4a925d9d0e6b2fee9643fe249226914612a1fb83",
[]
],
"percent-encoding.json": [
@@ -487086,8 +487618,12 @@
"d02c4c7e86654c5056abb6969d9c916a96eb1620",
[]
],
+ "urltestdata-javascript-only.json": [
+ "a3793c1f472f00b6be921d4d21f06529ff07e19a",
+ []
+ ],
"urltestdata.json": [
- "53f6d575e165bf34aadddf23a7df0aa4b0f65031",
+ "91fcca2c3c25570e9783afe8525778fa19d28891",
[]
]
},
@@ -490286,15 +490822,15 @@
[]
],
"add.json": [
- "28e04a61274e05ddaa4429050932b7a5e2b09193",
+ "804ad5e345d0b73b7f003837df66c7f3ef8bb416",
[]
],
"arg_max.json": [
- "348a54dc240ff224ce2a4f8a2dd93012f0e82a8c",
+ "d65939d0477b7cb008e715d797d9a9e3e3991c00",
[]
],
"arg_min.json": [
- "330afbc7107ced2dec1ccc2048cfc2de8d4b0648",
+ "f7b3f6d10d6239cd24d3c1a930093b2de19ed28c",
[]
],
"average_pool2d.json": [
@@ -490583,7 +491119,7 @@
]
},
"utils.js": [
- "5008c008e6802ade60ac436fed44c7c6b425f964",
+ "7f99e3e1593b39648fbca13c06361c3c090797a9",
[]
],
"utils_validation.js": [
@@ -493395,7 +493931,7 @@
[]
],
"webxr_util.js": [
- "625f76450e23dc509553a71b5a0157bccf91f8f6",
+ "52b63ecdbb6edb67f7c75b79bfe595e679442d25",
[]
]
},
@@ -497033,22 +497569,22 @@
}
]
],
- "idb-partitioned-basic.tentative.sub.html": [
- "16bdacf6c6d9713c2765ee25b637deff869ede5f",
+ "idb-partitioned-basic.sub.html": [
+ "de7953d83eeb35c5365f59911faa28b5afa05a5f",
[
null,
{}
]
],
- "idb-partitioned-coverage.tentative.sub.html": [
- "ae0884cb527dee6ca174c2f4b717d455220237a9",
+ "idb-partitioned-coverage.sub.html": [
+ "2ca3876ebe34be4e9089df1e3b133cdc69bcac9b",
[
null,
{}
]
],
- "idb-partitioned-persistence.tentative.sub.html": [
- "65a0a085e22af1c462977c6f9559d71c01822dd1",
+ "idb-partitioned-persistence.sub.html": [
+ "fce632ba773887e524bca1c7651b3bcc5ed9694c",
[
null,
{}
@@ -501520,10 +502056,10 @@
{}
]
],
- "transaction-relaxed-durability.tentative.any.js": [
+ "transaction-relaxed-durability.any.js": [
"9197389a24425483912249634b8954bab2e1b5a6",
[
- "IndexedDB/transaction-relaxed-durability.tentative.any.html",
+ "IndexedDB/transaction-relaxed-durability.any.html",
{
"script_metadata": [
[
@@ -501539,7 +502075,7 @@
}
],
[
- "IndexedDB/transaction-relaxed-durability.tentative.any.worker.html",
+ "IndexedDB/transaction-relaxed-durability.any.worker.html",
{
"script_metadata": [
[
@@ -510293,7 +510829,7 @@
"attribution-reporting": {
"aggregatable-debug": {
"simple-source-aggregatable-debug-report.sub.https.html": [
- "9b5d6fcb4e0298a008da8b17822ff8f34dd31ac4",
+ "511c9e35b819e54b288906394733998514778282",
[
null,
{
@@ -510302,7 +510838,7 @@
]
],
"simple-trigger-aggregatable-debug-report.sub.https.html": [
- "68eae824a295020f45a1d2e37a8ab0a54e9b473d",
+ "e2a3bfa06b7031a2bcd4f9cf10cba078f023dd2d",
[
null,
{
@@ -525949,7 +526485,7 @@
{}
]
],
- "eval-typecheck-callout-order.tentative.html": [
+ "eval-typecheck-callout-order.html": [
"0be7cf29a284d5f2471c7ada0b5cd643b6f0fb6a",
[
null,
@@ -526837,7 +527373,7 @@
]
},
"nonce-hiding": {
- "dangling-html-or-body.tentative.html": [
+ "dangling-html-or-body.html": [
"4ba65e05b885cbc780fab7f1650689016f257ac2",
[
null,
@@ -530114,10 +530650,10 @@
}
]
],
- "idlharness.tentative.https.any.js": [
+ "idlharness.https.any.js": [
"6312f3c4ba3a1525df8955a5a7b7ddab4485a90a",
[
- "cookie-store/idlharness.tentative.https.any.html",
+ "cookie-store/idlharness.https.any.html",
{
"script_metadata": [
[
@@ -530145,7 +530681,7 @@
}
],
[
- "cookie-store/idlharness.tentative.https.any.serviceworker.html",
+ "cookie-store/idlharness.https.any.serviceworker.html",
{
"script_metadata": [
[
@@ -530173,7 +530709,7 @@
}
],
[
- "cookie-store/idlharness.tentative.https.any.sharedworker.html",
+ "cookie-store/idlharness.https.any.sharedworker.html",
{
"script_metadata": [
[
@@ -530201,7 +530737,7 @@
}
],
[
- "cookie-store/idlharness.tentative.https.any.worker.html",
+ "cookie-store/idlharness.https.any.worker.html",
{
"script_metadata": [
[
@@ -537699,6 +538235,20 @@
{}
]
],
+ "scope-style-sharing-001.html": [
+ "2c1122a811d0229d9ee6a45f8c9b6012d959523d",
+ [
+ null,
+ {}
+ ]
+ ],
+ "scope-style-sharing-002.html": [
+ "f47ddd4299f9c70e419442e45d60a49db14888b2",
+ [
+ null,
+ {}
+ ]
+ ],
"scope-supports.html": [
"9be41de0e90c17fba3698f69836db9d750023abf",
[
@@ -539353,6 +539903,55 @@
{}
]
],
+ "content-visibility-anchor-positioning-001.html": [
+ "f0b52e8ebd6680721e5ff700888ff48c28b380a3",
+ [
+ null,
+ {}
+ ]
+ ],
+ "content-visibility-anchor-positioning-002.html": [
+ "9bbe05fd8535155c10ee5f1fbedd2b9234e3f18c",
+ [
+ null,
+ {}
+ ]
+ ],
+ "content-visibility-anchor-positioning-003.html": [
+ "85b218600a31a1af41b097a8ba2f205678693a35",
+ [
+ null,
+ {}
+ ]
+ ],
+ "content-visibility-anchor-positioning-004.html": [
+ "730c46b0244259f918aff76d087d2b418c861e07",
+ [
+ null,
+ {}
+ ]
+ ],
+ "content-visibility-anchor-positioning-005.html": [
+ "ed46e3c6869df3308ad196f8cbd8d3691ab2bd44",
+ [
+ null,
+ {}
+ ]
+ ],
+ "content-visibility-anchor-positioning-006.html": [
+ "7c777680a0e5028848e7b10a82b44418f342d899",
+ [
+ null,
+ {}
+ ]
+ ],
+ "content-visibility-anchor-positioning-007.html": [
+ "988caad79a69441475de8ba3779ecc51dbfaba30",
+ [
+ null,
+ {}
+ ]
+ ],
"content-visibility-animation-in-auto-subtree.html": [
"690b49255fe772ec1df5390a7b540292e1c0cbe1",
[
@@ -539948,7 +540547,7 @@
]
],
"display-valid.html": [
- "c011c2a30ca26dab4c97c9278a845efb47d69970",
+ "c4bdc93cdaa72047a6ca09c939dbee29bbbc852f",
[
null,
{}
@@ -550587,6 +551186,13 @@
{}
]
],
+ "page-rules-001.html": [
+ "cac396e237f57d305e807fcaed46cfaf3ac69ddc",
+ [
+ null,
+ {}
+ ]
+ ],
"page-valid.html": [
"a4c31f5766ab89373511cc336e64d0de29224167",
[
@@ -551124,6 +551730,13 @@
{}
]
],
+ "position-sticky-dynamic-ancestor-001.html": [
+ "e3f3debcc34411d6ae251eab957e4a45a056ac97",
+ [
+ null,
+ {}
+ ]
+ ],
"positon-absolute-scrollable-overflow-001.html": [
"67e24a247570cdc56033d509e0fb7cbddda17591",
[
@@ -552676,7 +553289,7 @@
]
],
"adjustment-followed-by-scrollBy.html": [
- "7428147b83562412903b8f9bfa76d37879a400ba",
+ "9dd6165905561712725f0ed29757f5acafd69acd",
[
null,
{}
@@ -555482,7 +556095,7 @@
]
],
"height-composition.html": [
- "094e247dcf22d9bd665b244993b6239265ee73bb",
+ "3bab6c3bd2ada8436ba53551cbd63f26f9aa6eb3",
[
null,
{}
@@ -555503,7 +556116,7 @@
]
],
"max-height-composition.html": [
- "fb5b241d00865fe68c198a9fee88d932a8977f7e",
+ "b3cecaee3b80a276858293645207e29997a62bbc",
[
null,
{}
@@ -555517,7 +556130,7 @@
]
],
"max-width-composition.html": [
- "8b6d8b704c8771491419db0aa2a3c783a1dea2b3",
+ "a5c85d44e002d63dba05085fdf833205f194994d",
[
null,
{}
@@ -555531,7 +556144,7 @@
]
],
"min-height-composition.html": [
- "1e92b0ec2fd664e7b3dd6dc1cd8310c7b9526e7c",
+ "8914f17a47aed2e125252a6ec139e381fe14f1ae",
[
null,
{}
@@ -555545,7 +556158,7 @@
]
],
"min-width-composition.html": [
- "e8bd41030bbd8a273f7e7c45f5f445d706d044eb",
+ "b873d2b21ec45813a49c92ee5c6b9ad09ad83220",
[
null,
{}
@@ -555559,7 +556172,7 @@
]
],
"width-composition.html": [
- "bfe45cb31471d0c8623dbb9e84000bc1208bb76f",
+ "e9bbe83724ee5e7c7f33c4ceb450c43e6445414c",
[
null,
{}
@@ -564878,7 +565491,7 @@
"calc-size": {
"animation": {
"calc-size-height-interpolation.tentative.html": [
- "efe61160c03736defef17736f6255500e9261a2b",
+ "b37b57bf26dea390448746d20e92ba66b4ccc920",
[
null,
{
@@ -564902,12 +565515,110 @@
}
]
],
+ "interpolate-size-height-composition.html": [
+ "22f62b8edac28fe1a6219926839c87660c3248ad",
+ [
+ null,
+ {}
+ ]
+ ],
+ "interpolate-size-height-interpolation.html": [
+ "1eeb7b9c8a0237072fe379ea36afa5fc5385d8b2",
+ [
+ null,
+ {}
+ ]
+ ],
"interpolate-size-interpolation.html": [
"ef2034ba4802b886dbac278ea0b6b5a616a68404",
[
null,
{}
]
+ ],
+ "interpolate-size-logical-properties-interpolation.html": [
+ "5105f751bd6cf7049f2d4ce50c8a54bd780eaf5f",
+ [
+ null,
+ {}
+ ]
+ ],
+ "interpolate-size-max-height-composition.html": [
+ "e356fb60746d4dae08dcf234dc843ecf07f4a11c",
+ [
+ null,
+ {}
+ ]
+ ],
+ "interpolate-size-max-height-interpolation.html": [
+ "89a99a2c0ce2d2e2c58b70b3c709b277c50199ef",
+ [
+ null,
+ {}
+ ]
+ ],
+ "interpolate-size-max-width-composition.html": [
+ "1e540eaee64a679a7d9d74d39a5b68a88531b6e5",
+ [
+ null,
+ {}
+ ]
+ ],
+ "interpolate-size-max-width-interpolation.html": [
+ "dc9c92533e9db9d09eac5ae223aa69363d3bd17a",
+ [
+ null,
+ {}
+ ]
+ ],
+ "interpolate-size-min-height-composition.html": [
+ "520ec75aaf8e4efa5bac81645913ee66dc034314",
+ [
+ null,
+ {}
+ ]
+ ],
+ "interpolate-size-min-height-interpolation.html": [
+ "d86f5b56854534d4d542b87fa28d6a989ad9218c",
+ [
+ null,
+ {}
+ ]
+ ],
+ "interpolate-size-min-width-composition.html": [
+ "4f9e91394a556a679b7ae369e1cdb350a1eb0315",
+ [
+ null,
+ {}
+ ]
+ ],
+ "interpolate-size-min-width-interpolation.html": [
+ "be44eb31bab68742be49201f4d781c359328cdb0",
+ [
+ null,
+ {}
+ ]
+ ],
+ "interpolate-size-which-value.html": [
+ "960173a8bb43ba6d568f519dd565df09e64d02ab",
+ [
+ null,
+ {}
+ ]
+ ],
+ "interpolate-size-width-composition.html": [
+ "a84e0bec3d517a382067c98f3d234d6ecb078fcc",
+ [
+ null,
+ {}
+ ]
+ ],
+ "interpolate-size-width-interpolation.html": [
+ "6ce8e10eed20ce57e83a47e3ba5903c27d723b93",
+ [
+ null,
+ {}
+ ]
]
},
"calc-size-height.tentative.html": [
@@ -564918,7 +565629,7 @@
]
],
"calc-size-parsing.tentative.html": [
- "422ab3c33ee1bd09fb7c02cf312c76bf4d19d8ba",
+ "bec5fb1a8d512a7387600200a5ca33115e87114c",
[
null,
{}
@@ -566680,11 +567391,12 @@
]
],
"select-multiple-options-visual-order.html": [
- "e3ae8a27a9f98dc53a9c134092c407c3b705b5ac",
+ "e9454d0e705f6cd2cf538851d88c202e7f691652",
[
null,
{
- "testdriver": true
+ "testdriver": true,
+ "timeout": "long"
}
]
],
@@ -581637,6 +582349,33 @@
{}
]
],
+ "merge-span-with-style-after-backspace-having-contenteditable.html": [
+ "d375a909744cc67cf19facdb761291d4604c01b5",
+ [
+ null,
+ {
+ "testdriver": true
+ }
+ ]
+ ],
+ "merge-span-with-style-after-forwarddelete-having-contenteditable.html": [
+ "723951cca672911e03ee24cf6c50b407b6e49d6e",
+ [
+ null,
+ {
+ "testdriver": true
+ }
+ ]
+ ],
+ "merge-span-with-style-after-pressing-enter-followed-by-backspace-in-contenteditable-div.html": [
+ "6a8e8c8d832395089807db7047ea6ad54c78f6ae",
+ [
+ null,
+ {
+ "testdriver": true
+ }
+ ]
+ ],
"move-inserted-node-from-DOMNodeInserted-during-exec-command-insertHTML.html": [
"41e012a62e9617f372f85d0a0cedefe8ad42fbd6",
[
@@ -597390,7 +598129,7 @@
]
],
"fedcm-userinfo-after-resolve.https.html": [
- "e92f48988637e55f4b3f12d826c2aebb81567bc2",
+ "e1244df1c8ee01b407053c1cb1a3c3e9e5a09512",
[
null,
{
@@ -597436,8 +598175,17 @@
]
],
"fedcm-button-and-other-account": {
+ "fedcm-button-mode-auto-selected-flag.tentative.https.html": [
+ "786c63ca5e4ece5c4ea77ca4b60234741baf5c1a",
+ [
+ null,
+ {
+ "testdriver": true
+ }
+ ]
+ ],
"fedcm-button-mode-basics.tentative.https.html": [
- "a71e26213524928d01f552f6dcf522247636619d",
+ "918f72432107e6dcb1b8825bc48501e434252323",
[
null,
{
@@ -597564,7 +598312,7 @@
]
],
"fedcm-identity-assertion-nocors.https.html": [
- "612387b4a0dc69a428f85333868b7f9877c76a81",
+ "ae89f51ab4ef22ee1a9c9340a26270dff6d396ec",
[
null,
{
@@ -597739,7 +598487,7 @@
]
],
"fedcm-pending-userinfo.https.html": [
- "1c85d4dc57de343b4ac09763de4b84a280f39ef4",
+ "5d3ffe221dabb23fd422b49d09d82dd5b6b74e8f",
[
null,
{
@@ -597815,7 +598563,7 @@
]
],
"fedcm-userinfo.https.html": [
- "9f7be9fbbf33fffea1be9f62c49ddba05a6fd051",
+ "d256f685f7c8f90402a7505b4d9343ad1b1c9fa3",
[
null,
{
@@ -597833,7 +598581,7 @@
]
],
"ancestor-throttle.https.html": [
- "56b1320135a5c4f367306b95d76e17a57e64ad18",
+ "679bb7881327ccda0abfb1d28e22b60a378c72d4",
[
null,
{
@@ -635692,10 +636440,12 @@
]
],
"window-indexed-properties-delete-no-cache.html": [
- "22262943aadd775424645d79b0dfb2429f837e61",
+ "c3b49d50ffa7936a50f0b337527b3c0036b35678",
[
null,
- {}
+ {
+ "timeout": "long"
+ }
]
],
"window-indexed-properties-strict.html": [
@@ -642541,36 +643291,6 @@
]
]
},
- "scroll": {
- "2d.scrollPathIntoView.basic.html": [
- "e4cf8ea9ad2add2d46cd2b7750853486f675d416",
- [
- null,
- {}
- ]
- ],
- "2d.scrollPathIntoView.path.html": [
- "ee1f833aaf38daf9e8776b30932ff8331edc2421",
- [
- null,
- {}
- ]
- ],
- "2d.scrollPathIntoView.verticalLR.html": [
- "9d09980b6f0a35930a3c593ea1292b16ea9d5969",
- [
- null,
- {}
- ]
- ],
- "2d.scrollPathIntoView.verticalRL.html": [
- "8193106f8e8b7d0063cf364c0b7def61774e2662",
- [
- null,
- {}
- ]
- ]
- },
"shadows": {
"2d.shadow.alpha.1.html": [
"8888ae68856d37dad31b0138b59a8115039645bf",
@@ -643541,7 +644261,7 @@
]
],
"2d.text.measure.getActualBoundingBox-exceptions.tentative.html": [
- "8ce7ed79482813b9a148d2ddbb704f88a72090e3",
+ "e60d1e337d3a8cd3e56bc8004097e2b9ffdfddff",
[
null,
{}
@@ -657111,14 +657831,14 @@
]
],
"2d.text.measure.getActualBoundingBox-exceptions.tentative.html": [
- "8b41d0c830ebcaaa493756f704ab1cc730964b82",
+ "551f2c1d916fba8636c8c812567fea0a93f4d311",
[
null,
{}
]
],
"2d.text.measure.getActualBoundingBox-exceptions.tentative.worker.js": [
- "84bc720399c9d701157aa3eacea1190e7443493e",
+ "5b5b7c76b04b7df26e7170d20025862bc966cc06",
[
"html/canvas/offscreen/text/2d.text.measure.getActualBoundingBox-exceptions.tentative.worker.html",
{}
@@ -675072,7 +675792,7 @@
},
"the-optgroup-element": {
"optgroup-removal.window.js": [
- "4e4c2df77e317c68f9858d7f8692f27380688d10",
+ "ea23e8d724ae49b89c408f29c4dfb82c22d3b104",
[
"html/semantics/forms/the-optgroup-element/optgroup-removal.window.html",
{}
@@ -675415,7 +676135,7 @@
]
],
"select-datalist-options-idl.tentative.html": [
- "92eabdc5d8d341b6d4c16af3bb8b60700869daf8",
+ "1a6274662a2c24150dcec48fc8ada566bf29f304",
[
null,
{}
@@ -675459,7 +676179,7 @@
]
],
"select-parsing.tentative.html": [
- "31133446d4d140d5c13f33038617d8baf022e970",
+ "5aa4638f0be81919e01d53ea4bae5b0c1ba60cc5",
[
null,
{}
@@ -690091,7 +690811,7 @@
{}
]
],
- "explicit-root-different-document.tentative.html": [
+ "explicit-root-different-document.html": [
"15c5e620d5beaadfaa0600049a9492be367d12b8",
[
null,
@@ -690235,7 +690955,7 @@
{}
]
],
- "not-in-containing-block-chain.tentative.html": [
+ "not-in-containing-block-chain.html": [
"4490d0b631ec2e9e95f8d63e1b51df28180d7e99",
[
null,
@@ -693500,49 +694220,49 @@
]
]
},
- "preloader-css-import-no-quote.tentative.html": [
+ "preloader-css-import-no-quote.html": [
"6b982ea2ce22595aa427e65f9ae204baf3ef9fc6",
[
null,
{}
]
],
- "preloader-css-import-no-semicolon.tentative.html": [
+ "preloader-css-import-no-semicolon.html": [
"ab81c82192a4c2d028d8a24476b312978b7be323",
[
null,
{}
]
],
- "preloader-css-import-no-space.tentative.html": [
+ "preloader-css-import-no-space.html": [
"9e83bebe573e572e86b71022fe635a340a66afcf",
[
null,
{}
]
],
- "preloader-css-import-single-quote.tentative.html": [
+ "preloader-css-import-single-quote.html": [
"83c6415765eb16647dcd1aee3ab9c5020d132098",
[
null,
{}
]
],
- "preloader-css-import.tentative.html": [
+ "preloader-css-import.html": [
"6e84e139832e8c83bf93896167774837ab02e22d",
[
null,
{}
]
],
- "preloader-link-media.tentative.html": [
+ "preloader-link-media.html": [
"93fc7d969fd75141189b4ce8499a270819520074",
[
null,
{}
]
],
- "preloader-template.tentative.html": [
+ "preloader-template.html": [
"e816309184844a6d46a20e1152c9efca80fe6f0b",
[
null,
@@ -694250,8 +694970,15 @@
{}
]
],
- "mrow-fallback.html": [
- "a7e984328c52616c2dfda505afd23bc27503c923",
+ "mrow-fallback-001.html": [
+ "2675696b94ee6ba30a490fe800991fed1d007173",
+ [
+ null,
+ {}
+ ]
+ ],
+ "mrow-fallback-002.html": [
+ "8b181b95f336cc73e15cf14ffa58e7ffd230f803",
[
null,
{}
@@ -698007,6 +698734,15 @@
}
]
]
+ },
+ "sniffing": {
+ "html.window.js": [
+ "3fef45bb4779561a92eaf432646c7344630a7b2b",
+ [
+ "mimesniff/sniffing/html.window.html",
+ {}
+ ]
+ ]
}
},
"mixed-content": {
@@ -700186,7 +700922,7 @@
]
],
"intercept-history-pushState.html": [
- "aad08b742ef4aa8d4b7ad9e33ee9d611d447b262",
+ "4586b134f081e4dc690972dd42483f86571661c9",
[
null,
{}
@@ -707806,7 +708542,7 @@
},
"persistentDeviceId": {
"get-persistendeviceid-from-pointer-event.tentative.html": [
- "9f77c1c9e9559d29029bc376326fe655cefda3f1",
+ "294f36b5d3db1a0fd2648bbc30ae89d9edcec98e",
[
null,
{
@@ -707815,7 +708551,7 @@
]
],
"pointer-event-has-persistentdeviceid-from-pointer-event-init.tentative.html": [
- "ef3f4d153566ac02d7e90fdd6962e395023356bd",
+ "c3fc4270f6177c94ccd191a29d86b77a220f3577",
[
null,
{}
@@ -726242,7 +726978,7 @@
]
],
"animation-shorthand.html": [
- "cb63137f5c953503709675507df2662f085e54cf",
+ "b128b33dd8b20edefdd46a2349f9edc09e9b1f6e",
[
null,
{}
@@ -727198,8 +727934,8 @@
}
]
],
- "non-html-documents.html": [
- "de1fe837e6d1c9749b3722d18503a51f91d6e8f6",
+ "non-html-documents-json.html": [
+ "b7df2dccf1ce08841566b4eb937f503b82410397",
[
null,
{
@@ -727207,6 +727943,16 @@
}
]
],
+ "non-html-documents.html": [
+ "cd6d1a797049c25615962a397522ad932b34575a",
+ [
+ null,
+ {
+ "testdriver": true,
+ "timeout": "long"
+ }
+ ]
+ ],
"percent-encoding.html": [
"be688eabfc6222f80ea041a2317bb739d31f8f4c",
[
@@ -727282,6 +728028,16 @@
}
]
],
+ "scroll-to-text-fragment-scroll-to-center.html": [
+ "879a4891938f973ac8755dfdd818c5f52bfcb69e",
+ [
+ null,
+ {
+ "testdriver": true,
+ "timeout": "long"
+ }
+ ]
+ ],
"scroll-to-text-fragment-security.sub.html": [
"5bcafed5ddbf48e193fa012afd0de7dbf4f583bc",
[
@@ -727292,7 +728048,7 @@
]
],
"scroll-to-text-fragment.html": [
- "91f282f849f54fe8a80bae08c0cfaa65d047eca1",
+ "2dbd575bcbb95f49f8110c1ad367def73c7033c6",
[
null,
{
@@ -727300,6 +728056,15 @@
"timeout": "long"
}
]
+ ],
+ "sequential-focus.html": [
+ "30b467f1ecd1a59e275c20a17c4e2928a07a5dc4",
+ [
+ null,
+ {
+ "testdriver": true
+ }
+ ]
]
},
"secure-contexts": {
@@ -732524,6 +733289,16 @@
}
]
],
+ "grid-order-pseudo-elements.html": [
+ "16bce77272a1a0b28d544c8caf87b5657c7ded2d",
+ [
+ null,
+ {
+ "testdriver": true,
+ "timeout": "long"
+ }
+ ]
+ ],
"grid-order-with-iframe.html": [
"fab6a7b8a681da079d707124ee0e43ca15980212",
[
@@ -738301,10 +739076,10 @@
]
},
"storage-access-api": {
- "hasStorageAccess-ABA.tentative.sub.https.window.js": [
+ "hasStorageAccess-ABA.sub.https.window.js": [
"8fa4122fbbb36feca0961219437ab4d49722c087",
[
- "storage-access-api/hasStorageAccess-ABA.tentative.sub.https.window.html",
+ "storage-access-api/hasStorageAccess-ABA.sub.https.window.html",
{
"script_metadata": [
[
@@ -738381,10 +739156,10 @@
}
]
],
- "requestStorageAccess-ABA.tentative.sub.https.window.js": [
+ "requestStorageAccess-ABA.sub.https.window.js": [
"428053f3e56899ce9c66cc7eefbcfa3e462f2191",
[
- "storage-access-api/requestStorageAccess-ABA.tentative.sub.https.window.html",
+ "storage-access-api/requestStorageAccess-ABA.sub.https.window.html",
{
"script_metadata": [
[
@@ -738403,10 +739178,10 @@
}
]
],
- "requestStorageAccess-cross-origin-iframe-navigation-relax.tentative.sub.https.window.js": [
+ "requestStorageAccess-cross-origin-iframe-navigation-relax.sub.https.window.js": [
"7ccb9824e699a3a269fa257b2c889d50f89d8f88",
[
- "storage-access-api/requestStorageAccess-cross-origin-iframe-navigation-relax.tentative.sub.https.window.html",
+ "storage-access-api/requestStorageAccess-cross-origin-iframe-navigation-relax.sub.https.window.html",
{
"script_metadata": [
[
@@ -738503,10 +739278,10 @@
}
]
],
- "requestStorageAccess-dedicated-worker.tentative.sub.https.window.js": [
+ "requestStorageAccess-dedicated-worker.sub.https.window.js": [
"5c3089bf3473156e66922a0c7eb0e3805f6b001d",
[
- "storage-access-api/requestStorageAccess-dedicated-worker.tentative.sub.https.window.html",
+ "storage-access-api/requestStorageAccess-dedicated-worker.sub.https.window.html",
{
"script_metadata": [
[
@@ -738661,10 +739436,58 @@
}
]
],
- "requestStorageAccess-web-socket.tentative.sub.https.window.js": [
+ "requestStorageAccess-sandboxed-iframe-allow-storage-access.sub.https.window.js": [
+ "a631b981a6435c639abddb6c9ea768f92b131ab0",
+ [
+ "storage-access-api/requestStorageAccess-sandboxed-iframe-allow-storage-access.sub.https.window.html",
+ {
+ "script_metadata": [
+ [
+ "script",
+ "helpers.js"
+ ],
+ [
+ "script",
+ "/resources/testdriver.js"
+ ],
+ [
+ "script",
+ "/resources/testdriver-vendor.js"
+ ]
+ ]
+ }
+ ]
+ ],
+ "requestStorageAccess-sandboxed-iframe.sub.https.window.js": [
+ "e32a29601b35dd28f15c936a8bdae36492e66d27",
+ [
+ "storage-access-api/requestStorageAccess-sandboxed-iframe.sub.https.window.html",
+ {
+ "script_metadata": [
+ [
+ "script",
+ "helpers.js"
+ ],
+ [
+ "script",
+ "/cookies/resources/cookie-helper.sub.js"
+ ],
+ [
+ "script",
+ "/resources/testdriver.js"
+ ],
+ [
+ "script",
+ "/resources/testdriver-vendor.js"
+ ]
+ ]
+ }
+ ]
+ ],
+ "requestStorageAccess-web-socket.sub.https.window.js": [
"bc323bd95a09a0ed3192f5a67db1be5636f09961",
[
- "storage-access-api/requestStorageAccess-web-socket.tentative.sub.https.window.html",
+ "storage-access-api/requestStorageAccess-web-socket.sub.https.window.html",
{
"script_metadata": [
[
@@ -738713,13 +739536,6 @@
}
]
],
- "sandboxAttribute.window.js": [
- "de79cd07a9cddac5b8fd4de1fde264313ee700be",
- [
- "storage-access-api/sandboxAttribute.window.html",
- {}
- ]
- ],
"storage-access-beyond-cookies.BroadcastChannel.sub.https.window.js": [
"feb268b4b8146290eec743779c4a8d9567bc74b3",
[
@@ -738955,7 +739771,7 @@
]
],
"storage-access-permission.sub.https.window.js": [
- "f0aadf4828dcb549c0d66ef4745b1e190d56f8d6",
+ "56a5425722e79d5fc702ea6745604885a43ef667",
[
"storage-access-api/storage-access-permission.sub.https.window.html",
{
@@ -748140,7 +748956,7 @@
]
],
"SVGLength-px.html": [
- "25ce286197a49e9d06dc184b2fc8a89d15cd5ed5",
+ "191112a826e2a91cbcf391e3b89565115f986964",
[
null,
{}
@@ -748310,74 +749126,72 @@
]
},
"top-level-storage-access-api": {
- "tentative": {
- "requestStorageAccessFor-insecure.sub.window.js": [
- "0852483ce54e04ee0927e618d751a6eb231f14cb",
- [
- "top-level-storage-access-api/tentative/requestStorageAccessFor-insecure.sub.window.html",
- {
- "script_metadata": [
- [
- "script",
- "/storage-access-api/helpers.js"
- ],
- [
- "script",
- "/resources/testdriver.js"
- ],
- [
- "script",
- "/resources/testdriver-vendor.js"
- ]
+ "requestStorageAccessFor-insecure.sub.window.js": [
+ "0852483ce54e04ee0927e618d751a6eb231f14cb",
+ [
+ "top-level-storage-access-api/requestStorageAccessFor-insecure.sub.window.html",
+ {
+ "script_metadata": [
+ [
+ "script",
+ "/storage-access-api/helpers.js"
+ ],
+ [
+ "script",
+ "/resources/testdriver.js"
+ ],
+ [
+ "script",
+ "/resources/testdriver-vendor.js"
]
- }
- ]
- ],
- "requestStorageAccessFor.sub.https.window.js": [
- "dd2975e49c02193475a034987365df1d0f69ac81",
- [
- "top-level-storage-access-api/tentative/requestStorageAccessFor.sub.https.window.html",
- {
- "script_metadata": [
- [
- "script",
- "/storage-access-api/helpers.js"
- ],
- [
- "script",
- "/resources/testdriver.js"
- ],
- [
- "script",
- "/resources/testdriver-vendor.js"
- ]
+ ]
+ }
+ ]
+ ],
+ "requestStorageAccessFor.sub.https.window.js": [
+ "dd2975e49c02193475a034987365df1d0f69ac81",
+ [
+ "top-level-storage-access-api/requestStorageAccessFor.sub.https.window.html",
+ {
+ "script_metadata": [
+ [
+ "script",
+ "/storage-access-api/helpers.js"
+ ],
+ [
+ "script",
+ "/resources/testdriver.js"
+ ],
+ [
+ "script",
+ "/resources/testdriver-vendor.js"
]
- }
- ]
- ],
- "top-level-storage-access-permission.sub.https.window.js": [
- "466b6f3bbed03642248ce40367b0794d3b2e4eb3",
- [
- "top-level-storage-access-api/tentative/top-level-storage-access-permission.sub.https.window.html",
- {
- "script_metadata": [
- [
- "script",
- "/storage-access-api/helpers.js"
- ],
- [
- "script",
- "/resources/testdriver.js"
- ],
- [
- "script",
- "/resources/testdriver-vendor.js"
- ]
+ ]
+ }
+ ]
+ ],
+ "top-level-storage-access-permission.sub.https.window.js": [
+ "466b6f3bbed03642248ce40367b0794d3b2e4eb3",
+ [
+ "top-level-storage-access-api/top-level-storage-access-permission.sub.https.window.html",
+ {
+ "script_metadata": [
+ [
+ "script",
+ "/storage-access-api/helpers.js"
+ ],
+ [
+ "script",
+ "/resources/testdriver.js"
+ ],
+ [
+ "script",
+ "/resources/testdriver-vendor.js"
]
- }
- ]
+ ]
+ }
]
- }
+ ]
},
"touch-events": {
"expose-legacy-touch-event-apis.html": [
@@ -748682,7 +749496,7 @@
]
],
"TrustedTypePolicyFactory-createPolicy-createXYZTests.html": [
- "746d89fa3f8c3f21cb64d6fb348de15ef9b1f3e2",
+ "72308a2ae8407abcd96e929251610b1f3c716b02",
[
null,
{}
@@ -748731,14 +749545,14 @@
]
],
"TrustedTypePolicyFactory-createPolicy-cspTests.html": [
- "3a56546151e4e8fcef6bfecafa42cd50dd01ebcc",
+ "a564f9553f4eea04c152bb58acdd50dc31a95641",
[
null,
{}
]
],
"TrustedTypePolicyFactory-createPolicy-nameTests.html": [
- "9fdafb2ccf04bf2808e3399d64c83a131c8648d2",
+ "35870926dc6c24952a76f4378fa3cd641389d83b",
[
null,
{}
@@ -748852,7 +749666,7 @@
]
],
"block-string-assignment-to-Document-write.html": [
- "d22be1118ce2b0bcc49c502f5bbaa6283d4c6552",
+ "8fcdc8b2c6fb931bcd2aeb401da0254658900aba",
[
null,
{}
@@ -748922,7 +749736,14 @@
]
],
"block-text-node-insertion-into-script-element.html": [
- "08e3e695530302c8875d127bc4d36e2085a1a1d4",
+ "adadfe5a7ad5034672307e13e5edaf13a9fd4e1e",
+ [
+ null,
+ {}
+ ]
+ ],
+ "block-text-node-insertion-into-svg-script-element.html": [
+ "5f0fb78f9bd90ef6035636cd18310d428d5056d9",
[
null,
{}
@@ -749115,21 +749936,21 @@
]
],
"trusted-types-eval-reporting-no-unsafe-eval.html": [
- "7a31866719ff09c93330724bddba4f276b893931",
+ "afdd0018cd1479eecb7b0fa31dc2221e678c0704",
[
null,
{}
]
],
"trusted-types-eval-reporting-report-only.html": [
- "0e7cf34bb14cd9b11ccc9f969bfa55171d92d315",
+ "39dba61730ea72e02f3e42406df52f3b5992c5d0",
[
null,
{}
]
],
"trusted-types-eval-reporting.html": [
- "73bb011349405bbee430cfcb9b0eb966b7faf8fa",
+ "fbe9425dbef6b2fccbd0c8e7beea35034676da42",
[
null,
{}
@@ -749187,7 +750008,7 @@
]
],
"trusted-types-svg-script-set-href.html": [
- "ab3174c192b1851a2a20a99626369368145e4666",
+ "9b8a528fca44e8f5872d7a70597b7be8544609df",
[
null,
{}
@@ -751665,21 +752486,21 @@
]
],
"a-element-origin-xhtml.xhtml": [
- "effcf04bee3fb0def0b32bd92df5008fbd27e063",
+ "e68e68dda2ad6cc51ad0c1bfeaea9573f007a5e0",
[
null,
{}
]
],
"a-element-origin.html": [
- "9cc8e94cbed06056fe4529b74499d8ae94dc8523",
+ "7015f853f01a1d3216897c3d51443ffbd11cb3e5",
[
null,
{}
]
],
"a-element-xhtml.xhtml": [
- "05bec4ce4b2f1e5a1f825ba6428fa41413943f9c",
+ "610481a7819d622e3051d57869e92344b46b811a",
[
"url/a-element-xhtml.xhtml?exclude=(file|javascript|mailto)",
{}
@@ -751698,7 +752519,7 @@
]
],
"a-element.html": [
- "3428fa00574c4d4a5c48a8ceecd0567c5c011da1",
+ "a7621d2ded76c4cc170da656613ca6bd687f803c",
[
"url/a-element.html?exclude=(file|javascript|mailto)",
{}
@@ -751724,7 +752545,7 @@
]
],
"failure.html": [
- "e61f462f97456f34cc40ff37cbfdeac9d00545df",
+ "d95b1d52d672379745affe6972ccb9ee26c44295",
[
null,
{
@@ -751812,7 +752633,7 @@
]
],
"url-constructor.any.js": [
- "bea06d025b718820286d26ea1804fe98c559d2d9",
+ "b4b639b813e9752db24c38e94dcf57c084ee52fd",
[
"url/url-constructor.any.html?exclude=(file|javascript|mailto)",
{
@@ -752071,7 +752892,7 @@
]
],
"url-origin.any.js": [
- "599984c6c17dfe160269058c6780b900c23057ee",
+ "b9e0c8585312f6f297a879e979f90212eab3868b",
[
"url/url-origin.any.html",
{}
@@ -763776,7 +764597,7 @@
]
],
"audio-data.any.js": [
- "d5d950647767bc4648e557157ad9abd4a7119740",
+ "67fef3c83c858f29005a1019e8a2d49b4999568f",
[
"webcodecs/audio-data.any.html",
{
@@ -768612,7 +769433,7 @@
]
],
"videoFrame-copyTo-rgb.any.js": [
- "eb7351e048b2aff4cff3f2df793ef4741fb1db8d",
+ "c1075a6445ad3a5b3b8ecb35df7a365fc58dc61a",
[
"webcodecs/videoFrame-copyTo-rgb.any.html",
{
@@ -773660,15 +774481,15 @@
}
]
],
- "elementwise_logical.https.any.js": [
- "826b21dd8fef7493aaa5ea31bbb7d8a5ed271bd8",
+ "elementwise_unary.https.any.js": [
+ "54406005e89639c8f856830e9cc7d922c18c3c6b",
[
- "webnn/conformance_tests/elementwise_logical.https.any.html?cpu",
+ "webnn/conformance_tests/elementwise_unary.https.any.html?cpu",
{
"script_metadata": [
[
"title",
- "test WebNN API element-wise logical operations"
+ "test WebNN API element-wise unary operations"
],
[
"global",
@@ -773699,12 +774520,12 @@
}
],
[
- "webnn/conformance_tests/elementwise_logical.https.any.html?gpu",
+ "webnn/conformance_tests/elementwise_unary.https.any.html?gpu",
{
"script_metadata": [
[
"title",
- "test WebNN API element-wise logical operations"
+ "test WebNN API element-wise unary operations"
],
[
"global",
@@ -773735,12 +774556,12 @@
}
],
[
- "webnn/conformance_tests/elementwise_logical.https.any.html?npu",
+ "webnn/conformance_tests/elementwise_unary.https.any.html?npu",
{
"script_metadata": [
[
"title",
- "test WebNN API element-wise logical operations"
+ "test WebNN API element-wise unary operations"
],
[
"global",
@@ -773771,12 +774592,12 @@
}
],
[
- "webnn/conformance_tests/elementwise_logical.https.any.worker.html?cpu",
+ "webnn/conformance_tests/elementwise_unary.https.any.worker.html?cpu",
{
"script_metadata": [
[
"title",
- "test WebNN API element-wise logical operations"
+ "test WebNN API element-wise unary operations"
],
[
"global",
@@ -773807,12 +774628,12 @@
}
],
[
- "webnn/conformance_tests/elementwise_logical.https.any.worker.html?gpu",
+ "webnn/conformance_tests/elementwise_unary.https.any.worker.html?gpu",
{
"script_metadata": [
[
"title",
- "test WebNN API element-wise logical operations"
+ "test WebNN API element-wise unary operations"
],
[
"global",
@@ -773843,12 +774664,12 @@
}
],
[
- "webnn/conformance_tests/elementwise_logical.https.any.worker.html?npu",
+ "webnn/conformance_tests/elementwise_unary.https.any.worker.html?npu",
{
"script_metadata": [
[
"title",
- "test WebNN API element-wise logical operations"
+ "test WebNN API element-wise unary operations"
],
[
"global",
@@ -773879,15 +774700,15 @@
}
]
],
- "elementwise_unary.https.any.js": [
- "54406005e89639c8f856830e9cc7d922c18c3c6b",
+ "elu.https.any.js": [
+ "b16cf04b624290d85578a46014f750556cc65b10",
[
- "webnn/conformance_tests/elementwise_unary.https.any.html?cpu",
+ "webnn/conformance_tests/elu.https.any.html?cpu",
{
"script_metadata": [
[
"title",
- "test WebNN API element-wise unary operations"
+ "test WebNN API elu operation"
],
[
"global",
@@ -773918,12 +774739,12 @@
}
],
[
- "webnn/conformance_tests/elementwise_unary.https.any.html?gpu",
+ "webnn/conformance_tests/elu.https.any.html?gpu",
{
"script_metadata": [
[
"title",
- "test WebNN API element-wise unary operations"
+ "test WebNN API elu operation"
],
[
"global",
@@ -773954,12 +774775,12 @@
}
],
[
- "webnn/conformance_tests/elementwise_unary.https.any.html?npu",
+ "webnn/conformance_tests/elu.https.any.html?npu",
{
"script_metadata": [
[
"title",
- "test WebNN API element-wise unary operations"
+ "test WebNN API elu operation"
],
[
"global",
@@ -773990,12 +774811,12 @@
}
],
[
- "webnn/conformance_tests/elementwise_unary.https.any.worker.html?cpu",
+ "webnn/conformance_tests/elu.https.any.worker.html?cpu",
{
"script_metadata": [
[
"title",
- "test WebNN API element-wise unary operations"
+ "test WebNN API elu operation"
],
[
"global",
@@ -774026,12 +774847,12 @@
}
],
[
- "webnn/conformance_tests/elementwise_unary.https.any.worker.html?gpu",
+ "webnn/conformance_tests/elu.https.any.worker.html?gpu",
{
"script_metadata": [
[
"title",
- "test WebNN API element-wise unary operations"
+ "test WebNN API elu operation"
],
[
"global",
@@ -774062,12 +774883,12 @@
}
],
[
- "webnn/conformance_tests/elementwise_unary.https.any.worker.html?npu",
+ "webnn/conformance_tests/elu.https.any.worker.html?npu",
{
"script_metadata": [
[
"title",
- "test WebNN API element-wise unary operations"
+ "test WebNN API elu operation"
],
[
"global",
@@ -774098,15 +774919,15 @@
}
]
],
- "elu.https.any.js": [
- "b16cf04b624290d85578a46014f750556cc65b10",
+ "equal.https.any.js": [
+ "4b8c6c646d8e764ed271b2238f3cdc5e5287c618",
[
- "webnn/conformance_tests/elu.https.any.html?cpu",
+ "webnn/conformance_tests/equal.https.any.html?cpu",
{
"script_metadata": [
[
"title",
- "test WebNN API elu operation"
+ "test WebNN API element-wise binary operations"
],
[
"global",
@@ -774137,12 +774958,12 @@
}
],
[
- "webnn/conformance_tests/elu.https.any.html?gpu",
+ "webnn/conformance_tests/equal.https.any.html?gpu",
{
"script_metadata": [
[
"title",
- "test WebNN API elu operation"
+ "test WebNN API element-wise binary operations"
],
[
"global",
@@ -774173,12 +774994,12 @@
}
],
[
- "webnn/conformance_tests/elu.https.any.html?npu",
+ "webnn/conformance_tests/equal.https.any.html?npu",
{
"script_metadata": [
[
"title",
- "test WebNN API elu operation"
+ "test WebNN API element-wise binary operations"
],
[
"global",
@@ -774209,12 +775030,12 @@
}
],
[
- "webnn/conformance_tests/elu.https.any.worker.html?cpu",
+ "webnn/conformance_tests/equal.https.any.worker.html?cpu",
{
"script_metadata": [
[
"title",
- "test WebNN API elu operation"
+ "test WebNN API element-wise binary operations"
],
[
"global",
@@ -774245,12 +775066,12 @@
}
],
[
- "webnn/conformance_tests/elu.https.any.worker.html?gpu",
+ "webnn/conformance_tests/equal.https.any.worker.html?gpu",
{
"script_metadata": [
[
"title",
- "test WebNN API elu operation"
+ "test WebNN API element-wise binary operations"
],
[
"global",
@@ -774281,12 +775102,12 @@
}
],
[
- "webnn/conformance_tests/elu.https.any.worker.html?npu",
+ "webnn/conformance_tests/equal.https.any.worker.html?npu",
{
"script_metadata": [
[
"title",
- "test WebNN API elu operation"
+ "test WebNN API element-wise binary operations"
],
[
"global",
@@ -775193,6 +776014,444 @@
}
]
],
+ "greater.https.any.js": [
+ "8d642413e2952c3584ea066e9eb5fce555b0afad",
+ [
+ "webnn/conformance_tests/greater.https.any.html?cpu",
+ {
+ "script_metadata": [
+ [
+ "title",
+ "test WebNN API element-wise binary operations"
+ ],
+ [
+ "global",
+ "window,dedicatedworker"
+ ],
+ [
+ "variant",
+ "?cpu"
+ ],
+ [
+ "variant",
+ "?gpu"
+ ],
+ [
+ "variant",
+ "?npu"
+ ],
+ [
+ "script",
+ "../resources/utils.js"
+ ],
+ [
+ "timeout",
+ "long"
+ ]
+ ],
+ "timeout": "long"
+ }
+ ],
+ [
+ "webnn/conformance_tests/greater.https.any.html?gpu",
+ {
+ "script_metadata": [
+ [
+ "title",
+ "test WebNN API element-wise binary operations"
+ ],
+ [
+ "global",
+ "window,dedicatedworker"
+ ],
+ [
+ "variant",
+ "?cpu"
+ ],
+ [
+ "variant",
+ "?gpu"
+ ],
+ [
+ "variant",
+ "?npu"
+ ],
+ [
+ "script",
+ "../resources/utils.js"
+ ],
+ [
+ "timeout",
+ "long"
+ ]
+ ],
+ "timeout": "long"
+ }
+ ],
+ [
+ "webnn/conformance_tests/greater.https.any.html?npu",
+ {
+ "script_metadata": [
+ [
+ "title",
+ "test WebNN API element-wise binary operations"
+ ],
+ [
+ "global",
+ "window,dedicatedworker"
+ ],
+ [
+ "variant",
+ "?cpu"
+ ],
+ [
+ "variant",
+ "?gpu"
+ ],
+ [
+ "variant",
+ "?npu"
+ ],
+ [
+ "script",
+ "../resources/utils.js"
+ ],
+ [
+ "timeout",
+ "long"
+ ]
+ ],
+ "timeout": "long"
+ }
+ ],
+ [
+ "webnn/conformance_tests/greater.https.any.worker.html?cpu",
+ {
+ "script_metadata": [
+ [
+ "title",
+ "test WebNN API element-wise binary operations"
+ ],
+ [
+ "global",
+ "window,dedicatedworker"
+ ],
+ [
+ "variant",
+ "?cpu"
+ ],
+ [
+ "variant",
+ "?gpu"
+ ],
+ [
+ "variant",
+ "?npu"
+ ],
+ [
+ "script",
+ "../resources/utils.js"
+ ],
+ [
+ "timeout",
+ "long"
+ ]
+ ],
+ "timeout": "long"
+ }
+ ],
+ [
+ "webnn/conformance_tests/greater.https.any.worker.html?gpu",
+ {
+ "script_metadata": [
+ [
+ "title",
+ "test WebNN API element-wise binary operations"
+ ],
+ [
+ "global",
+ "window,dedicatedworker"
+ ],
+ [
+ "variant",
+ "?cpu"
+ ],
+ [
+ "variant",
+ "?gpu"
+ ],
+ [
+ "variant",
+ "?npu"
+ ],
+ [
+ "script",
+ "../resources/utils.js"
+ ],
+ [
+ "timeout",
+ "long"
+ ]
+ ],
+ "timeout": "long"
+ }
+ ],
+ [
+ "webnn/conformance_tests/greater.https.any.worker.html?npu",
+ {
+ "script_metadata": [
+ [
+ "title",
+ "test WebNN API element-wise binary operations"
+ ],
+ [
+ "global",
+ "window,dedicatedworker"
+ ],
+ [
+ "variant",
+ "?cpu"
+ ],
+ [
+ "variant",
+ "?gpu"
+ ],
+ [
+ "variant",
+ "?npu"
+ ],
+ [
+ "script",
+ "../resources/utils.js"
+ ],
+ [
+ "timeout",
+ "long"
+ ]
+ ],
+ "timeout": "long"
+ }
+ ]
+ ],
+ "greater_or_equal.https.any.js": [
+ "676116aff6674b93bf6aec2fe83a956a88664be6",
+ [
+ "webnn/conformance_tests/greater_or_equal.https.any.html?cpu",
+ {
+ "script_metadata": [
+ [
+ "title",
+ "test WebNN API element-wise binary operations"
+ ],
+ [
+ "global",
+ "window,dedicatedworker"
+ ],
+ [
+ "variant",
+ "?cpu"
+ ],
+ [
+ "variant",
+ "?gpu"
+ ],
+ [
+ "variant",
+ "?npu"
+ ],
+ [
+ "script",
+ "../resources/utils.js"
+ ],
+ [
+ "timeout",
+ "long"
+ ]
+ ],
+ "timeout": "long"
+ }
+ ],
+ [
+ "webnn/conformance_tests/greater_or_equal.https.any.html?gpu",
+ {
+ "script_metadata": [
+ [
+ "title",
+ "test WebNN API element-wise binary operations"
+ ],
+ [
+ "global",
+ "window,dedicatedworker"
+ ],
+ [
+ "variant",
+ "?cpu"
+ ],
+ [
+ "variant",
+ "?gpu"
+ ],
+ [
+ "variant",
+ "?npu"
+ ],
+ [
+ "script",
+ "../resources/utils.js"
+ ],
+ [
+ "timeout",
+ "long"
+ ]
+ ],
+ "timeout": "long"
+ }
+ ],
+ [
+ "webnn/conformance_tests/greater_or_equal.https.any.html?npu",
+ {
+ "script_metadata": [
+ [
+ "title",
+ "test WebNN API element-wise binary operations"
+ ],
+ [
+ "global",
+ "window,dedicatedworker"
+ ],
+ [
+ "variant",
+ "?cpu"
+ ],
+ [
+ "variant",
+ "?gpu"
+ ],
+ [
+ "variant",
+ "?npu"
+ ],
+ [
+ "script",
+ "../resources/utils.js"
+ ],
+ [
+ "timeout",
+ "long"
+ ]
+ ],
+ "timeout": "long"
+ }
+ ],
+ [
+ "webnn/conformance_tests/greater_or_equal.https.any.worker.html?cpu",
+ {
+ "script_metadata": [
+ [
+ "title",
+ "test WebNN API element-wise binary operations"
+ ],
+ [
+ "global",
+ "window,dedicatedworker"
+ ],
+ [
+ "variant",
+ "?cpu"
+ ],
+ [
+ "variant",
+ "?gpu"
+ ],
+ [
+ "variant",
+ "?npu"
+ ],
+ [
+ "script",
+ "../resources/utils.js"
+ ],
+ [
+ "timeout",
+ "long"
+ ]
+ ],
+ "timeout": "long"
+ }
+ ],
+ [
+ "webnn/conformance_tests/greater_or_equal.https.any.worker.html?gpu",
+ {
+ "script_metadata": [
+ [
+ "title",
+ "test WebNN API element-wise binary operations"
+ ],
+ [
+ "global",
+ "window,dedicatedworker"
+ ],
+ [
+ "variant",
+ "?cpu"
+ ],
+ [
+ "variant",
+ "?gpu"
+ ],
+ [
+ "variant",
+ "?npu"
+ ],
+ [
+ "script",
+ "../resources/utils.js"
+ ],
+ [
+ "timeout",
+ "long"
+ ]
+ ],
+ "timeout": "long"
+ }
+ ],
+ [
+ "webnn/conformance_tests/greater_or_equal.https.any.worker.html?npu",
+ {
+ "script_metadata": [
+ [
+ "title",
+ "test WebNN API element-wise binary operations"
+ ],
+ [
+ "global",
+ "window,dedicatedworker"
+ ],
+ [
+ "variant",
+ "?cpu"
+ ],
+ [
+ "variant",
+ "?gpu"
+ ],
+ [
+ "variant",
+ "?npu"
+ ],
+ [
+ "script",
+ "../resources/utils.js"
+ ],
+ [
+ "timeout",
+ "long"
+ ]
+ ],
+ "timeout": "long"
+ }
+ ]
+ ],
"hard_sigmoid.https.any.js": [
"cfc726a57be26bca99b7c8857276dd0a86b82104",
[
@@ -776288,6 +777547,444 @@
}
]
],
+ "lesser.https.any.js": [
+ "246c3ed2c26c6bbd139efc963f2f0f331d13b2c3",
+ [
+ "webnn/conformance_tests/lesser.https.any.html?cpu",
+ {
+ "script_metadata": [
+ [
+ "title",
+ "test WebNN API element-wise binary operations"
+ ],
+ [
+ "global",
+ "window,dedicatedworker"
+ ],
+ [
+ "variant",
+ "?cpu"
+ ],
+ [
+ "variant",
+ "?gpu"
+ ],
+ [
+ "variant",
+ "?npu"
+ ],
+ [
+ "script",
+ "../resources/utils.js"
+ ],
+ [
+ "timeout",
+ "long"
+ ]
+ ],
+ "timeout": "long"
+ }
+ ],
+ [
+ "webnn/conformance_tests/lesser.https.any.html?gpu",
+ {
+ "script_metadata": [
+ [
+ "title",
+ "test WebNN API element-wise binary operations"
+ ],
+ [
+ "global",
+ "window,dedicatedworker"
+ ],
+ [
+ "variant",
+ "?cpu"
+ ],
+ [
+ "variant",
+ "?gpu"
+ ],
+ [
+ "variant",
+ "?npu"
+ ],
+ [
+ "script",
+ "../resources/utils.js"
+ ],
+ [
+ "timeout",
+ "long"
+ ]
+ ],
+ "timeout": "long"
+ }
+ ],
+ [
+ "webnn/conformance_tests/lesser.https.any.html?npu",
+ {
+ "script_metadata": [
+ [
+ "title",
+ "test WebNN API element-wise binary operations"
+ ],
+ [
+ "global",
+ "window,dedicatedworker"
+ ],
+ [
+ "variant",
+ "?cpu"
+ ],
+ [
+ "variant",
+ "?gpu"
+ ],
+ [
+ "variant",
+ "?npu"
+ ],
+ [
+ "script",
+ "../resources/utils.js"
+ ],
+ [
+ "timeout",
+ "long"
+ ]
+ ],
+ "timeout": "long"
+ }
+ ],
+ [
+ "webnn/conformance_tests/lesser.https.any.worker.html?cpu",
+ {
+ "script_metadata": [
+ [
+ "title",
+ "test WebNN API element-wise binary operations"
+ ],
+ [
+ "global",
+ "window,dedicatedworker"
+ ],
+ [
+ "variant",
+ "?cpu"
+ ],
+ [
+ "variant",
+ "?gpu"
+ ],
+ [
+ "variant",
+ "?npu"
+ ],
+ [
+ "script",
+ "../resources/utils.js"
+ ],
+ [
+ "timeout",
+ "long"
+ ]
+ ],
+ "timeout": "long"
+ }
+ ],
+ [
+ "webnn/conformance_tests/lesser.https.any.worker.html?gpu",
+ {
+ "script_metadata": [
+ [
+ "title",
+ "test WebNN API element-wise binary operations"
+ ],
+ [
+ "global",
+ "window,dedicatedworker"
+ ],
+ [
+ "variant",
+ "?cpu"
+ ],
+ [
+ "variant",
+ "?gpu"
+ ],
+ [
+ "variant",
+ "?npu"
+ ],
+ [
+ "script",
+ "../resources/utils.js"
+ ],
+ [
+ "timeout",
+ "long"
+ ]
+ ],
+ "timeout": "long"
+ }
+ ],
+ [
+ "webnn/conformance_tests/lesser.https.any.worker.html?npu",
+ {
+ "script_metadata": [
+ [
+ "title",
+ "test WebNN API element-wise binary operations"
+ ],
+ [
+ "global",
+ "window,dedicatedworker"
+ ],
+ [
+ "variant",
+ "?cpu"
+ ],
+ [
+ "variant",
+ "?gpu"
+ ],
+ [
+ "variant",
+ "?npu"
+ ],
+ [
+ "script",
+ "../resources/utils.js"
+ ],
+ [
+ "timeout",
+ "long"
+ ]
+ ],
+ "timeout": "long"
+ }
+ ]
+ ],
+ "lesser_or_equal.https.any.js": [
+ "75d60bd73ceedab60f827887acfcb2a69a5a71bf",
+ [
+ "webnn/conformance_tests/lesser_or_equal.https.any.html?cpu",
+ {
+ "script_metadata": [
+ [
+ "title",
+ "test WebNN API element-wise binary operations"
+ ],
+ [
+ "global",
+ "window,dedicatedworker"
+ ],
+ [
+ "variant",
+ "?cpu"
+ ],
+ [
+ "variant",
+ "?gpu"
+ ],
+ [
+ "variant",
+ "?npu"
+ ],
+ [
+ "script",
+ "../resources/utils.js"
+ ],
+ [
+ "timeout",
+ "long"
+ ]
+ ],
+ "timeout": "long"
+ }
+ ],
+ [
+ "webnn/conformance_tests/lesser_or_equal.https.any.html?gpu",
+ {
+ "script_metadata": [
+ [
+ "title",
+ "test WebNN API element-wise binary operations"
+ ],
+ [
+ "global",
+ "window,dedicatedworker"
+ ],
+ [
+ "variant",
+ "?cpu"
+ ],
+ [
+ "variant",
+ "?gpu"
+ ],
+ [
+ "variant",
+ "?npu"
+ ],
+ [
+ "script",
+ "../resources/utils.js"
+ ],
+ [
+ "timeout",
+ "long"
+ ]
+ ],
+ "timeout": "long"
+ }
+ ],
+ [
+ "webnn/conformance_tests/lesser_or_equal.https.any.html?npu",
+ {
+ "script_metadata": [
+ [
+ "title",
+ "test WebNN API element-wise binary operations"
+ ],
+ [
+ "global",
+ "window,dedicatedworker"
+ ],
+ [
+ "variant",
+ "?cpu"
+ ],
+ [
+ "variant",
+ "?gpu"
+ ],
+ [
+ "variant",
+ "?npu"
+ ],
+ [
+ "script",
+ "../resources/utils.js"
+ ],
+ [
+ "timeout",
+ "long"
+ ]
+ ],
+ "timeout": "long"
+ }
+ ],
+ [
+ "webnn/conformance_tests/lesser_or_equal.https.any.worker.html?cpu",
+ {
+ "script_metadata": [
+ [
+ "title",
+ "test WebNN API element-wise binary operations"
+ ],
+ [
+ "global",
+ "window,dedicatedworker"
+ ],
+ [
+ "variant",
+ "?cpu"
+ ],
+ [
+ "variant",
+ "?gpu"
+ ],
+ [
+ "variant",
+ "?npu"
+ ],
+ [
+ "script",
+ "../resources/utils.js"
+ ],
+ [
+ "timeout",
+ "long"
+ ]
+ ],
+ "timeout": "long"
+ }
+ ],
+ [
+ "webnn/conformance_tests/lesser_or_equal.https.any.worker.html?gpu",
+ {
+ "script_metadata": [
+ [
+ "title",
+ "test WebNN API element-wise binary operations"
+ ],
+ [
+ "global",
+ "window,dedicatedworker"
+ ],
+ [
+ "variant",
+ "?cpu"
+ ],
+ [
+ "variant",
+ "?gpu"
+ ],
+ [
+ "variant",
+ "?npu"
+ ],
+ [
+ "script",
+ "../resources/utils.js"
+ ],
+ [
+ "timeout",
+ "long"
+ ]
+ ],
+ "timeout": "long"
+ }
+ ],
+ [
+ "webnn/conformance_tests/lesser_or_equal.https.any.worker.html?npu",
+ {
+ "script_metadata": [
+ [
+ "title",
+ "test WebNN API element-wise binary operations"
+ ],
+ [
+ "global",
+ "window,dedicatedworker"
+ ],
+ [
+ "variant",
+ "?cpu"
+ ],
+ [
+ "variant",
+ "?gpu"
+ ],
+ [
+ "variant",
+ "?npu"
+ ],
+ [
+ "script",
+ "../resources/utils.js"
+ ],
+ [
+ "timeout",
+ "long"
+ ]
+ ],
+ "timeout": "long"
+ }
+ ]
+ ],
"linear.https.any.js": [
"c011229db8f1f50f6ab3f7930d754984fb58f866",
[
@@ -776507,6 +778204,225 @@
}
]
],
+ "logical_not.https.any.js": [
+ "db0cc4e8c607d3a8b55dfc9062e2696919cab4cf",
+ [
+ "webnn/conformance_tests/logical_not.https.any.html?cpu",
+ {
+ "script_metadata": [
+ [
+ "title",
+ "test WebNN API element-wise binary operations"
+ ],
+ [
+ "global",
+ "window,dedicatedworker"
+ ],
+ [
+ "variant",
+ "?cpu"
+ ],
+ [
+ "variant",
+ "?gpu"
+ ],
+ [
+ "variant",
+ "?npu"
+ ],
+ [
+ "script",
+ "../resources/utils.js"
+ ],
+ [
+ "timeout",
+ "long"
+ ]
+ ],
+ "timeout": "long"
+ }
+ ],
+ [
+ "webnn/conformance_tests/logical_not.https.any.html?gpu",
+ {
+ "script_metadata": [
+ [
+ "title",
+ "test WebNN API element-wise binary operations"
+ ],
+ [
+ "global",
+ "window,dedicatedworker"
+ ],
+ [
+ "variant",
+ "?cpu"
+ ],
+ [
+ "variant",
+ "?gpu"
+ ],
+ [
+ "variant",
+ "?npu"
+ ],
+ [
+ "script",
+ "../resources/utils.js"
+ ],
+ [
+ "timeout",
+ "long"
+ ]
+ ],
+ "timeout": "long"
+ }
+ ],
+ [
+ "webnn/conformance_tests/logical_not.https.any.html?npu",
+ {
+ "script_metadata": [
+ [
+ "title",
+ "test WebNN API element-wise binary operations"
+ ],
+ [
+ "global",
+ "window,dedicatedworker"
+ ],
+ [
+ "variant",
+ "?cpu"
+ ],
+ [
+ "variant",
+ "?gpu"
+ ],
+ [
+ "variant",
+ "?npu"
+ ],
+ [
+ "script",
+ "../resources/utils.js"
+ ],
+ [
+ "timeout",
+ "long"
+ ]
+ ],
+ "timeout": "long"
+ }
+ ],
+ [
+ "webnn/conformance_tests/logical_not.https.any.worker.html?cpu",
+ {
+ "script_metadata": [
+ [
+ "title",
+ "test WebNN API element-wise binary operations"
+ ],
+ [
+ "global",
+ "window,dedicatedworker"
+ ],
+ [
+ "variant",
+ "?cpu"
+ ],
+ [
+ "variant",
+ "?gpu"
+ ],
+ [
+ "variant",
+ "?npu"
+ ],
+ [
+ "script",
+ "../resources/utils.js"
+ ],
+ [
+ "timeout",
+ "long"
+ ]
+ ],
+ "timeout": "long"
+ }
+ ],
+ [
+ "webnn/conformance_tests/logical_not.https.any.worker.html?gpu",
+ {
+ "script_metadata": [
+ [
+ "title",
+ "test WebNN API element-wise binary operations"
+ ],
+ [
+ "global",
+ "window,dedicatedworker"
+ ],
+ [
+ "variant",
+ "?cpu"
+ ],
+ [
+ "variant",
+ "?gpu"
+ ],
+ [
+ "variant",
+ "?npu"
+ ],
+ [
+ "script",
+ "../resources/utils.js"
+ ],
+ [
+ "timeout",
+ "long"
+ ]
+ ],
+ "timeout": "long"
+ }
+ ],
+ [
+ "webnn/conformance_tests/logical_not.https.any.worker.html?npu",
+ {
+ "script_metadata": [
+ [
+ "title",
+ "test WebNN API element-wise binary operations"
+ ],
+ [
+ "global",
+ "window,dedicatedworker"
+ ],
+ [
+ "variant",
+ "?cpu"
+ ],
+ [
+ "variant",
+ "?gpu"
+ ],
+ [
+ "variant",
+ "?npu"
+ ],
+ [
+ "script",
+ "../resources/utils.js"
+ ],
+ [
+ "timeout",
+ "long"
+ ]
+ ],
+ "timeout": "long"
+ }
+ ]
+ ],
"matmul.https.any.js": [
"50930d1b0f73102da00921e543a3f8e2ce86ef06",
[
@@ -781825,7 +783741,7 @@
],
"validation_tests": {
"argMinMax.https.any.js": [
- "42d9adb57fec8ab956be4be8dde656db710a9cd6",
+ "2d7b286c8711c4e236e0efa6b372cc680086426a",
[
"webnn/validation_tests/argMinMax.https.any.html",
{
@@ -799102,24 +801018,24 @@
}
]
],
- "localstorage-about-blank-3P-iframe-opens-3P-window.partitioned.tentative.html": [
+ "localstorage-about-blank-3P-iframe-opens-3P-window.partitioned.html": [
"de94fb2cf435de13665e5d7aa0abc0ac2fcc035d",
[
null,
{}
]
],
- "localstorage-basic-partitioned.tentative.sub.html": [
- "7ed49b1e9a0eb5f576a61674332ebb92611561e8",
+ "localstorage-basic-partitioned.sub.html": [
+ "3d5b1e93ce5ef66ea9ef7b76bfb6a6e3a6bafe72",
[
null,
{}
]
],
- "localstorage-cross-origin-iframe.tentative.https.window.js": [
+ "localstorage-cross-origin-iframe.https.window.js": [
"39812f27a003757317d566cafbd7d31bfd205199",
[
- "webstorage/localstorage-cross-origin-iframe.tentative.https.window.html",
+ "webstorage/localstorage-cross-origin-iframe.https.window.html",
{
"script_metadata": [
[
@@ -799153,8 +801069,8 @@
{}
]
],
- "sessionStorage-basic-partitioned.tentative.sub.html": [
- "30575bfaf1a579a7667ad677718684d181d7187d",
+ "sessionStorage-basic-partitioned.sub.html": [
+ "38525b99a23497a17de34fde6e3aec4a56370594",
[
null,
{}
@@ -831719,7 +833635,7 @@
},
"combined": {
"network_events.py": [
- "e58b5aa7fd95171a40495fe72427a0207f26e204",
+ "3fbdce53b575a5f39c8f1d5de761d3463273e6a5",
[
null,
{}
@@ -831989,7 +833905,7 @@
]
],
"invalid.py": [
- "46afcfbc8ac37a3536befbba9cae34ba19d27d7d",
+ "047496b4c210b5369d062234db89a9903e4f0fa9",
[
null,
{}
@@ -832054,7 +833970,7 @@
]
],
"invalid.py": [
- "af94e86efe10c3e353f952111a3054d9d7525cff",
+ "ccd5bcfa439e5bf661715fb31fc9ccb00fe5c09b",
[
null,
{}
@@ -832811,7 +834727,7 @@
]
],
"scroll_into_view.py": [
- "7ccaeaf8142011ccbe7830876147d73853d0b07a",
+ "af20211251a212476fa198c8e405de07349dfc54",
[
null,
{}
diff --git a/tests/wpt/meta/css/css-animations/jump-start-animation-before-phase.html.ini b/tests/wpt/meta/css/css-animations/jump-start-animation-before-phase.html.ini
new file mode 100644
index 00000000000..4595bc7f1ef
--- /dev/null
+++ b/tests/wpt/meta/css/css-animations/jump-start-animation-before-phase.html.ini
@@ -0,0 +1,2 @@
+[jump-start-animation-before-phase.html]
+ expected: TIMEOUT
diff --git a/tests/wpt/meta/css/css-cascade/scope-style-sharing-001.html.ini b/tests/wpt/meta/css/css-cascade/scope-style-sharing-001.html.ini
new file mode 100644
index 00000000000..8d99ae7c08a
--- /dev/null
+++ b/tests/wpt/meta/css/css-cascade/scope-style-sharing-001.html.ini
@@ -0,0 +1,36 @@
+[scope-style-sharing-001.html]
+ [@scope with sibling style sharing, second sibling exits scope]
+ expected: FAIL
+
+ [@scope with sibling style sharing, first sibling matches scope]
+ expected: FAIL
+
+ [@scope with sibling style sharing, first sibling enters scope]
+ expected: FAIL
+
+ [@scope with sibling style sharing, second sibling enters scope]
+ expected: FAIL
+
+ [@scope with sibling style sharing, first sibling has implicit scope]
+ expected: FAIL
+
+ [@scope with sibling style sharing, second sibling has implicit scope]
+ expected: FAIL
+
+ [@scope with sibling style sharing, second sibling exits implicit scope]
+ expected: FAIL
+
+ [@scope with sibling style sharing, first sibling exits implicit scope]
+ expected: FAIL
+
+ [@scope with sibling style sharing, first sibling enters scope with :has]
+ expected: FAIL
+
+ [@scope with sibling style sharing, second sibling enters scope with :has]
+ expected: FAIL
+
+ [@scope with sibling style sharing, first sibling enters scope with ID selector]
+ expected: FAIL
+
+ [@scope with sibling style sharing, second sibling enters scope with ID selector]
+ expected: FAIL
diff --git a/tests/wpt/meta/css/css-cascade/scope-style-sharing-002.html.ini b/tests/wpt/meta/css/css-cascade/scope-style-sharing-002.html.ini
new file mode 100644
index 00000000000..160cae6962e
--- /dev/null
+++ b/tests/wpt/meta/css/css-cascade/scope-style-sharing-002.html.ini
@@ -0,0 +1,36 @@
+[scope-style-sharing-002.html]
+ [@scope with cousin style sharing, second sibling exits scope]
+ expected: FAIL
+
+ [@scope with cousin style sharing, first sibling exits scope]
+ expected: FAIL
+
+ [@scope with cousin style sharing, first sibling enters scope]
+ expected: FAIL
+
+ [@scope with cousin style sharing, second sibling enters scope]
+ expected: FAIL
+
+ [@scope with cousin style sharing, second sibling parent does not have implicit scope]
+ expected: FAIL
+
+ [@scope with cousin style sharing, first sibling parent does not have implicit scope]
+ expected: FAIL
+
+ [@scope with cousin style sharing, second sibling does not have implicit scope]
+ expected: FAIL
+
+ [@scope with cousin style sharing, first sibling does not have implicit scope]
+ expected: FAIL
+
+ [@scope with cousin style sharing, first sibling enters scope with :has]
+ expected: FAIL
+
+ [@scope with cousin style sharing, second sibling enters scope with :has]
+ expected: FAIL
+
+ [@scope with cousin style sharing, first sibling enters scope ID selector]
+ expected: FAIL
+
+ [@scope with cousin style sharing, second sibling enters scope ID selector]
+ expected: FAIL
diff --git a/tests/wpt/meta/css/css-display/parsing/display-valid.html.ini b/tests/wpt/meta/css/css-display/parsing/display-valid.html.ini
index f3651251efd..2c831e6cfac 100644
--- a/tests/wpt/meta/css/css-display/parsing/display-valid.html.ini
+++ b/tests/wpt/meta/css/css-display/parsing/display-valid.html.ini
@@ -14,9 +14,6 @@
[e.style['display'\] = "run-in" should set the property value]
expected: FAIL
- [e.style['display'\] = "flow" should set the property value]
- expected: FAIL
-
[e.style['display'\] = "ruby" should set the property value]
expected: FAIL
@@ -68,12 +65,6 @@
[e.style['display'\] = "list-item flow-root block" should set the property value]
expected: FAIL
- [e.style['display'\] = "flow-root inline" should set the property value]
- expected: FAIL
-
- [e.style['display'\] = "inline flow-root" should set the property value]
- expected: FAIL
-
[e.style['display'\] = "flex inline" should set the property value]
expected: FAIL
@@ -86,12 +77,6 @@
[e.style['display'\] = "inline grid" should set the property value]
expected: FAIL
- [e.style['display'\] = "table inline" should set the property value]
- expected: FAIL
-
- [e.style['display'\] = "inline table" should set the property value]
- expected: FAIL
-
[e.style['display'\] = "inline ruby" should set the property value]
expected: FAIL
diff --git a/tests/wpt/meta/css/css-fonts/font-size-adjust-reload.html.ini b/tests/wpt/meta/css/css-fonts/font-size-adjust-reload.html.ini
deleted file mode 100644
index bc77583f93e..00000000000
--- a/tests/wpt/meta/css/css-fonts/font-size-adjust-reload.html.ini
+++ /dev/null
@@ -1,2 +0,0 @@
-[font-size-adjust-reload.html]
- expected: TIMEOUT
diff --git a/tests/wpt/meta/css/css-fonts/variations/at-font-face-font-matching.html.ini b/tests/wpt/meta/css/css-fonts/variations/at-font-face-font-matching.html.ini
new file mode 100644
index 00000000000..6fe4576cf14
--- /dev/null
+++ b/tests/wpt/meta/css/css-fonts/variations/at-font-face-font-matching.html.ini
@@ -0,0 +1,3 @@
+[at-font-face-font-matching.html]
+ [Matching font-style: 'oblique -10deg' should prefer 'oblique -20deg -15deg' over 'oblique -60deg -30deg']
+ expected: FAIL
diff --git a/tests/wpt/meta/css/css-position/position-sticky-dynamic-ancestor-001.html.ini b/tests/wpt/meta/css/css-position/position-sticky-dynamic-ancestor-001.html.ini
new file mode 100644
index 00000000000..790d1cca7d7
--- /dev/null
+++ b/tests/wpt/meta/css/css-position/position-sticky-dynamic-ancestor-001.html.ini
@@ -0,0 +1,3 @@
+[position-sticky-dynamic-ancestor-001.html]
+ [Dynamic sticky position change doesn't break inner sticky positioned items]
+ expected: FAIL
diff --git a/tests/wpt/meta/css/css-sizing/animation/height-composition.html.ini b/tests/wpt/meta/css/css-sizing/animation/height-composition.html.ini
index 33ffe2e861d..bac0fb4d218 100644
--- a/tests/wpt/meta/css/css-sizing/animation/height-composition.html.ini
+++ b/tests/wpt/meta/css/css-sizing/animation/height-composition.html.ini
@@ -58,3 +58,18 @@
[Compositing: property <height> underlying [100px\] from add [100px\] to add [auto\] at (1.5) should be [auto\]]
expected: FAIL
+
+ [Compositing: property <height> underlying [min-content\] from add [100px\] to add [200px\] at (-0.3) should be [70px\]]
+ expected: FAIL
+
+ [Compositing: property <height> underlying [min-content\] from add [100px\] to add [200px\] at (0) should be [100px\]]
+ expected: FAIL
+
+ [Compositing: property <height> underlying [min-content\] from add [100px\] to add [200px\] at (0.5) should be [150px\]]
+ expected: FAIL
+
+ [Compositing: property <height> underlying [min-content\] from add [100px\] to add [200px\] at (1) should be [200px\]]
+ expected: FAIL
+
+ [Compositing: property <height> underlying [min-content\] from add [100px\] to add [200px\] at (1.5) should be [250px\]]
+ expected: FAIL
diff --git a/tests/wpt/meta/css/css-sizing/animation/max-height-composition.html.ini b/tests/wpt/meta/css/css-sizing/animation/max-height-composition.html.ini
index 28facc8864e..53126986176 100644
--- a/tests/wpt/meta/css/css-sizing/animation/max-height-composition.html.ini
+++ b/tests/wpt/meta/css/css-sizing/animation/max-height-composition.html.ini
@@ -73,3 +73,18 @@
[Compositing: property <max-height> underlying [100px\] from add [100px\] to add [none\] at (1.5) should be [none\]]
expected: FAIL
+
+ [Compositing: property <max-height> underlying [100px\] from add [min-content\] to add [100px\] at (-0.3) should be [min-content\]]
+ expected: FAIL
+
+ [Compositing: property <max-height> underlying [100px\] from add [min-content\] to add [100px\] at (0) should be [min-content\]]
+ expected: FAIL
+
+ [Compositing: property <max-height> underlying [100px\] from add [min-content\] to add [100px\] at (0.5) should be [200px\]]
+ expected: FAIL
+
+ [Compositing: property <max-height> underlying [100px\] from add [min-content\] to add [100px\] at (1) should be [200px\]]
+ expected: FAIL
+
+ [Compositing: property <max-height> underlying [100px\] from add [min-content\] to add [100px\] at (1.5) should be [200px\]]
+ expected: FAIL
diff --git a/tests/wpt/meta/css/css-sizing/animation/max-width-composition.html.ini b/tests/wpt/meta/css/css-sizing/animation/max-width-composition.html.ini
index 69d1d540a53..7b6bf253a30 100644
--- a/tests/wpt/meta/css/css-sizing/animation/max-width-composition.html.ini
+++ b/tests/wpt/meta/css/css-sizing/animation/max-width-composition.html.ini
@@ -73,3 +73,18 @@
[Compositing: property <max-width> underlying [100px\] from add [100px\] to add [none\] at (1.5) should be [none\]]
expected: FAIL
+
+ [Compositing: property <max-width> underlying [fit-content\] from add [100px\] to add [200px\] at (-0.3) should be [70px\]]
+ expected: FAIL
+
+ [Compositing: property <max-width> underlying [fit-content\] from add [100px\] to add [200px\] at (0) should be [100px\]]
+ expected: FAIL
+
+ [Compositing: property <max-width> underlying [fit-content\] from add [100px\] to add [200px\] at (0.5) should be [150px\]]
+ expected: FAIL
+
+ [Compositing: property <max-width> underlying [fit-content\] from add [100px\] to add [200px\] at (1) should be [200px\]]
+ expected: FAIL
+
+ [Compositing: property <max-width> underlying [fit-content\] from add [100px\] to add [200px\] at (1.5) should be [250px\]]
+ expected: FAIL
diff --git a/tests/wpt/meta/css/css-sizing/animation/min-height-composition.html.ini b/tests/wpt/meta/css/css-sizing/animation/min-height-composition.html.ini
index 4e2cdc22de4..7d7b1f41943 100644
--- a/tests/wpt/meta/css/css-sizing/animation/min-height-composition.html.ini
+++ b/tests/wpt/meta/css/css-sizing/animation/min-height-composition.html.ini
@@ -73,3 +73,18 @@
[Compositing: property <min-height> underlying [100px\] from add [100px\] to add [auto\] at (1.5) should be [auto\]]
expected: FAIL
+
+ [Compositing: property <min-height> underlying [100px\] from add [min-content\] to add [max-content\] at (-0.3) should be [min-content\]]
+ expected: FAIL
+
+ [Compositing: property <min-height> underlying [100px\] from add [min-content\] to add [max-content\] at (0) should be [min-content\]]
+ expected: FAIL
+
+ [Compositing: property <min-height> underlying [100px\] from add [min-content\] to add [max-content\] at (0.5) should be [max-content\]]
+ expected: FAIL
+
+ [Compositing: property <min-height> underlying [100px\] from add [min-content\] to add [max-content\] at (1) should be [max-content\]]
+ expected: FAIL
+
+ [Compositing: property <min-height> underlying [100px\] from add [min-content\] to add [max-content\] at (1.5) should be [max-content\]]
+ expected: FAIL
diff --git a/tests/wpt/meta/css/css-sizing/animation/min-width-composition.html.ini b/tests/wpt/meta/css/css-sizing/animation/min-width-composition.html.ini
index 25c9a1f924e..26c9a5ad785 100644
--- a/tests/wpt/meta/css/css-sizing/animation/min-width-composition.html.ini
+++ b/tests/wpt/meta/css/css-sizing/animation/min-width-composition.html.ini
@@ -73,3 +73,18 @@
[Compositing: property <min-width> underlying [100px\] from add [100px\] to add [auto\] at (1.5) should be [auto\]]
expected: FAIL
+
+ [Compositing: property <min-width> underlying [min-content\] from add [max-content\] to add [fit-content\] at (-0.3) should be [max-content\]]
+ expected: FAIL
+
+ [Compositing: property <min-width> underlying [min-content\] from add [max-content\] to add [fit-content\] at (0) should be [max-content\]]
+ expected: FAIL
+
+ [Compositing: property <min-width> underlying [min-content\] from add [max-content\] to add [fit-content\] at (0.5) should be [fit-content\]]
+ expected: FAIL
+
+ [Compositing: property <min-width> underlying [min-content\] from add [max-content\] to add [fit-content\] at (1) should be [fit-content\]]
+ expected: FAIL
+
+ [Compositing: property <min-width> underlying [min-content\] from add [max-content\] to add [fit-content\] at (1.5) should be [fit-content\]]
+ expected: FAIL
diff --git a/tests/wpt/meta/css/css-sizing/animation/width-composition.html.ini b/tests/wpt/meta/css/css-sizing/animation/width-composition.html.ini
index d20916ae05b..7853683a5f9 100644
--- a/tests/wpt/meta/css/css-sizing/animation/width-composition.html.ini
+++ b/tests/wpt/meta/css/css-sizing/animation/width-composition.html.ini
@@ -73,3 +73,18 @@
[Compositing: property <width> underlying [100px\] from add [100px\] to add [auto\] at (1.5) should be [auto\]]
expected: FAIL
+
+ [Compositing: property <width> underlying [100px\] from add [100px\] to add [min-content\] at (-0.3) should be [200px\]]
+ expected: FAIL
+
+ [Compositing: property <width> underlying [100px\] from add [100px\] to add [min-content\] at (0) should be [200px\]]
+ expected: FAIL
+
+ [Compositing: property <width> underlying [100px\] from add [100px\] to add [min-content\] at (0.5) should be [75px\]]
+ expected: FAIL
+
+ [Compositing: property <width> underlying [100px\] from add [100px\] to add [min-content\] at (1) should be [75px\]]
+ expected: FAIL
+
+ [Compositing: property <width> underlying [100px\] from add [100px\] to add [min-content\] at (1.5) should be [75px\]]
+ expected: FAIL
diff --git a/tests/wpt/meta/css/css-values/calc-size/animation/interpolate-size-height-composition.html.ini b/tests/wpt/meta/css/css-values/calc-size/animation/interpolate-size-height-composition.html.ini
new file mode 100644
index 00000000000..b649855796c
--- /dev/null
+++ b/tests/wpt/meta/css/css-values/calc-size/animation/interpolate-size-height-composition.html.ini
@@ -0,0 +1,30 @@
+[interpolate-size-height-composition.html]
+ [Compositing: property <height> underlying [fit-content\] from add [100px\] to add [200px\] at (-0.3) should be [120px\]]
+ expected: FAIL
+
+ [Compositing: property <height> underlying [fit-content\] from add [100px\] to add [200px\] at (0) should be [150px\]]
+ expected: FAIL
+
+ [Compositing: property <height> underlying [fit-content\] from add [100px\] to add [200px\] at (0.5) should be [200px\]]
+ expected: FAIL
+
+ [Compositing: property <height> underlying [fit-content\] from add [100px\] to add [200px\] at (1) should be [250px\]]
+ expected: FAIL
+
+ [Compositing: property <height> underlying [fit-content\] from add [100px\] to add [200px\] at (1.5) should be [300px\]]
+ expected: FAIL
+
+ [Compositing: property <height> underlying [fit-content\] from add [min-content\] to add [200px\] at (-0.3) should be [5px\]]
+ expected: FAIL
+
+ [Compositing: property <height> underlying [fit-content\] from add [min-content\] to add [200px\] at (0) should be [50px\]]
+ expected: FAIL
+
+ [Compositing: property <height> underlying [fit-content\] from add [min-content\] to add [200px\] at (0.5) should be [125px\]]
+ expected: FAIL
+
+ [Compositing: property <height> underlying [fit-content\] from add [min-content\] to add [200px\] at (1) should be [200px\]]
+ expected: FAIL
+
+ [Compositing: property <height> underlying [fit-content\] from add [min-content\] to add [200px\] at (1.5) should be [275px\]]
+ expected: FAIL
diff --git a/tests/wpt/meta/css/css-values/calc-size/animation/interpolate-size-height-interpolation.html.ini b/tests/wpt/meta/css/css-values/calc-size/animation/interpolate-size-height-interpolation.html.ini
new file mode 100644
index 00000000000..23d4f5d6f73
--- /dev/null
+++ b/tests/wpt/meta/css/css-values/calc-size/animation/interpolate-size-height-interpolation.html.ini
@@ -0,0 +1,930 @@
+[interpolate-size-height-interpolation.html]
+ [CSS Transitions: property <height> from [initial\] to [90px\] at (-0.3) should be [38px\]]
+ expected: FAIL
+
+ [CSS Transitions: property <height> from [initial\] to [90px\] at (0) should be [50px\]]
+ expected: FAIL
+
+ [CSS Transitions: property <height> from [initial\] to [90px\] at (0.3) should be [62px\]]
+ expected: FAIL
+
+ [CSS Transitions: property <height> from [initial\] to [90px\] at (0.6) should be [74px\]]
+ expected: FAIL
+
+ [CSS Transitions: property <height> from [initial\] to [90px\] at (1.5) should be [110px\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <height> from [initial\] to [90px\] at (-0.3) should be [38px\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <height> from [initial\] to [90px\] at (0) should be [50px\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <height> from [initial\] to [90px\] at (0.3) should be [62px\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <height> from [initial\] to [90px\] at (0.6) should be [74px\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <height> from [initial\] to [90px\] at (1.5) should be [110px\]]
+ expected: FAIL
+
+ [CSS Animations: property <height> from [initial\] to [90px\] at (-0.3) should be [38px\]]
+ expected: FAIL
+
+ [CSS Animations: property <height> from [initial\] to [90px\] at (0) should be [50px\]]
+ expected: FAIL
+
+ [CSS Animations: property <height> from [initial\] to [90px\] at (0.3) should be [62px\]]
+ expected: FAIL
+
+ [CSS Animations: property <height> from [initial\] to [90px\] at (0.6) should be [74px\]]
+ expected: FAIL
+
+ [CSS Animations: property <height> from [initial\] to [90px\] at (1) should be [90px\]]
+ expected: FAIL
+
+ [CSS Animations: property <height> from [initial\] to [90px\] at (1.5) should be [110px\]]
+ expected: FAIL
+
+ [Web Animations: property <height> from [initial\] to [90px\] at (-0.3) should be [38px\]]
+ expected: FAIL
+
+ [Web Animations: property <height> from [initial\] to [90px\] at (0) should be [50px\]]
+ expected: FAIL
+
+ [Web Animations: property <height> from [initial\] to [90px\] at (0.3) should be [62px\]]
+ expected: FAIL
+
+ [Web Animations: property <height> from [initial\] to [90px\] at (0.6) should be [74px\]]
+ expected: FAIL
+
+ [Web Animations: property <height> from [initial\] to [90px\] at (1) should be [90px\]]
+ expected: FAIL
+
+ [Web Animations: property <height> from [initial\] to [90px\] at (1.5) should be [110px\]]
+ expected: FAIL
+
+ [CSS Transitions: property <height> from [unset\] to [10px\] at (-0.3) should be [62px\]]
+ expected: FAIL
+
+ [CSS Transitions: property <height> from [unset\] to [10px\] at (0) should be [50px\]]
+ expected: FAIL
+
+ [CSS Transitions: property <height> from [unset\] to [10px\] at (0.3) should be [38px\]]
+ expected: FAIL
+
+ [CSS Transitions: property <height> from [unset\] to [10px\] at (0.6) should be [26px\]]
+ expected: FAIL
+
+ [CSS Transitions: property <height> from [unset\] to [10px\] at (1.5) should be [0px\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <height> from [unset\] to [10px\] at (-0.3) should be [62px\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <height> from [unset\] to [10px\] at (0) should be [50px\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <height> from [unset\] to [10px\] at (0.3) should be [38px\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <height> from [unset\] to [10px\] at (0.6) should be [26px\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <height> from [unset\] to [10px\] at (1.5) should be [0px\]]
+ expected: FAIL
+
+ [CSS Animations: property <height> from [unset\] to [10px\] at (-0.3) should be [62px\]]
+ expected: FAIL
+
+ [CSS Animations: property <height> from [unset\] to [10px\] at (0) should be [50px\]]
+ expected: FAIL
+
+ [CSS Animations: property <height> from [unset\] to [10px\] at (0.3) should be [38px\]]
+ expected: FAIL
+
+ [CSS Animations: property <height> from [unset\] to [10px\] at (0.6) should be [26px\]]
+ expected: FAIL
+
+ [CSS Animations: property <height> from [unset\] to [10px\] at (1) should be [10px\]]
+ expected: FAIL
+
+ [CSS Animations: property <height> from [unset\] to [10px\] at (1.5) should be [0px\]]
+ expected: FAIL
+
+ [Web Animations: property <height> from [unset\] to [10px\] at (-0.3) should be [62px\]]
+ expected: FAIL
+
+ [Web Animations: property <height> from [unset\] to [10px\] at (0) should be [50px\]]
+ expected: FAIL
+
+ [Web Animations: property <height> from [unset\] to [10px\] at (0.3) should be [38px\]]
+ expected: FAIL
+
+ [Web Animations: property <height> from [unset\] to [10px\] at (0.6) should be [26px\]]
+ expected: FAIL
+
+ [Web Animations: property <height> from [unset\] to [10px\] at (1) should be [10px\]]
+ expected: FAIL
+
+ [Web Animations: property <height> from [unset\] to [10px\] at (1.5) should be [0px\]]
+ expected: FAIL
+
+ [CSS Transitions: property <height> from [0px\] to [auto\] at (-0.3) should be [0px\]]
+ expected: FAIL
+
+ [CSS Transitions: property <height> from [0px\] to [auto\] at (0) should be [0px\]]
+ expected: FAIL
+
+ [CSS Transitions: property <height> from [0px\] to [auto\] at (0.3) should be [15px\]]
+ expected: FAIL
+
+ [CSS Transitions: property <height> from [0px\] to [auto\] at (0.6) should be [30px\]]
+ expected: FAIL
+
+ [CSS Transitions: property <height> from [0px\] to [auto\] at (1.5) should be [75px\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <height> from [0px\] to [auto\] at (-0.3) should be [0px\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <height> from [0px\] to [auto\] at (0) should be [0px\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <height> from [0px\] to [auto\] at (0.3) should be [15px\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <height> from [0px\] to [auto\] at (0.6) should be [30px\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <height> from [0px\] to [auto\] at (1.5) should be [75px\]]
+ expected: FAIL
+
+ [CSS Animations: property <height> from [0px\] to [auto\] at (-0.3) should be [0px\]]
+ expected: FAIL
+
+ [CSS Animations: property <height> from [0px\] to [auto\] at (0) should be [0px\]]
+ expected: FAIL
+
+ [CSS Animations: property <height> from [0px\] to [auto\] at (0.3) should be [15px\]]
+ expected: FAIL
+
+ [CSS Animations: property <height> from [0px\] to [auto\] at (0.6) should be [30px\]]
+ expected: FAIL
+
+ [CSS Animations: property <height> from [0px\] to [auto\] at (1) should be [50px\]]
+ expected: FAIL
+
+ [CSS Animations: property <height> from [0px\] to [auto\] at (1.5) should be [75px\]]
+ expected: FAIL
+
+ [Web Animations: property <height> from [0px\] to [auto\] at (-0.3) should be [0px\]]
+ expected: FAIL
+
+ [Web Animations: property <height> from [0px\] to [auto\] at (0) should be [0px\]]
+ expected: FAIL
+
+ [Web Animations: property <height> from [0px\] to [auto\] at (0.3) should be [15px\]]
+ expected: FAIL
+
+ [Web Animations: property <height> from [0px\] to [auto\] at (0.6) should be [30px\]]
+ expected: FAIL
+
+ [Web Animations: property <height> from [0px\] to [auto\] at (1) should be [50px\]]
+ expected: FAIL
+
+ [Web Animations: property <height> from [0px\] to [auto\] at (1.5) should be [75px\]]
+ expected: FAIL
+
+ [CSS Transitions: property <height> from [auto\] to [10px\] at (-0.3) should be [62px\]]
+ expected: FAIL
+
+ [CSS Transitions: property <height> from [auto\] to [10px\] at (0) should be [50px\]]
+ expected: FAIL
+
+ [CSS Transitions: property <height> from [auto\] to [10px\] at (0.3) should be [38px\]]
+ expected: FAIL
+
+ [CSS Transitions: property <height> from [auto\] to [10px\] at (0.6) should be [26px\]]
+ expected: FAIL
+
+ [CSS Transitions: property <height> from [auto\] to [10px\] at (1.5) should be [0px\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <height> from [auto\] to [10px\] at (-0.3) should be [62px\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <height> from [auto\] to [10px\] at (0) should be [50px\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <height> from [auto\] to [10px\] at (0.3) should be [38px\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <height> from [auto\] to [10px\] at (0.6) should be [26px\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <height> from [auto\] to [10px\] at (1.5) should be [0px\]]
+ expected: FAIL
+
+ [CSS Animations: property <height> from [auto\] to [10px\] at (-0.3) should be [62px\]]
+ expected: FAIL
+
+ [CSS Animations: property <height> from [auto\] to [10px\] at (0) should be [50px\]]
+ expected: FAIL
+
+ [CSS Animations: property <height> from [auto\] to [10px\] at (0.3) should be [38px\]]
+ expected: FAIL
+
+ [CSS Animations: property <height> from [auto\] to [10px\] at (0.6) should be [26px\]]
+ expected: FAIL
+
+ [CSS Animations: property <height> from [auto\] to [10px\] at (1) should be [10px\]]
+ expected: FAIL
+
+ [CSS Animations: property <height> from [auto\] to [10px\] at (1.5) should be [0px\]]
+ expected: FAIL
+
+ [Web Animations: property <height> from [auto\] to [10px\] at (-0.3) should be [62px\]]
+ expected: FAIL
+
+ [Web Animations: property <height> from [auto\] to [10px\] at (0) should be [50px\]]
+ expected: FAIL
+
+ [Web Animations: property <height> from [auto\] to [10px\] at (0.3) should be [38px\]]
+ expected: FAIL
+
+ [Web Animations: property <height> from [auto\] to [10px\] at (0.6) should be [26px\]]
+ expected: FAIL
+
+ [Web Animations: property <height> from [auto\] to [10px\] at (1) should be [10px\]]
+ expected: FAIL
+
+ [Web Animations: property <height> from [auto\] to [10px\] at (1.5) should be [0px\]]
+ expected: FAIL
+
+ [CSS Transitions: property <height> from [min-content\] to [inherit\] at (-0.3) should be [5px\]]
+ expected: FAIL
+
+ [CSS Transitions: property <height> from [min-content\] to [inherit\] at (0) should be [50px\]]
+ expected: FAIL
+
+ [CSS Transitions: property <height> from [min-content\] to [inherit\] at (0.3) should be [95px\]]
+ expected: FAIL
+
+ [CSS Transitions: property <height> from [min-content\] to [inherit\] at (0.6) should be [140px\]]
+ expected: FAIL
+
+ [CSS Transitions: property <height> from [min-content\] to [inherit\] at (1) should be [200px\]]
+ expected: FAIL
+
+ [CSS Transitions: property <height> from [min-content\] to [inherit\] at (1.5) should be [275px\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <height> from [min-content\] to [inherit\] at (-0.3) should be [5px\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <height> from [min-content\] to [inherit\] at (0) should be [50px\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <height> from [min-content\] to [inherit\] at (0.3) should be [95px\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <height> from [min-content\] to [inherit\] at (0.6) should be [140px\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <height> from [min-content\] to [inherit\] at (1) should be [200px\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <height> from [min-content\] to [inherit\] at (1.5) should be [275px\]]
+ expected: FAIL
+
+ [CSS Animations: property <height> from [min-content\] to [inherit\] at (-0.3) should be [5px\]]
+ expected: FAIL
+
+ [CSS Animations: property <height> from [min-content\] to [inherit\] at (0) should be [50px\]]
+ expected: FAIL
+
+ [CSS Animations: property <height> from [min-content\] to [inherit\] at (0.3) should be [95px\]]
+ expected: FAIL
+
+ [CSS Animations: property <height> from [min-content\] to [inherit\] at (0.6) should be [140px\]]
+ expected: FAIL
+
+ [CSS Animations: property <height> from [min-content\] to [inherit\] at (1) should be [200px\]]
+ expected: FAIL
+
+ [CSS Animations: property <height> from [min-content\] to [inherit\] at (1.5) should be [275px\]]
+ expected: FAIL
+
+ [Web Animations: property <height> from [min-content\] to [inherit\] at (-0.3) should be [5px\]]
+ expected: FAIL
+
+ [Web Animations: property <height> from [min-content\] to [inherit\] at (0) should be [50px\]]
+ expected: FAIL
+
+ [Web Animations: property <height> from [min-content\] to [inherit\] at (0.3) should be [95px\]]
+ expected: FAIL
+
+ [Web Animations: property <height> from [min-content\] to [inherit\] at (0.6) should be [140px\]]
+ expected: FAIL
+
+ [Web Animations: property <height> from [min-content\] to [inherit\] at (1) should be [200px\]]
+ expected: FAIL
+
+ [Web Animations: property <height> from [min-content\] to [inherit\] at (1.5) should be [275px\]]
+ expected: FAIL
+
+ [CSS Transitions with transition-behavior:allow-discrete: property <height> from [auto\] to [min-content\] at (-0.3) should be [auto\]]
+ expected: FAIL
+
+ [CSS Transitions with transition-behavior:allow-discrete: property <height> from [auto\] to [min-content\] at (0) should be [auto\]]
+ expected: FAIL
+
+ [CSS Transitions with transition-behavior:allow-discrete: property <height> from [auto\] to [min-content\] at (0.3) should be [auto\]]
+ expected: FAIL
+
+ [CSS Transitions with transition-behavior:allow-discrete: property <height> from [auto\] to [min-content\] at (0.5) should be [min-content\]]
+ expected: FAIL
+
+ [CSS Transitions with transition-behavior:allow-discrete: property <height> from [auto\] to [min-content\] at (0.6) should be [min-content\]]
+ expected: FAIL
+
+ [CSS Transitions with transition-behavior:allow-discrete: property <height> from [auto\] to [min-content\] at (1) should be [min-content\]]
+ expected: FAIL
+
+ [CSS Transitions with transition-behavior:allow-discrete: property <height> from [auto\] to [min-content\] at (1.5) should be [min-content\]]
+ expected: FAIL
+
+ [CSS Transitions with transition-property:all and transition-behavor:allow-discrete: property <height> from [auto\] to [min-content\] at (-0.3) should be [auto\]]
+ expected: FAIL
+
+ [CSS Transitions with transition-property:all and transition-behavor:allow-discrete: property <height> from [auto\] to [min-content\] at (0) should be [auto\]]
+ expected: FAIL
+
+ [CSS Transitions with transition-property:all and transition-behavor:allow-discrete: property <height> from [auto\] to [min-content\] at (0.3) should be [auto\]]
+ expected: FAIL
+
+ [CSS Transitions with transition-property:all and transition-behavor:allow-discrete: property <height> from [auto\] to [min-content\] at (0.5) should be [min-content\]]
+ expected: FAIL
+
+ [CSS Transitions with transition-property:all and transition-behavor:allow-discrete: property <height> from [auto\] to [min-content\] at (0.6) should be [min-content\]]
+ expected: FAIL
+
+ [CSS Transitions with transition-property:all and transition-behavor:allow-discrete: property <height> from [auto\] to [min-content\] at (1) should be [min-content\]]
+ expected: FAIL
+
+ [CSS Transitions with transition-property:all and transition-behavor:allow-discrete: property <height> from [auto\] to [min-content\] at (1.5) should be [min-content\]]
+ expected: FAIL
+
+ [CSS Transitions: property <height> from [auto\] to [min-content\] at (-0.3) should be [min-content\]]
+ expected: FAIL
+
+ [CSS Transitions: property <height> from [auto\] to [min-content\] at (0) should be [min-content\]]
+ expected: FAIL
+
+ [CSS Transitions: property <height> from [auto\] to [min-content\] at (0.3) should be [min-content\]]
+ expected: FAIL
+
+ [CSS Transitions: property <height> from [auto\] to [min-content\] at (0.5) should be [min-content\]]
+ expected: FAIL
+
+ [CSS Transitions: property <height> from [auto\] to [min-content\] at (0.6) should be [min-content\]]
+ expected: FAIL
+
+ [CSS Transitions: property <height> from [auto\] to [min-content\] at (1) should be [min-content\]]
+ expected: FAIL
+
+ [CSS Transitions: property <height> from [auto\] to [min-content\] at (1.5) should be [min-content\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <height> from [auto\] to [min-content\] at (-0.3) should be [min-content\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <height> from [auto\] to [min-content\] at (0) should be [min-content\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <height> from [auto\] to [min-content\] at (0.3) should be [min-content\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <height> from [auto\] to [min-content\] at (0.5) should be [min-content\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <height> from [auto\] to [min-content\] at (0.6) should be [min-content\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <height> from [auto\] to [min-content\] at (1) should be [min-content\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <height> from [auto\] to [min-content\] at (1.5) should be [min-content\]]
+ expected: FAIL
+
+ [CSS Animations: property <height> from [auto\] to [min-content\] at (-0.3) should be [auto\]]
+ expected: FAIL
+
+ [CSS Animations: property <height> from [auto\] to [min-content\] at (0) should be [auto\]]
+ expected: FAIL
+
+ [CSS Animations: property <height> from [auto\] to [min-content\] at (0.3) should be [auto\]]
+ expected: FAIL
+
+ [CSS Animations: property <height> from [auto\] to [min-content\] at (0.5) should be [min-content\]]
+ expected: FAIL
+
+ [CSS Animations: property <height> from [auto\] to [min-content\] at (0.6) should be [min-content\]]
+ expected: FAIL
+
+ [CSS Animations: property <height> from [auto\] to [min-content\] at (1) should be [min-content\]]
+ expected: FAIL
+
+ [CSS Animations: property <height> from [auto\] to [min-content\] at (1.5) should be [min-content\]]
+ expected: FAIL
+
+ [Web Animations: property <height> from [auto\] to [min-content\] at (-0.3) should be [auto\]]
+ expected: FAIL
+
+ [Web Animations: property <height> from [auto\] to [min-content\] at (0) should be [auto\]]
+ expected: FAIL
+
+ [Web Animations: property <height> from [auto\] to [min-content\] at (0.3) should be [auto\]]
+ expected: FAIL
+
+ [Web Animations: property <height> from [auto\] to [min-content\] at (0.5) should be [min-content\]]
+ expected: FAIL
+
+ [Web Animations: property <height> from [auto\] to [min-content\] at (0.6) should be [min-content\]]
+ expected: FAIL
+
+ [Web Animations: property <height> from [auto\] to [min-content\] at (1) should be [min-content\]]
+ expected: FAIL
+
+ [Web Animations: property <height> from [auto\] to [min-content\] at (1.5) should be [min-content\]]
+ expected: FAIL
+
+ [CSS Transitions: property <height> from [fit-content\] to [10px\] at (-0.3) should be [62px\]]
+ expected: FAIL
+
+ [CSS Transitions: property <height> from [fit-content\] to [10px\] at (0) should be [50px\]]
+ expected: FAIL
+
+ [CSS Transitions: property <height> from [fit-content\] to [10px\] at (0.3) should be [38px\]]
+ expected: FAIL
+
+ [CSS Transitions: property <height> from [fit-content\] to [10px\] at (0.6) should be [26px\]]
+ expected: FAIL
+
+ [CSS Transitions: property <height> from [fit-content\] to [10px\] at (1) should be [10px\]]
+ expected: FAIL
+
+ [CSS Transitions: property <height> from [fit-content\] to [10px\] at (1.5) should be [0px\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <height> from [fit-content\] to [10px\] at (-0.3) should be [62px\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <height> from [fit-content\] to [10px\] at (0) should be [50px\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <height> from [fit-content\] to [10px\] at (0.3) should be [38px\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <height> from [fit-content\] to [10px\] at (0.6) should be [26px\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <height> from [fit-content\] to [10px\] at (1) should be [10px\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <height> from [fit-content\] to [10px\] at (1.5) should be [0px\]]
+ expected: FAIL
+
+ [CSS Animations: property <height> from [fit-content\] to [10px\] at (-0.3) should be [62px\]]
+ expected: FAIL
+
+ [CSS Animations: property <height> from [fit-content\] to [10px\] at (0) should be [50px\]]
+ expected: FAIL
+
+ [CSS Animations: property <height> from [fit-content\] to [10px\] at (0.3) should be [38px\]]
+ expected: FAIL
+
+ [CSS Animations: property <height> from [fit-content\] to [10px\] at (0.6) should be [26px\]]
+ expected: FAIL
+
+ [CSS Animations: property <height> from [fit-content\] to [10px\] at (1) should be [10px\]]
+ expected: FAIL
+
+ [CSS Animations: property <height> from [fit-content\] to [10px\] at (1.5) should be [0px\]]
+ expected: FAIL
+
+ [Web Animations: property <height> from [fit-content\] to [10px\] at (-0.3) should be [62px\]]
+ expected: FAIL
+
+ [Web Animations: property <height> from [fit-content\] to [10px\] at (0) should be [50px\]]
+ expected: FAIL
+
+ [Web Animations: property <height> from [fit-content\] to [10px\] at (0.3) should be [38px\]]
+ expected: FAIL
+
+ [Web Animations: property <height> from [fit-content\] to [10px\] at (0.6) should be [26px\]]
+ expected: FAIL
+
+ [Web Animations: property <height> from [fit-content\] to [10px\] at (1) should be [10px\]]
+ expected: FAIL
+
+ [Web Animations: property <height> from [fit-content\] to [10px\] at (1.5) should be [0px\]]
+ expected: FAIL
+
+ [CSS Transitions with transition-behavior:allow-discrete: property <height> from [max-content\] to [fit-content\] at (-0.3) should be [max-content\]]
+ expected: FAIL
+
+ [CSS Transitions with transition-behavior:allow-discrete: property <height> from [max-content\] to [fit-content\] at (0) should be [max-content\]]
+ expected: FAIL
+
+ [CSS Transitions with transition-behavior:allow-discrete: property <height> from [max-content\] to [fit-content\] at (0.3) should be [max-content\]]
+ expected: FAIL
+
+ [CSS Transitions with transition-behavior:allow-discrete: property <height> from [max-content\] to [fit-content\] at (0.5) should be [fit-content\]]
+ expected: FAIL
+
+ [CSS Transitions with transition-behavior:allow-discrete: property <height> from [max-content\] to [fit-content\] at (0.6) should be [fit-content\]]
+ expected: FAIL
+
+ [CSS Transitions with transition-behavior:allow-discrete: property <height> from [max-content\] to [fit-content\] at (1) should be [fit-content\]]
+ expected: FAIL
+
+ [CSS Transitions with transition-behavior:allow-discrete: property <height> from [max-content\] to [fit-content\] at (1.5) should be [fit-content\]]
+ expected: FAIL
+
+ [CSS Transitions with transition-property:all and transition-behavor:allow-discrete: property <height> from [max-content\] to [fit-content\] at (-0.3) should be [max-content\]]
+ expected: FAIL
+
+ [CSS Transitions with transition-property:all and transition-behavor:allow-discrete: property <height> from [max-content\] to [fit-content\] at (0) should be [max-content\]]
+ expected: FAIL
+
+ [CSS Transitions with transition-property:all and transition-behavor:allow-discrete: property <height> from [max-content\] to [fit-content\] at (0.3) should be [max-content\]]
+ expected: FAIL
+
+ [CSS Transitions with transition-property:all and transition-behavor:allow-discrete: property <height> from [max-content\] to [fit-content\] at (0.5) should be [fit-content\]]
+ expected: FAIL
+
+ [CSS Transitions with transition-property:all and transition-behavor:allow-discrete: property <height> from [max-content\] to [fit-content\] at (0.6) should be [fit-content\]]
+ expected: FAIL
+
+ [CSS Transitions with transition-property:all and transition-behavor:allow-discrete: property <height> from [max-content\] to [fit-content\] at (1) should be [fit-content\]]
+ expected: FAIL
+
+ [CSS Transitions with transition-property:all and transition-behavor:allow-discrete: property <height> from [max-content\] to [fit-content\] at (1.5) should be [fit-content\]]
+ expected: FAIL
+
+ [CSS Transitions: property <height> from [max-content\] to [fit-content\] at (-0.3) should be [fit-content\]]
+ expected: FAIL
+
+ [CSS Transitions: property <height> from [max-content\] to [fit-content\] at (0) should be [fit-content\]]
+ expected: FAIL
+
+ [CSS Transitions: property <height> from [max-content\] to [fit-content\] at (0.3) should be [fit-content\]]
+ expected: FAIL
+
+ [CSS Transitions: property <height> from [max-content\] to [fit-content\] at (0.5) should be [fit-content\]]
+ expected: FAIL
+
+ [CSS Transitions: property <height> from [max-content\] to [fit-content\] at (0.6) should be [fit-content\]]
+ expected: FAIL
+
+ [CSS Transitions: property <height> from [max-content\] to [fit-content\] at (1) should be [fit-content\]]
+ expected: FAIL
+
+ [CSS Transitions: property <height> from [max-content\] to [fit-content\] at (1.5) should be [fit-content\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <height> from [max-content\] to [fit-content\] at (-0.3) should be [fit-content\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <height> from [max-content\] to [fit-content\] at (0) should be [fit-content\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <height> from [max-content\] to [fit-content\] at (0.3) should be [fit-content\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <height> from [max-content\] to [fit-content\] at (0.5) should be [fit-content\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <height> from [max-content\] to [fit-content\] at (0.6) should be [fit-content\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <height> from [max-content\] to [fit-content\] at (1) should be [fit-content\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <height> from [max-content\] to [fit-content\] at (1.5) should be [fit-content\]]
+ expected: FAIL
+
+ [CSS Animations: property <height> from [max-content\] to [fit-content\] at (-0.3) should be [max-content\]]
+ expected: FAIL
+
+ [CSS Animations: property <height> from [max-content\] to [fit-content\] at (0) should be [max-content\]]
+ expected: FAIL
+
+ [CSS Animations: property <height> from [max-content\] to [fit-content\] at (0.3) should be [max-content\]]
+ expected: FAIL
+
+ [CSS Animations: property <height> from [max-content\] to [fit-content\] at (0.5) should be [fit-content\]]
+ expected: FAIL
+
+ [CSS Animations: property <height> from [max-content\] to [fit-content\] at (0.6) should be [fit-content\]]
+ expected: FAIL
+
+ [CSS Animations: property <height> from [max-content\] to [fit-content\] at (1) should be [fit-content\]]
+ expected: FAIL
+
+ [CSS Animations: property <height> from [max-content\] to [fit-content\] at (1.5) should be [fit-content\]]
+ expected: FAIL
+
+ [Web Animations: property <height> from [max-content\] to [fit-content\] at (-0.3) should be [max-content\]]
+ expected: FAIL
+
+ [Web Animations: property <height> from [max-content\] to [fit-content\] at (0) should be [max-content\]]
+ expected: FAIL
+
+ [Web Animations: property <height> from [max-content\] to [fit-content\] at (0.3) should be [max-content\]]
+ expected: FAIL
+
+ [Web Animations: property <height> from [max-content\] to [fit-content\] at (0.5) should be [fit-content\]]
+ expected: FAIL
+
+ [Web Animations: property <height> from [max-content\] to [fit-content\] at (0.6) should be [fit-content\]]
+ expected: FAIL
+
+ [Web Animations: property <height> from [max-content\] to [fit-content\] at (1) should be [fit-content\]]
+ expected: FAIL
+
+ [Web Animations: property <height> from [max-content\] to [fit-content\] at (1.5) should be [fit-content\]]
+ expected: FAIL
+
+ [CSS Transitions with transition-behavior:allow-discrete: property <height> from [max-content\] to [stretch\] at (-0.3) should be [max-content\]]
+ expected: FAIL
+
+ [CSS Transitions with transition-behavior:allow-discrete: property <height> from [max-content\] to [stretch\] at (0) should be [max-content\]]
+ expected: FAIL
+
+ [CSS Transitions with transition-behavior:allow-discrete: property <height> from [max-content\] to [stretch\] at (0.3) should be [max-content\]]
+ expected: FAIL
+
+ [CSS Transitions with transition-behavior:allow-discrete: property <height> from [max-content\] to [stretch\] at (0.5) should be [stretch\]]
+ expected: FAIL
+
+ [CSS Transitions with transition-behavior:allow-discrete: property <height> from [max-content\] to [stretch\] at (0.6) should be [stretch\]]
+ expected: FAIL
+
+ [CSS Transitions with transition-behavior:allow-discrete: property <height> from [max-content\] to [stretch\] at (1) should be [stretch\]]
+ expected: FAIL
+
+ [CSS Transitions with transition-behavior:allow-discrete: property <height> from [max-content\] to [stretch\] at (1.5) should be [stretch\]]
+ expected: FAIL
+
+ [CSS Transitions with transition-property:all and transition-behavor:allow-discrete: property <height> from [max-content\] to [stretch\] at (-0.3) should be [max-content\]]
+ expected: FAIL
+
+ [CSS Transitions with transition-property:all and transition-behavor:allow-discrete: property <height> from [max-content\] to [stretch\] at (0) should be [max-content\]]
+ expected: FAIL
+
+ [CSS Transitions with transition-property:all and transition-behavor:allow-discrete: property <height> from [max-content\] to [stretch\] at (0.3) should be [max-content\]]
+ expected: FAIL
+
+ [CSS Transitions with transition-property:all and transition-behavor:allow-discrete: property <height> from [max-content\] to [stretch\] at (0.5) should be [stretch\]]
+ expected: FAIL
+
+ [CSS Transitions with transition-property:all and transition-behavor:allow-discrete: property <height> from [max-content\] to [stretch\] at (0.6) should be [stretch\]]
+ expected: FAIL
+
+ [CSS Transitions with transition-property:all and transition-behavor:allow-discrete: property <height> from [max-content\] to [stretch\] at (1) should be [stretch\]]
+ expected: FAIL
+
+ [CSS Transitions with transition-property:all and transition-behavor:allow-discrete: property <height> from [max-content\] to [stretch\] at (1.5) should be [stretch\]]
+ expected: FAIL
+
+ [CSS Transitions: property <height> from [max-content\] to [stretch\] at (-0.3) should be [stretch\]]
+ expected: FAIL
+
+ [CSS Transitions: property <height> from [max-content\] to [stretch\] at (0) should be [stretch\]]
+ expected: FAIL
+
+ [CSS Transitions: property <height> from [max-content\] to [stretch\] at (0.3) should be [stretch\]]
+ expected: FAIL
+
+ [CSS Transitions: property <height> from [max-content\] to [stretch\] at (0.5) should be [stretch\]]
+ expected: FAIL
+
+ [CSS Transitions: property <height> from [max-content\] to [stretch\] at (0.6) should be [stretch\]]
+ expected: FAIL
+
+ [CSS Transitions: property <height> from [max-content\] to [stretch\] at (1) should be [stretch\]]
+ expected: FAIL
+
+ [CSS Transitions: property <height> from [max-content\] to [stretch\] at (1.5) should be [stretch\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <height> from [max-content\] to [stretch\] at (-0.3) should be [stretch\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <height> from [max-content\] to [stretch\] at (0) should be [stretch\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <height> from [max-content\] to [stretch\] at (0.3) should be [stretch\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <height> from [max-content\] to [stretch\] at (0.5) should be [stretch\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <height> from [max-content\] to [stretch\] at (0.6) should be [stretch\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <height> from [max-content\] to [stretch\] at (1) should be [stretch\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <height> from [max-content\] to [stretch\] at (1.5) should be [stretch\]]
+ expected: FAIL
+
+ [CSS Animations: property <height> from [max-content\] to [stretch\] at (-0.3) should be [max-content\]]
+ expected: FAIL
+
+ [CSS Animations: property <height> from [max-content\] to [stretch\] at (0) should be [max-content\]]
+ expected: FAIL
+
+ [CSS Animations: property <height> from [max-content\] to [stretch\] at (0.3) should be [max-content\]]
+ expected: FAIL
+
+ [CSS Animations: property <height> from [max-content\] to [stretch\] at (0.5) should be [stretch\]]
+ expected: FAIL
+
+ [CSS Animations: property <height> from [max-content\] to [stretch\] at (0.6) should be [stretch\]]
+ expected: FAIL
+
+ [CSS Animations: property <height> from [max-content\] to [stretch\] at (1) should be [stretch\]]
+ expected: FAIL
+
+ [CSS Animations: property <height> from [max-content\] to [stretch\] at (1.5) should be [stretch\]]
+ expected: FAIL
+
+ [Web Animations: property <height> from [max-content\] to [stretch\] at (-0.3) should be [max-content\]]
+ expected: FAIL
+
+ [Web Animations: property <height> from [max-content\] to [stretch\] at (0) should be [max-content\]]
+ expected: FAIL
+
+ [Web Animations: property <height> from [max-content\] to [stretch\] at (0.3) should be [max-content\]]
+ expected: FAIL
+
+ [Web Animations: property <height> from [max-content\] to [stretch\] at (0.5) should be [stretch\]]
+ expected: FAIL
+
+ [Web Animations: property <height> from [max-content\] to [stretch\] at (0.6) should be [stretch\]]
+ expected: FAIL
+
+ [Web Animations: property <height> from [max-content\] to [stretch\] at (1) should be [stretch\]]
+ expected: FAIL
+
+ [Web Animations: property <height> from [max-content\] to [stretch\] at (1.5) should be [stretch\]]
+ expected: FAIL
+
+ [CSS Transitions: property <height> from [max-content\] to neutral at (-0.3) should be [20px\]]
+ expected: FAIL
+
+ [CSS Transitions: property <height> from [max-content\] to neutral at (0) should be [50px\]]
+ expected: FAIL
+
+ [CSS Transitions: property <height> from [max-content\] to neutral at (0.3) should be [80px\]]
+ expected: FAIL
+
+ [CSS Transitions: property <height> from [max-content\] to neutral at (0.6) should be [110px\]]
+ expected: FAIL
+
+ [CSS Transitions: property <height> from [max-content\] to neutral at (1) should be [150px\]]
+ expected: FAIL
+
+ [CSS Transitions: property <height> from [max-content\] to neutral at (1.5) should be [200px\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <height> from [max-content\] to neutral at (-0.3) should be [20px\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <height> from [max-content\] to neutral at (0) should be [50px\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <height> from [max-content\] to neutral at (0.3) should be [80px\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <height> from [max-content\] to neutral at (0.6) should be [110px\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <height> from [max-content\] to neutral at (1) should be [150px\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <height> from [max-content\] to neutral at (1.5) should be [200px\]]
+ expected: FAIL
+
+ [CSS Animations: property <height> from [max-content\] to neutral at (-0.3) should be [20px\]]
+ expected: FAIL
+
+ [CSS Animations: property <height> from [max-content\] to neutral at (0) should be [50px\]]
+ expected: FAIL
+
+ [CSS Animations: property <height> from [max-content\] to neutral at (0.3) should be [80px\]]
+ expected: FAIL
+
+ [CSS Animations: property <height> from [max-content\] to neutral at (0.6) should be [110px\]]
+ expected: FAIL
+
+ [CSS Animations: property <height> from [max-content\] to neutral at (1) should be [150px\]]
+ expected: FAIL
+
+ [CSS Animations: property <height> from [max-content\] to neutral at (1.5) should be [200px\]]
+ expected: FAIL
+
+ [Web Animations: property <height> from [max-content\] to neutral at (-0.3) should be [20px\]]
+ expected: FAIL
+
+ [Web Animations: property <height> from [max-content\] to neutral at (0) should be [50px\]]
+ expected: FAIL
+
+ [Web Animations: property <height> from [max-content\] to neutral at (0.3) should be [80px\]]
+ expected: FAIL
+
+ [Web Animations: property <height> from [max-content\] to neutral at (0.6) should be [110px\]]
+ expected: FAIL
+
+ [Web Animations: property <height> from [max-content\] to neutral at (1) should be [150px\]]
+ expected: FAIL
+
+ [Web Animations: property <height> from [max-content\] to neutral at (1.5) should be [200px\]]
+ expected: FAIL
+
+ [CSS Transitions: property <height> from neutral to [fit-content\] at (-0.3) should be [180px\]]
+ expected: FAIL
+
+ [CSS Transitions: property <height> from neutral to [fit-content\] at (0) should be [150px\]]
+ expected: FAIL
+
+ [CSS Transitions: property <height> from neutral to [fit-content\] at (0.3) should be [120px\]]
+ expected: FAIL
+
+ [CSS Transitions: property <height> from neutral to [fit-content\] at (0.6) should be [90px\]]
+ expected: FAIL
+
+ [CSS Transitions: property <height> from neutral to [fit-content\] at (1) should be [50px\]]
+ expected: FAIL
+
+ [CSS Transitions: property <height> from neutral to [fit-content\] at (1.5) should be [0px\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <height> from neutral to [fit-content\] at (-0.3) should be [180px\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <height> from neutral to [fit-content\] at (0) should be [150px\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <height> from neutral to [fit-content\] at (0.3) should be [120px\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <height> from neutral to [fit-content\] at (0.6) should be [90px\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <height> from neutral to [fit-content\] at (1) should be [50px\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <height> from neutral to [fit-content\] at (1.5) should be [0px\]]
+ expected: FAIL
+
+ [CSS Animations: property <height> from neutral to [fit-content\] at (-0.3) should be [180px\]]
+ expected: FAIL
+
+ [CSS Animations: property <height> from neutral to [fit-content\] at (0) should be [150px\]]
+ expected: FAIL
+
+ [CSS Animations: property <height> from neutral to [fit-content\] at (0.3) should be [120px\]]
+ expected: FAIL
+
+ [CSS Animations: property <height> from neutral to [fit-content\] at (0.6) should be [90px\]]
+ expected: FAIL
+
+ [CSS Animations: property <height> from neutral to [fit-content\] at (1) should be [50px\]]
+ expected: FAIL
+
+ [CSS Animations: property <height> from neutral to [fit-content\] at (1.5) should be [0px\]]
+ expected: FAIL
+
+ [Web Animations: property <height> from neutral to [fit-content\] at (-0.3) should be [180px\]]
+ expected: FAIL
+
+ [Web Animations: property <height> from neutral to [fit-content\] at (0) should be [150px\]]
+ expected: FAIL
+
+ [Web Animations: property <height> from neutral to [fit-content\] at (0.3) should be [120px\]]
+ expected: FAIL
+
+ [Web Animations: property <height> from neutral to [fit-content\] at (0.6) should be [90px\]]
+ expected: FAIL
+
+ [Web Animations: property <height> from neutral to [fit-content\] at (1) should be [50px\]]
+ expected: FAIL
+
+ [Web Animations: property <height> from neutral to [fit-content\] at (1.5) should be [0px\]]
+ expected: FAIL
diff --git a/tests/wpt/meta/css/css-values/calc-size/animation/interpolate-size-logical-properties-interpolation.html.ini b/tests/wpt/meta/css/css-values/calc-size/animation/interpolate-size-logical-properties-interpolation.html.ini
new file mode 100644
index 00000000000..76110844385
--- /dev/null
+++ b/tests/wpt/meta/css/css-values/calc-size/animation/interpolate-size-logical-properties-interpolation.html.ini
@@ -0,0 +1,414 @@
+[interpolate-size-logical-properties-interpolation.html]
+ [CSS Transitions: property <block-size> from [max-content\] to [25px\] at (-0.3) should be [90px\]]
+ expected: FAIL
+
+ [CSS Transitions: property <block-size> from [max-content\] to [25px\] at (0) should be [75px\]]
+ expected: FAIL
+
+ [CSS Transitions: property <block-size> from [max-content\] to [25px\] at (0.3) should be [60px\]]
+ expected: FAIL
+
+ [CSS Transitions: property <block-size> from [max-content\] to [25px\] at (0.6) should be [45px\]]
+ expected: FAIL
+
+ [CSS Transitions: property <block-size> from [max-content\] to [25px\] at (1) should be [25px\]]
+ expected: FAIL
+
+ [CSS Transitions: property <block-size> from [max-content\] to [25px\] at (1.5) should be [0px\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <block-size> from [max-content\] to [25px\] at (-0.3) should be [90px\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <block-size> from [max-content\] to [25px\] at (0) should be [75px\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <block-size> from [max-content\] to [25px\] at (0.3) should be [60px\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <block-size> from [max-content\] to [25px\] at (0.6) should be [45px\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <block-size> from [max-content\] to [25px\] at (1) should be [25px\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <block-size> from [max-content\] to [25px\] at (1.5) should be [0px\]]
+ expected: FAIL
+
+ [CSS Animations: property <block-size> from [max-content\] to [25px\] at (-0.3) should be [90px\]]
+ expected: FAIL
+
+ [CSS Animations: property <block-size> from [max-content\] to [25px\] at (0) should be [75px\]]
+ expected: FAIL
+
+ [CSS Animations: property <block-size> from [max-content\] to [25px\] at (0.3) should be [60px\]]
+ expected: FAIL
+
+ [CSS Animations: property <block-size> from [max-content\] to [25px\] at (0.6) should be [45px\]]
+ expected: FAIL
+
+ [CSS Animations: property <block-size> from [max-content\] to [25px\] at (1) should be [25px\]]
+ expected: FAIL
+
+ [CSS Animations: property <block-size> from [max-content\] to [25px\] at (1.5) should be [0px\]]
+ expected: FAIL
+
+ [Web Animations: property <block-size> from [max-content\] to [25px\] at (-0.3) should be [90px\]]
+ expected: FAIL
+
+ [Web Animations: property <block-size> from [max-content\] to [25px\] at (0) should be [75px\]]
+ expected: FAIL
+
+ [Web Animations: property <block-size> from [max-content\] to [25px\] at (0.3) should be [60px\]]
+ expected: FAIL
+
+ [Web Animations: property <block-size> from [max-content\] to [25px\] at (0.6) should be [45px\]]
+ expected: FAIL
+
+ [Web Animations: property <block-size> from [max-content\] to [25px\] at (1) should be [25px\]]
+ expected: FAIL
+
+ [Web Animations: property <block-size> from [max-content\] to [25px\] at (1.5) should be [0px\]]
+ expected: FAIL
+
+ [CSS Transitions: property <inline-size> from [max-content\] to neutral at (-0.3) should be [132.5px\]]
+ expected: FAIL
+
+ [CSS Transitions: property <inline-size> from [max-content\] to neutral at (0) should be [125px\]]
+ expected: FAIL
+
+ [CSS Transitions: property <inline-size> from [max-content\] to neutral at (0.3) should be [117.5px\]]
+ expected: FAIL
+
+ [CSS Transitions: property <inline-size> from [max-content\] to neutral at (0.6) should be [110px\]]
+ expected: FAIL
+
+ [CSS Transitions: property <inline-size> from [max-content\] to neutral at (1) should be [100px\]]
+ expected: FAIL
+
+ [CSS Transitions: property <inline-size> from [max-content\] to neutral at (1.5) should be [87.5px\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <inline-size> from [max-content\] to neutral at (-0.3) should be [132.5px\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <inline-size> from [max-content\] to neutral at (0) should be [125px\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <inline-size> from [max-content\] to neutral at (0.3) should be [117.5px\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <inline-size> from [max-content\] to neutral at (0.6) should be [110px\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <inline-size> from [max-content\] to neutral at (1) should be [100px\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <inline-size> from [max-content\] to neutral at (1.5) should be [87.5px\]]
+ expected: FAIL
+
+ [CSS Animations: property <inline-size> from [max-content\] to neutral at (-0.3) should be [132.5px\]]
+ expected: FAIL
+
+ [CSS Animations: property <inline-size> from [max-content\] to neutral at (0) should be [125px\]]
+ expected: FAIL
+
+ [CSS Animations: property <inline-size> from [max-content\] to neutral at (0.3) should be [117.5px\]]
+ expected: FAIL
+
+ [CSS Animations: property <inline-size> from [max-content\] to neutral at (0.6) should be [110px\]]
+ expected: FAIL
+
+ [CSS Animations: property <inline-size> from [max-content\] to neutral at (1) should be [100px\]]
+ expected: FAIL
+
+ [CSS Animations: property <inline-size> from [max-content\] to neutral at (1.5) should be [87.5px\]]
+ expected: FAIL
+
+ [Web Animations: property <inline-size> from [max-content\] to neutral at (-0.3) should be [132.5px\]]
+ expected: FAIL
+
+ [Web Animations: property <inline-size> from [max-content\] to neutral at (0) should be [125px\]]
+ expected: FAIL
+
+ [Web Animations: property <inline-size> from [max-content\] to neutral at (0.3) should be [117.5px\]]
+ expected: FAIL
+
+ [Web Animations: property <inline-size> from [max-content\] to neutral at (0.6) should be [110px\]]
+ expected: FAIL
+
+ [Web Animations: property <inline-size> from [max-content\] to neutral at (1) should be [100px\]]
+ expected: FAIL
+
+ [Web Animations: property <inline-size> from [max-content\] to neutral at (1.5) should be [87.5px\]]
+ expected: FAIL
+
+ [CSS Transitions: property <max-block-size> from neutral to [fit-content\] at (-0.3) should be [calc-size(fit-content, 130px + size * -0.3)\]]
+ expected: FAIL
+
+ [CSS Transitions: property <max-block-size> from neutral to [fit-content\] at (0) should be [calc-size(fit-content, 100px + size * 0)\]]
+ expected: FAIL
+
+ [CSS Transitions: property <max-block-size> from neutral to [fit-content\] at (0.3) should be [calc-size(fit-content, 70px + size * 0.3)\]]
+ expected: FAIL
+
+ [CSS Transitions: property <max-block-size> from neutral to [fit-content\] at (0.6) should be [calc-size(fit-content, 40px + size * 0.6)\]]
+ expected: FAIL
+
+ [CSS Transitions: property <max-block-size> from neutral to [fit-content\] at (1) should be [calc-size(fit-content, 0px + size * 1)\]]
+ expected: FAIL
+
+ [CSS Transitions: property <max-block-size> from neutral to [fit-content\] at (1.5) should be [calc-size(fit-content, -50px + size * 1.5)\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <max-block-size> from neutral to [fit-content\] at (-0.3) should be [calc-size(fit-content, 130px + size * -0.3)\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <max-block-size> from neutral to [fit-content\] at (0) should be [calc-size(fit-content, 100px + size * 0)\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <max-block-size> from neutral to [fit-content\] at (0.3) should be [calc-size(fit-content, 70px + size * 0.3)\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <max-block-size> from neutral to [fit-content\] at (0.6) should be [calc-size(fit-content, 40px + size * 0.6)\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <max-block-size> from neutral to [fit-content\] at (1) should be [calc-size(fit-content, 0px + size * 1)\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <max-block-size> from neutral to [fit-content\] at (1.5) should be [calc-size(fit-content, -50px + size * 1.5)\]]
+ expected: FAIL
+
+ [CSS Animations: property <max-block-size> from neutral to [fit-content\] at (-0.3) should be [calc-size(fit-content, 130px + size * -0.3)\]]
+ expected: FAIL
+
+ [CSS Animations: property <max-block-size> from neutral to [fit-content\] at (0) should be [calc-size(fit-content, 100px + size * 0)\]]
+ expected: FAIL
+
+ [CSS Animations: property <max-block-size> from neutral to [fit-content\] at (0.3) should be [calc-size(fit-content, 70px + size * 0.3)\]]
+ expected: FAIL
+
+ [CSS Animations: property <max-block-size> from neutral to [fit-content\] at (0.6) should be [calc-size(fit-content, 40px + size * 0.6)\]]
+ expected: FAIL
+
+ [CSS Animations: property <max-block-size> from neutral to [fit-content\] at (1) should be [calc-size(fit-content, 0px + size * 1)\]]
+ expected: FAIL
+
+ [CSS Animations: property <max-block-size> from neutral to [fit-content\] at (1.5) should be [calc-size(fit-content, -50px + size * 1.5)\]]
+ expected: FAIL
+
+ [Web Animations: property <max-block-size> from neutral to [fit-content\] at (-0.3) should be [calc-size(fit-content, 130px + size * -0.3)\]]
+ expected: FAIL
+
+ [Web Animations: property <max-block-size> from neutral to [fit-content\] at (0) should be [calc-size(fit-content, 100px + size * 0)\]]
+ expected: FAIL
+
+ [Web Animations: property <max-block-size> from neutral to [fit-content\] at (0.3) should be [calc-size(fit-content, 70px + size * 0.3)\]]
+ expected: FAIL
+
+ [Web Animations: property <max-block-size> from neutral to [fit-content\] at (0.6) should be [calc-size(fit-content, 40px + size * 0.6)\]]
+ expected: FAIL
+
+ [Web Animations: property <max-block-size> from neutral to [fit-content\] at (1) should be [calc-size(fit-content, 0px + size * 1)\]]
+ expected: FAIL
+
+ [Web Animations: property <max-block-size> from neutral to [fit-content\] at (1.5) should be [calc-size(fit-content, -50px + size * 1.5)\]]
+ expected: FAIL
+
+ [CSS Transitions: property <max-inline-size> from [max-content\] to [100px\] at (-0.3) should be [calc-size(max-content, -30px + size * 1.3)\]]
+ expected: FAIL
+
+ [CSS Transitions: property <max-inline-size> from [max-content\] to [100px\] at (0) should be [calc-size(max-content, 0px + size * 1)\]]
+ expected: FAIL
+
+ [CSS Transitions: property <max-inline-size> from [max-content\] to [100px\] at (0.3) should be [calc-size(max-content, 30px + size * 0.7)\]]
+ expected: FAIL
+
+ [CSS Transitions: property <max-inline-size> from [max-content\] to [100px\] at (0.6) should be [calc-size(max-content, 60px + size * 0.4)\]]
+ expected: FAIL
+
+ [CSS Transitions: property <max-inline-size> from [max-content\] to [100px\] at (1) should be [calc-size(max-content, 100px + size * 0)\]]
+ expected: FAIL
+
+ [CSS Transitions: property <max-inline-size> from [max-content\] to [100px\] at (1.5) should be [calc-size(max-content, 150px + size * -0.5)\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <max-inline-size> from [max-content\] to [100px\] at (-0.3) should be [calc-size(max-content, -30px + size * 1.3)\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <max-inline-size> from [max-content\] to [100px\] at (0) should be [calc-size(max-content, 0px + size * 1)\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <max-inline-size> from [max-content\] to [100px\] at (0.3) should be [calc-size(max-content, 30px + size * 0.7)\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <max-inline-size> from [max-content\] to [100px\] at (0.6) should be [calc-size(max-content, 60px + size * 0.4)\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <max-inline-size> from [max-content\] to [100px\] at (1) should be [calc-size(max-content, 100px + size * 0)\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <max-inline-size> from [max-content\] to [100px\] at (1.5) should be [calc-size(max-content, 150px + size * -0.5)\]]
+ expected: FAIL
+
+ [CSS Animations: property <max-inline-size> from [max-content\] to [100px\] at (-0.3) should be [calc-size(max-content, -30px + size * 1.3)\]]
+ expected: FAIL
+
+ [CSS Animations: property <max-inline-size> from [max-content\] to [100px\] at (0) should be [calc-size(max-content, 0px + size * 1)\]]
+ expected: FAIL
+
+ [CSS Animations: property <max-inline-size> from [max-content\] to [100px\] at (0.3) should be [calc-size(max-content, 30px + size * 0.7)\]]
+ expected: FAIL
+
+ [CSS Animations: property <max-inline-size> from [max-content\] to [100px\] at (0.6) should be [calc-size(max-content, 60px + size * 0.4)\]]
+ expected: FAIL
+
+ [CSS Animations: property <max-inline-size> from [max-content\] to [100px\] at (1) should be [calc-size(max-content, 100px + size * 0)\]]
+ expected: FAIL
+
+ [CSS Animations: property <max-inline-size> from [max-content\] to [100px\] at (1.5) should be [calc-size(max-content, 150px + size * -0.5)\]]
+ expected: FAIL
+
+ [Web Animations: property <max-inline-size> from [max-content\] to [100px\] at (-0.3) should be [calc-size(max-content, -30px + size * 1.3)\]]
+ expected: FAIL
+
+ [Web Animations: property <max-inline-size> from [max-content\] to [100px\] at (0) should be [calc-size(max-content, 0px + size * 1)\]]
+ expected: FAIL
+
+ [Web Animations: property <max-inline-size> from [max-content\] to [100px\] at (0.3) should be [calc-size(max-content, 30px + size * 0.7)\]]
+ expected: FAIL
+
+ [Web Animations: property <max-inline-size> from [max-content\] to [100px\] at (0.6) should be [calc-size(max-content, 60px + size * 0.4)\]]
+ expected: FAIL
+
+ [Web Animations: property <max-inline-size> from [max-content\] to [100px\] at (1) should be [calc-size(max-content, 100px + size * 0)\]]
+ expected: FAIL
+
+ [Web Animations: property <max-inline-size> from [max-content\] to [100px\] at (1.5) should be [calc-size(max-content, 150px + size * -0.5)\]]
+ expected: FAIL
+
+ [CSS Transitions: property <min-block-size> from [200px\] to [min-content\] at (-0.3) should be [calc-size(min-content, 260px + size * -0.3)\]]
+ expected: FAIL
+
+ [CSS Transitions: property <min-block-size> from [200px\] to [min-content\] at (0) should be [calc-size(min-content, 200px + size * 0)\]]
+ expected: FAIL
+
+ [CSS Transitions: property <min-block-size> from [200px\] to [min-content\] at (0.3) should be [calc-size(min-content, 140px + size * 0.3)\]]
+ expected: FAIL
+
+ [CSS Transitions: property <min-block-size> from [200px\] to [min-content\] at (0.6) should be [calc-size(min-content, 80px + size * 0.6)\]]
+ expected: FAIL
+
+ [CSS Transitions: property <min-block-size> from [200px\] to [min-content\] at (1) should be [calc-size(min-content, 0px + size * 1)\]]
+ expected: FAIL
+
+ [CSS Transitions: property <min-block-size> from [200px\] to [min-content\] at (1.5) should be [calc-size(min-content, -100px + size * 1.5)\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <min-block-size> from [200px\] to [min-content\] at (-0.3) should be [calc-size(min-content, 260px + size * -0.3)\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <min-block-size> from [200px\] to [min-content\] at (0) should be [calc-size(min-content, 200px + size * 0)\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <min-block-size> from [200px\] to [min-content\] at (0.3) should be [calc-size(min-content, 140px + size * 0.3)\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <min-block-size> from [200px\] to [min-content\] at (0.6) should be [calc-size(min-content, 80px + size * 0.6)\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <min-block-size> from [200px\] to [min-content\] at (1) should be [calc-size(min-content, 0px + size * 1)\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <min-block-size> from [200px\] to [min-content\] at (1.5) should be [calc-size(min-content, -100px + size * 1.5)\]]
+ expected: FAIL
+
+ [CSS Animations: property <min-block-size> from [200px\] to [min-content\] at (-0.3) should be [calc-size(min-content, 260px + size * -0.3)\]]
+ expected: FAIL
+
+ [CSS Animations: property <min-block-size> from [200px\] to [min-content\] at (0) should be [calc-size(min-content, 200px + size * 0)\]]
+ expected: FAIL
+
+ [CSS Animations: property <min-block-size> from [200px\] to [min-content\] at (0.3) should be [calc-size(min-content, 140px + size * 0.3)\]]
+ expected: FAIL
+
+ [CSS Animations: property <min-block-size> from [200px\] to [min-content\] at (0.6) should be [calc-size(min-content, 80px + size * 0.6)\]]
+ expected: FAIL
+
+ [CSS Animations: property <min-block-size> from [200px\] to [min-content\] at (1) should be [calc-size(min-content, 0px + size * 1)\]]
+ expected: FAIL
+
+ [CSS Animations: property <min-block-size> from [200px\] to [min-content\] at (1.5) should be [calc-size(min-content, -100px + size * 1.5)\]]
+ expected: FAIL
+
+ [Web Animations: property <min-block-size> from [200px\] to [min-content\] at (-0.3) should be [calc-size(min-content, 260px + size * -0.3)\]]
+ expected: FAIL
+
+ [Web Animations: property <min-block-size> from [200px\] to [min-content\] at (0) should be [calc-size(min-content, 200px + size * 0)\]]
+ expected: FAIL
+
+ [Web Animations: property <min-block-size> from [200px\] to [min-content\] at (0.3) should be [calc-size(min-content, 140px + size * 0.3)\]]
+ expected: FAIL
+
+ [Web Animations: property <min-block-size> from [200px\] to [min-content\] at (0.6) should be [calc-size(min-content, 80px + size * 0.6)\]]
+ expected: FAIL
+
+ [Web Animations: property <min-block-size> from [200px\] to [min-content\] at (1) should be [calc-size(min-content, 0px + size * 1)\]]
+ expected: FAIL
+
+ [Web Animations: property <min-block-size> from [200px\] to [min-content\] at (1.5) should be [calc-size(min-content, -100px + size * 1.5)\]]
+ expected: FAIL
+
+ [CSS Transitions: property <min-inline-size> from neutral to [100px\] at (-0.3) should be [calc-size(auto, -30px + size * 1.3)\]]
+ expected: FAIL
+
+ [CSS Transitions: property <min-inline-size> from neutral to [100px\] at (0) should be [calc-size(auto, 0px + size * 1)\]]
+ expected: FAIL
+
+ [CSS Transitions: property <min-inline-size> from neutral to [100px\] at (0.3) should be [calc-size(auto, 30px + size * 0.7)\]]
+ expected: FAIL
+
+ [CSS Transitions: property <min-inline-size> from neutral to [100px\] at (0.6) should be [calc-size(auto, 60px + size * 0.4)\]]
+ expected: FAIL
+
+ [CSS Transitions: property <min-inline-size> from neutral to [100px\] at (1) should be [calc-size(auto, 100px + size * 0)\]]
+ expected: FAIL
+
+ [CSS Transitions: property <min-inline-size> from neutral to [100px\] at (1.5) should be [calc-size(auto, 150px + size * -0.5)\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <min-inline-size> from neutral to [100px\] at (-0.3) should be [calc-size(auto, -30px + size * 1.3)\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <min-inline-size> from neutral to [100px\] at (0) should be [calc-size(auto, 0px + size * 1)\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <min-inline-size> from neutral to [100px\] at (0.3) should be [calc-size(auto, 30px + size * 0.7)\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <min-inline-size> from neutral to [100px\] at (0.6) should be [calc-size(auto, 60px + size * 0.4)\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <min-inline-size> from neutral to [100px\] at (1) should be [calc-size(auto, 100px + size * 0)\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <min-inline-size> from neutral to [100px\] at (1.5) should be [calc-size(auto, 150px + size * -0.5)\]]
+ expected: FAIL
+
+ [Web Animations: property <min-inline-size> from neutral to [100px\] at (-0.3) should be [calc-size(auto, -30px + size * 1.3)\]]
+ expected: FAIL
+
+ [Web Animations: property <min-inline-size> from neutral to [100px\] at (0) should be [calc-size(auto, 0px + size * 1)\]]
+ expected: FAIL
+
+ [Web Animations: property <min-inline-size> from neutral to [100px\] at (0.3) should be [calc-size(auto, 30px + size * 0.7)\]]
+ expected: FAIL
+
+ [Web Animations: property <min-inline-size> from neutral to [100px\] at (0.6) should be [calc-size(auto, 60px + size * 0.4)\]]
+ expected: FAIL
+
+ [Web Animations: property <min-inline-size> from neutral to [100px\] at (1) should be [calc-size(auto, 100px + size * 0)\]]
+ expected: FAIL
+
+ [Web Animations: property <min-inline-size> from neutral to [100px\] at (1.5) should be [calc-size(auto, 150px + size * -0.5)\]]
+ expected: FAIL
diff --git a/tests/wpt/meta/css/css-values/calc-size/animation/interpolate-size-max-height-composition.html.ini b/tests/wpt/meta/css/css-values/calc-size/animation/interpolate-size-max-height-composition.html.ini
new file mode 100644
index 00000000000..c480e928296
--- /dev/null
+++ b/tests/wpt/meta/css/css-values/calc-size/animation/interpolate-size-max-height-composition.html.ini
@@ -0,0 +1,30 @@
+[interpolate-size-max-height-composition.html]
+ [Compositing: property <max-height> underlying [fit-content\] from add [100px\] to add [200px\] at (-0.3) should be [calc-size(fit-content, 70px + size * 1)\]]
+ expected: FAIL
+
+ [Compositing: property <max-height> underlying [fit-content\] from add [100px\] to add [200px\] at (0) should be [calc-size(fit-content, 100px + size * 1)\]]
+ expected: FAIL
+
+ [Compositing: property <max-height> underlying [fit-content\] from add [100px\] to add [200px\] at (0.5) should be [calc-size(fit-content, 150px + size * 1)\]]
+ expected: FAIL
+
+ [Compositing: property <max-height> underlying [fit-content\] from add [100px\] to add [200px\] at (1) should be [calc-size(fit-content, 200px + size * 1)\]]
+ expected: FAIL
+
+ [Compositing: property <max-height> underlying [fit-content\] from add [100px\] to add [200px\] at (1.5) should be [calc-size(fit-content, 250px + size * 1)\]]
+ expected: FAIL
+
+ [Compositing: property <max-height> underlying [fit-content\] from add [min-content\] to add [200px\] at (-0.3) should be [calc-size(min-content, -60px + size * 1.3)\]]
+ expected: FAIL
+
+ [Compositing: property <max-height> underlying [fit-content\] from add [min-content\] to add [200px\] at (0) should be [calc-size(min-content, 0px + size * 1)\]]
+ expected: FAIL
+
+ [Compositing: property <max-height> underlying [fit-content\] from add [min-content\] to add [200px\] at (0.5) should be [calc-size(min-content, 100px + size * 0.5)\]]
+ expected: FAIL
+
+ [Compositing: property <max-height> underlying [fit-content\] from add [min-content\] to add [200px\] at (1) should be [calc-size(min-content, 200px + size * 0)\]]
+ expected: FAIL
+
+ [Compositing: property <max-height> underlying [fit-content\] from add [min-content\] to add [200px\] at (1.5) should be [calc-size(min-content, 300px + size * -0.5)\]]
+ expected: FAIL
diff --git a/tests/wpt/meta/css/css-values/calc-size/animation/interpolate-size-max-height-interpolation.html.ini b/tests/wpt/meta/css/css-values/calc-size/animation/interpolate-size-max-height-interpolation.html.ini
new file mode 100644
index 00000000000..d963c09739b
--- /dev/null
+++ b/tests/wpt/meta/css/css-values/calc-size/animation/interpolate-size-max-height-interpolation.html.ini
@@ -0,0 +1,648 @@
+[interpolate-size-max-height-interpolation.html]
+ [CSS Transitions with transition-behavior:allow-discrete: property <max-height> from [initial\] to [20px\] at (-0.3) should be [initial\]]
+ expected: FAIL
+
+ [CSS Transitions with transition-behavior:allow-discrete: property <max-height> from [initial\] to [20px\] at (0) should be [initial\]]
+ expected: FAIL
+
+ [CSS Transitions with transition-behavior:allow-discrete: property <max-height> from [initial\] to [20px\] at (0.3) should be [initial\]]
+ expected: FAIL
+
+ [CSS Transitions with transition-property:all and transition-behavor:allow-discrete: property <max-height> from [initial\] to [20px\] at (-0.3) should be [initial\]]
+ expected: FAIL
+
+ [CSS Transitions with transition-property:all and transition-behavor:allow-discrete: property <max-height> from [initial\] to [20px\] at (0) should be [initial\]]
+ expected: FAIL
+
+ [CSS Transitions with transition-property:all and transition-behavor:allow-discrete: property <max-height> from [initial\] to [20px\] at (0.3) should be [initial\]]
+ expected: FAIL
+
+ [CSS Animations: property <max-height> from [initial\] to [20px\] at (-0.3) should be [initial\]]
+ expected: FAIL
+
+ [CSS Animations: property <max-height> from [initial\] to [20px\] at (0) should be [initial\]]
+ expected: FAIL
+
+ [CSS Animations: property <max-height> from [initial\] to [20px\] at (0.3) should be [initial\]]
+ expected: FAIL
+
+ [CSS Animations: property <max-height> from [initial\] to [20px\] at (0.5) should be [20px\]]
+ expected: FAIL
+
+ [CSS Animations: property <max-height> from [initial\] to [20px\] at (0.6) should be [20px\]]
+ expected: FAIL
+
+ [CSS Animations: property <max-height> from [initial\] to [20px\] at (1) should be [20px\]]
+ expected: FAIL
+
+ [CSS Animations: property <max-height> from [initial\] to [20px\] at (1.5) should be [20px\]]
+ expected: FAIL
+
+ [Web Animations: property <max-height> from [initial\] to [20px\] at (-0.3) should be [initial\]]
+ expected: FAIL
+
+ [Web Animations: property <max-height> from [initial\] to [20px\] at (0) should be [initial\]]
+ expected: FAIL
+
+ [Web Animations: property <max-height> from [initial\] to [20px\] at (0.3) should be [initial\]]
+ expected: FAIL
+
+ [Web Animations: property <max-height> from [initial\] to [20px\] at (0.5) should be [20px\]]
+ expected: FAIL
+
+ [Web Animations: property <max-height> from [initial\] to [20px\] at (0.6) should be [20px\]]
+ expected: FAIL
+
+ [Web Animations: property <max-height> from [initial\] to [20px\] at (1) should be [20px\]]
+ expected: FAIL
+
+ [Web Animations: property <max-height> from [initial\] to [20px\] at (1.5) should be [20px\]]
+ expected: FAIL
+
+ [CSS Transitions with transition-behavior:allow-discrete: property <max-height> from [unset\] to [20px\] at (-0.3) should be [unset\]]
+ expected: FAIL
+
+ [CSS Transitions with transition-behavior:allow-discrete: property <max-height> from [unset\] to [20px\] at (0) should be [unset\]]
+ expected: FAIL
+
+ [CSS Transitions with transition-behavior:allow-discrete: property <max-height> from [unset\] to [20px\] at (0.3) should be [unset\]]
+ expected: FAIL
+
+ [CSS Transitions with transition-property:all and transition-behavor:allow-discrete: property <max-height> from [unset\] to [20px\] at (-0.3) should be [unset\]]
+ expected: FAIL
+
+ [CSS Transitions with transition-property:all and transition-behavor:allow-discrete: property <max-height> from [unset\] to [20px\] at (0) should be [unset\]]
+ expected: FAIL
+
+ [CSS Transitions with transition-property:all and transition-behavor:allow-discrete: property <max-height> from [unset\] to [20px\] at (0.3) should be [unset\]]
+ expected: FAIL
+
+ [CSS Animations: property <max-height> from [unset\] to [20px\] at (-0.3) should be [unset\]]
+ expected: FAIL
+
+ [CSS Animations: property <max-height> from [unset\] to [20px\] at (0) should be [unset\]]
+ expected: FAIL
+
+ [CSS Animations: property <max-height> from [unset\] to [20px\] at (0.3) should be [unset\]]
+ expected: FAIL
+
+ [CSS Animations: property <max-height> from [unset\] to [20px\] at (0.5) should be [20px\]]
+ expected: FAIL
+
+ [CSS Animations: property <max-height> from [unset\] to [20px\] at (0.6) should be [20px\]]
+ expected: FAIL
+
+ [CSS Animations: property <max-height> from [unset\] to [20px\] at (1) should be [20px\]]
+ expected: FAIL
+
+ [CSS Animations: property <max-height> from [unset\] to [20px\] at (1.5) should be [20px\]]
+ expected: FAIL
+
+ [Web Animations: property <max-height> from [unset\] to [20px\] at (-0.3) should be [unset\]]
+ expected: FAIL
+
+ [Web Animations: property <max-height> from [unset\] to [20px\] at (0) should be [unset\]]
+ expected: FAIL
+
+ [Web Animations: property <max-height> from [unset\] to [20px\] at (0.3) should be [unset\]]
+ expected: FAIL
+
+ [Web Animations: property <max-height> from [unset\] to [20px\] at (0.5) should be [20px\]]
+ expected: FAIL
+
+ [Web Animations: property <max-height> from [unset\] to [20px\] at (0.6) should be [20px\]]
+ expected: FAIL
+
+ [Web Animations: property <max-height> from [unset\] to [20px\] at (1) should be [20px\]]
+ expected: FAIL
+
+ [Web Animations: property <max-height> from [unset\] to [20px\] at (1.5) should be [20px\]]
+ expected: FAIL
+
+ [CSS Transitions with transition-behavior:allow-discrete: property <max-height> from [none\] to [20px\] at (-0.3) should be [none\]]
+ expected: FAIL
+
+ [CSS Transitions with transition-behavior:allow-discrete: property <max-height> from [none\] to [20px\] at (0) should be [none\]]
+ expected: FAIL
+
+ [CSS Transitions with transition-behavior:allow-discrete: property <max-height> from [none\] to [20px\] at (0.3) should be [none\]]
+ expected: FAIL
+
+ [CSS Transitions with transition-property:all and transition-behavor:allow-discrete: property <max-height> from [none\] to [20px\] at (-0.3) should be [none\]]
+ expected: FAIL
+
+ [CSS Transitions with transition-property:all and transition-behavor:allow-discrete: property <max-height> from [none\] to [20px\] at (0) should be [none\]]
+ expected: FAIL
+
+ [CSS Transitions with transition-property:all and transition-behavor:allow-discrete: property <max-height> from [none\] to [20px\] at (0.3) should be [none\]]
+ expected: FAIL
+
+ [CSS Animations: property <max-height> from [none\] to [20px\] at (-0.3) should be [none\]]
+ expected: FAIL
+
+ [CSS Animations: property <max-height> from [none\] to [20px\] at (0) should be [none\]]
+ expected: FAIL
+
+ [CSS Animations: property <max-height> from [none\] to [20px\] at (0.3) should be [none\]]
+ expected: FAIL
+
+ [CSS Animations: property <max-height> from [none\] to [20px\] at (0.5) should be [20px\]]
+ expected: FAIL
+
+ [CSS Animations: property <max-height> from [none\] to [20px\] at (0.6) should be [20px\]]
+ expected: FAIL
+
+ [CSS Animations: property <max-height> from [none\] to [20px\] at (1) should be [20px\]]
+ expected: FAIL
+
+ [CSS Animations: property <max-height> from [none\] to [20px\] at (1.5) should be [20px\]]
+ expected: FAIL
+
+ [Web Animations: property <max-height> from [none\] to [20px\] at (-0.3) should be [none\]]
+ expected: FAIL
+
+ [Web Animations: property <max-height> from [none\] to [20px\] at (0) should be [none\]]
+ expected: FAIL
+
+ [Web Animations: property <max-height> from [none\] to [20px\] at (0.3) should be [none\]]
+ expected: FAIL
+
+ [Web Animations: property <max-height> from [none\] to [20px\] at (0.5) should be [20px\]]
+ expected: FAIL
+
+ [Web Animations: property <max-height> from [none\] to [20px\] at (0.6) should be [20px\]]
+ expected: FAIL
+
+ [Web Animations: property <max-height> from [none\] to [20px\] at (1) should be [20px\]]
+ expected: FAIL
+
+ [Web Animations: property <max-height> from [none\] to [20px\] at (1.5) should be [20px\]]
+ expected: FAIL
+
+ [CSS Transitions with transition-behavior:allow-discrete: property <max-height> from [none\] to [max-content\] at (-0.3) should be [none\]]
+ expected: FAIL
+
+ [CSS Transitions with transition-behavior:allow-discrete: property <max-height> from [none\] to [max-content\] at (0) should be [none\]]
+ expected: FAIL
+
+ [CSS Transitions with transition-behavior:allow-discrete: property <max-height> from [none\] to [max-content\] at (0.3) should be [none\]]
+ expected: FAIL
+
+ [CSS Transitions with transition-behavior:allow-discrete: property <max-height> from [none\] to [max-content\] at (0.5) should be [max-content\]]
+ expected: FAIL
+
+ [CSS Transitions with transition-behavior:allow-discrete: property <max-height> from [none\] to [max-content\] at (0.6) should be [max-content\]]
+ expected: FAIL
+
+ [CSS Transitions with transition-behavior:allow-discrete: property <max-height> from [none\] to [max-content\] at (1) should be [max-content\]]
+ expected: FAIL
+
+ [CSS Transitions with transition-behavior:allow-discrete: property <max-height> from [none\] to [max-content\] at (1.5) should be [max-content\]]
+ expected: FAIL
+
+ [CSS Transitions with transition-property:all and transition-behavor:allow-discrete: property <max-height> from [none\] to [max-content\] at (-0.3) should be [none\]]
+ expected: FAIL
+
+ [CSS Transitions with transition-property:all and transition-behavor:allow-discrete: property <max-height> from [none\] to [max-content\] at (0) should be [none\]]
+ expected: FAIL
+
+ [CSS Transitions with transition-property:all and transition-behavor:allow-discrete: property <max-height> from [none\] to [max-content\] at (0.3) should be [none\]]
+ expected: FAIL
+
+ [CSS Transitions with transition-property:all and transition-behavor:allow-discrete: property <max-height> from [none\] to [max-content\] at (0.5) should be [max-content\]]
+ expected: FAIL
+
+ [CSS Transitions with transition-property:all and transition-behavor:allow-discrete: property <max-height> from [none\] to [max-content\] at (0.6) should be [max-content\]]
+ expected: FAIL
+
+ [CSS Transitions with transition-property:all and transition-behavor:allow-discrete: property <max-height> from [none\] to [max-content\] at (1) should be [max-content\]]
+ expected: FAIL
+
+ [CSS Transitions with transition-property:all and transition-behavor:allow-discrete: property <max-height> from [none\] to [max-content\] at (1.5) should be [max-content\]]
+ expected: FAIL
+
+ [CSS Transitions: property <max-height> from [none\] to [max-content\] at (-0.3) should be [max-content\]]
+ expected: FAIL
+
+ [CSS Transitions: property <max-height> from [none\] to [max-content\] at (0) should be [max-content\]]
+ expected: FAIL
+
+ [CSS Transitions: property <max-height> from [none\] to [max-content\] at (0.3) should be [max-content\]]
+ expected: FAIL
+
+ [CSS Transitions: property <max-height> from [none\] to [max-content\] at (0.5) should be [max-content\]]
+ expected: FAIL
+
+ [CSS Transitions: property <max-height> from [none\] to [max-content\] at (0.6) should be [max-content\]]
+ expected: FAIL
+
+ [CSS Transitions: property <max-height> from [none\] to [max-content\] at (1) should be [max-content\]]
+ expected: FAIL
+
+ [CSS Transitions: property <max-height> from [none\] to [max-content\] at (1.5) should be [max-content\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <max-height> from [none\] to [max-content\] at (-0.3) should be [max-content\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <max-height> from [none\] to [max-content\] at (0) should be [max-content\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <max-height> from [none\] to [max-content\] at (0.3) should be [max-content\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <max-height> from [none\] to [max-content\] at (0.5) should be [max-content\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <max-height> from [none\] to [max-content\] at (0.6) should be [max-content\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <max-height> from [none\] to [max-content\] at (1) should be [max-content\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <max-height> from [none\] to [max-content\] at (1.5) should be [max-content\]]
+ expected: FAIL
+
+ [CSS Animations: property <max-height> from [none\] to [max-content\] at (-0.3) should be [none\]]
+ expected: FAIL
+
+ [CSS Animations: property <max-height> from [none\] to [max-content\] at (0) should be [none\]]
+ expected: FAIL
+
+ [CSS Animations: property <max-height> from [none\] to [max-content\] at (0.3) should be [none\]]
+ expected: FAIL
+
+ [CSS Animations: property <max-height> from [none\] to [max-content\] at (0.5) should be [max-content\]]
+ expected: FAIL
+
+ [CSS Animations: property <max-height> from [none\] to [max-content\] at (0.6) should be [max-content\]]
+ expected: FAIL
+
+ [CSS Animations: property <max-height> from [none\] to [max-content\] at (1) should be [max-content\]]
+ expected: FAIL
+
+ [CSS Animations: property <max-height> from [none\] to [max-content\] at (1.5) should be [max-content\]]
+ expected: FAIL
+
+ [Web Animations: property <max-height> from [none\] to [max-content\] at (-0.3) should be [none\]]
+ expected: FAIL
+
+ [Web Animations: property <max-height> from [none\] to [max-content\] at (0) should be [none\]]
+ expected: FAIL
+
+ [Web Animations: property <max-height> from [none\] to [max-content\] at (0.3) should be [none\]]
+ expected: FAIL
+
+ [Web Animations: property <max-height> from [none\] to [max-content\] at (0.5) should be [max-content\]]
+ expected: FAIL
+
+ [Web Animations: property <max-height> from [none\] to [max-content\] at (0.6) should be [max-content\]]
+ expected: FAIL
+
+ [Web Animations: property <max-height> from [none\] to [max-content\] at (1) should be [max-content\]]
+ expected: FAIL
+
+ [Web Animations: property <max-height> from [none\] to [max-content\] at (1.5) should be [max-content\]]
+ expected: FAIL
+
+ [CSS Transitions with transition-behavior:allow-discrete: property <max-height> from [stretch\] to [fit-content\] at (-0.3) should be [stretch\]]
+ expected: FAIL
+
+ [CSS Transitions with transition-behavior:allow-discrete: property <max-height> from [stretch\] to [fit-content\] at (0) should be [stretch\]]
+ expected: FAIL
+
+ [CSS Transitions with transition-behavior:allow-discrete: property <max-height> from [stretch\] to [fit-content\] at (0.3) should be [stretch\]]
+ expected: FAIL
+
+ [CSS Transitions with transition-behavior:allow-discrete: property <max-height> from [stretch\] to [fit-content\] at (0.5) should be [fit-content\]]
+ expected: FAIL
+
+ [CSS Transitions with transition-behavior:allow-discrete: property <max-height> from [stretch\] to [fit-content\] at (0.6) should be [fit-content\]]
+ expected: FAIL
+
+ [CSS Transitions with transition-behavior:allow-discrete: property <max-height> from [stretch\] to [fit-content\] at (1) should be [fit-content\]]
+ expected: FAIL
+
+ [CSS Transitions with transition-behavior:allow-discrete: property <max-height> from [stretch\] to [fit-content\] at (1.5) should be [fit-content\]]
+ expected: FAIL
+
+ [CSS Transitions with transition-property:all and transition-behavor:allow-discrete: property <max-height> from [stretch\] to [fit-content\] at (-0.3) should be [stretch\]]
+ expected: FAIL
+
+ [CSS Transitions with transition-property:all and transition-behavor:allow-discrete: property <max-height> from [stretch\] to [fit-content\] at (0) should be [stretch\]]
+ expected: FAIL
+
+ [CSS Transitions with transition-property:all and transition-behavor:allow-discrete: property <max-height> from [stretch\] to [fit-content\] at (0.3) should be [stretch\]]
+ expected: FAIL
+
+ [CSS Transitions with transition-property:all and transition-behavor:allow-discrete: property <max-height> from [stretch\] to [fit-content\] at (0.5) should be [fit-content\]]
+ expected: FAIL
+
+ [CSS Transitions with transition-property:all and transition-behavor:allow-discrete: property <max-height> from [stretch\] to [fit-content\] at (0.6) should be [fit-content\]]
+ expected: FAIL
+
+ [CSS Transitions with transition-property:all and transition-behavor:allow-discrete: property <max-height> from [stretch\] to [fit-content\] at (1) should be [fit-content\]]
+ expected: FAIL
+
+ [CSS Transitions with transition-property:all and transition-behavor:allow-discrete: property <max-height> from [stretch\] to [fit-content\] at (1.5) should be [fit-content\]]
+ expected: FAIL
+
+ [CSS Transitions: property <max-height> from [stretch\] to [fit-content\] at (-0.3) should be [fit-content\]]
+ expected: FAIL
+
+ [CSS Transitions: property <max-height> from [stretch\] to [fit-content\] at (0) should be [fit-content\]]
+ expected: FAIL
+
+ [CSS Transitions: property <max-height> from [stretch\] to [fit-content\] at (0.3) should be [fit-content\]]
+ expected: FAIL
+
+ [CSS Transitions: property <max-height> from [stretch\] to [fit-content\] at (0.5) should be [fit-content\]]
+ expected: FAIL
+
+ [CSS Transitions: property <max-height> from [stretch\] to [fit-content\] at (0.6) should be [fit-content\]]
+ expected: FAIL
+
+ [CSS Transitions: property <max-height> from [stretch\] to [fit-content\] at (1) should be [fit-content\]]
+ expected: FAIL
+
+ [CSS Transitions: property <max-height> from [stretch\] to [fit-content\] at (1.5) should be [fit-content\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <max-height> from [stretch\] to [fit-content\] at (-0.3) should be [fit-content\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <max-height> from [stretch\] to [fit-content\] at (0) should be [fit-content\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <max-height> from [stretch\] to [fit-content\] at (0.3) should be [fit-content\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <max-height> from [stretch\] to [fit-content\] at (0.5) should be [fit-content\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <max-height> from [stretch\] to [fit-content\] at (0.6) should be [fit-content\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <max-height> from [stretch\] to [fit-content\] at (1) should be [fit-content\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <max-height> from [stretch\] to [fit-content\] at (1.5) should be [fit-content\]]
+ expected: FAIL
+
+ [CSS Animations: property <max-height> from [stretch\] to [fit-content\] at (-0.3) should be [stretch\]]
+ expected: FAIL
+
+ [CSS Animations: property <max-height> from [stretch\] to [fit-content\] at (0) should be [stretch\]]
+ expected: FAIL
+
+ [CSS Animations: property <max-height> from [stretch\] to [fit-content\] at (0.3) should be [stretch\]]
+ expected: FAIL
+
+ [CSS Animations: property <max-height> from [stretch\] to [fit-content\] at (0.5) should be [fit-content\]]
+ expected: FAIL
+
+ [CSS Animations: property <max-height> from [stretch\] to [fit-content\] at (0.6) should be [fit-content\]]
+ expected: FAIL
+
+ [CSS Animations: property <max-height> from [stretch\] to [fit-content\] at (1) should be [fit-content\]]
+ expected: FAIL
+
+ [CSS Animations: property <max-height> from [stretch\] to [fit-content\] at (1.5) should be [fit-content\]]
+ expected: FAIL
+
+ [Web Animations: property <max-height> from [stretch\] to [fit-content\] at (-0.3) should be [stretch\]]
+ expected: FAIL
+
+ [Web Animations: property <max-height> from [stretch\] to [fit-content\] at (0) should be [stretch\]]
+ expected: FAIL
+
+ [Web Animations: property <max-height> from [stretch\] to [fit-content\] at (0.3) should be [stretch\]]
+ expected: FAIL
+
+ [Web Animations: property <max-height> from [stretch\] to [fit-content\] at (0.5) should be [fit-content\]]
+ expected: FAIL
+
+ [Web Animations: property <max-height> from [stretch\] to [fit-content\] at (0.6) should be [fit-content\]]
+ expected: FAIL
+
+ [Web Animations: property <max-height> from [stretch\] to [fit-content\] at (1) should be [fit-content\]]
+ expected: FAIL
+
+ [Web Animations: property <max-height> from [stretch\] to [fit-content\] at (1.5) should be [fit-content\]]
+ expected: FAIL
+
+ [CSS Transitions: property <max-height> from [150px\] to [min-content\] at (-0.3) should be [calc-size(min-content, 195px + size * -0.3)\]]
+ expected: FAIL
+
+ [CSS Transitions: property <max-height> from [150px\] to [min-content\] at (0) should be [calc-size(min-content, 150px + size * 0)\]]
+ expected: FAIL
+
+ [CSS Transitions: property <max-height> from [150px\] to [min-content\] at (0.3) should be [calc-size(min-content, 105px + size * 0.3)\]]
+ expected: FAIL
+
+ [CSS Transitions: property <max-height> from [150px\] to [min-content\] at (0.6) should be [calc-size(min-content, 60px + size * 0.6)\]]
+ expected: FAIL
+
+ [CSS Transitions: property <max-height> from [150px\] to [min-content\] at (1) should be [calc-size(min-content, 0px + size * 1)\]]
+ expected: FAIL
+
+ [CSS Transitions: property <max-height> from [150px\] to [min-content\] at (1.5) should be [calc-size(min-content, -75px + size * 1.5)\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <max-height> from [150px\] to [min-content\] at (-0.3) should be [calc-size(min-content, 195px + size * -0.3)\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <max-height> from [150px\] to [min-content\] at (0) should be [calc-size(min-content, 150px + size * 0)\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <max-height> from [150px\] to [min-content\] at (0.3) should be [calc-size(min-content, 105px + size * 0.3)\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <max-height> from [150px\] to [min-content\] at (0.6) should be [calc-size(min-content, 60px + size * 0.6)\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <max-height> from [150px\] to [min-content\] at (1) should be [calc-size(min-content, 0px + size * 1)\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <max-height> from [150px\] to [min-content\] at (1.5) should be [calc-size(min-content, -75px + size * 1.5)\]]
+ expected: FAIL
+
+ [CSS Animations: property <max-height> from [150px\] to [min-content\] at (-0.3) should be [calc-size(min-content, 195px + size * -0.3)\]]
+ expected: FAIL
+
+ [CSS Animations: property <max-height> from [150px\] to [min-content\] at (0) should be [calc-size(min-content, 150px + size * 0)\]]
+ expected: FAIL
+
+ [CSS Animations: property <max-height> from [150px\] to [min-content\] at (0.3) should be [calc-size(min-content, 105px + size * 0.3)\]]
+ expected: FAIL
+
+ [CSS Animations: property <max-height> from [150px\] to [min-content\] at (0.6) should be [calc-size(min-content, 60px + size * 0.6)\]]
+ expected: FAIL
+
+ [CSS Animations: property <max-height> from [150px\] to [min-content\] at (1) should be [calc-size(min-content, 0px + size * 1)\]]
+ expected: FAIL
+
+ [CSS Animations: property <max-height> from [150px\] to [min-content\] at (1.5) should be [calc-size(min-content, -75px + size * 1.5)\]]
+ expected: FAIL
+
+ [Web Animations: property <max-height> from [150px\] to [min-content\] at (-0.3) should be [calc-size(min-content, 195px + size * -0.3)\]]
+ expected: FAIL
+
+ [Web Animations: property <max-height> from [150px\] to [min-content\] at (0) should be [calc-size(min-content, 150px + size * 0)\]]
+ expected: FAIL
+
+ [Web Animations: property <max-height> from [150px\] to [min-content\] at (0.3) should be [calc-size(min-content, 105px + size * 0.3)\]]
+ expected: FAIL
+
+ [Web Animations: property <max-height> from [150px\] to [min-content\] at (0.6) should be [calc-size(min-content, 60px + size * 0.6)\]]
+ expected: FAIL
+
+ [Web Animations: property <max-height> from [150px\] to [min-content\] at (1) should be [calc-size(min-content, 0px + size * 1)\]]
+ expected: FAIL
+
+ [Web Animations: property <max-height> from [150px\] to [min-content\] at (1.5) should be [calc-size(min-content, -75px + size * 1.5)\]]
+ expected: FAIL
+
+ [CSS Transitions: property <max-height> from [min-content\] to neutral at (-0.3) should be [calc-size(min-content, -30px + size * 1.3)\]]
+ expected: FAIL
+
+ [CSS Transitions: property <max-height> from [min-content\] to neutral at (0) should be [calc-size(min-content, 0px + size * 1)\]]
+ expected: FAIL
+
+ [CSS Transitions: property <max-height> from [min-content\] to neutral at (0.3) should be [calc-size(min-content, 30px + size * 0.7)\]]
+ expected: FAIL
+
+ [CSS Transitions: property <max-height> from [min-content\] to neutral at (0.6) should be [calc-size(min-content, 60px + size * 0.4)\]]
+ expected: FAIL
+
+ [CSS Transitions: property <max-height> from [min-content\] to neutral at (1) should be [calc-size(min-content, 100px + size * 0)\]]
+ expected: FAIL
+
+ [CSS Transitions: property <max-height> from [min-content\] to neutral at (1.5) should be [calc-size(min-content, 150px + size * -0.5)\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <max-height> from [min-content\] to neutral at (-0.3) should be [calc-size(min-content, -30px + size * 1.3)\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <max-height> from [min-content\] to neutral at (0) should be [calc-size(min-content, 0px + size * 1)\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <max-height> from [min-content\] to neutral at (0.3) should be [calc-size(min-content, 30px + size * 0.7)\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <max-height> from [min-content\] to neutral at (0.6) should be [calc-size(min-content, 60px + size * 0.4)\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <max-height> from [min-content\] to neutral at (1) should be [calc-size(min-content, 100px + size * 0)\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <max-height> from [min-content\] to neutral at (1.5) should be [calc-size(min-content, 150px + size * -0.5)\]]
+ expected: FAIL
+
+ [CSS Animations: property <max-height> from [min-content\] to neutral at (-0.3) should be [calc-size(min-content, -30px + size * 1.3)\]]
+ expected: FAIL
+
+ [CSS Animations: property <max-height> from [min-content\] to neutral at (0) should be [calc-size(min-content, 0px + size * 1)\]]
+ expected: FAIL
+
+ [CSS Animations: property <max-height> from [min-content\] to neutral at (0.3) should be [calc-size(min-content, 30px + size * 0.7)\]]
+ expected: FAIL
+
+ [CSS Animations: property <max-height> from [min-content\] to neutral at (0.6) should be [calc-size(min-content, 60px + size * 0.4)\]]
+ expected: FAIL
+
+ [CSS Animations: property <max-height> from [min-content\] to neutral at (1) should be [calc-size(min-content, 100px + size * 0)\]]
+ expected: FAIL
+
+ [CSS Animations: property <max-height> from [min-content\] to neutral at (1.5) should be [calc-size(min-content, 150px + size * -0.5)\]]
+ expected: FAIL
+
+ [Web Animations: property <max-height> from [min-content\] to neutral at (-0.3) should be [calc-size(min-content, -30px + size * 1.3)\]]
+ expected: FAIL
+
+ [Web Animations: property <max-height> from [min-content\] to neutral at (0) should be [calc-size(min-content, 0px + size * 1)\]]
+ expected: FAIL
+
+ [Web Animations: property <max-height> from [min-content\] to neutral at (0.3) should be [calc-size(min-content, 30px + size * 0.7)\]]
+ expected: FAIL
+
+ [Web Animations: property <max-height> from [min-content\] to neutral at (0.6) should be [calc-size(min-content, 60px + size * 0.4)\]]
+ expected: FAIL
+
+ [Web Animations: property <max-height> from [min-content\] to neutral at (1) should be [calc-size(min-content, 100px + size * 0)\]]
+ expected: FAIL
+
+ [Web Animations: property <max-height> from [min-content\] to neutral at (1.5) should be [calc-size(min-content, 150px + size * -0.5)\]]
+ expected: FAIL
+
+ [CSS Transitions: property <max-height> from neutral to [max-content\] at (-0.3) should be [calc-size(max-content, 130px + size * -0.3)\]]
+ expected: FAIL
+
+ [CSS Transitions: property <max-height> from neutral to [max-content\] at (0) should be [calc-size(max-content, 100px + size * 0)\]]
+ expected: FAIL
+
+ [CSS Transitions: property <max-height> from neutral to [max-content\] at (0.3) should be [calc-size(max-content, 70px + size * 0.3)\]]
+ expected: FAIL
+
+ [CSS Transitions: property <max-height> from neutral to [max-content\] at (0.6) should be [calc-size(max-content, 40px + size * 0.6)\]]
+ expected: FAIL
+
+ [CSS Transitions: property <max-height> from neutral to [max-content\] at (1) should be [calc-size(max-content, 0px + size * 1)\]]
+ expected: FAIL
+
+ [CSS Transitions: property <max-height> from neutral to [max-content\] at (1.5) should be [calc-size(max-content, -50px + size * 1.5)\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <max-height> from neutral to [max-content\] at (-0.3) should be [calc-size(max-content, 130px + size * -0.3)\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <max-height> from neutral to [max-content\] at (0) should be [calc-size(max-content, 100px + size * 0)\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <max-height> from neutral to [max-content\] at (0.3) should be [calc-size(max-content, 70px + size * 0.3)\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <max-height> from neutral to [max-content\] at (0.6) should be [calc-size(max-content, 40px + size * 0.6)\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <max-height> from neutral to [max-content\] at (1) should be [calc-size(max-content, 0px + size * 1)\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <max-height> from neutral to [max-content\] at (1.5) should be [calc-size(max-content, -50px + size * 1.5)\]]
+ expected: FAIL
+
+ [CSS Animations: property <max-height> from neutral to [max-content\] at (-0.3) should be [calc-size(max-content, 130px + size * -0.3)\]]
+ expected: FAIL
+
+ [CSS Animations: property <max-height> from neutral to [max-content\] at (0) should be [calc-size(max-content, 100px + size * 0)\]]
+ expected: FAIL
+
+ [CSS Animations: property <max-height> from neutral to [max-content\] at (0.3) should be [calc-size(max-content, 70px + size * 0.3)\]]
+ expected: FAIL
+
+ [CSS Animations: property <max-height> from neutral to [max-content\] at (0.6) should be [calc-size(max-content, 40px + size * 0.6)\]]
+ expected: FAIL
+
+ [CSS Animations: property <max-height> from neutral to [max-content\] at (1) should be [calc-size(max-content, 0px + size * 1)\]]
+ expected: FAIL
+
+ [CSS Animations: property <max-height> from neutral to [max-content\] at (1.5) should be [calc-size(max-content, -50px + size * 1.5)\]]
+ expected: FAIL
+
+ [Web Animations: property <max-height> from neutral to [max-content\] at (-0.3) should be [calc-size(max-content, 130px + size * -0.3)\]]
+ expected: FAIL
+
+ [Web Animations: property <max-height> from neutral to [max-content\] at (0) should be [calc-size(max-content, 100px + size * 0)\]]
+ expected: FAIL
+
+ [Web Animations: property <max-height> from neutral to [max-content\] at (0.3) should be [calc-size(max-content, 70px + size * 0.3)\]]
+ expected: FAIL
+
+ [Web Animations: property <max-height> from neutral to [max-content\] at (0.6) should be [calc-size(max-content, 40px + size * 0.6)\]]
+ expected: FAIL
+
+ [Web Animations: property <max-height> from neutral to [max-content\] at (1) should be [calc-size(max-content, 0px + size * 1)\]]
+ expected: FAIL
+
+ [Web Animations: property <max-height> from neutral to [max-content\] at (1.5) should be [calc-size(max-content, -50px + size * 1.5)\]]
+ expected: FAIL
diff --git a/tests/wpt/meta/css/css-values/calc-size/animation/interpolate-size-max-width-composition.html.ini b/tests/wpt/meta/css/css-values/calc-size/animation/interpolate-size-max-width-composition.html.ini
new file mode 100644
index 00000000000..3a8389477a1
--- /dev/null
+++ b/tests/wpt/meta/css/css-values/calc-size/animation/interpolate-size-max-width-composition.html.ini
@@ -0,0 +1,45 @@
+[interpolate-size-max-width-composition.html]
+ [Compositing: property <max-width> underlying [100px\] from add [100px\] to add [fit-content\] at (-0.3) should be [calc-size(fit-content, 230px + size * -0.3)\]]
+ expected: FAIL
+
+ [Compositing: property <max-width> underlying [100px\] from add [100px\] to add [fit-content\] at (0) should be [calc-size(fit-content, 200px + size * 0)\]]
+ expected: FAIL
+
+ [Compositing: property <max-width> underlying [100px\] from add [100px\] to add [fit-content\] at (0.5) should be [calc-size(fit-content, 150px + size * 0.5)\]]
+ expected: FAIL
+
+ [Compositing: property <max-width> underlying [100px\] from add [100px\] to add [fit-content\] at (1) should be [calc-size(fit-content, 100px + size * 1)\]]
+ expected: FAIL
+
+ [Compositing: property <max-width> underlying [100px\] from add [100px\] to add [fit-content\] at (1.5) should be [calc-size(fit-content, 50px + size * 1.5)\]]
+ expected: FAIL
+
+ [Compositing: property <max-width> underlying [100px\] from add [fit-content\] to add [max-content\] at (-0.3) should be [calc-size(fit-content, 100px + size)\]]
+ expected: FAIL
+
+ [Compositing: property <max-width> underlying [100px\] from add [fit-content\] to add [max-content\] at (0) should be [calc-size(fit-content, 100px + size)\]]
+ expected: FAIL
+
+ [Compositing: property <max-width> underlying [100px\] from add [fit-content\] to add [max-content\] at (0.5) should be [calc-size(max-content, 100px + size)\]]
+ expected: FAIL
+
+ [Compositing: property <max-width> underlying [100px\] from add [fit-content\] to add [max-content\] at (1) should be [calc-size(max-content, 100px + size)\]]
+ expected: FAIL
+
+ [Compositing: property <max-width> underlying [100px\] from add [fit-content\] to add [max-content\] at (1.5) should be [calc-size(max-content, 100px + size)\]]
+ expected: FAIL
+
+ [Compositing: property <max-width> underlying [max-content\] from add [100px\] to add [min-content\] at (-0.3) should be [calc-size(min-content, 130px + size * -0.3)\]]
+ expected: FAIL
+
+ [Compositing: property <max-width> underlying [max-content\] from add [100px\] to add [min-content\] at (0) should be [calc-size(min-content, 100px + size * 0)\]]
+ expected: FAIL
+
+ [Compositing: property <max-width> underlying [max-content\] from add [100px\] to add [min-content\] at (0.5) should be [calc-size(min-content, 50px + size * 0.5)\]]
+ expected: FAIL
+
+ [Compositing: property <max-width> underlying [max-content\] from add [100px\] to add [min-content\] at (1) should be [calc-size(min-content, 0px + size * 1)\]]
+ expected: FAIL
+
+ [Compositing: property <max-width> underlying [max-content\] from add [100px\] to add [min-content\] at (1.5) should be [calc-size(min-content, -50px + size * 1.5)\]]
+ expected: FAIL
diff --git a/tests/wpt/meta/css/css-values/calc-size/animation/interpolate-size-max-width-interpolation.html.ini b/tests/wpt/meta/css/css-values/calc-size/animation/interpolate-size-max-width-interpolation.html.ini
new file mode 100644
index 00000000000..f005b4f4766
--- /dev/null
+++ b/tests/wpt/meta/css/css-values/calc-size/animation/interpolate-size-max-width-interpolation.html.ini
@@ -0,0 +1,648 @@
+[interpolate-size-max-width-interpolation.html]
+ [CSS Transitions with transition-behavior:allow-discrete: property <max-width> from [initial\] to [20px\] at (-0.3) should be [initial\]]
+ expected: FAIL
+
+ [CSS Transitions with transition-behavior:allow-discrete: property <max-width> from [initial\] to [20px\] at (0) should be [initial\]]
+ expected: FAIL
+
+ [CSS Transitions with transition-behavior:allow-discrete: property <max-width> from [initial\] to [20px\] at (0.3) should be [initial\]]
+ expected: FAIL
+
+ [CSS Transitions with transition-property:all and transition-behavor:allow-discrete: property <max-width> from [initial\] to [20px\] at (-0.3) should be [initial\]]
+ expected: FAIL
+
+ [CSS Transitions with transition-property:all and transition-behavor:allow-discrete: property <max-width> from [initial\] to [20px\] at (0) should be [initial\]]
+ expected: FAIL
+
+ [CSS Transitions with transition-property:all and transition-behavor:allow-discrete: property <max-width> from [initial\] to [20px\] at (0.3) should be [initial\]]
+ expected: FAIL
+
+ [CSS Animations: property <max-width> from [initial\] to [20px\] at (-0.3) should be [initial\]]
+ expected: FAIL
+
+ [CSS Animations: property <max-width> from [initial\] to [20px\] at (0) should be [initial\]]
+ expected: FAIL
+
+ [CSS Animations: property <max-width> from [initial\] to [20px\] at (0.3) should be [initial\]]
+ expected: FAIL
+
+ [CSS Animations: property <max-width> from [initial\] to [20px\] at (0.5) should be [20px\]]
+ expected: FAIL
+
+ [CSS Animations: property <max-width> from [initial\] to [20px\] at (0.6) should be [20px\]]
+ expected: FAIL
+
+ [CSS Animations: property <max-width> from [initial\] to [20px\] at (1) should be [20px\]]
+ expected: FAIL
+
+ [CSS Animations: property <max-width> from [initial\] to [20px\] at (1.5) should be [20px\]]
+ expected: FAIL
+
+ [Web Animations: property <max-width> from [initial\] to [20px\] at (-0.3) should be [initial\]]
+ expected: FAIL
+
+ [Web Animations: property <max-width> from [initial\] to [20px\] at (0) should be [initial\]]
+ expected: FAIL
+
+ [Web Animations: property <max-width> from [initial\] to [20px\] at (0.3) should be [initial\]]
+ expected: FAIL
+
+ [Web Animations: property <max-width> from [initial\] to [20px\] at (0.5) should be [20px\]]
+ expected: FAIL
+
+ [Web Animations: property <max-width> from [initial\] to [20px\] at (0.6) should be [20px\]]
+ expected: FAIL
+
+ [Web Animations: property <max-width> from [initial\] to [20px\] at (1) should be [20px\]]
+ expected: FAIL
+
+ [Web Animations: property <max-width> from [initial\] to [20px\] at (1.5) should be [20px\]]
+ expected: FAIL
+
+ [CSS Transitions with transition-behavior:allow-discrete: property <max-width> from [unset\] to [20px\] at (-0.3) should be [unset\]]
+ expected: FAIL
+
+ [CSS Transitions with transition-behavior:allow-discrete: property <max-width> from [unset\] to [20px\] at (0) should be [unset\]]
+ expected: FAIL
+
+ [CSS Transitions with transition-behavior:allow-discrete: property <max-width> from [unset\] to [20px\] at (0.3) should be [unset\]]
+ expected: FAIL
+
+ [CSS Transitions with transition-property:all and transition-behavor:allow-discrete: property <max-width> from [unset\] to [20px\] at (-0.3) should be [unset\]]
+ expected: FAIL
+
+ [CSS Transitions with transition-property:all and transition-behavor:allow-discrete: property <max-width> from [unset\] to [20px\] at (0) should be [unset\]]
+ expected: FAIL
+
+ [CSS Transitions with transition-property:all and transition-behavor:allow-discrete: property <max-width> from [unset\] to [20px\] at (0.3) should be [unset\]]
+ expected: FAIL
+
+ [CSS Animations: property <max-width> from [unset\] to [20px\] at (-0.3) should be [unset\]]
+ expected: FAIL
+
+ [CSS Animations: property <max-width> from [unset\] to [20px\] at (0) should be [unset\]]
+ expected: FAIL
+
+ [CSS Animations: property <max-width> from [unset\] to [20px\] at (0.3) should be [unset\]]
+ expected: FAIL
+
+ [CSS Animations: property <max-width> from [unset\] to [20px\] at (0.5) should be [20px\]]
+ expected: FAIL
+
+ [CSS Animations: property <max-width> from [unset\] to [20px\] at (0.6) should be [20px\]]
+ expected: FAIL
+
+ [CSS Animations: property <max-width> from [unset\] to [20px\] at (1) should be [20px\]]
+ expected: FAIL
+
+ [CSS Animations: property <max-width> from [unset\] to [20px\] at (1.5) should be [20px\]]
+ expected: FAIL
+
+ [Web Animations: property <max-width> from [unset\] to [20px\] at (-0.3) should be [unset\]]
+ expected: FAIL
+
+ [Web Animations: property <max-width> from [unset\] to [20px\] at (0) should be [unset\]]
+ expected: FAIL
+
+ [Web Animations: property <max-width> from [unset\] to [20px\] at (0.3) should be [unset\]]
+ expected: FAIL
+
+ [Web Animations: property <max-width> from [unset\] to [20px\] at (0.5) should be [20px\]]
+ expected: FAIL
+
+ [Web Animations: property <max-width> from [unset\] to [20px\] at (0.6) should be [20px\]]
+ expected: FAIL
+
+ [Web Animations: property <max-width> from [unset\] to [20px\] at (1) should be [20px\]]
+ expected: FAIL
+
+ [Web Animations: property <max-width> from [unset\] to [20px\] at (1.5) should be [20px\]]
+ expected: FAIL
+
+ [CSS Transitions with transition-behavior:allow-discrete: property <max-width> from [none\] to [20px\] at (-0.3) should be [none\]]
+ expected: FAIL
+
+ [CSS Transitions with transition-behavior:allow-discrete: property <max-width> from [none\] to [20px\] at (0) should be [none\]]
+ expected: FAIL
+
+ [CSS Transitions with transition-behavior:allow-discrete: property <max-width> from [none\] to [20px\] at (0.3) should be [none\]]
+ expected: FAIL
+
+ [CSS Transitions with transition-property:all and transition-behavor:allow-discrete: property <max-width> from [none\] to [20px\] at (-0.3) should be [none\]]
+ expected: FAIL
+
+ [CSS Transitions with transition-property:all and transition-behavor:allow-discrete: property <max-width> from [none\] to [20px\] at (0) should be [none\]]
+ expected: FAIL
+
+ [CSS Transitions with transition-property:all and transition-behavor:allow-discrete: property <max-width> from [none\] to [20px\] at (0.3) should be [none\]]
+ expected: FAIL
+
+ [CSS Animations: property <max-width> from [none\] to [20px\] at (-0.3) should be [none\]]
+ expected: FAIL
+
+ [CSS Animations: property <max-width> from [none\] to [20px\] at (0) should be [none\]]
+ expected: FAIL
+
+ [CSS Animations: property <max-width> from [none\] to [20px\] at (0.3) should be [none\]]
+ expected: FAIL
+
+ [CSS Animations: property <max-width> from [none\] to [20px\] at (0.5) should be [20px\]]
+ expected: FAIL
+
+ [CSS Animations: property <max-width> from [none\] to [20px\] at (0.6) should be [20px\]]
+ expected: FAIL
+
+ [CSS Animations: property <max-width> from [none\] to [20px\] at (1) should be [20px\]]
+ expected: FAIL
+
+ [CSS Animations: property <max-width> from [none\] to [20px\] at (1.5) should be [20px\]]
+ expected: FAIL
+
+ [Web Animations: property <max-width> from [none\] to [20px\] at (-0.3) should be [none\]]
+ expected: FAIL
+
+ [Web Animations: property <max-width> from [none\] to [20px\] at (0) should be [none\]]
+ expected: FAIL
+
+ [Web Animations: property <max-width> from [none\] to [20px\] at (0.3) should be [none\]]
+ expected: FAIL
+
+ [Web Animations: property <max-width> from [none\] to [20px\] at (0.5) should be [20px\]]
+ expected: FAIL
+
+ [Web Animations: property <max-width> from [none\] to [20px\] at (0.6) should be [20px\]]
+ expected: FAIL
+
+ [Web Animations: property <max-width> from [none\] to [20px\] at (1) should be [20px\]]
+ expected: FAIL
+
+ [Web Animations: property <max-width> from [none\] to [20px\] at (1.5) should be [20px\]]
+ expected: FAIL
+
+ [CSS Transitions with transition-behavior:allow-discrete: property <max-width> from [stretch\] to [none\] at (-0.3) should be [stretch\]]
+ expected: FAIL
+
+ [CSS Transitions with transition-behavior:allow-discrete: property <max-width> from [stretch\] to [none\] at (0) should be [stretch\]]
+ expected: FAIL
+
+ [CSS Transitions with transition-behavior:allow-discrete: property <max-width> from [stretch\] to [none\] at (0.3) should be [stretch\]]
+ expected: FAIL
+
+ [CSS Transitions with transition-behavior:allow-discrete: property <max-width> from [stretch\] to [none\] at (0.5) should be [none\]]
+ expected: FAIL
+
+ [CSS Transitions with transition-behavior:allow-discrete: property <max-width> from [stretch\] to [none\] at (0.6) should be [none\]]
+ expected: FAIL
+
+ [CSS Transitions with transition-behavior:allow-discrete: property <max-width> from [stretch\] to [none\] at (1) should be [none\]]
+ expected: FAIL
+
+ [CSS Transitions with transition-behavior:allow-discrete: property <max-width> from [stretch\] to [none\] at (1.5) should be [none\]]
+ expected: FAIL
+
+ [CSS Transitions with transition-property:all and transition-behavor:allow-discrete: property <max-width> from [stretch\] to [none\] at (-0.3) should be [stretch\]]
+ expected: FAIL
+
+ [CSS Transitions with transition-property:all and transition-behavor:allow-discrete: property <max-width> from [stretch\] to [none\] at (0) should be [stretch\]]
+ expected: FAIL
+
+ [CSS Transitions with transition-property:all and transition-behavor:allow-discrete: property <max-width> from [stretch\] to [none\] at (0.3) should be [stretch\]]
+ expected: FAIL
+
+ [CSS Transitions with transition-property:all and transition-behavor:allow-discrete: property <max-width> from [stretch\] to [none\] at (0.5) should be [none\]]
+ expected: FAIL
+
+ [CSS Transitions with transition-property:all and transition-behavor:allow-discrete: property <max-width> from [stretch\] to [none\] at (0.6) should be [none\]]
+ expected: FAIL
+
+ [CSS Transitions with transition-property:all and transition-behavor:allow-discrete: property <max-width> from [stretch\] to [none\] at (1) should be [none\]]
+ expected: FAIL
+
+ [CSS Transitions with transition-property:all and transition-behavor:allow-discrete: property <max-width> from [stretch\] to [none\] at (1.5) should be [none\]]
+ expected: FAIL
+
+ [CSS Transitions: property <max-width> from [stretch\] to [none\] at (-0.3) should be [none\]]
+ expected: FAIL
+
+ [CSS Transitions: property <max-width> from [stretch\] to [none\] at (0) should be [none\]]
+ expected: FAIL
+
+ [CSS Transitions: property <max-width> from [stretch\] to [none\] at (0.3) should be [none\]]
+ expected: FAIL
+
+ [CSS Transitions: property <max-width> from [stretch\] to [none\] at (0.5) should be [none\]]
+ expected: FAIL
+
+ [CSS Transitions: property <max-width> from [stretch\] to [none\] at (0.6) should be [none\]]
+ expected: FAIL
+
+ [CSS Transitions: property <max-width> from [stretch\] to [none\] at (1) should be [none\]]
+ expected: FAIL
+
+ [CSS Transitions: property <max-width> from [stretch\] to [none\] at (1.5) should be [none\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <max-width> from [stretch\] to [none\] at (-0.3) should be [none\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <max-width> from [stretch\] to [none\] at (0) should be [none\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <max-width> from [stretch\] to [none\] at (0.3) should be [none\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <max-width> from [stretch\] to [none\] at (0.5) should be [none\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <max-width> from [stretch\] to [none\] at (0.6) should be [none\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <max-width> from [stretch\] to [none\] at (1) should be [none\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <max-width> from [stretch\] to [none\] at (1.5) should be [none\]]
+ expected: FAIL
+
+ [CSS Animations: property <max-width> from [stretch\] to [none\] at (-0.3) should be [stretch\]]
+ expected: FAIL
+
+ [CSS Animations: property <max-width> from [stretch\] to [none\] at (0) should be [stretch\]]
+ expected: FAIL
+
+ [CSS Animations: property <max-width> from [stretch\] to [none\] at (0.3) should be [stretch\]]
+ expected: FAIL
+
+ [CSS Animations: property <max-width> from [stretch\] to [none\] at (0.5) should be [none\]]
+ expected: FAIL
+
+ [CSS Animations: property <max-width> from [stretch\] to [none\] at (0.6) should be [none\]]
+ expected: FAIL
+
+ [CSS Animations: property <max-width> from [stretch\] to [none\] at (1) should be [none\]]
+ expected: FAIL
+
+ [CSS Animations: property <max-width> from [stretch\] to [none\] at (1.5) should be [none\]]
+ expected: FAIL
+
+ [Web Animations: property <max-width> from [stretch\] to [none\] at (-0.3) should be [stretch\]]
+ expected: FAIL
+
+ [Web Animations: property <max-width> from [stretch\] to [none\] at (0) should be [stretch\]]
+ expected: FAIL
+
+ [Web Animations: property <max-width> from [stretch\] to [none\] at (0.3) should be [stretch\]]
+ expected: FAIL
+
+ [Web Animations: property <max-width> from [stretch\] to [none\] at (0.5) should be [none\]]
+ expected: FAIL
+
+ [Web Animations: property <max-width> from [stretch\] to [none\] at (0.6) should be [none\]]
+ expected: FAIL
+
+ [Web Animations: property <max-width> from [stretch\] to [none\] at (1) should be [none\]]
+ expected: FAIL
+
+ [Web Animations: property <max-width> from [stretch\] to [none\] at (1.5) should be [none\]]
+ expected: FAIL
+
+ [CSS Transitions: property <max-width> from [fit-content\] to [50px\] at (-0.3) should be [calc-size(fit-content, -15px + size * 1.3)\]]
+ expected: FAIL
+
+ [CSS Transitions: property <max-width> from [fit-content\] to [50px\] at (0) should be [calc-size(fit-content, 0px + size * 1)\]]
+ expected: FAIL
+
+ [CSS Transitions: property <max-width> from [fit-content\] to [50px\] at (0.3) should be [calc-size(fit-content, 15px + size * 0.7)\]]
+ expected: FAIL
+
+ [CSS Transitions: property <max-width> from [fit-content\] to [50px\] at (0.6) should be [calc-size(fit-content, 30px + size * 0.4)\]]
+ expected: FAIL
+
+ [CSS Transitions: property <max-width> from [fit-content\] to [50px\] at (1) should be [calc-size(fit-content, 50px + size * 0)\]]
+ expected: FAIL
+
+ [CSS Transitions: property <max-width> from [fit-content\] to [50px\] at (1.5) should be [calc-size(fit-content, 75px + size * -0.5)\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <max-width> from [fit-content\] to [50px\] at (-0.3) should be [calc-size(fit-content, -15px + size * 1.3)\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <max-width> from [fit-content\] to [50px\] at (0) should be [calc-size(fit-content, 0px + size * 1)\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <max-width> from [fit-content\] to [50px\] at (0.3) should be [calc-size(fit-content, 15px + size * 0.7)\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <max-width> from [fit-content\] to [50px\] at (0.6) should be [calc-size(fit-content, 30px + size * 0.4)\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <max-width> from [fit-content\] to [50px\] at (1) should be [calc-size(fit-content, 50px + size * 0)\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <max-width> from [fit-content\] to [50px\] at (1.5) should be [calc-size(fit-content, 75px + size * -0.5)\]]
+ expected: FAIL
+
+ [CSS Animations: property <max-width> from [fit-content\] to [50px\] at (-0.3) should be [calc-size(fit-content, -15px + size * 1.3)\]]
+ expected: FAIL
+
+ [CSS Animations: property <max-width> from [fit-content\] to [50px\] at (0) should be [calc-size(fit-content, 0px + size * 1)\]]
+ expected: FAIL
+
+ [CSS Animations: property <max-width> from [fit-content\] to [50px\] at (0.3) should be [calc-size(fit-content, 15px + size * 0.7)\]]
+ expected: FAIL
+
+ [CSS Animations: property <max-width> from [fit-content\] to [50px\] at (0.6) should be [calc-size(fit-content, 30px + size * 0.4)\]]
+ expected: FAIL
+
+ [CSS Animations: property <max-width> from [fit-content\] to [50px\] at (1) should be [calc-size(fit-content, 50px + size * 0)\]]
+ expected: FAIL
+
+ [CSS Animations: property <max-width> from [fit-content\] to [50px\] at (1.5) should be [calc-size(fit-content, 75px + size * -0.5)\]]
+ expected: FAIL
+
+ [Web Animations: property <max-width> from [fit-content\] to [50px\] at (-0.3) should be [calc-size(fit-content, -15px + size * 1.3)\]]
+ expected: FAIL
+
+ [Web Animations: property <max-width> from [fit-content\] to [50px\] at (0) should be [calc-size(fit-content, 0px + size * 1)\]]
+ expected: FAIL
+
+ [Web Animations: property <max-width> from [fit-content\] to [50px\] at (0.3) should be [calc-size(fit-content, 15px + size * 0.7)\]]
+ expected: FAIL
+
+ [Web Animations: property <max-width> from [fit-content\] to [50px\] at (0.6) should be [calc-size(fit-content, 30px + size * 0.4)\]]
+ expected: FAIL
+
+ [Web Animations: property <max-width> from [fit-content\] to [50px\] at (1) should be [calc-size(fit-content, 50px + size * 0)\]]
+ expected: FAIL
+
+ [Web Animations: property <max-width> from [fit-content\] to [50px\] at (1.5) should be [calc-size(fit-content, 75px + size * -0.5)\]]
+ expected: FAIL
+
+ [CSS Transitions with transition-behavior:allow-discrete: property <max-width> from [max-content\] to [min-content\] at (-0.3) should be [max-content\]]
+ expected: FAIL
+
+ [CSS Transitions with transition-behavior:allow-discrete: property <max-width> from [max-content\] to [min-content\] at (0) should be [max-content\]]
+ expected: FAIL
+
+ [CSS Transitions with transition-behavior:allow-discrete: property <max-width> from [max-content\] to [min-content\] at (0.3) should be [max-content\]]
+ expected: FAIL
+
+ [CSS Transitions with transition-behavior:allow-discrete: property <max-width> from [max-content\] to [min-content\] at (0.5) should be [min-content\]]
+ expected: FAIL
+
+ [CSS Transitions with transition-behavior:allow-discrete: property <max-width> from [max-content\] to [min-content\] at (0.6) should be [min-content\]]
+ expected: FAIL
+
+ [CSS Transitions with transition-behavior:allow-discrete: property <max-width> from [max-content\] to [min-content\] at (1) should be [min-content\]]
+ expected: FAIL
+
+ [CSS Transitions with transition-behavior:allow-discrete: property <max-width> from [max-content\] to [min-content\] at (1.5) should be [min-content\]]
+ expected: FAIL
+
+ [CSS Transitions with transition-property:all and transition-behavor:allow-discrete: property <max-width> from [max-content\] to [min-content\] at (-0.3) should be [max-content\]]
+ expected: FAIL
+
+ [CSS Transitions with transition-property:all and transition-behavor:allow-discrete: property <max-width> from [max-content\] to [min-content\] at (0) should be [max-content\]]
+ expected: FAIL
+
+ [CSS Transitions with transition-property:all and transition-behavor:allow-discrete: property <max-width> from [max-content\] to [min-content\] at (0.3) should be [max-content\]]
+ expected: FAIL
+
+ [CSS Transitions with transition-property:all and transition-behavor:allow-discrete: property <max-width> from [max-content\] to [min-content\] at (0.5) should be [min-content\]]
+ expected: FAIL
+
+ [CSS Transitions with transition-property:all and transition-behavor:allow-discrete: property <max-width> from [max-content\] to [min-content\] at (0.6) should be [min-content\]]
+ expected: FAIL
+
+ [CSS Transitions with transition-property:all and transition-behavor:allow-discrete: property <max-width> from [max-content\] to [min-content\] at (1) should be [min-content\]]
+ expected: FAIL
+
+ [CSS Transitions with transition-property:all and transition-behavor:allow-discrete: property <max-width> from [max-content\] to [min-content\] at (1.5) should be [min-content\]]
+ expected: FAIL
+
+ [CSS Transitions: property <max-width> from [max-content\] to [min-content\] at (-0.3) should be [min-content\]]
+ expected: FAIL
+
+ [CSS Transitions: property <max-width> from [max-content\] to [min-content\] at (0) should be [min-content\]]
+ expected: FAIL
+
+ [CSS Transitions: property <max-width> from [max-content\] to [min-content\] at (0.3) should be [min-content\]]
+ expected: FAIL
+
+ [CSS Transitions: property <max-width> from [max-content\] to [min-content\] at (0.5) should be [min-content\]]
+ expected: FAIL
+
+ [CSS Transitions: property <max-width> from [max-content\] to [min-content\] at (0.6) should be [min-content\]]
+ expected: FAIL
+
+ [CSS Transitions: property <max-width> from [max-content\] to [min-content\] at (1) should be [min-content\]]
+ expected: FAIL
+
+ [CSS Transitions: property <max-width> from [max-content\] to [min-content\] at (1.5) should be [min-content\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <max-width> from [max-content\] to [min-content\] at (-0.3) should be [min-content\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <max-width> from [max-content\] to [min-content\] at (0) should be [min-content\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <max-width> from [max-content\] to [min-content\] at (0.3) should be [min-content\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <max-width> from [max-content\] to [min-content\] at (0.5) should be [min-content\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <max-width> from [max-content\] to [min-content\] at (0.6) should be [min-content\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <max-width> from [max-content\] to [min-content\] at (1) should be [min-content\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <max-width> from [max-content\] to [min-content\] at (1.5) should be [min-content\]]
+ expected: FAIL
+
+ [CSS Animations: property <max-width> from [max-content\] to [min-content\] at (-0.3) should be [max-content\]]
+ expected: FAIL
+
+ [CSS Animations: property <max-width> from [max-content\] to [min-content\] at (0) should be [max-content\]]
+ expected: FAIL
+
+ [CSS Animations: property <max-width> from [max-content\] to [min-content\] at (0.3) should be [max-content\]]
+ expected: FAIL
+
+ [CSS Animations: property <max-width> from [max-content\] to [min-content\] at (0.5) should be [min-content\]]
+ expected: FAIL
+
+ [CSS Animations: property <max-width> from [max-content\] to [min-content\] at (0.6) should be [min-content\]]
+ expected: FAIL
+
+ [CSS Animations: property <max-width> from [max-content\] to [min-content\] at (1) should be [min-content\]]
+ expected: FAIL
+
+ [CSS Animations: property <max-width> from [max-content\] to [min-content\] at (1.5) should be [min-content\]]
+ expected: FAIL
+
+ [Web Animations: property <max-width> from [max-content\] to [min-content\] at (-0.3) should be [max-content\]]
+ expected: FAIL
+
+ [Web Animations: property <max-width> from [max-content\] to [min-content\] at (0) should be [max-content\]]
+ expected: FAIL
+
+ [Web Animations: property <max-width> from [max-content\] to [min-content\] at (0.3) should be [max-content\]]
+ expected: FAIL
+
+ [Web Animations: property <max-width> from [max-content\] to [min-content\] at (0.5) should be [min-content\]]
+ expected: FAIL
+
+ [Web Animations: property <max-width> from [max-content\] to [min-content\] at (0.6) should be [min-content\]]
+ expected: FAIL
+
+ [Web Animations: property <max-width> from [max-content\] to [min-content\] at (1) should be [min-content\]]
+ expected: FAIL
+
+ [Web Animations: property <max-width> from [max-content\] to [min-content\] at (1.5) should be [min-content\]]
+ expected: FAIL
+
+ [CSS Transitions: property <max-width> from [min-content\] to neutral at (-0.3) should be [calc-size(min-content, -45px + size * 1.3)\]]
+ expected: FAIL
+
+ [CSS Transitions: property <max-width> from [min-content\] to neutral at (0) should be [calc-size(min-content, 0px + size * 1)\]]
+ expected: FAIL
+
+ [CSS Transitions: property <max-width> from [min-content\] to neutral at (0.3) should be [calc-size(min-content, 45px + size * 0.7)\]]
+ expected: FAIL
+
+ [CSS Transitions: property <max-width> from [min-content\] to neutral at (0.6) should be [calc-size(min-content, 90px + size * 0.4)\]]
+ expected: FAIL
+
+ [CSS Transitions: property <max-width> from [min-content\] to neutral at (1) should be [calc-size(min-content, 150px + size * 0)\]]
+ expected: FAIL
+
+ [CSS Transitions: property <max-width> from [min-content\] to neutral at (1.5) should be [calc-size(min-content, 225px + size * -0.5)\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <max-width> from [min-content\] to neutral at (-0.3) should be [calc-size(min-content, -45px + size * 1.3)\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <max-width> from [min-content\] to neutral at (0) should be [calc-size(min-content, 0px + size * 1)\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <max-width> from [min-content\] to neutral at (0.3) should be [calc-size(min-content, 45px + size * 0.7)\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <max-width> from [min-content\] to neutral at (0.6) should be [calc-size(min-content, 90px + size * 0.4)\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <max-width> from [min-content\] to neutral at (1) should be [calc-size(min-content, 150px + size * 0)\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <max-width> from [min-content\] to neutral at (1.5) should be [calc-size(min-content, 225px + size * -0.5)\]]
+ expected: FAIL
+
+ [CSS Animations: property <max-width> from [min-content\] to neutral at (-0.3) should be [calc-size(min-content, -45px + size * 1.3)\]]
+ expected: FAIL
+
+ [CSS Animations: property <max-width> from [min-content\] to neutral at (0) should be [calc-size(min-content, 0px + size * 1)\]]
+ expected: FAIL
+
+ [CSS Animations: property <max-width> from [min-content\] to neutral at (0.3) should be [calc-size(min-content, 45px + size * 0.7)\]]
+ expected: FAIL
+
+ [CSS Animations: property <max-width> from [min-content\] to neutral at (0.6) should be [calc-size(min-content, 90px + size * 0.4)\]]
+ expected: FAIL
+
+ [CSS Animations: property <max-width> from [min-content\] to neutral at (1) should be [calc-size(min-content, 150px + size * 0)\]]
+ expected: FAIL
+
+ [CSS Animations: property <max-width> from [min-content\] to neutral at (1.5) should be [calc-size(min-content, 225px + size * -0.5)\]]
+ expected: FAIL
+
+ [Web Animations: property <max-width> from [min-content\] to neutral at (-0.3) should be [calc-size(min-content, -45px + size * 1.3)\]]
+ expected: FAIL
+
+ [Web Animations: property <max-width> from [min-content\] to neutral at (0) should be [calc-size(min-content, 0px + size * 1)\]]
+ expected: FAIL
+
+ [Web Animations: property <max-width> from [min-content\] to neutral at (0.3) should be [calc-size(min-content, 45px + size * 0.7)\]]
+ expected: FAIL
+
+ [Web Animations: property <max-width> from [min-content\] to neutral at (0.6) should be [calc-size(min-content, 90px + size * 0.4)\]]
+ expected: FAIL
+
+ [Web Animations: property <max-width> from [min-content\] to neutral at (1) should be [calc-size(min-content, 150px + size * 0)\]]
+ expected: FAIL
+
+ [Web Animations: property <max-width> from [min-content\] to neutral at (1.5) should be [calc-size(min-content, 225px + size * -0.5)\]]
+ expected: FAIL
+
+ [CSS Transitions: property <max-width> from neutral to [fit-content\] at (-0.3) should be [calc-size(fit-content, 195px + size * -0.3)\]]
+ expected: FAIL
+
+ [CSS Transitions: property <max-width> from neutral to [fit-content\] at (0) should be [calc-size(fit-content, 150px + size * 0)\]]
+ expected: FAIL
+
+ [CSS Transitions: property <max-width> from neutral to [fit-content\] at (0.3) should be [calc-size(fit-content, 105px + size * 0.3)\]]
+ expected: FAIL
+
+ [CSS Transitions: property <max-width> from neutral to [fit-content\] at (0.6) should be [calc-size(fit-content, 60px + size * 0.6)\]]
+ expected: FAIL
+
+ [CSS Transitions: property <max-width> from neutral to [fit-content\] at (1) should be [calc-size(fit-content, 0px + size * 1)\]]
+ expected: FAIL
+
+ [CSS Transitions: property <max-width> from neutral to [fit-content\] at (1.5) should be [calc-size(fit-content, -75px + size * 1.5)\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <max-width> from neutral to [fit-content\] at (-0.3) should be [calc-size(fit-content, 195px + size * -0.3)\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <max-width> from neutral to [fit-content\] at (0) should be [calc-size(fit-content, 150px + size * 0)\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <max-width> from neutral to [fit-content\] at (0.3) should be [calc-size(fit-content, 105px + size * 0.3)\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <max-width> from neutral to [fit-content\] at (0.6) should be [calc-size(fit-content, 60px + size * 0.6)\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <max-width> from neutral to [fit-content\] at (1) should be [calc-size(fit-content, 0px + size * 1)\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <max-width> from neutral to [fit-content\] at (1.5) should be [calc-size(fit-content, -75px + size * 1.5)\]]
+ expected: FAIL
+
+ [CSS Animations: property <max-width> from neutral to [fit-content\] at (-0.3) should be [calc-size(fit-content, 195px + size * -0.3)\]]
+ expected: FAIL
+
+ [CSS Animations: property <max-width> from neutral to [fit-content\] at (0) should be [calc-size(fit-content, 150px + size * 0)\]]
+ expected: FAIL
+
+ [CSS Animations: property <max-width> from neutral to [fit-content\] at (0.3) should be [calc-size(fit-content, 105px + size * 0.3)\]]
+ expected: FAIL
+
+ [CSS Animations: property <max-width> from neutral to [fit-content\] at (0.6) should be [calc-size(fit-content, 60px + size * 0.6)\]]
+ expected: FAIL
+
+ [CSS Animations: property <max-width> from neutral to [fit-content\] at (1) should be [calc-size(fit-content, 0px + size * 1)\]]
+ expected: FAIL
+
+ [CSS Animations: property <max-width> from neutral to [fit-content\] at (1.5) should be [calc-size(fit-content, -75px + size * 1.5)\]]
+ expected: FAIL
+
+ [Web Animations: property <max-width> from neutral to [fit-content\] at (-0.3) should be [calc-size(fit-content, 195px + size * -0.3)\]]
+ expected: FAIL
+
+ [Web Animations: property <max-width> from neutral to [fit-content\] at (0) should be [calc-size(fit-content, 150px + size * 0)\]]
+ expected: FAIL
+
+ [Web Animations: property <max-width> from neutral to [fit-content\] at (0.3) should be [calc-size(fit-content, 105px + size * 0.3)\]]
+ expected: FAIL
+
+ [Web Animations: property <max-width> from neutral to [fit-content\] at (0.6) should be [calc-size(fit-content, 60px + size * 0.6)\]]
+ expected: FAIL
+
+ [Web Animations: property <max-width> from neutral to [fit-content\] at (1) should be [calc-size(fit-content, 0px + size * 1)\]]
+ expected: FAIL
+
+ [Web Animations: property <max-width> from neutral to [fit-content\] at (1.5) should be [calc-size(fit-content, -75px + size * 1.5)\]]
+ expected: FAIL
diff --git a/tests/wpt/meta/css/css-values/calc-size/animation/interpolate-size-min-height-composition.html.ini b/tests/wpt/meta/css/css-values/calc-size/animation/interpolate-size-min-height-composition.html.ini
new file mode 100644
index 00000000000..67c9993b16a
--- /dev/null
+++ b/tests/wpt/meta/css/css-values/calc-size/animation/interpolate-size-min-height-composition.html.ini
@@ -0,0 +1,30 @@
+[interpolate-size-min-height-composition.html]
+ [Compositing: property <min-height> underlying [fit-content\] from add [100px\] to add [200px\] at (-0.3) should be [calc-size(fit-content, 70px + size * 1)\]]
+ expected: FAIL
+
+ [Compositing: property <min-height> underlying [fit-content\] from add [100px\] to add [200px\] at (0) should be [calc-size(fit-content, 100px + size * 1)\]]
+ expected: FAIL
+
+ [Compositing: property <min-height> underlying [fit-content\] from add [100px\] to add [200px\] at (0.5) should be [calc-size(fit-content, 150px + size * 1)\]]
+ expected: FAIL
+
+ [Compositing: property <min-height> underlying [fit-content\] from add [100px\] to add [200px\] at (1) should be [calc-size(fit-content, 200px + size * 1)\]]
+ expected: FAIL
+
+ [Compositing: property <min-height> underlying [fit-content\] from add [100px\] to add [200px\] at (1.5) should be [calc-size(fit-content, 250px + size * 1)\]]
+ expected: FAIL
+
+ [Compositing: property <min-height> underlying [fit-content\] from add [200px\] to add [min-content\] at (-0.3) should be [calc-size(min-content, 260px + size * -0.3)\]]
+ expected: FAIL
+
+ [Compositing: property <min-height> underlying [fit-content\] from add [200px\] to add [min-content\] at (0) should be [calc-size(min-content, 200px + size * 0)\]]
+ expected: FAIL
+
+ [Compositing: property <min-height> underlying [fit-content\] from add [200px\] to add [min-content\] at (0.5) should be [calc-size(min-content, 100px + size * 0.5)\]]
+ expected: FAIL
+
+ [Compositing: property <min-height> underlying [fit-content\] from add [200px\] to add [min-content\] at (1) should be [calc-size(min-content, 0px + size * 1)\]]
+ expected: FAIL
+
+ [Compositing: property <min-height> underlying [fit-content\] from add [200px\] to add [min-content\] at (1.5) should be [calc-size(min-content, -100px + size * 1.5)\]]
+ expected: FAIL
diff --git a/tests/wpt/meta/css/css-values/calc-size/animation/interpolate-size-min-height-interpolation.html.ini b/tests/wpt/meta/css/css-values/calc-size/animation/interpolate-size-min-height-interpolation.html.ini
new file mode 100644
index 00000000000..cdb6f02c96c
--- /dev/null
+++ b/tests/wpt/meta/css/css-values/calc-size/animation/interpolate-size-min-height-interpolation.html.ini
@@ -0,0 +1,612 @@
+[interpolate-size-min-height-interpolation.html]
+ [CSS Transitions: property <min-height> from [initial\] to [20px\] at (-0.3) should be [calc-size(auto, -6px + size * 1.3)\]]
+ expected: FAIL
+
+ [CSS Transitions: property <min-height> from [initial\] to [20px\] at (0) should be [calc-size(auto, 0px + size * 1)\]]
+ expected: FAIL
+
+ [CSS Transitions: property <min-height> from [initial\] to [20px\] at (0.3) should be [calc-size(auto, 6px + size * 0.7)\]]
+ expected: FAIL
+
+ [CSS Transitions: property <min-height> from [initial\] to [20px\] at (0.6) should be [calc-size(auto, 12px + size * 0.4)\]]
+ expected: FAIL
+
+ [CSS Transitions: property <min-height> from [initial\] to [20px\] at (1) should be [calc-size(auto, 20px + size * 0)\]]
+ expected: FAIL
+
+ [CSS Transitions: property <min-height> from [initial\] to [20px\] at (1.5) should be [calc-size(auto, 30px + size * -0.5)\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <min-height> from [initial\] to [20px\] at (-0.3) should be [calc-size(auto, -6px + size * 1.3)\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <min-height> from [initial\] to [20px\] at (0) should be [calc-size(auto, 0px + size * 1)\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <min-height> from [initial\] to [20px\] at (0.3) should be [calc-size(auto, 6px + size * 0.7)\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <min-height> from [initial\] to [20px\] at (0.6) should be [calc-size(auto, 12px + size * 0.4)\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <min-height> from [initial\] to [20px\] at (1) should be [calc-size(auto, 20px + size * 0)\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <min-height> from [initial\] to [20px\] at (1.5) should be [calc-size(auto, 30px + size * -0.5)\]]
+ expected: FAIL
+
+ [Web Animations: property <min-height> from [initial\] to [20px\] at (-0.3) should be [calc-size(auto, -6px + size * 1.3)\]]
+ expected: FAIL
+
+ [Web Animations: property <min-height> from [initial\] to [20px\] at (0) should be [calc-size(auto, 0px + size * 1)\]]
+ expected: FAIL
+
+ [Web Animations: property <min-height> from [initial\] to [20px\] at (0.3) should be [calc-size(auto, 6px + size * 0.7)\]]
+ expected: FAIL
+
+ [Web Animations: property <min-height> from [initial\] to [20px\] at (0.6) should be [calc-size(auto, 12px + size * 0.4)\]]
+ expected: FAIL
+
+ [Web Animations: property <min-height> from [initial\] to [20px\] at (1) should be [calc-size(auto, 20px + size * 0)\]]
+ expected: FAIL
+
+ [Web Animations: property <min-height> from [initial\] to [20px\] at (1.5) should be [calc-size(auto, 30px + size * -0.5)\]]
+ expected: FAIL
+
+ [CSS Transitions: property <min-height> from [unset\] to [20px\] at (-0.3) should be [calc-size(auto, -6px + size * 1.3)\]]
+ expected: FAIL
+
+ [CSS Transitions: property <min-height> from [unset\] to [20px\] at (0) should be [calc-size(auto, 0px + size * 1)\]]
+ expected: FAIL
+
+ [CSS Transitions: property <min-height> from [unset\] to [20px\] at (0.3) should be [calc-size(auto, 6px + size * 0.7)\]]
+ expected: FAIL
+
+ [CSS Transitions: property <min-height> from [unset\] to [20px\] at (0.6) should be [calc-size(auto, 12px + size * 0.4)\]]
+ expected: FAIL
+
+ [CSS Transitions: property <min-height> from [unset\] to [20px\] at (1) should be [calc-size(auto, 20px + size * 0)\]]
+ expected: FAIL
+
+ [CSS Transitions: property <min-height> from [unset\] to [20px\] at (1.5) should be [calc-size(auto, 30px + size * -0.5)\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <min-height> from [unset\] to [20px\] at (-0.3) should be [calc-size(auto, -6px + size * 1.3)\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <min-height> from [unset\] to [20px\] at (0) should be [calc-size(auto, 0px + size * 1)\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <min-height> from [unset\] to [20px\] at (0.3) should be [calc-size(auto, 6px + size * 0.7)\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <min-height> from [unset\] to [20px\] at (0.6) should be [calc-size(auto, 12px + size * 0.4)\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <min-height> from [unset\] to [20px\] at (1) should be [calc-size(auto, 20px + size * 0)\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <min-height> from [unset\] to [20px\] at (1.5) should be [calc-size(auto, 30px + size * -0.5)\]]
+ expected: FAIL
+
+ [Web Animations: property <min-height> from [unset\] to [20px\] at (-0.3) should be [calc-size(auto, -6px + size * 1.3)\]]
+ expected: FAIL
+
+ [Web Animations: property <min-height> from [unset\] to [20px\] at (0) should be [calc-size(auto, 0px + size * 1)\]]
+ expected: FAIL
+
+ [Web Animations: property <min-height> from [unset\] to [20px\] at (0.3) should be [calc-size(auto, 6px + size * 0.7)\]]
+ expected: FAIL
+
+ [Web Animations: property <min-height> from [unset\] to [20px\] at (0.6) should be [calc-size(auto, 12px + size * 0.4)\]]
+ expected: FAIL
+
+ [Web Animations: property <min-height> from [unset\] to [20px\] at (1) should be [calc-size(auto, 20px + size * 0)\]]
+ expected: FAIL
+
+ [Web Animations: property <min-height> from [unset\] to [20px\] at (1.5) should be [calc-size(auto, 30px + size * -0.5)\]]
+ expected: FAIL
+
+ [CSS Transitions: property <min-height> from [auto\] to [20px\] at (-0.3) should be [calc-size(auto, -6px + size * 1.3)\]]
+ expected: FAIL
+
+ [CSS Transitions: property <min-height> from [auto\] to [20px\] at (0) should be [calc-size(auto, 0px + size * 1)\]]
+ expected: FAIL
+
+ [CSS Transitions: property <min-height> from [auto\] to [20px\] at (0.3) should be [calc-size(auto, 6px + size * 0.7)\]]
+ expected: FAIL
+
+ [CSS Transitions: property <min-height> from [auto\] to [20px\] at (0.6) should be [calc-size(auto, 12px + size * 0.4)\]]
+ expected: FAIL
+
+ [CSS Transitions: property <min-height> from [auto\] to [20px\] at (1) should be [calc-size(auto, 20px + size * 0)\]]
+ expected: FAIL
+
+ [CSS Transitions: property <min-height> from [auto\] to [20px\] at (1.5) should be [calc-size(auto, 30px + size * -0.5)\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <min-height> from [auto\] to [20px\] at (-0.3) should be [calc-size(auto, -6px + size * 1.3)\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <min-height> from [auto\] to [20px\] at (0) should be [calc-size(auto, 0px + size * 1)\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <min-height> from [auto\] to [20px\] at (0.3) should be [calc-size(auto, 6px + size * 0.7)\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <min-height> from [auto\] to [20px\] at (0.6) should be [calc-size(auto, 12px + size * 0.4)\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <min-height> from [auto\] to [20px\] at (1) should be [calc-size(auto, 20px + size * 0)\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <min-height> from [auto\] to [20px\] at (1.5) should be [calc-size(auto, 30px + size * -0.5)\]]
+ expected: FAIL
+
+ [Web Animations: property <min-height> from [auto\] to [20px\] at (-0.3) should be [calc-size(auto, -6px + size * 1.3)\]]
+ expected: FAIL
+
+ [Web Animations: property <min-height> from [auto\] to [20px\] at (0) should be [calc-size(auto, 0px + size * 1)\]]
+ expected: FAIL
+
+ [Web Animations: property <min-height> from [auto\] to [20px\] at (0.3) should be [calc-size(auto, 6px + size * 0.7)\]]
+ expected: FAIL
+
+ [Web Animations: property <min-height> from [auto\] to [20px\] at (0.6) should be [calc-size(auto, 12px + size * 0.4)\]]
+ expected: FAIL
+
+ [Web Animations: property <min-height> from [auto\] to [20px\] at (1) should be [calc-size(auto, 20px + size * 0)\]]
+ expected: FAIL
+
+ [Web Animations: property <min-height> from [auto\] to [20px\] at (1.5) should be [calc-size(auto, 30px + size * -0.5)\]]
+ expected: FAIL
+
+ [CSS Transitions: property <min-height> from [auto\] to [0px\] at (-0.3) should be [calc-size(auto, 0px + size * 1.3)\]]
+ expected: FAIL
+
+ [CSS Transitions: property <min-height> from [auto\] to [0px\] at (0) should be [calc-size(auto, 0px + size * 1)\]]
+ expected: FAIL
+
+ [CSS Transitions: property <min-height> from [auto\] to [0px\] at (0.3) should be [calc-size(auto, 0px + size * 0.7)\]]
+ expected: FAIL
+
+ [CSS Transitions: property <min-height> from [auto\] to [0px\] at (0.6) should be [calc-size(auto, 0px + size * 0.4)\]]
+ expected: FAIL
+
+ [CSS Transitions: property <min-height> from [auto\] to [0px\] at (1) should be [calc-size(auto, 0px + size * 0)\]]
+ expected: FAIL
+
+ [CSS Transitions: property <min-height> from [auto\] to [0px\] at (1.5) should be [calc-size(auto, 0px + size * -0.5)\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <min-height> from [auto\] to [0px\] at (-0.3) should be [calc-size(auto, 0px + size * 1.3)\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <min-height> from [auto\] to [0px\] at (0) should be [calc-size(auto, 0px + size * 1)\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <min-height> from [auto\] to [0px\] at (0.3) should be [calc-size(auto, 0px + size * 0.7)\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <min-height> from [auto\] to [0px\] at (0.6) should be [calc-size(auto, 0px + size * 0.4)\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <min-height> from [auto\] to [0px\] at (1) should be [calc-size(auto, 0px + size * 0)\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <min-height> from [auto\] to [0px\] at (1.5) should be [calc-size(auto, 0px + size * -0.5)\]]
+ expected: FAIL
+
+ [Web Animations: property <min-height> from [auto\] to [0px\] at (-0.3) should be [calc-size(auto, 0px + size * 1.3)\]]
+ expected: FAIL
+
+ [Web Animations: property <min-height> from [auto\] to [0px\] at (0) should be [calc-size(auto, 0px + size * 1)\]]
+ expected: FAIL
+
+ [Web Animations: property <min-height> from [auto\] to [0px\] at (0.3) should be [calc-size(auto, 0px + size * 0.7)\]]
+ expected: FAIL
+
+ [Web Animations: property <min-height> from [auto\] to [0px\] at (0.6) should be [calc-size(auto, 0px + size * 0.4)\]]
+ expected: FAIL
+
+ [Web Animations: property <min-height> from [auto\] to [0px\] at (1) should be [calc-size(auto, 0px + size * 0)\]]
+ expected: FAIL
+
+ [Web Animations: property <min-height> from [auto\] to [0px\] at (1.5) should be [calc-size(auto, 0px + size * -0.5)\]]
+ expected: FAIL
+
+ [CSS Transitions with transition-behavior:allow-discrete: property <min-height> from [fit-content\] to [min-content\] at (-0.3) should be [fit-content\]]
+ expected: FAIL
+
+ [CSS Transitions with transition-behavior:allow-discrete: property <min-height> from [fit-content\] to [min-content\] at (0) should be [fit-content\]]
+ expected: FAIL
+
+ [CSS Transitions with transition-behavior:allow-discrete: property <min-height> from [fit-content\] to [min-content\] at (0.3) should be [fit-content\]]
+ expected: FAIL
+
+ [CSS Transitions with transition-behavior:allow-discrete: property <min-height> from [fit-content\] to [min-content\] at (0.5) should be [min-content\]]
+ expected: FAIL
+
+ [CSS Transitions with transition-behavior:allow-discrete: property <min-height> from [fit-content\] to [min-content\] at (0.6) should be [min-content\]]
+ expected: FAIL
+
+ [CSS Transitions with transition-behavior:allow-discrete: property <min-height> from [fit-content\] to [min-content\] at (1) should be [min-content\]]
+ expected: FAIL
+
+ [CSS Transitions with transition-behavior:allow-discrete: property <min-height> from [fit-content\] to [min-content\] at (1.5) should be [min-content\]]
+ expected: FAIL
+
+ [CSS Transitions with transition-property:all and transition-behavor:allow-discrete: property <min-height> from [fit-content\] to [min-content\] at (-0.3) should be [fit-content\]]
+ expected: FAIL
+
+ [CSS Transitions with transition-property:all and transition-behavor:allow-discrete: property <min-height> from [fit-content\] to [min-content\] at (0) should be [fit-content\]]
+ expected: FAIL
+
+ [CSS Transitions with transition-property:all and transition-behavor:allow-discrete: property <min-height> from [fit-content\] to [min-content\] at (0.3) should be [fit-content\]]
+ expected: FAIL
+
+ [CSS Transitions with transition-property:all and transition-behavor:allow-discrete: property <min-height> from [fit-content\] to [min-content\] at (0.5) should be [min-content\]]
+ expected: FAIL
+
+ [CSS Transitions with transition-property:all and transition-behavor:allow-discrete: property <min-height> from [fit-content\] to [min-content\] at (0.6) should be [min-content\]]
+ expected: FAIL
+
+ [CSS Transitions with transition-property:all and transition-behavor:allow-discrete: property <min-height> from [fit-content\] to [min-content\] at (1) should be [min-content\]]
+ expected: FAIL
+
+ [CSS Transitions with transition-property:all and transition-behavor:allow-discrete: property <min-height> from [fit-content\] to [min-content\] at (1.5) should be [min-content\]]
+ expected: FAIL
+
+ [CSS Transitions: property <min-height> from [fit-content\] to [min-content\] at (-0.3) should be [min-content\]]
+ expected: FAIL
+
+ [CSS Transitions: property <min-height> from [fit-content\] to [min-content\] at (0) should be [min-content\]]
+ expected: FAIL
+
+ [CSS Transitions: property <min-height> from [fit-content\] to [min-content\] at (0.3) should be [min-content\]]
+ expected: FAIL
+
+ [CSS Transitions: property <min-height> from [fit-content\] to [min-content\] at (0.5) should be [min-content\]]
+ expected: FAIL
+
+ [CSS Transitions: property <min-height> from [fit-content\] to [min-content\] at (0.6) should be [min-content\]]
+ expected: FAIL
+
+ [CSS Transitions: property <min-height> from [fit-content\] to [min-content\] at (1) should be [min-content\]]
+ expected: FAIL
+
+ [CSS Transitions: property <min-height> from [fit-content\] to [min-content\] at (1.5) should be [min-content\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <min-height> from [fit-content\] to [min-content\] at (-0.3) should be [min-content\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <min-height> from [fit-content\] to [min-content\] at (0) should be [min-content\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <min-height> from [fit-content\] to [min-content\] at (0.3) should be [min-content\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <min-height> from [fit-content\] to [min-content\] at (0.5) should be [min-content\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <min-height> from [fit-content\] to [min-content\] at (0.6) should be [min-content\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <min-height> from [fit-content\] to [min-content\] at (1) should be [min-content\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <min-height> from [fit-content\] to [min-content\] at (1.5) should be [min-content\]]
+ expected: FAIL
+
+ [CSS Animations: property <min-height> from [fit-content\] to [min-content\] at (-0.3) should be [fit-content\]]
+ expected: FAIL
+
+ [CSS Animations: property <min-height> from [fit-content\] to [min-content\] at (0) should be [fit-content\]]
+ expected: FAIL
+
+ [CSS Animations: property <min-height> from [fit-content\] to [min-content\] at (0.3) should be [fit-content\]]
+ expected: FAIL
+
+ [CSS Animations: property <min-height> from [fit-content\] to [min-content\] at (0.5) should be [min-content\]]
+ expected: FAIL
+
+ [CSS Animations: property <min-height> from [fit-content\] to [min-content\] at (0.6) should be [min-content\]]
+ expected: FAIL
+
+ [CSS Animations: property <min-height> from [fit-content\] to [min-content\] at (1) should be [min-content\]]
+ expected: FAIL
+
+ [CSS Animations: property <min-height> from [fit-content\] to [min-content\] at (1.5) should be [min-content\]]
+ expected: FAIL
+
+ [Web Animations: property <min-height> from [fit-content\] to [min-content\] at (-0.3) should be [fit-content\]]
+ expected: FAIL
+
+ [Web Animations: property <min-height> from [fit-content\] to [min-content\] at (0) should be [fit-content\]]
+ expected: FAIL
+
+ [Web Animations: property <min-height> from [fit-content\] to [min-content\] at (0.3) should be [fit-content\]]
+ expected: FAIL
+
+ [Web Animations: property <min-height> from [fit-content\] to [min-content\] at (0.5) should be [min-content\]]
+ expected: FAIL
+
+ [Web Animations: property <min-height> from [fit-content\] to [min-content\] at (0.6) should be [min-content\]]
+ expected: FAIL
+
+ [Web Animations: property <min-height> from [fit-content\] to [min-content\] at (1) should be [min-content\]]
+ expected: FAIL
+
+ [Web Animations: property <min-height> from [fit-content\] to [min-content\] at (1.5) should be [min-content\]]
+ expected: FAIL
+
+ [CSS Transitions with transition-behavior:allow-discrete: property <min-height> from [max-content\] to [stretch\] at (-0.3) should be [max-content\]]
+ expected: FAIL
+
+ [CSS Transitions with transition-behavior:allow-discrete: property <min-height> from [max-content\] to [stretch\] at (0) should be [max-content\]]
+ expected: FAIL
+
+ [CSS Transitions with transition-behavior:allow-discrete: property <min-height> from [max-content\] to [stretch\] at (0.3) should be [max-content\]]
+ expected: FAIL
+
+ [CSS Transitions with transition-behavior:allow-discrete: property <min-height> from [max-content\] to [stretch\] at (0.5) should be [stretch\]]
+ expected: FAIL
+
+ [CSS Transitions with transition-behavior:allow-discrete: property <min-height> from [max-content\] to [stretch\] at (0.6) should be [stretch\]]
+ expected: FAIL
+
+ [CSS Transitions with transition-behavior:allow-discrete: property <min-height> from [max-content\] to [stretch\] at (1) should be [stretch\]]
+ expected: FAIL
+
+ [CSS Transitions with transition-behavior:allow-discrete: property <min-height> from [max-content\] to [stretch\] at (1.5) should be [stretch\]]
+ expected: FAIL
+
+ [CSS Transitions with transition-property:all and transition-behavor:allow-discrete: property <min-height> from [max-content\] to [stretch\] at (-0.3) should be [max-content\]]
+ expected: FAIL
+
+ [CSS Transitions with transition-property:all and transition-behavor:allow-discrete: property <min-height> from [max-content\] to [stretch\] at (0) should be [max-content\]]
+ expected: FAIL
+
+ [CSS Transitions with transition-property:all and transition-behavor:allow-discrete: property <min-height> from [max-content\] to [stretch\] at (0.3) should be [max-content\]]
+ expected: FAIL
+
+ [CSS Transitions with transition-property:all and transition-behavor:allow-discrete: property <min-height> from [max-content\] to [stretch\] at (0.5) should be [stretch\]]
+ expected: FAIL
+
+ [CSS Transitions with transition-property:all and transition-behavor:allow-discrete: property <min-height> from [max-content\] to [stretch\] at (0.6) should be [stretch\]]
+ expected: FAIL
+
+ [CSS Transitions with transition-property:all and transition-behavor:allow-discrete: property <min-height> from [max-content\] to [stretch\] at (1) should be [stretch\]]
+ expected: FAIL
+
+ [CSS Transitions with transition-property:all and transition-behavor:allow-discrete: property <min-height> from [max-content\] to [stretch\] at (1.5) should be [stretch\]]
+ expected: FAIL
+
+ [CSS Transitions: property <min-height> from [max-content\] to [stretch\] at (-0.3) should be [stretch\]]
+ expected: FAIL
+
+ [CSS Transitions: property <min-height> from [max-content\] to [stretch\] at (0) should be [stretch\]]
+ expected: FAIL
+
+ [CSS Transitions: property <min-height> from [max-content\] to [stretch\] at (0.3) should be [stretch\]]
+ expected: FAIL
+
+ [CSS Transitions: property <min-height> from [max-content\] to [stretch\] at (0.5) should be [stretch\]]
+ expected: FAIL
+
+ [CSS Transitions: property <min-height> from [max-content\] to [stretch\] at (0.6) should be [stretch\]]
+ expected: FAIL
+
+ [CSS Transitions: property <min-height> from [max-content\] to [stretch\] at (1) should be [stretch\]]
+ expected: FAIL
+
+ [CSS Transitions: property <min-height> from [max-content\] to [stretch\] at (1.5) should be [stretch\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <min-height> from [max-content\] to [stretch\] at (-0.3) should be [stretch\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <min-height> from [max-content\] to [stretch\] at (0) should be [stretch\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <min-height> from [max-content\] to [stretch\] at (0.3) should be [stretch\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <min-height> from [max-content\] to [stretch\] at (0.5) should be [stretch\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <min-height> from [max-content\] to [stretch\] at (0.6) should be [stretch\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <min-height> from [max-content\] to [stretch\] at (1) should be [stretch\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <min-height> from [max-content\] to [stretch\] at (1.5) should be [stretch\]]
+ expected: FAIL
+
+ [CSS Animations: property <min-height> from [max-content\] to [stretch\] at (-0.3) should be [max-content\]]
+ expected: FAIL
+
+ [CSS Animations: property <min-height> from [max-content\] to [stretch\] at (0) should be [max-content\]]
+ expected: FAIL
+
+ [CSS Animations: property <min-height> from [max-content\] to [stretch\] at (0.3) should be [max-content\]]
+ expected: FAIL
+
+ [CSS Animations: property <min-height> from [max-content\] to [stretch\] at (0.5) should be [stretch\]]
+ expected: FAIL
+
+ [CSS Animations: property <min-height> from [max-content\] to [stretch\] at (0.6) should be [stretch\]]
+ expected: FAIL
+
+ [CSS Animations: property <min-height> from [max-content\] to [stretch\] at (1) should be [stretch\]]
+ expected: FAIL
+
+ [CSS Animations: property <min-height> from [max-content\] to [stretch\] at (1.5) should be [stretch\]]
+ expected: FAIL
+
+ [Web Animations: property <min-height> from [max-content\] to [stretch\] at (-0.3) should be [max-content\]]
+ expected: FAIL
+
+ [Web Animations: property <min-height> from [max-content\] to [stretch\] at (0) should be [max-content\]]
+ expected: FAIL
+
+ [Web Animations: property <min-height> from [max-content\] to [stretch\] at (0.3) should be [max-content\]]
+ expected: FAIL
+
+ [Web Animations: property <min-height> from [max-content\] to [stretch\] at (0.5) should be [stretch\]]
+ expected: FAIL
+
+ [Web Animations: property <min-height> from [max-content\] to [stretch\] at (0.6) should be [stretch\]]
+ expected: FAIL
+
+ [Web Animations: property <min-height> from [max-content\] to [stretch\] at (1) should be [stretch\]]
+ expected: FAIL
+
+ [Web Animations: property <min-height> from [max-content\] to [stretch\] at (1.5) should be [stretch\]]
+ expected: FAIL
+
+ [CSS Transitions: property <min-height> from [fit-content\] to neutral at (-0.3) should be [calc-size(fit-content, -3px + size * 1.3)\]]
+ expected: FAIL
+
+ [CSS Transitions: property <min-height> from [fit-content\] to neutral at (0) should be [calc-size(fit-content, 0px + size * 1)\]]
+ expected: FAIL
+
+ [CSS Transitions: property <min-height> from [fit-content\] to neutral at (0.3) should be [calc-size(fit-content, 3px + size * 0.7)\]]
+ expected: FAIL
+
+ [CSS Transitions: property <min-height> from [fit-content\] to neutral at (0.6) should be [calc-size(fit-content, 6px + size * 0.4)\]]
+ expected: FAIL
+
+ [CSS Transitions: property <min-height> from [fit-content\] to neutral at (1) should be [calc-size(fit-content, 10px + size * 0)\]]
+ expected: FAIL
+
+ [CSS Transitions: property <min-height> from [fit-content\] to neutral at (1.5) should be [calc-size(fit-content, 15px + size * -0.5)\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <min-height> from [fit-content\] to neutral at (-0.3) should be [calc-size(fit-content, -3px + size * 1.3)\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <min-height> from [fit-content\] to neutral at (0) should be [calc-size(fit-content, 0px + size * 1)\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <min-height> from [fit-content\] to neutral at (0.3) should be [calc-size(fit-content, 3px + size * 0.7)\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <min-height> from [fit-content\] to neutral at (0.6) should be [calc-size(fit-content, 6px + size * 0.4)\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <min-height> from [fit-content\] to neutral at (1) should be [calc-size(fit-content, 10px + size * 0)\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <min-height> from [fit-content\] to neutral at (1.5) should be [calc-size(fit-content, 15px + size * -0.5)\]]
+ expected: FAIL
+
+ [CSS Animations: property <min-height> from [fit-content\] to neutral at (-0.3) should be [calc-size(fit-content, -3px + size * 1.3)\]]
+ expected: FAIL
+
+ [CSS Animations: property <min-height> from [fit-content\] to neutral at (0) should be [calc-size(fit-content, 0px + size * 1)\]]
+ expected: FAIL
+
+ [CSS Animations: property <min-height> from [fit-content\] to neutral at (0.3) should be [calc-size(fit-content, 3px + size * 0.7)\]]
+ expected: FAIL
+
+ [CSS Animations: property <min-height> from [fit-content\] to neutral at (0.6) should be [calc-size(fit-content, 6px + size * 0.4)\]]
+ expected: FAIL
+
+ [CSS Animations: property <min-height> from [fit-content\] to neutral at (1) should be [calc-size(fit-content, 10px + size * 0)\]]
+ expected: FAIL
+
+ [CSS Animations: property <min-height> from [fit-content\] to neutral at (1.5) should be [calc-size(fit-content, 15px + size * -0.5)\]]
+ expected: FAIL
+
+ [Web Animations: property <min-height> from [fit-content\] to neutral at (-0.3) should be [calc-size(fit-content, -3px + size * 1.3)\]]
+ expected: FAIL
+
+ [Web Animations: property <min-height> from [fit-content\] to neutral at (0) should be [calc-size(fit-content, 0px + size * 1)\]]
+ expected: FAIL
+
+ [Web Animations: property <min-height> from [fit-content\] to neutral at (0.3) should be [calc-size(fit-content, 3px + size * 0.7)\]]
+ expected: FAIL
+
+ [Web Animations: property <min-height> from [fit-content\] to neutral at (0.6) should be [calc-size(fit-content, 6px + size * 0.4)\]]
+ expected: FAIL
+
+ [Web Animations: property <min-height> from [fit-content\] to neutral at (1) should be [calc-size(fit-content, 10px + size * 0)\]]
+ expected: FAIL
+
+ [Web Animations: property <min-height> from [fit-content\] to neutral at (1.5) should be [calc-size(fit-content, 15px + size * -0.5)\]]
+ expected: FAIL
+
+ [CSS Transitions: property <min-height> from neutral to [min-content\] at (-0.3) should be [calc-size(min-content, 13px + size * -0.3)\]]
+ expected: FAIL
+
+ [CSS Transitions: property <min-height> from neutral to [min-content\] at (0) should be [calc-size(min-content, 10px + size * 0)\]]
+ expected: FAIL
+
+ [CSS Transitions: property <min-height> from neutral to [min-content\] at (0.3) should be [calc-size(min-content, 7px + size * 0.3)\]]
+ expected: FAIL
+
+ [CSS Transitions: property <min-height> from neutral to [min-content\] at (0.6) should be [calc-size(min-content, 4px + size * 0.6)\]]
+ expected: FAIL
+
+ [CSS Transitions: property <min-height> from neutral to [min-content\] at (1) should be [calc-size(min-content, 0px + size * 1)\]]
+ expected: FAIL
+
+ [CSS Transitions: property <min-height> from neutral to [min-content\] at (1.5) should be [calc-size(min-content, -5px + size * 1.5)\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <min-height> from neutral to [min-content\] at (-0.3) should be [calc-size(min-content, 13px + size * -0.3)\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <min-height> from neutral to [min-content\] at (0) should be [calc-size(min-content, 10px + size * 0)\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <min-height> from neutral to [min-content\] at (0.3) should be [calc-size(min-content, 7px + size * 0.3)\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <min-height> from neutral to [min-content\] at (0.6) should be [calc-size(min-content, 4px + size * 0.6)\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <min-height> from neutral to [min-content\] at (1) should be [calc-size(min-content, 0px + size * 1)\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <min-height> from neutral to [min-content\] at (1.5) should be [calc-size(min-content, -5px + size * 1.5)\]]
+ expected: FAIL
+
+ [CSS Animations: property <min-height> from neutral to [min-content\] at (-0.3) should be [calc-size(min-content, 13px + size * -0.3)\]]
+ expected: FAIL
+
+ [CSS Animations: property <min-height> from neutral to [min-content\] at (0) should be [calc-size(min-content, 10px + size * 0)\]]
+ expected: FAIL
+
+ [CSS Animations: property <min-height> from neutral to [min-content\] at (0.3) should be [calc-size(min-content, 7px + size * 0.3)\]]
+ expected: FAIL
+
+ [CSS Animations: property <min-height> from neutral to [min-content\] at (0.6) should be [calc-size(min-content, 4px + size * 0.6)\]]
+ expected: FAIL
+
+ [CSS Animations: property <min-height> from neutral to [min-content\] at (1) should be [calc-size(min-content, 0px + size * 1)\]]
+ expected: FAIL
+
+ [CSS Animations: property <min-height> from neutral to [min-content\] at (1.5) should be [calc-size(min-content, -5px + size * 1.5)\]]
+ expected: FAIL
+
+ [Web Animations: property <min-height> from neutral to [min-content\] at (-0.3) should be [calc-size(min-content, 13px + size * -0.3)\]]
+ expected: FAIL
+
+ [Web Animations: property <min-height> from neutral to [min-content\] at (0) should be [calc-size(min-content, 10px + size * 0)\]]
+ expected: FAIL
+
+ [Web Animations: property <min-height> from neutral to [min-content\] at (0.3) should be [calc-size(min-content, 7px + size * 0.3)\]]
+ expected: FAIL
+
+ [Web Animations: property <min-height> from neutral to [min-content\] at (0.6) should be [calc-size(min-content, 4px + size * 0.6)\]]
+ expected: FAIL
+
+ [Web Animations: property <min-height> from neutral to [min-content\] at (1) should be [calc-size(min-content, 0px + size * 1)\]]
+ expected: FAIL
+
+ [Web Animations: property <min-height> from neutral to [min-content\] at (1.5) should be [calc-size(min-content, -5px + size * 1.5)\]]
+ expected: FAIL
diff --git a/tests/wpt/meta/css/css-values/calc-size/animation/interpolate-size-min-width-composition.html.ini b/tests/wpt/meta/css/css-values/calc-size/animation/interpolate-size-min-width-composition.html.ini
new file mode 100644
index 00000000000..ab115e64efe
--- /dev/null
+++ b/tests/wpt/meta/css/css-values/calc-size/animation/interpolate-size-min-width-composition.html.ini
@@ -0,0 +1,45 @@
+[interpolate-size-min-width-composition.html]
+ [Compositing: property <min-width> underlying [100px\] from add [max-content\] to add [100px\] at (-0.3) should be [calc-size(max-content, 70px + size * 1.3)\]]
+ expected: FAIL
+
+ [Compositing: property <min-width> underlying [100px\] from add [max-content\] to add [100px\] at (0) should be [calc-size(max-content, 100px + size * 1)\]]
+ expected: FAIL
+
+ [Compositing: property <min-width> underlying [100px\] from add [max-content\] to add [100px\] at (0.5) should be [calc-size(max-content, 150px + size * 0.5)\]]
+ expected: FAIL
+
+ [Compositing: property <min-width> underlying [100px\] from add [max-content\] to add [100px\] at (1) should be [calc-size(max-content, 200px + size * 0)\]]
+ expected: FAIL
+
+ [Compositing: property <min-width> underlying [100px\] from add [max-content\] to add [100px\] at (1.5) should be [calc-size(max-content, 250px + size * -0.5)\]]
+ expected: FAIL
+
+ [Compositing: property <min-width> underlying [min-content\] from add [fit-content\] to add [max-content\] at (-0.3) should be [fit-content\]]
+ expected: FAIL
+
+ [Compositing: property <min-width> underlying [min-content\] from add [fit-content\] to add [max-content\] at (0) should be [fit-content\]]
+ expected: FAIL
+
+ [Compositing: property <min-width> underlying [min-content\] from add [fit-content\] to add [max-content\] at (0.5) should be [max-content\]]
+ expected: FAIL
+
+ [Compositing: property <min-width> underlying [min-content\] from add [fit-content\] to add [max-content\] at (1) should be [max-content\]]
+ expected: FAIL
+
+ [Compositing: property <min-width> underlying [min-content\] from add [fit-content\] to add [max-content\] at (1.5) should be [max-content\]]
+ expected: FAIL
+
+ [Compositing: property <min-width> underlying [max-content\] from add [100px\] to add [min-content\] at (-0.3) should be [calc-size(min-content, 130px + size * -0.3)\]]
+ expected: FAIL
+
+ [Compositing: property <min-width> underlying [max-content\] from add [100px\] to add [min-content\] at (0) should be [calc-size(min-content, 100px + size * 0)\]]
+ expected: FAIL
+
+ [Compositing: property <min-width> underlying [max-content\] from add [100px\] to add [min-content\] at (0.5) should be [calc-size(min-content, 50px + size * 0.5)\]]
+ expected: FAIL
+
+ [Compositing: property <min-width> underlying [max-content\] from add [100px\] to add [min-content\] at (1) should be [calc-size(min-content, 0px + size * 1)\]]
+ expected: FAIL
+
+ [Compositing: property <min-width> underlying [max-content\] from add [100px\] to add [min-content\] at (1.5) should be [calc-size(min-content, -50px + size * 1.5)\]]
+ expected: FAIL
diff --git a/tests/wpt/meta/css/css-values/calc-size/animation/interpolate-size-min-width-interpolation.html.ini b/tests/wpt/meta/css/css-values/calc-size/animation/interpolate-size-min-width-interpolation.html.ini
new file mode 100644
index 00000000000..60e5c1a02c4
--- /dev/null
+++ b/tests/wpt/meta/css/css-values/calc-size/animation/interpolate-size-min-width-interpolation.html.ini
@@ -0,0 +1,630 @@
+[interpolate-size-min-width-interpolation.html]
+ [CSS Transitions: property <min-width> from [initial\] to [20px\] at (-0.3) should be [calc-size(auto, -6px + size * 1.3)\]]
+ expected: FAIL
+
+ [CSS Transitions: property <min-width> from [initial\] to [20px\] at (0) should be [calc-size(auto, 0px + size * 1)\]]
+ expected: FAIL
+
+ [CSS Transitions: property <min-width> from [initial\] to [20px\] at (0.3) should be [calc-size(auto, 6px + size * 0.7)\]]
+ expected: FAIL
+
+ [CSS Transitions: property <min-width> from [initial\] to [20px\] at (0.6) should be [calc-size(auto, 12px + size * 0.4)\]]
+ expected: FAIL
+
+ [CSS Transitions: property <min-width> from [initial\] to [20px\] at (1) should be [calc-size(auto, 20px + size * 0)\]]
+ expected: FAIL
+
+ [CSS Transitions: property <min-width> from [initial\] to [20px\] at (1.5) should be [calc-size(auto, 30px + size * -0.5)\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <min-width> from [initial\] to [20px\] at (-0.3) should be [calc-size(auto, -6px + size * 1.3)\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <min-width> from [initial\] to [20px\] at (0) should be [calc-size(auto, 0px + size * 1)\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <min-width> from [initial\] to [20px\] at (0.3) should be [calc-size(auto, 6px + size * 0.7)\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <min-width> from [initial\] to [20px\] at (0.6) should be [calc-size(auto, 12px + size * 0.4)\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <min-width> from [initial\] to [20px\] at (1) should be [calc-size(auto, 20px + size * 0)\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <min-width> from [initial\] to [20px\] at (1.5) should be [calc-size(auto, 30px + size * -0.5)\]]
+ expected: FAIL
+
+ [Web Animations: property <min-width> from [initial\] to [20px\] at (-0.3) should be [calc-size(auto, -6px + size * 1.3)\]]
+ expected: FAIL
+
+ [Web Animations: property <min-width> from [initial\] to [20px\] at (0) should be [calc-size(auto, 0px + size * 1)\]]
+ expected: FAIL
+
+ [Web Animations: property <min-width> from [initial\] to [20px\] at (0.3) should be [calc-size(auto, 6px + size * 0.7)\]]
+ expected: FAIL
+
+ [Web Animations: property <min-width> from [initial\] to [20px\] at (0.6) should be [calc-size(auto, 12px + size * 0.4)\]]
+ expected: FAIL
+
+ [Web Animations: property <min-width> from [initial\] to [20px\] at (1) should be [calc-size(auto, 20px + size * 0)\]]
+ expected: FAIL
+
+ [Web Animations: property <min-width> from [initial\] to [20px\] at (1.5) should be [calc-size(auto, 30px + size * -0.5)\]]
+ expected: FAIL
+
+ [CSS Transitions: property <min-width> from [unset\] to [20px\] at (-0.3) should be [calc-size(auto, -6px + size * 1.3)\]]
+ expected: FAIL
+
+ [CSS Transitions: property <min-width> from [unset\] to [20px\] at (0) should be [calc-size(auto, 0px + size * 1)\]]
+ expected: FAIL
+
+ [CSS Transitions: property <min-width> from [unset\] to [20px\] at (0.3) should be [calc-size(auto, 6px + size * 0.7)\]]
+ expected: FAIL
+
+ [CSS Transitions: property <min-width> from [unset\] to [20px\] at (0.6) should be [calc-size(auto, 12px + size * 0.4)\]]
+ expected: FAIL
+
+ [CSS Transitions: property <min-width> from [unset\] to [20px\] at (1) should be [calc-size(auto, 20px + size * 0)\]]
+ expected: FAIL
+
+ [CSS Transitions: property <min-width> from [unset\] to [20px\] at (1.5) should be [calc-size(auto, 30px + size * -0.5)\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <min-width> from [unset\] to [20px\] at (-0.3) should be [calc-size(auto, -6px + size * 1.3)\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <min-width> from [unset\] to [20px\] at (0) should be [calc-size(auto, 0px + size * 1)\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <min-width> from [unset\] to [20px\] at (0.3) should be [calc-size(auto, 6px + size * 0.7)\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <min-width> from [unset\] to [20px\] at (0.6) should be [calc-size(auto, 12px + size * 0.4)\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <min-width> from [unset\] to [20px\] at (1) should be [calc-size(auto, 20px + size * 0)\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <min-width> from [unset\] to [20px\] at (1.5) should be [calc-size(auto, 30px + size * -0.5)\]]
+ expected: FAIL
+
+ [Web Animations: property <min-width> from [unset\] to [20px\] at (-0.3) should be [calc-size(auto, -6px + size * 1.3)\]]
+ expected: FAIL
+
+ [Web Animations: property <min-width> from [unset\] to [20px\] at (0) should be [calc-size(auto, 0px + size * 1)\]]
+ expected: FAIL
+
+ [Web Animations: property <min-width> from [unset\] to [20px\] at (0.3) should be [calc-size(auto, 6px + size * 0.7)\]]
+ expected: FAIL
+
+ [Web Animations: property <min-width> from [unset\] to [20px\] at (0.6) should be [calc-size(auto, 12px + size * 0.4)\]]
+ expected: FAIL
+
+ [Web Animations: property <min-width> from [unset\] to [20px\] at (1) should be [calc-size(auto, 20px + size * 0)\]]
+ expected: FAIL
+
+ [Web Animations: property <min-width> from [unset\] to [20px\] at (1.5) should be [calc-size(auto, 30px + size * -0.5)\]]
+ expected: FAIL
+
+ [CSS Transitions: property <min-width> from [auto\] to [20px\] at (-0.3) should be [calc-size(auto, -6px + size * 1.3)\]]
+ expected: FAIL
+
+ [CSS Transitions: property <min-width> from [auto\] to [20px\] at (0) should be [calc-size(auto, 0px + size * 1)\]]
+ expected: FAIL
+
+ [CSS Transitions: property <min-width> from [auto\] to [20px\] at (0.3) should be [calc-size(auto, 6px + size * 0.7)\]]
+ expected: FAIL
+
+ [CSS Transitions: property <min-width> from [auto\] to [20px\] at (0.6) should be [calc-size(auto, 12px + size * 0.4)\]]
+ expected: FAIL
+
+ [CSS Transitions: property <min-width> from [auto\] to [20px\] at (1) should be [calc-size(auto, 20px + size * 0)\]]
+ expected: FAIL
+
+ [CSS Transitions: property <min-width> from [auto\] to [20px\] at (1.5) should be [calc-size(auto, 30px + size * -0.5)\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <min-width> from [auto\] to [20px\] at (-0.3) should be [calc-size(auto, -6px + size * 1.3)\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <min-width> from [auto\] to [20px\] at (0) should be [calc-size(auto, 0px + size * 1)\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <min-width> from [auto\] to [20px\] at (0.3) should be [calc-size(auto, 6px + size * 0.7)\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <min-width> from [auto\] to [20px\] at (0.6) should be [calc-size(auto, 12px + size * 0.4)\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <min-width> from [auto\] to [20px\] at (1) should be [calc-size(auto, 20px + size * 0)\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <min-width> from [auto\] to [20px\] at (1.5) should be [calc-size(auto, 30px + size * -0.5)\]]
+ expected: FAIL
+
+ [Web Animations: property <min-width> from [auto\] to [20px\] at (-0.3) should be [calc-size(auto, -6px + size * 1.3)\]]
+ expected: FAIL
+
+ [Web Animations: property <min-width> from [auto\] to [20px\] at (0) should be [calc-size(auto, 0px + size * 1)\]]
+ expected: FAIL
+
+ [Web Animations: property <min-width> from [auto\] to [20px\] at (0.3) should be [calc-size(auto, 6px + size * 0.7)\]]
+ expected: FAIL
+
+ [Web Animations: property <min-width> from [auto\] to [20px\] at (0.6) should be [calc-size(auto, 12px + size * 0.4)\]]
+ expected: FAIL
+
+ [Web Animations: property <min-width> from [auto\] to [20px\] at (1) should be [calc-size(auto, 20px + size * 0)\]]
+ expected: FAIL
+
+ [Web Animations: property <min-width> from [auto\] to [20px\] at (1.5) should be [calc-size(auto, 30px + size * -0.5)\]]
+ expected: FAIL
+
+ [CSS Transitions: property <min-width> from [0px\] to [stretch\] at (-0.3) should be [calc-size(stretch, 0px + size * -0.3)\]]
+ expected: FAIL
+
+ [CSS Transitions: property <min-width> from [0px\] to [stretch\] at (0) should be [calc-size(stretch, 0px + size * 0)\]]
+ expected: FAIL
+
+ [CSS Transitions: property <min-width> from [0px\] to [stretch\] at (0.3) should be [calc-size(stretch, 0px + size * 0.3)\]]
+ expected: FAIL
+
+ [CSS Transitions: property <min-width> from [0px\] to [stretch\] at (0.6) should be [calc-size(stretch, 0px + size * 0.6)\]]
+ expected: FAIL
+
+ [CSS Transitions: property <min-width> from [0px\] to [stretch\] at (1) should be [calc-size(stretch, 0px + size * 1)\]]
+ expected: FAIL
+
+ [CSS Transitions: property <min-width> from [0px\] to [stretch\] at (1.5) should be [calc-size(stretch, 0px + size * 1.5)\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <min-width> from [0px\] to [stretch\] at (-0.3) should be [calc-size(stretch, 0px + size * -0.3)\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <min-width> from [0px\] to [stretch\] at (0) should be [calc-size(stretch, 0px + size * 0)\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <min-width> from [0px\] to [stretch\] at (0.3) should be [calc-size(stretch, 0px + size * 0.3)\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <min-width> from [0px\] to [stretch\] at (0.6) should be [calc-size(stretch, 0px + size * 0.6)\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <min-width> from [0px\] to [stretch\] at (1) should be [calc-size(stretch, 0px + size * 1)\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <min-width> from [0px\] to [stretch\] at (1.5) should be [calc-size(stretch, 0px + size * 1.5)\]]
+ expected: FAIL
+
+ [CSS Animations: property <min-width> from [0px\] to [stretch\] at (-0.3) should be [calc-size(stretch, 0px + size * -0.3)\]]
+ expected: FAIL
+
+ [CSS Animations: property <min-width> from [0px\] to [stretch\] at (0) should be [calc-size(stretch, 0px + size * 0)\]]
+ expected: FAIL
+
+ [CSS Animations: property <min-width> from [0px\] to [stretch\] at (0.3) should be [calc-size(stretch, 0px + size * 0.3)\]]
+ expected: FAIL
+
+ [CSS Animations: property <min-width> from [0px\] to [stretch\] at (0.6) should be [calc-size(stretch, 0px + size * 0.6)\]]
+ expected: FAIL
+
+ [CSS Animations: property <min-width> from [0px\] to [stretch\] at (1) should be [calc-size(stretch, 0px + size * 1)\]]
+ expected: FAIL
+
+ [CSS Animations: property <min-width> from [0px\] to [stretch\] at (1.5) should be [calc-size(stretch, 0px + size * 1.5)\]]
+ expected: FAIL
+
+ [Web Animations: property <min-width> from [0px\] to [stretch\] at (-0.3) should be [calc-size(stretch, 0px + size * -0.3)\]]
+ expected: FAIL
+
+ [Web Animations: property <min-width> from [0px\] to [stretch\] at (0) should be [calc-size(stretch, 0px + size * 0)\]]
+ expected: FAIL
+
+ [Web Animations: property <min-width> from [0px\] to [stretch\] at (0.3) should be [calc-size(stretch, 0px + size * 0.3)\]]
+ expected: FAIL
+
+ [Web Animations: property <min-width> from [0px\] to [stretch\] at (0.6) should be [calc-size(stretch, 0px + size * 0.6)\]]
+ expected: FAIL
+
+ [Web Animations: property <min-width> from [0px\] to [stretch\] at (1) should be [calc-size(stretch, 0px + size * 1)\]]
+ expected: FAIL
+
+ [Web Animations: property <min-width> from [0px\] to [stretch\] at (1.5) should be [calc-size(stretch, 0px + size * 1.5)\]]
+ expected: FAIL
+
+ [CSS Transitions with transition-behavior:allow-discrete: property <min-width> from [min-content\] to [fit-content\] at (-0.3) should be [min-content\]]
+ expected: FAIL
+
+ [CSS Transitions with transition-behavior:allow-discrete: property <min-width> from [min-content\] to [fit-content\] at (0) should be [min-content\]]
+ expected: FAIL
+
+ [CSS Transitions with transition-behavior:allow-discrete: property <min-width> from [min-content\] to [fit-content\] at (0.3) should be [min-content\]]
+ expected: FAIL
+
+ [CSS Transitions with transition-behavior:allow-discrete: property <min-width> from [min-content\] to [fit-content\] at (0.5) should be [fit-content\]]
+ expected: FAIL
+
+ [CSS Transitions with transition-behavior:allow-discrete: property <min-width> from [min-content\] to [fit-content\] at (0.6) should be [fit-content\]]
+ expected: FAIL
+
+ [CSS Transitions with transition-behavior:allow-discrete: property <min-width> from [min-content\] to [fit-content\] at (1) should be [fit-content\]]
+ expected: FAIL
+
+ [CSS Transitions with transition-behavior:allow-discrete: property <min-width> from [min-content\] to [fit-content\] at (1.5) should be [fit-content\]]
+ expected: FAIL
+
+ [CSS Transitions with transition-property:all and transition-behavor:allow-discrete: property <min-width> from [min-content\] to [fit-content\] at (-0.3) should be [min-content\]]
+ expected: FAIL
+
+ [CSS Transitions with transition-property:all and transition-behavor:allow-discrete: property <min-width> from [min-content\] to [fit-content\] at (0) should be [min-content\]]
+ expected: FAIL
+
+ [CSS Transitions with transition-property:all and transition-behavor:allow-discrete: property <min-width> from [min-content\] to [fit-content\] at (0.3) should be [min-content\]]
+ expected: FAIL
+
+ [CSS Transitions with transition-property:all and transition-behavor:allow-discrete: property <min-width> from [min-content\] to [fit-content\] at (0.5) should be [fit-content\]]
+ expected: FAIL
+
+ [CSS Transitions with transition-property:all and transition-behavor:allow-discrete: property <min-width> from [min-content\] to [fit-content\] at (0.6) should be [fit-content\]]
+ expected: FAIL
+
+ [CSS Transitions with transition-property:all and transition-behavor:allow-discrete: property <min-width> from [min-content\] to [fit-content\] at (1) should be [fit-content\]]
+ expected: FAIL
+
+ [CSS Transitions with transition-property:all and transition-behavor:allow-discrete: property <min-width> from [min-content\] to [fit-content\] at (1.5) should be [fit-content\]]
+ expected: FAIL
+
+ [CSS Transitions: property <min-width> from [min-content\] to [fit-content\] at (-0.3) should be [fit-content\]]
+ expected: FAIL
+
+ [CSS Transitions: property <min-width> from [min-content\] to [fit-content\] at (0) should be [fit-content\]]
+ expected: FAIL
+
+ [CSS Transitions: property <min-width> from [min-content\] to [fit-content\] at (0.3) should be [fit-content\]]
+ expected: FAIL
+
+ [CSS Transitions: property <min-width> from [min-content\] to [fit-content\] at (0.5) should be [fit-content\]]
+ expected: FAIL
+
+ [CSS Transitions: property <min-width> from [min-content\] to [fit-content\] at (0.6) should be [fit-content\]]
+ expected: FAIL
+
+ [CSS Transitions: property <min-width> from [min-content\] to [fit-content\] at (1) should be [fit-content\]]
+ expected: FAIL
+
+ [CSS Transitions: property <min-width> from [min-content\] to [fit-content\] at (1.5) should be [fit-content\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <min-width> from [min-content\] to [fit-content\] at (-0.3) should be [fit-content\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <min-width> from [min-content\] to [fit-content\] at (0) should be [fit-content\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <min-width> from [min-content\] to [fit-content\] at (0.3) should be [fit-content\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <min-width> from [min-content\] to [fit-content\] at (0.5) should be [fit-content\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <min-width> from [min-content\] to [fit-content\] at (0.6) should be [fit-content\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <min-width> from [min-content\] to [fit-content\] at (1) should be [fit-content\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <min-width> from [min-content\] to [fit-content\] at (1.5) should be [fit-content\]]
+ expected: FAIL
+
+ [CSS Animations: property <min-width> from [min-content\] to [fit-content\] at (-0.3) should be [min-content\]]
+ expected: FAIL
+
+ [CSS Animations: property <min-width> from [min-content\] to [fit-content\] at (0) should be [min-content\]]
+ expected: FAIL
+
+ [CSS Animations: property <min-width> from [min-content\] to [fit-content\] at (0.3) should be [min-content\]]
+ expected: FAIL
+
+ [CSS Animations: property <min-width> from [min-content\] to [fit-content\] at (0.5) should be [fit-content\]]
+ expected: FAIL
+
+ [CSS Animations: property <min-width> from [min-content\] to [fit-content\] at (0.6) should be [fit-content\]]
+ expected: FAIL
+
+ [CSS Animations: property <min-width> from [min-content\] to [fit-content\] at (1) should be [fit-content\]]
+ expected: FAIL
+
+ [CSS Animations: property <min-width> from [min-content\] to [fit-content\] at (1.5) should be [fit-content\]]
+ expected: FAIL
+
+ [Web Animations: property <min-width> from [min-content\] to [fit-content\] at (-0.3) should be [min-content\]]
+ expected: FAIL
+
+ [Web Animations: property <min-width> from [min-content\] to [fit-content\] at (0) should be [min-content\]]
+ expected: FAIL
+
+ [Web Animations: property <min-width> from [min-content\] to [fit-content\] at (0.3) should be [min-content\]]
+ expected: FAIL
+
+ [Web Animations: property <min-width> from [min-content\] to [fit-content\] at (0.5) should be [fit-content\]]
+ expected: FAIL
+
+ [Web Animations: property <min-width> from [min-content\] to [fit-content\] at (0.6) should be [fit-content\]]
+ expected: FAIL
+
+ [Web Animations: property <min-width> from [min-content\] to [fit-content\] at (1) should be [fit-content\]]
+ expected: FAIL
+
+ [Web Animations: property <min-width> from [min-content\] to [fit-content\] at (1.5) should be [fit-content\]]
+ expected: FAIL
+
+ [CSS Transitions with transition-behavior:allow-discrete: property <min-width> from [auto\] to [max-content\] at (-0.3) should be [auto\]]
+ expected: FAIL
+
+ [CSS Transitions with transition-behavior:allow-discrete: property <min-width> from [auto\] to [max-content\] at (0) should be [auto\]]
+ expected: FAIL
+
+ [CSS Transitions with transition-behavior:allow-discrete: property <min-width> from [auto\] to [max-content\] at (0.3) should be [auto\]]
+ expected: FAIL
+
+ [CSS Transitions with transition-behavior:allow-discrete: property <min-width> from [auto\] to [max-content\] at (0.5) should be [max-content\]]
+ expected: FAIL
+
+ [CSS Transitions with transition-behavior:allow-discrete: property <min-width> from [auto\] to [max-content\] at (0.6) should be [max-content\]]
+ expected: FAIL
+
+ [CSS Transitions with transition-behavior:allow-discrete: property <min-width> from [auto\] to [max-content\] at (1) should be [max-content\]]
+ expected: FAIL
+
+ [CSS Transitions with transition-behavior:allow-discrete: property <min-width> from [auto\] to [max-content\] at (1.5) should be [max-content\]]
+ expected: FAIL
+
+ [CSS Transitions with transition-property:all and transition-behavor:allow-discrete: property <min-width> from [auto\] to [max-content\] at (-0.3) should be [auto\]]
+ expected: FAIL
+
+ [CSS Transitions with transition-property:all and transition-behavor:allow-discrete: property <min-width> from [auto\] to [max-content\] at (0) should be [auto\]]
+ expected: FAIL
+
+ [CSS Transitions with transition-property:all and transition-behavor:allow-discrete: property <min-width> from [auto\] to [max-content\] at (0.3) should be [auto\]]
+ expected: FAIL
+
+ [CSS Transitions with transition-property:all and transition-behavor:allow-discrete: property <min-width> from [auto\] to [max-content\] at (0.5) should be [max-content\]]
+ expected: FAIL
+
+ [CSS Transitions with transition-property:all and transition-behavor:allow-discrete: property <min-width> from [auto\] to [max-content\] at (0.6) should be [max-content\]]
+ expected: FAIL
+
+ [CSS Transitions with transition-property:all and transition-behavor:allow-discrete: property <min-width> from [auto\] to [max-content\] at (1) should be [max-content\]]
+ expected: FAIL
+
+ [CSS Transitions with transition-property:all and transition-behavor:allow-discrete: property <min-width> from [auto\] to [max-content\] at (1.5) should be [max-content\]]
+ expected: FAIL
+
+ [CSS Transitions: property <min-width> from [auto\] to [max-content\] at (-0.3) should be [max-content\]]
+ expected: FAIL
+
+ [CSS Transitions: property <min-width> from [auto\] to [max-content\] at (0) should be [max-content\]]
+ expected: FAIL
+
+ [CSS Transitions: property <min-width> from [auto\] to [max-content\] at (0.3) should be [max-content\]]
+ expected: FAIL
+
+ [CSS Transitions: property <min-width> from [auto\] to [max-content\] at (0.5) should be [max-content\]]
+ expected: FAIL
+
+ [CSS Transitions: property <min-width> from [auto\] to [max-content\] at (0.6) should be [max-content\]]
+ expected: FAIL
+
+ [CSS Transitions: property <min-width> from [auto\] to [max-content\] at (1) should be [max-content\]]
+ expected: FAIL
+
+ [CSS Transitions: property <min-width> from [auto\] to [max-content\] at (1.5) should be [max-content\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <min-width> from [auto\] to [max-content\] at (-0.3) should be [max-content\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <min-width> from [auto\] to [max-content\] at (0) should be [max-content\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <min-width> from [auto\] to [max-content\] at (0.3) should be [max-content\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <min-width> from [auto\] to [max-content\] at (0.5) should be [max-content\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <min-width> from [auto\] to [max-content\] at (0.6) should be [max-content\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <min-width> from [auto\] to [max-content\] at (1) should be [max-content\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <min-width> from [auto\] to [max-content\] at (1.5) should be [max-content\]]
+ expected: FAIL
+
+ [CSS Animations: property <min-width> from [auto\] to [max-content\] at (-0.3) should be [auto\]]
+ expected: FAIL
+
+ [CSS Animations: property <min-width> from [auto\] to [max-content\] at (0) should be [auto\]]
+ expected: FAIL
+
+ [CSS Animations: property <min-width> from [auto\] to [max-content\] at (0.3) should be [auto\]]
+ expected: FAIL
+
+ [CSS Animations: property <min-width> from [auto\] to [max-content\] at (0.5) should be [max-content\]]
+ expected: FAIL
+
+ [CSS Animations: property <min-width> from [auto\] to [max-content\] at (0.6) should be [max-content\]]
+ expected: FAIL
+
+ [CSS Animations: property <min-width> from [auto\] to [max-content\] at (1) should be [max-content\]]
+ expected: FAIL
+
+ [CSS Animations: property <min-width> from [auto\] to [max-content\] at (1.5) should be [max-content\]]
+ expected: FAIL
+
+ [Web Animations: property <min-width> from [auto\] to [max-content\] at (-0.3) should be [auto\]]
+ expected: FAIL
+
+ [Web Animations: property <min-width> from [auto\] to [max-content\] at (0) should be [auto\]]
+ expected: FAIL
+
+ [Web Animations: property <min-width> from [auto\] to [max-content\] at (0.3) should be [auto\]]
+ expected: FAIL
+
+ [Web Animations: property <min-width> from [auto\] to [max-content\] at (0.5) should be [max-content\]]
+ expected: FAIL
+
+ [Web Animations: property <min-width> from [auto\] to [max-content\] at (0.6) should be [max-content\]]
+ expected: FAIL
+
+ [Web Animations: property <min-width> from [auto\] to [max-content\] at (1) should be [max-content\]]
+ expected: FAIL
+
+ [Web Animations: property <min-width> from [auto\] to [max-content\] at (1.5) should be [max-content\]]
+ expected: FAIL
+
+ [CSS Transitions: property <min-width> from [fit-content\] to neutral at (-0.3) should be [calc-size(fit-content, -3px + size * 1.3)\]]
+ expected: FAIL
+
+ [CSS Transitions: property <min-width> from [fit-content\] to neutral at (0) should be [calc-size(fit-content, 0px + size * 1)\]]
+ expected: FAIL
+
+ [CSS Transitions: property <min-width> from [fit-content\] to neutral at (0.3) should be [calc-size(fit-content, 3px + size * 0.7)\]]
+ expected: FAIL
+
+ [CSS Transitions: property <min-width> from [fit-content\] to neutral at (0.6) should be [calc-size(fit-content, 6px + size * 0.4)\]]
+ expected: FAIL
+
+ [CSS Transitions: property <min-width> from [fit-content\] to neutral at (1) should be [calc-size(fit-content, 10px + size * 0)\]]
+ expected: FAIL
+
+ [CSS Transitions: property <min-width> from [fit-content\] to neutral at (1.5) should be [calc-size(fit-content, 15px + size * -0.5)\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <min-width> from [fit-content\] to neutral at (-0.3) should be [calc-size(fit-content, -3px + size * 1.3)\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <min-width> from [fit-content\] to neutral at (0) should be [calc-size(fit-content, 0px + size * 1)\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <min-width> from [fit-content\] to neutral at (0.3) should be [calc-size(fit-content, 3px + size * 0.7)\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <min-width> from [fit-content\] to neutral at (0.6) should be [calc-size(fit-content, 6px + size * 0.4)\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <min-width> from [fit-content\] to neutral at (1) should be [calc-size(fit-content, 10px + size * 0)\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <min-width> from [fit-content\] to neutral at (1.5) should be [calc-size(fit-content, 15px + size * -0.5)\]]
+ expected: FAIL
+
+ [CSS Animations: property <min-width> from [fit-content\] to neutral at (-0.3) should be [calc-size(fit-content, -3px + size * 1.3)\]]
+ expected: FAIL
+
+ [CSS Animations: property <min-width> from [fit-content\] to neutral at (0) should be [calc-size(fit-content, 0px + size * 1)\]]
+ expected: FAIL
+
+ [CSS Animations: property <min-width> from [fit-content\] to neutral at (0.3) should be [calc-size(fit-content, 3px + size * 0.7)\]]
+ expected: FAIL
+
+ [CSS Animations: property <min-width> from [fit-content\] to neutral at (0.6) should be [calc-size(fit-content, 6px + size * 0.4)\]]
+ expected: FAIL
+
+ [CSS Animations: property <min-width> from [fit-content\] to neutral at (1) should be [calc-size(fit-content, 10px + size * 0)\]]
+ expected: FAIL
+
+ [CSS Animations: property <min-width> from [fit-content\] to neutral at (1.5) should be [calc-size(fit-content, 15px + size * -0.5)\]]
+ expected: FAIL
+
+ [Web Animations: property <min-width> from [fit-content\] to neutral at (-0.3) should be [calc-size(fit-content, -3px + size * 1.3)\]]
+ expected: FAIL
+
+ [Web Animations: property <min-width> from [fit-content\] to neutral at (0) should be [calc-size(fit-content, 0px + size * 1)\]]
+ expected: FAIL
+
+ [Web Animations: property <min-width> from [fit-content\] to neutral at (0.3) should be [calc-size(fit-content, 3px + size * 0.7)\]]
+ expected: FAIL
+
+ [Web Animations: property <min-width> from [fit-content\] to neutral at (0.6) should be [calc-size(fit-content, 6px + size * 0.4)\]]
+ expected: FAIL
+
+ [Web Animations: property <min-width> from [fit-content\] to neutral at (1) should be [calc-size(fit-content, 10px + size * 0)\]]
+ expected: FAIL
+
+ [Web Animations: property <min-width> from [fit-content\] to neutral at (1.5) should be [calc-size(fit-content, 15px + size * -0.5)\]]
+ expected: FAIL
+
+ [CSS Transitions: property <min-width> from neutral to [max-content\] at (-0.3) should be [calc-size(max-content, 13px + size * -0.3)\]]
+ expected: FAIL
+
+ [CSS Transitions: property <min-width> from neutral to [max-content\] at (0) should be [calc-size(max-content, 10px + size * 0)\]]
+ expected: FAIL
+
+ [CSS Transitions: property <min-width> from neutral to [max-content\] at (0.3) should be [calc-size(max-content, 7px + size * 0.3)\]]
+ expected: FAIL
+
+ [CSS Transitions: property <min-width> from neutral to [max-content\] at (0.6) should be [calc-size(max-content, 4px + size * 0.6)\]]
+ expected: FAIL
+
+ [CSS Transitions: property <min-width> from neutral to [max-content\] at (1) should be [calc-size(max-content, 0px + size * 1)\]]
+ expected: FAIL
+
+ [CSS Transitions: property <min-width> from neutral to [max-content\] at (1.5) should be [calc-size(max-content, -5px + size * 1.5)\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <min-width> from neutral to [max-content\] at (-0.3) should be [calc-size(max-content, 13px + size * -0.3)\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <min-width> from neutral to [max-content\] at (0) should be [calc-size(max-content, 10px + size * 0)\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <min-width> from neutral to [max-content\] at (0.3) should be [calc-size(max-content, 7px + size * 0.3)\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <min-width> from neutral to [max-content\] at (0.6) should be [calc-size(max-content, 4px + size * 0.6)\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <min-width> from neutral to [max-content\] at (1) should be [calc-size(max-content, 0px + size * 1)\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <min-width> from neutral to [max-content\] at (1.5) should be [calc-size(max-content, -5px + size * 1.5)\]]
+ expected: FAIL
+
+ [CSS Animations: property <min-width> from neutral to [max-content\] at (-0.3) should be [calc-size(max-content, 13px + size * -0.3)\]]
+ expected: FAIL
+
+ [CSS Animations: property <min-width> from neutral to [max-content\] at (0) should be [calc-size(max-content, 10px + size * 0)\]]
+ expected: FAIL
+
+ [CSS Animations: property <min-width> from neutral to [max-content\] at (0.3) should be [calc-size(max-content, 7px + size * 0.3)\]]
+ expected: FAIL
+
+ [CSS Animations: property <min-width> from neutral to [max-content\] at (0.6) should be [calc-size(max-content, 4px + size * 0.6)\]]
+ expected: FAIL
+
+ [CSS Animations: property <min-width> from neutral to [max-content\] at (1) should be [calc-size(max-content, 0px + size * 1)\]]
+ expected: FAIL
+
+ [CSS Animations: property <min-width> from neutral to [max-content\] at (1.5) should be [calc-size(max-content, -5px + size * 1.5)\]]
+ expected: FAIL
+
+ [Web Animations: property <min-width> from neutral to [max-content\] at (-0.3) should be [calc-size(max-content, 13px + size * -0.3)\]]
+ expected: FAIL
+
+ [Web Animations: property <min-width> from neutral to [max-content\] at (0) should be [calc-size(max-content, 10px + size * 0)\]]
+ expected: FAIL
+
+ [Web Animations: property <min-width> from neutral to [max-content\] at (0.3) should be [calc-size(max-content, 7px + size * 0.3)\]]
+ expected: FAIL
+
+ [Web Animations: property <min-width> from neutral to [max-content\] at (0.6) should be [calc-size(max-content, 4px + size * 0.6)\]]
+ expected: FAIL
+
+ [Web Animations: property <min-width> from neutral to [max-content\] at (1) should be [calc-size(max-content, 0px + size * 1)\]]
+ expected: FAIL
+
+ [Web Animations: property <min-width> from neutral to [max-content\] at (1.5) should be [calc-size(max-content, -5px + size * 1.5)\]]
+ expected: FAIL
diff --git a/tests/wpt/meta/css/css-values/calc-size/animation/interpolate-size-which-value.html.ini b/tests/wpt/meta/css/css-values/calc-size/animation/interpolate-size-which-value.html.ini
new file mode 100644
index 00000000000..5160938c50b
--- /dev/null
+++ b/tests/wpt/meta/css/css-values/calc-size/animation/interpolate-size-which-value.html.ini
@@ -0,0 +1,21 @@
+[interpolate-size-which-value.html]
+ [Use the after-change value of interpolate-size: numeric-only when starting CSS transition from 100px to min-content]
+ expected: FAIL
+
+ [Use the non-animation value of interpolate-size: numeric-only when starting CSS animation from 100px to min-content]
+ expected: FAIL
+
+ [Use the after-change value of interpolate-size: numeric-only when starting CSS transition from min-content to 100px]
+ expected: FAIL
+
+ [Use the non-animation value of interpolate-size: numeric-only when starting CSS animation from min-content to 100px]
+ expected: FAIL
+
+ [Use the non-animation value of interpolate-size: allow-keywords when starting CSS animation from 100px to min-content]
+ expected: FAIL
+
+ [Use the after-change value of interpolate-size: allow-keywords when starting CSS transition from min-content to 100px]
+ expected: FAIL
+
+ [Use the non-animation value of interpolate-size: allow-keywords when starting CSS animation from min-content to 100px]
+ expected: FAIL
diff --git a/tests/wpt/meta/css/css-values/calc-size/animation/interpolate-size-width-composition.html.ini b/tests/wpt/meta/css/css-values/calc-size/animation/interpolate-size-width-composition.html.ini
new file mode 100644
index 00000000000..886d380740b
--- /dev/null
+++ b/tests/wpt/meta/css/css-values/calc-size/animation/interpolate-size-width-composition.html.ini
@@ -0,0 +1,45 @@
+[interpolate-size-width-composition.html]
+ [Compositing: property <width> underlying [100px\] from add [100px\] to add [auto\] at (-0.3) should be [170px\]]
+ expected: FAIL
+
+ [Compositing: property <width> underlying [100px\] from add [100px\] to add [auto\] at (0) should be [200px\]]
+ expected: FAIL
+
+ [Compositing: property <width> underlying [100px\] from add [100px\] to add [auto\] at (0.5) should be [250px\]]
+ expected: FAIL
+
+ [Compositing: property <width> underlying [100px\] from add [100px\] to add [auto\] at (1) should be [300px\]]
+ expected: FAIL
+
+ [Compositing: property <width> underlying [100px\] from add [100px\] to add [auto\] at (1.5) should be [350px\]]
+ expected: FAIL
+
+ [Compositing: property <width> underlying [100px\] from add [fit-content\] to add [auto\] at (-0.3) should be [200px\]]
+ expected: FAIL
+
+ [Compositing: property <width> underlying [100px\] from add [fit-content\] to add [auto\] at (0) should be [200px\]]
+ expected: FAIL
+
+ [Compositing: property <width> underlying [100px\] from add [fit-content\] to add [auto\] at (0.5) should be [300px\]]
+ expected: FAIL
+
+ [Compositing: property <width> underlying [100px\] from add [fit-content\] to add [auto\] at (1) should be [300px\]]
+ expected: FAIL
+
+ [Compositing: property <width> underlying [100px\] from add [fit-content\] to add [auto\] at (1.5) should be [300px\]]
+ expected: FAIL
+
+ [Compositing: property <width> underlying [max-content\] from add [100px\] to add [auto\] at (-0.3) should be [70px\]]
+ expected: FAIL
+
+ [Compositing: property <width> underlying [max-content\] from add [100px\] to add [auto\] at (0) should be [100px\]]
+ expected: FAIL
+
+ [Compositing: property <width> underlying [max-content\] from add [100px\] to add [auto\] at (0.5) should be [150px\]]
+ expected: FAIL
+
+ [Compositing: property <width> underlying [max-content\] from add [100px\] to add [auto\] at (1) should be [200px\]]
+ expected: FAIL
+
+ [Compositing: property <width> underlying [max-content\] from add [100px\] to add [auto\] at (1.5) should be [250px\]]
+ expected: FAIL
diff --git a/tests/wpt/meta/css/css-values/calc-size/animation/interpolate-size-width-interpolation.html.ini b/tests/wpt/meta/css/css-values/calc-size/animation/interpolate-size-width-interpolation.html.ini
new file mode 100644
index 00000000000..5884b409f1b
--- /dev/null
+++ b/tests/wpt/meta/css/css-values/calc-size/animation/interpolate-size-width-interpolation.html.ini
@@ -0,0 +1,783 @@
+[interpolate-size-width-interpolation.html]
+ [CSS Transitions: property <width> from [initial\] to [50px\] at (-0.3) should be [180px\]]
+ expected: FAIL
+
+ [CSS Transitions: property <width> from [initial\] to [50px\] at (0) should be [150px\]]
+ expected: FAIL
+
+ [CSS Transitions: property <width> from [initial\] to [50px\] at (0.3) should be [120px\]]
+ expected: FAIL
+
+ [CSS Transitions: property <width> from [initial\] to [50px\] at (0.6) should be [90px\]]
+ expected: FAIL
+
+ [CSS Transitions: property <width> from [initial\] to [50px\] at (1.5) should be [0px\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <width> from [initial\] to [50px\] at (-0.3) should be [180px\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <width> from [initial\] to [50px\] at (0) should be [150px\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <width> from [initial\] to [50px\] at (0.3) should be [120px\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <width> from [initial\] to [50px\] at (0.6) should be [90px\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <width> from [initial\] to [50px\] at (1.5) should be [0px\]]
+ expected: FAIL
+
+ [CSS Animations: property <width> from [initial\] to [50px\] at (-0.3) should be [180px\]]
+ expected: FAIL
+
+ [CSS Animations: property <width> from [initial\] to [50px\] at (0) should be [150px\]]
+ expected: FAIL
+
+ [CSS Animations: property <width> from [initial\] to [50px\] at (0.3) should be [120px\]]
+ expected: FAIL
+
+ [CSS Animations: property <width> from [initial\] to [50px\] at (0.6) should be [90px\]]
+ expected: FAIL
+
+ [CSS Animations: property <width> from [initial\] to [50px\] at (1.5) should be [0px\]]
+ expected: FAIL
+
+ [Web Animations: property <width> from [initial\] to [50px\] at (-0.3) should be [180px\]]
+ expected: FAIL
+
+ [Web Animations: property <width> from [initial\] to [50px\] at (0) should be [150px\]]
+ expected: FAIL
+
+ [Web Animations: property <width> from [initial\] to [50px\] at (0.3) should be [120px\]]
+ expected: FAIL
+
+ [Web Animations: property <width> from [initial\] to [50px\] at (0.6) should be [90px\]]
+ expected: FAIL
+
+ [Web Animations: property <width> from [initial\] to [50px\] at (1) should be [50px\]]
+ expected: FAIL
+
+ [Web Animations: property <width> from [initial\] to [50px\] at (1.5) should be [0px\]]
+ expected: FAIL
+
+ [CSS Transitions: property <width> from [unset\] to [50px\] at (-0.3) should be [180px\]]
+ expected: FAIL
+
+ [CSS Transitions: property <width> from [unset\] to [50px\] at (0) should be [150px\]]
+ expected: FAIL
+
+ [CSS Transitions: property <width> from [unset\] to [50px\] at (0.3) should be [120px\]]
+ expected: FAIL
+
+ [CSS Transitions: property <width> from [unset\] to [50px\] at (0.6) should be [90px\]]
+ expected: FAIL
+
+ [CSS Transitions: property <width> from [unset\] to [50px\] at (1.5) should be [0px\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <width> from [unset\] to [50px\] at (-0.3) should be [180px\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <width> from [unset\] to [50px\] at (0) should be [150px\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <width> from [unset\] to [50px\] at (0.3) should be [120px\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <width> from [unset\] to [50px\] at (0.6) should be [90px\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <width> from [unset\] to [50px\] at (1.5) should be [0px\]]
+ expected: FAIL
+
+ [CSS Animations: property <width> from [unset\] to [50px\] at (-0.3) should be [180px\]]
+ expected: FAIL
+
+ [CSS Animations: property <width> from [unset\] to [50px\] at (0) should be [150px\]]
+ expected: FAIL
+
+ [CSS Animations: property <width> from [unset\] to [50px\] at (0.3) should be [120px\]]
+ expected: FAIL
+
+ [CSS Animations: property <width> from [unset\] to [50px\] at (0.6) should be [90px\]]
+ expected: FAIL
+
+ [CSS Animations: property <width> from [unset\] to [50px\] at (1.5) should be [0px\]]
+ expected: FAIL
+
+ [Web Animations: property <width> from [unset\] to [50px\] at (-0.3) should be [180px\]]
+ expected: FAIL
+
+ [Web Animations: property <width> from [unset\] to [50px\] at (0) should be [150px\]]
+ expected: FAIL
+
+ [Web Animations: property <width> from [unset\] to [50px\] at (0.3) should be [120px\]]
+ expected: FAIL
+
+ [Web Animations: property <width> from [unset\] to [50px\] at (0.6) should be [90px\]]
+ expected: FAIL
+
+ [Web Animations: property <width> from [unset\] to [50px\] at (1) should be [50px\]]
+ expected: FAIL
+
+ [Web Animations: property <width> from [unset\] to [50px\] at (1.5) should be [0px\]]
+ expected: FAIL
+
+ [CSS Transitions: property <width> from [auto\] to [50px\] at (-0.3) should be [180px\]]
+ expected: FAIL
+
+ [CSS Transitions: property <width> from [auto\] to [50px\] at (0) should be [150px\]]
+ expected: FAIL
+
+ [CSS Transitions: property <width> from [auto\] to [50px\] at (0.3) should be [120px\]]
+ expected: FAIL
+
+ [CSS Transitions: property <width> from [auto\] to [50px\] at (0.6) should be [90px\]]
+ expected: FAIL
+
+ [CSS Transitions: property <width> from [auto\] to [50px\] at (1.5) should be [0px\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <width> from [auto\] to [50px\] at (-0.3) should be [180px\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <width> from [auto\] to [50px\] at (0) should be [150px\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <width> from [auto\] to [50px\] at (0.3) should be [120px\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <width> from [auto\] to [50px\] at (0.6) should be [90px\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <width> from [auto\] to [50px\] at (1.5) should be [0px\]]
+ expected: FAIL
+
+ [CSS Animations: property <width> from [auto\] to [50px\] at (-0.3) should be [180px\]]
+ expected: FAIL
+
+ [CSS Animations: property <width> from [auto\] to [50px\] at (0) should be [150px\]]
+ expected: FAIL
+
+ [CSS Animations: property <width> from [auto\] to [50px\] at (0.3) should be [120px\]]
+ expected: FAIL
+
+ [CSS Animations: property <width> from [auto\] to [50px\] at (0.6) should be [90px\]]
+ expected: FAIL
+
+ [CSS Animations: property <width> from [auto\] to [50px\] at (1.5) should be [0px\]]
+ expected: FAIL
+
+ [Web Animations: property <width> from [auto\] to [50px\] at (-0.3) should be [180px\]]
+ expected: FAIL
+
+ [Web Animations: property <width> from [auto\] to [50px\] at (0) should be [150px\]]
+ expected: FAIL
+
+ [Web Animations: property <width> from [auto\] to [50px\] at (0.3) should be [120px\]]
+ expected: FAIL
+
+ [Web Animations: property <width> from [auto\] to [50px\] at (0.6) should be [90px\]]
+ expected: FAIL
+
+ [Web Animations: property <width> from [auto\] to [50px\] at (1) should be [50px\]]
+ expected: FAIL
+
+ [Web Animations: property <width> from [auto\] to [50px\] at (1.5) should be [0px\]]
+ expected: FAIL
+
+ [CSS Transitions with transition-behavior:allow-discrete: property <width> from [auto\] to [fit-content\] at (-0.3) should be [auto\]]
+ expected: FAIL
+
+ [CSS Transitions with transition-behavior:allow-discrete: property <width> from [auto\] to [fit-content\] at (0) should be [auto\]]
+ expected: FAIL
+
+ [CSS Transitions with transition-behavior:allow-discrete: property <width> from [auto\] to [fit-content\] at (0.3) should be [auto\]]
+ expected: FAIL
+
+ [CSS Transitions with transition-behavior:allow-discrete: property <width> from [auto\] to [fit-content\] at (0.5) should be [fit-content\]]
+ expected: FAIL
+
+ [CSS Transitions with transition-behavior:allow-discrete: property <width> from [auto\] to [fit-content\] at (0.6) should be [fit-content\]]
+ expected: FAIL
+
+ [CSS Transitions with transition-behavior:allow-discrete: property <width> from [auto\] to [fit-content\] at (1) should be [fit-content\]]
+ expected: FAIL
+
+ [CSS Transitions with transition-behavior:allow-discrete: property <width> from [auto\] to [fit-content\] at (1.5) should be [fit-content\]]
+ expected: FAIL
+
+ [CSS Transitions with transition-property:all and transition-behavor:allow-discrete: property <width> from [auto\] to [fit-content\] at (-0.3) should be [auto\]]
+ expected: FAIL
+
+ [CSS Transitions with transition-property:all and transition-behavor:allow-discrete: property <width> from [auto\] to [fit-content\] at (0) should be [auto\]]
+ expected: FAIL
+
+ [CSS Transitions with transition-property:all and transition-behavor:allow-discrete: property <width> from [auto\] to [fit-content\] at (0.3) should be [auto\]]
+ expected: FAIL
+
+ [CSS Transitions with transition-property:all and transition-behavor:allow-discrete: property <width> from [auto\] to [fit-content\] at (0.5) should be [fit-content\]]
+ expected: FAIL
+
+ [CSS Transitions with transition-property:all and transition-behavor:allow-discrete: property <width> from [auto\] to [fit-content\] at (0.6) should be [fit-content\]]
+ expected: FAIL
+
+ [CSS Transitions with transition-property:all and transition-behavor:allow-discrete: property <width> from [auto\] to [fit-content\] at (1) should be [fit-content\]]
+ expected: FAIL
+
+ [CSS Transitions with transition-property:all and transition-behavor:allow-discrete: property <width> from [auto\] to [fit-content\] at (1.5) should be [fit-content\]]
+ expected: FAIL
+
+ [CSS Transitions: property <width> from [auto\] to [fit-content\] at (-0.3) should be [fit-content\]]
+ expected: FAIL
+
+ [CSS Transitions: property <width> from [auto\] to [fit-content\] at (0) should be [fit-content\]]
+ expected: FAIL
+
+ [CSS Transitions: property <width> from [auto\] to [fit-content\] at (0.3) should be [fit-content\]]
+ expected: FAIL
+
+ [CSS Transitions: property <width> from [auto\] to [fit-content\] at (0.5) should be [fit-content\]]
+ expected: FAIL
+
+ [CSS Transitions: property <width> from [auto\] to [fit-content\] at (0.6) should be [fit-content\]]
+ expected: FAIL
+
+ [CSS Transitions: property <width> from [auto\] to [fit-content\] at (1) should be [fit-content\]]
+ expected: FAIL
+
+ [CSS Transitions: property <width> from [auto\] to [fit-content\] at (1.5) should be [fit-content\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <width> from [auto\] to [fit-content\] at (-0.3) should be [fit-content\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <width> from [auto\] to [fit-content\] at (0) should be [fit-content\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <width> from [auto\] to [fit-content\] at (0.3) should be [fit-content\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <width> from [auto\] to [fit-content\] at (0.5) should be [fit-content\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <width> from [auto\] to [fit-content\] at (0.6) should be [fit-content\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <width> from [auto\] to [fit-content\] at (1) should be [fit-content\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <width> from [auto\] to [fit-content\] at (1.5) should be [fit-content\]]
+ expected: FAIL
+
+ [CSS Animations: property <width> from [auto\] to [fit-content\] at (-0.3) should be [auto\]]
+ expected: FAIL
+
+ [CSS Animations: property <width> from [auto\] to [fit-content\] at (0) should be [auto\]]
+ expected: FAIL
+
+ [CSS Animations: property <width> from [auto\] to [fit-content\] at (0.3) should be [auto\]]
+ expected: FAIL
+
+ [CSS Animations: property <width> from [auto\] to [fit-content\] at (0.5) should be [fit-content\]]
+ expected: FAIL
+
+ [CSS Animations: property <width> from [auto\] to [fit-content\] at (0.6) should be [fit-content\]]
+ expected: FAIL
+
+ [CSS Animations: property <width> from [auto\] to [fit-content\] at (1) should be [fit-content\]]
+ expected: FAIL
+
+ [CSS Animations: property <width> from [auto\] to [fit-content\] at (1.5) should be [fit-content\]]
+ expected: FAIL
+
+ [Web Animations: property <width> from [auto\] to [fit-content\] at (-0.3) should be [auto\]]
+ expected: FAIL
+
+ [Web Animations: property <width> from [auto\] to [fit-content\] at (0) should be [auto\]]
+ expected: FAIL
+
+ [Web Animations: property <width> from [auto\] to [fit-content\] at (0.3) should be [auto\]]
+ expected: FAIL
+
+ [Web Animations: property <width> from [auto\] to [fit-content\] at (0.5) should be [fit-content\]]
+ expected: FAIL
+
+ [Web Animations: property <width> from [auto\] to [fit-content\] at (0.6) should be [fit-content\]]
+ expected: FAIL
+
+ [Web Animations: property <width> from [auto\] to [fit-content\] at (1) should be [fit-content\]]
+ expected: FAIL
+
+ [Web Animations: property <width> from [auto\] to [fit-content\] at (1.5) should be [fit-content\]]
+ expected: FAIL
+
+ [CSS Transitions with transition-behavior:allow-discrete: property <width> from [stretch\] to [auto\] at (-0.3) should be [stretch\]]
+ expected: FAIL
+
+ [CSS Transitions with transition-behavior:allow-discrete: property <width> from [stretch\] to [auto\] at (0) should be [stretch\]]
+ expected: FAIL
+
+ [CSS Transitions with transition-behavior:allow-discrete: property <width> from [stretch\] to [auto\] at (0.3) should be [stretch\]]
+ expected: FAIL
+
+ [CSS Transitions with transition-behavior:allow-discrete: property <width> from [stretch\] to [auto\] at (0.5) should be [auto\]]
+ expected: FAIL
+
+ [CSS Transitions with transition-behavior:allow-discrete: property <width> from [stretch\] to [auto\] at (0.6) should be [auto\]]
+ expected: FAIL
+
+ [CSS Transitions with transition-behavior:allow-discrete: property <width> from [stretch\] to [auto\] at (1) should be [auto\]]
+ expected: FAIL
+
+ [CSS Transitions with transition-behavior:allow-discrete: property <width> from [stretch\] to [auto\] at (1.5) should be [auto\]]
+ expected: FAIL
+
+ [CSS Transitions with transition-property:all and transition-behavor:allow-discrete: property <width> from [stretch\] to [auto\] at (-0.3) should be [stretch\]]
+ expected: FAIL
+
+ [CSS Transitions with transition-property:all and transition-behavor:allow-discrete: property <width> from [stretch\] to [auto\] at (0) should be [stretch\]]
+ expected: FAIL
+
+ [CSS Transitions with transition-property:all and transition-behavor:allow-discrete: property <width> from [stretch\] to [auto\] at (0.3) should be [stretch\]]
+ expected: FAIL
+
+ [CSS Transitions with transition-property:all and transition-behavor:allow-discrete: property <width> from [stretch\] to [auto\] at (0.5) should be [auto\]]
+ expected: FAIL
+
+ [CSS Transitions with transition-property:all and transition-behavor:allow-discrete: property <width> from [stretch\] to [auto\] at (0.6) should be [auto\]]
+ expected: FAIL
+
+ [CSS Transitions with transition-property:all and transition-behavor:allow-discrete: property <width> from [stretch\] to [auto\] at (1) should be [auto\]]
+ expected: FAIL
+
+ [CSS Transitions with transition-property:all and transition-behavor:allow-discrete: property <width> from [stretch\] to [auto\] at (1.5) should be [auto\]]
+ expected: FAIL
+
+ [CSS Transitions: property <width> from [stretch\] to [auto\] at (-0.3) should be [auto\]]
+ expected: FAIL
+
+ [CSS Transitions: property <width> from [stretch\] to [auto\] at (0) should be [auto\]]
+ expected: FAIL
+
+ [CSS Transitions: property <width> from [stretch\] to [auto\] at (0.3) should be [auto\]]
+ expected: FAIL
+
+ [CSS Transitions: property <width> from [stretch\] to [auto\] at (0.5) should be [auto\]]
+ expected: FAIL
+
+ [CSS Transitions: property <width> from [stretch\] to [auto\] at (0.6) should be [auto\]]
+ expected: FAIL
+
+ [CSS Transitions: property <width> from [stretch\] to [auto\] at (1) should be [auto\]]
+ expected: FAIL
+
+ [CSS Transitions: property <width> from [stretch\] to [auto\] at (1.5) should be [auto\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <width> from [stretch\] to [auto\] at (-0.3) should be [auto\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <width> from [stretch\] to [auto\] at (0) should be [auto\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <width> from [stretch\] to [auto\] at (0.3) should be [auto\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <width> from [stretch\] to [auto\] at (0.5) should be [auto\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <width> from [stretch\] to [auto\] at (0.6) should be [auto\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <width> from [stretch\] to [auto\] at (1) should be [auto\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <width> from [stretch\] to [auto\] at (1.5) should be [auto\]]
+ expected: FAIL
+
+ [CSS Animations: property <width> from [stretch\] to [auto\] at (-0.3) should be [stretch\]]
+ expected: FAIL
+
+ [CSS Animations: property <width> from [stretch\] to [auto\] at (0) should be [stretch\]]
+ expected: FAIL
+
+ [CSS Animations: property <width> from [stretch\] to [auto\] at (0.3) should be [stretch\]]
+ expected: FAIL
+
+ [CSS Animations: property <width> from [stretch\] to [auto\] at (0.5) should be [auto\]]
+ expected: FAIL
+
+ [CSS Animations: property <width> from [stretch\] to [auto\] at (0.6) should be [auto\]]
+ expected: FAIL
+
+ [CSS Animations: property <width> from [stretch\] to [auto\] at (1) should be [auto\]]
+ expected: FAIL
+
+ [CSS Animations: property <width> from [stretch\] to [auto\] at (1.5) should be [auto\]]
+ expected: FAIL
+
+ [Web Animations: property <width> from [stretch\] to [auto\] at (-0.3) should be [stretch\]]
+ expected: FAIL
+
+ [Web Animations: property <width> from [stretch\] to [auto\] at (0) should be [stretch\]]
+ expected: FAIL
+
+ [Web Animations: property <width> from [stretch\] to [auto\] at (0.3) should be [stretch\]]
+ expected: FAIL
+
+ [Web Animations: property <width> from [stretch\] to [auto\] at (0.5) should be [auto\]]
+ expected: FAIL
+
+ [Web Animations: property <width> from [stretch\] to [auto\] at (0.6) should be [auto\]]
+ expected: FAIL
+
+ [Web Animations: property <width> from [stretch\] to [auto\] at (1) should be [auto\]]
+ expected: FAIL
+
+ [Web Animations: property <width> from [stretch\] to [auto\] at (1.5) should be [auto\]]
+ expected: FAIL
+
+ [CSS Transitions: property <width> from [200px\] to [fit-content\] at (-0.3) should be [230px\]]
+ expected: FAIL
+
+ [CSS Transitions: property <width> from [200px\] to [fit-content\] at (0) should be [200px\]]
+ expected: FAIL
+
+ [CSS Transitions: property <width> from [200px\] to [fit-content\] at (0.3) should be [170px\]]
+ expected: FAIL
+
+ [CSS Transitions: property <width> from [200px\] to [fit-content\] at (0.6) should be [140px\]]
+ expected: FAIL
+
+ [CSS Transitions: property <width> from [200px\] to [fit-content\] at (1) should be [100px\]]
+ expected: FAIL
+
+ [CSS Transitions: property <width> from [200px\] to [fit-content\] at (1.5) should be [50px\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <width> from [200px\] to [fit-content\] at (-0.3) should be [230px\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <width> from [200px\] to [fit-content\] at (0) should be [200px\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <width> from [200px\] to [fit-content\] at (0.3) should be [170px\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <width> from [200px\] to [fit-content\] at (0.6) should be [140px\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <width> from [200px\] to [fit-content\] at (1) should be [100px\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <width> from [200px\] to [fit-content\] at (1.5) should be [50px\]]
+ expected: FAIL
+
+ [CSS Animations: property <width> from [200px\] to [fit-content\] at (-0.3) should be [230px\]]
+ expected: FAIL
+
+ [CSS Animations: property <width> from [200px\] to [fit-content\] at (0) should be [200px\]]
+ expected: FAIL
+
+ [CSS Animations: property <width> from [200px\] to [fit-content\] at (0.3) should be [170px\]]
+ expected: FAIL
+
+ [CSS Animations: property <width> from [200px\] to [fit-content\] at (0.6) should be [140px\]]
+ expected: FAIL
+
+ [CSS Animations: property <width> from [200px\] to [fit-content\] at (1) should be [100px\]]
+ expected: FAIL
+
+ [CSS Animations: property <width> from [200px\] to [fit-content\] at (1.5) should be [50px\]]
+ expected: FAIL
+
+ [Web Animations: property <width> from [200px\] to [fit-content\] at (-0.3) should be [230px\]]
+ expected: FAIL
+
+ [Web Animations: property <width> from [200px\] to [fit-content\] at (0) should be [200px\]]
+ expected: FAIL
+
+ [Web Animations: property <width> from [200px\] to [fit-content\] at (0.3) should be [170px\]]
+ expected: FAIL
+
+ [Web Animations: property <width> from [200px\] to [fit-content\] at (0.6) should be [140px\]]
+ expected: FAIL
+
+ [Web Animations: property <width> from [200px\] to [fit-content\] at (1) should be [100px\]]
+ expected: FAIL
+
+ [Web Animations: property <width> from [200px\] to [fit-content\] at (1.5) should be [50px\]]
+ expected: FAIL
+
+ [CSS Transitions with transition-behavior:allow-discrete: property <width> from [max-content\] to [min-content\] at (-0.3) should be [max-content\]]
+ expected: FAIL
+
+ [CSS Transitions with transition-behavior:allow-discrete: property <width> from [max-content\] to [min-content\] at (0) should be [max-content\]]
+ expected: FAIL
+
+ [CSS Transitions with transition-behavior:allow-discrete: property <width> from [max-content\] to [min-content\] at (0.3) should be [max-content\]]
+ expected: FAIL
+
+ [CSS Transitions with transition-behavior:allow-discrete: property <width> from [max-content\] to [min-content\] at (0.5) should be [min-content\]]
+ expected: FAIL
+
+ [CSS Transitions with transition-behavior:allow-discrete: property <width> from [max-content\] to [min-content\] at (0.6) should be [min-content\]]
+ expected: FAIL
+
+ [CSS Transitions with transition-behavior:allow-discrete: property <width> from [max-content\] to [min-content\] at (1) should be [min-content\]]
+ expected: FAIL
+
+ [CSS Transitions with transition-behavior:allow-discrete: property <width> from [max-content\] to [min-content\] at (1.5) should be [min-content\]]
+ expected: FAIL
+
+ [CSS Transitions with transition-property:all and transition-behavor:allow-discrete: property <width> from [max-content\] to [min-content\] at (-0.3) should be [max-content\]]
+ expected: FAIL
+
+ [CSS Transitions with transition-property:all and transition-behavor:allow-discrete: property <width> from [max-content\] to [min-content\] at (0) should be [max-content\]]
+ expected: FAIL
+
+ [CSS Transitions with transition-property:all and transition-behavor:allow-discrete: property <width> from [max-content\] to [min-content\] at (0.3) should be [max-content\]]
+ expected: FAIL
+
+ [CSS Transitions with transition-property:all and transition-behavor:allow-discrete: property <width> from [max-content\] to [min-content\] at (0.5) should be [min-content\]]
+ expected: FAIL
+
+ [CSS Transitions with transition-property:all and transition-behavor:allow-discrete: property <width> from [max-content\] to [min-content\] at (0.6) should be [min-content\]]
+ expected: FAIL
+
+ [CSS Transitions with transition-property:all and transition-behavor:allow-discrete: property <width> from [max-content\] to [min-content\] at (1) should be [min-content\]]
+ expected: FAIL
+
+ [CSS Transitions with transition-property:all and transition-behavor:allow-discrete: property <width> from [max-content\] to [min-content\] at (1.5) should be [min-content\]]
+ expected: FAIL
+
+ [CSS Transitions: property <width> from [max-content\] to [min-content\] at (-0.3) should be [min-content\]]
+ expected: FAIL
+
+ [CSS Transitions: property <width> from [max-content\] to [min-content\] at (0) should be [min-content\]]
+ expected: FAIL
+
+ [CSS Transitions: property <width> from [max-content\] to [min-content\] at (0.3) should be [min-content\]]
+ expected: FAIL
+
+ [CSS Transitions: property <width> from [max-content\] to [min-content\] at (0.5) should be [min-content\]]
+ expected: FAIL
+
+ [CSS Transitions: property <width> from [max-content\] to [min-content\] at (0.6) should be [min-content\]]
+ expected: FAIL
+
+ [CSS Transitions: property <width> from [max-content\] to [min-content\] at (1) should be [min-content\]]
+ expected: FAIL
+
+ [CSS Transitions: property <width> from [max-content\] to [min-content\] at (1.5) should be [min-content\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <width> from [max-content\] to [min-content\] at (-0.3) should be [min-content\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <width> from [max-content\] to [min-content\] at (0) should be [min-content\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <width> from [max-content\] to [min-content\] at (0.3) should be [min-content\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <width> from [max-content\] to [min-content\] at (0.5) should be [min-content\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <width> from [max-content\] to [min-content\] at (0.6) should be [min-content\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <width> from [max-content\] to [min-content\] at (1) should be [min-content\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <width> from [max-content\] to [min-content\] at (1.5) should be [min-content\]]
+ expected: FAIL
+
+ [CSS Animations: property <width> from [max-content\] to [min-content\] at (-0.3) should be [max-content\]]
+ expected: FAIL
+
+ [CSS Animations: property <width> from [max-content\] to [min-content\] at (0) should be [max-content\]]
+ expected: FAIL
+
+ [CSS Animations: property <width> from [max-content\] to [min-content\] at (0.3) should be [max-content\]]
+ expected: FAIL
+
+ [CSS Animations: property <width> from [max-content\] to [min-content\] at (0.5) should be [min-content\]]
+ expected: FAIL
+
+ [CSS Animations: property <width> from [max-content\] to [min-content\] at (0.6) should be [min-content\]]
+ expected: FAIL
+
+ [CSS Animations: property <width> from [max-content\] to [min-content\] at (1) should be [min-content\]]
+ expected: FAIL
+
+ [CSS Animations: property <width> from [max-content\] to [min-content\] at (1.5) should be [min-content\]]
+ expected: FAIL
+
+ [Web Animations: property <width> from [max-content\] to [min-content\] at (-0.3) should be [max-content\]]
+ expected: FAIL
+
+ [Web Animations: property <width> from [max-content\] to [min-content\] at (0) should be [max-content\]]
+ expected: FAIL
+
+ [Web Animations: property <width> from [max-content\] to [min-content\] at (0.3) should be [max-content\]]
+ expected: FAIL
+
+ [Web Animations: property <width> from [max-content\] to [min-content\] at (0.5) should be [min-content\]]
+ expected: FAIL
+
+ [Web Animations: property <width> from [max-content\] to [min-content\] at (0.6) should be [min-content\]]
+ expected: FAIL
+
+ [Web Animations: property <width> from [max-content\] to [min-content\] at (1) should be [min-content\]]
+ expected: FAIL
+
+ [Web Animations: property <width> from [max-content\] to [min-content\] at (1.5) should be [min-content\]]
+ expected: FAIL
+
+ [CSS Transitions: property <width> from [max-content\] to neutral at (-0.3) should be [115px\]]
+ expected: FAIL
+
+ [CSS Transitions: property <width> from [max-content\] to neutral at (0) should be [100px\]]
+ expected: FAIL
+
+ [CSS Transitions: property <width> from [max-content\] to neutral at (0.3) should be [85px\]]
+ expected: FAIL
+
+ [CSS Transitions: property <width> from [max-content\] to neutral at (0.6) should be [70px\]]
+ expected: FAIL
+
+ [CSS Transitions: property <width> from [max-content\] to neutral at (1) should be [50px\]]
+ expected: FAIL
+
+ [CSS Transitions: property <width> from [max-content\] to neutral at (1.5) should be [25px\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <width> from [max-content\] to neutral at (-0.3) should be [115px\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <width> from [max-content\] to neutral at (0) should be [100px\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <width> from [max-content\] to neutral at (0.3) should be [85px\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <width> from [max-content\] to neutral at (0.6) should be [70px\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <width> from [max-content\] to neutral at (1) should be [50px\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <width> from [max-content\] to neutral at (1.5) should be [25px\]]
+ expected: FAIL
+
+ [CSS Animations: property <width> from [max-content\] to neutral at (-0.3) should be [115px\]]
+ expected: FAIL
+
+ [CSS Animations: property <width> from [max-content\] to neutral at (0) should be [100px\]]
+ expected: FAIL
+
+ [CSS Animations: property <width> from [max-content\] to neutral at (0.3) should be [85px\]]
+ expected: FAIL
+
+ [CSS Animations: property <width> from [max-content\] to neutral at (0.6) should be [70px\]]
+ expected: FAIL
+
+ [CSS Animations: property <width> from [max-content\] to neutral at (1) should be [50px\]]
+ expected: FAIL
+
+ [CSS Animations: property <width> from [max-content\] to neutral at (1.5) should be [25px\]]
+ expected: FAIL
+
+ [Web Animations: property <width> from [max-content\] to neutral at (-0.3) should be [115px\]]
+ expected: FAIL
+
+ [Web Animations: property <width> from [max-content\] to neutral at (0) should be [100px\]]
+ expected: FAIL
+
+ [Web Animations: property <width> from [max-content\] to neutral at (0.3) should be [85px\]]
+ expected: FAIL
+
+ [Web Animations: property <width> from [max-content\] to neutral at (0.6) should be [70px\]]
+ expected: FAIL
+
+ [Web Animations: property <width> from [max-content\] to neutral at (1) should be [50px\]]
+ expected: FAIL
+
+ [Web Animations: property <width> from [max-content\] to neutral at (1.5) should be [25px\]]
+ expected: FAIL
+
+ [CSS Transitions: property <width> from neutral to [min-content\] at (-0.3) should be [35px\]]
+ expected: FAIL
+
+ [CSS Transitions: property <width> from neutral to [min-content\] at (0) should be [50px\]]
+ expected: FAIL
+
+ [CSS Transitions: property <width> from neutral to [min-content\] at (0.3) should be [65px\]]
+ expected: FAIL
+
+ [CSS Transitions: property <width> from neutral to [min-content\] at (0.6) should be [80px\]]
+ expected: FAIL
+
+ [CSS Transitions: property <width> from neutral to [min-content\] at (1) should be [100px\]]
+ expected: FAIL
+
+ [CSS Transitions: property <width> from neutral to [min-content\] at (1.5) should be [125px\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <width> from neutral to [min-content\] at (-0.3) should be [35px\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <width> from neutral to [min-content\] at (0) should be [50px\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <width> from neutral to [min-content\] at (0.3) should be [65px\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <width> from neutral to [min-content\] at (0.6) should be [80px\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <width> from neutral to [min-content\] at (1) should be [100px\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <width> from neutral to [min-content\] at (1.5) should be [125px\]]
+ expected: FAIL
+
+ [CSS Animations: property <width> from neutral to [min-content\] at (-0.3) should be [35px\]]
+ expected: FAIL
+
+ [CSS Animations: property <width> from neutral to [min-content\] at (0) should be [50px\]]
+ expected: FAIL
+
+ [CSS Animations: property <width> from neutral to [min-content\] at (0.3) should be [65px\]]
+ expected: FAIL
+
+ [CSS Animations: property <width> from neutral to [min-content\] at (0.6) should be [80px\]]
+ expected: FAIL
+
+ [CSS Animations: property <width> from neutral to [min-content\] at (1) should be [100px\]]
+ expected: FAIL
+
+ [CSS Animations: property <width> from neutral to [min-content\] at (1.5) should be [125px\]]
+ expected: FAIL
+
+ [Web Animations: property <width> from neutral to [min-content\] at (-0.3) should be [35px\]]
+ expected: FAIL
+
+ [Web Animations: property <width> from neutral to [min-content\] at (0) should be [50px\]]
+ expected: FAIL
+
+ [Web Animations: property <width> from neutral to [min-content\] at (0.3) should be [65px\]]
+ expected: FAIL
+
+ [Web Animations: property <width> from neutral to [min-content\] at (0.6) should be [80px\]]
+ expected: FAIL
+
+ [Web Animations: property <width> from neutral to [min-content\] at (1) should be [100px\]]
+ expected: FAIL
+
+ [Web Animations: property <width> from neutral to [min-content\] at (1.5) should be [125px\]]
+ 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 998e202dbc3..07e762043c2 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
@@ -73,3 +73,39 @@
[e.style['width'\] = "calc-size(calc-size(30px))" should set the property value]
expected: FAIL
+
+ [e.style['width'\] = "calc-size(max-content, size)" should set the property value]
+ expected: FAIL
+
+ [e.style['height'\] = "calc-size(max-content, size)" should set the property value]
+ expected: FAIL
+
+ [e.style['max-width'\] = "calc-size(max-content, size)" should set the property value]
+ expected: FAIL
+
+ [e.style['max-height'\] = "calc-size(max-content, size)" should set the property value]
+ expected: FAIL
+
+ [e.style['min-width'\] = "calc-size(max-content, size)" should set the property value]
+ expected: FAIL
+
+ [e.style['min-height'\] = "calc-size(max-content, size)" should set the property value]
+ expected: FAIL
+
+ [e.style['block-size'\] = "calc-size(max-content, size)" should set the property value]
+ expected: FAIL
+
+ [e.style['inline-size'\] = "calc-size(max-content, size)" should set the property value]
+ expected: FAIL
+
+ [e.style['max-block-size'\] = "calc-size(max-content, size)" should set the property value]
+ expected: FAIL
+
+ [e.style['max-inline-size'\] = "calc-size(max-content, size)" should set the property value]
+ expected: FAIL
+
+ [e.style['min-block-size'\] = "calc-size(max-content, size)" should set the property value]
+ expected: FAIL
+
+ [e.style['min-inline-size'\] = "calc-size(max-content, size)" should set the property value]
+ expected: FAIL
diff --git a/tests/wpt/meta/fetch/metadata/generated/element-img-environment-change.sub.html.ini b/tests/wpt/meta/fetch/metadata/generated/element-img-environment-change.sub.html.ini
index 4648085f98d..410ec4c1d39 100644
--- a/tests/wpt/meta/fetch/metadata/generated/element-img-environment-change.sub.html.ini
+++ b/tests/wpt/meta/fetch/metadata/generated/element-img-environment-change.sub.html.ini
@@ -41,6 +41,3 @@
[sec-fetch-site - HTTPS downgrade-upgrade, no attributes]
expected: NOTRUN
-
- [sec-fetch-site - Not sent to non-trustworthy same-origin destination, no attributes]
- expected: FAIL
diff --git a/tests/wpt/meta/html/browsers/history/the-history-interface/traverse_the_history_3.html.ini b/tests/wpt/meta/html/browsers/history/the-history-interface/traverse_the_history_3.html.ini
new file mode 100644
index 00000000000..a03a8322165
--- /dev/null
+++ b/tests/wpt/meta/html/browsers/history/the-history-interface/traverse_the_history_3.html.ini
@@ -0,0 +1,3 @@
+[traverse_the_history_3.html]
+ [Multiple history traversals, last would be aborted]
+ expected: FAIL
diff --git a/tests/wpt/meta/html/canvas/element/manual/imagebitmap/createImageBitmap-drawImage.html.ini b/tests/wpt/meta/html/canvas/element/manual/imagebitmap/createImageBitmap-drawImage.html.ini
index c94490ae5ee..18fa4ea84ea 100644
--- a/tests/wpt/meta/html/canvas/element/manual/imagebitmap/createImageBitmap-drawImage.html.ini
+++ b/tests/wpt/meta/html/canvas/element/manual/imagebitmap/createImageBitmap-drawImage.html.ini
@@ -1,5 +1,5 @@
[createImageBitmap-drawImage.html]
- expected: ERROR
+ expected: TIMEOUT
[createImageBitmap from an OffscreenCanvas resized, and drawImage on the created ImageBitmap]
expected: NOTRUN
diff --git a/tests/wpt/meta/html/canvas/element/scroll/2d.scrollPathIntoView.basic.html.ini b/tests/wpt/meta/html/canvas/element/scroll/2d.scrollPathIntoView.basic.html.ini
deleted file mode 100644
index 1dfa4dc645b..00000000000
--- a/tests/wpt/meta/html/canvas/element/scroll/2d.scrollPathIntoView.basic.html.ini
+++ /dev/null
@@ -1,4 +0,0 @@
-[2d.scrollPathIntoView.basic.html]
- [scrollPathIntoView() works]
- expected: FAIL
-
diff --git a/tests/wpt/meta/html/canvas/element/scroll/2d.scrollPathIntoView.path.html.ini b/tests/wpt/meta/html/canvas/element/scroll/2d.scrollPathIntoView.path.html.ini
deleted file mode 100644
index 9424d8df4f8..00000000000
--- a/tests/wpt/meta/html/canvas/element/scroll/2d.scrollPathIntoView.path.html.ini
+++ /dev/null
@@ -1,4 +0,0 @@
-[2d.scrollPathIntoView.path.html]
- [scrollPathIntoView() with path argument works]
- expected: FAIL
-
diff --git a/tests/wpt/meta/html/canvas/element/scroll/2d.scrollPathIntoView.verticalLR.html.ini b/tests/wpt/meta/html/canvas/element/scroll/2d.scrollPathIntoView.verticalLR.html.ini
deleted file mode 100644
index f15be9112ad..00000000000
--- a/tests/wpt/meta/html/canvas/element/scroll/2d.scrollPathIntoView.verticalLR.html.ini
+++ /dev/null
@@ -1,4 +0,0 @@
-[2d.scrollPathIntoView.verticalLR.html]
- [scrollPathIntoView() works in vertical-lr writing mode]
- expected: FAIL
-
diff --git a/tests/wpt/meta/html/canvas/element/scroll/2d.scrollPathIntoView.verticalRL.html.ini b/tests/wpt/meta/html/canvas/element/scroll/2d.scrollPathIntoView.verticalRL.html.ini
deleted file mode 100644
index 37aa1c76d82..00000000000
--- a/tests/wpt/meta/html/canvas/element/scroll/2d.scrollPathIntoView.verticalRL.html.ini
+++ /dev/null
@@ -1,4 +0,0 @@
-[2d.scrollPathIntoView.verticalRL.html]
- [scrollPathIntoView() works in vertical-rl writing mode]
- expected: FAIL
-
diff --git a/tests/wpt/meta/html/canvas/element/text/2d.text.measure.getActualBoundingBox-exceptions.tentative.html.ini b/tests/wpt/meta/html/canvas/element/text/2d.text.measure.getActualBoundingBox-exceptions.tentative.html.ini
index 26263231bef..2d35306eab0 100644
--- a/tests/wpt/meta/html/canvas/element/text/2d.text.measure.getActualBoundingBox-exceptions.tentative.html.ini
+++ b/tests/wpt/meta/html/canvas/element/text/2d.text.measure.getActualBoundingBox-exceptions.tentative.html.ini
@@ -1,2 +1,3 @@
[2d.text.measure.getActualBoundingBox-exceptions.tentative.html]
- expected: ERROR
+ [Check that TextMetrics::getActualBoundingBox() throws when using invalid indexes.]
+ expected: FAIL
diff --git a/tests/wpt/meta/html/canvas/offscreen/text/2d.text.measure.getActualBoundingBox-exceptions.tentative.html.ini b/tests/wpt/meta/html/canvas/offscreen/text/2d.text.measure.getActualBoundingBox-exceptions.tentative.html.ini
index 26263231bef..2d35306eab0 100644
--- a/tests/wpt/meta/html/canvas/offscreen/text/2d.text.measure.getActualBoundingBox-exceptions.tentative.html.ini
+++ b/tests/wpt/meta/html/canvas/offscreen/text/2d.text.measure.getActualBoundingBox-exceptions.tentative.html.ini
@@ -1,2 +1,3 @@
[2d.text.measure.getActualBoundingBox-exceptions.tentative.html]
- expected: ERROR
+ [Check that TextMetrics::getActualBoundingBox() throws when using invalid indexes.]
+ expected: FAIL
diff --git a/tests/wpt/meta/html/canvas/offscreen/text/2d.text.measure.getActualBoundingBox-exceptions.tentative.worker.js.ini b/tests/wpt/meta/html/canvas/offscreen/text/2d.text.measure.getActualBoundingBox-exceptions.tentative.worker.js.ini
index 615275f70fe..0a33e60450b 100644
--- a/tests/wpt/meta/html/canvas/offscreen/text/2d.text.measure.getActualBoundingBox-exceptions.tentative.worker.js.ini
+++ b/tests/wpt/meta/html/canvas/offscreen/text/2d.text.measure.getActualBoundingBox-exceptions.tentative.worker.js.ini
@@ -1,2 +1,3 @@
[2d.text.measure.getActualBoundingBox-exceptions.tentative.worker.html]
- expected: TIMEOUT
+ [Check that TextMetrics::getActualBoundingBox() throws when using invalid indexes.]
+ expected: FAIL
diff --git a/tests/wpt/meta/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_popups_nonescaping-1.html.ini b/tests/wpt/meta/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_popups_nonescaping-1.html.ini
index bbc1f35d8d9..8822f4daba6 100644
--- a/tests/wpt/meta/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_popups_nonescaping-1.html.ini
+++ b/tests/wpt/meta/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_popups_nonescaping-1.html.ini
@@ -1,3 +1,4 @@
[iframe_sandbox_popups_nonescaping-1.html]
+ expected: CRASH
[Check that popups from a sandboxed iframe do not escape the sandbox]
expected: FAIL
diff --git a/tests/wpt/meta/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_popups_nonescaping-2.html.ini b/tests/wpt/meta/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_popups_nonescaping-2.html.ini
index a6591b318dc..1ae1c2cc134 100644
--- a/tests/wpt/meta/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_popups_nonescaping-2.html.ini
+++ b/tests/wpt/meta/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_popups_nonescaping-2.html.ini
@@ -1,4 +1,4 @@
[iframe_sandbox_popups_nonescaping-2.html]
- expected: TIMEOUT
+ expected: CRASH
[Check that popups from a sandboxed iframe do not escape the sandbox]
expected: FAIL
diff --git a/tests/wpt/meta/html/semantics/forms/form-submission-0/reparent-form-during-planned-navigation-task.html.ini b/tests/wpt/meta/html/semantics/forms/form-submission-0/reparent-form-during-planned-navigation-task.html.ini
new file mode 100644
index 00000000000..7682a4830bf
--- /dev/null
+++ b/tests/wpt/meta/html/semantics/forms/form-submission-0/reparent-form-during-planned-navigation-task.html.ini
@@ -0,0 +1,4 @@
+[reparent-form-during-planned-navigation-task.html]
+ expected: TIMEOUT
+ [reparent-form-during-planned-navigation-task]
+ expected: TIMEOUT
diff --git a/tests/wpt/meta/html/semantics/forms/the-select-element/stylable-select/select-parsing.tentative.html.ini b/tests/wpt/meta/html/semantics/forms/the-select-element/stylable-select/select-parsing.tentative.html.ini
index ee79c0a08cd..85465f58574 100644
--- a/tests/wpt/meta/html/semantics/forms/the-select-element/stylable-select/select-parsing.tentative.html.ini
+++ b/tests/wpt/meta/html/semantics/forms/the-select-element/stylable-select/select-parsing.tentative.html.ini
@@ -16,3 +16,9 @@
[Nested <button>s or <datalist>s in <select> should be dropped.]
expected: FAIL
+
+ [<div>s, <button>s, and <datalist>s should be allowed in <select>.]
+ expected: FAIL
+
+ [Divs and imgs should be allowed as direct children of select and within options without a datalist.]
+ expected: FAIL
diff --git a/tests/wpt/meta/quirks/line-height-in-list-item.html.ini b/tests/wpt/meta/quirks/line-height-in-list-item.html.ini
new file mode 100644
index 00000000000..dc0b5c1dcc5
--- /dev/null
+++ b/tests/wpt/meta/quirks/line-height-in-list-item.html.ini
@@ -0,0 +1,2 @@
+[line-height-in-list-item.html]
+ expected: FAIL
diff --git a/tests/wpt/meta/quirks/line-height-in-list-item.tentative.html.ini b/tests/wpt/meta/quirks/line-height-in-list-item.tentative.html.ini
deleted file mode 100644
index d7ad6098d4d..00000000000
--- a/tests/wpt/meta/quirks/line-height-in-list-item.tentative.html.ini
+++ /dev/null
@@ -1,2 +0,0 @@
-[line-height-in-list-item.tentative.html]
- expected: FAIL
diff --git a/tests/wpt/meta-legacy-layout/webstorage/localstorage-about-blank-3P-iframe-opens-3P-window.partitioned.tentative.html.ini b/tests/wpt/meta/webstorage/localstorage-about-blank-3P-iframe-opens-3P-window.partitioned.html.ini
index aa6c9e5b826..76d85b5bdf6 100644
--- a/tests/wpt/meta-legacy-layout/webstorage/localstorage-about-blank-3P-iframe-opens-3P-window.partitioned.tentative.html.ini
+++ b/tests/wpt/meta/webstorage/localstorage-about-blank-3P-iframe-opens-3P-window.partitioned.html.ini
@@ -1,4 +1,4 @@
-[localstorage-about-blank-3P-iframe-opens-3P-window.partitioned.tentative.html]
+[localstorage-about-blank-3P-iframe-opens-3P-window.partitioned.html]
expected: TIMEOUT
[StorageKey: test 3P about:blank window opened from a 3P iframe]
expected: TIMEOUT
diff --git a/tests/wpt/meta/webstorage/localstorage-basic-partitioned.tentative.sub.html.ini b/tests/wpt/meta/webstorage/localstorage-basic-partitioned.sub.html.ini
index 12c96e3e191..53b1d11a9c7 100644
--- a/tests/wpt/meta/webstorage/localstorage-basic-partitioned.tentative.sub.html.ini
+++ b/tests/wpt/meta/webstorage/localstorage-basic-partitioned.sub.html.ini
@@ -1,4 +1,4 @@
-[localstorage-basic-partitioned.tentative.sub.html]
+[localstorage-basic-partitioned.sub.html]
expected: TIMEOUT
[Simple test for partitioned localStorage]
expected: TIMEOUT
diff --git a/tests/wpt/meta-legacy-layout/webstorage/sessionStorage-basic-partitioned.tentative.sub.html.ini b/tests/wpt/meta/webstorage/sessionStorage-basic-partitioned.sub.html.ini
index 030b13bcb30..0ed459828e5 100644
--- a/tests/wpt/meta-legacy-layout/webstorage/sessionStorage-basic-partitioned.tentative.sub.html.ini
+++ b/tests/wpt/meta/webstorage/sessionStorage-basic-partitioned.sub.html.ini
@@ -1,4 +1,4 @@
-[sessionStorage-basic-partitioned.tentative.sub.html]
+[sessionStorage-basic-partitioned.sub.html]
expected: TIMEOUT
[Simple test for partitioned sessionStorage]
expected: TIMEOUT
diff --git a/tests/wpt/tests/.github/workflows/docker.yml b/tests/wpt/tests/.github/workflows/docker.yml
index c6cb0ac58ef..2484331cc09 100644
--- a/tests/wpt/tests/.github/workflows/docker.yml
+++ b/tests/wpt/tests/.github/workflows/docker.yml
@@ -40,7 +40,7 @@ jobs:
latest
type=raw,value=${{ inputs.tag }}
- name: Build and push the Docker image
- uses: docker/build-push-action@15560696de535e4014efeff63c48f16952e52dd1 # v6.2.0
+ uses: docker/build-push-action@1a162644f9a7e87d8f4b053101d1d9a712edc18c # v6.3.0
with:
context: ./tools/docker
push: true
diff --git a/tests/wpt/tests/IndexedDB/idb-partitioned-basic.tentative.sub.html b/tests/wpt/tests/IndexedDB/idb-partitioned-basic.sub.html
index 16bdacf6c6d..de7953d83ee 100644
--- a/tests/wpt/tests/IndexedDB/idb-partitioned-basic.tentative.sub.html
+++ b/tests/wpt/tests/IndexedDB/idb-partitioned-basic.sub.html
@@ -4,7 +4,7 @@
<meta name=help href="https://privacycg.github.io/storage-partitioning/">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
-<iframe id="shared-iframe" src="http://{{host}}:{{ports[http][0]}}/IndexedDB/resources/idb-partitioned-basic-iframe.tentative.html"></iframe>
+<iframe id="shared-iframe" src="http://{{host}}:{{ports[http][0]}}/IndexedDB/resources/idb-partitioned-basic-iframe.html"></iframe>
<body>
<script>
// Here's the set-up for this test:
@@ -26,7 +26,7 @@ async_test(t => {
// Step 3
if (e.data.message === "same-site iframe loaded") {
if (location.origin !== altOrigin) {
- const crossSiteWindow = window.open(`${altOrigin}/IndexedDB/idb-partitioned-basic.tentative.sub.html`, "", "noopener=false");
+ const crossSiteWindow = window.open(`${altOrigin}/IndexedDB/idb-partitioned-basic.sub.html`, "", "noopener=false");
t.add_cleanup(() => crossSiteWindow.close());
}
}
diff --git a/tests/wpt/tests/IndexedDB/idb-partitioned-coverage.tentative.sub.html b/tests/wpt/tests/IndexedDB/idb-partitioned-coverage.sub.html
index ae0884cb527..2ca3876ebe3 100644
--- a/tests/wpt/tests/IndexedDB/idb-partitioned-coverage.tentative.sub.html
+++ b/tests/wpt/tests/IndexedDB/idb-partitioned-coverage.sub.html
@@ -5,7 +5,7 @@
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<body>
-<iframe id="iframe" src="http://{{hosts[alt][]}}:{{ports[http][0]}}/IndexedDB/resources/idb-partitioned-coverage-iframe.tentative.html"></iframe>
+<iframe id="iframe" src="http://{{hosts[alt][]}}:{{ports[http][0]}}/IndexedDB/resources/idb-partitioned-coverage-iframe.html"></iframe>
<script>
fetch_tests_from_window(document.getElementById("iframe").contentWindow);
</script>
diff --git a/tests/wpt/tests/IndexedDB/idb-partitioned-persistence.tentative.sub.html b/tests/wpt/tests/IndexedDB/idb-partitioned-persistence.sub.html
index 65a0a085e22..fce632ba773 100644
--- a/tests/wpt/tests/IndexedDB/idb-partitioned-persistence.tentative.sub.html
+++ b/tests/wpt/tests/IndexedDB/idb-partitioned-persistence.sub.html
@@ -56,8 +56,8 @@ async_test(t => {
}
}));
- iframe1.src = "http://{{hosts[alt][]}}:{{ports[http][0]}}/IndexedDB/resources/idb-partitioned-persistence-iframe.tentative.html";
- iframe2.src = "http://{{hosts[alt][]}}:{{ports[http][0]}}/IndexedDB/resources/idb-partitioned-persistence-iframe.tentative.html";
+ iframe1.src = "http://{{hosts[alt][]}}:{{ports[http][0]}}/IndexedDB/resources/idb-partitioned-persistence-iframe.html";
+ iframe2.src = "http://{{hosts[alt][]}}:{{ports[http][0]}}/IndexedDB/resources/idb-partitioned-persistence-iframe.html";
}, "Persistence test for partitioned IndexedDB");
</script>
</body>
diff --git a/tests/wpt/tests/IndexedDB/resources/idb-partitioned-basic-iframe.tentative.html b/tests/wpt/tests/IndexedDB/resources/idb-partitioned-basic-iframe.html
index ed6bbf272f0..ed6bbf272f0 100644
--- a/tests/wpt/tests/IndexedDB/resources/idb-partitioned-basic-iframe.tentative.html
+++ b/tests/wpt/tests/IndexedDB/resources/idb-partitioned-basic-iframe.html
diff --git a/tests/wpt/tests/IndexedDB/resources/idb-partitioned-coverage-iframe.tentative.html b/tests/wpt/tests/IndexedDB/resources/idb-partitioned-coverage-iframe.html
index a7be7e2cc94..a7be7e2cc94 100644
--- a/tests/wpt/tests/IndexedDB/resources/idb-partitioned-coverage-iframe.tentative.html
+++ b/tests/wpt/tests/IndexedDB/resources/idb-partitioned-coverage-iframe.html
diff --git a/tests/wpt/tests/IndexedDB/resources/idb-partitioned-persistence-iframe.tentative.html b/tests/wpt/tests/IndexedDB/resources/idb-partitioned-persistence-iframe.html
index ad6869f945a..ad6869f945a 100644
--- a/tests/wpt/tests/IndexedDB/resources/idb-partitioned-persistence-iframe.tentative.html
+++ b/tests/wpt/tests/IndexedDB/resources/idb-partitioned-persistence-iframe.html
diff --git a/tests/wpt/tests/IndexedDB/transaction-relaxed-durability.tentative.any.js b/tests/wpt/tests/IndexedDB/transaction-relaxed-durability.any.js
index 9197389a244..9197389a244 100644
--- a/tests/wpt/tests/IndexedDB/transaction-relaxed-durability.tentative.any.js
+++ b/tests/wpt/tests/IndexedDB/transaction-relaxed-durability.any.js
diff --git a/tests/wpt/tests/attribution-reporting/aggregatable-debug/simple-source-aggregatable-debug-report.sub.https.html b/tests/wpt/tests/attribution-reporting/aggregatable-debug/simple-source-aggregatable-debug-report.sub.https.html
index 9b5d6fcb4e0..511c9e35b81 100644
--- a/tests/wpt/tests/attribution-reporting/aggregatable-debug/simple-source-aggregatable-debug-report.sub.https.html
+++ b/tests/wpt/tests/attribution-reporting/aggregatable-debug/simple-source-aggregatable-debug-report.sub.https.html
@@ -38,7 +38,7 @@ attribution_reporting_promise_test(async t => {
assert_own_property(shared_info, 'reporting_origin');
assert_own_property(shared_info, 'scheduled_report_time');
assert_own_property(shared_info, 'version');
- assert_equals(shared_info.version, '0.1');
+ assert_equals(shared_info.version, '1.0');
assert_own_property(shared_info, 'attribution_destination');
assert_equals(shared_info.attribution_destination, host);
assert_not_own_property(shared_info, 'source_registration_time');
diff --git a/tests/wpt/tests/attribution-reporting/aggregatable-debug/simple-trigger-aggregatable-debug-report.sub.https.html b/tests/wpt/tests/attribution-reporting/aggregatable-debug/simple-trigger-aggregatable-debug-report.sub.https.html
index 68eae824a29..e2a3bfa06b7 100644
--- a/tests/wpt/tests/attribution-reporting/aggregatable-debug/simple-trigger-aggregatable-debug-report.sub.https.html
+++ b/tests/wpt/tests/attribution-reporting/aggregatable-debug/simple-trigger-aggregatable-debug-report.sub.https.html
@@ -37,7 +37,7 @@ attribution_reporting_promise_test(async t => {
assert_own_property(shared_info, 'reporting_origin');
assert_own_property(shared_info, 'scheduled_report_time');
assert_own_property(shared_info, 'version');
- assert_equals(shared_info.version, '0.1');
+ assert_equals(shared_info.version, '1.0');
assert_own_property(shared_info, 'attribution_destination');
assert_equals(shared_info.attribution_destination, host);
assert_not_own_property(shared_info, 'source_registration_time');
diff --git a/tests/wpt/tests/content-security-policy/generic/eval-typecheck-callout-order.tentative.html b/tests/wpt/tests/content-security-policy/generic/eval-typecheck-callout-order.html
index 0be7cf29a28..0be7cf29a28 100644
--- a/tests/wpt/tests/content-security-policy/generic/eval-typecheck-callout-order.tentative.html
+++ b/tests/wpt/tests/content-security-policy/generic/eval-typecheck-callout-order.html
diff --git a/tests/wpt/tests/content-security-policy/generic/eval-typecheck-callout-order.tentative.html.headers b/tests/wpt/tests/content-security-policy/generic/eval-typecheck-callout-order.html.headers
index 85de8bd415d..85de8bd415d 100644
--- a/tests/wpt/tests/content-security-policy/generic/eval-typecheck-callout-order.tentative.html.headers
+++ b/tests/wpt/tests/content-security-policy/generic/eval-typecheck-callout-order.html.headers
diff --git a/tests/wpt/tests/content-security-policy/nonce-hiding/dangling-html-or-body.tentative.html b/tests/wpt/tests/content-security-policy/nonce-hiding/dangling-html-or-body.html
index 4ba65e05b88..4ba65e05b88 100644
--- a/tests/wpt/tests/content-security-policy/nonce-hiding/dangling-html-or-body.tentative.html
+++ b/tests/wpt/tests/content-security-policy/nonce-hiding/dangling-html-or-body.html
diff --git a/tests/wpt/tests/content-security-policy/nonce-hiding/dangling-html-or-body.tentative.html.headers b/tests/wpt/tests/content-security-policy/nonce-hiding/dangling-html-or-body.html.headers
index 67d4c81e589..67d4c81e589 100644
--- a/tests/wpt/tests/content-security-policy/nonce-hiding/dangling-html-or-body.tentative.html.headers
+++ b/tests/wpt/tests/content-security-policy/nonce-hiding/dangling-html-or-body.html.headers
diff --git a/tests/wpt/tests/contenteditable/synthetic-height.tentative.html b/tests/wpt/tests/contenteditable/synthetic-height.html
index 4d466bff412..4d466bff412 100644
--- a/tests/wpt/tests/contenteditable/synthetic-height.tentative.html
+++ b/tests/wpt/tests/contenteditable/synthetic-height.html
diff --git a/tests/wpt/tests/cookie-store/idlharness.tentative.https.any.js b/tests/wpt/tests/cookie-store/idlharness.https.any.js
index 6312f3c4ba3..6312f3c4ba3 100644
--- a/tests/wpt/tests/cookie-store/idlharness.tentative.https.any.js
+++ b/tests/wpt/tests/cookie-store/idlharness.https.any.js
diff --git a/tests/wpt/tests/cookies/resources/cookie-test.js b/tests/wpt/tests/cookies/resources/cookie-test.js
index 8299c473178..58f5109c813 100644
--- a/tests/wpt/tests/cookies/resources/cookie-test.js
+++ b/tests/wpt/tests/cookies/resources/cookie-test.js
@@ -5,7 +5,6 @@ async function getAndExpireCookiesForDefaultPathTest() {
try {
const iframe = document.createElement('iframe');
iframe.style = 'display: none';
- iframe.src = '/cookies/resources/echo-cookie.html';
iframe.addEventListener('load', (e) => {
const win = e.target.contentWindow;
const iframeCookies = win.getCookies();
@@ -14,6 +13,7 @@ async function getAndExpireCookiesForDefaultPathTest() {
resolve(iframeCookies);
});
}, {once: true});
+ iframe.src = '/cookies/resources/echo-cookie.html';
document.documentElement.appendChild(iframe);
} catch (e) {
reject(e);
@@ -28,7 +28,6 @@ async function getAndExpireCookiesForRedirectTest(location) {
try {
const iframe = document.createElement('iframe');
iframe.style = 'display: none';
- iframe.src = location;
const listener = (e) => {
if (typeof e.data == 'object' && 'cookies' in e.data) {
window.removeEventListener('message', listener);
@@ -40,6 +39,7 @@ async function getAndExpireCookiesForRedirectTest(location) {
iframe.addEventListener('load', (e) => {
e.target.contentWindow.postMessage('getAndExpireCookiesForRedirectTest', '*');
}, {once: true});
+ iframe.src = location;
document.documentElement.appendChild(iframe);
} catch (e) {
reject(e);
diff --git a/tests/wpt/tests/css/css-align/blocks/align-content-block-dynamic-content-ref.html b/tests/wpt/tests/css/css-align/blocks/align-content-block-dynamic-content-ref.html
new file mode 100644
index 00000000000..b77c76235d9
--- /dev/null
+++ b/tests/wpt/tests/css/css-align/blocks/align-content-block-dynamic-content-ref.html
@@ -0,0 +1,5 @@
+<!DOCTYPE html>
+<div style="width: 100px; height: 100px; align-content: center; border: solid 3px;">
+ text text text text text text text text
+ <span>text</span>
+</div>
diff --git a/tests/wpt/tests/css/css-align/blocks/align-content-block-dynamic-content.html b/tests/wpt/tests/css/css-align/blocks/align-content-block-dynamic-content.html
new file mode 100644
index 00000000000..4d54c8847a9
--- /dev/null
+++ b/tests/wpt/tests/css/css-align/blocks/align-content-block-dynamic-content.html
@@ -0,0 +1,11 @@
+<!DOCTYPE html>
+<link rel="help" href="https://issues.chromium.org/issues/353898969">
+<link rel="match" href="align-content-block-dynamic-content-ref.html">
+<div style="width: 100px; height: 100px; align-content: center; border: solid 3px;">
+ text text text text text text text text
+ <span id="target"></span>
+</div>
+<script>
+document.body.offsetTop;
+document.getElementById('target').innerText = "text";
+</script>
diff --git a/tests/wpt/tests/css/css-animations/jump-start-animation-before-phase-ref.html b/tests/wpt/tests/css/css-animations/jump-start-animation-before-phase-ref.html
new file mode 100644
index 00000000000..3e1d363058f
--- /dev/null
+++ b/tests/wpt/tests/css/css-animations/jump-start-animation-before-phase-ref.html
@@ -0,0 +1,20 @@
+<!DOCTYPE html>
+<html>
+<title>Validates rendering of an animated element with jump-start in the before phase</title>
+<style type="text/css" media="screen">
+ body {
+ margin: 0;
+ }
+
+ #target {
+ height: 100px;
+ width: 100px;
+ margin: 0;
+ background-color: green;
+ transform: translateX(100px);
+ }
+</style>
+<body>
+ <div id="target"></div>
+</body>
+</html>
diff --git a/tests/wpt/tests/css/css-animations/jump-start-animation-before-phase.html b/tests/wpt/tests/css/css-animations/jump-start-animation-before-phase.html
new file mode 100644
index 00000000000..86cca0bcda1
--- /dev/null
+++ b/tests/wpt/tests/css/css-animations/jump-start-animation-before-phase.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<html class="reftest-wait">
+<title>Validates rendering of an animated element with jump-start in the before phase</title>
+<link rel="help" href="https://www.w3.org/TR/css-animations-1">
+<link rel="help" href="https://www.w3.org/TR/web-animations-1/#calculating-the-transformed-progress">
+<link rel="match" href="jump-start-animation-before-phase-ref.html">
+<style type="text/css" media="screen">
+ body {
+ margin: 0;
+ }
+
+ @keyframes slide {
+ from { transform: translateX(100px); }
+ to { transform: translateX(200px); }
+ }
+
+ #target {
+ background-color: green;
+ height: 100px;
+ width: 100px;
+ margin: 0;
+ animation: slide 10000s 5000s steps(1, jump-start) backwards;
+ }
+</style>
+<body>
+ <div id="target"></div>
+</body>
+<script src="/common/reftest-wait.js"></script>
+<script src="support/testcommon.js"></script>
+<script type="text/javascript">
+ window.onload = async () => {
+ await document.getAnimations()[0].ready;
+ await waitForNextFrame();
+ takeScreenshot();
+ }
+</script>
diff --git a/tests/wpt/tests/css/css-break/box-decoration-break-clone-010.html b/tests/wpt/tests/css/css-break/box-decoration-break-clone-010.html
new file mode 100644
index 00000000000..283ddb96ed4
--- /dev/null
+++ b/tests/wpt/tests/css/css-break/box-decoration-break-clone-010.html
@@ -0,0 +1,9 @@
+<!DOCTYPE html>
+<link rel="author" title="Morten Stenshorne" href="mailto:mstensho@chromium.org">
+<link rel="help" href="https://drafts.csswg.org/css-break/#break-decoration">
+<meta name="assert" content="Nested multicol with tall cloned borders.">
+<link rel="match" href="../reference/ref-filled-green-100px-square.xht">
+<p>Test passes if there is a filled green square and <strong>no red</strong>.</p>
+<div style="columns:4; column-fill:auto; gap:0; width:100px; height:100px; background:red;">
+ <div style="columns:2; column-fill:auto; gap:0; box-decoration-break:clone; height:80px; border:solid green; border-width:40px 0; background:green;"></div>
+</div>
diff --git a/tests/wpt/tests/css/css-break/box-decoration-break-clone-011.html b/tests/wpt/tests/css/css-break/box-decoration-break-clone-011.html
new file mode 100644
index 00000000000..f4bea5092b3
--- /dev/null
+++ b/tests/wpt/tests/css/css-break/box-decoration-break-clone-011.html
@@ -0,0 +1,11 @@
+<!DOCTYPE html>
+<link rel="author" title="Morten Stenshorne" href="mailto:mstensho@chromium.org">
+<link rel="help" href="https://drafts.csswg.org/css-break/#break-decoration">
+<meta name="assert" content="Tall monolithic content as first child.">
+<link rel="match" href="../reference/ref-filled-green-100px-square.xht">
+<p>Test passes if there is a filled green square and <strong>no red</strong>.</p>
+<div style="overflow:clip; columns:1; column-fill:auto; gap:0; width:100px; height:100px; background:red;">
+ <div style="box-decoration-break:clone; border:20px solid green;">
+ <div style="contain:size; height:100px; background:green;"></div>
+ </div>
+</div>
diff --git a/tests/wpt/tests/css/css-break/box-decoration-break-clone-012.html b/tests/wpt/tests/css/css-break/box-decoration-break-clone-012.html
new file mode 100644
index 00000000000..fb2b42f4d63
--- /dev/null
+++ b/tests/wpt/tests/css/css-break/box-decoration-break-clone-012.html
@@ -0,0 +1,21 @@
+<!DOCTYPE html>
+<link rel="author" title="Morten Stenshorne" href="mailto:mstensho@chromium.org">
+<link rel="help" href="https://drafts.csswg.org/css-break/#break-decoration">
+<meta name="assert" content="Break before tall monolithic content.">
+<link rel="match" href="../reference/ref-filled-green-100px-square.xht">
+<p>Test passes if there is a filled green square and <strong>no red</strong>.</p>
+<div style="overflow:clip; width:100px; height:100px; background:red;">
+ <div style="columns:2; column-fill:auto; gap:0; height:60px;">
+ <div style="box-decoration-break:clone; border:20px solid green;">
+ <div style="height:10px; background:green;"></div>
+ <div style="contain:size; height:150px; background:green;">
+ <div style="height:10px;"></div>
+ <!-- Fill the hole inside the border in the first column: -->
+ <div style="margin-left:-50px; width:10px; height:10px; background:green;"></div>
+ <div style="height:20px;"></div>
+ <!-- Fill the gap after the box in the first column: -->
+ <div style="margin-left:-70px; width:50px; height:40px; background:green;"></div>
+ </div>
+ </div>
+ </div>
+</div>
diff --git a/tests/wpt/tests/css/css-break/box-decoration-break-clone-013.html b/tests/wpt/tests/css/css-break/box-decoration-break-clone-013.html
new file mode 100644
index 00000000000..5dea3757a80
--- /dev/null
+++ b/tests/wpt/tests/css/css-break/box-decoration-break-clone-013.html
@@ -0,0 +1,11 @@
+<!DOCTYPE html>
+<link rel="author" title="Morten Stenshorne" href="mailto:mstensho@chromium.org">
+<link rel="help" href="https://drafts.csswg.org/css-break/#break-decoration">
+<meta name="assert" content="Tall monolithic content as first child, float edition.">
+<link rel="match" href="../reference/ref-filled-green-100px-square.xht">
+<p>Test passes if there is a filled green square and <strong>no red</strong>.</p>
+<div style="overflow:clip; columns:1; column-fill:auto; gap:0; width:100px; height:100px; background:red;">
+ <div style="display:flow-root; box-decoration-break:clone; border:20px solid green;">
+ <div style="contain:size; float:left; width:100%; height:100px; background:green;"></div>
+ </div>
+</div>
diff --git a/tests/wpt/tests/css/css-break/box-decoration-break-clone-014.html b/tests/wpt/tests/css/css-break/box-decoration-break-clone-014.html
new file mode 100644
index 00000000000..f6b17e48c0f
--- /dev/null
+++ b/tests/wpt/tests/css/css-break/box-decoration-break-clone-014.html
@@ -0,0 +1,11 @@
+<!DOCTYPE html>
+<link rel="author" title="Morten Stenshorne" href="mailto:mstensho@chromium.org">
+<link rel="help" href="https://drafts.csswg.org/css-break/#break-decoration">
+<meta name="assert" content="Cloned box decorations on auto-sized flex container, row flow">
+<link rel="match" href="../reference/ref-filled-green-100px-square.xht">
+<p>Test passes if there is a filled green square and <strong>no red</strong>.</p>
+<div style="columns:4; column-fill:auto; gap:0; width:100px; height:100px; background:red;">
+ <div style="display:flex; border:10px solid green; box-decoration-break:clone;">
+ <div style="height:320px; width:5px; background:green;"></div>
+ </div>
+</div>
diff --git a/tests/wpt/tests/css/css-break/box-decoration-break-clone-015.html b/tests/wpt/tests/css/css-break/box-decoration-break-clone-015.html
new file mode 100644
index 00000000000..36751ef11ae
--- /dev/null
+++ b/tests/wpt/tests/css/css-break/box-decoration-break-clone-015.html
@@ -0,0 +1,11 @@
+<!DOCTYPE html>
+<link rel="author" title="Morten Stenshorne" href="mailto:mstensho@chromium.org">
+<link rel="help" href="https://drafts.csswg.org/css-break/#break-decoration">
+<meta name="assert" content="Cloned box decorations on auto-sized flex container, column flow">
+<link rel="match" href="../reference/ref-filled-green-100px-square.xht">
+<p>Test passes if there is a filled green square and <strong>no red</strong>.</p>
+<div style="columns:4; column-fill:auto; gap:0; width:100px; height:100px; background:red;">
+ <div style="display:flex; flex-flow:column; border:10px solid green; box-decoration-break:clone;">
+ <div style="height:320px; background:green;"></div>
+ </div>
+</div>
diff --git a/tests/wpt/tests/css/css-break/box-decoration-break-clone-016.html b/tests/wpt/tests/css/css-break/box-decoration-break-clone-016.html
new file mode 100644
index 00000000000..850e264f191
--- /dev/null
+++ b/tests/wpt/tests/css/css-break/box-decoration-break-clone-016.html
@@ -0,0 +1,11 @@
+<!DOCTYPE html>
+<link rel="author" title="Morten Stenshorne" href="mailto:mstensho@chromium.org">
+<link rel="help" href="https://drafts.csswg.org/css-break/#break-decoration">
+<meta name="assert" content="Cloned box decorations on fixed-sized flex container, row flow">
+<link rel="match" href="../reference/ref-filled-green-100px-square.xht">
+<p>Test passes if there is a filled green square and <strong>no red</strong>.</p>
+<div style="columns:4; column-fill:auto; gap:0; width:100px; height:100px; background:red;">
+ <div style="display:flex; border:10px solid green; height:320px; box-decoration-break:clone;">
+ <div style="width:5px; background:green;"></div>
+ </div>
+</div>
diff --git a/tests/wpt/tests/css/css-break/box-decoration-break-clone-017.html b/tests/wpt/tests/css/css-break/box-decoration-break-clone-017.html
new file mode 100644
index 00000000000..aad729907bf
--- /dev/null
+++ b/tests/wpt/tests/css/css-break/box-decoration-break-clone-017.html
@@ -0,0 +1,11 @@
+<!DOCTYPE html>
+<link rel="author" title="Morten Stenshorne" href="mailto:mstensho@chromium.org">
+<link rel="help" href="https://drafts.csswg.org/css-break/#break-decoration">
+<meta name="assert" content="Cloned box decorations on fixed-sized flex container, column flow">
+<link rel="match" href="../reference/ref-filled-green-100px-square.xht">
+<p>Test passes if there is a filled green square and <strong>no red</strong>.</p>
+<div style="columns:4; column-fill:auto; gap:0; width:100px; height:100px; background:red;">
+ <div style="display:flex; flex-flow:column; border:10px solid green; height:320px; box-decoration-break:clone;">
+ <div style="flex:1; width:5px; background:green;"></div>
+ </div>
+</div>
diff --git a/tests/wpt/tests/css/css-break/box-decoration-break-clone-018.html b/tests/wpt/tests/css/css-break/box-decoration-break-clone-018.html
new file mode 100644
index 00000000000..ae9811f7a27
--- /dev/null
+++ b/tests/wpt/tests/css/css-break/box-decoration-break-clone-018.html
@@ -0,0 +1,11 @@
+<!DOCTYPE html>
+<link rel="author" title="Morten Stenshorne" href="mailto:mstensho@chromium.org">
+<link rel="help" href="https://drafts.csswg.org/css-break/#break-decoration">
+<meta name="assert" content="Cloned box decorations on flex item in row flow">
+<link rel="match" href="../reference/ref-filled-green-100px-square.xht">
+<p>Test passes if there is a filled green square and <strong>no red</strong>.</p>
+<div style="columns:4; column-fill:auto; gap:0; width:100px; height:100px; background:red;">
+ <div style="display:flex;">
+ <div style="border:10px solid green; box-decoration-break:clone; width:5px; height:320px; background:green;"></div>
+ </div>
+</div>
diff --git a/tests/wpt/tests/css/css-break/box-decoration-break-clone-019.html b/tests/wpt/tests/css/css-break/box-decoration-break-clone-019.html
new file mode 100644
index 00000000000..55e1495f9c4
--- /dev/null
+++ b/tests/wpt/tests/css/css-break/box-decoration-break-clone-019.html
@@ -0,0 +1,11 @@
+<!DOCTYPE html>
+<link rel="author" title="Morten Stenshorne" href="mailto:mstensho@chromium.org">
+<link rel="help" href="https://drafts.csswg.org/css-break/#break-decoration">
+<meta name="assert" content="Cloned box decorations on flex item in column flow">
+<link rel="match" href="../reference/ref-filled-green-100px-square.xht">
+<p>Test passes if there is a filled green square and <strong>no red</strong>.</p>
+<div style="columns:4; column-fill:auto; gap:0; width:100px; height:100px; background:red;">
+ <div style="display:flex; flex-flow:column;">
+ <div style="border:10px solid green; box-decoration-break:clone; height:320px; background:green;"></div>
+ </div>
+</div>
diff --git a/tests/wpt/tests/css/css-break/box-decoration-break-clone-020.html b/tests/wpt/tests/css/css-break/box-decoration-break-clone-020.html
new file mode 100644
index 00000000000..2f24cf48e21
--- /dev/null
+++ b/tests/wpt/tests/css/css-break/box-decoration-break-clone-020.html
@@ -0,0 +1,12 @@
+<!DOCTYPE html>
+<link rel="author" title="Morten Stenshorne" href="mailto:mstensho@chromium.org">
+<link rel="help" href="https://drafts.csswg.org/css-break/#break-decoration">
+<meta name="assert" content="Cloned box decorations on flex container with item with forced break in column flow">
+<link rel="match" href="../reference/ref-filled-green-100px-square.xht">
+<p>Test passes if there is a filled green square and <strong>no red</strong>.</p>
+<div style="columns:2; column-fill:auto; gap:0; width:100px; height:100px; background:red;">
+ <div style="display:flex; flex-flow:column; box-decoration-break:clone; border:solid green; border-width:20px 0 10px; background:green;">
+ <div style="height:20px;"></div>
+ <div style="break-before:column; height:70px;"></div>
+ </div>
+</div>
diff --git a/tests/wpt/tests/css/css-break/box-decoration-break-clone-021.html b/tests/wpt/tests/css/css-break/box-decoration-break-clone-021.html
new file mode 100644
index 00000000000..825c25dbf52
--- /dev/null
+++ b/tests/wpt/tests/css/css-break/box-decoration-break-clone-021.html
@@ -0,0 +1,12 @@
+<!DOCTYPE html>
+<link rel="author" title="Morten Stenshorne" href="mailto:mstensho@chromium.org">
+<link rel="help" href="https://drafts.csswg.org/css-break/#break-decoration">
+<meta name="assert" content="Cloned box decorations on flex container with item with forced break in row flow">
+<link rel="match" href="../reference/ref-filled-green-100px-square.xht">
+<p>Test passes if there is a filled green square and <strong>no red</strong>.</p>
+<div style="columns:4; column-fill:auto; gap:0; width:100px; height:100px; background:red;">
+ <div style="display:flex; flex-flow:wrap; box-decoration-break:clone; border:solid green; border-width:20px 0 10px; background:green;">
+ <div style="width:51%; height:20px;"></div>
+ <div style="break-inside:avoid; break-before:column; width:51%; height:210px;"></div>
+ </div>
+</div>
diff --git a/tests/wpt/tests/css/css-break/box-decoration-break-clone-022.html b/tests/wpt/tests/css/css-break/box-decoration-break-clone-022.html
new file mode 100644
index 00000000000..7250351fa08
--- /dev/null
+++ b/tests/wpt/tests/css/css-break/box-decoration-break-clone-022.html
@@ -0,0 +1,16 @@
+<!DOCTYPE html>
+<link rel="author" title="Morten Stenshorne" href="mailto:mstensho@chromium.org">
+<link rel="help" href="https://drafts.csswg.org/css-break/#break-decoration">
+<meta name="assert" content="Cloned box decorations on flex container with item with unforced break in wrapped row flow">
+<link rel="match" href="../reference/ref-filled-green-100px-square.xht">
+<p>Test passes if there is a filled green square and <strong>no red</strong>.</p>
+<div style="columns:4; column-fill:auto; gap:0; width:100px; height:100px; background:red;">
+ <div style="display:flex; flex-flow:wrap; box-decoration-break:clone; border:solid green; border-width:20px 0 10px; background:green;">
+ <div style="width:31%; height:117px;"></div>
+ <div style="width:31%; height:80px;"></div>
+ <div style="width:31%; height:80px;"></div>
+ <div style="width:31%; height:80px;"></div>
+ <div style="width:31%; height:80px;"></div>
+ <div style="width:31%; height:163px;"></div>
+ </div>
+</div>
diff --git a/tests/wpt/tests/css/css-break/box-decoration-break-clone-023.html b/tests/wpt/tests/css/css-break/box-decoration-break-clone-023.html
new file mode 100644
index 00000000000..90d39749468
--- /dev/null
+++ b/tests/wpt/tests/css/css-break/box-decoration-break-clone-023.html
@@ -0,0 +1,20 @@
+<!DOCTYPE html>
+<link rel="author" title="Morten Stenshorne" href="mailto:mstensho@chromium.org">
+<link rel="help" href="https://drafts.csswg.org/css-break/#break-decoration">
+<meta name="assert" content="Cloned box decorations on flex item with break in wrapped row flow.">
+<link rel="match" href="../reference/ref-filled-green-100px-square.xht">
+<p>Test passes if there is a filled green square and <strong>no red</strong>.</p>
+<div style="width:100px; height:100px; background:red;">
+ <div style="columns:4; column-fill:auto; gap:0; height:60px;">
+ <div style="display:flex; flex-flow:wrap; box-decoration-break:clone; border:solid green; border-width:20px 0 10px; background:green;">
+ <div style="width:50%; height:70px;"></div>
+ <div style="width:50%; height:30px;"></div>
+ <div style="width:50%; height:10px;"></div>
+ <div style="contain:size; width:50%; height:70px;">
+ <div style="height:40px;"></div>
+ <!-- Move to the first column, and cover the area below the first three columns: -->
+ <div style="height:40px; margin-left:-700%; width:600%; background:green;"></div>
+ </div>
+ </div>
+ </div>
+</div>
diff --git a/tests/wpt/tests/css/css-break/grid/grid-container-fragmentation-012.html b/tests/wpt/tests/css/css-break/grid/grid-container-fragmentation-012.html
new file mode 100644
index 00000000000..1a6935291bb
--- /dev/null
+++ b/tests/wpt/tests/css/css-break/grid/grid-container-fragmentation-012.html
@@ -0,0 +1,14 @@
+<!DOCTYPE html>
+<link rel="author" title="Morten Stenshorne" href="mailto:mstensho@chromium.org">
+<link rel="help" href="https://issues.chromium.org/issues/353880548">
+<link rel="match" href="../../reference/ref-filled-green-100px-square.xht">
+<p>Test passes if there is a filled green square and <strong>no red</strong>.</p>
+<div style="width:100px; height:100px; background:red;">
+ <div style="columns:2; gap:0; column-fill:auto; height:110px;">
+ <div style="contain:size; height:50px; background:green;"></div>
+ <div style="display:grid;">
+ <div style="contain:size; width:200%; height:50px; background:green;"></div>
+ <div style="contain:size; height:50px; background:green;"></div>
+ </div>
+ </div>
+</div>
diff --git a/tests/wpt/tests/css/css-cascade/scope-style-sharing-001.html b/tests/wpt/tests/css/css-cascade/scope-style-sharing-001.html
new file mode 100644
index 00000000000..2c1122a811d
--- /dev/null
+++ b/tests/wpt/tests/css/css-cascade/scope-style-sharing-001.html
@@ -0,0 +1,266 @@
+<!DOCTYPE html>
+<title>@scope - Sibling Style Sharing</title>
+<link rel="help" href="https://drafts.csswg.org/css-cascade-6/#scope-atrule">
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<main id=main></main>
+
+<template id=test_1>
+ <style>
+ @scope (.scope-start) to (.sibling + .sibling) {
+ .foo {
+ z-index: 1;
+ }
+ }
+ </style>
+ <div class="scope-start">
+ <div id="first" class="sibling foo"></div>
+ <div id="second" class="sibling foo"></div>
+ </div>
+</template>
+<script>
+test((t) => {
+ t.add_cleanup(() => main.replaceChildren());
+ main.append(test_1.content.cloneNode(true));
+
+ assert_equals(getComputedStyle(first).zIndex, '1');
+ assert_equals(getComputedStyle(second).zIndex, 'auto');
+}, '@scope with sibling style sharing, second sibling exits scope');
+</script>
+
+<template id=test_2>
+ <style>
+ @scope (.scope-start) to (.sibling:not(.sibling + div)) {
+ .foo {
+ z-index: 1;
+ }
+ }
+ </style>
+ <div class="scope-start">
+ <div id="first" class="sibling foo"></div>
+ <div id="second" class="sibling foo"></div>
+ </div>
+</template>
+<script>
+test((t) => {
+ t.add_cleanup(() => main.replaceChildren());
+ main.append(test_2.content.cloneNode(true));
+
+ assert_equals(getComputedStyle(first).zIndex, 'auto');
+ assert_equals(getComputedStyle(second).zIndex, '1');
+}, '@scope with sibling style sharing, first sibling matches scope');
+</script>
+
+<template id=test_3>
+ <style>
+ @scope (.sibling:not(.sibling + div)) {
+ :scope {
+ z-index: 1;
+ }
+ }
+ </style>
+ <div id="first" class="sibling"></div>
+ <div id="second" class="sibling"></div>
+</template>
+<script>
+test((t) => {
+ t.add_cleanup(() => main.replaceChildren());
+ main.append(test_3.content.cloneNode(true));
+
+ assert_equals(getComputedStyle(first).zIndex, '1');
+ assert_equals(getComputedStyle(second).zIndex, 'auto');
+}, '@scope with sibling style sharing, first sibling enters scope');
+</script>
+
+<template id=test_4>
+ <style>
+ @scope (.sibling + .sibling) {
+ :scope {
+ z-index: 1;
+ }
+ }
+ </style>
+ <div id="first" class="sibling"></div>
+ <div id="second" class="sibling"></div>
+</template>
+<script>
+test((t) => {
+ t.add_cleanup(() => main.replaceChildren());
+ main.append(test_4.content.cloneNode(true));
+
+ assert_equals(getComputedStyle(first).zIndex, 'auto');
+ assert_equals(getComputedStyle(second).zIndex, '1');
+}, '@scope with sibling style sharing, second sibling enters scope');
+</script>
+
+<template id=test_5>
+ <div id="first" class="sibling">
+ <style>
+ @scope {
+ :scope {
+ z-index: 1;
+ }
+ }
+ </style>
+ </div>
+ <div id="second" class="sibling">
+ </div>
+</template>
+<script>
+test((t) => {
+ t.add_cleanup(() => main.replaceChildren());
+ main.append(test_5.content.cloneNode(true));
+
+ assert_equals(getComputedStyle(first).zIndex, '1');
+ assert_equals(getComputedStyle(second).zIndex, 'auto');
+}, '@scope with sibling style sharing, first sibling has implicit scope');
+</script>
+
+<template id=test_6>
+ <div id="first" class="sibling">
+ </div>
+ <div id="second" class="sibling">
+ <style>
+ @scope {
+ :scope {
+ z-index: 1;
+ }
+ }
+ </style>
+ </div>
+</template>
+<script>
+test((t) => {
+ t.add_cleanup(() => main.replaceChildren());
+ main.append(test_6.content.cloneNode(true));
+
+ assert_equals(getComputedStyle(first).zIndex, 'auto');
+ assert_equals(getComputedStyle(second).zIndex, '1');
+}, '@scope with sibling style sharing, second sibling has implicit scope');
+</script>
+
+<template id=test_7>
+ <style>
+ @scope to (.sibling + .sibling) {
+ .foo {
+ z-index: 1;
+ }
+ }
+ </style>
+ <div id="first" class="sibling foo"></div>
+ <div id="second" class="sibling foo"></div>
+</template>
+<script>
+test((t) => {
+ t.add_cleanup(() => main.replaceChildren());
+ main.append(test_7.content.cloneNode(true));
+
+ assert_equals(getComputedStyle(first).zIndex, '1');
+ assert_equals(getComputedStyle(second).zIndex, 'auto');
+}, '@scope with sibling style sharing, second sibling exits implicit scope');
+</script>
+
+<template id=test_8>
+ <style>
+ @scope to (.sibling:not(.sibling + div)) {
+ .foo {
+ z-index: 1;
+ }
+ }
+ </style>
+ <div id="first" class="sibling foo"></div>
+ <div id="second" class="sibling foo"></div>
+</template>
+<script>
+test((t) => {
+ t.add_cleanup(() => main.replaceChildren());
+ main.append(test_8.content.cloneNode(true));
+
+ assert_equals(getComputedStyle(first).zIndex, 'auto');
+ assert_equals(getComputedStyle(second).zIndex, '1');
+}, '@scope with sibling style sharing, first sibling exits implicit scope');
+</script>
+
+<template id=test_9>
+ <style>
+ @scope (.sibling:has(> .foo)) {
+ :scope {
+ z-index: 1;
+ }
+ }
+ </style>
+ <div id="first" class="sibling"><div class="foo"></div></div>
+ <div id="second" class="sibling"></div>
+</template>
+<script>
+test((t) => {
+ t.add_cleanup(() => main.replaceChildren());
+ main.append(test_9.content.cloneNode(true));
+
+ assert_equals(getComputedStyle(first).zIndex, '1');
+ assert_equals(getComputedStyle(second).zIndex, 'auto');
+}, '@scope with sibling style sharing, first sibling enters scope with :has');
+</script>
+
+<template id=test_10>
+ <style>
+ @scope (.sibling:has(> .foo)) {
+ :scope {
+ z-index: 1;
+ }
+ }
+ </style>
+ <div id="first" class="sibling"></div>
+ <div id="second" class="sibling"><div class="foo"></div></div>
+</template>
+<script>
+test((t) => {
+ t.add_cleanup(() => main.replaceChildren());
+ main.append(test_10.content.cloneNode(true));
+
+ assert_equals(getComputedStyle(first).zIndex, 'auto');
+ assert_equals(getComputedStyle(second).zIndex, '1');
+}, '@scope with sibling style sharing, second sibling enters scope with :has');
+</script>
+
+<template id=test_11>
+ <style>
+ @scope (#first) {
+ :scope {
+ z-index: 1;
+ }
+ }
+ </style>
+ <div id="first" class="sibling"></div>
+ <div id="second" class="sibling"></div>
+</template>
+<script>
+test((t) => {
+ t.add_cleanup(() => main.replaceChildren());
+ main.append(test_11.content.cloneNode(true));
+
+ assert_equals(getComputedStyle(first).zIndex, '1');
+ assert_equals(getComputedStyle(second).zIndex, 'auto');
+}, '@scope with sibling style sharing, first sibling enters scope with ID selector');
+</script>
+
+<template id=test_12>
+ <style>
+ @scope (#second) {
+ :scope {
+ z-index: 1;
+ }
+ }
+ </style>
+ <div id="first" class="sibling"></div>
+ <div id="second" class="sibling"></div>
+</template>
+<script>
+test((t) => {
+ t.add_cleanup(() => main.replaceChildren());
+ main.append(test_12.content.cloneNode(true));
+
+ assert_equals(getComputedStyle(first).zIndex, 'auto');
+ assert_equals(getComputedStyle(second).zIndex, '1');
+}, '@scope with sibling style sharing, second sibling enters scope with ID selector');
+</script>
diff --git a/tests/wpt/tests/css/css-cascade/scope-style-sharing-002.html b/tests/wpt/tests/css/css-cascade/scope-style-sharing-002.html
new file mode 100644
index 00000000000..f47ddd4299f
--- /dev/null
+++ b/tests/wpt/tests/css/css-cascade/scope-style-sharing-002.html
@@ -0,0 +1,316 @@
+<!DOCTYPE html>
+<title>@scope - Cousin Style Sharing</title>
+<link rel="help" href="https://drafts.csswg.org/css-cascade-6/#scope-atrule">
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<main id=main></main>
+
+<template id=test_1>
+ <style>
+ @scope (.scope-start) to (:scope:last-of-type > .foo) {
+ .foo {
+ z-index: 1;
+ }
+ }
+ </style>
+ <div class="scope-start">
+ <div id="first" class="foo"></div>
+ </div>
+ <div class="scope-start">
+ <div id="second" class="foo"></div>
+ </div>
+</template>
+<script>
+test((t) => {
+ t.add_cleanup(() => main.replaceChildren());
+ main.append(test_1.content.cloneNode(true));
+
+ assert_equals(getComputedStyle(first).zIndex, '1');
+ assert_equals(getComputedStyle(second).zIndex, 'auto');
+}, '@scope with cousin style sharing, second sibling exits scope');
+</script>
+
+<template id=test_2>
+ <style>
+ @scope (.scope-start) to (:scope:first-of-type > .foo) {
+ .foo {
+ z-index: 1;
+ }
+ }
+ .scope-start:first-child {
+ color: green;
+ }
+ </style>
+ <div class="scope-start">
+ <div id="first" class="foo"></div>
+ </div>
+ <div class="scope-start">
+ <div id="second" class="foo"></div>
+ </div>
+</template>
+<script>
+test((t) => {
+ t.add_cleanup(() => main.replaceChildren());
+ main.append(test_2.content.cloneNode(true));
+
+ assert_equals(getComputedStyle(first).zIndex, 'auto');
+ assert_equals(getComputedStyle(second).zIndex, '1');
+}, '@scope with cousin style sharing, first sibling exits scope');
+</script>
+
+<template id=test_3>
+ <style>
+ @scope (.scope-start:first-of-type > .foo) {
+ :scope {
+ z-index: 1;
+ }
+ }
+ </style>
+ <div class="scope-start">
+ <div id="first" class="foo"></div>
+ </div>
+ <div class="scope-start">
+ <div id="second" class="foo"></div>
+ </div>
+</template>
+<script>
+test((t) => {
+ t.add_cleanup(() => main.replaceChildren());
+ main.append(test_3.content.cloneNode(true));
+
+ assert_equals(getComputedStyle(first).zIndex, '1');
+ assert_equals(getComputedStyle(second).zIndex, 'auto');
+}, '@scope with cousin style sharing, first sibling enters scope');
+</script>
+
+<template id=test_4>
+ <style>
+ @scope (.scope-start:last-of-type > .foo) {
+ :scope {
+ z-index: 1;
+ }
+ }
+ </style>
+ <div class="scope-start">
+ <div id="first" class="foo"></div>
+ </div>
+ <div class="scope-start">
+ <div id="second" class="foo"></div>
+ </div>
+</template>
+<script>
+test((t) => {
+ t.add_cleanup(() => main.replaceChildren());
+ main.append(test_4.content.cloneNode(true));
+
+ assert_equals(getComputedStyle(first).zIndex, 'auto');
+ assert_equals(getComputedStyle(second).zIndex, '1');
+}, '@scope with cousin style sharing, second sibling enters scope');
+</script>
+
+<template id=test_5>
+ <div class="scope-start">
+ <style>
+ @scope {
+ .foo {
+ z-index: 1;
+ }
+ }
+ </style>
+ <div id="first" class="foo"></div>
+ </div>
+ <div class="scope-start">
+ <div id="second" class="foo"></div>
+ </div>
+</template>
+<script>
+test((t) => {
+ t.add_cleanup(() => main.replaceChildren());
+ main.append(test_5.content.cloneNode(true));
+
+ assert_equals(getComputedStyle(first).zIndex, '1');
+ assert_equals(getComputedStyle(second).zIndex, 'auto');
+}, '@scope with cousin style sharing, second sibling parent does not have implicit scope');
+</script>
+
+<template id=test_6>
+ <div class="scope-start">
+ <div id="first" class="foo"></div>
+ </div>
+ <div class="scope-start">
+ <style>
+ @scope {
+ .foo {
+ z-index: 1;
+ }
+ }
+ </style>
+ <div id="second" class="foo"></div>
+ </div>
+</template>
+<script>
+test((t) => {
+ t.add_cleanup(() => main.replaceChildren());
+ main.append(test_6.content.cloneNode(true));
+
+ assert_equals(getComputedStyle(first).zIndex, 'auto');
+ assert_equals(getComputedStyle(second).zIndex, '1');
+}, '@scope with cousin style sharing, first sibling parent does not have implicit scope');
+</script>
+
+<template id=test_7>
+ <div class="scope-start">
+ <div id="first" class="foo">
+ <style>
+ @scope {
+ :scope {
+ z-index: 1;
+ }
+ }
+ </style>
+ </div>
+ </div>
+ <div class="scope-start">
+ <div id="second" class="foo">
+ </div>
+ </div>
+</template>
+<script>
+test((t) => {
+ t.add_cleanup(() => main.replaceChildren());
+ main.append(test_7.content.cloneNode(true));
+
+ assert_equals(getComputedStyle(first).zIndex, '1');
+ assert_equals(getComputedStyle(second).zIndex, 'auto');
+}, '@scope with cousin style sharing, second sibling does not have implicit scope');
+</script>
+
+<template id=test_8>
+ <div class="scope-start">
+ <div id="first" class="foo">
+ </div>
+ </div>
+ <div class="scope-start">
+ <div id="second" class="foo">
+ <style>
+ @scope {
+ :scope {
+ z-index: 1;
+ }
+ }
+ </style>
+ </div>
+ </div>
+</template>
+<script>
+test((t) => {
+ t.add_cleanup(() => main.replaceChildren());
+ main.append(test_8.content.cloneNode(true));
+
+ assert_equals(getComputedStyle(first).zIndex, 'auto');
+ assert_equals(getComputedStyle(second).zIndex, '1');
+}, '@scope with cousin style sharing, first sibling does not have implicit scope');
+</script>
+
+<template id=test_9>
+ <style>
+ @scope (.scope-start:has(> .bar)) {
+ .foo {
+ z-index: 1;
+ }
+ }
+ </style>
+ <div class="scope-start">
+ <div id="first" class="foo"></div>
+ <div class="bar"></div>
+ </div>
+ <div class="scope-start">
+ <div id="second" class="foo"></div>
+ </div>
+</template>
+<script>
+test((t) => {
+ t.add_cleanup(() => main.replaceChildren());
+ main.append(test_9.content.cloneNode(true));
+
+ assert_equals(getComputedStyle(first).zIndex, '1');
+ assert_equals(getComputedStyle(second).zIndex, 'auto');
+}, '@scope with cousin style sharing, first sibling enters scope with :has');
+</script>
+
+<template id=test_10>
+ <style>
+ @scope (.scope-start:has(> .bar)) {
+ .foo {
+ z-index: 1;
+ }
+ }
+ </style>
+ <div class="scope-start">
+ <div id="first" class="foo"></div>
+ </div>
+ <div class="scope-start">
+ <div id="second" class="foo"></div>
+ <div class="bar"></div>
+ </div>
+</template>
+<script>
+test((t) => {
+ t.add_cleanup(() => main.replaceChildren());
+ main.append(test_10.content.cloneNode(true));
+
+ assert_equals(getComputedStyle(first).zIndex, 'auto');
+ assert_equals(getComputedStyle(second).zIndex, '1');
+}, '@scope with cousin style sharing, second sibling enters scope with :has');
+</script>
+
+<template id=test_11>
+ <style>
+ @scope (#first-parent) {
+ .foo {
+ z-index: 1;
+ }
+ }
+ </style>
+ <div id="first-parent">
+ <div id="first" class="foo"></div>
+ </div>
+ <div id="second-parent">
+ <div id="second" class="foo"></div>
+ </div>
+</template>
+<script>
+test((t) => {
+ t.add_cleanup(() => main.replaceChildren());
+ main.append(test_11.content.cloneNode(true));
+
+ assert_equals(getComputedStyle(first).zIndex, '1');
+ assert_equals(getComputedStyle(second).zIndex, 'auto');
+}, '@scope with cousin style sharing, first sibling enters scope ID selector');
+</script>
+
+<template id=test_12>
+ <style>
+ @scope (#second-parent) {
+ .foo {
+ z-index: 1;
+ }
+ }
+ </style>
+ <div id="first-parent">
+ <div id="first" class="foo"></div>
+ </div>
+ <div id="second-parent">
+ <div id="second" class="foo"></div>
+ </div>
+</template>
+<script>
+test((t) => {
+ t.add_cleanup(() => main.replaceChildren());
+ main.append(test_12.content.cloneNode(true));
+
+ assert_equals(getComputedStyle(first).zIndex, 'auto');
+ assert_equals(getComputedStyle(second).zIndex, '1');
+}, '@scope with cousin style sharing, second sibling enters scope ID selector');
+</script>
+
diff --git a/tests/wpt/tests/css/css-contain/content-visibility/content-visibility-anchor-positioning-001.html b/tests/wpt/tests/css/css-contain/content-visibility/content-visibility-anchor-positioning-001.html
new file mode 100644
index 00000000000..f0b52e8ebd6
--- /dev/null
+++ b/tests/wpt/tests/css/css-contain/content-visibility/content-visibility-anchor-positioning-001.html
@@ -0,0 +1,111 @@
+<!doctype HTML>
+<meta charset=utf8>
+<title>CSS Content Visibility: auto prevents existing anchors to unskipped content
+from becoming skipped</title>
+<link rel="author" title="Chris Harrelson" href="mailto:chrishtr@chromium.org">
+<link rel="help" href="https://drafts.csswg.org/css-anchor-position-1/#anchor-relevance">
+<script src="/web-animations/testcommon.js"></script>
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+
+<style>
+#anchor, #positioned {
+ width: 200px;
+ height: 200px;
+}
+
+#lock {
+ height: 400px;
+ width: 400px;
+ content-visibility: auto;
+ border: 1px solid black;
+}
+
+pre {
+ position: relative;
+ top: 200px;
+}
+
+#container {
+ position:relative;
+ height: 10000px;
+}
+
+#anchor {
+ anchor-name: --anchor;
+ background-color: lightblue;
+}
+
+#positioned {
+ position: absolute;
+ background-color: lightgreen;
+ left: anchor(right);
+}
+</style>
+<div id=container>
+ <div id=lock>
+ <div id=anchor></div>
+ <div id=anchor2></div>
+ </div>
+ <div id=positioned></div>
+</div>
+
+<pre id=output>
+</pre>
+<script>
+"use strict";
+
+promise_test(async t => {
+ window.scrollTo(0, 10000);
+ await waitForAnimationFrames(1);
+
+ // When the anchor applies, the positioned element is moved right by 200px.
+ positioned.style.positionAnchor = "--anchor";
+ assert_equals(positioned.getBoundingClientRect().left, 8,
+ '#positioned should not be anchored because #anchor is off-screen and skipped.');
+
+ window.scrollTo(0, 0);
+ await waitForAnimationFrames(2);
+
+ assert_equals(positioned.getBoundingClientRect().left, 209,
+ '#positioned should be anchored because #anchor is on-screen.');
+
+ window.scrollTo(0, 10000);
+ await waitForAnimationFrames(2);
+
+ assert_equals(positioned.getBoundingClientRect().left, 209,
+ '#positioned should be anchored because it was anchored to #anchor before #anchor was scrolled offscreen, so #anchor does not become skipped.');
+
+ lock.style.contentVisibility = "visible";
+
+ assert_equals(positioned.getBoundingClientRect().left, 209,
+ "#positioned should be anchored because it's not under a content-visibility ancestor");
+
+ window.scrollTo(0, 0);
+ await waitForAnimationFrames(2);
+ assert_equals(positioned.getBoundingClientRect().left, 209,
+ '#positioned should be anchored regardless of scroll offset.');
+
+ window.scrollTo(0, 10000);
+ await waitForAnimationFrames(2);
+
+ assert_equals(positioned.getBoundingClientRect().left, 209,
+ '#positioned should be anchored because it was anchored to #anchor before #anchor was scrolled offscreen, so #anchor does not become skipped.');
+
+ lock.style.contentVisibility = "auto";
+ await waitForAnimationFrames(1);
+
+ assert_equals(positioned.getBoundingClientRect().left, 209,
+ '#positioned should be anchored because it was anchored to #anchor before #anchor was scrolled offscreen, so #anchor does not become skipped.');
+
+ positioned.style.right = 'anchor(--anchor2 left)';
+ assert_equals(positioned.getBoundingClientRect().left, 209,
+ '#positioned should be anchored because it was anchored to #anchor before #anchor was scrolled offscreen, so #anchor does not become skipped.');
+
+ positioned.style.left = 'auto';
+ assert_equals(positioned.getBoundingClientRect().right, 208,
+ '#positioned should be anchored because it still has one more anchor.');
+
+});
+
+</script>
diff --git a/tests/wpt/tests/css/css-contain/content-visibility/content-visibility-anchor-positioning-002.html b/tests/wpt/tests/css/css-contain/content-visibility/content-visibility-anchor-positioning-002.html
new file mode 100644
index 00000000000..9bbe05fd853
--- /dev/null
+++ b/tests/wpt/tests/css/css-contain/content-visibility/content-visibility-anchor-positioning-002.html
@@ -0,0 +1,110 @@
+<!doctype HTML>
+<meta charset=utf8>
+<title>CSS Content Visibility: hidden never anchors</title>
+<link rel="author" title="Chris Harrelson" href="mailto:chrishtr@chromium.org">
+<link rel="help" href="https://drafts.csswg.org/css-anchor-position-1/#anchor-relevance">
+<script src="/web-animations/testcommon.js"></script>
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+
+<style>
+#anchor, #positioned {
+ width: 200px;
+ height: 200px;
+}
+
+#lock {
+ height: 400px;
+ width: 400px;
+ content-visibility: hidden;
+ border: 1px solid black;
+}
+
+pre {
+ position: relative;
+ top: 200px;
+}
+
+#container {
+ position:relative;
+ height: 10000px;
+}
+
+#anchor {
+ anchor-name: --anchor;
+ background-color: lightblue;
+}
+
+#positioned {
+ position: absolute;
+ background-color: lightgreen;
+ left: anchor(right);
+}
+</style>
+<div id=container>
+ <div id=lock>
+ <div id=anchor></div>
+ <div id=anchor2></div>
+ </div>
+ <div id=positioned></div>
+</div>
+
+<pre id=output>
+</pre>
+<script>
+"use strict";
+
+promise_test(async t => {
+ window.scrollTo(0, 10000);
+ await waitForAnimationFrames(1);
+
+ // When the anchor applies, the positioned element is moved right by 200px.
+ positioned.style.positionAnchor = "--anchor";
+ assert_equals(positioned.getBoundingClientRect().left, 8,
+ '#positioned should not be anchored because #anchor is hidden (always skipped).');
+
+ window.scrollTo(0, 0);
+ await waitForAnimationFrames(2);
+
+ assert_equals(positioned.getBoundingClientRect().left, 8,
+ '#positioned should not be anchored because #anchor is hidden (always skipped).');
+
+ window.scrollTo(0, 10000);
+ await waitForAnimationFrames(2);
+
+ assert_equals(positioned.getBoundingClientRect().left, 8,
+ '#positioned should not be anchored because #anchor is hidden (always skipped).');
+
+ lock.style.contentVisibility = "visible";
+
+ assert_equals(positioned.getBoundingClientRect().left, 209,
+ "#positioned should be anchored because it's not under a content-visibility ancestor");
+
+ window.scrollTo(0, 0);
+ await waitForAnimationFrames(2);
+ assert_equals(positioned.getBoundingClientRect().left, 209,
+ '#positioned should be anchored regardless of scroll offset.');
+
+ window.scrollTo(0, 10000);
+ await waitForAnimationFrames(2);
+
+ assert_equals(positioned.getBoundingClientRect().left, 209,
+ '#positioned should be anchored regardless of scroll offset.');
+
+ lock.style.contentVisibility = "hidden";
+ await waitForAnimationFrames(1);
+
+ assert_equals(positioned.getBoundingClientRect().left, 8,
+ '#positioned should not be anchored because #anchor is hidden (always skipped).');
+
+ positioned.style.right = 'anchor(--anchor2 left)';
+ assert_equals(positioned.getBoundingClientRect().left, 8,
+ '#positioned should not be anchored because #anchor is hidden (always skipped).');
+
+ positioned.style.left = 'auto';
+ assert_equals(positioned.getBoundingClientRect().right, 208,
+ '#positioned should not be anchored because #anchor is hidden (always skipped).');
+
+});
+
+</script>
diff --git a/tests/wpt/tests/css/css-contain/content-visibility/content-visibility-anchor-positioning-003.html b/tests/wpt/tests/css/css-contain/content-visibility/content-visibility-anchor-positioning-003.html
new file mode 100644
index 00000000000..85b218600a3
--- /dev/null
+++ b/tests/wpt/tests/css/css-contain/content-visibility/content-visibility-anchor-positioning-003.html
@@ -0,0 +1,78 @@
+<!doctype HTML>
+<meta charset=utf8>
+<title>CSS Content Visibility: auto still anchors even if the anchor and positioned element are both skipped by the same element</title>
+<link rel="author" title="Chris Harrelson" href="mailto:chrishtr@chromium.org">
+<link rel="help" href="https://drafts.csswg.org/css-anchor-position-1/#anchor-relevance">
+<script src="/web-animations/testcommon.js"></script>
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+
+<style>
+#anchor, #positioned {
+ width: 200px;
+ height: 200px;
+}
+
+#lock {
+ height: 400px;
+ width: 400px;
+ content-visibility: auto;
+ border: 1px solid black;
+}
+
+pre {
+ position: relative;
+ top: 200px;
+}
+
+#container {
+ position:relative;
+ height: 10000px;
+}
+
+#anchor {
+ anchor-name: --anchor;
+ background-color: lightblue;
+}
+
+#positioned {
+ position: absolute;
+ background-color: lightgreen;
+ left: anchor(right);
+ position-anchor: --anchor;
+}
+</style>
+<div id=container>
+ <div id=lock>
+ <div id=anchor></div>
+ <div id=positioned></div>
+ </div>
+</div>
+
+<pre id=output>
+</pre>
+<script>
+"use strict";
+
+let skipped = false;
+lock.addEventListener("contentvisibilityautostatechange",
+ (e) => {
+ skipped = e.skipped;
+ });
+
+promise_test(async t => {
+ await waitForAnimationFrames(2);
+
+ // When the anchor applies, the positioned element is moved right by 200px.
+ assert_equals(positioned.getBoundingClientRect().left, 209,
+ '#positioned should be anchored because they are both on-screen.');
+
+ window.scrollTo(0, 10000);
+ await waitForAnimationFrames(2);
+
+ assert_equals(positioned.getBoundingClientRect().left, 209,
+ "#positioned should be anchored because they are both in the skipped subtree of the same element.");
+ assert_true(skipped, "The content-visibility subtree is now skipped, even though there is a target anchor below it.");
+});
+
+</script>
diff --git a/tests/wpt/tests/css/css-contain/content-visibility/content-visibility-anchor-positioning-004.html b/tests/wpt/tests/css/css-contain/content-visibility/content-visibility-anchor-positioning-004.html
new file mode 100644
index 00000000000..730c46b0244
--- /dev/null
+++ b/tests/wpt/tests/css/css-contain/content-visibility/content-visibility-anchor-positioning-004.html
@@ -0,0 +1,94 @@
+<!doctype HTML>
+<meta charset=utf8>
+<title>CSS Content Visibility: auto not skipped, but skipped after removing all anchors</title>
+<link rel="author" title="Chris Harrelson" href="mailto:chrishtr@chromium.org">
+<link rel="help" href="https://drafts.csswg.org/css-anchor-position-1/#anchor-relevance">
+<script src="/web-animations/testcommon.js"></script>
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+
+<style>
+#anchor, #positioned {
+ width: 200px;
+ height: 200px;
+}
+
+#lock {
+ height: 400px;
+ width: 400px;
+ content-visibility: auto;
+ border: 1px solid black;
+}
+
+pre {
+ position: relative;
+ top: 200px;
+}
+
+#container {
+ position:relative;
+ height: 10000px;
+}
+
+#anchor {
+ anchor-name: --anchor;
+ background-color: lightblue;
+}
+
+#anchor2 {
+ anchor-name: --anchor2;
+}
+
+#positioned {
+ position: absolute;
+ background-color: lightgreen;
+ left: anchor(right);
+ top: anchor( --anchor2 top);
+}
+</style>
+<div id=container>
+ <div id=lock>
+ <div id=anchor></div>
+ <div>
+ <div id=anchor2></div>
+ </div>
+ </div>
+ <div id=positioned></div>
+</div>
+
+<pre id=output>
+</pre>
+<script>
+"use strict";
+
+let skipped = false;
+lock.addEventListener("contentvisibilityautostatechange",
+ (e) => {
+ skipped = e.skipped;
+ });
+
+promise_test(async t => {
+
+ positioned.style.positionAnchor = "--anchor";
+ await waitForAnimationFrames(2);
+
+ assert_equals(positioned.getBoundingClientRect().left, 209,
+ '#positioned should be anchored because #anchor is on-screen.');
+
+ window.scrollTo(0, 10000);
+ await waitForAnimationFrames(2);
+
+ assert_equals(positioned.getBoundingClientRect().left, 209,
+ '#positioned should be anchored because it was anchored to #anchor before #anchor was scrolled offscreen, so #anchor does not become skipped.');
+ assert_false(skipped, "The content-visibility subtree is not skipped despite being offscreen.");
+
+ positioned.style.positionAnchor = "";
+ await waitForAnimationFrames(2);
+ assert_false(skipped, "The content-visibility subtree still not skipped, because there is still --anchor2.");
+
+ positioned.style.top = "10px";
+ await waitForAnimationFrames(2);
+ assert_true(skipped, "The content-visibility subtree is now skipped.");
+});
+
+</script>
diff --git a/tests/wpt/tests/css/css-contain/content-visibility/content-visibility-anchor-positioning-005.html b/tests/wpt/tests/css/css-contain/content-visibility/content-visibility-anchor-positioning-005.html
new file mode 100644
index 00000000000..ed46e3c6869
--- /dev/null
+++ b/tests/wpt/tests/css/css-contain/content-visibility/content-visibility-anchor-positioning-005.html
@@ -0,0 +1,90 @@
+<!doctype HTML>
+<meta charset=utf8>
+<title>CSS Content Visibility: auto not skipped, but skipped after change of positioned-element style</title>
+<link rel="author" title="Chris Harrelson" href="mailto:chrishtr@chromium.org">
+<link rel="help" href="https://drafts.csswg.org/css-anchor-position-1/#anchor-relevance">
+<script src="/web-animations/testcommon.js"></script>
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+
+<style>
+#anchor, #positioned {
+ width: 200px;
+ height: 200px;
+}
+
+#lock {
+ height: 400px;
+ width: 400px;
+ content-visibility: auto;
+ border: 1px solid black;
+}
+
+pre {
+ position: relative;
+ top: 200px;
+}
+
+#container {
+ position:relative;
+ height: 10000px;
+}
+
+#anchor {
+ anchor-name: --anchor;
+ background-color: lightblue;
+}
+
+#anchor2 {
+ anchor-name: --anchor2;
+}
+
+#positioned {
+ position: absolute;
+ background-color: lightgreen;
+ left: anchor(right);
+ top: anchor( --anchor2 top);
+}
+</style>
+<div id=container>
+ <div id=lock>
+ <div id=anchor></div>
+ <div>
+ <div id=anchor2></div>
+ </div>
+ </div>
+ <div id=positioned></div>
+</div>
+
+<pre id=output>
+</pre>
+<script>
+"use strict";
+
+let skipped = false;
+lock.addEventListener("contentvisibilityautostatechange",
+ (e) => {
+ skipped = e.skipped;
+ });
+
+promise_test(async t => {
+
+ positioned.style.positionAnchor = "--anchor";
+ await waitForAnimationFrames(2);
+
+ assert_equals(positioned.getBoundingClientRect().left, 209,
+ '#positioned should be anchored because #anchor is on-screen.');
+
+ window.scrollTo(0, 10000);
+ await waitForAnimationFrames(2);
+
+ assert_equals(positioned.getBoundingClientRect().left, 209,
+ '#positioned should be anchored because it was anchored to #anchor before #anchor was scrolled offscreen, so #anchor does not become skipped.');
+ assert_false(skipped, "The content-visibility subtree is not skipped despite being offscreen.");
+
+ positioned.style.position = "static";
+ await waitForAnimationFrames(2);
+ assert_true(skipped, "The content-visibility subtree is now skipped.");
+});
+
+</script>
diff --git a/tests/wpt/tests/css/css-contain/content-visibility/content-visibility-anchor-positioning-006.html b/tests/wpt/tests/css/css-contain/content-visibility/content-visibility-anchor-positioning-006.html
new file mode 100644
index 00000000000..7c777680a0e
--- /dev/null
+++ b/tests/wpt/tests/css/css-contain/content-visibility/content-visibility-anchor-positioning-006.html
@@ -0,0 +1,90 @@
+<!doctype HTML>
+<meta charset=utf8>
+<title>CSS Content Visibility: auto not skipped, but skipped after positioned-element becomes display:none</title>
+<link rel="author" title="Chris Harrelson" href="mailto:chrishtr@chromium.org">
+<link rel="help" href="https://drafts.csswg.org/css-anchor-position-1/#anchor-relevance">
+<script src="/web-animations/testcommon.js"></script>
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+
+<style>
+#anchor, #positioned {
+ width: 200px;
+ height: 200px;
+}
+
+#lock {
+ height: 400px;
+ width: 400px;
+ content-visibility: auto;
+ border: 1px solid black;
+}
+
+pre {
+ position: relative;
+ top: 200px;
+}
+
+#container {
+ position:relative;
+ height: 10000px;
+}
+
+#anchor {
+ anchor-name: --anchor;
+ background-color: lightblue;
+}
+
+#anchor2 {
+ anchor-name: --anchor2;
+}
+
+#positioned {
+ position: absolute;
+ background-color: lightgreen;
+ left: anchor(right);
+ top: anchor( --anchor2 top);
+}
+</style>
+<div id=container>
+ <div id=lock>
+ <div id=anchor></div>
+ <div>
+ <div id=anchor2></div>
+ </div>
+ </div>
+ <div id=positioned></div>
+</div>
+
+<pre id=output>
+</pre>
+<script>
+"use strict";
+
+let skipped = false;
+lock.addEventListener("contentvisibilityautostatechange",
+ (e) => {
+ skipped = e.skipped;
+ });
+
+promise_test(async t => {
+
+ positioned.style.positionAnchor = "--anchor";
+ await waitForAnimationFrames(2);
+
+ assert_equals(positioned.getBoundingClientRect().left, 209,
+ '#positioned should be anchored because #anchor is on-screen.');
+
+ window.scrollTo(0, 10000);
+ await waitForAnimationFrames(2);
+
+ assert_equals(positioned.getBoundingClientRect().left, 209,
+ '#positioned should be anchored because it was anchored to #anchor before #anchor was scrolled offscreen, so #anchor does not become skipped.');
+ assert_false(skipped, "The content-visibility subtree is not skipped despite being offscreen.");
+
+ positioned.style.display = "none";
+ await waitForAnimationFrames(2);
+ assert_true(skipped, "The content-visibility subtree is now skipped.");
+});
+
+</script>
diff --git a/tests/wpt/tests/css/css-contain/content-visibility/content-visibility-anchor-positioning-007.html b/tests/wpt/tests/css/css-contain/content-visibility/content-visibility-anchor-positioning-007.html
new file mode 100644
index 00000000000..988caad79a6
--- /dev/null
+++ b/tests/wpt/tests/css/css-contain/content-visibility/content-visibility-anchor-positioning-007.html
@@ -0,0 +1,85 @@
+<!doctype HTML>
+<meta charset=utf8>
+<title>CSS Content Visibility: auto not skipped due to being an indirect influence on anchoring</title>
+<link rel="author" title="Chris Harrelson" href="mailto:chrishtr@chromium.org">
+<link rel="help" href="https://drafts.csswg.org/css-anchor-position-1/#anchor-relevance">
+<script src="/web-animations/testcommon.js"></script>
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+
+<!DOCTYPE html>
+<style>
+@position-try --foo {
+ right: anchor(--a2 left);
+}
+
+#container {
+ position:relative;
+ height: 10000px;
+}
+
+#lock {
+ height: 400px;
+ width: 400px;
+ content-visibility: auto;
+ border: 1px solid black;
+}
+
+
+#anchor {
+ anchor-name: --a1;
+ position: absolute;
+}
+
+#anchor2 {
+ anchor-name: --a2;
+ position: absolute;
+ left: 60px;
+}
+
+#positioned {
+ position: absolute;
+ right: anchor(--a1 left);
+ position-try-options: --foo;
+}
+
+</style>
+<div id=container>
+ <!-- #positioned will anchor to anchor2, but only due to the presence of
+ #anchor. This is an example of why #anchor needs to not be locked as
+ long as #positioned is anchored to one of the other things it depends
+ on.
+ -->
+ <div id=lock>
+ <div id="anchor">--a1</div>
+ </div>
+ <div id=anchor2>--a2</div>
+ <div id=positioned>OO
+ </div>
+</div>
+
+<pre id=output>
+</pre>
+<script>
+"use strict";
+
+let skipped = false;
+lock.addEventListener("contentvisibilityautostatechange",
+ (e) => {
+ skipped = e.skipped;
+ });
+
+promise_test(async t => {
+
+ positioned.style.positionAnchor = "--anchor";
+ await waitForAnimationFrames(2);
+
+ assert_approx_equals(positioned.getBoundingClientRect().left, 44, 1,
+ '#positioned should be anchored because #anchor is on-screen.');
+
+ window.scrollTo(0, 10000);
+ await waitForAnimationFrames(4);
+ assert_false(skipped, "The content-visibility subtree is not skipped even though it's offscreen.");
+});
+
+</script>
diff --git a/tests/wpt/tests/css/css-display/parsing/display-valid.html b/tests/wpt/tests/css/css-display/parsing/display-valid.html
index c011c2a30ca..c4bdc93cdaa 100644
--- a/tests/wpt/tests/css/css-display/parsing/display-valid.html
+++ b/tests/wpt/tests/css/css-display/parsing/display-valid.html
@@ -44,7 +44,7 @@ test_valid_value("display", "contents");
// https://drafts.csswg.org/css-display/#the-display-properties
test_valid_value("display", "run-in");
-test_valid_value("display", "flow");
+test_valid_value("display", "flow", "block");
test_valid_value("display", "flow-root");
test_valid_value("display", "ruby");
test_valid_value("display", "ruby-base");
@@ -84,14 +84,14 @@ test_valid_value("display", "list-item flow-root block", "flow-root list-item");
test_valid_value("display", "inline flow", "inline");
test_valid_value("display", "flow inline", "inline");
-test_valid_value("display", "flow-root inline", "inline flow-root");
-test_valid_value("display", "inline flow-root");
-test_valid_value("display", "flex inline", "inline flex");
-test_valid_value("display", "inline flex");
-test_valid_value("display", "grid inline", "inline grid");
-test_valid_value("display", "inline grid");
-test_valid_value("display", "table inline", "inline table");
-test_valid_value("display", "inline table");
+test_valid_value("display", "flow-root inline", "inline-block");
+test_valid_value("display", "inline flow-root", "inline-block");
+test_valid_value("display", "flex inline", "inline-flex");
+test_valid_value("display", "inline flex", "inline-flex");
+test_valid_value("display", "grid inline", "inline-grid");
+test_valid_value("display", "inline grid", "inline-grid");
+test_valid_value("display", "table inline", "inline-table");
+test_valid_value("display", "inline table", "inline-table");
test_valid_value("display", "inline ruby", "ruby");
test_valid_value("display", "ruby inline", "ruby");
test_valid_value("display", "inline list-item", "inline list-item");
diff --git a/tests/wpt/tests/css/css-fonts/font-size-adjust-reload.html b/tests/wpt/tests/css/css-fonts/font-size-adjust-reload.html
index 68ccba4398d..1a2bc514569 100644
--- a/tests/wpt/tests/css/css-fonts/font-size-adjust-reload.html
+++ b/tests/wpt/tests/css/css-fonts/font-size-adjust-reload.html
@@ -9,16 +9,27 @@ body {
margin: 0;
padding: 0;
}
+iframe {
+ border: 0;
+ width: 400px;
+ height: 400px;
+}
</style>
</head>
<body>
- <iframe id="iframe" width=400 height=400 frameBorder=0 src="font-size-adjust-reload-ref.html"></iframe>
+ <script>
+ let loadCount = 0;
+ const iframe = document.createElement("iframe");
+ iframe.addEventListener("load", function() {
+ if (loadCount == 2) {
+ document.documentElement.classList.remove("reftest-wait");
+ return;
+ }
+ iframe.contentWindow.location.reload();
+ loadCount++;
+ });
+ iframe.src = "font-size-adjust-reload-ref.html";
+ document.body.append(iframe);
+ </script>
</body>
-<script>
- const iframe = document.getElementById('iframe');
- iframe.contentWindow.location.reload();
- iframe.contentWindow.onload = function(){
- document.documentElement.classList.remove("reftest-wait");
- };
-</script>
</html>
diff --git a/tests/wpt/tests/css/css-highlight-api/painting/custom-highlight-painting-vertical-writing-mode-001.html b/tests/wpt/tests/css/css-highlight-api/painting/custom-highlight-painting-vertical-writing-mode-001.html
index ba25037976c..f2a0efcc874 100644
--- a/tests/wpt/tests/css/css-highlight-api/painting/custom-highlight-painting-vertical-writing-mode-001.html
+++ b/tests/wpt/tests/css/css-highlight-api/painting/custom-highlight-painting-vertical-writing-mode-001.html
@@ -5,7 +5,7 @@
<link rel="match" href="custom-highlight-painting-vertical-writing-mode-001-ref.html">
<link rel="stylesheet" href="../../css-pseudo/support/highlights.css">
<meta name="assert" value="::highlight overlay is painted correctly when the highlighted text is in a vertical writing mode">
-<meta name="fuzzy" content="0-255;0-18">
+<meta name="fuzzy" content="0-255;0-20">
<style>
#verticalRL {
writing-mode: vertical-rl;
diff --git a/tests/wpt/tests/css/css-overflow/document-element-overflow-hidden-scroll-ref.html b/tests/wpt/tests/css/css-overflow/document-element-overflow-hidden-scroll-ref.html
new file mode 100644
index 00000000000..ebd2d860cec
--- /dev/null
+++ b/tests/wpt/tests/css/css-overflow/document-element-overflow-hidden-scroll-ref.html
@@ -0,0 +1,2 @@
+<!DOCTYPE html>
+<div style="width: 100px; height: 100px; background: green"></div>
diff --git a/tests/wpt/tests/css/css-overflow/document-element-overflow-hidden-scroll.html b/tests/wpt/tests/css/css-overflow/document-element-overflow-hidden-scroll.html
new file mode 100644
index 00000000000..6a341703aee
--- /dev/null
+++ b/tests/wpt/tests/css/css-overflow/document-element-overflow-hidden-scroll.html
@@ -0,0 +1,22 @@
+<!DOCTYPE html>
+<html class="reftest-wait" style="overflow: hidden">
+<link rel="help" href="https://crbug.com/353294051">
+<link rel="match" href="document-element-overflow-hidden-scroll-ref.html">
+<script src="/common/reftest-wait.js"></script>
+<script src="/common/rendering-utils.js"></script>
+<div style="height: 100px"></div>
+<div style="width: 100px; height: 100px; background: green"></div>
+<div style="height: 2000px; background: white"></div>
+<div style="width: 100px; height: 100px; background: red"></div>
+<script>
+waitForAtLeastOneFrame().then(() => {
+ scrollTo(0, 3000);
+ waitForAtLeastOneFrame().then(() => {
+ scrollTo(0, 300);
+ waitForAtLeastOneFrame().then(() => {
+ scrollTo(0, 100);
+ takeScreenshot();
+ });
+ });
+});
+</script>
diff --git a/tests/wpt/tests/css/css-page/margin-boxes/content-004-print-ref.html b/tests/wpt/tests/css/css-page/margin-boxes/content-004-print-ref.html
new file mode 100644
index 00000000000..7159484f62c
--- /dev/null
+++ b/tests/wpt/tests/css/css-page/margin-boxes/content-004-print-ref.html
@@ -0,0 +1,34 @@
+<!DOCTYPE html>
+<link rel="author" title="Morten Stenshorne" href="mailto:mstensho@chromium.org">
+<style>
+ @page {
+ margin: 0;
+ }
+ body {
+ margin: 0;
+ }
+ .page {
+ display: grid;
+ grid-template-rows: 4em auto 4em;
+ height: 100vh;
+ margin: 0 4em;
+ }
+</style>
+<div class="page">
+ <div>Page 1 of 3</div>
+ <div>
+ Every page should display the current page and the total page count in both
+ the header and footer.
+ </div>
+ <div>Page 1 of 3</div>
+</div>
+<div class="page">
+ <div>Page 2 of 3</div>
+ <div>Another page</div>
+ <div>Page 2 of 3</div>
+</div>
+<div class="page">
+ <div>Page 3 of 3</div>
+ <div>Yet another page</div>
+ <div>Page 3 of 3</div>
+</div>
diff --git a/tests/wpt/tests/css/css-page/margin-boxes/content-004-print.html b/tests/wpt/tests/css/css-page/margin-boxes/content-004-print.html
new file mode 100644
index 00000000000..cf593fb93cc
--- /dev/null
+++ b/tests/wpt/tests/css/css-page/margin-boxes/content-004-print.html
@@ -0,0 +1,32 @@
+<!DOCTYPE html>
+<link rel="author" title="Morten Stenshorne" href="mailto:mstensho@chromium.org">
+<link rel="help" href="https://drafts.csswg.org/css-page-3/#page-based-counters">
+<meta name="assert" content="Test counter(page) and counter(pages) in page margin boxes">
+<link rel="match" href="content-004-print-ref.html">
+<style>
+ @page {
+ margin: 4em;
+
+ @top-center {
+ text-align: left;
+ vertical-align: top;
+ content: "Page " counter(page) " of " counter(pages);
+ }
+ @bottom-center {
+ text-align: left;
+ vertical-align: top;
+ content: "Page " counter(page) " of " counter(pages);
+ }
+ }
+ body {
+ margin: 0;
+ }
+</style>
+Every page should display the current page and the total page count in both the
+header and footer.
+<div style="break-before:page;">
+ Another page
+</div>
+<div style="break-before:page;">
+ Yet another page
+</div>
diff --git a/tests/wpt/tests/css/css-page/margin-boxes/content-005-print-ref.html b/tests/wpt/tests/css/css-page/margin-boxes/content-005-print-ref.html
new file mode 100644
index 00000000000..b49a84cf050
--- /dev/null
+++ b/tests/wpt/tests/css/css-page/margin-boxes/content-005-print-ref.html
@@ -0,0 +1,34 @@
+<!DOCTYPE html>
+<link rel="author" title="Morten Stenshorne" href="mailto:mstensho@chromium.org">
+<style>
+ @page {
+ margin: 0;
+ }
+ body {
+ margin: 0;
+ }
+ .page {
+ display: grid;
+ grid-template-rows: 4em auto 4em;
+ height: 100vh;
+ margin: 0 4em;
+ }
+</style>
+<div class="page">
+ <div></div>
+ <div>
+ All pages except this one should display the current page and the total page
+ count in both the header and footer.
+ </div>
+ <div></div>
+</div>
+<div class="page">
+ <div>Page 2 of 3</div>
+ <div>Another page</div>
+ <div>Page 2 of 3</div>
+</div>
+<div class="page">
+ <div>Page 3 of 3</div>
+ <div>Yet another page</div>
+ <div>Page 3 of 3</div>
+</div>
diff --git a/tests/wpt/tests/css/css-page/margin-boxes/content-005-print.html b/tests/wpt/tests/css/css-page/margin-boxes/content-005-print.html
new file mode 100644
index 00000000000..faca453fef8
--- /dev/null
+++ b/tests/wpt/tests/css/css-page/margin-boxes/content-005-print.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<link rel="author" title="Morten Stenshorne" href="mailto:mstensho@chromium.org">
+<link rel="help" href="https://drafts.csswg.org/css-page-3/#page-based-counters">
+<meta name="assert" content="Test counter(page) and counter(pages) in page margin boxes, except on the first page">
+<link rel="match" href="content-005-print-ref.html">
+<style>
+ @page {
+ margin: 4em;
+
+ @top-center {
+ text-align: left;
+ vertical-align: top;
+ content: "Page " counter(page) " of " counter(pages);
+ }
+ @bottom-center {
+ text-align: left;
+ vertical-align: top;
+ content: "Page " counter(page) " of " counter(pages);
+ }
+ }
+ @page :first {
+ @top-center { content: none; }
+ @bottom-center { content: none; }
+ }
+ body {
+ margin: 0;
+ }
+</style>
+All pages except this one should display the current page and the total page
+count in both the header and footer.
+<div style="break-before:page;">
+ Another page
+</div>
+<div style="break-before:page;">
+ Yet another page
+</div>
diff --git a/tests/wpt/tests/css/css-page/margin-boxes/content-006-print.html b/tests/wpt/tests/css/css-page/margin-boxes/content-006-print.html
new file mode 100644
index 00000000000..68ece6326ae
--- /dev/null
+++ b/tests/wpt/tests/css/css-page/margin-boxes/content-006-print.html
@@ -0,0 +1,39 @@
+<!DOCTYPE html>
+<link rel="author" title="Morten Stenshorne" href="mailto:mstensho@chromium.org">
+<link rel="help" href="https://drafts.csswg.org/css-page-3/#page-based-counters">
+<meta name="assert" content="Test counter(page) and counter(pages) in page margin boxes, except on the first page. Everything is absolute-positioned.">
+<!-- Using the ref from the preceding test, since they should be the same -->
+<link rel="match" href="content-005-print-ref.html">
+<style>
+ @page {
+ margin: 4em;
+
+ @top-center {
+ text-align: left;
+ vertical-align: top;
+ content: "Page " counter(page) " of " counter(pages);
+ }
+ @bottom-center {
+ text-align: left;
+ vertical-align: top;
+ content: "Page " counter(page) " of " counter(pages);
+ }
+ }
+ @page :first {
+ @top-center { content: none; }
+ @bottom-center { content: none; }
+ }
+ body {
+ margin: 0;
+ }
+</style>
+<div style="position:absolute;">
+ All pages except this one should display the current page and the total page
+ count in both the header and footer.
+ <div style="break-before:page;">
+ Another page
+ </div>
+ <div style="break-before:page;">
+ Yet another page
+ </div>
+</div>
diff --git a/tests/wpt/tests/css/css-page/monolithic-overflow-031-print-ref.html b/tests/wpt/tests/css/css-page/monolithic-overflow-031-print-ref.html
new file mode 100644
index 00000000000..c2d8b7ea5ff
--- /dev/null
+++ b/tests/wpt/tests/css/css-page/monolithic-overflow-031-print-ref.html
@@ -0,0 +1,24 @@
+<!DOCTYPE html>
+<link rel="author" title="Morten Stenshorne" href="mailto:mstensho@chromium.org">
+<style>
+ body {
+ margin: 0;
+ }
+ @page {
+ size: 400px 300px;
+ margin: 0;
+ }
+</style>
+<!DOCTYPE html>
+<div style="height:50px; background:black;"></div>
+<div style="width:350px; height:0;">
+ There should be 5 pages. The yellow box should go all the way to the
+ bottom of the fifth page. There should be a black top border at the top of
+ the first page, and a gray bottom border around halfway down on the third
+ page. The yellow box should be on the top of the gray border.
+</div>
+<div style="height:0;">
+ <div style="height:675px;"></div>
+ <div style="height:50px; background:gray;"></div>
+</div>
+<div style="width:50%; height:1450px; background:yellow;"></div>
diff --git a/tests/wpt/tests/css/css-page/monolithic-overflow-031-print.html b/tests/wpt/tests/css/css-page/monolithic-overflow-031-print.html
new file mode 100644
index 00000000000..c1784900622
--- /dev/null
+++ b/tests/wpt/tests/css/css-page/monolithic-overflow-031-print.html
@@ -0,0 +1,23 @@
+<!DOCTYPE html>
+<link rel="author" title="Morten Stenshorne" href="mailto:mstensho@chromium.org">
+<link rel="help" href="https://issues.chromium.org/40415661">
+<link rel="match" href="monolithic-overflow-031-print-ref.html">
+<style>
+ body {
+ margin: 0;
+ }
+ @page {
+ size: 400px 300px;
+ margin: 0;
+ }
+</style>
+<div style="box-decoration-break:clone; height:675px; border:solid black; border-width:50px 0; border-bottom-color:gray;">
+ <div style="contain:size; width:50%; height:1450px; background:yellow;">
+ <div style="width:350px;">
+ There should be 5 pages. The yellow box should go all the way to the
+ bottom of the fifth page. There should be a black top border at the top of
+ the first page, and a gray bottom border around halfway down on the third
+ page. The yellow box should be on the top of the gray border.
+ </div>
+ </div>
+</div>
diff --git a/tests/wpt/tests/css/css-page/monolithic-overflow-032-print-ref.html b/tests/wpt/tests/css/css-page/monolithic-overflow-032-print-ref.html
new file mode 100644
index 00000000000..36724ac929d
--- /dev/null
+++ b/tests/wpt/tests/css/css-page/monolithic-overflow-032-print-ref.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<link rel="author" title="Morten Stenshorne" href="mailto:mstensho@chromium.org">
+<style>
+ body {
+ margin: 0;
+ }
+ @page {
+ size: 400px 300px;
+ margin: 0;
+ }
+ .borders {
+ border: solid black;
+ border-width: 10px 0;
+ border-bottom-color: gray;
+ }
+</style>
+<div class="borders">
+ <div style="width:50%; box-sizing:border-box; border:solid hotpink; height:850px; background:yellow;"></div>
+</div>
+<div class="borders">
+ <div style="width:25%; height:10px; background:cyan;"></div>
+</div>
+<div class="borders">
+ <div style="width:25%; height:280px; background:cyan;"></div>
+</div>
+<div class="borders">
+ <div style="width:25%; height:10px; background:cyan;"></div>
+ <div style="height:270px;"></div>
+</div>
+<div class="borders">
+ <div style="height:280px;"></div>
+</div>
+<div class="borders">
+ <div style="height:100px;"></div>
+</div>
diff --git a/tests/wpt/tests/css/css-page/monolithic-overflow-032-print.tentative.html b/tests/wpt/tests/css/css-page/monolithic-overflow-032-print.tentative.html
new file mode 100644
index 00000000000..ad7ccf029f6
--- /dev/null
+++ b/tests/wpt/tests/css/css-page/monolithic-overflow-032-print.tentative.html
@@ -0,0 +1,25 @@
+<!DOCTYPE html>
+<link rel="author" title="Morten Stenshorne" href="mailto:mstensho@chromium.org">
+<link rel="help" href="https://issues.chromium.org/40415661">
+<link rel="match" href="monolithic-overflow-032-print-ref.html">
+<style>
+ body {
+ margin: 0;
+ }
+ @page {
+ size: 400px 300px;
+ margin: 0;
+ }
+</style>
+<!-- It's not obvious that the expected behavior here is correct, but Blink and
+ Gecko agree on it. Essentially, we expect that when the tall monolithic
+ content has been fully placed (see the third page), and there's more
+ content after it, a new fragment starts right after the fragment with tall
+ monolithic content. This means that it would appear that there are two
+ fragments from the same node on the same page, but this is not really the
+ case, since the first fragment is just a huge fragment that has run all the
+ way since the first page. -->
+<div style="box-decoration-break:clone; height:1800px; border:solid black; border-width:10px 0; border-bottom-color:gray;">
+ <div style="contain:size; width:50%; box-sizing:border-box; border:solid hotpink; height:850px; background:yellow;"></div>
+ <div style="width:25%; height:300px; background:cyan;"></div>
+</div>
diff --git a/tests/wpt/tests/css/css-page/parsing/page-rules-001.html b/tests/wpt/tests/css/css-page/parsing/page-rules-001.html
new file mode 100644
index 00000000000..cac396e237f
--- /dev/null
+++ b/tests/wpt/tests/css/css-page/parsing/page-rules-001.html
@@ -0,0 +1,19 @@
+<!DOCTYPE html>
+<link rel="author" title="Mozilla" href="https://mozilla.org">
+<link rel="help" href="https://drafts.csswg.org/css-page-3/#at-page-rules">
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<script src="/css/support/parsing-testcommon.js"></script>
+<script>
+test(t => {
+ // At least check that empty selectors are not allowed.
+ test_invalid_rule("@page , { }");
+ test_valid_rule("@page { }");
+ // Some basic name tests.
+ test_valid_rule("@page a { }");
+ test_valid_rule("@page page1 { }");
+ test_valid_rule("@page name1, name2 { }");
+ test_invalid_rule("@page a, { }");
+ test_invalid_rule("@page ,a { }");
+}, "page-rules-001");
+</script>
diff --git a/tests/wpt/tests/css/css-position/position-sticky-dynamic-ancestor-001.html b/tests/wpt/tests/css/css-position/position-sticky-dynamic-ancestor-001.html
new file mode 100644
index 00000000000..e3f3debcc34
--- /dev/null
+++ b/tests/wpt/tests/css/css-position/position-sticky-dynamic-ancestor-001.html
@@ -0,0 +1,63 @@
+<!DOCTYPE html>
+<meta charset="utf-8">
+<meta name="viewport" content="width=device-width">
+<title>Dynamic sticky position change doesn't break inner sticky positioned items</title>
+<link rel="help" href="https://drafts.csswg.org/css-position-3/#sticky-position">
+<link rel="help" href="https://bugzilla.mozilla.org/show_bug.cgi?id=1908242">
+<link rel="author" title="Emilio Cobos" href="mailto:emilio@crisal.io">
+<link rel="author" title="Mozilla" href="https://mozilla.org">
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<style>
+ body {
+ margin: 0;
+ display: flex;
+ }
+
+ #content {
+ border: 10px dashed gray;
+ height: 600vh;
+ }
+
+ #sidebar {
+ align-self: start;
+ background-color: white;
+ border: 10px dashed gray;
+ top: 0;
+ }
+
+ #sidebar-header {
+ position: sticky;
+ top: 0;
+ background-color: rgba(255, 0, 0, .5);
+ }
+
+ #sidebar-content {
+ padding: 5px;
+ height: 200vh;
+ }
+</style>
+<div id=content>
+ CONTENT
+</div>
+<div id=sidebar>
+ <div id=sidebar-header>
+ SIDEBAR TOP STICKY
+ </div>
+ <div id=sidebar-content>
+ SIDEBAR CONTENT
+ </div>
+</div>
+<script>
+let sidebar = document.getElementById("sidebar");
+let sidebarHeader = document.getElementById("sidebar-header");
+test(function() {
+ // Make the header and sidebar stick.
+ window.scrollTo(0, 100);
+ assert_less_than(sidebar.getBoundingClientRect().top, 0, "Sidebar should not be stuck (yet)");
+ assert_equals(sidebarHeader.getBoundingClientRect().top, 0, "Sidebar header should be stuck");
+ sidebar.style.position = "sticky";
+ assert_equals(sidebar.getBoundingClientRect().top, 0, "Sidebar should be stuck now");
+ assert_equals(sidebarHeader.getBoundingClientRect().top, 10, "Sidebar header should be stuck under sidebar border");
+});
+</script>
diff --git a/tests/wpt/tests/css/css-scroll-anchoring/adjustment-followed-by-scrollBy.html b/tests/wpt/tests/css/css-scroll-anchoring/adjustment-followed-by-scrollBy.html
index 7428147b835..9dd61659055 100644
--- a/tests/wpt/tests/css/css-scroll-anchoring/adjustment-followed-by-scrollBy.html
+++ b/tests/wpt/tests/css/css-scroll-anchoring/adjustment-followed-by-scrollBy.html
@@ -29,7 +29,7 @@ promise_test(async t => {
assert_equals(window.scrollY, 0);
// Center an element.
- center.scrollIntoView({ block: "center" }, { behavior: "instant" });
+ center.scrollIntoView({ block: "center", behavior: "instant" });
await new Promise(resolve => window.addEventListener("scroll", resolve));
const originalPosition = center.getBoundingClientRect().top;
@@ -50,7 +50,7 @@ promise_test(async t => {
// Now try to scrollIntoView({ block: "center" }) and make sure the position
// is unchanged.
- center.scrollIntoView({ block: "center" }, { behavior: "instant" });
+ center.scrollIntoView({ block: "center", behavior: "instant" });
// Wait two frames to be able to scroll if it's possible.
await new Promise(resolve => requestAnimationFrame(resolve));
diff --git a/tests/wpt/tests/css/css-sizing/animation/height-composition.html b/tests/wpt/tests/css/css-sizing/animation/height-composition.html
index 094e247dcf2..3bab6c3bd2a 100644
--- a/tests/wpt/tests/css/css-sizing/animation/height-composition.html
+++ b/tests/wpt/tests/css/css-sizing/animation/height-composition.html
@@ -7,6 +7,14 @@
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="/css/support/interpolation-testcommon.js"></script>
+<style>
+.target::before {
+ display: block;
+ content: "";
+ width: 75px;
+ height: 75px;
+}
+</style>
<body>
<script>
@@ -74,5 +82,18 @@ test_composition({
{at: 1, expect: 'auto'},
{at: 1.5, expect: 'auto'},
]);
+
+test_composition({
+ property: 'height',
+ underlying: 'min-content', /* ignored */
+ addFrom: '100px',
+ addTo: '200px',
+}, [
+ {at: -0.3, expect: '70px'},
+ {at: 0, expect: '100px'},
+ {at: 0.5, expect: '150px'},
+ {at: 1, expect: '200px'},
+ {at: 1.5, expect: '250px'},
+]);
</script>
</body>
diff --git a/tests/wpt/tests/css/css-sizing/animation/max-height-composition.html b/tests/wpt/tests/css/css-sizing/animation/max-height-composition.html
index fb5b241d008..b3cecaee3b8 100644
--- a/tests/wpt/tests/css/css-sizing/animation/max-height-composition.html
+++ b/tests/wpt/tests/css/css-sizing/animation/max-height-composition.html
@@ -74,5 +74,18 @@ test_composition({
{at: 1, expect: 'none'},
{at: 1.5, expect: 'none'},
]);
+
+test_composition({
+ property: 'max-height',
+ underlying: '100px',
+ addFrom: 'min-content',
+ addTo: '100px',
+}, [
+ {at: -0.3, expect: 'min-content'},
+ {at: 0, expect: 'min-content'},
+ {at: 0.5, expect: '200px'},
+ {at: 1, expect: '200px'},
+ {at: 1.5, expect: '200px'},
+]);
</script>
</body>
diff --git a/tests/wpt/tests/css/css-sizing/animation/max-width-composition.html b/tests/wpt/tests/css/css-sizing/animation/max-width-composition.html
index 8b6d8b704c8..a5c85d44e00 100644
--- a/tests/wpt/tests/css/css-sizing/animation/max-width-composition.html
+++ b/tests/wpt/tests/css/css-sizing/animation/max-width-composition.html
@@ -74,5 +74,18 @@ test_composition({
{at: 1, expect: 'none'},
{at: 1.5, expect: 'none'},
]);
+
+test_composition({
+ property: 'max-width',
+ underlying: 'fit-content',
+ addFrom: '100px',
+ addTo: '200px',
+}, [
+ {at: -0.3, expect: '70px'},
+ {at: 0, expect: '100px'},
+ {at: 0.5, expect: '150px'},
+ {at: 1, expect: '200px'},
+ {at: 1.5, expect: '250px'},
+]);
</script>
</body>
diff --git a/tests/wpt/tests/css/css-sizing/animation/min-height-composition.html b/tests/wpt/tests/css/css-sizing/animation/min-height-composition.html
index 1e92b0ec2fd..8914f17a47a 100644
--- a/tests/wpt/tests/css/css-sizing/animation/min-height-composition.html
+++ b/tests/wpt/tests/css/css-sizing/animation/min-height-composition.html
@@ -74,5 +74,18 @@ test_composition({
{at: 1, expect: 'auto'},
{at: 1.5, expect: 'auto'},
]);
+
+test_composition({
+ property: 'min-height',
+ underlying: '100px', /* ignored */
+ addFrom: 'min-content',
+ addTo: 'max-content',
+}, [
+ {at: -0.3, expect: 'min-content'},
+ {at: 0, expect: 'min-content'},
+ {at: 0.5, expect: 'max-content'},
+ {at: 1, expect: 'max-content'},
+ {at: 1.5, expect: 'max-content'},
+]);
</script>
</body>
diff --git a/tests/wpt/tests/css/css-sizing/animation/min-width-composition.html b/tests/wpt/tests/css/css-sizing/animation/min-width-composition.html
index e8bd41030bb..b873d2b21ec 100644
--- a/tests/wpt/tests/css/css-sizing/animation/min-width-composition.html
+++ b/tests/wpt/tests/css/css-sizing/animation/min-width-composition.html
@@ -74,5 +74,18 @@ test_composition({
{at: 1, expect: 'auto'},
{at: 1.5, expect: 'auto'},
]);
+
+test_composition({
+ property: 'min-width',
+ underlying: 'min-content',
+ addFrom: 'max-content',
+ addTo: 'fit-content',
+}, [
+ {at: -0.3, expect: 'max-content'},
+ {at: 0, expect: 'max-content'},
+ {at: 0.5, expect: 'fit-content'},
+ {at: 1, expect: 'fit-content'},
+ {at: 1.5, expect: 'fit-content'},
+]);
</script>
</body>
diff --git a/tests/wpt/tests/css/css-sizing/animation/width-composition.html b/tests/wpt/tests/css/css-sizing/animation/width-composition.html
index bfe45cb3147..e9bbe83724e 100644
--- a/tests/wpt/tests/css/css-sizing/animation/width-composition.html
+++ b/tests/wpt/tests/css/css-sizing/animation/width-composition.html
@@ -7,6 +7,14 @@
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="/css/support/interpolation-testcommon.js"></script>
+<style>
+.target::before {
+ display: block;
+ content: "";
+ width: 75px;
+ height: 125px;
+}
+</style>
<body>
<script>
@@ -74,5 +82,20 @@ test_composition({
{at: 1, expect: 'auto'},
{at: 1.5, expect: 'auto'},
]);
+
+test_composition({
+ property: 'width',
+ underlying: '100px',
+ addFrom: '100px',
+ addTo: 'min-content', /* 75px, not compatible */
+}, [
+ {at: -0.3, expect: '200px'},
+ {at: 0, expect: '200px'},
+ {at: 0.5, expect: '75px'},
+ {at: 1, expect: '75px'},
+ {at: 1.5, expect: '75px'},
+]);
+</script>
+</body>
</script>
</body>
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 efe61160c03..b37b57bf26d 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
@@ -325,6 +325,7 @@
]);
// Test that we don't interpolate if doing so would require too much expansion.
+ // See https://github.com/w3c/csswg-drafts/issues/10369 .
test_no_interpolation({
property: 'height',
from: 'calc-size(calc-size(calc-size(calc-size(calc-size(calc-size(calc-size(calc-size(calc-size(calc-size(calc-size(calc-size(calc-size(calc-size(calc-size(calc-size(calc-size(calc-size(calc-size(calc-size(auto, size / 2 + size / 2), size / 2 + size / 2), size / 2 + size / 2), size / 2 + size / 2), size / 2 + size / 2), size / 2 + size / 2), size / 2 + size / 2), size / 2 + size / 2), size / 2 + size / 2), size / 2 + size / 2), size / 2 + size / 2), size / 2 + size / 2), size / 2 + size / 2), size / 2 + size / 2), size / 2 + size / 2), size / 2 + size / 2), size / 2 + size / 2), size / 2 + size / 2), size / 2 + size / 2), size / 2 + size / 2)',
diff --git a/tests/wpt/tests/css/css-values/calc-size/animation/interpolate-size-height-composition.html b/tests/wpt/tests/css/css-values/calc-size/animation/interpolate-size-height-composition.html
new file mode 100644
index 00000000000..22f62b8edac
--- /dev/null
+++ b/tests/wpt/tests/css/css-values/calc-size/animation/interpolate-size-height-composition.html
@@ -0,0 +1,57 @@
+<!DOCTYPE html>
+<meta charset="UTF-8">
+<title>height composition with interpolate-size: allow-keywords</title>
+<link rel="help" href="https://drafts.csswg.org/css-sizing-3/#propdef-height">
+<link rel="help" href="https://drafts.csswg.org/css-values-5/#interpolate-size">
+
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<script src="/css/support/interpolation-testcommon.js"></script>
+<style>
+:root {
+ interpolate-size: allow-keywords;
+}
+.parent {
+ height: 200px;
+}
+.target {
+ width: 100px;
+ height: 150px;
+}
+.target::before {
+ display: block;
+ content: "";
+ width: 100px;
+ height: 50px;
+}
+</style>
+
+<body>
+<script>
+test_composition({
+ property: 'height',
+ underlying: 'fit-content', /* 50px */
+ addFrom: '100px',
+ addTo: '200px',
+}, [
+ {at: -0.3, expect: '120px'},
+ {at: 0, expect: '150px'},
+ {at: 0.5, expect: '200px'},
+ {at: 1, expect: '250px'},
+ {at: 1.5, expect: '300px'},
+]);
+
+test_composition({
+ property: 'height',
+ underlying: 'fit-content', /* ignored because the keywords aren't compatible */
+ addFrom: 'min-content', /* 50px */
+ addTo: '200px',
+}, [
+ {at: -0.3, expect: '5px'},
+ {at: 0, expect: '50px'},
+ {at: 0.5, expect: '125px'},
+ {at: 1, expect: '200px'},
+ {at: 1.5, expect: '275px'},
+]);
+</script>
+</body>
diff --git a/tests/wpt/tests/css/css-values/calc-size/animation/interpolate-size-height-interpolation.html b/tests/wpt/tests/css/css-values/calc-size/animation/interpolate-size-height-interpolation.html
new file mode 100644
index 00000000000..1eeb7b9c8a0
--- /dev/null
+++ b/tests/wpt/tests/css/css-values/calc-size/animation/interpolate-size-height-interpolation.html
@@ -0,0 +1,158 @@
+<!DOCTYPE html>
+<meta charset="UTF-8">
+<title>height interpolation with interpolate-size: allow-keywords</title>
+<link rel="help" href="https://drafts.csswg.org/css-sizing-3/#propdef-height">
+<link rel="help" href="https://drafts.csswg.org/css-values-5/#interpolate-size">
+
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<script src="/css/support/interpolation-testcommon.js"></script>
+
+<style>
+:root {
+ interpolate-size: allow-keywords;
+}
+.parent {
+ height: 200px;
+}
+.target {
+ width: 100px;
+ height: 150px;
+}
+.target::before {
+ display: block;
+ content: "";
+ width: 100px;
+ height: 50px;
+}
+</style>
+
+<body></body>
+
+<script>
+
+test_interpolation({
+ property: 'height',
+ from: 'initial', /* auto, which is 50px */
+ to: '90px',
+}, [
+ {at: -0.3, expect: '38px'},
+ {at: 0, expect: '50px'},
+ {at: 0.3, expect: '62px'},
+ {at: 0.6, expect: '74px'},
+ {at: 1, expect: '90px'},
+ {at: 1.5, expect: '110px'}
+]);
+
+test_interpolation({
+ property: 'height',
+ from: 'unset', /* auto, which is 50px */
+ to: '10px',
+}, [
+ {at: -0.3, expect: '62px'},
+ {at: 0, expect: '50px'},
+ {at: 0.3, expect: '38px'},
+ {at: 0.6, expect: '26px'},
+ {at: 1, expect: '10px'},
+ {at: 1.5, expect: '0px'} // height can't be negative
+]);
+
+test_interpolation({
+ property: 'height',
+ from: '0px',
+ to: 'auto' /* 50px */
+}, [
+ {at: -0.3, expect: '0px'}, // height can't be negative
+ {at: 0, expect: '0px'},
+ {at: 0.3, expect: '15px'},
+ {at: 0.6, expect: '30px'},
+ {at: 1, expect: '50px'},
+ {at: 1.5, expect: '75px'}
+]);
+
+test_interpolation({
+ property: 'height',
+ from: 'auto', /* 50px */
+ to: '10px',
+}, [
+ {at: -0.3, expect: '62px'},
+ {at: 0, expect: '50px'},
+ {at: 0.3, expect: '38px'},
+ {at: 0.6, expect: '26px'},
+ {at: 1, expect: '10px'},
+ {at: 1.5, expect: '0px'} // height can't be negative
+]);
+
+test_interpolation({
+ property: 'height',
+ from: 'min-content', /* 50px */
+ to: 'inherit', /* 200px */
+}, [
+ {at: -0.3, expect: '5px'},
+ {at: 0, expect: '50px'},
+ {at: 0.3, expect: '95px'},
+ {at: 0.6, expect: '140px'},
+ {at: 1, expect: '200px'},
+ {at: 1.5, expect: '275px'}
+]);
+
+// both 50px but not interpolable
+test_no_interpolation({
+ property: 'height',
+ from: 'auto',
+ to: 'min-content',
+});
+
+test_interpolation({
+ property: 'height',
+ from: 'fit-content', /* 50px */
+ to: '10px',
+}, [
+ {at: -0.3, expect: '62px'},
+ {at: 0, expect: '50px'},
+ {at: 0.3, expect: '38px'},
+ {at: 0.6, expect: '26px'},
+ {at: 1, expect: '10px'},
+ {at: 1.5, expect: '0px'} // height can't be negative
+]);
+
+// both 50px but not interpolable
+test_no_interpolation({
+ property: 'height',
+ from: 'max-content',
+ to: 'fit-content',
+});
+
+test_no_interpolation({
+ property: 'height',
+ from: 'max-content',
+ to: 'stretch',
+});
+
+test_interpolation({
+ property: 'height',
+ from: 'max-content', /* 50px */
+ to: neutralKeyframe, /* 150px */
+}, [
+ {at: -0.3, expect: '20px'},
+ {at: 0, expect: '50px'},
+ {at: 0.3, expect: '80px'},
+ {at: 0.6, expect: '110px'},
+ {at: 1, expect: '150px'},
+ {at: 1.5, expect: '200px'}
+]);
+
+test_interpolation({
+ property: 'height',
+ from: neutralKeyframe, /* 150px */
+ to: 'fit-content', /* 50px */
+}, [
+ {at: -0.3, expect: '180px'},
+ {at: 0, expect: '150px'},
+ {at: 0.3, expect: '120px'},
+ {at: 0.6, expect: '90px'},
+ {at: 1, expect: '50px'},
+ {at: 1.5, expect: '0px'}
+]);
+
+</script>
diff --git a/tests/wpt/tests/css/css-values/calc-size/animation/interpolate-size-logical-properties-interpolation.html b/tests/wpt/tests/css/css-values/calc-size/animation/interpolate-size-logical-properties-interpolation.html
new file mode 100644
index 00000000000..5105f751bd6
--- /dev/null
+++ b/tests/wpt/tests/css/css-values/calc-size/animation/interpolate-size-logical-properties-interpolation.html
@@ -0,0 +1,121 @@
+<!DOCTYPE html>
+<meta charset="UTF-8">
+<title>max-height interpolation with interpolate-size: allow-keywords</title>
+<link rel="help" href="https://drafts.csswg.org/css-sizing-3/#propdef-max-height">
+<link rel="help" href="https://drafts.csswg.org/css-values-5/#interpolate-size">
+
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<script src="/css/support/interpolation-testcommon.js"></script>
+
+<style>
+:root {
+ interpolate-size: allow-keywords;
+}
+.parent {
+ height: 200px;
+ max-height: 300px;
+}
+.target {
+ width: 100px;
+ height: 50px;
+ max-height: 100px;
+}
+.target::before {
+ display: block;
+ content: "";
+ width: 125px;
+ height: 75px;
+}
+
+</style>
+
+<body>
+<template id="target-template">
+ <div>
+ <div class="target"></div>
+ </div>
+</template>
+</body>
+
+<script>
+
+test_interpolation({
+ property: 'block-size',
+ from: 'max-content', /* 75px */
+ to: '25px',
+}, [
+ {at: -0.3, expect: '90px'},
+ {at: 0, expect: '75px'},
+ {at: 0.3, expect: '60px'},
+ {at: 0.6, expect: '45px'},
+ {at: 1, expect: '25px'},
+ {at: 1.5, expect: '0px'}
+]);
+
+test_interpolation({
+ property: 'inline-size',
+ from: 'max-content', /* 125px */
+ to: neutralKeyframe, /* 100px */
+}, [
+ {at: -0.3, expect: '132.5px'},
+ {at: 0, expect: '125px'},
+ {at: 0.3, expect: '117.5px'},
+ {at: 0.6, expect: '110px'},
+ {at: 1, expect: '100px'},
+ {at: 1.5, expect: '87.5px'}
+]);
+
+test_interpolation({
+ property: 'max-block-size',
+ from: neutralKeyframe, /* 100px */
+ to: 'fit-content',
+}, [
+ {at: -0.3, expect: 'calc-size(fit-content, 130px + size * -0.3)'},
+ {at: 0, expect: 'calc-size(fit-content, 100px + size * 0)'},
+ {at: 0.3, expect: 'calc-size(fit-content, 70px + size * 0.3)'},
+ {at: 0.6, expect: 'calc-size(fit-content, 40px + size * 0.6)'},
+ {at: 1, expect: 'calc-size(fit-content, 0px + size * 1)'},
+ {at: 1.5, expect: 'calc-size(fit-content, -50px + size * 1.5)'}
+]);
+
+test_interpolation({
+ property: 'max-inline-size',
+ from: 'max-content',
+ to: '100px',
+}, [
+ {at: -0.3, expect: 'calc-size(max-content, -30px + size * 1.3)'},
+ {at: 0, expect: 'calc-size(max-content, 0px + size * 1)'},
+ {at: 0.3, expect: 'calc-size(max-content, 30px + size * 0.7)'},
+ {at: 0.6, expect: 'calc-size(max-content, 60px + size * 0.4)'},
+ {at: 1, expect: 'calc-size(max-content, 100px + size * 0)'},
+ {at: 1.5, expect: 'calc-size(max-content, 150px + size * -0.5)'}
+]);
+
+test_interpolation({
+ property: 'min-block-size',
+ from: '200px',
+ to: 'min-content',
+}, [
+ {at: -0.3, expect: 'calc-size(min-content, 260px + size * -0.3)'},
+ {at: 0, expect: 'calc-size(min-content, 200px + size * 0)'},
+ {at: 0.3, expect: 'calc-size(min-content, 140px + size * 0.3)'},
+ {at: 0.6, expect: 'calc-size(min-content, 80px + size * 0.6)'},
+ {at: 1, expect: 'calc-size(min-content, 0px + size * 1)'},
+ {at: 1.5, expect: 'calc-size(min-content, -100px + size * 1.5)'}
+]);
+
+test_interpolation({
+ property: 'min-inline-size',
+ from: neutralKeyframe, /* auto */
+ to: '100px',
+}, [
+ {at: -0.3, expect: 'calc-size(auto, -30px + size * 1.3)'},
+ {at: 0, expect: 'calc-size(auto, 0px + size * 1)'},
+ {at: 0.3, expect: 'calc-size(auto, 30px + size * 0.7)'},
+ {at: 0.6, expect: 'calc-size(auto, 60px + size * 0.4)'},
+ {at: 1, expect: 'calc-size(auto, 100px + size * 0)'},
+ {at: 1.5, expect: 'calc-size(auto, 150px + size * -0.5)'}
+]);
+
+</script>
diff --git a/tests/wpt/tests/css/css-values/calc-size/animation/interpolate-size-max-height-composition.html b/tests/wpt/tests/css/css-values/calc-size/animation/interpolate-size-max-height-composition.html
new file mode 100644
index 00000000000..e356fb60746
--- /dev/null
+++ b/tests/wpt/tests/css/css-values/calc-size/animation/interpolate-size-max-height-composition.html
@@ -0,0 +1,63 @@
+<!DOCTYPE html>
+<meta charset="UTF-8">
+<title>max-height composition with interpolate-size: allow-keywords</title>
+<link rel="help" href="https://drafts.csswg.org/css-sizing-3/#propdef-max-height">
+<link rel="help" href="https://drafts.csswg.org/css-values-5/#interpolate-size">
+
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<script src="/css/support/interpolation-testcommon.js"></script>
+<style>
+:root {
+ interpolate-size: allow-keywords;
+}
+.parent {
+ height: 200px;
+}
+.target {
+ width: 100px;
+ height: 150px;
+}
+.target::before {
+ display: block;
+ content: "";
+ width: 100px;
+ height: 50px;
+}
+</style>
+
+<body>
+<script>
+
+// TODO(https://issues.chromium.org/issues/40339056): The specific
+// syntax details of these expectations probably need further review to
+// check against the calc() simplification rules and other parts of the
+// specification.
+
+test_composition({
+ property: 'max-height',
+ underlying: 'fit-content', /* 50px */
+ addFrom: '100px',
+ addTo: '200px',
+}, [
+ {at: -0.3, expect: 'calc-size(fit-content, 70px + size * 1)'},
+ {at: 0, expect: 'calc-size(fit-content, 100px + size * 1)'},
+ {at: 0.5, expect: 'calc-size(fit-content, 150px + size * 1)'},
+ {at: 1, expect: 'calc-size(fit-content, 200px + size * 1)'},
+ {at: 1.5, expect: 'calc-size(fit-content, 250px + size * 1)'},
+]);
+
+test_composition({
+ property: 'max-height',
+ underlying: 'fit-content', /* ignored because the keywords aren't compatible */
+ addFrom: 'min-content', /* 50px */
+ addTo: '200px',
+}, [
+ {at: -0.3, expect: 'calc-size(min-content, -60px + size * 1.3)'},
+ {at: 0, expect: 'calc-size(min-content, 0px + size * 1)'},
+ {at: 0.5, expect: 'calc-size(min-content, 100px + size * 0.5)'},
+ {at: 1, expect: 'calc-size(min-content, 200px + size * 0)'},
+ {at: 1.5, expect: 'calc-size(min-content, 300px + size * -0.5)'},
+]);
+</script>
+</body>
diff --git a/tests/wpt/tests/css/css-values/calc-size/animation/interpolate-size-max-height-interpolation.html b/tests/wpt/tests/css/css-values/calc-size/animation/interpolate-size-max-height-interpolation.html
new file mode 100644
index 00000000000..89a99a2c0ce
--- /dev/null
+++ b/tests/wpt/tests/css/css-values/calc-size/animation/interpolate-size-max-height-interpolation.html
@@ -0,0 +1,111 @@
+<!DOCTYPE html>
+<meta charset="UTF-8">
+<title>max-height interpolation with interpolate-size: allow-keywords</title>
+<link rel="help" href="https://drafts.csswg.org/css-sizing-3/#propdef-max-height">
+<link rel="help" href="https://drafts.csswg.org/css-values-5/#interpolate-size">
+
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<script src="/css/support/interpolation-testcommon.js"></script>
+
+<style>
+:root {
+ interpolate-size: allow-keywords;
+}
+.parent {
+ height: 200px;
+ max-height: 300px;
+}
+.target {
+ width: 100px;
+ height: 50px;
+ max-height: 100px;
+}
+.target::before {
+ display: block;
+ content: "";
+ width: 100px;
+ height: 50px;
+}
+
+</style>
+
+<body>
+<template id="target-template">
+ <div>
+ <div class="target"></div>
+ </div>
+</template>
+</body>
+
+<script>
+test_no_interpolation({
+ property: 'max-height',
+ from: 'initial',
+ to: '20px',
+});
+
+test_no_interpolation({
+ property: 'max-height',
+ from: 'unset',
+ to: '20px',
+});
+
+test_no_interpolation({
+ property: 'max-height',
+ from: 'none',
+ to: '20px',
+});
+
+test_no_interpolation({
+ property: 'max-height',
+ from: 'none',
+ to: 'max-content',
+});
+
+test_no_interpolation({
+ property: 'max-height',
+ from: 'stretch',
+ to: 'fit-content',
+});
+
+test_interpolation({
+ property: 'max-height',
+ from: '150px',
+ to: 'min-content', /* (50px) */
+}, [
+ {at: -0.3, expect: 'calc-size(min-content, 195px + size * -0.3)'},
+ {at: 0, expect: 'calc-size(min-content, 150px + size * 0)'},
+ {at: 0.3, expect: 'calc-size(min-content, 105px + size * 0.3)'},
+ {at: 0.6, expect: 'calc-size(min-content, 60px + size * 0.6)'},
+ {at: 1, expect: 'calc-size(min-content, 0px + size * 1)'},
+ {at: 1.5, expect: 'calc-size(min-content, -75px + size * 1.5)'}
+]);
+
+test_interpolation({
+ property: 'max-height',
+ from: 'min-content', /* (50px) */
+ to: neutralKeyframe, /* 100px */
+}, [
+ {at: -0.3, expect: 'calc-size(min-content, -30px + size * 1.3)'},
+ {at: 0, expect: 'calc-size(min-content, 0px + size * 1)'},
+ {at: 0.3, expect: 'calc-size(min-content, 30px + size * 0.7)'},
+ {at: 0.6, expect: 'calc-size(min-content, 60px + size * 0.4)'},
+ {at: 1, expect: 'calc-size(min-content, 100px + size * 0)'},
+ {at: 1.5, expect: 'calc-size(min-content, 150px + size * -0.5)'}
+]);
+
+test_interpolation({
+ property: 'max-height',
+ from: neutralKeyframe, /* 100px */
+ to: 'max-content', /* (50px) */
+}, [
+ {at: -0.3, expect: 'calc-size(max-content, 130px + size * -0.3)'},
+ {at: 0, expect: 'calc-size(max-content, 100px + size * 0)'},
+ {at: 0.3, expect: 'calc-size(max-content, 70px + size * 0.3)'},
+ {at: 0.6, expect: 'calc-size(max-content, 40px + size * 0.6)'},
+ {at: 1, expect: 'calc-size(max-content, 0px + size * 1)'},
+ {at: 1.5, expect: 'calc-size(max-content, -50px + size * 1.5)'}
+]);
+
+</script>
diff --git a/tests/wpt/tests/css/css-values/calc-size/animation/interpolate-size-max-width-composition.html b/tests/wpt/tests/css/css-values/calc-size/animation/interpolate-size-max-width-composition.html
new file mode 100644
index 00000000000..1e540eaee64
--- /dev/null
+++ b/tests/wpt/tests/css/css-values/calc-size/animation/interpolate-size-max-width-composition.html
@@ -0,0 +1,76 @@
+<!DOCTYPE html>
+<meta charset="UTF-8">
+<title>max-width composition with interpolate-size: allow-keywords</title>
+<link rel="help" href="https://drafts.csswg.org/css-sizing-3/#propdef-max-width">
+<link rel="help" href="https://drafts.csswg.org/css-values-5/#interpolate-size">
+
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<script src="/css/support/interpolation-testcommon.js"></script>
+<style>
+:root {
+ interpolate-size: allow-keywords;
+}
+.parent {
+ width: 200px;
+}
+.target {
+ width: 100px;
+ height: 150px;
+}
+.target::before {
+ display: block;
+ content: "";
+ width: 100px;
+ height: 50px;
+}
+</style>
+
+<body>
+<script>
+
+// TODO(https://issues.chromium.org/issues/40339056): The specific
+// syntax details of these expectations probably need further review to
+// check against the calc() simplification rules and other parts of the
+// specification.
+
+test_composition({
+ property: 'max-width',
+ underlying: '100px',
+ addFrom: '100px',
+ addTo: 'fit-content',
+}, [
+ {at: -0.3, expect: 'calc-size(fit-content, 230px + size * -0.3)'},
+ {at: 0, expect: 'calc-size(fit-content, 200px + size * 0)'},
+ {at: 0.5, expect: 'calc-size(fit-content, 150px + size * 0.5)'},
+ {at: 1, expect: 'calc-size(fit-content, 100px + size * 1)'},
+ {at: 1.5, expect: 'calc-size(fit-content, 50px + size * 1.5)'},
+]);
+
+test_composition({
+ property: 'max-width',
+ underlying: '100px',
+ addFrom: 'fit-content', /* not compatible */
+ addTo: 'max-content', /* not compatible */
+}, [
+ {at: -0.3, expect: 'calc-size(fit-content, 100px + size)'},
+ {at: 0, expect: 'calc-size(fit-content, 100px + size)'},
+ {at: 0.5, expect: 'calc-size(max-content, 100px + size)'},
+ {at: 1, expect: 'calc-size(max-content, 100px + size)'},
+ {at: 1.5, expect: 'calc-size(max-content, 100px + size)'},
+]);
+
+test_composition({
+ property: 'max-width',
+ underlying: 'max-content', /* ignored, not compatible */
+ addFrom: '100px',
+ addTo: 'min-content',
+}, [
+ {at: -0.3, expect: 'calc-size(min-content, 130px + size * -0.3)'},
+ {at: 0, expect: 'calc-size(min-content, 100px + size * 0)'},
+ {at: 0.5, expect: 'calc-size(min-content, 50px + size * 0.5)'},
+ {at: 1, expect: 'calc-size(min-content, 0px + size * 1)'},
+ {at: 1.5, expect: 'calc-size(min-content, -50px + size * 1.5)'},
+]);
+</script>
+</body>
diff --git a/tests/wpt/tests/css/css-values/calc-size/animation/interpolate-size-max-width-interpolation.html b/tests/wpt/tests/css/css-values/calc-size/animation/interpolate-size-max-width-interpolation.html
new file mode 100644
index 00000000000..dc9c92533e9
--- /dev/null
+++ b/tests/wpt/tests/css/css-values/calc-size/animation/interpolate-size-max-width-interpolation.html
@@ -0,0 +1,104 @@
+<!DOCTYPE html>
+<meta charset="UTF-8">
+<title>max-width interpolation with interpolate-size: allow-keywords</title>
+<link rel="help" href="https://drafts.csswg.org/css-sizing-3/#propdef-max-width">
+<link rel="help" href="https://drafts.csswg.org/css-values-5/#interpolate-size">
+
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<script src="/css/support/interpolation-testcommon.js"></script>
+
+<style>
+:root {
+ interpolate-size: allow-keywords;
+}
+.parent {
+ max-width: 200px;
+}
+.target {
+ width: 175px;
+ height: 10px;
+ max-width: 150px;
+}
+.target::before {
+ display: block;
+ content: "";
+ width: 100px;
+ height: 50px;
+}
+</style>
+
+<body></body>
+
+<script>
+
+test_no_interpolation({
+ property: 'max-width',
+ from: 'initial',
+ to: '20px',
+});
+
+test_no_interpolation({
+ property: 'max-width',
+ from: 'unset',
+ to: '20px',
+});
+
+test_no_interpolation({
+ property: 'max-width',
+ from: 'none',
+ to: '20px',
+});
+
+test_no_interpolation({
+ property: 'max-width',
+ from: 'stretch',
+ to: 'none',
+});
+
+test_interpolation({
+ property: 'max-width',
+ from: 'fit-content', /* (100px) */
+ to: '50px',
+}, [
+ {at: -0.3, expect: 'calc-size(fit-content, -15px + size * 1.3)'},
+ {at: 0, expect: 'calc-size(fit-content, 0px + size * 1)'},
+ {at: 0.3, expect: 'calc-size(fit-content, 15px + size * 0.7)'},
+ {at: 0.6, expect: 'calc-size(fit-content, 30px + size * 0.4)'},
+ {at: 1, expect: 'calc-size(fit-content, 50px + size * 0)'},
+ {at: 1.5, expect: 'calc-size(fit-content, 75px + size * -0.5)'}
+]);
+
+test_no_interpolation({
+ property: 'max-width',
+ from: 'max-content',
+ to: 'min-content',
+});
+
+test_interpolation({
+ property: 'max-width',
+ from: 'min-content', /* (100px) */
+ to: neutralKeyframe, /* 150px */
+}, [
+ {at: -0.3, expect: 'calc-size(min-content, -45px + size * 1.3)'},
+ {at: 0, expect: 'calc-size(min-content, 0px + size * 1)'},
+ {at: 0.3, expect: 'calc-size(min-content, 45px + size * 0.7)'},
+ {at: 0.6, expect: 'calc-size(min-content, 90px + size * 0.4)'},
+ {at: 1, expect: 'calc-size(min-content, 150px + size * 0)'},
+ {at: 1.5, expect: 'calc-size(min-content, 225px + size * -0.5)'}
+]);
+
+test_interpolation({
+ property: 'max-width',
+ from: neutralKeyframe, /* 150px */
+ to: 'fit-content', /* (100px) */
+}, [
+ {at: -0.3, expect: 'calc-size(fit-content, 195px + size * -0.3)'},
+ {at: 0, expect: 'calc-size(fit-content, 150px + size * 0)'},
+ {at: 0.3, expect: 'calc-size(fit-content, 105px + size * 0.3)'},
+ {at: 0.6, expect: 'calc-size(fit-content, 60px + size * 0.6)'},
+ {at: 1, expect: 'calc-size(fit-content, 0px + size * 1)'},
+ {at: 1.5, expect: 'calc-size(fit-content, -75px + size * 1.5)'}
+]);
+
+</script>
diff --git a/tests/wpt/tests/css/css-values/calc-size/animation/interpolate-size-min-height-composition.html b/tests/wpt/tests/css/css-values/calc-size/animation/interpolate-size-min-height-composition.html
new file mode 100644
index 00000000000..520ec75aaf8
--- /dev/null
+++ b/tests/wpt/tests/css/css-values/calc-size/animation/interpolate-size-min-height-composition.html
@@ -0,0 +1,63 @@
+<!DOCTYPE html>
+<meta charset="UTF-8">
+<title>min-height composition with interpolate-size: allow-keywords</title>
+<link rel="help" href="https://drafts.csswg.org/css-sizing-3/#propdef-min-height">
+<link rel="help" href="https://drafts.csswg.org/css-values-5/#interpolate-size">
+
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<script src="/css/support/interpolation-testcommon.js"></script>
+<style>
+:root {
+ interpolate-size: allow-keywords;
+}
+.parent {
+ height: 200px;
+}
+.target {
+ width: 100px;
+ height: 150px;
+}
+.target::before {
+ display: block;
+ content: "";
+ width: 100px;
+ height: 50px;
+}
+</style>
+
+<body>
+<script>
+
+// TODO(https://issues.chromium.org/issues/40339056): The specific
+// syntax details of these expectations probably need further review to
+// check against the calc() simplification rules and other parts of the
+// specification.
+
+test_composition({
+ property: 'min-height',
+ underlying: 'fit-content', /* 50px */
+ addFrom: '100px',
+ addTo: '200px',
+}, [
+ {at: -0.3, expect: 'calc-size(fit-content, 70px + size * 1)'},
+ {at: 0, expect: 'calc-size(fit-content, 100px + size * 1)'},
+ {at: 0.5, expect: 'calc-size(fit-content, 150px + size * 1)'},
+ {at: 1, expect: 'calc-size(fit-content, 200px + size * 1)'},
+ {at: 1.5, expect: 'calc-size(fit-content, 250px + size * 1)'},
+]);
+
+test_composition({
+ property: 'min-height',
+ underlying: 'fit-content', /* ignored because the keywords aren't compatible */
+ addFrom: '200px',
+ addTo: 'min-content', /* 50px */
+}, [
+ {at: -0.3, expect: 'calc-size(min-content, 260px + size * -0.3)'},
+ {at: 0, expect: 'calc-size(min-content, 200px + size * 0)'},
+ {at: 0.5, expect: 'calc-size(min-content, 100px + size * 0.5)'},
+ {at: 1, expect: 'calc-size(min-content, 0px + size * 1)'},
+ {at: 1.5, expect: 'calc-size(min-content, -100px + size * 1.5)'},
+]);
+</script>
+</body>
diff --git a/tests/wpt/tests/css/css-values/calc-size/animation/interpolate-size-min-height-interpolation.html b/tests/wpt/tests/css/css-values/calc-size/animation/interpolate-size-min-height-interpolation.html
new file mode 100644
index 00000000000..d86f5b56854
--- /dev/null
+++ b/tests/wpt/tests/css/css-values/calc-size/animation/interpolate-size-min-height-interpolation.html
@@ -0,0 +1,125 @@
+<!DOCTYPE html>
+<meta charset="UTF-8">
+<title>min-height interpolation with interpolate-size: allow-keywords</title>
+<link rel="help" href="https://drafts.csswg.org/css-sizing-3/#propdef-min-height">
+<link rel="help" href="https://drafts.csswg.org/css-values-5/#interpolate-size">
+
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<script src="/css/support/interpolation-testcommon.js"></script>
+
+<style>
+:root {
+ interpolate-size: allow-keywords;
+}
+.parent {
+ min-height: 30px;
+}
+.target {
+ width: 10px;
+ height: 0px;
+ min-height: 10px;
+}
+.target::before {
+ display: block;
+ content: "";
+ width: 100px;
+ height: 50px;
+}
+</style>
+
+<body></body>
+
+<script>
+
+test_interpolation({
+ property: 'min-height',
+ from: 'initial',
+ to: '20px',
+}, [
+ {at: -0.3, expect: 'calc-size(auto, -6px + size * 1.3)'},
+ {at: 0, expect: 'calc-size(auto, 0px + size * 1)'},
+ {at: 0.3, expect: 'calc-size(auto, 6px + size * 0.7)'},
+ {at: 0.6, expect: 'calc-size(auto, 12px + size * 0.4)'},
+ {at: 1, expect: 'calc-size(auto, 20px + size * 0)'},
+ {at: 1.5, expect: 'calc-size(auto, 30px + size * -0.5)'}
+]);
+
+test_interpolation({
+ property: 'min-height',
+ from: 'unset',
+ to: '20px',
+}, [
+ {at: -0.3, expect: 'calc-size(auto, -6px + size * 1.3)'},
+ {at: 0, expect: 'calc-size(auto, 0px + size * 1)'},
+ {at: 0.3, expect: 'calc-size(auto, 6px + size * 0.7)'},
+ {at: 0.6, expect: 'calc-size(auto, 12px + size * 0.4)'},
+ {at: 1, expect: 'calc-size(auto, 20px + size * 0)'},
+ {at: 1.5, expect: 'calc-size(auto, 30px + size * -0.5)'}
+]);
+
+test_interpolation({
+ property: 'min-height',
+ from: 'auto',
+ to: '20px',
+}, [
+ {at: -0.3, expect: 'calc-size(auto, -6px + size * 1.3)'},
+ {at: 0, expect: 'calc-size(auto, 0px + size * 1)'},
+ {at: 0.3, expect: 'calc-size(auto, 6px + size * 0.7)'},
+ {at: 0.6, expect: 'calc-size(auto, 12px + size * 0.4)'},
+ {at: 1, expect: 'calc-size(auto, 20px + size * 0)'},
+ {at: 1.5, expect: 'calc-size(auto, 30px + size * -0.5)'}
+]);
+
+test_interpolation({
+ property: 'min-height',
+ from: 'auto',
+ to: '0px',
+}, [
+ {at: -0.3, expect: 'calc-size(auto, 0px + size * 1.3)'},
+ {at: 0, expect: 'calc-size(auto, 0px + size * 1)'},
+ {at: 0.3, expect: 'calc-size(auto, 0px + size * 0.7)'},
+ {at: 0.6, expect: 'calc-size(auto, 0px + size * 0.4)'},
+ {at: 1, expect: 'calc-size(auto, 0px + size * 0)'},
+ {at: 1.5, expect: 'calc-size(auto, 0px + size * -0.5)'}
+]);
+
+test_no_interpolation({
+ property: 'min-height',
+ from: 'fit-content',
+ to: 'min-content',
+});
+
+test_no_interpolation({
+ property: 'min-height',
+ from: 'max-content',
+ to: 'stretch',
+});
+
+test_interpolation({
+ property: 'min-height',
+ from: 'fit-content',
+ to: neutralKeyframe, /* 10px */
+}, [
+ {at: -0.3, expect: 'calc-size(fit-content, -3px + size * 1.3)'},
+ {at: 0, expect: 'calc-size(fit-content, 0px + size * 1)'},
+ {at: 0.3, expect: 'calc-size(fit-content, 3px + size * 0.7)'},
+ {at: 0.6, expect: 'calc-size(fit-content, 6px + size * 0.4)'},
+ {at: 1, expect: 'calc-size(fit-content, 10px + size * 0)'},
+ {at: 1.5, expect: 'calc-size(fit-content, 15px + size * -0.5)'}
+]);
+
+test_interpolation({
+ property: 'min-height',
+ from: neutralKeyframe, /* 10px */
+ to: 'min-content',
+}, [
+ {at: -0.3, expect: 'calc-size(min-content, 13px + size * -0.3)'},
+ {at: 0, expect: 'calc-size(min-content, 10px + size * 0)'},
+ {at: 0.3, expect: 'calc-size(min-content, 7px + size * 0.3)'},
+ {at: 0.6, expect: 'calc-size(min-content, 4px + size * 0.6)'},
+ {at: 1, expect: 'calc-size(min-content, 0px + size * 1)'},
+ {at: 1.5, expect: 'calc-size(min-content, -5px + size * 1.5)'}
+]);
+
+</script>
diff --git a/tests/wpt/tests/css/css-values/calc-size/animation/interpolate-size-min-width-composition.html b/tests/wpt/tests/css/css-values/calc-size/animation/interpolate-size-min-width-composition.html
new file mode 100644
index 00000000000..4f9e91394a5
--- /dev/null
+++ b/tests/wpt/tests/css/css-values/calc-size/animation/interpolate-size-min-width-composition.html
@@ -0,0 +1,76 @@
+<!DOCTYPE html>
+<meta charset="UTF-8">
+<title>min-width composition with interpolate-size: allow-keywords</title>
+<link rel="help" href="https://drafts.csswg.org/css-sizing-3/#propdef-min-width">
+<link rel="help" href="https://drafts.csswg.org/css-values-5/#interpolate-size">
+
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<script src="/css/support/interpolation-testcommon.js"></script>
+<style>
+:root {
+ interpolate-size: allow-keywords;
+}
+.parent {
+ width: 200px;
+}
+.target {
+ width: 100px;
+ height: 150px;
+}
+.target::before {
+ display: block;
+ content: "";
+ width: 100px;
+ height: 50px;
+}
+</style>
+
+<body>
+<script>
+
+// TODO(https://issues.chromium.org/issues/40339056): The specific
+// syntax details of these expectations probably need further review to
+// check against the calc() simplification rules and other parts of the
+// specification.
+
+test_composition({
+ property: 'min-width',
+ underlying: '100px',
+ addFrom: 'max-content',
+ addTo: '100px',
+}, [
+ {at: -0.3, expect: 'calc-size(max-content, 70px + size * 1.3)'},
+ {at: 0, expect: 'calc-size(max-content, 100px + size * 1)'},
+ {at: 0.5, expect: 'calc-size(max-content, 150px + size * 0.5)'},
+ {at: 1, expect: 'calc-size(max-content, 200px + size * 0)'},
+ {at: 1.5, expect: 'calc-size(max-content, 250px + size * -0.5)'},
+]);
+
+test_composition({
+ property: 'min-width',
+ underlying: 'min-content', /* not compatible */
+ addFrom: 'fit-content', /* not compatible */
+ addTo: 'max-content', /* not compatible */
+}, [
+ {at: -0.3, expect: 'fit-content'},
+ {at: 0, expect: 'fit-content'},
+ {at: 0.5, expect: 'max-content'},
+ {at: 1, expect: 'max-content'},
+ {at: 1.5, expect: 'max-content'},
+]);
+
+test_composition({
+ property: 'min-width',
+ underlying: 'max-content', /* ignored, not compatible */
+ addFrom: '100px',
+ addTo: 'min-content',
+}, [
+ {at: -0.3, expect: 'calc-size(min-content, 130px + size * -0.3)'},
+ {at: 0, expect: 'calc-size(min-content, 100px + size * 0)'},
+ {at: 0.5, expect: 'calc-size(min-content, 50px + size * 0.5)'},
+ {at: 1, expect: 'calc-size(min-content, 0px + size * 1)'},
+ {at: 1.5, expect: 'calc-size(min-content, -50px + size * 1.5)'},
+]);
+</script>
+</body>
diff --git a/tests/wpt/tests/css/css-values/calc-size/animation/interpolate-size-min-width-interpolation.html b/tests/wpt/tests/css/css-values/calc-size/animation/interpolate-size-min-width-interpolation.html
new file mode 100644
index 00000000000..be44eb31bab
--- /dev/null
+++ b/tests/wpt/tests/css/css-values/calc-size/animation/interpolate-size-min-width-interpolation.html
@@ -0,0 +1,125 @@
+<!DOCTYPE html>
+<meta charset="UTF-8">
+<title>min-width interpolation with interpolate-size: allow-keywords</title>
+<link rel="help" href="https://drafts.csswg.org/css-sizing-3/#propdef-min-width">
+<link rel="help" href="https://drafts.csswg.org/css-values-5/#interpolate-size">
+
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<script src="/css/support/interpolation-testcommon.js"></script>
+
+<style>
+:root {
+ interpolate-size: allow-keywords;
+}
+.parent {
+ min-width: 30px;
+}
+.target {
+ width: 0px;
+ height: 10px;
+ min-width: 10px;
+}
+.target::before {
+ display: block;
+ content: "";
+ width: 100px;
+ height: 50px;
+}
+</style>
+
+<body></body>
+
+<script>
+
+test_interpolation({
+ property: 'min-width',
+ from: 'initial',
+ to: '20px',
+}, [
+ {at: -0.3, expect: 'calc-size(auto, -6px + size * 1.3)'},
+ {at: 0, expect: 'calc-size(auto, 0px + size * 1)'},
+ {at: 0.3, expect: 'calc-size(auto, 6px + size * 0.7)'},
+ {at: 0.6, expect: 'calc-size(auto, 12px + size * 0.4)'},
+ {at: 1, expect: 'calc-size(auto, 20px + size * 0)'},
+ {at: 1.5, expect: 'calc-size(auto, 30px + size * -0.5)'}
+]);
+
+test_interpolation({
+ property: 'min-width',
+ from: 'unset',
+ to: '20px',
+}, [
+ {at: -0.3, expect: 'calc-size(auto, -6px + size * 1.3)'},
+ {at: 0, expect: 'calc-size(auto, 0px + size * 1)'},
+ {at: 0.3, expect: 'calc-size(auto, 6px + size * 0.7)'},
+ {at: 0.6, expect: 'calc-size(auto, 12px + size * 0.4)'},
+ {at: 1, expect: 'calc-size(auto, 20px + size * 0)'},
+ {at: 1.5, expect: 'calc-size(auto, 30px + size * -0.5)'}
+]);
+
+test_interpolation({
+ property: 'min-width',
+ from: 'auto',
+ to: '20px',
+}, [
+ {at: -0.3, expect: 'calc-size(auto, -6px + size * 1.3)'},
+ {at: 0, expect: 'calc-size(auto, 0px + size * 1)'},
+ {at: 0.3, expect: 'calc-size(auto, 6px + size * 0.7)'},
+ {at: 0.6, expect: 'calc-size(auto, 12px + size * 0.4)'},
+ {at: 1, expect: 'calc-size(auto, 20px + size * 0)'},
+ {at: 1.5, expect: 'calc-size(auto, 30px + size * -0.5)'}
+]);
+
+test_interpolation({
+ property: 'min-width',
+ from: '0px',
+ to: 'stretch',
+}, [
+ {at: -0.3, expect: 'calc-size(stretch, 0px + size * -0.3)'},
+ {at: 0, expect: 'calc-size(stretch, 0px + size * 0)'},
+ {at: 0.3, expect: 'calc-size(stretch, 0px + size * 0.3)'},
+ {at: 0.6, expect: 'calc-size(stretch, 0px + size * 0.6)'},
+ {at: 1, expect: 'calc-size(stretch, 0px + size * 1)'},
+ {at: 1.5, expect: 'calc-size(stretch, 0px + size * 1.5)'}
+]);
+
+test_no_interpolation({
+ property: 'min-width',
+ from: 'min-content',
+ to: 'fit-content',
+});
+
+test_no_interpolation({
+ property: 'min-width',
+ from: 'auto',
+ to: 'max-content',
+});
+
+test_interpolation({
+ property: 'min-width',
+ from: 'fit-content',
+ to: neutralKeyframe, /* 10px */
+}, [
+ {at: -0.3, expect: 'calc-size(fit-content, -3px + size * 1.3)'},
+ {at: 0, expect: 'calc-size(fit-content, 0px + size * 1)'},
+ {at: 0.3, expect: 'calc-size(fit-content, 3px + size * 0.7)'},
+ {at: 0.6, expect: 'calc-size(fit-content, 6px + size * 0.4)'},
+ {at: 1, expect: 'calc-size(fit-content, 10px + size * 0)'},
+ {at: 1.5, expect: 'calc-size(fit-content, 15px + size * -0.5)'}
+]);
+
+test_interpolation({
+ property: 'min-width',
+ from: neutralKeyframe, /* 10px */
+ to: 'max-content',
+}, [
+ {at: -0.3, expect: 'calc-size(max-content, 13px + size * -0.3)'},
+ {at: 0, expect: 'calc-size(max-content, 10px + size * 0)'},
+ {at: 0.3, expect: 'calc-size(max-content, 7px + size * 0.3)'},
+ {at: 0.6, expect: 'calc-size(max-content, 4px + size * 0.6)'},
+ {at: 1, expect: 'calc-size(max-content, 0px + size * 1)'},
+ {at: 1.5, expect: 'calc-size(max-content, -5px + size * 1.5)'}
+]);
+
+</script>
diff --git a/tests/wpt/tests/css/css-values/calc-size/animation/interpolate-size-which-value.html b/tests/wpt/tests/css/css-values/calc-size/animation/interpolate-size-which-value.html
new file mode 100644
index 00000000000..960173a8bb4
--- /dev/null
+++ b/tests/wpt/tests/css/css-values/calc-size/animation/interpolate-size-which-value.html
@@ -0,0 +1,83 @@
+<!DOCTYPE html>
+<meta charset="UTF-8">
+<title>test for which value of interpolate-size is used</title>
+<link rel="help" href="https://drafts.csswg.org/css-values-5/#interpolate-size">
+
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<body>
+<script>
+for (let allow of [false, true]) {
+ for (let from_keyword of [false, true]) {
+ let used_interpolate_size = allow ? "allow-keywords" : "numeric-only";
+ let other_interpolate_size = allow ? "numeric-only" : "allow-keywords";
+ let from_width = from_keyword ? "min-content" : "100px";
+ let to_width = from_keyword ? "100px" : "min-content";
+
+ test(t => {
+ let e = document.createElement("div");
+ e.id = "t1";
+ document.body.append(e);
+ t.add_cleanup(() => e.remove());
+
+ let s = document.createElement("style");
+ s.append(`
+ #t1 {
+ interpolate-size: ${other_interpolate_size};
+ width: ${from_width};
+ transition: width 10s 1000s step-end;
+ }
+ #t1[title] {
+ width: ${to_width};
+ interpolate-size: ${used_interpolate_size};
+ }
+ `);
+
+ document.head.append(s);
+ t.add_cleanup(() => s.remove());
+
+ let cs = getComputedStyle(e);
+ assert_equals(cs.width, from_keyword ? "0px" : "100px", "width before change");
+ e.title="a title";
+ assert_equals(cs.width, (allow ^ from_keyword) ? "100px" : "0px", "width after change");
+ }, `Use the after-change value of interpolate-size: ${used_interpolate_size} when starting CSS transition from ${from_width} to ${to_width}`);
+
+ test(t => {
+ let e = document.createElement("div");
+ e.id = "t2";
+ document.body.append(e);
+ t.add_cleanup(() => e.remove());
+
+ let s = document.createElement("style");
+ s.append(`
+ @keyframes kf2 {
+ 0% {
+ width: ${from_width};
+ interpolate-size: ${other_interpolate_size};
+ }
+
+ 100% {
+ width: ${to_width};
+ interpolate-size: ${other_interpolate_size};
+ }
+ }
+ #t2 {
+ interpolate-size: ${used_interpolate_size};
+ animation: kf2 10s -1s linear;
+ }
+ `);
+
+ document.head.append(s);
+ t.add_cleanup(() => s.remove());
+
+ let cs = getComputedStyle(e);
+ let expected = from_keyword ? 0 : 100;
+ if (allow) {
+ expected = expected * 0.9 + (100 - expected) * 0.1;
+ }
+ assert_equals(cs.width, `${expected}px`, "width with animation");
+
+ }, `Use the non-animation value of interpolate-size: ${used_interpolate_size} when starting CSS animation from ${from_width} to ${to_width}`);
+ }
+}
+</script>
diff --git a/tests/wpt/tests/css/css-values/calc-size/animation/interpolate-size-width-composition.html b/tests/wpt/tests/css/css-values/calc-size/animation/interpolate-size-width-composition.html
new file mode 100644
index 00000000000..a84e0bec3d5
--- /dev/null
+++ b/tests/wpt/tests/css/css-values/calc-size/animation/interpolate-size-width-composition.html
@@ -0,0 +1,70 @@
+<!DOCTYPE html>
+<meta charset="UTF-8">
+<title>width composition with interpolate-size: allow-keywords</title>
+<link rel="help" href="https://drafts.csswg.org/css-sizing-3/#propdef-width">
+<link rel="help" href="https://drafts.csswg.org/css-values-5/#interpolate-size">
+
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<script src="/css/support/interpolation-testcommon.js"></script>
+<style>
+:root {
+ interpolate-size: allow-keywords;
+}
+.parent {
+ width: 200px;
+}
+.target {
+ width: 100px;
+ height: 150px;
+}
+.target::before {
+ display: block;
+ content: "";
+ width: 100px;
+ height: 50px;
+}
+</style>
+
+<body>
+<script>
+test_composition({
+ property: 'width',
+ underlying: '100px',
+ addFrom: '100px',
+ addTo: 'auto', /* 200px */
+}, [
+ {at: -0.3, expect: '170px'},
+ {at: 0, expect: '200px'},
+ {at: 0.5, expect: '250px'},
+ {at: 1, expect: '300px'},
+ {at: 1.5, expect: '350px'},
+]);
+
+test_composition({
+ property: 'width',
+ underlying: '100px',
+ addFrom: 'fit-content', /* 100px, not compatible */
+ addTo: 'auto', /* 200px, not compatible */
+}, [
+ {at: -0.3, expect: '200px'},
+ {at: 0, expect: '200px'},
+ {at: 0.5, expect: '300px'},
+ {at: 1, expect: '300px'},
+ {at: 1.5, expect: '300px'},
+]);
+
+test_composition({
+ property: 'width',
+ underlying: 'max-content', /* ignored, not compatible */
+ addFrom: '100px',
+ addTo: 'auto', /* 200px */
+}, [
+ {at: -0.3, expect: '70px'},
+ {at: 0, expect: '100px'},
+ {at: 0.5, expect: '150px'},
+ {at: 1, expect: '200px'},
+ {at: 1.5, expect: '250px'},
+]);
+</script>
+</body>
diff --git a/tests/wpt/tests/css/css-values/calc-size/animation/interpolate-size-width-interpolation.html b/tests/wpt/tests/css/css-values/calc-size/animation/interpolate-size-width-interpolation.html
new file mode 100644
index 00000000000..6ce8e10eed2
--- /dev/null
+++ b/tests/wpt/tests/css/css-values/calc-size/animation/interpolate-size-width-interpolation.html
@@ -0,0 +1,138 @@
+<!DOCTYPE html>
+<meta charset="UTF-8">
+<title>width interpolation with interpolate-size: allow-keywords</title>
+<link rel="help" href="https://drafts.csswg.org/css-sizing-3/#propdef-width">
+<link rel="help" href="https://drafts.csswg.org/css-values-5/#interpolate-size">
+
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<script src="/css/support/interpolation-testcommon.js"></script>
+
+<style>
+:root {
+ interpolate-size: allow-keywords;
+}
+.parent {
+ width: 150px;
+ overflow: visible;
+}
+.target {
+ width: 50px;
+ height: 10px;
+}
+.target::before {
+ display: block;
+ content: "";
+ width: 100px;
+ height: 50px;
+}
+</style>
+
+<body>
+ <template id="target-template">
+ <div class="container">
+ <div class="target"></div>
+ </div>
+ </template>
+</body>
+
+<script>
+
+test_interpolation({
+ property: 'width',
+ from: 'initial', /* 150px */
+ to: '50px',
+}, [
+ {at: -0.3, expect: '180px'},
+ {at: 0, expect: '150px'},
+ {at: 0.3, expect: '120px'},
+ {at: 0.6, expect: '90px'},
+ {at: 1, expect: '50px'},
+ {at: 1.5, expect: '0px'}
+]);
+
+test_interpolation({
+ property: 'width',
+ from: 'unset', /* 150px */
+ to: '50px',
+}, [
+ {at: -0.3, expect: '180px'},
+ {at: 0, expect: '150px'},
+ {at: 0.3, expect: '120px'},
+ {at: 0.6, expect: '90px'},
+ {at: 1, expect: '50px'},
+ {at: 1.5, expect: '0px'}
+]);
+
+test_interpolation({
+ property: 'width',
+ from: 'auto', /* 150px */
+ to: '50px',
+}, [
+ {at: -0.3, expect: '180px'},
+ {at: 0, expect: '150px'},
+ {at: 0.3, expect: '120px'},
+ {at: 0.6, expect: '90px'},
+ {at: 1, expect: '50px'},
+ {at: 1.5, expect: '0px'}
+]);
+
+test_no_interpolation({
+ property: 'width',
+ from: 'auto',
+ to: 'fit-content',
+});
+
+test_no_interpolation({
+ property: 'width',
+ from: 'stretch',
+ to: 'auto',
+});
+
+test_interpolation({
+ property: 'width',
+ from: '200px',
+ to: 'fit-content', /* 100px */
+}, [
+ {at: -0.3, expect: '230px'},
+ {at: 0, expect: '200px'},
+ {at: 0.3, expect: '170px'},
+ {at: 0.6, expect: '140px'},
+ {at: 1, expect: '100px'},
+ {at: 1.5, expect: '50px'}
+]);
+
+test_no_interpolation({
+ property: 'width',
+ from: 'max-content',
+ to: 'min-content',
+});
+
+test_interpolation({
+ property: 'width',
+ from: 'max-content', /* 100px */
+ to: neutralKeyframe, /* 50px */
+}, [
+ {at: -0.3, expect: '115px'},
+ {at: 0, expect: '100px'},
+ {at: 0.3, expect: '85px'},
+ {at: 0.6, expect: '70px'},
+ {at: 1, expect: '50px'},
+ {at: 1.5, expect: '25px'}
+]);
+
+test_interpolation({
+ property: 'width',
+ from: neutralKeyframe, /* 50px */
+ to: 'min-content', /* 100px */
+}, [
+ {at: -0.3, expect: '35px'},
+ {at: 0, expect: '50px'},
+ {at: 0.3, expect: '65px'},
+ {at: 0.6, expect: '80px'},
+ {at: 1, expect: '100px'},
+ {at: 1.5, expect: '125px'}
+]);
+
+</script>
+</body>
diff --git a/tests/wpt/tests/css/css-values/calc-size/calc-size-parsing.tentative.html b/tests/wpt/tests/css/css-values/calc-size/calc-size-parsing.tentative.html
index 422ab3c33ee..bec5fb1a8d5 100644
--- a/tests/wpt/tests/css/css-values/calc-size/calc-size-parsing.tentative.html
+++ b/tests/wpt/tests/css/css-values/calc-size/calc-size-parsing.tentative.html
@@ -21,6 +21,19 @@ test_invalid_value("min-width", "calc-size(none, size)");
test_invalid_value("max-height", "calc-size(none, size)");
test_invalid_value("max-width", "calc-size(none, size)");
+test_valid_value("width", "calc-size(max-content, size)");
+test_valid_value("height", "calc-size(max-content, size)");
+test_valid_value("max-width", "calc-size(max-content, size)");
+test_valid_value("max-height", "calc-size(max-content, size)");
+test_valid_value("min-width", "calc-size(max-content, size)");
+test_valid_value("min-height", "calc-size(max-content, size)");
+test_valid_value("block-size", "calc-size(max-content, size)");
+test_valid_value("inline-size", "calc-size(max-content, size)");
+test_valid_value("max-block-size", "calc-size(max-content, size)");
+test_valid_value("max-inline-size", "calc-size(max-content, size)");
+test_valid_value("min-block-size", "calc-size(max-content, size)");
+test_valid_value("min-inline-size", "calc-size(max-content, size)");
+
test_valid_value("width", "calc-size(fit-content, size)");
test_valid_value("height", "calc-size(min-content, size * 2)");
test_valid_value("max-width", "calc-size(max-content, size / 2)");
diff --git a/tests/wpt/tests/css/css-writing-modes/forms/select-multiple-options-visual-order.html b/tests/wpt/tests/css/css-writing-modes/forms/select-multiple-options-visual-order.html
index e3ae8a27a9f..e9454d0e705 100644
--- a/tests/wpt/tests/css/css-writing-modes/forms/select-multiple-options-visual-order.html
+++ b/tests/wpt/tests/css/css-writing-modes/forms/select-multiple-options-visual-order.html
@@ -1,4 +1,5 @@
<!doctype html>
+<meta name="timeout" content="long">
<link rel="author" title="Aditya Keerthi" href="https://github.com/pxlcoder">
<link rel="help" href="https://html.spec.whatwg.org/#the-select-element">
<link rel="help" href="https://drafts.csswg.org/css-writing-modes-4/#block-flow">
diff --git a/tests/wpt/tests/document-picture-in-picture/prefer-initial-window-placement-manual.https.html b/tests/wpt/tests/document-picture-in-picture/prefer-initial-window-placement-manual.https.html
new file mode 100644
index 00000000000..16ba7f4f59b
--- /dev/null
+++ b/tests/wpt/tests/document-picture-in-picture/prefer-initial-window-placement-manual.https.html
@@ -0,0 +1,25 @@
+<!DOCTYPE html>
+<title>Test that using documentPictureInPicture's preferInitialWindowPlacement
+ parameter does not cache the window bounds</title>
+<body>
+ <p>
+ This tests that a document picture-in-picture window opened with the `preferInitialWindowPlacement`
+ parameter set to `true` does not cache the previous window bounds when it is closed and reopened.
+ <ol>
+ <li>Click on the "Open document picture-in-picture window" button below.</li>
+ <li>Note its approximate position and size.</li>
+ <li>Move and resize the window.</li>
+ <li>Close the window.</li>
+ <li>Click the "Open document picture-in-picture window" button again.</li>
+ <li>Check that it opens in its original position and size, not where you resized / moved it to.</li>
+ </ol>
+ </p>
+ <input type="button" id="btnOpenPip" value="Open document picture-in-picture window" />
+<script>
+const btnOpenPip = document.getElementById('btnOpenPip');
+btnOpenPip.addEventListener('click', async () => {
+ const pipWindow = await documentPictureInPicture.requestWindow({ preferInitialWindowPlacement: true });
+ pipWindow.document.body.innerText = 'Move and resize this window!';
+});
+</script>
+</body>
diff --git a/tests/wpt/tests/editing/other/merge-span-with-style-after-backspace-having-contenteditable.html b/tests/wpt/tests/editing/other/merge-span-with-style-after-backspace-having-contenteditable.html
new file mode 100644
index 00000000000..d375a909744
--- /dev/null
+++ b/tests/wpt/tests/editing/other/merge-span-with-style-after-backspace-having-contenteditable.html
@@ -0,0 +1,41 @@
+<!doctype html>
+<html>
+<head>
+<meta charset="utf-8">
+<title>Merge Span with style after backspace having contenteditable</title>
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<script src="/resources/testdriver.js"></script>
+<script src="/resources/testdriver-vendor.js"></script>
+<script src="/resources/testdriver-actions.js"></script>
+<script src="../include/editor-test-utils.js"></script>
+</head>
+<body>
+<div contenteditable></div>
+<script>
+"use strict";
+
+const utils =
+ new EditorTestUtils(document.querySelector("div[contenteditable]"));
+
+promise_test(async () => {
+ utils.setupEditingHost(
+ `<div contenteditable="true">
+ <h1><span style="background-color:red;">Back</span></h1>
+ <h1><span style="background-color:red;">[]space</span></h1>
+ </div>`
+ );
+ await utils.sendBackspaceKey();
+ assert_in_array(
+ utils.editingHost.innerHTML,
+ [
+ `<div contenteditable="true">
+ <h1><span style="background-color:red;">Back</span><span style="background-color: red;">space</span></h1>
+ </div>`
+ ],
+ "Style is not preserved for the span after pressing backspace in contenteditable"
+ );
+}, "waiting for command to execute");
+</script>
+</body>
+</html> \ No newline at end of file
diff --git a/tests/wpt/tests/editing/other/merge-span-with-style-after-forwarddelete-having-contenteditable.html b/tests/wpt/tests/editing/other/merge-span-with-style-after-forwarddelete-having-contenteditable.html
new file mode 100644
index 00000000000..723951cca67
--- /dev/null
+++ b/tests/wpt/tests/editing/other/merge-span-with-style-after-forwarddelete-having-contenteditable.html
@@ -0,0 +1,41 @@
+<!doctype html>
+<html>
+<head>
+<meta charset="utf-8">
+<title>Merge Span with style after forward delete having contenteditable</title>
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<script src="/resources/testdriver.js"></script>
+<script src="/resources/testdriver-vendor.js"></script>
+<script src="/resources/testdriver-actions.js"></script>
+<script src="../include/editor-test-utils.js"></script>
+</head>
+<body>
+<div contenteditable></div>
+<script>
+"use strict";
+
+const utils =
+ new EditorTestUtils(document.querySelector("div[contenteditable]"));
+
+promise_test(async () => {
+ utils.setupEditingHost(
+ `<div contenteditable="true">
+ <h1><span style="background-color:red;">Back[]</span></h1>
+ <h1><span style="background-color:red;">space</span></h1>
+ </div>`
+ );
+ await utils.sendDeleteKey();
+ assert_in_array(
+ utils.editingHost.innerHTML,
+ [
+ `<div contenteditable="true">
+ <h1><span style="background-color:red;">Back</span><span style="background-color: red;">space</span></h1>
+ </div>`
+ ],
+ "Style is not preserved for the span after pressing backspace in contenteditable"
+ );
+}, "waiting for command to execute");
+</script>
+</body>
+</html> \ No newline at end of file
diff --git a/tests/wpt/tests/editing/other/merge-span-with-style-after-pressing-enter-followed-by-backspace-in-contenteditable-div.html b/tests/wpt/tests/editing/other/merge-span-with-style-after-pressing-enter-followed-by-backspace-in-contenteditable-div.html
new file mode 100644
index 00000000000..6a8e8c8d832
--- /dev/null
+++ b/tests/wpt/tests/editing/other/merge-span-with-style-after-pressing-enter-followed-by-backspace-in-contenteditable-div.html
@@ -0,0 +1,41 @@
+<!doctype html>
+<html>
+<head>
+<meta charset="utf-8">
+<title>Merge Span with style after backspace having contenteditable</title>
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<script src="/resources/testdriver.js"></script>
+<script src="/resources/testdriver-vendor.js"></script>
+<script src="/resources/testdriver-actions.js"></script>
+<script src="../include/editor-test-utils.js"></script>
+</head>
+<body>
+<div contenteditable></div>
+<script>
+"use strict";
+
+const utils =
+ new EditorTestUtils(document.querySelector("div[contenteditable]"));
+
+promise_test(async () => {
+ utils.setupEditingHost(
+ `<div contenteditable="true">
+ <h1><span style="background-color:red;">Back[]space</span></h1>
+ </div>`
+ );
+ await utils.sendEnterKey();
+ await utils.sendBackspaceKey();
+ assert_in_array(
+ utils.editingHost.innerHTML,
+ [
+ `<div contenteditable="true">
+ <h1><span style="background-color:red;">Back</span><span style="background-color: red;">space</span></h1>
+ </div>`
+ ],
+ "Style is not preserved for the span after pressing backspace in contenteditable"
+ );
+}, "waiting for command to execute");
+</script>
+</body>
+</html> \ No newline at end of file
diff --git a/tests/wpt/tests/fedcm/fedcm-authz/fedcm-userinfo-after-resolve.https.html b/tests/wpt/tests/fedcm/fedcm-authz/fedcm-userinfo-after-resolve.https.html
index e92f4898863..e1244df1c8e 100644
--- a/tests/wpt/tests/fedcm/fedcm-authz/fedcm-userinfo-after-resolve.https.html
+++ b/tests/wpt/tests/fedcm/fedcm-authz/fedcm-userinfo-after-resolve.https.html
@@ -21,7 +21,11 @@ async function createIframeWithPermissionPolicyAndWaitForMessage(test, iframeUrl
iframe.src = iframeUrl;
iframe.allow = "identity-credentials-get";
document.body.appendChild(iframe);
- const message = await messageWatcher.wait_for("message");
+ let message = null;
+ // Ignore internal "testdriver-complete" messages.
+ do {
+ message = await messageWatcher.wait_for("message");
+ } while (!("result" in message.data));
return message.data;
}
diff --git a/tests/wpt/tests/fedcm/fedcm-button-and-other-account/fedcm-button-mode-auto-selected-flag.tentative.https.html b/tests/wpt/tests/fedcm/fedcm-button-and-other-account/fedcm-button-mode-auto-selected-flag.tentative.https.html
new file mode 100644
index 00000000000..786c63ca5e4
--- /dev/null
+++ b/tests/wpt/tests/fedcm/fedcm-button-and-other-account/fedcm-button-mode-auto-selected-flag.tentative.https.html
@@ -0,0 +1,34 @@
+<!DOCTYPE html>
+<title>Federated Credential Management API Button Mode auto selected flag tests.</title>
+<link rel="help" href="https://fedidcg.github.io/FedCM">
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<script src="/resources/testdriver.js"></script>
+<script src="/resources/testdriver-vendor.js"></script>
+
+<script type="module">
+import {request_options_with_mediation_optional,
+ fedcm_test,
+ select_manifest,
+ fedcm_get_and_select_first_account} from '../support/fedcm-helper.sub.js';
+
+fedcm_test(async t => {
+ let test_options = request_options_with_mediation_optional("manifest_with_auto_selected_flag.json");
+ test_options.identity.mode = "button";
+
+ return test_driver.bless('initiate FedCM request', async function() {
+ await select_manifest(t, test_options);
+
+ let cred = await fedcm_get_and_select_first_account(t, test_options);
+ assert_equals(cred.token, "is_auto_selected=false");
+
+ test_options = request_options_with_mediation_optional("manifest_with_auto_selected_flag.json");
+ await select_manifest(t, test_options);
+
+ cred = await navigator.credentials.get(test_options);
+ assert_equals(cred.token, "is_auto_selected=true");
+ assert_equals(cred.isAutoSelected, true);
+ });
+}, "Test that the auto selected flag can be true in button mode.");
+
+</script>
diff --git a/tests/wpt/tests/fedcm/fedcm-button-and-other-account/fedcm-button-mode-basics.tentative.https.html b/tests/wpt/tests/fedcm/fedcm-button-and-other-account/fedcm-button-mode-basics.tentative.https.html
index a71e2621352..918f7243210 100644
--- a/tests/wpt/tests/fedcm/fedcm-button-and-other-account/fedcm-button-mode-basics.tentative.https.html
+++ b/tests/wpt/tests/fedcm/fedcm-button-and-other-account/fedcm-button-mode-basics.tentative.https.html
@@ -31,4 +31,15 @@ fedcm_test(async t => {
});
}, "Test that the button mode succeeds with user activation.");
+fedcm_test(async t => {
+ let test_options = request_options_with_mediation_required("manifest_with_rp_mode.json");
+ test_options.identity.mode = "button";
+ test_options.mediation = "silent";
+
+ return test_driver.bless('initiate FedCM request', async function() {
+ let cred = fedcm_get_and_select_first_account(t, test_options);
+ let rej = promise_rejects_dom(t, 'NotSupportedError', cred);
+ await rej;
+ });
+}, "Test that the mediation:silent is not supported in button mode.");
</script>
diff --git a/tests/wpt/tests/fedcm/fedcm-identity-assertion-nocors.https.html b/tests/wpt/tests/fedcm/fedcm-identity-assertion-nocors.https.html
index 612387b4a0d..ae89f51ab4e 100644
--- a/tests/wpt/tests/fedcm/fedcm-identity-assertion-nocors.https.html
+++ b/tests/wpt/tests/fedcm/fedcm-identity-assertion-nocors.https.html
@@ -7,7 +7,7 @@
<script src="/resources/testdriver-vendor.js"></script>
<script type="module">
-import {request_options_with_mediation_required,
+import {alt_request_options_with_mediation_required,
fedcm_test,
select_manifest,
mark_signed_in,
@@ -16,7 +16,7 @@ import {request_options_with_mediation_required,
fedcm_test(async t => {
await mark_signed_in();
- let test_options = request_options_with_mediation_required("manifest-token-nocors.json");
+ let test_options = alt_request_options_with_mediation_required("manifest-token-nocors.json");
await select_manifest(t, test_options);
try {
const cred = await fedcm_get_and_select_first_account(t, test_options);
diff --git a/tests/wpt/tests/fedcm/fedcm-pending-userinfo.https.html b/tests/wpt/tests/fedcm/fedcm-pending-userinfo.https.html
index 1c85d4dc57d..5d3ffe221da 100644
--- a/tests/wpt/tests/fedcm/fedcm-pending-userinfo.https.html
+++ b/tests/wpt/tests/fedcm/fedcm-pending-userinfo.https.html
@@ -20,7 +20,11 @@ async function createIframeWithPermissionPolicyAndWaitForMessage(test, iframeUrl
iframe.src = iframeUrl;
iframe.allow = "identity-credentials-get";
document.body.appendChild(iframe);
- const message = await messageWatcher.wait_for("message");
+ let message = null;
+ // Ignore internal "testdriver-complete" messages.
+ do {
+ message = await messageWatcher.wait_for("message");
+ } while (typeof message.data !== "string");
return message.data;
}
diff --git a/tests/wpt/tests/fedcm/fedcm-userinfo.https.html b/tests/wpt/tests/fedcm/fedcm-userinfo.https.html
index 9f7be9fbbf3..d256f685f7c 100644
--- a/tests/wpt/tests/fedcm/fedcm-userinfo.https.html
+++ b/tests/wpt/tests/fedcm/fedcm-userinfo.https.html
@@ -20,7 +20,11 @@ async function createIframeWithPermissionPolicyAndWaitForMessage(test, iframeUrl
iframe.src = iframeUrl;
iframe.allow = "identity-credentials-get";
document.body.appendChild(iframe);
- const message = await messageWatcher.wait_for("message");
+ let message = null;
+ // Ignore internal "testdriver-complete" messages.
+ do {
+ message = await messageWatcher.wait_for("message");
+ } while (!("result" in message.data));
return message.data;
}
diff --git a/tests/wpt/tests/fenced-frame/ancestor-throttle.https.html b/tests/wpt/tests/fenced-frame/ancestor-throttle.https.html
index 56b1320135a..679bb788132 100644
--- a/tests/wpt/tests/fenced-frame/ancestor-throttle.https.html
+++ b/tests/wpt/tests/fenced-frame/ancestor-throttle.https.html
@@ -34,7 +34,7 @@ async function runTest(embed_url,
// sent to the server. Otherwise "blocked" will be sent after 3 seconds.
step_timeout(() => {
writeValueToServer(ancestor_key, "blocked");
- }, 1000);
+ }, 3000);
// Get the result for the fenced frame's nested iframe.
const fenced_frame_result = await nextValueFromServer(ancestor_key);
diff --git a/tests/wpt/tests/html/browsers/the-window-object/window-indexed-properties-delete-no-cache.html b/tests/wpt/tests/html/browsers/the-window-object/window-indexed-properties-delete-no-cache.html
index 22262943aad..c3b49d50ffa 100644
--- a/tests/wpt/tests/html/browsers/the-window-object/window-indexed-properties-delete-no-cache.html
+++ b/tests/wpt/tests/html/browsers/the-window-object/window-indexed-properties-delete-no-cache.html
@@ -1,5 +1,6 @@
<!doctype html>
<meta charset=utf-8>
+<meta name=timeout content=long>
<title>Deletion of WindowProxy's indexed properties is not cached</title>
<link rel="help" href="https://html.spec.whatwg.org/multipage/window-object.html#windowproxy-delete">
<script src="/resources/testharness.js"></script>
diff --git a/tests/wpt/tests/html/canvas/element/scroll/2d.scrollPathIntoView.basic.html b/tests/wpt/tests/html/canvas/element/scroll/2d.scrollPathIntoView.basic.html
deleted file mode 100644
index e4cf8ea9ad2..00000000000
--- a/tests/wpt/tests/html/canvas/element/scroll/2d.scrollPathIntoView.basic.html
+++ /dev/null
@@ -1,37 +0,0 @@
-<!DOCTYPE html>
-<!-- DO NOT EDIT! This test has been generated by /html/canvas/tools/gentest.py. -->
-<title>Canvas test: 2d.scrollPathIntoView.basic</title>
-<script src="/resources/testharness.js"></script>
-<script src="/resources/testharnessreport.js"></script>
-<script src="/html/canvas/resources/canvas-tests.js"></script>
-<link rel="stylesheet" href="/html/canvas/resources/canvas-tests.css">
-<body class="show_output">
-
-<h1>2d.scrollPathIntoView.basic</h1>
-<p class="desc">scrollPathIntoView() works</p>
-
-
-<p class="output">Actual output:</p>
-<canvas id="c" class="output" width="100" height="50"><p class="fallback">FAIL (fallback content)</p></canvas>
-
-<ul id="d"></ul>
-<script>
-var t = async_test("scrollPathIntoView() works");
-_addTest(function(canvas, ctx) {
-
- var div = document.createElement('div');
- div.style.cssText = 'width: 200vw; height: 200vh';
- document.body.appendChild(div);
- canvas.style.cssText = 'position: absolute; top: 100px; left: 200px; border: none;';
- window.scrollTo(0, 0);
-
- ctx.beginPath();
- ctx.rect(4, 8, 16, 32);
- ctx.scrollPathIntoView();
- var rect = canvas.getBoundingClientRect();
- _assertSame(Math.round(rect.top), -8, "Math.round(rect.top)", "-8");
- _assertSame(Math.round(rect.left), 200, "Math.round(rect.left)", "200");
-
-});
-</script>
-
diff --git a/tests/wpt/tests/html/canvas/element/scroll/2d.scrollPathIntoView.path.html b/tests/wpt/tests/html/canvas/element/scroll/2d.scrollPathIntoView.path.html
deleted file mode 100644
index ee1f833aaf3..00000000000
--- a/tests/wpt/tests/html/canvas/element/scroll/2d.scrollPathIntoView.path.html
+++ /dev/null
@@ -1,37 +0,0 @@
-<!DOCTYPE html>
-<!-- DO NOT EDIT! This test has been generated by /html/canvas/tools/gentest.py. -->
-<title>Canvas test: 2d.scrollPathIntoView.path</title>
-<script src="/resources/testharness.js"></script>
-<script src="/resources/testharnessreport.js"></script>
-<script src="/html/canvas/resources/canvas-tests.js"></script>
-<link rel="stylesheet" href="/html/canvas/resources/canvas-tests.css">
-<body class="show_output">
-
-<h1>2d.scrollPathIntoView.path</h1>
-<p class="desc">scrollPathIntoView() with path argument works</p>
-
-
-<p class="output">Actual output:</p>
-<canvas id="c" class="output" width="100" height="50"><p class="fallback">FAIL (fallback content)</p></canvas>
-
-<ul id="d"></ul>
-<script>
-var t = async_test("scrollPathIntoView() with path argument works");
-_addTest(function(canvas, ctx) {
-
- var div = document.createElement('div');
- div.style.cssText = 'width: 200vw; height: 200vh';
- document.body.appendChild(div);
- canvas.style.cssText = 'position: absolute; top: 100px; left: 200px; border: none;';
- window.scrollTo(0, 0);
-
- var path = new Path2D();
- path.rect(4, 8, 16, 32);
- ctx.scrollPathIntoView(path);
- var rect = canvas.getBoundingClientRect();
- _assertSame(Math.round(rect.top), -8, "Math.round(rect.top)", "-8");
- _assertSame(Math.round(rect.left), 200, "Math.round(rect.left)", "200");
-
-});
-</script>
-
diff --git a/tests/wpt/tests/html/canvas/element/scroll/2d.scrollPathIntoView.verticalLR.html b/tests/wpt/tests/html/canvas/element/scroll/2d.scrollPathIntoView.verticalLR.html
deleted file mode 100644
index 9d09980b6f0..00000000000
--- a/tests/wpt/tests/html/canvas/element/scroll/2d.scrollPathIntoView.verticalLR.html
+++ /dev/null
@@ -1,38 +0,0 @@
-<!DOCTYPE html>
-<!-- DO NOT EDIT! This test has been generated by /html/canvas/tools/gentest.py. -->
-<title>Canvas test: 2d.scrollPathIntoView.verticalLR</title>
-<script src="/resources/testharness.js"></script>
-<script src="/resources/testharnessreport.js"></script>
-<script src="/html/canvas/resources/canvas-tests.js"></script>
-<link rel="stylesheet" href="/html/canvas/resources/canvas-tests.css">
-<body class="show_output">
-
-<h1>2d.scrollPathIntoView.verticalLR</h1>
-<p class="desc">scrollPathIntoView() works in vertical-lr writing mode</p>
-
-
-<p class="output">Actual output:</p>
-<canvas id="c" class="output" width="100" height="50"><p class="fallback">FAIL (fallback content)</p></canvas>
-
-<ul id="d"></ul>
-<script>
-var t = async_test("scrollPathIntoView() works in vertical-lr writing mode");
-_addTest(function(canvas, ctx) {
-
- document.documentElement.style.cssText = 'writing-mode: vertical-lr';
- var div = document.createElement('div');
- div.style.cssText = 'width: 200vw; height: 200vh';
- document.body.appendChild(div);
- canvas.style.cssText = 'position: absolute; top: 100px; left: 200px; border: none;';
- window.scrollTo(0, 0);
-
- ctx.beginPath();
- ctx.rect(4, 8, 16, 32);
- ctx.scrollPathIntoView();
- var rect = canvas.getBoundingClientRect();
- _assertSame(Math.round(rect.top), 100, "Math.round(rect.top)", "100");
- _assertSame(Math.round(rect.left), -4, "Math.round(rect.left)", "-4");
-
-});
-</script>
-
diff --git a/tests/wpt/tests/html/canvas/element/scroll/2d.scrollPathIntoView.verticalRL.html b/tests/wpt/tests/html/canvas/element/scroll/2d.scrollPathIntoView.verticalRL.html
deleted file mode 100644
index 8193106f8e8..00000000000
--- a/tests/wpt/tests/html/canvas/element/scroll/2d.scrollPathIntoView.verticalRL.html
+++ /dev/null
@@ -1,40 +0,0 @@
-<!DOCTYPE html>
-<!-- DO NOT EDIT! This test has been generated by /html/canvas/tools/gentest.py. -->
-<title>Canvas test: 2d.scrollPathIntoView.verticalRL</title>
-<script src="/resources/testharness.js"></script>
-<script src="/resources/testharnessreport.js"></script>
-<script src="/html/canvas/resources/canvas-tests.js"></script>
-<link rel="stylesheet" href="/html/canvas/resources/canvas-tests.css">
-<body class="show_output">
-
-<h1>2d.scrollPathIntoView.verticalRL</h1>
-<p class="desc">scrollPathIntoView() works in vertical-rl writing mode</p>
-
-
-<p class="output">Actual output:</p>
-<canvas id="c" class="output" width="100" height="50"><p class="fallback">FAIL (fallback content)</p></canvas>
-
-<ul id="d"></ul>
-<script>
-var t = async_test("scrollPathIntoView() works in vertical-rl writing mode");
-_addTest(function(canvas, ctx) {
-
- document.documentElement.style.cssText = 'writing-mode: vertical-rl';
- var div = document.createElement('div');
- div.style.cssText = 'width: 200vw; height: 200vh';
- document.body.appendChild(div);
- canvas.style.cssText = 'position: absolute; top: 100px; right: 200px; border: none;';
- window.scrollTo(0, 0);
-
- ctx.beginPath();
- ctx.rect(4, 8, 16, 32);
- ctx.scrollPathIntoView();
- var rect = canvas.getBoundingClientRect();
- var viewportWidth = document.scrollingElement.clientWidth;
- var canvasWidth = canvas.width;
- _assertSame(Math.round(rect.top), 100, "Math.round(rect.top)", "100");
- _assertSame(Math.round(rect.right), viewportWidth + (canvasWidth - 4 - 16), "Math.round(rect.right)", "viewportWidth + (canvasWidth - 4 - 16)");
-
-});
-</script>
-
diff --git a/tests/wpt/tests/html/canvas/element/text/2d.text.measure.getActualBoundingBox-exceptions.tentative.html b/tests/wpt/tests/html/canvas/element/text/2d.text.measure.getActualBoundingBox-exceptions.tentative.html
index 8ce7ed79482..e60d1e337d3 100644
--- a/tests/wpt/tests/html/canvas/element/text/2d.text.measure.getActualBoundingBox-exceptions.tentative.html
+++ b/tests/wpt/tests/html/canvas/element/text/2d.text.measure.getActualBoundingBox-exceptions.tentative.html
@@ -39,6 +39,7 @@ _addTest(function(canvas, ctx) {
() => tm.getActualBoundingBox(0, text.length + 1) );
assert_throws_dom("IndexSizeError",
() => tm.getActualBoundingBox(text.length, text.length + 1) );
+ }
});
</script>
diff --git a/tests/wpt/tests/html/canvas/offscreen/text/2d.text.measure.getActualBoundingBox-exceptions.tentative.html b/tests/wpt/tests/html/canvas/offscreen/text/2d.text.measure.getActualBoundingBox-exceptions.tentative.html
index 8b41d0c830e..551f2c1d916 100644
--- a/tests/wpt/tests/html/canvas/offscreen/text/2d.text.measure.getActualBoundingBox-exceptions.tentative.html
+++ b/tests/wpt/tests/html/canvas/offscreen/text/2d.text.measure.getActualBoundingBox-exceptions.tentative.html
@@ -40,6 +40,7 @@ t.step(function() {
() => tm.getActualBoundingBox(0, text.length + 1) );
assert_throws_dom("IndexSizeError",
() => tm.getActualBoundingBox(text.length, text.length + 1) );
+ }
t.done();
});
diff --git a/tests/wpt/tests/html/canvas/offscreen/text/2d.text.measure.getActualBoundingBox-exceptions.tentative.worker.js b/tests/wpt/tests/html/canvas/offscreen/text/2d.text.measure.getActualBoundingBox-exceptions.tentative.worker.js
index 84bc720399c..5b5b7c76b04 100644
--- a/tests/wpt/tests/html/canvas/offscreen/text/2d.text.measure.getActualBoundingBox-exceptions.tentative.worker.js
+++ b/tests/wpt/tests/html/canvas/offscreen/text/2d.text.measure.getActualBoundingBox-exceptions.tentative.worker.js
@@ -36,6 +36,7 @@ t.step(function() {
() => tm.getActualBoundingBox(0, text.length + 1) );
assert_throws_dom("IndexSizeError",
() => tm.getActualBoundingBox(text.length, text.length + 1) );
+ }
t.done();
});
done();
diff --git a/tests/wpt/tests/html/canvas/tools/yaml-new/text.yaml b/tests/wpt/tests/html/canvas/tools/yaml-new/text.yaml
index 240a04ce8dc..b54cc7ebc26 100644
--- a/tests/wpt/tests/html/canvas/tools/yaml-new/text.yaml
+++ b/tests/wpt/tests/html/canvas/tools/yaml-new/text.yaml
@@ -1679,6 +1679,7 @@
() => tm.getActualBoundingBox(0, text.length + 1) );
assert_throws_dom("IndexSizeError",
() => tm.getActualBoundingBox(text.length, text.length + 1) );
+ }
- name: 2d.text.measure.caret-position.tentative
desc: >-
diff --git a/tests/wpt/tests/html/rendering/widgets/button-layout/button-dynamic-content-ref.html b/tests/wpt/tests/html/rendering/widgets/button-layout/button-dynamic-content-ref.html
new file mode 100644
index 00000000000..732ee9185f6
--- /dev/null
+++ b/tests/wpt/tests/html/rendering/widgets/button-layout/button-dynamic-content-ref.html
@@ -0,0 +1,5 @@
+<!DOCTYPE html>
+<button style="width: 100px; height: 100px;">
+ text text text text text text text text
+ <span>text</span>
+</button>
diff --git a/tests/wpt/tests/html/rendering/widgets/button-layout/button-dynamic-content.html b/tests/wpt/tests/html/rendering/widgets/button-layout/button-dynamic-content.html
new file mode 100644
index 00000000000..5bfd3d729d7
--- /dev/null
+++ b/tests/wpt/tests/html/rendering/widgets/button-layout/button-dynamic-content.html
@@ -0,0 +1,11 @@
+<!DOCTYPE html>
+<link rel="help" href="https://issues.chromium.org/issues/353898969">
+<link rel="match" href="button-dynamic-content-ref.html">
+<button style="width: 100px; height: 100px;">
+ text text text text text text text text
+ <span id="target"></span>
+</button>
+<script>
+document.body.offsetTop;
+document.getElementById('target').innerText = "text";
+</script>
diff --git a/tests/wpt/tests/html/semantics/forms/the-optgroup-element/optgroup-removal.window.js b/tests/wpt/tests/html/semantics/forms/the-optgroup-element/optgroup-removal.window.js
index 4e4c2df77e3..ea23e8d724a 100644
--- a/tests/wpt/tests/html/semantics/forms/the-optgroup-element/optgroup-removal.window.js
+++ b/tests/wpt/tests/html/semantics/forms/the-optgroup-element/optgroup-removal.window.js
@@ -1,6 +1,6 @@
test(() => {
const select = document.createElement("select");
- select.innerHTML = "<optgroup><option>1<optgroup><option>2";
+ select.innerHTML = "<optgroup><option>1</optgroup><optgroup><option>2";
assert_equals(select.value, "1");
select.querySelector("optgroup").remove();
assert_equals(select.value, "2");
diff --git a/tests/wpt/tests/html/semantics/forms/the-select-element/stylable-select/select-datalist-options-idl.tentative.html b/tests/wpt/tests/html/semantics/forms/the-select-element/stylable-select/select-datalist-options-idl.tentative.html
index 92eabdc5d8d..1a6274662a2 100644
--- a/tests/wpt/tests/html/semantics/forms/the-select-element/stylable-select/select-datalist-options-idl.tentative.html
+++ b/tests/wpt/tests/html/semantics/forms/the-select-element/stylable-select/select-datalist-options-idl.tentative.html
@@ -5,65 +5,80 @@
<script src="/resources/testharnessreport.js"></script>
<select>
- <datalist>
- <option class=one>one</option>
- <div>
- <option class=two>two</option>
+ <option class=one>one</option>
+ <datalist id=datalist1>
+ <option class=two>two</option>
+ <div id=div1>
+ <option class=three>three</option>
</div>
- <option class=three>three</option>
+ <option class=four>four</option>
</datalist>
<datalist>
- <option>ignored since not in first datalist</option>
+ <option class=five>five</option>
</datalist>
+ <div id=div2>
+ <option class=six>six</option>
+ </div>
</select>
<script>
const select = document.querySelector('select');
function runTest() {
- const datalist = select.querySelector('datalist');
+ const datalist = document.getElementById('datalist1');
const firstOption = select.querySelector('option.one');
const secondOption = select.querySelector('option.two');
const thirdOption = select.querySelector('option.three');
- const datalistChildDiv = datalist.querySelector('div');
-
- let selectChildDiv = document.querySelector('select > div');
- if (!selectChildDiv) {
- selectChildDiv = document.createElement('div');
- select.appendChild(selectChildDiv);
- }
+ const fourthOption = select.querySelector('option.four');
+ const fifthOption = select.querySelector('option.five');
+ const sixthOption = select.querySelector('option.six');
+ const datalistChildDiv = document.getElementById('div1');
+ const selectChildDiv = document.getElementById('div2');
- assert_equals(select.length, 3, 'select.length');
- assert_equals(select.options.length, 3, 'select.options.length');
+ assert_equals(select.length, 6, 'select.length');
+ assert_equals(select.options.length, 6, 'select.options.length');
assert_equals(select.options[0], firstOption, 'select.options[0]');
assert_equals(select.options[1], secondOption, 'select.options[1]');
assert_equals(select.options[2], thirdOption, 'select.options[2]');
+ assert_equals(select.options[3], fourthOption, 'select.options[3]');
+ assert_equals(select.options[4], fifthOption, 'select.options[4]');
+ assert_equals(select.options[5], sixthOption, 'select.options[5]');
assert_equals(select.value, 'one', 'initial select.value');
select.value = 'two';
assert_equals(select.value, 'two', 'select.value after modifying');
- secondOption.remove();
- assert_equals(select.length, 2, 'select.length after removing an option');
- assert_equals(select.options.length, 2, 'select.options.length after removing an option');
+ fourthOption.remove();
+ assert_equals(select.length, 5, 'select.length after removing an option');
+ assert_equals(select.options.length, 5, 'select.options.length after removing an option');
assert_equals(select.options[0], firstOption, 'select.options[0] after removing an option');
- assert_equals(select.options[1], thirdOption, 'select.options[1] after removing an option');
+ assert_equals(select.options[1], secondOption, 'select.options[1] after removing an option');
+ assert_equals(select.options[2], thirdOption, 'select.options[0] after removing an option');
+ assert_equals(select.options[3], fifthOption, 'select.options[1] after removing an option');
+ assert_equals(select.options[4], sixthOption, 'select.options[1] after removing an option');
- datalist.appendChild(secondOption);
- assert_equals(select.length, 3, 'select.length after re-adding an option');
- assert_equals(select.options.length, 3, 'select.options.length after re-adding an option');
+ datalist.appendChild(fourthOption);
+ assert_equals(select.length, 6, 'select.length after re-adding an option');
+ assert_equals(select.options.length, 6, 'select.options.length after re-adding an option');
assert_equals(select.options[0], firstOption, 'select.options[0] after re-adding an option');
- assert_equals(select.options[1], thirdOption, 'select.options[1] after re-adding an option');
- assert_equals(select.options[2], secondOption, 'select.options[2] after re-adding an option');
+ assert_equals(select.options[1], secondOption, 'select.options[1] after re-adding an option');
+ assert_equals(select.options[2], thirdOption, 'select.options[2] after re-adding an option');
+ assert_equals(select.options[3], fourthOption, 'select.options[2] after re-adding an option');
+ assert_equals(select.options[4], fifthOption, 'select.options[2] after re-adding an option');
+ assert_equals(select.options[5], sixthOption, 'select.options[2] after re-adding an option');
- selectChildDiv.appendChild(secondOption);
- assert_equals(select.length, 2, 'select.length after moving option to child div');
- assert_equals(select.options.length, 2, 'select.options.length after moving option to child div');
+ selectChildDiv.appendChild(fourthOption);
+ assert_equals(select.length, 6, 'select.length after moving option to child div');
+ assert_equals(select.options.length, 6, 'select.options.length after moving option to child div');
assert_equals(select.options[0], firstOption, 'select.options[0] after moving option to child div');
- assert_equals(select.options[1], thirdOption, 'select.options[1] after moving option to child div');
+ assert_equals(select.options[1], secondOption, 'select.options[1] after moving option to child div');
+ assert_equals(select.options[2], thirdOption, 'select.options[2] after moving option to child div');
+ assert_equals(select.options[3], fifthOption, 'select.options[3] after moving option to child div');
+ assert_equals(select.options[4], sixthOption, 'select.options[4] after moving option to child div');
+ assert_equals(select.options[5], fourthOption, 'select.options[5] after moving option to child div');
// reset back to normal for the next test
- datalistChildDiv.appendChild(secondOption);
+ datalist.appendChild(fourthOption);
select.value = 'one';
}
diff --git a/tests/wpt/tests/html/semantics/forms/the-select-element/stylable-select/select-parsing.tentative.html b/tests/wpt/tests/html/semantics/forms/the-select-element/stylable-select/select-parsing.tentative.html
index 31133446d4d..5aa4638f0be 100644
--- a/tests/wpt/tests/html/semantics/forms/the-select-element/stylable-select/select-parsing.tentative.html
+++ b/tests/wpt/tests/html/semantics/forms/the-select-element/stylable-select/select-parsing.tentative.html
@@ -37,12 +37,9 @@
</select>
<select id=s6>
-<button>
-<button></button>
-</button>
-<datalist>
-<datalist></datalist>
-</datalist>
+ <div>
+ <option><img>option</option>
+ </div>
</select>
<div id=afterlast>
@@ -55,15 +52,15 @@ test(() => {
// previous test case didn't leave the HTML parser open on another element.
assert_equals(document.getElementById('s1').parentNode, document.body);
assert_equals(document.getElementById('s1').innerHTML, `
- div 1
+ <div>div 1</div>
<button>button</button>
- div 2
+ <div>div 2</div>
<datalist>
<option>option</option>
</datalist>
- div 3
+ <div>div 3</div>
`);
-}, '<button>s and <datalist>s should be allowed in <select>.');
+}, '<div>s, <button>s, and <datalist>s should be allowed in <select>.');
test(() => {
assert_equals(document.getElementById('s2').parentNode, document.body);
@@ -97,14 +94,11 @@ test(() => {
test(() => {
assert_equals(document.getElementById('s6').parentNode, document.body);
assert_equals(document.getElementById('s6').innerHTML, `
-<button>
-</button>
-
-<datalist>
-</datalist>
-
+ <div>
+ <option><img>option</option>
+ </div>
`);
-}, 'Nested <button>s or <datalist>s in <select> should be dropped.');
+}, 'Divs and imgs should be allowed as direct children of select and within options without a datalist.');
test(() => {
assert_equals(document.getElementById('afterlast').parentNode, document.body);
diff --git a/tests/wpt/tests/intersection-observer/explicit-root-different-document.tentative.html b/tests/wpt/tests/intersection-observer/explicit-root-different-document.html
index 15c5e620d5b..15c5e620d5b 100644
--- a/tests/wpt/tests/intersection-observer/explicit-root-different-document.tentative.html
+++ b/tests/wpt/tests/intersection-observer/explicit-root-different-document.html
diff --git a/tests/wpt/tests/intersection-observer/not-in-containing-block-chain.tentative.html b/tests/wpt/tests/intersection-observer/not-in-containing-block-chain.html
index 4490d0b631e..4490d0b631e 100644
--- a/tests/wpt/tests/intersection-observer/not-in-containing-block-chain.tentative.html
+++ b/tests/wpt/tests/intersection-observer/not-in-containing-block-chain.html
diff --git a/tests/wpt/tests/loading/preloader-css-import-no-quote.tentative.html b/tests/wpt/tests/loading/preloader-css-import-no-quote.html
index 6b982ea2ce2..6b982ea2ce2 100644
--- a/tests/wpt/tests/loading/preloader-css-import-no-quote.tentative.html
+++ b/tests/wpt/tests/loading/preloader-css-import-no-quote.html
diff --git a/tests/wpt/tests/loading/preloader-css-import-no-semicolon.tentative.html b/tests/wpt/tests/loading/preloader-css-import-no-semicolon.html
index ab81c82192a..ab81c82192a 100644
--- a/tests/wpt/tests/loading/preloader-css-import-no-semicolon.tentative.html
+++ b/tests/wpt/tests/loading/preloader-css-import-no-semicolon.html
diff --git a/tests/wpt/tests/loading/preloader-css-import-no-space.tentative.html b/tests/wpt/tests/loading/preloader-css-import-no-space.html
index 9e83bebe573..9e83bebe573 100644
--- a/tests/wpt/tests/loading/preloader-css-import-no-space.tentative.html
+++ b/tests/wpt/tests/loading/preloader-css-import-no-space.html
diff --git a/tests/wpt/tests/loading/preloader-css-import-single-quote.tentative.html b/tests/wpt/tests/loading/preloader-css-import-single-quote.html
index 83c6415765e..83c6415765e 100644
--- a/tests/wpt/tests/loading/preloader-css-import-single-quote.tentative.html
+++ b/tests/wpt/tests/loading/preloader-css-import-single-quote.html
diff --git a/tests/wpt/tests/loading/preloader-css-import.tentative.html b/tests/wpt/tests/loading/preloader-css-import.html
index 6e84e139832..6e84e139832 100644
--- a/tests/wpt/tests/loading/preloader-css-import.tentative.html
+++ b/tests/wpt/tests/loading/preloader-css-import.html
diff --git a/tests/wpt/tests/loading/preloader-link-media.tentative.html b/tests/wpt/tests/loading/preloader-link-media.html
index 93fc7d969fd..93fc7d969fd 100644
--- a/tests/wpt/tests/loading/preloader-link-media.tentative.html
+++ b/tests/wpt/tests/loading/preloader-link-media.html
diff --git a/tests/wpt/tests/loading/preloader-template.tentative.html b/tests/wpt/tests/loading/preloader-template.html
index e8163091848..e8163091848 100644
--- a/tests/wpt/tests/loading/preloader-template.tentative.html
+++ b/tests/wpt/tests/loading/preloader-template.html
diff --git a/tests/wpt/tests/mathml/presentation-markup/mrow/mrow-fallback-001.html b/tests/wpt/tests/mathml/presentation-markup/mrow/mrow-fallback-001.html
new file mode 100644
index 00000000000..2675696b94e
--- /dev/null
+++ b/tests/wpt/tests/mathml/presentation-markup/mrow/mrow-fallback-001.html
@@ -0,0 +1,47 @@
+<!DOCTYPE html>
+<html>
+<head>
+<meta charset="utf-8">
+<title>Test mrow fallback for some MathML elements</title>
+<link rel="help" href="https://w3c.github.io/mathml-core/#script-and-limit-schemata">
+<meta name="assert" content="Verify that invalid markup fallbacks to row layout.">
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<script src="/mathml/support/feature-detection.js"></script>
+<script src="/mathml/support/fonts.js"></script>
+<script src="/mathml/support/layout-comparison.js"></script>
+<script src="/mathml/support/mathml-fragments.js"></script>
+<script src="/mathml/support/invalid-markup.js"></script>
+<style>
+ /* Revert style specified in the UA style sheet that changes box size. */
+ mfrac { padding-inline: 0; }
+</style>
+<script>
+ setup({ explicit_done: true });
+ window.addEventListener("load", () => { loadAllFonts().then(runTests); });
+
+ function runTests() {
+ let container = document.getElementById("container");
+ let invalidMarkup = generateInvalidMarkup();
+ container.appendChild(invalidMarkup);
+ const epsilon = 1;
+
+ for (let math of invalidMarkup.children) {
+ let element = math.firstElementChild;
+ let reference = element.nextElementSibling;
+ let description = element.dataset.description;
+ test(function() {
+ compareLayout(element, reference, epsilon);
+ assert_approx_equals(element.getBoundingClientRect().top, reference.getBoundingClientRect().top, epsilon);
+ }, `Invalid <${element.tagName}> should lay out as an mrow (${description})`);
+ }
+
+ done();
+ }
+</script>
+</head>
+<body>
+ <div id="log"></div>
+ <div id="container"></div>
+</body>
+</html>
diff --git a/tests/wpt/tests/mathml/presentation-markup/mrow/mrow-fallback-002.html b/tests/wpt/tests/mathml/presentation-markup/mrow/mrow-fallback-002.html
new file mode 100644
index 00000000000..8b181b95f33
--- /dev/null
+++ b/tests/wpt/tests/mathml/presentation-markup/mrow/mrow-fallback-002.html
@@ -0,0 +1,60 @@
+<!DOCTYPE html>
+<html>
+<head>
+<meta charset="utf-8">
+<title>Test mrow fallback for some MathML elements (preferred logical widths)</title>
+<link rel="help" href="https://w3c.github.io/mathml-core/#script-and-limit-schemata">
+<meta name="assert" content="Verify that invalid markup fallbacks to mrow behaviour when computing preferred logical widths.">
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<script src="/mathml/support/feature-detection.js"></script>
+<script src="/mathml/support/fonts.js"></script>
+<script src="/mathml/support/layout-comparison.js"></script>
+<script src="/mathml/support/mathml-fragments.js"></script>
+<script src="/mathml/support/invalid-markup.js"></script>
+<style>
+ /* Revert style specified in the UA style sheet that changes box size. */
+ mfrac { padding-inline: 0; }
+</style>
+<script>
+ setup({ explicit_done: true });
+ window.addEventListener("load", () => { loadAllFonts().then(runTests); });
+
+ function wrapShrink(el) {
+ let wrapper = document.createElement("div");
+ let math = FragmentHelper.createElement("math");
+ wrapper.style.display = "inline-block";
+ math.appendChild(el);
+ wrapper.appendChild(math);
+ return wrapper;
+ }
+
+ function runTests() {
+ let container = document.getElementById("container");
+ let invalidMarkup = generateInvalidMarkup();
+ const epsilon = 1;
+
+ for (let math of invalidMarkup.children) {
+ let element = math.firstElementChild;
+ let reference = element.nextElementSibling;
+ let description = element.dataset.description;
+
+ // generateInvalidMarkup() puts both the element and the reference in the same <math>.
+ // To test preferred logical widths, we need to separate them out under different divs.
+ let elementWrapper = wrapShrink(element);
+ let referenceWrapper = wrapShrink(reference);
+ container.append(elementWrapper, referenceWrapper);
+ test(function() {
+ assert_approx_equals(elementWrapper.getBoundingClientRect().width, referenceWrapper.getBoundingClientRect().width, epsilon);
+ }, `Invalid <${element.tagName}> should fallback to mrow behaviour when computing preferred logical widths (${description})`);
+ }
+
+ done();
+ }
+</script>
+</head>
+<body>
+ <div id="log"></div>
+ <div id="container"></div>
+</body>
+</html>
diff --git a/tests/wpt/tests/mathml/presentation-markup/mrow/mrow-fallback.html b/tests/wpt/tests/mathml/presentation-markup/mrow/mrow-fallback.html
deleted file mode 100644
index a7e984328c5..00000000000
--- a/tests/wpt/tests/mathml/presentation-markup/mrow/mrow-fallback.html
+++ /dev/null
@@ -1,129 +0,0 @@
-<!DOCTYPE html>
-<html>
-<head>
-<meta charset="utf-8">
-<title>Test mrow fallback for some MathML elements</title>
-<link rel="help" href="https://w3c.github.io/mathml-core/#script-and-limit-schemata">
-<meta name="assert" content="Verify that invalid markup fallbacks to row layout.">
-<script src="/resources/testharness.js"></script>
-<script src="/resources/testharnessreport.js"></script>
-<script src="/mathml/support/feature-detection.js"></script>
-<script src="/mathml/support/fonts.js"></script>
-<script src="/mathml/support/layout-comparison.js"></script>
-<script src="/mathml/support/mathml-fragments.js"></script>
-<style>
- /* Revert style specified in the UA style sheet that changes box size. */
- mfrac { padding-inline: 0; }
-</style>
-<script>
- setup({ explicit_done: true });
- window.addEventListener("load", () => { loadAllFonts().then(runTests); });
-
- function isValid(tagName, mspaceCount) {
- switch (tagName) {
- case "mfrac":
- case "mroot":
- case "munder":
- case "mover":
- case "msub":
- case "msup":
- return mspaceCount == 2;
- case "munderover":
- case "msubsup":
- return mspaceCount == 3;
- case "mmultiscripts":
- return mspaceCount % 2 == 1;
- }
- }
-
- function runTests() {
- let container = document.getElementById("container");
- const epsilon = 1;
- ["mfrac", "mroot", "munder", "mover", "munderover", "msub", "msup", "msubsup", "mmultiscripts"].forEach(tag => {
- let element = FragmentHelper.createElement(tag);
- let reference = FragmentHelper.createElement("mrow");
- container.appendChild(element);
- container.appendChild(reference);
- let maxCount = tag == "mmultiscripts" ? 10 : 5;
- let mspaceCount = 0;
- for (let count = 0; count <= maxCount; count++) {
- if (!isValid(tag, mspaceCount)) {
- test(function() {
- compareLayout(element, reference, epsilon);
- }, `Invalid <${element.tagName}> should lay out as an mrow (count == ${count})`);
- }
- if (tag == "mmultiscripts" && count == maxCount / 2) {
- [element, reference].forEach(el => {
- el.insertAdjacentHTML("beforeend", `<mprescripts/>`);
- });
- } else {
- let width = (count + 1) * 10;
- let height = (count + 1) * (count % 2 ? 15 : 5);
- let depth = (count + 1) * (count % 2 ? 5 : 15);
- [element, reference].forEach(el => {
- el.insertAdjacentHTML("beforeend", `<mspace height="${height}px" depth="${depth}px" width="${width}px" style="background: black"/>`);
- });
- mspaceCount++;
- }
- }
- });
- Array.from(document.getElementById("invalidMultiscripts").
- getElementsByTagName("mmultiscripts")).forEach(element => {
- let reference = element.nextElementSibling;
- let description = element.dataset.description;
- test(function() {
- compareLayout(element, reference, epsilon);
- }, `Invalid mmultiscripts should lay out as an mrow (${description})`);
- });
-
- done();
- }
-</script>
-</head>
-<body>
- <div id="log"></div>
- <div id="container"></div>
- <div id="invalidMultiscripts">
- <math>
- <mmultiscripts data-description="first in-flow child is an <mprescripts>">
- <mprescripts/>
- <mspace height="5px" depth="15px" width="10px" style="background: black"/>
- <mspace height="30px" depth="10px" width="20px" style="background: black"/>
- <mspace height="15px" depth="45px" width="30px" style="background: black"/>
- <mspace height="60px" depth="20px" width="40px" style="background: black"/>
-
- </mmultiscripts>
- <mrow>
- <mprescripts/>
- <mspace height="5px" depth="15px" width="10px" style="background: black"/>
- <mspace height="30px" depth="10px" width="20px" style="background: black"/>
- <mspace height="15px" depth="45px" width="30px" style="background: black"/>
- <mspace height="60px" depth="20px" width="40px" style="background: black"/>
-
- </mrow>
- </math>
- <math>
- <mmultiscripts data-description="one of the even number of children after the first <mprescripts> is an <mprescripts>">
- <mspace height="5px" depth="15px" width="10px" style="background: black"/>
- <mspace height="30px" depth="10px" width="20px" style="background: black"/>
- <mspace height="15px" depth="45px" width="30px" style="background: black"/>
- <mprescripts/>
- <mspace height="60px" depth="20px" width="40px" style="background: black"/>
- <mprescripts/>
- <mspace height="25px" depth="75px" width="50px" style="background: black"/>
- <mspace height="35px" depth="105px" width="70px" style="background: black"/>
- </mmultiscripts>
- <mrow>
- <mspace height="5px" depth="15px" width="10px" style="background: black"/>
- <mspace height="30px" depth="10px" width="20px" style="background: black"/>
- <mspace height="15px" depth="45px" width="30px" style="background: black"/>
- <mprescripts/>
- <mspace height="60px" depth="20px" width="40px" style="background: black"/>
- <mprescripts/>
- <mspace height="25px" depth="75px" width="50px" style="background: black"/>
- <mspace height="35px" depth="105px" width="70px" style="background: black"/>
- </mrow>
- </math>
- </div>
-</body>
-</html>
diff --git a/tests/wpt/tests/mathml/support/invalid-markup.js b/tests/wpt/tests/mathml/support/invalid-markup.js
new file mode 100644
index 00000000000..451033ce076
--- /dev/null
+++ b/tests/wpt/tests/mathml/support/invalid-markup.js
@@ -0,0 +1,96 @@
+// This is a helper for generating invalid MathML markup.
+// Depends on ./mathml-fragments.js
+
+function isValid(tagName, mspaceCount) {
+ switch (tagName) {
+ case "mfrac":
+ case "mroot":
+ case "munder":
+ case "mover":
+ case "msub":
+ case "msup":
+ return mspaceCount == 2;
+ case "munderover":
+ case "msubsup":
+ return mspaceCount == 3;
+ case "mmultiscripts":
+ return mspaceCount % 2 == 1;
+ }
+}
+
+function generateInvalidMarkup() {
+ let container = document.createElement("div");
+ ["mfrac", "mroot", "munder", "mover", "munderover", "msub", "msup", "msubsup", "mmultiscripts"].forEach(tag => {
+ let math = FragmentHelper.createElement("math");
+ let element = FragmentHelper.createElement(tag);
+ let reference = FragmentHelper.createElement("mrow");
+ math.appendChild(element);
+ math.appendChild(reference);
+ let maxCount = tag == "mmultiscripts" ? 10 : 5;
+ let mspaceCount = 0;
+ for (let count = 0; count <= maxCount; count++) {
+ element.dataset.description = `count == ${count}`;
+ if (!isValid(tag, mspaceCount)) {
+ container.appendChild(math.cloneNode(true));
+ }
+ if (tag == "mmultiscripts" && count == maxCount / 2) {
+ [element, reference].forEach(el => {
+ el.insertAdjacentHTML("beforeend", `<mprescripts/>`);
+ });
+ } else {
+ let width = (count + 1) * 10;
+ let height = (count + 1) * (count % 2 ? 15 : 5);
+ let depth = (count + 1) * (count % 2 ? 5 : 15);
+ [element, reference].forEach(el => {
+ el.insertAdjacentHTML("beforeend", `<mspace height="${height}px" depth="${depth}px" width="${width}px" style="background: black"/>`);
+ });
+ mspaceCount++;
+ }
+ }
+ });
+
+ container.insertAdjacentHTML("beforeend", `
+<math>
+ <mmultiscripts data-description="first in-flow child is an <mprescripts>">
+ <mprescripts/>
+ <mspace height="5px" depth="15px" width="10px" style="background: black"/>
+ <mspace height="30px" depth="10px" width="20px" style="background: black"/>
+ <mspace height="15px" depth="45px" width="30px" style="background: black"/>
+ <mspace height="60px" depth="20px" width="40px" style="background: black"/>
+
+ </mmultiscripts>
+ <mrow>
+ <mprescripts/>
+ <mspace height="5px" depth="15px" width="10px" style="background: black"/>
+ <mspace height="30px" depth="10px" width="20px" style="background: black"/>
+ <mspace height="15px" depth="45px" width="30px" style="background: black"/>
+ <mspace height="60px" depth="20px" width="40px" style="background: black"/>
+
+ </mrow>
+</math>
+<math>
+ <mmultiscripts data-description="one of the even number of children after the first <mprescripts> is an <mprescripts>">
+ <mspace height="5px" depth="15px" width="10px" style="background: black"/>
+ <mspace height="30px" depth="10px" width="20px" style="background: black"/>
+ <mspace height="15px" depth="45px" width="30px" style="background: black"/>
+ <mprescripts/>
+ <mspace height="60px" depth="20px" width="40px" style="background: black"/>
+ <mprescripts/>
+ <mspace height="25px" depth="75px" width="50px" style="background: black"/>
+ <mspace height="35px" depth="105px" width="70px" style="background: black"/>
+ </mmultiscripts>
+ <mrow>
+ <mspace height="5px" depth="15px" width="10px" style="background: black"/>
+ <mspace height="30px" depth="10px" width="20px" style="background: black"/>
+ <mspace height="15px" depth="45px" width="30px" style="background: black"/>
+ <mprescripts/>
+ <mspace height="60px" depth="20px" width="40px" style="background: black"/>
+ <mprescripts/>
+ <mspace height="25px" depth="75px" width="50px" style="background: black"/>
+ <mspace height="35px" depth="105px" width="70px" style="background: black"/>
+ </mrow>
+</math>
+ `);
+
+ return container;
+}
diff --git a/tests/wpt/tests/mimesniff/sniffing/html.window.js b/tests/wpt/tests/mimesniff/sniffing/html.window.js
new file mode 100644
index 00000000000..3fef45bb477
--- /dev/null
+++ b/tests/wpt/tests/mimesniff/sniffing/html.window.js
@@ -0,0 +1,12 @@
+["atom", "rss"].forEach(item => {
+ async_test(t => {
+ const popup = window.open(`support/${item}.html`);
+ t.add_cleanup(() => popup.close());
+ popup.onload = t.step_func_done(() => {
+ assert_equals(popup.document.contentType, "text/html");
+ assert_equals(popup.document.documentElement.localName, "html");
+ assert_equals(popup.document.documentElement.namespaceURI, "http://www.w3.org/1999/xhtml");
+ assert_equals(popup.document.querySelector("b").namespaceURI, "http://www.w3.org/1999/xhtml");
+ });
+ }, `HTML is not sniffed for a "feed": ${item}`);
+});
diff --git a/tests/wpt/tests/mimesniff/sniffing/support/atom.html b/tests/wpt/tests/mimesniff/sniffing/support/atom.html
new file mode 100644
index 00000000000..b343d6d6154
--- /dev/null
+++ b/tests/wpt/tests/mimesniff/sniffing/support/atom.html
@@ -0,0 +1,3 @@
+<atom>
+ <b>HELLO</b>
+</atom>
diff --git a/tests/wpt/tests/mimesniff/sniffing/support/rss.html b/tests/wpt/tests/mimesniff/sniffing/support/rss.html
new file mode 100644
index 00000000000..d708b0d8ebd
--- /dev/null
+++ b/tests/wpt/tests/mimesniff/sniffing/support/rss.html
@@ -0,0 +1,3 @@
+<rss>
+ <b>HELLO</b>
+</rss>
diff --git a/tests/wpt/tests/navigation-api/navigate-event/intercept-history-pushState.html b/tests/wpt/tests/navigation-api/navigate-event/intercept-history-pushState.html
index aad08b742ef..4586b134f08 100644
--- a/tests/wpt/tests/navigation-api/navigate-event/intercept-history-pushState.html
+++ b/tests/wpt/tests/navigation-api/navigate-event/intercept-history-pushState.html
@@ -4,6 +4,10 @@
<script>
async_test(t => {
let start_length = history.length;
+
+ let onpopstate_fired = false;
+ window.onpopstate = e => onpopstate_fired = true;
+
navigation.onnavigate = t.step_func(e => {
e.intercept({ handler: async () => {
await new Promise(r => t.step_timeout(r, 0));
@@ -11,6 +15,7 @@ async_test(t => {
assert_equals(location.hash, "#1");
assert_equals(history.state, "update");
assert_equals(history.length, start_length + 1);
+ assert_false(onpopstate_fired);
}, 0));
}});
});
diff --git a/tests/wpt/tests/pointerevents/persistentDeviceId/get-persistendeviceid-from-pointer-event.tentative.html b/tests/wpt/tests/pointerevents/persistentDeviceId/get-persistendeviceid-from-pointer-event.tentative.html
index 9f77c1c9e95..294f36b5d3d 100644
--- a/tests/wpt/tests/pointerevents/persistentDeviceId/get-persistendeviceid-from-pointer-event.tentative.html
+++ b/tests/wpt/tests/pointerevents/persistentDeviceId/get-persistendeviceid-from-pointer-event.tentative.html
@@ -29,8 +29,6 @@
window.addEventListener("pointermove", CheckDeviceId, false);
promise_test(async () => {
- if (!window.internals)
- return;
eventFired = 0;
let actions = new test_driver.Actions()
.addPointer("TestPointer", "pen")
diff --git a/tests/wpt/tests/pointerevents/persistentDeviceId/pointer-event-has-persistentdeviceid-from-pointer-event-init.tentative.html b/tests/wpt/tests/pointerevents/persistentDeviceId/pointer-event-has-persistentdeviceid-from-pointer-event-init.tentative.html
index ef3f4d15356..c3fc4270f61 100644
--- a/tests/wpt/tests/pointerevents/persistentDeviceId/pointer-event-has-persistentdeviceid-from-pointer-event-init.tentative.html
+++ b/tests/wpt/tests/pointerevents/persistentDeviceId/pointer-event-has-persistentdeviceid-from-pointer-event-init.tentative.html
@@ -18,8 +18,6 @@
}
promise_test(async () => {
- if (!window.internals)
- return;
var deviceId = PERSISTENT_ID;
var downEvent = new PointerEvent("pointerdown",
{pointerId: 1,
@@ -57,8 +55,6 @@
}, 'PointerEvent.persistentDeviceId via PointerEventInit');
promise_test(async () => {
- if (!window.internals)
- return;
var downEventEmptyProps = new PointerEvent("pointerdown",
{pointerId: 1,
bubbles: true,
diff --git a/tests/wpt/tests/quirks/line-height-in-list-item.tentative.html b/tests/wpt/tests/quirks/line-height-in-list-item.html
index be655e51fc8..be655e51fc8 100644
--- a/tests/wpt/tests/quirks/line-height-in-list-item.tentative.html
+++ b/tests/wpt/tests/quirks/line-height-in-list-item.html
diff --git a/tests/wpt/tests/resources/chromium/mock-pressure-service.js b/tests/wpt/tests/resources/chromium/mock-pressure-service.js
index 8e205d31cb7..610d02a9164 100644
--- a/tests/wpt/tests/resources/chromium/mock-pressure-service.js
+++ b/tests/wpt/tests/resources/chromium/mock-pressure-service.js
@@ -1,4 +1,4 @@
-import {PressureStatus} from '/gen/services/device/public/mojom/pressure_manager.mojom.m.js'
+import {PressureClientRemote, PressureManagerAddClientError} from "/gen/services/device/public/mojom/pressure_manager.mojom.m.js";
import {PressureSource, PressureState} from '/gen/services/device/public/mojom/pressure_update.mojom.m.js'
import {WebPressureManager, WebPressureManagerReceiver} from '/gen/third_party/blink/public/mojom/compute_pressure/web_pressure_manager.mojom.m.js'
@@ -37,26 +37,29 @@ class MockWebPressureService {
this.observers_ = [];
this.pressureUpdate_ = null;
this.pressureServiceReadingTimerId_ = null;
- this.pressureStatus_ = PressureStatus.kOk;
+ this.addClientError_ = null;
this.updatesDelivered_ = 0;
}
- async addClient(observer, source) {
- if (this.observers_.indexOf(observer) >= 0)
- throw new Error('addClient() has already been called');
-
+ async addClient(source) {
// TODO(crbug.com/1342184): Consider other sources.
// For now, "cpu" is the only source.
if (source !== PressureSource.kCpu)
throw new Error('Call addClient() with a wrong PressureSource');
- observer.onConnectionError.addListener(() => {
+ if (this.addClientError_ !== null) {
+ return {result: {error: this.addClientError_}};
+ }
+
+ const pressureClientRemote = new PressureClientRemote();
+ pressureClientRemote.onConnectionError.addListener(() => {
// Remove this observer from observer array.
- this.observers_.splice(this.observers_.indexOf(observer), 1);
+ this.observers_.splice(this.observers_.indexOf(pressureClientRemote), 1);
});
- this.observers_.push(observer);
+ const pendingReceiver = pressureClientRemote.$.bindNewPipeAndPassReceiver();
+ this.observers_.push(pressureClientRemote);
- return {status: this.pressureStatus_};
+ return {result: {pressureClient: pendingReceiver}};
}
startPlatformCollector(sampleInterval) {
@@ -117,7 +120,7 @@ class MockWebPressureService {
expectedException instanceof DOMException,
'setExpectedFailure() expects a DOMException instance');
if (expectedException.name === 'NotSupportedError') {
- this.pressureStatus_ = PressureStatus.kNotSupported;
+ this.addClientError_ = PressureManagerAddClientError.kNotSupported;
} else {
throw new TypeError(
`Unexpected DOMException '${expectedException.name}'`);
diff --git a/tests/wpt/tests/scroll-animations/css/animation-shorthand.html b/tests/wpt/tests/scroll-animations/css/animation-shorthand.html
index cb63137f5c9..b128b33dd8b 100644
--- a/tests/wpt/tests/scroll-animations/css/animation-shorthand.html
+++ b/tests/wpt/tests/scroll-animations/css/animation-shorthand.html
@@ -20,7 +20,7 @@ test_invalid_value('animation',
test_invalid_value('animation',
'1s linear 1s 2 reverse forwards paused anim view()');
test_invalid_value('animation',
- '1s linear 1s 2 reverse forwards paused anim timeline');
+ '1s linear 1s 2 reverse forwards paused anim --timeline');
test_computed_value('animation',
'1s linear 1s 2 reverse forwards paused anim');
diff --git a/tests/wpt/tests/scroll-to-text-fragment/non-html-documents-json.html b/tests/wpt/tests/scroll-to-text-fragment/non-html-documents-json.html
new file mode 100644
index 00000000000..b7df2dccf1c
--- /dev/null
+++ b/tests/wpt/tests/scroll-to-text-fragment/non-html-documents-json.html
@@ -0,0 +1,52 @@
+<!doctype html>
+<title>Allow text fragments in HTML documents only</title>
+<meta charset=utf-8>
+<link rel="help" href="https://wicg.github.io/ScrollToTextFragment/">
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<script src="/resources/testdriver.js"></script>
+<script src="/resources/testdriver-vendor.js"></script>
+<script src="/common/utils.js"></script>
+<script src="stash.js"></script>
+
+<script>
+// This test originates from non-html-documents.html and was moved into its own
+// file because JSON does not emit `onload` in Gecko and this test would timeout
+// See https://bugzil.la/1907901
+
+function rAF(win) {
+ return new Promise((resolve) => {
+ win.requestAnimationFrame(resolve);
+ });
+}
+
+function openPopup(url) {
+ return new Promise((resolve) => {
+ test_driver.bless('Open a URL with a text fragment directive', () => {
+ const popup = window.open(url, '_blank', 'width=300,height=300');
+ popup.onload = () => resolve(popup);
+ });
+ });
+}
+const filename = 'application-json.json'
+const expected = 'blocked';
+const mediaType = filename.split('.')[0].replace('-', '/');
+
+promise_test(async function (t) {
+ const popup = await openPopup(`resources/${filename}#:~:text=target`);
+
+ // The WPT server should provide the correct content-type header from the
+ // file extension.
+ assert_equals(popup.document.contentType, mediaType);
+
+ // rAF twice in case there is any asynchronicity in scrolling to the target.
+ await rAF(popup);
+ await rAF(popup);
+
+ const did_scroll = popup.scrollY > 0;
+ const expected_scroll = expected == 'allowed';
+ assert_equals(did_scroll, expected_scroll, 'scrolled to fragment');
+
+ popup.close();
+}, `Text directive ${expected} in ${mediaType}`);
+</script>
diff --git a/tests/wpt/tests/scroll-to-text-fragment/non-html-documents.html b/tests/wpt/tests/scroll-to-text-fragment/non-html-documents.html
index de1fe837e6d..cd6d1a79704 100644
--- a/tests/wpt/tests/scroll-to-text-fragment/non-html-documents.html
+++ b/tests/wpt/tests/scroll-to-text-fragment/non-html-documents.html
@@ -1,6 +1,7 @@
<!doctype html>
<title>Allow text fragments in HTML documents only</title>
<meta charset=utf-8>
+<meta name="timeout" content="long">
<link rel="help" href="https://wicg.github.io/ScrollToTextFragment/">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
@@ -46,10 +47,6 @@ const test_cases = [
filename: 'application-xml.xml',
expected: 'blocked',
},
- {
- filename: 'application-json.json',
- expected: 'blocked',
- },
];
for (let test_case of test_cases) {
diff --git a/tests/wpt/tests/scroll-to-text-fragment/scroll-to-text-fragment-scroll-to-center-target.html b/tests/wpt/tests/scroll-to-text-fragment/scroll-to-text-fragment-scroll-to-center-target.html
new file mode 100644
index 00000000000..dbadc4a51b9
--- /dev/null
+++ b/tests/wpt/tests/scroll-to-text-fragment/scroll-to-text-fragment-scroll-to-center-target.html
@@ -0,0 +1,26 @@
+<!DOCTYPE html>
+<title>
+ Ensuring a text directive is scrolled to the center of the view port instead of the top.
+</title>
+<script src="stash.js"></script>
+<script>
+function checkScroll() {
+ const results = {hasScrolled: window.scrollY != 0};
+ let key = (new URL(document.location)).searchParams.get("key");
+ stashResultsThenClose(key, results);
+};
+window.onload = () => {
+ window.requestAnimationFrame(function() {
+ window.requestAnimationFrame(checkScroll);
+ })
+}
+</script>
+<body>
+<script>
+document.addEventListener("DOMContentLoaded", () => {
+ // trigger a layout flush
+ _ = document.body.getBoundingClientRect();
+});
+</script>
+<div style="margin-top: 20vh; margin-bottom: 100vh">Scroll to me</div>
+</body>
diff --git a/tests/wpt/tests/scroll-to-text-fragment/scroll-to-text-fragment-scroll-to-center.html b/tests/wpt/tests/scroll-to-text-fragment/scroll-to-text-fragment-scroll-to-center.html
new file mode 100644
index 00000000000..879a4891938
--- /dev/null
+++ b/tests/wpt/tests/scroll-to-text-fragment/scroll-to-text-fragment-scroll-to-center.html
@@ -0,0 +1,25 @@
+<!doctype html>
+<title>Navigating to a text fragment directive</title>
+<meta charset=utf-8>
+<link rel="help" href="https://wicg.github.io/ScrollToTextFragment/">
+<meta name="timeout" content="long">
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<script src="/resources/testdriver.js"></script>
+<script src="/resources/testdriver-vendor.js"></script>
+<script src="/common/utils.js"></script>
+<script src="stash.js"></script>
+
+<script>
+ promise_test(t => new Promise((resolve, reject) => {
+ let key = token();
+ test_driver.bless('Open a URL with a text fragment directive', () => {
+ window.open(`scroll-to-text-fragment-scroll-to-center-target.html?key=${key}#:~:text=Scroll`, "_blank", "noopener");
+
+ fetchResults(key, resolve, reject);
+ })
+ }).then(data => {
+ assert_false(data.hasScrolled, "Expected text directive to be scrolled to.");
+ })
+ );
+</script>
diff --git a/tests/wpt/tests/scroll-to-text-fragment/scroll-to-text-fragment-target.html b/tests/wpt/tests/scroll-to-text-fragment/scroll-to-text-fragment-target.html
index b2be85132cb..3bf78f16001 100644
--- a/tests/wpt/tests/scroll-to-text-fragment/scroll-to-text-fragment-target.html
+++ b/tests/wpt/tests/scroll-to-text-fragment/scroll-to-text-fragment-target.html
@@ -1,6 +1,7 @@
<!doctype html>
<title>Navigating to a text fragment anchor</title>
<script src="stash.js"></script>
+<meta name="viewport" content="width=device-width,initial-scale=1">
<script>
function isInView(element) {
let rect = element.getBoundingClientRect();
diff --git a/tests/wpt/tests/scroll-to-text-fragment/scroll-to-text-fragment.html b/tests/wpt/tests/scroll-to-text-fragment/scroll-to-text-fragment.html
index 91f282f849f..2dbd575bcbb 100644
--- a/tests/wpt/tests/scroll-to-text-fragment/scroll-to-text-fragment.html
+++ b/tests/wpt/tests/scroll-to-text-fragment/scroll-to-text-fragment.html
@@ -234,6 +234,11 @@ let test_cases = [
fragment: '#:~:text=horizontally%20scrolled%20text',
expect_position: 'horizontal-scroll',
description: 'Text directive should horizontally scroll into view'
+ },
+ {
+ fragment: '#:~:text=Element,This',
+ expect_position: 'element',
+ description: 'Text directive that spans a range larger than the viewport should scroll the start into view'
}
];
diff --git a/tests/wpt/tests/scroll-to-text-fragment/sequential-focus.html b/tests/wpt/tests/scroll-to-text-fragment/sequential-focus.html
new file mode 100644
index 00000000000..30b467f1ecd
--- /dev/null
+++ b/tests/wpt/tests/scroll-to-text-fragment/sequential-focus.html
@@ -0,0 +1,45 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+ <meta charset="UTF-8">
+ <title>Text Fragments Test</title>
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/resources/testdriver.js"></script>
+ <script src="/resources/testdriver-vendor.js"></script>
+</head>
+<body>
+ <!--
+ The document performs a same-document navigation, which contains the text fragment 'foo'.
+ 'foo' is inside of a <a> element. If it were focused, hitting `Enter` would
+ directly navigate to its href, which is not intended.
+ Instead, it should only have the sequential focus, ie. pressing `Tab` would focus the next
+ focusable element.
+ -->
+ <a href="#" id="link">foo</a>
+ <button id="next-button">Next Focusable Element</button>
+ <script>
+ // Define the test for text fragment focus behavior
+ promise_test(async t => {
+ const link = document.getElementById('link');
+ const nextButton = document.getElementById('next-button');
+
+ window.addEventListener('hashchange', async () => {
+ // Assert that the link element does not have focus initially
+ assert_not_equals(document.activeElement, link, 'Link element should not have focus initially');
+
+ // Simulate pressing TAB to shift focus to the next element
+ await test_driver.send_keys(document.body, '\uE004'); // '\uE004' is the WebDriver key code for TAB
+
+ // Assert that the next focusable element (button) has focus
+ assert_equals(document.activeElement, nextButton, 'Next focusable element should have focus after pressing TAB');
+
+ t.done();
+ });
+
+ // Simulate a same-document load to the text fragment
+ location.hash = '#some-hash-to-trigger-hashchange:~:text=foo';
+ }, 'Text Fragment focus behavior');
+ </script>
+</body>
+</html>
diff --git a/tests/wpt/tests/selection/crashtests/selection-modify-line-from-contenteditable-to-textarea.html b/tests/wpt/tests/selection/crashtests/selection-modify-line-from-contenteditable-to-textarea.html
new file mode 100644
index 00000000000..41d377a9a60
--- /dev/null
+++ b/tests/wpt/tests/selection/crashtests/selection-modify-line-from-contenteditable-to-textarea.html
@@ -0,0 +1,35 @@
+<!doctype html>
+<html>
+<meta charset="utf-8">
+<style>
+:first-child {
+ display: table-header-group;
+ margin-right: 10px;
+}
+</style>
+<script>
+"use strict";
+
+addEventListener("DOMContentLoaded", () => {
+ const editingHost = document.querySelector("span[contenteditable]");
+ getSelection().collapse(editingHost, 0);
+ editingHost.blur();
+});
+
+function onfocusout() {
+ const selection = getSelection();
+ const range = selection.getRangeAt(0);
+ selection.modify("move", "left", "line");
+ selection.addRange(range);
+ document.execCommand("hiliteColor", false, "#5343B4");
+}
+</script>
+<body>
+<canvas> width="7"></canvas>
+<textarea>AAA</textarea>
+<fieldset onfocusout="onfocusout()">
+<span contenteditable>
+</span>
+</fieldset>
+</body>
+</html>
diff --git a/tests/wpt/tests/shadow-dom/focus-navigation/reading-flow/tentative/grid-order-pseudo-elements.html b/tests/wpt/tests/shadow-dom/focus-navigation/reading-flow/tentative/grid-order-pseudo-elements.html
new file mode 100644
index 00000000000..16bce77272a
--- /dev/null
+++ b/tests/wpt/tests/shadow-dom/focus-navigation/reading-flow/tentative/grid-order-pseudo-elements.html
@@ -0,0 +1,40 @@
+<!DOCTYPE html>
+<meta charset="utf-8">
+<meta name="timeout" content="long">
+<title>CSS Display: reading-flow with value grid-order and pseudo elements</title>
+<link rel="help" href="https://drafts.csswg.org/css-display-4/#reading-flow">
+<link rel="author" title="Di Zhang" href="mailto:dizhangg@chromium.org">
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<script src="/resources/testdriver.js"></script>
+<script src="/resources/testdriver-vendor.js"></script>
+<script src="/resources/testdriver-actions.js"></script>
+<script src='../../resources/shadow-dom.js'></script>
+<script src="../../resources/focus-utils.js"></script>
+
+<style>
+.wrapper {
+ display: grid;
+ reading-flow: grid-order;
+}
+.wrapper::before {
+ content: "A";
+ order: 4;
+}
+.wrapper::after {
+ content: "Z";
+ order: 2;
+}
+</style>
+
+<div class="test-case" data-expect="o1,o3"
+ data-description="Grid pseudo items are not focusable">
+ <div class="wrapper" id="wrapper">
+ <button id="o3" style="order: 3">Item 3</button>
+ <button id="o1" style="order: 1">Item 1</button>
+ </div>
+</div>
+
+<script>
+runFocusTestCases();
+</script> \ No newline at end of file
diff --git a/tests/wpt/tests/storage-access-api/hasStorageAccess-ABA.tentative.sub.https.window.js b/tests/wpt/tests/storage-access-api/hasStorageAccess-ABA.sub.https.window.js
index 8fa4122fbbb..8fa4122fbbb 100644
--- a/tests/wpt/tests/storage-access-api/hasStorageAccess-ABA.tentative.sub.https.window.js
+++ b/tests/wpt/tests/storage-access-api/hasStorageAccess-ABA.sub.https.window.js
diff --git a/tests/wpt/tests/storage-access-api/helpers.js b/tests/wpt/tests/storage-access-api/helpers.js
index 416c4a401ef..7a476805135 100644
--- a/tests/wpt/tests/storage-access-api/helpers.js
+++ b/tests/wpt/tests/storage-access-api/helpers.js
@@ -29,8 +29,13 @@ async function CreateFrameHelper(setUpFrame, fetchTests) {
// Create an iframe element with content loaded from `sourceURL`, append it to
// the document, and optionally fetch tests. Returns the loaded frame, once
// ready.
-function CreateFrame(sourceURL, fetchTests = false) {
+function CreateFrame(
+ sourceURL, fetchTests = false, frameSandboxAttribute = undefined) {
return CreateFrameHelper((frame) => {
+ if (frameSandboxAttribute !== undefined) {
+ frame.sandbox = frameSandboxAttribute;
+ }
+
frame.src = sourceURL;
document.body.appendChild(frame);
}, fetchTests);
@@ -38,8 +43,8 @@ function CreateFrame(sourceURL, fetchTests = false) {
// Create a new iframe with content loaded from `sourceURL`, and fetches tests.
// Returns the loaded frame, once ready.
-function RunTestsInIFrame(sourceURL) {
- return CreateFrame(sourceURL, true);
+function RunTestsInIFrame(sourceURL, frameSandboxAttribute = undefined) {
+ return CreateFrame(sourceURL, true, frameSandboxAttribute);
}
function RunTestsInNestedIFrame(sourceURL) {
diff --git a/tests/wpt/tests/storage-access-api/requestStorageAccess-ABA.tentative.sub.https.window.js b/tests/wpt/tests/storage-access-api/requestStorageAccess-ABA.sub.https.window.js
index 428053f3e56..428053f3e56 100644
--- a/tests/wpt/tests/storage-access-api/requestStorageAccess-ABA.tentative.sub.https.window.js
+++ b/tests/wpt/tests/storage-access-api/requestStorageAccess-ABA.sub.https.window.js
diff --git a/tests/wpt/tests/storage-access-api/requestStorageAccess-cross-origin-iframe-navigation-relax.tentative.sub.https.window.js b/tests/wpt/tests/storage-access-api/requestStorageAccess-cross-origin-iframe-navigation-relax.sub.https.window.js
index 7ccb9824e69..7ccb9824e69 100644
--- a/tests/wpt/tests/storage-access-api/requestStorageAccess-cross-origin-iframe-navigation-relax.tentative.sub.https.window.js
+++ b/tests/wpt/tests/storage-access-api/requestStorageAccess-cross-origin-iframe-navigation-relax.sub.https.window.js
diff --git a/tests/wpt/tests/storage-access-api/requestStorageAccess-dedicated-worker.tentative.sub.https.window.js b/tests/wpt/tests/storage-access-api/requestStorageAccess-dedicated-worker.sub.https.window.js
index 5c3089bf347..5c3089bf347 100644
--- a/tests/wpt/tests/storage-access-api/requestStorageAccess-dedicated-worker.tentative.sub.https.window.js
+++ b/tests/wpt/tests/storage-access-api/requestStorageAccess-dedicated-worker.sub.https.window.js
diff --git a/tests/wpt/tests/storage-access-api/requestStorageAccess-sandboxed-iframe-allow-storage-access.sub.https.window.js b/tests/wpt/tests/storage-access-api/requestStorageAccess-sandboxed-iframe-allow-storage-access.sub.https.window.js
new file mode 100644
index 00000000000..a631b981a64
--- /dev/null
+++ b/tests/wpt/tests/storage-access-api/requestStorageAccess-sandboxed-iframe-allow-storage-access.sub.https.window.js
@@ -0,0 +1,29 @@
+// META: script=helpers.js
+// META: script=/resources/testdriver.js
+// META: script=/resources/testdriver-vendor.js
+'use strict';
+
+test(() => {
+ let iframe = document.createElement('iframe');
+ assert_true(iframe.sandbox.supports('allow-storage-access-by-user-activation'), '`allow-storage-access-by-user-activation`' +
+ 'sandbox attribute should be supported');
+}, "`allow-storage-access-by-user-activation` sandbox attribute is supported");
+
+(async function () {
+ const frameSourceUrl = 'https://{{hosts[alt][www]}}:{{ports[https][0]}}/storage-access-api/requestStorageAccess-sandboxed-iframe.sub.https.window.html';
+
+ let sandboxAttribute =
+ 'allow-scripts allow-same-origin';
+ let testCase = 'sandboxed-iframe';
+
+ RunTestsInIFrame(
+ frameSourceUrl + `?testCase=${testCase}`,
+ sandboxAttribute);
+
+ sandboxAttribute += ' allow-storage-access-by-user-activation';
+ testCase = 'sandboxed-iframe-allow-storage-access-by-user-activation';
+
+ RunTestsInIFrame(
+ frameSourceUrl + `?testCase=${testCase}`,
+ sandboxAttribute);
+})();
diff --git a/tests/wpt/tests/storage-access-api/requestStorageAccess-sandboxed-iframe.sub.https.window.js b/tests/wpt/tests/storage-access-api/requestStorageAccess-sandboxed-iframe.sub.https.window.js
new file mode 100644
index 00000000000..e32a29601b3
--- /dev/null
+++ b/tests/wpt/tests/storage-access-api/requestStorageAccess-sandboxed-iframe.sub.https.window.js
@@ -0,0 +1,82 @@
+// META: script=helpers.js
+// META: script=/cookies/resources/cookie-helper.sub.js
+// META: script=/resources/testdriver.js
+// META: script=/resources/testdriver-vendor.js
+'use strict';
+
+// Document-level test config flags:
+//
+// testPrefix: Prefix each test case with an indicator so we know what context
+// they are run in if they are used in multiple iframes.
+//
+// topLevelDocument: Keep track of if we run these tests in a nested context, we
+// don't want to recurse forever.
+const {testPrefix, topLevelDocument} = processQueryParams();
+
+promise_test(async () => {
+ assert_not_equals(document.requestStorageAccess, undefined);
+}, `[${testPrefix}] document.requestStorageAccess() should exist on the document interface`);
+
+// Skip these tests when we're in a top-level document; these should only
+// execute inside the iframe test defined by
+// requestStorageAccess-sandboxed-iframe-*.sub.https.window.js
+if (!topLevelDocument) {
+ if (testPrefix.includes('allow-storage-access-by-user-activation')) {
+ // Ideally this would check whether the user-activation condition changes
+ // the behavior; however, due to limitations in the test driver, the
+ // 'prompt' permission state is effectively the same as 'denied' from the
+ // perspective of platform tests.
+ promise_test(async t => {
+ await test_driver.set_permission({name: 'storage-access'}, 'granted');
+ await MaybeSetStorageAccess('*', '*', 'blocked');
+ await document.requestStorageAccess();
+
+ assert_true(
+ await CanAccessCookiesViaHTTP(),
+ 'After obtaining storage access, subresource requests from the frame should send and set cookies.');
+ assert_true(
+ CanAccessCookiesViaJS(),
+ 'After obtaining storage access, scripts in the frame should be able to access cookies.');
+ }, `[${testPrefix}] document.requestStorageAccess() should resolve even without a user gesture when already granted.`);
+
+ promise_test(async () => {
+ await test_driver.set_permission({ name: 'storage-access' }, 'granted');
+ await MaybeSetStorageAccess('*', '*', 'blocked');
+
+ await RunCallbackWithGesture(async () => {
+ await document.requestStorageAccess();
+ });
+
+ assert_true(
+ await CanAccessCookiesViaHTTP(),
+ 'After obtaining storage access, subresource requests from the frame should send and set cookies.');
+ assert_true(
+ CanAccessCookiesViaJS(),
+ 'After obtaining storage access, scripts in the frame should be able to access cookies.');
+ }, `[${testPrefix}] document.requestStorageAccess() should resolve with a user gesture`);
+ } else {
+ // For cases where allow-storage-access-by-user-activation is not set for
+ // this iframe
+ promise_test(
+ async t => {
+ await test_driver.set_permission({name: 'storage-access'}, 'granted');
+ await MaybeSetStorageAccess('*', '*', 'blocked');
+ return promise_rejects_dom(
+ t, 'NotAllowedError', document.requestStorageAccess(),
+ 'document.requestStorageAccess() call without user gesture.');
+ },
+ '[' + testPrefix +
+ '] document.requestStorageAccess() should reject with a NotAllowedError with no user gesture.');
+
+ promise_test(async t => {
+ await test_driver.set_permission({name: 'storage-access'}, 'granted');
+ await MaybeSetStorageAccess('*', '*', 'blocked');
+
+ await RunCallbackWithGesture(async () => {
+ await promise_rejects_dom(
+ t, 'NotAllowedError', document.requestStorageAccess(),
+ 'document.requestStorageAccess() call with user gesture.');
+ });
+ }, `[${testPrefix}] document.requestStorageAccess() should reject with a NotAllowedError, even with a user gesture`);
+ }
+}
diff --git a/tests/wpt/tests/storage-access-api/requestStorageAccess-web-socket.tentative.sub.https.window.js b/tests/wpt/tests/storage-access-api/requestStorageAccess-web-socket.sub.https.window.js
index bc323bd95a0..bc323bd95a0 100644
--- a/tests/wpt/tests/storage-access-api/requestStorageAccess-web-socket.tentative.sub.https.window.js
+++ b/tests/wpt/tests/storage-access-api/requestStorageAccess-web-socket.sub.https.window.js
diff --git a/tests/wpt/tests/storage-access-api/resources/embedded_responder.js b/tests/wpt/tests/storage-access-api/resources/embedded_responder.js
index 3cca86154af..15ba640a1e5 100644
--- a/tests/wpt/tests/storage-access-api/resources/embedded_responder.js
+++ b/tests/wpt/tests/storage-access-api/resources/embedded_responder.js
@@ -95,3 +95,9 @@ window.addEventListener("message", async (event) => {
default:
}
});
+
+// The document that loads this script will define `should_ack_load` based on
+// the query parameters it received from the test.
+if (should_ack_load) {
+ parent.postMessage('loaded', '*');
+}
diff --git a/tests/wpt/tests/storage-access-api/resources/script-with-cookie-header.py b/tests/wpt/tests/storage-access-api/resources/script-with-cookie-header.py
index ae95b7593fb..2237bba4635 100644
--- a/tests/wpt/tests/storage-access-api/resources/script-with-cookie-header.py
+++ b/tests/wpt/tests/storage-access-api/resources/script-with-cookie-header.py
@@ -1,5 +1,16 @@
def main(request, response):
script = request.GET.first(b"script")
+
+ # Some, but not all, urls will send a query parameter indicating their
+ # script will want to postMessage the parent to ack that it has loaded.
+ should_ack_load = b"false"
+ try:
+ # The call to request.GET.first will fail if the parameter isn't present,
+ # that's ok.
+ if request.GET.first(b"should_ack_load") == b"true":
+ should_ack_load = b"true"
+ except:
+ pass
cookie_header = request.headers.get(b"Cookie", b"")
body = b"""
@@ -11,12 +22,13 @@ def main(request, response):
<script src="/resources/testdriver-vendor.js"></script>
<script>
var httpCookies = "%s";
+ var should_ack_load = %s;
</script>
<body>
<script src="%s"></script>
</body>
- """ % (cookie_header, script)
+ """ % (cookie_header, should_ack_load, script)
return (200, [], body)
diff --git a/tests/wpt/tests/storage-access-api/sandboxAttribute.window.js b/tests/wpt/tests/storage-access-api/sandboxAttribute.window.js
deleted file mode 100644
index de79cd07a9c..00000000000
--- a/tests/wpt/tests/storage-access-api/sandboxAttribute.window.js
+++ /dev/null
@@ -1,7 +0,0 @@
-'use strict';
-
-test(() => {
- let iframe = document.createElement('iframe');
- assert_true(iframe.sandbox.supports('allow-storage-access-by-user-activation'), '`allow-storage-access-by-user-activation`' +
- 'sandbox attribute should be supported');
-}, "`allow-storage-access-by-user-activation` sandbox attribute is supported");
diff --git a/tests/wpt/tests/storage-access-api/storage-access-permission.sub.https.window.js b/tests/wpt/tests/storage-access-api/storage-access-permission.sub.https.window.js
index f0aadf4828d..56a5425722e 100644
--- a/tests/wpt/tests/storage-access-api/storage-access-permission.sub.https.window.js
+++ b/tests/wpt/tests/storage-access-api/storage-access-permission.sub.https.window.js
@@ -7,15 +7,28 @@
// These are cross-domain from the current document.
const wwwAlt = "https://{{hosts[alt][www]}}:{{ports[https][0]}}";
const www1Alt = "https://{{hosts[alt][www1]}}:{{ports[https][0]}}";
- const responder_html = "/storage-access-api/resources/script-with-cookie-header.py?script=embedded_responder.js";
+ const responder_html_load_ack = "/storage-access-api/resources/script-with-cookie-header.py?script=embedded_responder.js&should_ack_load=true";
if (window === window.top) {
// Test the interaction between two (same-origin) iframes.
promise_test(async (t) => {
- const [frame1, frame2] = await Promise.all([
- CreateFrame(wwwAlt + responder_html),
- CreateFrame(wwwAlt + responder_html),
- ]);
+ // Note: the web platform doesn't guarantee that each iframe has finished
+ // loading (and executing its script) by the time the CreateFrame promise
+ // resolves. Therefore the script will signal the parent when it's loaded
+ // and safe to proceed. Without this extra synchronization, frames can
+ // miss messages that are essential to the test, and cause the test to
+ // timeout.
+ const frame1_loaded = new Promise(r => {
+ onmessage = e => r(e.data);
+ });
+ const frame1 = await CreateFrame(wwwAlt + responder_html_load_ack);
+ assert_equals(await frame1_loaded, "loaded");
+
+ const frame2_loaded = new Promise(r => {
+ onmessage = e => r(e.data);
+ });
+ const frame2 = await CreateFrame(www1Alt + responder_html_load_ack);
+ assert_equals(await frame2_loaded, "loaded");
t.add_cleanup(async () => {
await SetPermissionInFrame(frame1, [{ name: 'storage-access' }, 'prompt']);
@@ -26,14 +39,26 @@
const state = await observed;
assert_equals(state, "granted");
- }, "Permissions grants are observable across same-origin iframes");
+ }, 'Permissions grants are observable across same-origin iframes');
- // Test the interaction between two cross-origin but same-site iframes.
promise_test(async (t) => {
- const [frame1, frame2] = await Promise.all([
- CreateFrame(wwwAlt + responder_html),
- CreateFrame(www1Alt + responder_html),
- ]);
+ // Note: the web platform doesn't guarantee that each iframe has finished
+ // loading (and executing its script) by the time the CreateFrame promise
+ // resolves. Therefore the script will signal the parent when it's loaded
+ // and safe to proceed. Without this extra synchronization, frames can
+ // miss messages that are essential to the test, and cause the test to
+ // timeout.
+ const frame1_loaded = new Promise(r => {
+ onmessage = e => r(e.data);
+ });
+ const frame1 = await CreateFrame(wwwAlt + responder_html_load_ack);
+ assert_equals(await frame1_loaded, "loaded");
+
+ const frame2_loaded = new Promise(r => {
+ onmessage = e => r(e.data);
+ });
+ const frame2 = await CreateFrame(www1Alt + responder_html_load_ack);
+ assert_equals(await frame2_loaded, "loaded");
t.add_cleanup(async () => {
await SetPermissionInFrame(frame1, [{ name: 'storage-access' }, 'prompt']);
diff --git a/tests/wpt/tests/svg/embedded/image-modify-href-1.svg b/tests/wpt/tests/svg/embedded/image-modify-href-1.svg
new file mode 100644
index 00000000000..20bc1567eaf
--- /dev/null
+++ b/tests/wpt/tests/svg/embedded/image-modify-href-1.svg
@@ -0,0 +1,30 @@
+<svg xmlns="http://www.w3.org/2000/svg"
+ xmlns:h="http://www.w3.org/1999/xhtml" viewBox="0 0 4 4" width="200" height="200" class="reftest-wait">
+ <metadata>
+ <title>modifying href on an SVG image</title>
+ <h:link rel="match" href="reference/green-rect-100x100.svg"/>
+ </metadata>
+ <script href="/common/reftest-wait.js"></script>
+ <script href="/common/rendering-utils.js"></script>
+ <image width="2" height="2" onload="test()"
+ href="data:image/svg+xml,&lt;svg xmlns='http://www.w3.org/2000/svg' width='50' height='50' &gt;&lt;rect width='50' height='50' fill='red'/&gt;&lt;/svg&gt;"/>
+ <script>
+ const GREEN_DATA_URI = "data:image/svg+xml,&lt;svg xmlns='http://www.w3.org/2000/svg' width='50' height='50' &gt;&lt;rect width='50' height='50' fill='green'/&gt;&lt;/svg&gt;";
+
+ // Our 'image' elem fires its load event more than once: first for the
+ // initial data-URI, and then again after our dynamic mutation adjusts it.
+ // But we only want test() to run for the first load, so we use
+ // 'didStartTest' to nerf any invocations after the first.
+ let didStartTest = false;
+ async function test() {
+ if (didStartTest) {
+ return;
+ }
+ didStartTest = true;
+ await waitForAtLeastOneFrame();
+ document.querySelector('image').setAttribute('href', GREEN_DATA_URI);
+ await waitForAtLeastOneFrame();
+ takeScreenshot();
+ }
+ </script>
+</svg>
diff --git a/tests/wpt/tests/svg/embedded/image-modify-href-2.svg b/tests/wpt/tests/svg/embedded/image-modify-href-2.svg
new file mode 100644
index 00000000000..0b028ce188d
--- /dev/null
+++ b/tests/wpt/tests/svg/embedded/image-modify-href-2.svg
@@ -0,0 +1,38 @@
+<svg xmlns="http://www.w3.org/2000/svg"
+ xmlns:xlink="http://www.w3.org/1999/xlink"
+ xmlns:h="http://www.w3.org/1999/xhtml" viewBox="0 0 4 4" width="200" height="200" class="reftest-wait">
+ <metadata>
+ <title>removing href from an SVG image that has a modified xlink:href</title>
+ <h:link rel="match" href="reference/green-rect-100x100.svg"/>
+ </metadata>
+ <script href="/common/reftest-wait.js"></script>
+ <script href="/common/rendering-utils.js"></script>
+ <image width="2" onload="test()"
+ href="data:image/svg+xml,&lt;svg xmlns='http://www.w3.org/2000/svg' width='50' height='50' &gt;&lt;rect width='50' height='50' fill='red'/&gt;&lt;/svg&gt;"
+ xlink:href="data:image/svg+xml,&lt;svg xmlns='http://www.w3.org/2000/svg' width='50' height='50' &gt;&lt;rect width='50' height='50' fill='orange'/&gt;&lt;/svg&gt;"/>
+ <script>
+ const XLINK_NS = "http://www.w3.org/1999/xlink";
+ const GREEN_DATA_URI = "data:image/svg+xml,&lt;svg xmlns='http://www.w3.org/2000/svg' width='50' height='50' &gt;&lt;rect width='50' height='50' fill='green'/&gt;&lt;/svg&gt;";
+ // Our 'image' elem fires its load event twice: first for its 'href'
+ // data-URI, and then again for its 'xlink:href' data-URI (after
+ // our dynamic attribute-removal makes it switch to load that one).
+ // But we only want test() to run for the first load, so we use
+ // 'didStartTest' to nerf any invocations after the first.
+ let didStartTest = false;
+ async function test() {
+ if (didStartTest) {
+ return;
+ }
+ didStartTest = true;
+ await waitForAtLeastOneFrame();
+ let image = document.querySelector('image');
+ image.setAttributeNS(XLINK_NS, 'href', GREEN_DATA_URI);
+ await waitForAtLeastOneFrame();
+ image.removeAttribute('href');
+
+ /* Note: the xlink:href attribute should be left behind, intact. */
+ await waitForAtLeastOneFrame();
+ takeScreenshot();
+ }
+ </script>
+</svg>
diff --git a/tests/wpt/tests/svg/embedded/image-modify-href-3.svg b/tests/wpt/tests/svg/embedded/image-modify-href-3.svg
new file mode 100644
index 00000000000..533a28ebb2b
--- /dev/null
+++ b/tests/wpt/tests/svg/embedded/image-modify-href-3.svg
@@ -0,0 +1,33 @@
+<svg xmlns="http://www.w3.org/2000/svg"
+ xmlns:xlink="http://www.w3.org/1999/xlink"
+ xmlns:h="http://www.w3.org/1999/xhtml" viewBox="0 0 4 4" width="200" height="200" class="reftest-wait">
+ <metadata>
+ <title>modifying xlink:href on an SVG image</title>
+ <h:link rel="match" href="reference/green-rect-100x100.svg"/>
+ </metadata>
+ <script href="/common/reftest-wait.js"></script>
+ <script href="/common/rendering-utils.js"></script>
+ <image width="2" height="2" onload="test()"
+ xlink:href="data:image/svg+xml,&lt;svg xmlns='http://www.w3.org/2000/svg' width='50' height='50' &gt;&lt;rect width='50' height='50' fill='red'/&gt;&lt;/svg&gt;"/>
+ <script>
+ const XLINK_NS = "http://www.w3.org/1999/xlink";
+ const GREEN_DATA_URI = "data:image/svg+xml,&lt;svg xmlns='http://www.w3.org/2000/svg' width='50' height='50' &gt;&lt;rect width='50' height='50' fill='green'/&gt;&lt;/svg&gt;";
+
+ // Our 'image' elem fires its load event more than once: first for the
+ // initial data-URI, and then again after our dynamic mutation adjusts it.
+ // But we only want test() to run for the first load, so we use
+ // 'didStartTest' to nerf any invocations after the first.
+ let didStartTest = false;
+ async function test() {
+ if (didStartTest) {
+ return;
+ }
+ didStartTest = true;
+ await waitForAtLeastOneFrame();
+ document.querySelector('image').setAttributeNS(XLINK_NS, 'href',
+ GREEN_DATA_URI);
+ await waitForAtLeastOneFrame();
+ takeScreenshot();
+ }
+ </script>
+</svg>
diff --git a/tests/wpt/tests/svg/embedded/image-remove-href-1.svg b/tests/wpt/tests/svg/embedded/image-remove-href-1.svg
new file mode 100644
index 00000000000..f35fa08f561
--- /dev/null
+++ b/tests/wpt/tests/svg/embedded/image-remove-href-1.svg
@@ -0,0 +1,20 @@
+<svg xmlns="http://www.w3.org/2000/svg"
+ xmlns:h="http://www.w3.org/1999/xhtml" viewBox="0 0 4 4" width="200" height="200" class="reftest-wait">
+ <metadata>
+ <title>removing href from an SVG image</title>
+ <h:link rel="match" href="reference/green-rect-100x100.svg"/>
+ </metadata>
+ <script href="/common/reftest-wait.js"></script>
+ <script href="/common/rendering-utils.js"></script>
+ <rect width="2" height="2" fill="green"/>
+ <image width="2" height="2" onload="test()"
+ href="data:image/svg+xml,&lt;svg xmlns='http://www.w3.org/2000/svg' width='50' height='50' &gt;&lt;rect width='50' height='50' fill='red'/&gt;&lt;/svg&gt;"/>
+ <script>
+ async function test() {
+ await waitForAtLeastOneFrame();
+ document.querySelector('image').removeAttribute('href');
+ await waitForAtLeastOneFrame();
+ takeScreenshot();
+ }
+ </script>
+</svg>
diff --git a/tests/wpt/tests/svg/embedded/image-remove-href-2.svg b/tests/wpt/tests/svg/embedded/image-remove-href-2.svg
new file mode 100644
index 00000000000..7db8454f3b6
--- /dev/null
+++ b/tests/wpt/tests/svg/embedded/image-remove-href-2.svg
@@ -0,0 +1,31 @@
+<svg xmlns="http://www.w3.org/2000/svg"
+ xmlns:xlink="http://www.w3.org/1999/xlink"
+ xmlns:h="http://www.w3.org/1999/xhtml" viewBox="0 0 4 4" width="200" height="200" class="reftest-wait">
+ <metadata>
+ <title>removing href from an SVG image that has an xlink:href</title>
+ <h:link rel="match" href="reference/green-rect-100x100.svg"/>
+ </metadata>
+ <script href="/common/reftest-wait.js"></script>
+ <script href="/common/rendering-utils.js"></script>
+ <image width="2" onload="test()"
+ href="data:image/svg+xml,&lt;svg xmlns='http://www.w3.org/2000/svg' width='50' height='50' &gt;&lt;rect width='50' height='50' fill='red'/&gt;&lt;/svg&gt;"
+ xlink:href="data:image/svg+xml,&lt;svg xmlns='http://www.w3.org/2000/svg' width='50' height='50' &gt;&lt;rect width='50' height='50' fill='green'/&gt;&lt;/svg&gt;"/>
+ <script>
+ // Our 'image' elem fires its load event twice: first for its 'href'
+ // data-URI, and then again for its 'xlink:href' data-URI (after
+ // our dynamic attribute-removal makes it switch to load that one).
+ // But we only want test() to run for the first load, so we use
+ // 'didStartTest' to nerf any invocations after the first.
+ let didStartTest = false;
+ async function test() {
+ if (didStartTest) {
+ return;
+ }
+ didStartTest = true;
+ await waitForAtLeastOneFrame();
+ document.querySelector('image').removeAttribute('href');
+ await waitForAtLeastOneFrame();
+ takeScreenshot();
+ }
+ </script>
+</svg>
diff --git a/tests/wpt/tests/svg/embedded/image-remove-href-3.svg b/tests/wpt/tests/svg/embedded/image-remove-href-3.svg
new file mode 100644
index 00000000000..885a3baa6e9
--- /dev/null
+++ b/tests/wpt/tests/svg/embedded/image-remove-href-3.svg
@@ -0,0 +1,22 @@
+<svg xmlns="http://www.w3.org/2000/svg"
+ xmlns:xlink="http://www.w3.org/1999/xlink"
+ xmlns:h="http://www.w3.org/1999/xhtml" viewBox="0 0 4 4" width="200" height="200" class="reftest-wait">
+ <metadata>
+ <title>removing xlink:href from an SVG image</title>
+ <h:link rel="match" href="reference/green-rect-100x100.svg"/>
+ </metadata>
+ <script href="/common/reftest-wait.js"></script>
+ <script href="/common/rendering-utils.js"></script>
+ <rect width="2" height="2" fill="green"/>
+ <image width="2" height="2" onload="test()"
+ xlink:href="data:image/svg+xml,&lt;svg xmlns='http://www.w3.org/2000/svg' width='50' height='50' &gt;&lt;rect width='50' height='50' fill='red'/&gt;&lt;/svg&gt;"/>
+ <script>
+ const XLINK_NS = "http://www.w3.org/1999/xlink";
+ async function test() {
+ await waitForAtLeastOneFrame();
+ document.querySelector('image').removeAttributeNS(XLINK_NS, 'href');
+ await waitForAtLeastOneFrame();
+ takeScreenshot();
+ }
+ </script>
+</svg>
diff --git a/tests/wpt/tests/svg/path/property/d-none-expected.svg b/tests/wpt/tests/svg/path/property/d-none-expected.svg
new file mode 100644
index 00000000000..60195b1777f
--- /dev/null
+++ b/tests/wpt/tests/svg/path/property/d-none-expected.svg
@@ -0,0 +1,4 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<svg xmlns="http://www.w3.org/2000/svg">
+ <path d="M 0 0 H 100 V 100 H 0 Z" fill="green" />
+</svg>
diff --git a/tests/wpt/tests/svg/path/property/d-none-ref.svg b/tests/wpt/tests/svg/path/property/d-none-ref.svg
new file mode 100644
index 00000000000..60195b1777f
--- /dev/null
+++ b/tests/wpt/tests/svg/path/property/d-none-ref.svg
@@ -0,0 +1,4 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<svg xmlns="http://www.w3.org/2000/svg">
+ <path d="M 0 0 H 100 V 100 H 0 Z" fill="green" />
+</svg>
diff --git a/tests/wpt/tests/svg/path/property/d-none.svg b/tests/wpt/tests/svg/path/property/d-none.svg
new file mode 100644
index 00000000000..6f82a06a0d7
--- /dev/null
+++ b/tests/wpt/tests/svg/path/property/d-none.svg
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<svg xmlns="http://www.w3.org/2000/svg"
+ xmlns:h="http://www.w3.org/1999/xhtml">
+ <metadata>
+ <h:link rel="help" href="https://svgwg.org/svg2-draft/paths.html#TheDProperty"/>
+ <h:link rel="match" href="d-none-ref.svg"/>
+ <h:meta name="assert" content="Setting 'd: none' overrides the 'd' SVG attribute."/>
+ </metadata>
+ <path d="M 0 0 H 100 V 100 H 0 Z" fill="green" />
+ <path d="M 0 0 H 100 V 100 H 0 Z" fill="red" style="d: none" />
+</svg>
diff --git a/tests/wpt/tests/svg/text/reftests/text-bidi-controls-anchors-1-ref.svg b/tests/wpt/tests/svg/text/reftests/text-bidi-controls-anchors-1-ref.svg
new file mode 100644
index 00000000000..45c955b2b9f
--- /dev/null
+++ b/tests/wpt/tests/svg/text/reftests/text-bidi-controls-anchors-1-ref.svg
@@ -0,0 +1,36 @@
+<?xml version="1.0" encoding="utf-8"?>
+<svg width="400" height="400" xmlns="http://www.w3.org/2000/svg" xmlns:html="http://www.w3.org/1999/xhtml">
+ <title>Text anchors and bidi control characters</title>
+ <html:link rel="author" title="Jonathan Kew" href="mailto:jkew@mozilla.com"/>
+ <g font-family="Arial, sans-serif" font-size="12px">
+ <line x1="200" y1="20" x2="200" y2="320" stroke="black" stroke-width="0.5"/>
+
+ <text x="200" y="40" style="fill: red" text-anchor="start">Start Anchor</text>
+ <text x="200" y="50" style="fill: green" text-anchor="middle">Middle Anchor</text>
+ <text x="200" y="60" style="fill: blue" text-anchor="end">End Anchor</text>
+
+ <text x="200" y="80" style="fill: red" text-anchor="start">Start Anchor</text>
+ <text x="200" y="90" style="fill: green" text-anchor="middle">Middle Anchor</text>
+ <text x="200" y="100" style="fill: blue" text-anchor="end">End Anchor</text>
+
+ <text x="200" y="120" style="fill: red" text-anchor="start">Start Anchor</text>
+ <text x="200" y="130" style="fill: green" text-anchor="middle">Middle Anchor</text>
+ <text x="200" y="140" style="fill: blue" text-anchor="end">End Anchor</text>
+
+ <text x="200" y="160" style="fill: red" text-anchor="start">Start Anchor</text>
+ <text x="200" y="170" style="fill: green" text-anchor="middle">Middle Anchor</text>
+ <text x="200" y="180" style="fill: blue" text-anchor="end">End Anchor</text>
+
+ <text x="200" y="200" style="fill: red" text-anchor="start">rohcnA tratS</text>
+ <text x="200" y="210" style="fill: green" text-anchor="middle">rohcnA elddiM</text>
+ <text x="200" y="220" style="fill: blue" text-anchor="end">rohcnA dnE</text>
+
+ <text x="200" y="240" style="fill: red" text-anchor="start">tratS Anchor</text>
+ <text x="200" y="250" style="fill: green" text-anchor="middle">elddiM Anchor</text>
+ <text x="200" y="260" style="fill: blue" text-anchor="end">dnE Anchor</text>
+
+ <text x="200" y="280" style="fill: red" text-anchor="start">Start rohcnA</text>
+ <text x="200" y="290" style="fill: green" text-anchor="middle">Middle rohcnA</text>
+ <text x="200" y="300" style="fill: blue" text-anchor="end">End rohcnA</text>
+ </g>
+</svg>
diff --git a/tests/wpt/tests/svg/text/reftests/text-bidi-controls-anchors-1.svg b/tests/wpt/tests/svg/text/reftests/text-bidi-controls-anchors-1.svg
new file mode 100644
index 00000000000..92a1ed1e3fb
--- /dev/null
+++ b/tests/wpt/tests/svg/text/reftests/text-bidi-controls-anchors-1.svg
@@ -0,0 +1,47 @@
+<?xml version="1.0" encoding="utf-8"?>
+<svg width="400" height="400" xmlns="http://www.w3.org/2000/svg" xmlns:html="http://www.w3.org/1999/xhtml">
+ <title>Text anchors and bidi control characters</title>
+ <html:link rel="author" title="Jonathan Kew" href="mailto:jkew@mozilla.com"/>
+ <html:link rel="help" href="https://svgwg.org/svg2-draft/text.html#TextAnchoringProperties"/>
+ <html:link rel="help" href="https://bugzilla.mozilla.org/show_bug.cgi?id=1906978"/>
+ <html:link rel="match" href="text-bidi-controls-anchors-1-ref.svg"/>
+ <g transform="translate(200,20)" font-family="Arial, sans-serif" font-size="12px">
+ <line x1="0" y1="0" x2="0" y2="300" stroke="black" stroke-width="0.5"/>
+
+ <g transform="translate(0,20)">
+ <text style="fill: red" text-anchor="start">Start Anchor</text>
+ <text y="10" style="fill: green" text-anchor="middle">Middle Anchor</text>
+ <text y="20" style="fill: blue" text-anchor="end">End Anchor</text>
+ </g>
+ <g transform="translate(0,60)">
+ <text style="fill: red" text-anchor="start">&#x202b;Start Anchor&#x202c;</text>
+ <text y="10" style="fill: green" text-anchor="middle">&#x202b;Middle Anchor&#x202c;</text>
+ <text y="20" style="fill: blue" text-anchor="end">&#x202b;End Anchor&#x202c;</text>
+ </g>
+ <g transform="translate(0,100)">
+ <text style="fill: red" text-anchor="start">&#x202b;Start&#x202c; Anchor</text>
+ <text y="10" style="fill: green" text-anchor="middle">&#x202b;Middle&#x202c; Anchor</text>
+ <text y="20" style="fill: blue" text-anchor="end">&#x202b;End&#x202c; Anchor</text>
+ </g>
+ <g transform="translate(0,140)">
+ <text style="fill: red" text-anchor="start">Start &#x202b;Anchor&#x202c;</text>
+ <text y="10" style="fill: green" text-anchor="middle">Middle &#x202b;Anchor&#x202c;</text>
+ <text y="20" style="fill: blue" text-anchor="end">End &#x202b;Anchor&#x202c;</text>
+ </g>
+ <g transform="translate(0,180)">
+ <text style="fill: red" text-anchor="start">&#x202e;Start Anchor&#x202c;</text>
+ <text y="10" style="fill: green" text-anchor="middle">&#x202e;Middle Anchor&#x202c;</text>
+ <text y="20" style="fill: blue" text-anchor="end">&#x202e;End Anchor&#x202c;</text>
+ </g>
+ <g transform="translate(0,220)">
+ <text style="fill: red" text-anchor="start">&#x202e;Start&#x202c; Anchor</text>
+ <text y="10" style="fill: green" text-anchor="middle">&#x202e;Middle&#x202c; Anchor</text>
+ <text y="20" style="fill: blue" text-anchor="end">&#x202e;End&#x202c; Anchor</text>
+ </g>
+ <g transform="translate(0,260)">
+ <text style="fill: red" text-anchor="start">Start &#x202e;Anchor&#x202c;</text>
+ <text y="10" style="fill: green" text-anchor="middle">Middle &#x202e;Anchor&#x202c;</text>
+ <text y="20" style="fill: blue" text-anchor="end">End &#x202e;Anchor&#x202c;</text>
+ </g>
+ </g>
+</svg>
diff --git a/tests/wpt/tests/svg/text/reftests/text-bidi-controls-anchors-2-ref.svg b/tests/wpt/tests/svg/text/reftests/text-bidi-controls-anchors-2-ref.svg
new file mode 100644
index 00000000000..08862dc3e5c
--- /dev/null
+++ b/tests/wpt/tests/svg/text/reftests/text-bidi-controls-anchors-2-ref.svg
@@ -0,0 +1,36 @@
+<?xml version="1.0" encoding="utf-8"?>
+<svg width="400" height="400" xmlns="http://www.w3.org/2000/svg" xmlns:html="http://www.w3.org/1999/xhtml">
+ <title>Text anchors and bidi control characters</title>
+ <html:link rel="author" title="Jonathan Kew" href="mailto:jkew@mozilla.com"/>
+ <g font-family="Arial, sans-serif" font-size="12px">
+ <line x1="200" y1="20" x2="200" y2="320" stroke="black" stroke-width="0.5"/>
+
+ <text x="200" y="40" style="fill: red" text-anchor="end">Start Anchor</text>
+ <text x="200" y="50" style="fill: green" text-anchor="middle">Middle Anchor</text>
+ <text x="200" y="60" style="fill: blue" text-anchor="start">End Anchor</text>
+
+ <text x="200" y="80" style="fill: red" text-anchor="end">Start Anchor</text>
+ <text x="200" y="90" style="fill: green" text-anchor="middle">Middle Anchor</text>
+ <text x="200" y="100" style="fill: blue" text-anchor="start">End Anchor</text>
+
+ <text x="200" y="120" style="fill: red" text-anchor="end">Anchor Start</text>
+ <text x="200" y="130" style="fill: green" text-anchor="middle">Anchor Middle</text>
+ <text x="200" y="140" style="fill: blue" text-anchor="start">Anchor End</text>
+
+ <text x="200" y="160" style="fill: red" text-anchor="end">Anchor Start</text>
+ <text x="200" y="170" style="fill: green" text-anchor="middle">Anchor Middle</text>
+ <text x="200" y="180" style="fill: blue" text-anchor="start">Anchor End</text>
+
+ <text x="200" y="200" style="fill: red" text-anchor="end">rohcnA tratS</text>
+ <text x="200" y="210" style="fill: green" text-anchor="middle">rohcnA elddiM</text>
+ <text x="200" y="220" style="fill: blue" text-anchor="start">rohcnA dnE</text>
+
+ <text x="200" y="240" style="fill: red" text-anchor="end">Anchor tratS</text>
+ <text x="200" y="250" style="fill: green" text-anchor="middle">Anchor elddiM</text>
+ <text x="200" y="260" style="fill: blue" text-anchor="start">Anchor dnE</text>
+
+ <text x="200" y="280" style="fill: red" text-anchor="end">rohcnA Start</text>
+ <text x="200" y="290" style="fill: green" text-anchor="middle">rohcnA Middle</text>
+ <text x="200" y="300" style="fill: blue" text-anchor="start">rohcnA End</text>
+ </g>
+</svg>
diff --git a/tests/wpt/tests/svg/text/reftests/text-bidi-controls-anchors-2.svg b/tests/wpt/tests/svg/text/reftests/text-bidi-controls-anchors-2.svg
new file mode 100644
index 00000000000..b9a4a9b5e7d
--- /dev/null
+++ b/tests/wpt/tests/svg/text/reftests/text-bidi-controls-anchors-2.svg
@@ -0,0 +1,47 @@
+<?xml version="1.0" encoding="utf-8"?>
+<svg width="400" height="400" xmlns="http://www.w3.org/2000/svg" xmlns:html="http://www.w3.org/1999/xhtml">
+ <title>Text anchors and bidi control characters</title>
+ <html:link rel="author" title="Jonathan Kew" href="mailto:jkew@mozilla.com"/>
+ <html:link rel="help" href="https://svgwg.org/svg2-draft/text.html#TextAnchoringProperties"/>
+ <html:link rel="help" href="https://bugzilla.mozilla.org/show_bug.cgi?id=1906978"/>
+ <html:link rel="match" href="text-bidi-controls-anchors-2-ref.svg"/>
+ <g direction="rtl" transform="translate(200,20)" font-family="Arial, sans-serif" font-size="12px">
+ <line x1="0" y1="0" x2="0" y2="300" stroke="black" stroke-width="0.5"/>
+
+ <g transform="translate(0,20)">
+ <text style="fill: red" text-anchor="start">Start Anchor</text>
+ <text y="10" style="fill: green" text-anchor="middle">Middle Anchor</text>
+ <text y="20" style="fill: blue" text-anchor="end">End Anchor</text>
+ </g>
+ <g transform="translate(0,60)">
+ <text style="fill: red" text-anchor="start">&#x202b;Start Anchor&#x202c;</text>
+ <text y="10" style="fill: green" text-anchor="middle">&#x202b;Middle Anchor&#x202c;</text>
+ <text y="20" style="fill: blue" text-anchor="end">&#x202b;End Anchor&#x202c;</text>
+ </g>
+ <g transform="translate(0,100)">
+ <text style="fill: red" text-anchor="start">&#x202b;Start&#x202c; Anchor</text>
+ <text y="10" style="fill: green" text-anchor="middle">&#x202b;Middle&#x202c; Anchor</text>
+ <text y="20" style="fill: blue" text-anchor="end">&#x202b;End&#x202c; Anchor</text>
+ </g>
+ <g transform="translate(0,140)">
+ <text style="fill: red" text-anchor="start">Start &#x202b;Anchor&#x202c;</text>
+ <text y="10" style="fill: green" text-anchor="middle">Middle &#x202b;Anchor&#x202c;</text>
+ <text y="20" style="fill: blue" text-anchor="end">End &#x202b;Anchor&#x202c;</text>
+ </g>
+ <g transform="translate(0,180)">
+ <text style="fill: red" text-anchor="start">&#x202e;Start Anchor&#x202c;</text>
+ <text y="10" style="fill: green" text-anchor="middle">&#x202e;Middle Anchor&#x202c;</text>
+ <text y="20" style="fill: blue" text-anchor="end">&#x202e;End Anchor&#x202c;</text>
+ </g>
+ <g transform="translate(0,220)">
+ <text style="fill: red" text-anchor="start">&#x202e;Start&#x202c; Anchor</text>
+ <text y="10" style="fill: green" text-anchor="middle">&#x202e;Middle&#x202c; Anchor</text>
+ <text y="20" style="fill: blue" text-anchor="end">&#x202e;End&#x202c; Anchor</text>
+ </g>
+ <g transform="translate(0,260)">
+ <text style="fill: red" text-anchor="start">Start &#x202e;Anchor&#x202c;</text>
+ <text y="10" style="fill: green" text-anchor="middle">Middle &#x202e;Anchor&#x202c;</text>
+ <text y="20" style="fill: blue" text-anchor="end">End &#x202e;Anchor&#x202c;</text>
+ </g>
+ </g>
+</svg>
diff --git a/tests/wpt/tests/svg/text/reftests/textpath-letter-spacing-01-ref.svg b/tests/wpt/tests/svg/text/reftests/textpath-letter-spacing-01-ref.svg
new file mode 100644
index 00000000000..9264c265f71
--- /dev/null
+++ b/tests/wpt/tests/svg/text/reftests/textpath-letter-spacing-01-ref.svg
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="utf-8"?>
+<svg width="500" height="200" xmlns="http://www.w3.org/2000/svg" xmlns:html="http://www.w3.org/1999/xhtml">
+ <title>Textpath and letter-spacing</title>
+ <html:link rel="author" title="Jonathan Kew" href="mailto:jkew@mozilla.com"/>
+ <text x="50" y="50" style="font: 30px monospace; letter-spacing: 1ch">ABCDE ABCDE</text>
+</svg>
diff --git a/tests/wpt/tests/svg/text/reftests/textpath-letter-spacing-01.svg b/tests/wpt/tests/svg/text/reftests/textpath-letter-spacing-01.svg
new file mode 100644
index 00000000000..4815e618a6d
--- /dev/null
+++ b/tests/wpt/tests/svg/text/reftests/textpath-letter-spacing-01.svg
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="utf-8"?>
+<svg width="500" height="200" xmlns="http://www.w3.org/2000/svg" xmlns:html="http://www.w3.org/1999/xhtml">
+ <title>Textpath and letter-spacing</title>
+ <html:link rel="author" title="Jonathan Kew" href="mailto:jkew@mozilla.com"/>
+ <html:link rel="help" href="https://bugzilla.mozilla.org/show_bug.cgi?id=1907772"/>
+ <html:link rel="match" href="textpath-letter-spacing-01-ref.svg"/>
+ <defs>
+ <path id="p" d="M 50 50 h 400"/>
+ </defs>
+ <text>
+ <textPath href="#p" style="font: 30px monospace; letter-spacing: 1ch">ABCDE ABCDE</textPath>
+ </text>
+</svg>
diff --git a/tests/wpt/tests/svg/types/scripted/SVGLength-px.html b/tests/wpt/tests/svg/types/scripted/SVGLength-px.html
index 25ce286197a..191112a826e 100644
--- a/tests/wpt/tests/svg/types/scripted/SVGLength-px.html
+++ b/tests/wpt/tests/svg/types/scripted/SVGLength-px.html
@@ -24,11 +24,11 @@ setup(function() {
});
function valueInPx(valueAndUnits) {
- let div = document.createElement("div");
- div.style.height = valueAndUnits;
- document.documentElement.appendChild(div);
- let pxValue = parseFloat(getComputedStyle(div).getPropertyValue("height"));
- document.documentElement.removeChild(div);
+ let span = document.createElement("span");
+ span.style.height = valueAndUnits;
+ document.documentElement.appendChild(span);
+ let pxValue = parseFloat(getComputedStyle(span).getPropertyValue("height"));
+ document.documentElement.removeChild(span);
return pxValue;
}
diff --git a/tests/wpt/tests/tools/serve/serve.py b/tests/wpt/tests/tools/serve/serve.py
index 6afe6f9dd7a..a11e15db98d 100644
--- a/tests/wpt/tests/tools/serve/serve.py
+++ b/tests/wpt/tests/tools/serve/serve.py
@@ -752,10 +752,12 @@ def check_subdomains(logger, config, routes, mp_context, log_handlers):
def make_hosts_file(config, host):
- rv = []
+ rv = ["# Start web-platform-tests hosts"]
- for domain in config.domains_set:
- rv.append("%s\t%s\n" % (host, domain))
+ for domain in sorted(
+ config.domains_set, key=lambda x: tuple(reversed(x.split(".")))
+ ):
+ rv.append("%s\t%s" % (host, domain))
# Windows interpets the IP address 0.0.0.0 as non-existent, making it an
# appropriate alias for non-existent hosts. However, UNIX-like systems
@@ -765,10 +767,15 @@ def make_hosts_file(config, host):
#
# https://github.com/web-platform-tests/wpt/issues/10560
if platform.uname()[0] == "Windows":
- for not_domain in config.not_domains_set:
- rv.append("0.0.0.0\t%s\n" % not_domain)
+ for not_domain in sorted(
+ config.not_domains_set, key=lambda x: tuple(reversed(x.split(".")))
+ ):
+ rv.append("0.0.0.0\t%s" % not_domain)
+
+ rv.append("# End web-platform-tests hosts")
+ rv.append("")
- return "".join(rv)
+ return "\n".join(rv)
def start_servers(logger, host, ports, paths, routes, bind_address, config,
diff --git a/tests/wpt/tests/tools/serve/test_serve.py b/tests/wpt/tests/tools/serve/test_serve.py
index e590b49870f..9dcda584de2 100644
--- a/tests/wpt/tests/tools/serve/test_serve.py
+++ b/tests/wpt/tests/tools/serve/test_serve.py
@@ -25,14 +25,18 @@ def test_make_hosts_file_nix():
not_subdomains={"x, y"}) as c:
hosts = serve.make_hosts_file(c, "192.168.42.42")
lines = hosts.split("\n")
- assert set(lines) == {"",
- "192.168.42.42\tfoo.bar",
- "192.168.42.42\tfoo2.bar",
- "192.168.42.42\ta.foo.bar",
- "192.168.42.42\ta.foo2.bar",
- "192.168.42.42\tb.foo.bar",
- "192.168.42.42\tb.foo2.bar"}
- assert lines[-1] == ""
+ assert lines == [
+ "# Start web-platform-tests hosts",
+ "192.168.42.42\tfoo.bar",
+ "192.168.42.42\ta.foo.bar",
+ "192.168.42.42\tb.foo.bar",
+ "192.168.42.42\tfoo2.bar",
+ "192.168.42.42\ta.foo2.bar",
+ "192.168.42.42\tb.foo2.bar",
+ "# End web-platform-tests hosts",
+ "",
+ ]
+
@pytest.mark.skipif(platform.uname()[0] != "Windows",
reason="Expected contents are platform-dependent")
@@ -45,18 +49,21 @@ def test_make_hosts_file_windows():
not_subdomains={"x", "y"}) as c:
hosts = serve.make_hosts_file(c, "192.168.42.42")
lines = hosts.split("\n")
- assert set(lines) == {"",
- "0.0.0.0\tx.foo.bar",
- "0.0.0.0\tx.foo2.bar",
- "0.0.0.0\ty.foo.bar",
- "0.0.0.0\ty.foo2.bar",
- "192.168.42.42\tfoo.bar",
- "192.168.42.42\tfoo2.bar",
- "192.168.42.42\ta.foo.bar",
- "192.168.42.42\ta.foo2.bar",
- "192.168.42.42\tb.foo.bar",
- "192.168.42.42\tb.foo2.bar"}
- assert lines[-1] == ""
+ assert lines == [
+ "# Start web-platform-tests hosts",
+ "192.168.42.42\tfoo.bar",
+ "192.168.42.42\ta.foo.bar",
+ "192.168.42.42\tb.foo.bar",
+ "192.168.42.42\tfoo2.bar",
+ "192.168.42.42\ta.foo2.bar",
+ "192.168.42.42\tb.foo2.bar",
+ "0.0.0.0\tx.foo.bar",
+ "0.0.0.0\ty.foo.bar",
+ "0.0.0.0\tx.foo2.bar",
+ "0.0.0.0\ty.foo2.bar",
+ "# End web-platform-tests hosts",
+ "",
+ ]
def test_ws_doc_root_default():
diff --git a/tests/wpt/tests/tools/wptrunner/wptrunner/browsers/chrome.py b/tests/wpt/tests/tools/wptrunner/wptrunner/browsers/chrome.py
index d0d9f1d3421..8ebbfdc91a5 100644
--- a/tests/wpt/tests/tools/wptrunner/wptrunner/browsers/chrome.py
+++ b/tests/wpt/tests/tools/wptrunner/wptrunner/browsers/chrome.py
@@ -151,7 +151,7 @@ def executor_kwargs(logger, test_type, test_environment, run_info_data, subsuite
if kwargs["enable_swiftshader"]:
# https://chromium.googlesource.com/chromium/src/+/HEAD/docs/gpu/swiftshader.md
- chrome_options["args"].extend(["--use-gl=angle", "--use-angle=swiftshader"])
+ chrome_options["args"].extend(["--use-gl=angle", "--use-angle=swiftshader", "--enable-unsafe-swiftshader"])
if kwargs["enable_experimental"]:
chrome_options["args"].extend(["--enable-experimental-web-platform-features"])
diff --git a/tests/wpt/tests/tools/wptrunner/wptrunner/browsers/firefox.py b/tests/wpt/tests/tools/wptrunner/wptrunner/browsers/firefox.py
index d977930a289..74a9e02dafe 100644
--- a/tests/wpt/tests/tools/wptrunner/wptrunner/browsers/firefox.py
+++ b/tests/wpt/tests/tools/wptrunner/wptrunner/browsers/firefox.py
@@ -754,7 +754,7 @@ class ProfileCreator:
certutil_dir = os.path.dirname(self.binary or self.certutil_binary)
if mozinfo.isMac:
env_var = "DYLD_LIBRARY_PATH"
- elif mozinfo.isUnix:
+ elif mozinfo.isLinux:
env_var = "LD_LIBRARY_PATH"
else:
env_var = "PATH"
diff --git a/tests/wpt/tests/tools/wptrunner/wptrunner/testloader.py b/tests/wpt/tests/tools/wptrunner/wptrunner/testloader.py
index c7cdee6887e..65f6b2b673a 100644
--- a/tests/wpt/tests/tools/wptrunner/wptrunner/testloader.py
+++ b/tests/wpt/tests/tools/wptrunner/wptrunner/testloader.py
@@ -497,16 +497,6 @@ class TestLoader:
self.tests = tests_enabled
self.disabled_tests = tests_disabled
- def groups(self, test_types, chunk_type="none", total_chunks=1, chunk_number=1):
- groups = set()
-
- for test_type in test_types:
- for test in self.tests[test_type]:
- group = test.url.split("/")[1]
- groups.add(group)
-
- return groups
-
def get_test_queue_builder(**kwargs: Any) -> Tuple[TestQueueBuilder, Mapping[str, Any]]:
diff --git a/tests/wpt/tests/tools/wptrunner/wptrunner/wptrunner.py b/tests/wpt/tests/tools/wptrunner/wptrunner/wptrunner.py
index d9d85de6a4d..f390f29c079 100644
--- a/tests/wpt/tests/tools/wptrunner/wptrunner/wptrunner.py
+++ b/tests/wpt/tests/tools/wptrunner/wptrunner/wptrunner.py
@@ -128,11 +128,15 @@ def get_loader(test_paths: wptcommandline.TestPaths,
def list_test_groups(test_paths, product, **kwargs):
env.do_delayed_imports(logger, test_paths)
- _, test_loader = get_loader(test_paths,
- product,
- **kwargs)
+ test_queue_builder, test_loader = get_loader(test_paths,
+ product,
+ **kwargs)
- for item in sorted(test_loader.groups(kwargs["test_types"])):
+ tests_by_type = {(subsuite_name, test_type): tests
+ for subsuite_name, subsuite_tests in test_loader.tests.items()
+ for test_type, tests in subsuite_tests.items()}
+
+ for item in sorted(test_queue_builder.tests_by_group(tests_by_type)):
print(item)
diff --git a/tests/wpt/tests/top-level-storage-access-api/README.md b/tests/wpt/tests/top-level-storage-access-api/README.md
index e3636a221ec..e0e385f6e75 100644
--- a/tests/wpt/tests/top-level-storage-access-api/README.md
+++ b/tests/wpt/tests/top-level-storage-access-api/README.md
@@ -1,4 +1,2 @@
# requestStorageAccessFor Tests
-These tests are tentative. They are based on a proposed requestStorageAccessFor extension to the Storage Access API which can be read about [in the explainer](https://github.com/privacycg/requestStorageAccessForOrigin).
-
-Note that the spec is in progress, and available [rendered](https://privacycg.github.io/requestStorageAccessForOrigin/) and [in bikeshed source](https://github.com/privacycg/requestStorageAccessForOrigin/blob/main/index.bs).
+These tests are based on the requestStorageAccessFor extension to the Storage Access API which can be read about [in the spec](https://privacycg.github.io/requestStorageAccessFor/).
diff --git a/tests/wpt/tests/top-level-storage-access-api/tentative/requestStorageAccessFor-insecure.sub.window.js b/tests/wpt/tests/top-level-storage-access-api/requestStorageAccessFor-insecure.sub.window.js
index 0852483ce54..0852483ce54 100644
--- a/tests/wpt/tests/top-level-storage-access-api/tentative/requestStorageAccessFor-insecure.sub.window.js
+++ b/tests/wpt/tests/top-level-storage-access-api/requestStorageAccessFor-insecure.sub.window.js
diff --git a/tests/wpt/tests/top-level-storage-access-api/tentative/requestStorageAccessFor.sub.https.window.js b/tests/wpt/tests/top-level-storage-access-api/requestStorageAccessFor.sub.https.window.js
index dd2975e49c0..dd2975e49c0 100644
--- a/tests/wpt/tests/top-level-storage-access-api/tentative/requestStorageAccessFor.sub.https.window.js
+++ b/tests/wpt/tests/top-level-storage-access-api/requestStorageAccessFor.sub.https.window.js
diff --git a/tests/wpt/tests/top-level-storage-access-api/tentative/resources/permissions-iframe.https.html b/tests/wpt/tests/top-level-storage-access-api/resources/permissions-iframe.https.html
index c9907203322..c9907203322 100644
--- a/tests/wpt/tests/top-level-storage-access-api/tentative/resources/permissions-iframe.https.html
+++ b/tests/wpt/tests/top-level-storage-access-api/resources/permissions-iframe.https.html
diff --git a/tests/wpt/tests/top-level-storage-access-api/tentative/resources/requestStorageAccessFor-iframe.html b/tests/wpt/tests/top-level-storage-access-api/resources/requestStorageAccessFor-iframe.html
index 050196dfdb9..050196dfdb9 100644
--- a/tests/wpt/tests/top-level-storage-access-api/tentative/resources/requestStorageAccessFor-iframe.html
+++ b/tests/wpt/tests/top-level-storage-access-api/resources/requestStorageAccessFor-iframe.html
diff --git a/tests/wpt/tests/top-level-storage-access-api/tentative/resources/requestStorageAccessFor-iframe.https.html b/tests/wpt/tests/top-level-storage-access-api/resources/requestStorageAccessFor-iframe.https.html
index 14da63b033c..14da63b033c 100644
--- a/tests/wpt/tests/top-level-storage-access-api/tentative/resources/requestStorageAccessFor-iframe.https.html
+++ b/tests/wpt/tests/top-level-storage-access-api/resources/requestStorageAccessFor-iframe.https.html
diff --git a/tests/wpt/tests/top-level-storage-access-api/tentative/top-level-storage-access-permission.sub.https.window.js b/tests/wpt/tests/top-level-storage-access-api/top-level-storage-access-permission.sub.https.window.js
index 466b6f3bbed..466b6f3bbed 100644
--- a/tests/wpt/tests/top-level-storage-access-api/tentative/top-level-storage-access-permission.sub.https.window.js
+++ b/tests/wpt/tests/top-level-storage-access-api/top-level-storage-access-permission.sub.https.window.js
diff --git a/tests/wpt/tests/trusted-types/TrustedTypePolicyFactory-createPolicy-createXYZTests.html b/tests/wpt/tests/trusted-types/TrustedTypePolicyFactory-createPolicy-createXYZTests.html
index 746d89fa3f8..72308a2ae84 100644
--- a/tests/wpt/tests/trusted-types/TrustedTypePolicyFactory-createPolicy-createXYZTests.html
+++ b/tests/wpt/tests/trusted-types/TrustedTypePolicyFactory-createPolicy-createXYZTests.html
@@ -71,9 +71,6 @@
assert_throws_js(TypeError, _ => {
p.createScriptURL(INPUTS.SCRIPTURL);
});
- assert_throws_js(TypeError, _ => {
- p.createURL(INPUTS.URL);
- });
}, "createHTML defined - calling undefined callbacks throws");
//Script tests
@@ -145,9 +142,6 @@
assert_throws_js(TypeError, _ => {
p.createScriptURL(INPUTS.SCRIPTURL);
});
- assert_throws_js(TypeError, _ => {
- p.createURL(INPUTS.URL);
- });
}, "createScript defined - calling undefined callbacks throws");
@@ -220,9 +214,6 @@
assert_throws_js(TypeError, _ => {
p.createScript(INPUTS.SCRIPT);
});
- assert_throws_js(TypeError, _ => {
- p.createURL(INPUTS.URL);
- });
}, "createScriptURL defined - calling undefined callbacks throws");
test(t => {
diff --git a/tests/wpt/tests/trusted-types/TrustedTypePolicyFactory-createPolicy-cspTests.html b/tests/wpt/tests/trusted-types/TrustedTypePolicyFactory-createPolicy-cspTests.html
index 3a56546151e..a564f9553f4 100644
--- a/tests/wpt/tests/trusted-types/TrustedTypePolicyFactory-createPolicy-cspTests.html
+++ b/tests/wpt/tests/trusted-types/TrustedTypePolicyFactory-createPolicy-cspTests.html
@@ -21,7 +21,7 @@
// Non-allowed names test
test(t => {
assert_throws_js(TypeError, _ => {
- window.trustedTypes.createPolicy('SomeOtherName', { createURL: s => s } );
+ window.trustedTypes.createPolicy('SomeOtherName', { createHTML: s => s } );
});
}, "Non-allowed name policy creation throws.");
</script>
diff --git a/tests/wpt/tests/trusted-types/TrustedTypePolicyFactory-createPolicy-nameTests.html b/tests/wpt/tests/trusted-types/TrustedTypePolicyFactory-createPolicy-nameTests.html
index 9fdafb2ccf0..35870926dc6 100644
--- a/tests/wpt/tests/trusted-types/TrustedTypePolicyFactory-createPolicy-nameTests.html
+++ b/tests/wpt/tests/trusted-types/TrustedTypePolicyFactory-createPolicy-nameTests.html
@@ -20,21 +20,4 @@
});
}, "duplicate policy name attempt throws");
- // Check error messages.
- test(t => {
- try {
- trustedTypes.createPolicy("unknown name", {});
- } catch (e) {
- assert_true(e.toString().includes("disallowed"));
- assert_false(e.toString().includes("already exists"));
- }
-
- try {
- trustedTypes.createPolicy("SomeName", {});
- } catch (e) {
- assert_false(e.toString().includes("disallowed"));
- assert_true(e.toString().includes("already exists"));
- }
- }, "Error messages for duplicates and unlisted policies should be different");
-
</script>
diff --git a/tests/wpt/tests/trusted-types/block-string-assignment-to-Document-write.html b/tests/wpt/tests/trusted-types/block-string-assignment-to-Document-write.html
index d22be1118ce..8fcdc8b2c6f 100644
--- a/tests/wpt/tests/trusted-types/block-string-assignment-to-Document-write.html
+++ b/tests/wpt/tests/trusted-types/block-string-assignment-to-Document-write.html
@@ -9,7 +9,7 @@
</head>
<body>
<script>
- // TrustedURL assignments do not throw.
+ // TrustedHTML assignments do not throw.
let p = createHTML_policy(window, 1);
test(t => {
document.body.innerText = '';
@@ -26,7 +26,7 @@
assert_equals(document.body.innerText, "abcdefghijkl");
}, "document.write with multiple trusted arguments.");
- // TrustedURL assignments do not throw. (Now for writeln.)
+ // TrustedHTML assignments do not throw. (Now for writeln.)
test(t => {
document.body.innerText = '';
let html = p.createHTML(INPUTS.HTML);
diff --git a/tests/wpt/tests/trusted-types/block-text-node-insertion-into-script-element.html b/tests/wpt/tests/trusted-types/block-text-node-insertion-into-script-element.html
index 08e3e695530..adadfe5a7ad 100644
--- a/tests/wpt/tests/trusted-types/block-text-node-insertion-into-script-element.html
+++ b/tests/wpt/tests/trusted-types/block-text-node-insertion-into-script-element.html
@@ -3,6 +3,7 @@
<head>
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
+ <script src="resources/block-text-node-insertion.js"></script>
<meta http-equiv="Content-Security-Policy" content="require-trusted-types-for 'script';">
</head>
<body>
@@ -15,66 +16,21 @@
createScript: s => (s.includes("fail") ? null : s.replace("default", "count")),
createHTML: s => s.replace(/2/g, "3"),
};
- const policy = trustedTypes.createPolicy("policy", policy_dict);
- // Regression tests for 'Bypass via insertAdjacentText', reported at
- // https://github.com/w3c/trusted-types/issues/133
-
- // We are trying to assert that scripts do _not_ get executed. We
- // accomplish by having the script under examination containing a
- // postMessage, and to send a second guaranteed-to-execute postMessage
- // so there's a point in time when we're sure the first postMessage
- // must have arrived (if indeed it had been sent).
- //
- // We'll interpret the message data as follows:
- // - includes "block": error (this message should have been blocked by TT)
- // - includes "count": Count these, and later check against expect_count.
- // - includes "done": Unregister the event handler and finish the test.
- // - all else: Reject, as this is probably an error in the test.
- function checkMessage(expect_count) {
- postMessage("done", "*");
- return new Promise((resolve, reject) => {
- let count = 0;
- globalThis.addEventListener("message", function handler(e) {
- if (e.data.includes("block")) {
- reject(`'block' received (${e.data})`);
- } else if (e.data.includes("count")) {
- count = count + 1;
- } else if (e.data.includes("done")) {
- globalThis.removeEventListener("message", handler);
- if (expect_count && count != expect_count) {
- reject(
- `'done' received, but unexpected counts: expected ${expect_count} != actual ${count} (${e.data})`);
- } else {
- resolve(e.data);
- }
- } else {
- reject("unexpected message received: " + e.data);
- }
- });
- });
- }
+ const policy = trustedTypes.createPolicy("policy", policy_dict);
- function checkSecurityPolicyViolationEvent(expect_count) {
- return new Promise((resolve, reject) => {
- let count = 0;
- document.addEventListener("securitypolicyviolation", e => {
- if (e.sample.includes("trigger")) {
- if (expect_count && count != expect_count) {
- reject(
- `'trigger' received, but unexpected counts: expected ${expect_count} != actual ${count}`);
- } else {
- resolve();
- }
- } else {
- count = count + 1;
- }
- });
- try {
- document.getElementById("trigger").text = "trigger fail";
- } catch(e) { }
- });
- }
+ const policy_dict_default = {
+ createScript: (s, _, sink) => {
+ assert_equals(sink, 'HTMLScriptElement text');
+ return (s.includes("fail") ? null : s.replace("default", "count"));
+ },
+ createHTML: (s, _, sink) => {
+ if (sink) {
+ assert_equals(sink, 'Element innerHTML');
+ }
+ return s.replace(/2/g, "3");
+ },
+ };
// Original report:
promise_test(t => {
@@ -100,7 +56,7 @@
const script_elements = {
"script": doc => doc.createElement("script"),
- "svg:script": doc => doc.createElementNS("http://www.w3.org/2000/svg", "script"),
+
};
for (let [element, create_element] of Object.entries(script_elements)) {
// Like the "Original Report" test case above, but avoids use of the "text"
@@ -186,7 +142,7 @@
// after the other tests.
let default_policy;
promise_test(t => {
- default_policy = trustedTypes.createPolicy("default", policy_dict);
+ default_policy = trustedTypes.createPolicy("default", policy_dict_default);
return Promise.resolve();
}, "Prep for subsequent tests: Create default policy.");
@@ -196,6 +152,7 @@
let text = document.createTextNode("postMessage('default', '*');");
s.appendChild(text);
container.appendChild(s);
+
return Promise.all([checkMessage(1),
checkSecurityPolicyViolationEvent(0)]);
}, "Test that default policy applies. " + element);
diff --git a/tests/wpt/tests/trusted-types/block-text-node-insertion-into-svg-script-element.html b/tests/wpt/tests/trusted-types/block-text-node-insertion-into-svg-script-element.html
new file mode 100644
index 00000000000..5f0fb78f9bd
--- /dev/null
+++ b/tests/wpt/tests/trusted-types/block-text-node-insertion-into-svg-script-element.html
@@ -0,0 +1,192 @@
+<!DOCTYPE html>
+<html>
+<head>
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="resources/block-text-node-insertion.js"></script>
+ <meta http-equiv="Content-Security-Policy" content="require-trusted-types-for 'script';">
+</head>
+<body>
+<div id="container"></div>
+<script id="script1">"hello world!";</script>
+<script id="trigger"></script>
+<script>
+ var container = document.querySelector("#container");
+ const policy_dict = {
+ createScript: s => (s.includes("fail") ? null : s.replace("default", "count")),
+ createHTML: s => s.replace(/2/g, "3"),
+ };
+ const policy = trustedTypes.createPolicy("policy", policy_dict);
+
+ const policy_dict_default = {
+ createScript: (s, _, sink) => {
+ assert_equals(sink, 'SVGScriptElement text');
+ return (s.includes("fail") ? null : s.replace("default", "count"));
+ },
+ createHTML: (s, _, sink) => {
+ if (sink) {
+ assert_equals(sink, 'Element innerHTML');
+ }
+ return s.replace(/2/g, "3");
+ },
+ };
+
+ const script_elements = {
+ "svg:script": doc => doc.createElementNS("http://www.w3.org/2000/svg", "script"),
+ };
+
+ // Original report:
+ promise_test(t => {
+ // Setup: Create a <script> element with a <p> child.
+ let s = document.createElement("script");
+
+ // Sanity check: Element child content (<p>) doesn't count as source text.
+ let p = document.createElement("p");
+ p.text = "hello('world');";
+ s.appendChild(p);
+ container.appendChild(s);
+ assert_equals(s.text, "");
+
+ // Try to insertAdjacentText into the <script>, starting from the <p>
+ p.insertAdjacentText("beforebegin",
+ "postMessage('beforebegin should be blocked', '*');");
+ assert_true(s.text.includes("postMessage"));
+ p.insertAdjacentText("afterend",
+ "postMessage('afterend should be blocked', '*');");
+ assert_true(s.text.includes("after"));
+ return checkMessage();
+ }, "Regression test: Bypass via insertAdjacentText, initial comment.");
+
+ for (let [element, create_element] of Object.entries(script_elements)) {
+ // Like the "Original Report" test case above, but avoids use of the "text"
+ // accessor that <svg:script> doesn't support.
+ promise_test(t => {
+ let s = create_element(document);
+
+ // Sanity check: Element child content (<p>) doesn't count as source text.
+ let p = document.createElement("p");
+ p.textContent = "hello('world');";
+ s.appendChild(p);
+ container.appendChild(s);
+
+ // Try to insertAdjacentText into the <script>, starting from the <p>
+ p.insertAdjacentText("beforebegin",
+ "postMessage('beforebegin should be blocked', '*');");
+ assert_true(s.textContent.includes("postMessage"));
+ p.insertAdjacentText("afterend",
+ "postMessage('afterend should be blocked', '*');");
+ assert_true(s.textContent.includes("after"));
+ return checkMessage();
+ }, "Regression test: Bypass via insertAdjacentText, initial comment. " + element);
+
+ // Variant: Create a <script> element and create & insert a text node. Then
+ // insert it into the document container to make it live.
+ promise_test(t => {
+ // Setup: Create a <script> element, and insert text via a text node.
+ let s = create_element(document);
+ let text = document.createTextNode("postMessage('appendChild with a " +
+ "text node should be blocked', '*');");
+ s.appendChild(text);
+ container.appendChild(s);
+ return checkMessage();
+ }, "Regression test: Bypass via appendChild into off-document script element" + element);
+
+ // Variant: Create a <script> element and insert it into the document. Then
+ // create a text node and insert it into the live <script> element.
+ promise_test(t => {
+ // Setup: Create a <script> element, insert it into the doc, and then create
+ // and insert text via a text node.
+ let s = create_element(document);
+ container.appendChild(s);
+ let text = document.createTextNode("postMessage('appendChild with a live " +
+ "text node should be blocked', '*');");
+ s.appendChild(text);
+ return checkMessage();
+ }, "Regression test: Bypass via appendChild into live script element " + element);
+ }
+
+ promise_test(t => {
+ return checkSecurityPolicyViolationEvent();
+ }, "Prep for subsequent tests: Clear SPV event queue.");
+
+ promise_test(t => {
+ const inserted_script = document.getElementById("script1");
+ assert_throws_js(TypeError, _ => {
+ inserted_script.innerHTML = "2+2";
+ });
+
+ let new_script = document.createElement("script");
+ assert_throws_js(TypeError, _ => {
+ new_script.innerHTML = "2+2";
+ container.appendChild(new_script);
+ });
+
+ const trusted_html = policy.createHTML("2*4");
+ assert_equals("" + trusted_html, "3*4");
+ inserted_script.innerHTML = trusted_html;
+ assert_equals(inserted_script.textContent, "3*4");
+
+ new_script = document.createElement("script");
+ new_script.innerHTML = trusted_html;
+ container.appendChild(new_script);
+ assert_equals(inserted_script.textContent, "3*4");
+
+ // We expect 3 SPV events: two for the two assert_throws_js cases, and one
+ // for script element, which will be rejected at the time of execution.
+ return checkSecurityPolicyViolationEvent(3);
+ }, "Spot tests around script + innerHTML interaction.");
+
+ // Create default policy. Wrapped in a promise_test to ensure it runs only
+ // after the other tests.
+ let default_policy;
+ promise_test(t => {
+ default_policy = trustedTypes.createPolicy("default", policy_dict_default);
+ return Promise.resolve();
+ }, "Prep for subsequent tests: Create default policy.");
+
+ for (let [element, create_element] of Object.entries(script_elements)) {
+ promise_test(t => {
+ let s = create_element(document);
+ let text = document.createTextNode("postMessage('default', '*');");
+ s.appendChild(text);
+ container.appendChild(s);
+
+ return Promise.all([checkMessage(1),
+ checkSecurityPolicyViolationEvent(0)]);
+ }, "Test that default policy applies. " + element);
+
+ promise_test(t => {
+ let s = create_element(document);
+ let text = document.createTextNode("fail");
+ s.appendChild(text);
+ container.appendChild(s);
+ return Promise.all([checkMessage(0),
+ checkSecurityPolicyViolationEvent(1)]);
+ }, "Test a failing default policy. " + element);
+ }
+
+ promise_test(t => {
+ const inserted_script = document.getElementById("script1");
+ inserted_script.innerHTML = "2+2";
+ assert_equals(inserted_script.textContent, "3+3");
+
+ let new_script = document.createElement("script");
+ new_script.innerHTML = "2+2";
+ container.appendChild(new_script);
+ assert_equals(inserted_script.textContent, "3+3");
+
+ const trusted_html = default_policy.createHTML("2*4");
+ assert_equals("" + trusted_html, "3*4");
+ inserted_script.innerHTML = trusted_html;
+ assert_equals(inserted_script.textContent, "3*4");
+
+ new_script = document.createElement("script");
+ new_script.innerHTML = trusted_html;
+ container.appendChild(new_script);
+ assert_equals(inserted_script.textContent, "3*4");
+
+ return checkSecurityPolicyViolationEvent(0);
+ }, "Spot tests around script + innerHTML interaction with default policy.");
+</script>
+</body>
+</html>
diff --git a/tests/wpt/tests/trusted-types/resources/block-text-node-insertion.js b/tests/wpt/tests/trusted-types/resources/block-text-node-insertion.js
new file mode 100644
index 00000000000..1b924aaf7f3
--- /dev/null
+++ b/tests/wpt/tests/trusted-types/resources/block-text-node-insertion.js
@@ -0,0 +1,60 @@
+'use strict'
+
+ // Regression tests for 'Bypass via insertAdjacentText', reported at
+ // https://github.com/w3c/trusted-types/issues/133
+
+ // We are trying to assert that scripts do _not_ get executed. We
+ // accomplish by having the script under examination containing a
+ // postMessage, and to send a second guaranteed-to-execute postMessage
+ // so there's a point in time when we're sure the first postMessage
+ // must have arrived (if indeed it had been sent).
+ //
+ // We'll interpret the message data as follows:
+ // - includes "block": error (this message should have been blocked by TT)
+ // - includes "count": Count these, and later check against expect_count.
+ // - includes "done": Unregister the event handler and finish the test.
+ // - all else: Reject, as this is probably an error in the test.
+ function checkMessage(expect_count) {
+ postMessage("done", "*");
+ return new Promise((resolve, reject) => {
+ let count = 0;
+ globalThis.addEventListener("message", function handler(e) {
+ if (e.data.includes("block")) {
+ reject(`'block' received (${e.data})`);
+ } else if (e.data.includes("count")) {
+ count = count + 1;
+ } else if (e.data.includes("done")) {
+ globalThis.removeEventListener("message", handler);
+ if (expect_count && count != expect_count) {
+ reject(
+ `'done' received, but unexpected counts: expected ${expect_count} != actual ${count} (${e.data})`);
+ } else {
+ resolve(e.data);
+ }
+ } else {
+ reject("unexpected message received: " + e.data);
+ }
+ });
+ });
+ }
+
+ function checkSecurityPolicyViolationEvent(expect_count) {
+ return new Promise((resolve, reject) => {
+ let count = 0;
+ document.addEventListener("securitypolicyviolation", e => {
+ if (e.sample.includes("trigger")) {
+ if (expect_count && count != expect_count) {
+ reject(
+ `'trigger' received, but unexpected counts: expected ${expect_count} != actual ${count}`);
+ } else {
+ resolve();
+ }
+ } else {
+ count = count + 1;
+ }
+ });
+ try {
+ document.getElementById("trigger").text = "trigger fail";
+ } catch(e) { }
+ });
+ } \ No newline at end of file
diff --git a/tests/wpt/tests/trusted-types/trusted-types-eval-reporting-no-unsafe-eval.html b/tests/wpt/tests/trusted-types/trusted-types-eval-reporting-no-unsafe-eval.html
index 7a31866719f..afdd0018cd1 100644
--- a/tests/wpt/tests/trusted-types/trusted-types-eval-reporting-no-unsafe-eval.html
+++ b/tests/wpt/tests/trusted-types/trusted-types-eval-reporting-no-unsafe-eval.html
@@ -53,7 +53,6 @@
const a_policy = {
createHTML: id,
createScriptURL: id,
- createURL: id,
createScript: id,
};
diff --git a/tests/wpt/tests/trusted-types/trusted-types-eval-reporting-report-only.html b/tests/wpt/tests/trusted-types/trusted-types-eval-reporting-report-only.html
index 0e7cf34bb14..39dba61730e 100644
--- a/tests/wpt/tests/trusted-types/trusted-types-eval-reporting-report-only.html
+++ b/tests/wpt/tests/trusted-types/trusted-types-eval-reporting-report-only.html
@@ -53,7 +53,6 @@
const a_policy = {
createHTML: id,
createScriptURL: id,
- createURL: id,
createScript: id,
};
diff --git a/tests/wpt/tests/trusted-types/trusted-types-eval-reporting.html b/tests/wpt/tests/trusted-types/trusted-types-eval-reporting.html
index 73bb0113494..fbe9425dbef 100644
--- a/tests/wpt/tests/trusted-types/trusted-types-eval-reporting.html
+++ b/tests/wpt/tests/trusted-types/trusted-types-eval-reporting.html
@@ -47,7 +47,6 @@
const a_policy = {
createHTML: id,
createScriptURL: id,
- createURL: id,
createScript: id,
};
const scriptyPolicy = trustedTypes.createPolicy('allowEval', a_policy);
diff --git a/tests/wpt/tests/trusted-types/trusted-types-svg-script-set-href.html b/tests/wpt/tests/trusted-types/trusted-types-svg-script-set-href.html
index ab3174c192b..9b8a528fca4 100644
--- a/tests/wpt/tests/trusted-types/trusted-types-svg-script-set-href.html
+++ b/tests/wpt/tests/trusted-types/trusted-types-svg-script-set-href.html
@@ -71,7 +71,19 @@
// but now expect all of them to pass.
promise_test(t => {
trustedTypes.createPolicy("default", {
- createScript: x => x, createHTML: x => x, createScriptURL: x => x });
+ createScript: (x, _, sink) => {
+ assert_equals(sink, 'SVGScriptElement text');
+ return x;
+ },
+ createHTML: (x, _, sink) => {
+ assert_equals(sink, 'Element innerHTML');
+ return x;
+ },
+ createScriptURL: (x, _, sink) => {
+ assert_equals(sink, 'SVGScriptElement href');
+ return x;
+ }});
+
return Promise.resolve();
}, "Setup default policy");
diff --git a/tests/wpt/tests/url/README.md b/tests/wpt/tests/url/README.md
index fa5e3b0dc72..9b483847568 100644
--- a/tests/wpt/tests/url/README.md
+++ b/tests/wpt/tests/url/README.md
@@ -1,11 +1,13 @@
-## urltestdata.json
+## urltestdata.json / urltestdata-javascript-only.json
`resources/urltestdata.json` contains URL parsing tests suitable for any URL parser implementation.
+`resources/urltestdata-javascript-only.json` contains URL parsing tests specifically meant
+for JavaScript's `URL()` class as well as other languages accepting non-scalar-value strings.
-It's used as a source of tests by `a-element.html`, `failure.html`, `url-constructor.any.js`, and
-other test files in this directory.
+These files are used as a source of tests by `a-element.html`, `failure.html`, `url-constructor.any.js`,
+and other test files in this directory.
-The format of `resources/urltestdata.json` is a JSON array of comments as strings and test cases as
+Both files share the same format. They consist of a JSON array of comments as strings and test cases as
objects. The keys for each test case are:
* `input`: a string to be parsed as URL.
diff --git a/tests/wpt/tests/url/a-element-origin-xhtml.xhtml b/tests/wpt/tests/url/a-element-origin-xhtml.xhtml
index effcf04bee3..e68e68dda2a 100644
--- a/tests/wpt/tests/url/a-element-origin-xhtml.xhtml
+++ b/tests/wpt/tests/url/a-element-origin-xhtml.xhtml
@@ -12,4 +12,8 @@
<script src="resources/a-element-origin.js"></script>
</body>
</html>
-<!-- Other dependencies: resources/urltestdata.json -->
+<!--
+ Other dependencies:
+ * resources/urltestdata.json,
+ * resources/urltestdata-javascript-only.json,
+-->
diff --git a/tests/wpt/tests/url/a-element-origin.html b/tests/wpt/tests/url/a-element-origin.html
index 9cc8e94cbed..7015f853f01 100644
--- a/tests/wpt/tests/url/a-element-origin.html
+++ b/tests/wpt/tests/url/a-element-origin.html
@@ -5,4 +5,8 @@
<base id=base>
<div id=log></div>
<script src=resources/a-element-origin.js></script>
-<!-- Other dependencies: resources/urltestdata.json -->
+<!--
+ Other dependencies:
+ * resources/urltestdata.json,
+ * resources/urltestdata-javascript-only.json,
+-->
diff --git a/tests/wpt/tests/url/a-element-xhtml.xhtml b/tests/wpt/tests/url/a-element-xhtml.xhtml
index 05bec4ce4b2..610481a7819 100644
--- a/tests/wpt/tests/url/a-element-xhtml.xhtml
+++ b/tests/wpt/tests/url/a-element-xhtml.xhtml
@@ -17,4 +17,8 @@
<script src="resources/a-element.js"></script>
</body>
</html>
-<!-- Other dependencies: resources/urltestdata.json -->
+<!--
+ Other dependencies:
+ * resources/urltestdata.json,
+ * resources/urltestdata-javascript-only.json,
+-->
diff --git a/tests/wpt/tests/url/a-element.html b/tests/wpt/tests/url/a-element.html
index 3428fa00574..a7621d2ded7 100644
--- a/tests/wpt/tests/url/a-element.html
+++ b/tests/wpt/tests/url/a-element.html
@@ -10,7 +10,11 @@
<base id=base>
<div id=log></div>
<script src=resources/a-element.js></script>
-<!-- Other dependencies: resources/urltestdata.json -->
+<!--
+ Other dependencies:
+ * resources/urltestdata.json,
+ * resources/urltestdata-javascript-only.json,
+-->
<a id="multline-entity" download="multline-entity.txt" href="data:text/plain;charset=utf-8,first%20line&#10;second%20line"> Link with embedded \n is parsed correctly </a>
diff --git a/tests/wpt/tests/url/failure.html b/tests/wpt/tests/url/failure.html
index e61f462f974..d95b1d52d67 100644
--- a/tests/wpt/tests/url/failure.html
+++ b/tests/wpt/tests/url/failure.html
@@ -6,7 +6,10 @@
<script src=/resources/testharnessreport.js></script>
<div id=log></div>
<script>
-promise_test(() => fetch("resources/urltestdata.json").then(res => res.json()).then(runTests), "Loading data…")
+promise_test(() => Promise.all([
+ fetch("resources/urltestdata.json").then(res => res.json()),
+ fetch("resources/urltestdata-javascript-only.json").then(res => res.json()),
+]).then((tests) => tests.flat()).then(runTests), "Loading data…");
function runTests(testData) {
for (const test of testData) {
diff --git a/tests/wpt/tests/url/resources/a-element-origin.js b/tests/wpt/tests/url/resources/a-element-origin.js
index c1c24c8986b..3e5e6cd0c76 100644
--- a/tests/wpt/tests/url/resources/a-element-origin.js
+++ b/tests/wpt/tests/url/resources/a-element-origin.js
@@ -1,4 +1,7 @@
-promise_test(() => fetch("resources/urltestdata.json").then(res => res.json()).then(runURLTests), "Loading data…");
+promise_test(() => Promise.all([
+ fetch("resources/urltestdata.json").then(res => res.json()),
+ fetch("resources/urltestdata-javascript-only.json").then(res => res.json()),
+]).then((tests) => tests.flat()).then(runURLTests), "Loading data…");
function setBase(base) {
document.getElementById("base").href = base
diff --git a/tests/wpt/tests/url/resources/a-element.js b/tests/wpt/tests/url/resources/a-element.js
index cff4160d328..4a925d9d0e6 100644
--- a/tests/wpt/tests/url/resources/a-element.js
+++ b/tests/wpt/tests/url/resources/a-element.js
@@ -1,4 +1,7 @@
-promise_test(() => fetch("resources/urltestdata.json").then(res => res.json()).then(runURLTests), "Loading data…");
+promise_test(() => Promise.all([
+ fetch("resources/urltestdata.json").then(res => res.json()),
+ fetch("resources/urltestdata-javascript-only.json").then(res => res.json()),
+]).then((tests) => tests.flat()).then(runURLTests), "Loading data…");
function setBase(base) {
document.getElementById("base").href = base;
diff --git a/tests/wpt/tests/url/resources/urltestdata-javascript-only.json b/tests/wpt/tests/url/resources/urltestdata-javascript-only.json
new file mode 100644
index 00000000000..a3793c1f472
--- /dev/null
+++ b/tests/wpt/tests/url/resources/urltestdata-javascript-only.json
@@ -0,0 +1,18 @@
+[
+ "See ../README.md for a description of the format.",
+ {
+ "input": "http://example.com/\uD800\uD801\uDFFE\uDFFF\uFDD0\uFDCF\uFDEF\uFDF0\uFFFE\uFFFF?\uD800\uD801\uDFFE\uDFFF\uFDD0\uFDCF\uFDEF\uFDF0\uFFFE\uFFFF",
+ "base": null,
+ "href": "http://example.com/%EF%BF%BD%F0%90%9F%BE%EF%BF%BD%EF%B7%90%EF%B7%8F%EF%B7%AF%EF%B7%B0%EF%BF%BE%EF%BF%BF?%EF%BF%BD%F0%90%9F%BE%EF%BF%BD%EF%B7%90%EF%B7%8F%EF%B7%AF%EF%B7%B0%EF%BF%BE%EF%BF%BF",
+ "origin": "http://example.com",
+ "protocol": "http:",
+ "username": "",
+ "password": "",
+ "host": "example.com",
+ "hostname": "example.com",
+ "port": "",
+ "pathname": "/%EF%BF%BD%F0%90%9F%BE%EF%BF%BD%EF%B7%90%EF%B7%8F%EF%B7%AF%EF%B7%B0%EF%BF%BE%EF%BF%BF",
+ "search": "?%EF%BF%BD%F0%90%9F%BE%EF%BF%BD%EF%B7%90%EF%B7%8F%EF%B7%AF%EF%B7%B0%EF%BF%BE%EF%BF%BF",
+ "hash": ""
+ }
+]
diff --git a/tests/wpt/tests/url/resources/urltestdata.json b/tests/wpt/tests/url/resources/urltestdata.json
index 53f6d575e16..91fcca2c3c2 100644
--- a/tests/wpt/tests/url/resources/urltestdata.json
+++ b/tests/wpt/tests/url/resources/urltestdata.json
@@ -4849,21 +4849,6 @@
"search": "",
"hash": ""
},
- {
- "input": "http://example.com/\uD800\uD801\uDFFE\uDFFF\uFDD0\uFDCF\uFDEF\uFDF0\uFFFE\uFFFF?\uD800\uD801\uDFFE\uDFFF\uFDD0\uFDCF\uFDEF\uFDF0\uFFFE\uFFFF",
- "base": null,
- "href": "http://example.com/%EF%BF%BD%F0%90%9F%BE%EF%BF%BD%EF%B7%90%EF%B7%8F%EF%B7%AF%EF%B7%B0%EF%BF%BE%EF%BF%BF?%EF%BF%BD%F0%90%9F%BE%EF%BF%BD%EF%B7%90%EF%B7%8F%EF%B7%AF%EF%B7%B0%EF%BF%BE%EF%BF%BF",
- "origin": "http://example.com",
- "protocol": "http:",
- "username": "",
- "password": "",
- "host": "example.com",
- "hostname": "example.com",
- "port": "",
- "pathname": "/%EF%BF%BD%F0%90%9F%BE%EF%BF%BD%EF%B7%90%EF%B7%8F%EF%B7%AF%EF%B7%B0%EF%BF%BE%EF%BF%BF",
- "search": "?%EF%BF%BD%F0%90%9F%BE%EF%BF%BD%EF%B7%90%EF%B7%8F%EF%B7%AF%EF%B7%B0%EF%BF%BE%EF%BF%BF",
- "hash": ""
- },
"Forbidden host code points",
{
"input": "sc://a\u0000b/",
diff --git a/tests/wpt/tests/url/url-constructor.any.js b/tests/wpt/tests/url/url-constructor.any.js
index bea06d025b7..b4b639b813e 100644
--- a/tests/wpt/tests/url/url-constructor.any.js
+++ b/tests/wpt/tests/url/url-constructor.any.js
@@ -50,4 +50,7 @@ function runURLTests(urlTests) {
}
}
-promise_test(() => fetch("resources/urltestdata.json").then(res => res.json()).then(runURLTests), "Loading data…");
+promise_test(() => Promise.all([
+ fetch("resources/urltestdata.json").then(res => res.json()),
+ fetch("resources/urltestdata-javascript-only.json").then(res => res.json()),
+]).then((tests) => tests.flat()).then(runURLTests), "Loading data…");
diff --git a/tests/wpt/tests/url/url-origin.any.js b/tests/wpt/tests/url/url-origin.any.js
index 599984c6c17..b9e0c858531 100644
--- a/tests/wpt/tests/url/url-origin.any.js
+++ b/tests/wpt/tests/url/url-origin.any.js
@@ -1,4 +1,7 @@
-promise_test(() => fetch("resources/urltestdata.json").then(res => res.json()).then(runURLTests), "Loading data…");
+promise_test(() => Promise.all([
+ fetch("resources/urltestdata.json").then(res => res.json()),
+ fetch("resources/urltestdata-javascript-only.json").then(res => res.json()),
+]).then((tests) => tests.flat()).then(runURLTests), "Loading data…");
function runURLTests(urlTests) {
for (const expected of urlTests) {
diff --git a/tests/wpt/tests/webcodecs/audio-data.any.js b/tests/wpt/tests/webcodecs/audio-data.any.js
index d5d95064776..67fef3c83c8 100644
--- a/tests/wpt/tests/webcodecs/audio-data.any.js
+++ b/tests/wpt/tests/webcodecs/audio-data.any.js
@@ -192,6 +192,7 @@ const TEST_TEMPLATE = {
// For each test, copy this template and replace the number by the appropriate
// number for this type
testInput: [MIN, BIAS, MAX, MIN, HALF, NEGATIVE_HALF, BIAS, MAX, BIAS, BIAS],
+ testInterleavedResult: [MIN, NEGATIVE_HALF, BIAS, BIAS, MAX, MAX, MIN, BIAS, HALF, BIAS],
testVectorInterleavedResult: [
[MIN, MAX, HALF, BIAS, BIAS],
[BIAS, MIN, NEGATIVE_HALF, MAX, BIAS],
@@ -274,6 +275,10 @@ function get_type_values(type) {
cloned.testInput,
idx => TEST_VALUES[type][idx]
);
+ cloned.testInterleavedResult = Array.from(
+ cloned.testInterleavedResult,
+ idx => TEST_VALUES[type][idx]
+ );
cloned.testVectorInterleavedResult = Array.from(
cloned.testVectorInterleavedResult,
c => {
@@ -418,7 +423,15 @@ function conversionTest(sourceType, destinationType) {
"planar channel 1",
assert_func
);
- // Planar to interleaved isn't supported
+ // Copy to interleaved from planar: all channels are copied
+ data.copyTo(destInterleaved, {planeIndex: 0, format: destinationType});
+ check_array_equality(
+ destInterleaved,
+ result.testInterleavedResult,
+ sourceType,
+ "planar to interleaved",
+ assert_func
+ );
}, `Test conversion of ${sourceType} to ${destinationType}`);
}
diff --git a/tests/wpt/tests/webcodecs/videoFrame-copyTo-rgb.any.js b/tests/wpt/tests/webcodecs/videoFrame-copyTo-rgb.any.js
index eb7351e048b..c1075a6445a 100644
--- a/tests/wpt/tests/webcodecs/videoFrame-copyTo-rgb.any.js
+++ b/tests/wpt/tests/webcodecs/videoFrame-copyTo-rgb.any.js
@@ -108,6 +108,7 @@ async function testFrame(frame, colorSpace, pixelFormat) {
format: pixelFormat,
colorSpace: colorSpace
};
+ assert_equals(frame.allocationSize(options), copy_to_buf.byteLength);
layout = await frame.copyTo(copy_to_buf, options);
} catch (e) {
assert_unreached(`copyTo() failure: ${e}`);
diff --git a/tests/wpt/tests/webdriver/tests/bidi/network/combined/network_events.py b/tests/wpt/tests/webdriver/tests/bidi/network/combined/network_events.py
index e58b5aa7fd9..3fbdce53b57 100644
--- a/tests/wpt/tests/webdriver/tests/bidi/network/combined/network_events.py
+++ b/tests/wpt/tests/webdriver/tests/bidi/network/combined/network_events.py
@@ -16,6 +16,85 @@ from .. import (
@pytest.mark.asyncio
+async def test_cors_preflight_request(bidi_session, url, fetch, setup_network_test):
+ network_events = await setup_network_test(
+ events=[
+ BEFORE_REQUEST_SENT_EVENT,
+ RESPONSE_COMPLETED_EVENT,
+ RESPONSE_STARTED_EVENT,
+ ],
+ test_url=url(PAGE_EMPTY_HTML),
+ )
+
+ # Track all received network.beforeRequestSent, responseStarted &
+ # responseCompleted events in the events array.
+ events = []
+
+ async def on_event(method, data):
+ events.append(data)
+
+ remove_before_request_sent_listener = bidi_session.add_event_listener(
+ BEFORE_REQUEST_SENT_EVENT, on_event
+ )
+ remove_response_completed_listener = bidi_session.add_event_listener(
+ RESPONSE_COMPLETED_EVENT, on_event
+ )
+ remove_response_started_listener = bidi_session.add_event_listener(
+ RESPONSE_STARTED_EVENT, on_event
+ )
+
+ fetch_url = url(
+ "/webdriver/tests/support/http_handlers/headers.py?"
+ + "header=Access-Control-Allow-Origin:*&header=Access-Control-Allow-Headers:Content-Type",
+ domain="alt",
+ )
+ asyncio.ensure_future(
+ fetch(fetch_url, method="GET", headers={"Content-Type": "custom/type"})
+ )
+
+ wait = AsyncPoll(bidi_session, timeout=2)
+ await wait.until(lambda _: len(events) >= 6)
+
+ # Check that all events for the CORS preflight request are received before
+ # receiving events for the actual request
+
+ # Preflight beforeRequestSent
+ assert_before_request_sent_event(
+ events[0],
+ expected_request={"method": "OPTIONS", "url": fetch_url},
+ )
+ # Preflight responseStarted
+ assert_response_event(
+ events[1],
+ expected_request={"method": "OPTIONS", "url": fetch_url},
+ )
+ # Preflight responseCompleted
+ assert_response_event(
+ events[2],
+ expected_request={"method": "OPTIONS", "url": fetch_url},
+ )
+ # Actual request beforeRequestSent
+ assert_before_request_sent_event(
+ events[3],
+ expected_request={"method": "GET", "url": fetch_url},
+ )
+ # Actual request responseStarted
+ assert_response_event(
+ events[4],
+ expected_request={"method": "GET", "url": fetch_url},
+ )
+ # Actual request responseCompleted
+ assert_response_event(
+ events[5],
+ expected_request={"method": "GET", "url": fetch_url},
+ )
+
+ remove_before_request_sent_listener()
+ remove_response_completed_listener()
+ remove_response_started_listener()
+
+
+@pytest.mark.asyncio
async def test_iframe_navigation_request(
bidi_session,
top_context,
diff --git a/tests/wpt/tests/webdriver/tests/bidi/script/add_preload_script/invalid.py b/tests/wpt/tests/webdriver/tests/bidi/script/add_preload_script/invalid.py
index 46afcfbc8ac..047496b4c21 100644
--- a/tests/wpt/tests/webdriver/tests/bidi/script/add_preload_script/invalid.py
+++ b/tests/wpt/tests/webdriver/tests/bidi/script/add_preload_script/invalid.py
@@ -63,7 +63,9 @@ async def test_params_arguments_channel_ownership_invalid_type(bidi_session, own
with pytest.raises(error.InvalidArgumentException):
await bidi_session.script.add_preload_script(
function_declaration="() => {}",
- arguments=[{"type": "channel", "value": {"ownership": ownership}}],
+ arguments=[
+ {"type": "channel", "value": {"channel": "foo", "ownership": ownership}}
+ ],
)
@@ -71,8 +73,12 @@ async def test_params_arguments_channel_ownership_invalid_value(bidi_session):
with pytest.raises(error.InvalidArgumentException):
await bidi_session.script.add_preload_script(
function_declaration="() => {}",
- arguments=[{"type": "channel", "value": {
- "ownership": "_UNKNOWN_"}}],
+ arguments=[
+ {
+ "type": "channel",
+ "value": {"channel": "foo", "ownership": "_UNKNOWN_"},
+ }
+ ],
)
@@ -86,7 +92,10 @@ async def test_params_arguments_channel_serialization_options_invalid_type(
arguments=[
{
"type": "channel",
- "value": {"serializationOptions": serialization_options},
+ "value": {
+ "channel": "foo",
+ "serializationOptions": serialization_options,
+ },
}
],
)
@@ -102,7 +111,10 @@ async def test_params_arguments_channel_max_dom_depth_invalid_type(
arguments=[
{
"type": "channel",
- "value": {"serializationOptions": {"maxDomDepth": max_dom_depth}},
+ "value": {
+ "channel": "foo",
+ "serializationOptions": {"maxDomDepth": max_dom_depth},
+ },
}
],
)
@@ -115,7 +127,10 @@ async def test_params_arguments_channel_max_dom_depth_invalid_value(bidi_session
arguments=[
{
"type": "channel",
- "value": {"serializationOptions": {"maxDomDepth": -1}},
+ "value": {
+ "channel": "foo",
+ "serializationOptions": {"maxDomDepth": -1},
+ },
}
],
)
@@ -132,7 +147,8 @@ async def test_params_arguments_channel_max_object_depth_invalid_type(
{
"type": "channel",
"value": {
- "serializationOptions": {"maxObjectDepth": max_object_depth}
+ "channel": "foo",
+ "serializationOptions": {"maxObjectDepth": max_object_depth},
},
}
],
@@ -146,7 +162,10 @@ async def test_params_arguments_channel_max_object_depth_invalid_value(bidi_sess
arguments=[
{
"type": "channel",
- "value": {"serializationOptions": {"maxObjectDepth": -1}},
+ "value": {
+ "channel": "foo",
+ "serializationOptions": {"maxObjectDepth": -1},
+ },
}
],
)
@@ -163,9 +182,10 @@ async def test_params_arguments_channel_include_shadow_tree_invalid_type(
{
"type": "channel",
"value": {
+ "channel": "foo",
"serializationOptions": {
"includeShadowTree": include_shadow_tree
- }
+ },
},
}
],
@@ -180,27 +200,26 @@ async def test_params_arguments_channel_include_shadow_tree_invalid_value(bidi_s
{
"type": "channel",
"value": {
- "serializationOptions": {"includeShadowTree": "_UNKNOWN_"}
+ "channel": "foo",
+ "serializationOptions": {"includeShadowTree": "_UNKNOWN_"},
},
}
],
)
-@pytest.mark.parametrize("contexts", [False, 42, '_UNKNOWN_', {}])
+@pytest.mark.parametrize("contexts", [False, 42, "_UNKNOWN_", {}])
async def test_params_contexts_invalid_type(bidi_session, contexts):
with pytest.raises(error.InvalidArgumentException):
await bidi_session.script.add_preload_script(
- function_declaration="() => {}",
- contexts=contexts
+ function_declaration="() => {}", contexts=contexts
),
async def test_params_contexts_empty_list(bidi_session):
with pytest.raises(error.InvalidArgumentException):
await bidi_session.script.add_preload_script(
- function_declaration="() => {}",
- contexts=[]
+ function_declaration="() => {}", contexts=[]
),
@@ -208,8 +227,7 @@ async def test_params_contexts_empty_list(bidi_session):
async def test_params_contexts_context_invalid_type(bidi_session, value):
with pytest.raises(error.InvalidArgumentException):
await bidi_session.script.add_preload_script(
- function_declaration="() => {}",
- contexts=[value]
+ function_declaration="() => {}", contexts=[value]
),
@@ -217,12 +235,13 @@ async def test_params_contexts_context_invalid_type(bidi_session, value):
async def test_params_contexts_context_invalid_value(bidi_session, value):
with pytest.raises(error.NoSuchFrameException):
await bidi_session.script.add_preload_script(
- function_declaration="() => {}",
- contexts=[value]
+ function_declaration="() => {}", contexts=[value]
),
-async def test_params_contexts_context_non_top_level(bidi_session, new_tab, test_page_same_origin_frame):
+async def test_params_contexts_context_non_top_level(
+ bidi_session, new_tab, test_page_same_origin_frame
+):
await bidi_session.browsing_context.navigate(
context=new_tab["context"],
url=test_page_same_origin_frame,
@@ -237,8 +256,7 @@ async def test_params_contexts_context_non_top_level(bidi_session, new_tab, test
with pytest.raises(error.InvalidArgumentException):
await bidi_session.script.add_preload_script(
- function_declaration="() => {}",
- contexts=[child_info['context']]
+ function_declaration="() => {}", contexts=[child_info["context"]]
),
diff --git a/tests/wpt/tests/webdriver/tests/bidi/script/call_function/invalid.py b/tests/wpt/tests/webdriver/tests/bidi/script/call_function/invalid.py
index af94e86efe1..ccd5bcfa439 100644
--- a/tests/wpt/tests/webdriver/tests/bidi/script/call_function/invalid.py
+++ b/tests/wpt/tests/webdriver/tests/bidi/script/call_function/invalid.py
@@ -1,7 +1,11 @@
import pytest
import webdriver.bidi.error as error
-from webdriver.bidi.modules.script import ContextTarget, RealmTarget, SerializationOptions
+from webdriver.bidi.modules.script import (
+ ContextTarget,
+ RealmTarget,
+ SerializationOptions,
+)
pytestmark = pytest.mark.asyncio
@@ -10,9 +14,8 @@ pytestmark = pytest.mark.asyncio
async def test_params_target_invalid_type(bidi_session, target):
with pytest.raises(error.InvalidArgumentException):
await bidi_session.script.call_function(
- function_declaration="(arg) => arg",
- await_promise=False,
- target=target)
+ function_declaration="(arg) => arg", await_promise=False, target=target
+ )
@pytest.mark.parametrize("context", [None, False, 42, {}, []])
@@ -21,7 +24,8 @@ async def test_params_context_invalid_type(bidi_session, context):
await bidi_session.script.call_function(
function_declaration="(arg) => arg",
await_promise=False,
- target=ContextTarget(context))
+ target=ContextTarget(context),
+ )
@pytest.mark.parametrize("sandbox", [False, 42, {}, []])
@@ -30,8 +34,8 @@ async def test_params_sandbox_invalid_type(bidi_session, top_context, sandbox):
await bidi_session.script.call_function(
function_declaration="(arg) => arg",
await_promise=False,
- target=ContextTarget(top_context["context"],
- sandbox))
+ target=ContextTarget(top_context["context"], sandbox),
+ )
async def test_params_context_unknown(bidi_session):
@@ -39,7 +43,8 @@ async def test_params_context_unknown(bidi_session):
await bidi_session.script.call_function(
function_declaration="(arg) => arg",
await_promise=False,
- target=ContextTarget("_UNKNOWN_"))
+ target=ContextTarget("_UNKNOWN_"),
+ )
@pytest.mark.parametrize("realm", [None, False, 42, {}, []])
@@ -48,7 +53,8 @@ async def test_params_realm_invalid_type(bidi_session, realm):
await bidi_session.script.call_function(
function_declaration="(arg) => arg",
await_promise=False,
- target=RealmTarget(realm))
+ target=RealmTarget(realm),
+ )
async def test_params_realm_unknown(bidi_session):
@@ -56,50 +62,53 @@ async def test_params_realm_unknown(bidi_session):
await bidi_session.script.call_function(
function_declaration="(arg) => arg",
await_promise=False,
- target=RealmTarget("_UNKNOWN_"))
+ target=RealmTarget("_UNKNOWN_"),
+ )
@pytest.mark.parametrize("function_declaration", [None, False, 42, {}, []])
-async def test_params_function_declaration_invalid_type(bidi_session, top_context,
- function_declaration):
+async def test_params_function_declaration_invalid_type(
+ bidi_session, top_context, function_declaration
+):
with pytest.raises(error.InvalidArgumentException):
await bidi_session.script.call_function(
function_declaration=function_declaration,
await_promise=False,
- target=ContextTarget(top_context["context"]))
+ target=ContextTarget(top_context["context"]),
+ )
@pytest.mark.parametrize("this", [False, "SOME_STRING", 42, {}, []])
-async def test_params_this_invalid_type(bidi_session, top_context,
- this):
+async def test_params_this_invalid_type(bidi_session, top_context, this):
with pytest.raises(error.InvalidArgumentException):
await bidi_session.script.call_function(
function_declaration="(arg) => arg",
this=this,
await_promise=False,
- target=ContextTarget(top_context["context"]))
+ target=ContextTarget(top_context["context"]),
+ )
@pytest.mark.parametrize("arguments", [False, "SOME_STRING", 42, {}])
-async def test_params_arguments_invalid_type(bidi_session, top_context,
- arguments):
+async def test_params_arguments_invalid_type(bidi_session, top_context, arguments):
with pytest.raises(error.InvalidArgumentException):
await bidi_session.script.call_function(
function_declaration="(arg) => arg",
arguments=arguments,
await_promise=False,
- target=ContextTarget(top_context["context"]))
+ target=ContextTarget(top_context["context"]),
+ )
@pytest.mark.parametrize("argument", [False, "SOME_STRING", 42, {}, []])
-async def test_params_arguments_entry_invalid_type(bidi_session, top_context,
- argument):
+async def test_params_arguments_entry_invalid_type(bidi_session, top_context, argument):
with pytest.raises(error.InvalidArgumentException):
await bidi_session.script.call_function(
function_declaration="(arg) => arg",
arguments=[argument],
await_promise=False,
- target=ContextTarget(top_context["context"]))
+ target=ContextTarget(top_context["context"]),
+ )
@pytest.mark.parametrize("value", [None, False, "_UNKNOWN_", 42, []])
@@ -163,7 +172,10 @@ async def test_params_arguments_channel_serialization_options_invalid_type(
arguments=[
{
"type": "channel",
- "value": {"serializationOptions": serialization_options},
+ "value": {
+ "channel": "foo",
+ "serializationOptions": serialization_options,
+ },
}
],
await_promise=False,
@@ -182,7 +194,8 @@ async def test_params_arguments_channel_max_dom_depth_invalid_type(
{
"type": "channel",
"value": {
- "serializationOptions": {"maxDomDepth": max_dom_depth}
+ "channel": "foo",
+ "serializationOptions": {"maxDomDepth": max_dom_depth},
},
}
],
@@ -201,7 +214,8 @@ async def test_params_arguments_channel_max_dom_depth_invalid_value(
{
"type": "channel",
"value": {
- "serializationOptions": {"maxDomDepth": -1}
+ "channel": "foo",
+ "serializationOptions": {"maxDomDepth": -1},
},
}
],
@@ -221,7 +235,8 @@ async def test_params_arguments_channel_max_object_depth_invalid_type(
{
"type": "channel",
"value": {
- "serializationOptions": {"maxObjectDepth": max_object_depth}
+ "channel": "foo",
+ "serializationOptions": {"maxObjectDepth": max_object_depth},
},
}
],
@@ -239,7 +254,10 @@ async def test_params_arguments_channel_max_object_depth_invalid_value(
arguments=[
{
"type": "channel",
- "value": {"serializationOptions": {"maxObjectDepth": -1}},
+ "value": {
+ "channel": "foo",
+ "serializationOptions": {"maxObjectDepth": -1},
+ },
}
],
await_promise=False,
@@ -258,9 +276,10 @@ async def test_params_arguments_channel_include_shadow_tree_invalid_type(
{
"type": "channel",
"value": {
+ "channel": "foo",
"serializationOptions": {
"includeShadowTree": include_shadow_tree
- }
+ },
},
}
],
@@ -279,7 +298,8 @@ async def test_params_arguments_channel_include_shadow_tree_invalid_value(
{
"type": "channel",
"value": {
- "serializationOptions": {"includeShadowTree": "_UNKNOWN_"}
+ "channel": "foo",
+ "serializationOptions": {"includeShadowTree": "_UNKNOWN_"},
},
}
],
@@ -289,9 +309,7 @@ async def test_params_arguments_channel_include_shadow_tree_invalid_value(
@pytest.mark.parametrize("value", [None, False, 42, {}, []])
-async def test_params_arguments_handle_invalid_type(
- bidi_session, top_context, value
-):
+async def test_params_arguments_handle_invalid_type(bidi_session, top_context, value):
serialized_value = {
"handle": value,
}
@@ -301,12 +319,11 @@ async def test_params_arguments_handle_invalid_type(
function_declaration="(arg) => arg",
arguments=[serialized_value],
await_promise=False,
- target=ContextTarget(top_context["context"]))
+ target=ContextTarget(top_context["context"]),
+ )
-async def test_params_arguments_handle_unknown_value(
- bidi_session, top_context
-):
+async def test_params_arguments_handle_unknown_value(bidi_session, top_context):
serialized_value = {
"handle": "foo",
}
@@ -316,13 +333,12 @@ async def test_params_arguments_handle_unknown_value(
function_declaration="(arg) => arg",
arguments=[serialized_value],
await_promise=False,
- target=ContextTarget(top_context["context"]))
+ target=ContextTarget(top_context["context"]),
+ )
@pytest.mark.parametrize("value", [None, False, 42, {}, []])
-async def test_params_arguments_sharedId_invalid_type(
- bidi_session, top_context, value
-):
+async def test_params_arguments_sharedId_invalid_type(bidi_session, top_context, value):
serialized_value = {
"sharedId": value,
}
@@ -332,48 +348,59 @@ async def test_params_arguments_sharedId_invalid_type(
function_declaration="(arg) => arg",
arguments=[serialized_value],
await_promise=False,
- target=ContextTarget(top_context["context"]))
+ target=ContextTarget(top_context["context"]),
+ )
@pytest.mark.parametrize("await_promise", [None, "False", 0, 42, {}, []])
-async def test_params_await_promise_invalid_type(bidi_session, top_context,
- await_promise):
+async def test_params_await_promise_invalid_type(
+ bidi_session, top_context, await_promise
+):
with pytest.raises(error.InvalidArgumentException):
await bidi_session.script.call_function(
function_declaration="(arg) => arg",
await_promise=await_promise,
- target=ContextTarget(top_context["context"]))
+ target=ContextTarget(top_context["context"]),
+ )
@pytest.mark.parametrize("result_ownership", [False, "_UNKNOWN_", 42, {}, []])
-async def test_params_result_ownership_invalid_value(bidi_session, top_context,
- result_ownership):
+async def test_params_result_ownership_invalid_value(
+ bidi_session, top_context, result_ownership
+):
with pytest.raises(error.InvalidArgumentException):
await bidi_session.script.call_function(
function_declaration="(arg) => arg",
await_promise=False,
target=ContextTarget(top_context["context"]),
- result_ownership=result_ownership)
+ result_ownership=result_ownership,
+ )
@pytest.mark.parametrize("serialization_options", [False, "_UNKNOWN_", 42, []])
-async def test_params_serialization_options_invalid_type(bidi_session, top_context, serialization_options):
+async def test_params_serialization_options_invalid_type(
+ bidi_session, top_context, serialization_options
+):
with pytest.raises(error.InvalidArgumentException):
await bidi_session.script.call_function(
function_declaration="(arg) => arg",
serialization_options=serialization_options,
target=ContextTarget(top_context["context"]),
- await_promise=True)
+ await_promise=True,
+ )
@pytest.mark.parametrize("max_dom_depth", [False, "_UNKNOWN_", {}, []])
-async def test_params_max_dom_depth_invalid_type(bidi_session, top_context, max_dom_depth):
+async def test_params_max_dom_depth_invalid_type(
+ bidi_session, top_context, max_dom_depth
+):
with pytest.raises(error.InvalidArgumentException):
await bidi_session.script.call_function(
function_declaration="(arg) => arg",
serialization_options=SerializationOptions(max_dom_depth=max_dom_depth),
target=ContextTarget(top_context["context"]),
- await_promise=True)
+ await_promise=True,
+ )
async def test_params_max_dom_depth_invalid_value(bidi_session, top_context):
@@ -382,17 +409,23 @@ async def test_params_max_dom_depth_invalid_value(bidi_session, top_context):
function_declaration="(arg) => arg",
serialization_options=SerializationOptions(max_dom_depth=-1),
target=ContextTarget(top_context["context"]),
- await_promise=True)
+ await_promise=True,
+ )
@pytest.mark.parametrize("max_object_depth", [False, "_UNKNOWN_", {}, []])
-async def test_params_max_object_depth_invalid_type(bidi_session, top_context, max_object_depth):
+async def test_params_max_object_depth_invalid_type(
+ bidi_session, top_context, max_object_depth
+):
with pytest.raises(error.InvalidArgumentException):
await bidi_session.script.call_function(
function_declaration="(arg) => arg",
- serialization_options=SerializationOptions(max_object_depth=max_object_depth),
+ serialization_options=SerializationOptions(
+ max_object_depth=max_object_depth
+ ),
target=ContextTarget(top_context["context"]),
- await_promise=True)
+ await_promise=True,
+ )
async def test_params_max_object_depth_invalid_value(bidi_session, top_context):
@@ -401,17 +434,23 @@ async def test_params_max_object_depth_invalid_value(bidi_session, top_context):
function_declaration="(arg) => arg",
serialization_options=SerializationOptions(max_object_depth=-1),
target=ContextTarget(top_context["context"]),
- await_promise=True)
+ await_promise=True,
+ )
@pytest.mark.parametrize("include_shadow_tree", [False, 42, {}, []])
-async def test_params_include_shadow_tree_invalid_type(bidi_session, top_context, include_shadow_tree):
+async def test_params_include_shadow_tree_invalid_type(
+ bidi_session, top_context, include_shadow_tree
+):
with pytest.raises(error.InvalidArgumentException):
await bidi_session.script.call_function(
function_declaration="(arg) => arg",
- serialization_options=SerializationOptions(include_shadow_tree=include_shadow_tree),
+ serialization_options=SerializationOptions(
+ include_shadow_tree=include_shadow_tree
+ ),
target=ContextTarget(top_context["context"]),
- await_promise=True)
+ await_promise=True,
+ )
async def test_params_include_shadow_tree_invalid_value(bidi_session, top_context):
@@ -420,14 +459,18 @@ async def test_params_include_shadow_tree_invalid_value(bidi_session, top_contex
function_declaration="(arg) => arg",
serialization_options=SerializationOptions(include_shadow_tree="foo"),
target=ContextTarget(top_context["context"]),
- await_promise=True)
+ await_promise=True,
+ )
@pytest.mark.parametrize("user_activation", ["foo", 42, {}, []])
-async def test_params_user_activation_invalid_type(bidi_session, top_context, user_activation):
+async def test_params_user_activation_invalid_type(
+ bidi_session, top_context, user_activation
+):
with pytest.raises(error.InvalidArgumentException):
await bidi_session.script.call_function(
function_declaration="(arg) => arg",
target=ContextTarget(top_context["context"]),
await_promise=False,
- user_activation=user_activation)
+ user_activation=user_activation,
+ )
diff --git a/tests/wpt/tests/webdriver/tests/classic/element_send_keys/scroll_into_view.py b/tests/wpt/tests/webdriver/tests/classic/element_send_keys/scroll_into_view.py
index 7ccaeaf8142..af20211251a 100644
--- a/tests/wpt/tests/webdriver/tests/classic/element_send_keys/scroll_into_view.py
+++ b/tests/wpt/tests/webdriver/tests/classic/element_send_keys/scroll_into_view.py
@@ -1,17 +1,27 @@
+import pytest
+
from tests.support.asserts import assert_success
from tests.support.helpers import is_element_in_viewport
def element_send_keys(session, element, text):
return session.transport.send(
- "POST", "/session/{session_id}/element/{element_id}/value".format(
- session_id=session.session_id,
- element_id=element.id),
- {"text": text})
+ "POST",
+ "/session/{session_id}/element/{element_id}/value".format(
+ session_id=session.session_id, element_id=element.id
+ ),
+ {"text": text},
+ )
+
+
+def get_bounding_client_top(session, element):
+ return session.execute_script(
+ "return arguments[0].getBoundingClientRect().top", args=(element,)
+ )
def test_element_outside_of_not_scrollable_viewport(session, inline):
- session.url = inline("<input style=\"position: relative; left: -9999px;\">")
+ session.url = inline('<input style="position: relative; left: -9999px;">')
element = session.find.css("input", all=False)
response = element_send_keys(session, element, "foo")
@@ -21,7 +31,7 @@ def test_element_outside_of_not_scrollable_viewport(session, inline):
def test_element_outside_of_scrollable_viewport(session, inline):
- session.url = inline("<input style=\"margin-top: 102vh;\">")
+ session.url = inline('<input style="margin-top: 102vh;">')
element = session.find.css("input", all=False)
response = element_send_keys(session, element, "foo")
@@ -31,10 +41,73 @@ def test_element_outside_of_scrollable_viewport(session, inline):
def test_contenteditable_element_outside_of_scrollable_viewport(session, inline):
- session.url = inline("<div contenteditable style=\"margin-top: 102vh;\"></div>")
+ session.url = inline('<div contenteditable style="margin-top: 102vh;"></div>')
element = session.find.css("div", all=False)
response = element_send_keys(session, element, "foo")
assert_success(response)
assert is_element_in_viewport(session, element)
+
+
+@pytest.mark.parametrize(
+ "scrolloptions",
+ [
+ "{block: 'start'}",
+ "{block: 'center'}",
+ "{block: 'end'}",
+ "{block: 'nearest'}",
+ ],
+)
+def test_element_already_in_viewport(session, inline, scrolloptions):
+ session.url = inline(
+ '<div style="height: 600vh;"><input style="position: absolute; top:300vh;"></div>'
+ )
+ element = session.find.css("input", all=False)
+ session.execute_script(
+ f"arguments[0].scrollIntoView({scrolloptions})", args=(element,)
+ )
+
+ assert is_element_in_viewport(session, element)
+ initial_top = get_bounding_client_top(session, element)
+
+ response = element_send_keys(session, element, "cat")
+ assert_success(response)
+
+ # Account for potential rounding errors.
+ # TODO It may be possible to remove the fuzzy check once bug 1852884 and bug 1774315 are fixed.
+ assert (
+ (initial_top - 1)
+ <= get_bounding_client_top(session, element)
+ <= (initial_top + 1)
+ )
+ assert is_element_in_viewport(session, element)
+
+
+@pytest.mark.parametrize(
+ ("scrolloptions", "scrollby"),
+ [
+ ("{block: 'start'}", 25),
+ ("{block: 'end'}", -25),
+ ],
+ ids=["Just above viewport", "Just below viewport"],
+)
+def test_element_just_outside_viewport(session, inline, scrolloptions, scrollby):
+ session.url = inline(
+ '<div style="height: 600vh;"><input style="position: absolute; top:300vh; height:30px"></div>'
+ )
+ element = session.find.css("input", all=False)
+ session.execute_script(
+ f"""
+ arguments[0].scrollIntoView({scrolloptions});
+ window.scrollBy(0, {scrollby});
+ """,
+ args=(element,),
+ )
+
+ assert is_element_in_viewport(session, element)
+
+ response = element_send_keys(session, element, "cat")
+ assert_success(response)
+
+ assert is_element_in_viewport(session, element)
diff --git a/tests/wpt/tests/webnn/conformance_tests/elementwise_logical.https.any.js b/tests/wpt/tests/webnn/conformance_tests/elementwise_logical.https.any.js
deleted file mode 100644
index 826b21dd8fe..00000000000
--- a/tests/wpt/tests/webnn/conformance_tests/elementwise_logical.https.any.js
+++ /dev/null
@@ -1,26 +0,0 @@
-// META: title=test WebNN API element-wise logical operations
-// META: global=window,dedicatedworker
-// META: variant=?cpu
-// META: variant=?gpu
-// META: variant=?npu
-// META: script=../resources/utils.js
-// META: timeout=long
-
-'use strict';
-
-// https://webmachinelearning.github.io/webnn/#api-mlgraphbuilder-logical
-
-if (navigator.ml) {
- testWebNNOperation(
- [
- 'equal',
- 'greater',
- 'greaterOrEqual',
- 'lesser',
- 'lesserOrEqual',
- ],
- buildOperationWithTwoInputs);
- testWebNNOperation('logicalNot', buildOperationWithSingleInput);
-} else {
- test(() => assert_implements(navigator.ml, 'missing navigator.ml'));
-}
diff --git a/tests/wpt/tests/webnn/conformance_tests/equal.https.any.js b/tests/wpt/tests/webnn/conformance_tests/equal.https.any.js
new file mode 100644
index 00000000000..4b8c6c646d8
--- /dev/null
+++ b/tests/wpt/tests/webnn/conformance_tests/equal.https.any.js
@@ -0,0 +1,13 @@
+// META: title=test WebNN API element-wise binary operations
+// META: global=window,dedicatedworker
+// META: variant=?cpu
+// META: variant=?gpu
+// META: variant=?npu
+// META: script=../resources/utils.js
+// META: timeout=long
+
+'use strict';
+
+// https://webmachinelearning.github.io/webnn/#dom-mlgraphbuilder-equal
+
+runWebNNConformanceTests('equal', buildOperationWithTwoInputs);
diff --git a/tests/wpt/tests/webnn/conformance_tests/greater.https.any.js b/tests/wpt/tests/webnn/conformance_tests/greater.https.any.js
new file mode 100644
index 00000000000..8d642413e29
--- /dev/null
+++ b/tests/wpt/tests/webnn/conformance_tests/greater.https.any.js
@@ -0,0 +1,13 @@
+// META: title=test WebNN API element-wise binary operations
+// META: global=window,dedicatedworker
+// META: variant=?cpu
+// META: variant=?gpu
+// META: variant=?npu
+// META: script=../resources/utils.js
+// META: timeout=long
+
+'use strict';
+
+// https://webmachinelearning.github.io/webnn/#dom-mlgraphbuilder-greater
+
+runWebNNConformanceTests('greater', buildOperationWithTwoInputs);
diff --git a/tests/wpt/tests/webnn/conformance_tests/greater_or_equal.https.any.js b/tests/wpt/tests/webnn/conformance_tests/greater_or_equal.https.any.js
new file mode 100644
index 00000000000..676116aff66
--- /dev/null
+++ b/tests/wpt/tests/webnn/conformance_tests/greater_or_equal.https.any.js
@@ -0,0 +1,13 @@
+// META: title=test WebNN API element-wise binary operations
+// META: global=window,dedicatedworker
+// META: variant=?cpu
+// META: variant=?gpu
+// META: variant=?npu
+// META: script=../resources/utils.js
+// META: timeout=long
+
+'use strict';
+
+// https://webmachinelearning.github.io/webnn/#dom-mlgraphbuilder-greaterorequal
+
+runWebNNConformanceTests('greaterOrEqual', buildOperationWithTwoInputs);
diff --git a/tests/wpt/tests/webnn/conformance_tests/lesser.https.any.js b/tests/wpt/tests/webnn/conformance_tests/lesser.https.any.js
new file mode 100644
index 00000000000..246c3ed2c26
--- /dev/null
+++ b/tests/wpt/tests/webnn/conformance_tests/lesser.https.any.js
@@ -0,0 +1,13 @@
+// META: title=test WebNN API element-wise binary operations
+// META: global=window,dedicatedworker
+// META: variant=?cpu
+// META: variant=?gpu
+// META: variant=?npu
+// META: script=../resources/utils.js
+// META: timeout=long
+
+'use strict';
+
+// https://webmachinelearning.github.io/webnn/#dom-mlgraphbuilder-lesser
+
+runWebNNConformanceTests('lesser', buildOperationWithTwoInputs);
diff --git a/tests/wpt/tests/webnn/conformance_tests/lesser_or_equal.https.any.js b/tests/wpt/tests/webnn/conformance_tests/lesser_or_equal.https.any.js
new file mode 100644
index 00000000000..75d60bd73ce
--- /dev/null
+++ b/tests/wpt/tests/webnn/conformance_tests/lesser_or_equal.https.any.js
@@ -0,0 +1,13 @@
+// META: title=test WebNN API element-wise binary operations
+// META: global=window,dedicatedworker
+// META: variant=?cpu
+// META: variant=?gpu
+// META: variant=?npu
+// META: script=../resources/utils.js
+// META: timeout=long
+
+'use strict';
+
+// https://webmachinelearning.github.io/webnn/#dom-mlgraphbuilder-lesserorequal
+
+runWebNNConformanceTests('lesserOrEqual', buildOperationWithTwoInputs);
diff --git a/tests/wpt/tests/webnn/conformance_tests/logical_not.https.any.js b/tests/wpt/tests/webnn/conformance_tests/logical_not.https.any.js
new file mode 100644
index 00000000000..db0cc4e8c60
--- /dev/null
+++ b/tests/wpt/tests/webnn/conformance_tests/logical_not.https.any.js
@@ -0,0 +1,13 @@
+// META: title=test WebNN API element-wise binary operations
+// META: global=window,dedicatedworker
+// META: variant=?cpu
+// META: variant=?gpu
+// META: variant=?npu
+// META: script=../resources/utils.js
+// META: timeout=long
+
+'use strict';
+
+// https://webmachinelearning.github.io/webnn/#dom-mlgraphbuilder-logicalnot
+
+runWebNNConformanceTests('logicalNot', buildOperationWithSingleInput);
diff --git a/tests/wpt/tests/webnn/resources/test_data/add.json b/tests/wpt/tests/webnn/resources/test_data/add.json
index 28e04a61274..804ad5e345d 100644
--- a/tests/wpt/tests/webnn/resources/test_data/add.json
+++ b/tests/wpt/tests/webnn/resources/test_data/add.json
@@ -900,6 +900,29 @@
"data": 166.57718752610668,
"type": "float32"
}
+ },
+ {
+ "name": "add float32 with special character names",
+ "inputs": {
+ "12-L#!.☺": {
+ "shape": [1],
+ "data": [89.32998288116718],
+ "type": "float32",
+ "constant": true
+ },
+ "🤦🏼‍♂️124DS#!F": {
+ "shape": [1],
+ "data": [77.2472046449394945],
+ "type": "float32",
+ "constant": false
+ }
+ },
+ "expected": {
+ "name": "output",
+ "shape": [1],
+ "data": [166.57718752610668],
+ "type": "float32"
+ }
}
]
} \ No newline at end of file
diff --git a/tests/wpt/tests/webnn/resources/test_data/arg_max.json b/tests/wpt/tests/webnn/resources/test_data/arg_max.json
index 348a54dc240..d65939d0477 100644
--- a/tests/wpt/tests/webnn/resources/test_data/arg_max.json
+++ b/tests/wpt/tests/webnn/resources/test_data/arg_max.json
@@ -41,7 +41,7 @@
"data": [
3
],
- "type": "int64"
+ "type": "int32"
}
},
{
@@ -84,7 +84,7 @@
"data": [
3
],
- "type": "int64"
+ "type": "int32"
}
},
{
@@ -127,7 +127,7 @@
"data": [
3
],
- "type": "int64"
+ "type": "int32"
}
},
{
@@ -170,7 +170,7 @@
"data": [
3
],
- "type": "int64"
+ "type": "int32"
}
},
{
@@ -213,7 +213,7 @@
"data": [
3
],
- "type": "int64"
+ "type": "int32"
}
},
{
@@ -256,7 +256,7 @@
"data": [
3
],
- "type": "int64"
+ "type": "int32"
}
},
{
@@ -307,7 +307,7 @@
2,
2
],
- "type": "int64"
+ "type": "int32"
}
},
{
@@ -376,7 +376,7 @@
0,
0
],
- "type": "int64"
+ "type": "int32"
}
},
{
@@ -422,7 +422,7 @@
"data": [
3
],
- "type": "int64"
+ "type": "int32"
}
},
{
@@ -468,99 +468,7 @@
"data": [
3
],
- "type": "int64"
- }
- },
- {
- "name": "argMax float32 4D tensor options.selectLastIndex=true",
- "inputs": {
- "input": {
- "shape": [2, 1, 4, 3],
- "data": [
- -51.0936194154457,
- -6.5397018645619625,
- 73.81338015899149,
- 88.46114630531724,
- -5.294266751122791,
- -79.20668057325759,
- -41.70176598864654,
- 73.81338015899149,
- 88.46114630531724,
- -84.939998758247,
- -61.488942502520906,
- -98.33874402761955,
- -51.0936194154457,
- -6.5397018645619625,
- 73.81338015899149,
- 88.46114630531724,
- -5.294266751122791,
- -79.20668057325759,
- -41.70176598864654,
- 73.81338015899149,
- 88.46114630531724,
- -84.939998758247,
- -61.488942502520906,
- -98.33874402761955
- ],
- "type": "float32"
- }
- },
- "options": {
- "selectLastIndex": true
- },
- "expected": {
- "name": "output",
- "shape": [],
- "data": [
- 20
- ],
- "type": "int64"
- }
- },
- {
- "name": "argMax float32 4D tensor options.selectLastIndex=false",
- "inputs": {
- "input": {
- "shape": [2, 1, 4, 3],
- "data": [
- -51.0936194154457,
- -6.5397018645619625,
- 73.81338015899149,
- 88.46114630531724,
- -5.294266751122791,
- -79.20668057325759,
- -41.70176598864654,
- 73.81338015899149,
- 88.46114630531724,
- -84.939998758247,
- -61.488942502520906,
- -98.33874402761955,
- -51.0936194154457,
- -6.5397018645619625,
- 73.81338015899149,
- 88.46114630531724,
- -5.294266751122791,
- -79.20668057325759,
- -41.70176598864654,
- 73.81338015899149,
- 88.46114630531724,
- -84.939998758247,
- -61.488942502520906,
- -98.33874402761955
- ],
- "type": "float32"
- }
- },
- "options": {
- "selectLastIndex": false
- },
- "expected": {
- "name": "output",
- "shape": [],
- "data": [
- 3
- ],
- "type": "int64"
+ "type": "int32"
}
},
{
@@ -609,7 +517,7 @@
2,
2
],
- "type": "int64"
+ "type": "int32"
}
},
{
@@ -659,11 +567,11 @@
2,
1
],
- "type": "int64"
+ "type": "int32"
}
},
{
- "name": "argMax float32 4D tensor options.axes=[0, 2] options.selectLastIndex=false",
+ "name": "argMax float32 4D tensor options.axes=[0, 2]",
"inputs": {
"input": {
"shape": [2, 1, 4, 3],
@@ -697,8 +605,7 @@
}
},
"options": {
- "axes": [0, 2],
- "selectLastIndex": false
+ "axes": [0, 2]
},
"expected": {
"name": "output",
@@ -708,11 +615,11 @@
2,
2
],
- "type": "int64"
+ "type": "int32"
}
},
{
- "name": "argMax float32 4D tensor options.axes=[0, 2] options.selectLastIndex=true",
+ "name": "argMax float32 4D tensor options.axes=[3, 0, 1]",
"inputs": {
"input": {
"shape": [2, 1, 4, 3],
@@ -746,57 +653,7 @@
}
},
"options": {
- "axes": [0, 2],
- "selectLastIndex": true
- },
- "expected": {
- "name": "output",
- "shape": [1, 3],
- "data": [
- 5,
- 6,
- 6
- ],
- "type": "int64"
- }
- },
- {
- "name": "argMax float32 4D tensor options.axes=[3, 0, 1] options.selectLastIndex=false",
- "inputs": {
- "input": {
- "shape": [2, 1, 4, 3],
- "data": [
- -51.0936194154457,
- -6.5397018645619625,
- 73.81338015899149,
- 88.46114630531724,
- -5.294266751122791,
- -79.20668057325759,
- -41.70176598864654,
- 73.81338015899149,
- 88.46114630531724,
- -84.939998758247,
- -61.488942502520906,
- -98.33874402761955,
- -51.0936194154457,
- -6.5397018645619625,
- 73.81338015899149,
- 88.46114630531724,
- -5.294266751122791,
- -79.20668057325759,
- -41.70176598864654,
- 73.81338015899149,
- 88.46114630531724,
- -84.939998758247,
- -61.488942502520906,
- -98.33874402761955
- ],
- "type": "float32"
- }
- },
- "options": {
- "axes": [3, 0, 1],
- "selectLastIndex": false
+ "axes": [3, 0, 1]
},
"expected": {
"name": "output",
@@ -807,57 +664,7 @@
2,
1
],
- "type": "int64"
- }
- },
- {
- "name": "argMax float32 4D tensor options.axes=[3, 0, 1] options.selectLastIndex=true",
- "inputs": {
- "input": {
- "shape": [2, 1, 4, 3],
- "data": [
- -51.0936194154457,
- -6.5397018645619625,
- 73.81338015899149,
- 88.46114630531724,
- -5.294266751122791,
- -79.20668057325759,
- -41.70176598864654,
- 73.81338015899149,
- 88.46114630531724,
- -84.939998758247,
- -61.488942502520906,
- -98.33874402761955,
- -51.0936194154457,
- -6.5397018645619625,
- 73.81338015899149,
- 88.46114630531724,
- -5.294266751122791,
- -79.20668057325759,
- -41.70176598864654,
- 73.81338015899149,
- 88.46114630531724,
- -84.939998758247,
- -61.488942502520906,
- -98.33874402761955
- ],
- "type": "float32"
- }
- },
- "options": {
- "axes": [3, 0, 1],
- "selectLastIndex": true
- },
- "expected": {
- "name": "output",
- "shape": [4],
- "data": [
- 5,
- 3,
- 5,
- 4
- ],
- "type": "int64"
+ "type": "int32"
}
},
{
@@ -896,8 +703,7 @@
},
"options": {
"axes": [3, 0],
- "keepDimensions": true,
- "selectLastIndex": false
+ "keepDimensions": true
},
"expected": {
"name": "output",
@@ -908,7 +714,7 @@
2,
1
],
- "type": "int64"
+ "type": "int32"
}
},
{
@@ -931,11 +737,11 @@
"data": [
0
],
- "type": "int64"
+ "type": "int32"
}
},
{
- "name": "argMax float32 0D scalar options.axes=[] no effect by both keepDimensions and selectLastIndex being true",
+ "name": "argMax float32 0D scalar options.axes=[] no effect by keepDimensions being true",
"inputs": {
"input": {
"shape": [],
@@ -947,8 +753,7 @@
},
"options": {
"axes": [],
- "keepDimensions": true,
- "selectLastIndex": true
+ "keepDimensions": true
},
"expected": {
"name": "output",
@@ -956,7 +761,7 @@
"data": [
0
],
- "type": "int64"
+ "type": "int32"
}
}
]
diff --git a/tests/wpt/tests/webnn/resources/test_data/arg_min.json b/tests/wpt/tests/webnn/resources/test_data/arg_min.json
index 330afbc7107..f7b3f6d10d6 100644
--- a/tests/wpt/tests/webnn/resources/test_data/arg_min.json
+++ b/tests/wpt/tests/webnn/resources/test_data/arg_min.json
@@ -41,7 +41,7 @@
"data": [
7
],
- "type": "int64"
+ "type": "int32"
}
},
{
@@ -84,7 +84,7 @@
"data": [
7
],
- "type": "int64"
+ "type": "int32"
}
},
{
@@ -127,7 +127,7 @@
"data": [
7
],
- "type": "int64"
+ "type": "int32"
}
},
{
@@ -170,7 +170,7 @@
"data": [
7
],
- "type": "int64"
+ "type": "int32"
}
},
{
@@ -213,7 +213,7 @@
"data": [
7
],
- "type": "int64"
+ "type": "int32"
}
},
{
@@ -256,7 +256,7 @@
"data": [
7
],
- "type": "int64"
+ "type": "int32"
}
},
{
@@ -307,7 +307,7 @@
0,
0
],
- "type": "int64"
+ "type": "int32"
}
},
{
@@ -376,7 +376,7 @@
0,
0
],
- "type": "int64"
+ "type": "int32"
}
},
{
@@ -422,7 +422,7 @@
"data": [
7
],
- "type": "int64"
+ "type": "int32"
}
},
{
@@ -468,99 +468,7 @@
"data": [
7
],
- "type": "int64"
- }
- },
- {
- "name": "argMin float32 4D tensor options.selectLastIndex=true",
- "inputs": {
- "input": {
- "shape": [2, 1, 4, 3],
- "data": [
- 3.830124090690262,
- -24.986487937638074,
- 5.299982630691289,
- -48.5486590218902,
- 40.30886781808215,
- 60.184293919409726,
- -82.78385618759043,
- -96.50904103637833,
- 71.87028201591897,
- 38.866394268784035,
- -39.143725517854435,
- 31.444366685561903,
- -82.78385618759043,
- -96.50904103637833,
- -25.53388886326502,
- -16.142265850469343,
- 66.63677406472371,
- 82.5119815304117,
- -82.78385618759043,
- -96.50904103637833,
- 39.7687246127592,
- 42.15040238450999,
- 82.66863662444459,
- 85.4526923278379
- ],
- "type": "float32"
- }
- },
- "options": {
- "selectLastIndex": true
- },
- "expected": {
- "name": "output",
- "shape": [],
- "data": [
- 19
- ],
- "type": "int64"
- }
- },
- {
- "name": "argMin float32 4D tensor options.selectLastIndex=false",
- "inputs": {
- "input": {
- "shape": [2, 1, 4, 3],
- "data": [
- 3.830124090690262,
- -24.986487937638074,
- 5.299982630691289,
- -48.5486590218902,
- 40.30886781808215,
- 60.184293919409726,
- -82.78385618759043,
- -96.50904103637833,
- 71.87028201591897,
- 38.866394268784035,
- -39.143725517854435,
- 31.444366685561903,
- -82.78385618759043,
- -96.50904103637833,
- -25.53388886326502,
- -16.142265850469343,
- 66.63677406472371,
- 82.5119815304117,
- -82.78385618759043,
- -96.50904103637833,
- 39.7687246127592,
- 42.15040238450999,
- 82.66863662444459,
- 85.4526923278379
- ],
- "type": "float32"
- }
- },
- "options": {
- "selectLastIndex": false
- },
- "expected": {
- "name": "output",
- "shape": [],
- "data": [
- 7
- ],
- "type": "int64"
+ "type": "int32"
}
},
{
@@ -609,7 +517,7 @@
2,
4
],
- "type": "int64"
+ "type": "int32"
}
},
{
@@ -659,11 +567,11 @@
1,
1
],
- "type": "int64"
+ "type": "int32"
}
},
{
- "name": "argMin float32 4D tensor options.axes=[0, 2] options.selectLastIndex=false",
+ "name": "argMin float32 4D tensor options.axes=[0, 2]",
"inputs": {
"input": {
"shape": [2, 1, 4, 3],
@@ -697,8 +605,7 @@
}
},
"options": {
- "axes": [0, 2],
- "selectLastIndex": false
+ "axes": [0, 2]
},
"expected": {
"name": "output",
@@ -708,60 +615,11 @@
2,
4
],
- "type": "int64"
- }
- },
- {
- "name": "argMin float32 4D tensor options.axes=[0, 2] options.selectLastIndex=true",
- "inputs": {
- "input": {
- "shape": [2, 1, 4, 3],
- "data": [
- 3.830124090690262,
- -24.986487937638074,
- 5.299982630691289,
- -48.5486590218902,
- 40.30886781808215,
- 60.184293919409726,
- -82.78385618759043,
- -96.50904103637833,
- 71.87028201591897,
- 38.866394268784035,
- -39.143725517854435,
- 31.444366685561903,
- -82.78385618759043,
- -96.50904103637833,
- -25.53388886326502,
- -16.142265850469343,
- 66.63677406472371,
- 82.5119815304117,
- -82.78385618759043,
- -96.50904103637833,
- 39.7687246127592,
- 42.15040238450999,
- 82.66863662444459,
- 85.4526923278379
- ],
- "type": "float32"
- }
- },
- "options": {
- "axes": [0, 2],
- "selectLastIndex": true
- },
- "expected": {
- "name": "output",
- "shape": [1, 3],
- "data": [
- 6,
- 6,
- 4
- ],
- "type": "int64"
+ "type": "int32"
}
},
{
- "name": "argMin float32 4D tensor options.axes=[3, 0, 1] options.selectLastIndex=false",
+ "name": "argMin float32 4D tensor options.axes=[3, 0, 1]",
"inputs": {
"input": {
"shape": [2, 1, 4, 3],
@@ -795,8 +653,7 @@
}
},
"options": {
- "axes": [3, 0, 1],
- "selectLastIndex": false
+ "axes": [3, 0, 1]
},
"expected": {
"name": "output",
@@ -807,57 +664,7 @@
1,
1
],
- "type": "int64"
- }
- },
- {
- "name": "argMin float32 4D tensor options.axes=[3, 0, 1] options.selectLastIndex=true",
- "inputs": {
- "input": {
- "shape": [2, 1, 4, 3],
- "data": [
- 3.830124090690262,
- -24.986487937638074,
- 5.299982630691289,
- -48.5486590218902,
- 40.30886781808215,
- 60.184293919409726,
- -82.78385618759043,
- -96.50904103637833,
- 71.87028201591897,
- 38.866394268784035,
- -39.143725517854435,
- 31.444366685561903,
- -82.78385618759043,
- -96.50904103637833,
- -25.53388886326502,
- -16.142265850469343,
- 66.63677406472371,
- 82.5119815304117,
- -82.78385618759043,
- -96.50904103637833,
- 39.7687246127592,
- 42.15040238450999,
- 82.66863662444459,
- 85.4526923278379
- ],
- "type": "float32"
- }
- },
- "options": {
- "axes": [3, 0, 1],
- "selectLastIndex": true
- },
- "expected": {
- "name": "output",
- "shape": [4],
- "data": [
- 4,
- 0,
- 4,
- 1
- ],
- "type": "int64"
+ "type": "int32"
}
},
{
@@ -896,8 +703,7 @@
},
"options": {
"axes": [3, 0],
- "keepDimensions": true,
- "selectLastIndex": false
+ "keepDimensions": true
},
"expected": {
"name": "output",
@@ -908,7 +714,7 @@
1,
1
],
- "type": "int64"
+ "type": "int32"
}
},
{
@@ -931,11 +737,11 @@
"data": [
0
],
- "type": "int64"
+ "type": "int32"
}
},
{
- "name": "argMin float32 0D scalar options.axes=[] no effect by both keepDimensions and selectLastIndex being true",
+ "name": "argMin float32 0D scalar options.axes=[] no effect by keepDimensions being true",
"inputs": {
"input": {
"shape": [],
@@ -947,8 +753,7 @@
},
"options": {
"axes": [],
- "keepDimensions": true,
- "selectLastIndex": true
+ "keepDimensions": true
},
"expected": {
"name": "output",
@@ -956,7 +761,7 @@
"data": [
0
],
- "type": "int64"
+ "type": "int32"
}
}
]
diff --git a/tests/wpt/tests/webnn/resources/utils.js b/tests/wpt/tests/webnn/resources/utils.js
index 5008c008e68..7f99e3e1593 100644
--- a/tests/wpt/tests/webnn/resources/utils.js
+++ b/tests/wpt/tests/webnn/resources/utils.js
@@ -12,6 +12,27 @@ const TypedArrayDict = {
uint8: Uint8Array,
int64: BigInt64Array,
};
+const kIntTypes = ['uint8', 'int8', 'uint32', 'int32', 'uint64', 'int64'];
+const kFloatTypes = ['float16', 'float32'];
+
+const findCompatibleType =
+ (dataType, supportedTypes) => {
+ for (let supportedType of supportedTypes) {
+ if (kIntTypes.includes(dataType)) {
+ if (kIntTypes.indexOf(supportedType) > kIntTypes.indexOf(dataType)) {
+ return supportedType;
+ }
+ }
+
+ if (kFloatTypes.includes(dataType)) {
+ if (kFloatTypes.indexOf(supportedType) >
+ kFloatTypes.indexOf(dataType)) {
+ return supportedType;
+ }
+ }
+ }
+ return null;
+ }
const kContextOptionsForVariant = {
cpu: {
@@ -615,47 +636,79 @@ const checkResults = (operationName, namedOutputOperands, outputs, resources) =>
* Create a constant operand
* @param {MLGraphBuilder} builder - A ML graph builder
* @param {Object} resources - Resources used for constant operand
+ * @param {String} dataType - optional dataType if it's different from resources
* @returns {MLOperand} A constant operand
*/
-const createConstantOperand = (builder, resources) => {
+const createConstantOperand = (builder, resources, dataType = null) => {
+ if (!dataType) {
+ dataType = resources.type;
+ }
+
const bufferView = (typeof (resources.data) === 'number' &&
sizeOfShape(resources.shape) > 1) ?
- new TypedArrayDict[resources.type](sizeOfShape(resources.shape))
+ new TypedArrayDict[dataType](sizeOfShape(resources.shape))
.fill(resources.data) :
- new TypedArrayDict[resources.type](resources.data);
- return builder.constant({dataType: resources.type, type: resources.type, dimensions: resources.shape}, bufferView);
+ new TypedArrayDict[dataType](resources.data);
+ return builder.constant(
+ {dataType: dataType, type: dataType, dimensions: resources.shape},
+ bufferView);
};
/**
* Create single input operands for a graph.
+ * @param {MLContext} context - A ML context
* @param {MLGraphBuilder} builder - A ML graph builder
* @param {Object} resources - Resources used for building a graph
* @param {String} [inputOperandName] - An inputOperand name
* @returns {MLOperand} An input operand
*/
-const createSingleInputOperand = (builder, resources, inputOperandName) => {
- inputOperandName = inputOperandName ? inputOperandName : Object.keys(resources.inputs)[0];
- const inputResources = resources.inputs[inputOperandName];
- let operand;
- if (resources.inputs[inputOperandName].hasOwnProperty('constant') && resources.inputs[inputOperandName]['constant']) {
- operand = createConstantOperand(builder, resources.inputs[inputOperandName]);
- } else {
- operand = builder.input(inputOperandName, {dataType: inputResources.type, type: inputResources.type, dimensions: inputResources.shape});
- }
- return operand;
-};
+const createSingleInputOperand =
+ (context, builder, resources, inputOperandName) => {
+ inputOperandName ||= Object.keys(resources.inputs)[0];
+ const inputResources = resources.inputs[inputOperandName];
+ let operand;
+ let dataType = inputResources.type;
+ // If input data type is not supported on current platform, attempt to use
+ // a supported type to pass the data, then cast back to original type.
+ if (!context.opSupportLimits().input.dataTypes.includes(
+ inputResources.type)) {
+ const compatible_type = findCompatibleType(
+ inputResources.type, context.opSupportLimits().input.dataTypes);
+ if (compatible_type) {
+ inputResources.castedType = compatible_type;
+ dataType = compatible_type;
+ }
+ }
+ if (resources.inputs[inputOperandName].hasOwnProperty('constant') &&
+ resources.inputs[inputOperandName]['constant']) {
+ operand = createConstantOperand(
+ builder, resources.inputs[inputOperandName], dataType);
+ } else {
+ operand = builder.input(inputOperandName, {
+ dataType: dataType,
+ type: dataType,
+ dimensions: inputResources.shape
+ });
+ }
+ if (inputResources.castedType) {
+ operand = builder.cast(operand, inputResources.type);
+ }
+ return operand;
+ };
/**
* Create multi input operands for a graph.
+ * @param {MLContext} context - A ML context
* @param {MLGraphBuilder} builder - A ML graph builder
* @param {Object} resources - Resources used for building a graph
* @returns {MLOperand[]} Input operands array
*/
-const createMultiInputOperands = (builder, resources) => {
+const createMultiInputOperands = (context, builder, resources) => {
let inputOperands = [];
const inputOperandNameArray = Object.keys(resources.inputs);
inputOperandNameArray.forEach(inputOperandName => {
- const operand = createSingleInputOperand(builder, resources, inputOperandName);
+ const operand =
+ createSingleInputOperand(context, builder, resources, inputOperandName);
inputOperands.push(operand);
});
return inputOperands;
@@ -664,41 +717,67 @@ const createMultiInputOperands = (builder, resources) => {
/**
* Build an operation which has a single input.
* @param {String} operationName - An operation name
+ * @param {MLContext} context - A ML context
* @param {MLGraphBuilder} builder - A ML graph builder
* @param {Object} resources - Resources used for building a graph
* @returns {MLNamedOperands}
*/
-const buildOperationWithSingleInput = (operationName, builder, resources) => {
- const namedOutputOperand = {};
- const inputOperand = createSingleInputOperand(builder, resources);
- const outputOperand = resources.options ?
- builder[operationName](inputOperand, resources.options) : builder[operationName](inputOperand);
- namedOutputOperand[resources.expected.name] = outputOperand;
- return namedOutputOperand;
-};
+const buildOperationWithSingleInput =
+ (operationName, context, builder, resources) => {
+ const namedOutputOperand = {};
+ const inputOperand =
+ createSingleInputOperand(context, builder, resources);
+ let outputOperand = resources.options ?
+ builder[operationName](inputOperand, resources.options) :
+ builder[operationName](inputOperand);
+ if (!context.opSupportLimits().output.dataTypes.includes(
+ resources.expected.type)) {
+ const compatibleType = findCompatibleType(
+ resources.expected.type,
+ context.opSupportLimits().output.dataTypes);
+ outputOperand = builder.cast(outputOperand, compatibleType);
+ resources.expected.castedType = compatibleType;
+ }
+ namedOutputOperand[resources.expected.name] = outputOperand;
+ return namedOutputOperand;
+ };
/**
* Build an operation which has two inputs.
* @param {String} operationName - An operation name
+ * @param {MLContext} context - A ML context
* @param {MLGraphBuilder} builder - A ML graph builder
* @param {Object} resources - Resources used for building a graph
* @returns {MLNamedOperands}
*/
-const buildOperationWithTwoInputs = (operationName, builder, resources) => {
- // For example: MLOperand matmul(MLOperand a, MLOperand b);
- const namedOutputOperand = {};
- const [inputOperandA, inputOperandB] = createMultiInputOperands(builder, resources);
- const outputOperand = resources.options ?
- builder[operationName](inputOperandA, inputOperandB, resources.options) : builder[operationName](inputOperandA, inputOperandB);
- namedOutputOperand[resources.expected.name] = outputOperand;
- return namedOutputOperand;
-};
+const buildOperationWithTwoInputs =
+ (operationName, context, builder, resources) => {
+ // For example: MLOperand matmul(MLOperand a, MLOperand b);
+ const namedOutputOperand = {};
+ const [inputOperandA, inputOperandB] =
+ createMultiInputOperands(context, builder, resources);
+ let outputOperand = resources.options ?
+ builder[operationName](
+ inputOperandA, inputOperandB, resources.options) :
+ builder[operationName](inputOperandA, inputOperandB);
+ if (!context.opSupportLimits().output.dataTypes.includes(
+ resources.expected.type)) {
+ const compatibleType = findCompatibleType(
+ resources.expected.type,
+ context.opSupportLimits().output.dataTypes);
+ outputOperand = builder.cast(outputOperand, compatibleType);
+ resources.expected.castedType = compatibleType;
+ }
+ namedOutputOperand[resources.expected.name] = outputOperand;
+ return namedOutputOperand;
+ };
-const buildBatchNorm = (operationName, builder, resources) => {
+const buildBatchNorm = (operationName, context, builder, resources) => {
// MLOperand batchNormalization(MLOperand input, MLOperand mean, MLOperand variance,
// optional MLBatchNormalizationOptions options = {});
const namedOutputOperand = {};
- const [inputOperand, meanOperand, varianceOperand] = createMultiInputOperands(builder, resources);
+ const [inputOperand, meanOperand, varianceOperand] =
+ createMultiInputOperands(context, builder, resources);
const batchNormOptions = {...resources.options};
if (batchNormOptions.scale) {
batchNormOptions.scale = createConstantOperand(builder, batchNormOptions.scale);
@@ -712,16 +791,16 @@ const buildBatchNorm = (operationName, builder, resources) => {
return namedOutputOperand;
};
-const buildCast = (operationName, builder, resources) => {
+const buildCast = (operationName, context, builder, resources) => {
// MLOperand cast(MLOperand input, MLOperandDataType type);
const namedOutputOperand = {};
- const inputOperand = createSingleInputOperand(builder, resources);
+ const inputOperand = createSingleInputOperand(context, builder, resources);
// invoke builder.cast()
namedOutputOperand[resources.expected.name] = builder[operationName](inputOperand, resources.type);
return namedOutputOperand;
};
-const buildConcat = (operationName, builder, resources) => {
+const buildConcat = (operationName, context, builder, resources) => {
// MLOperand concat(sequence<MLOperand> inputs, unsigned long axis);
const namedOutputOperand = {};
const inputOperands = [];
@@ -739,17 +818,18 @@ const buildConcat = (operationName, builder, resources) => {
return namedOutputOperand;
};
-const buildConstantRange = (operationName, builder, resources) => {
+const buildConstantRange = (operationName, context, builder, resources) => {
const namedOutputOperand = {};
// invoke builder.constant(start, step, outputShape, type)
namedOutputOperand[resources.expected.name] = builder[operationName](resources.inputs.start, resources.inputs.step, resources.outputShape, resources.type);
return namedOutputOperand;
};
-const buildConvTranspose2d = (operationName, builder, resources) => {
+const buildConvTranspose2d = (operationName, context, builder, resources) => {
// MLOperand convTranspose2d(MLOperand input, MLOperand filter, optional MLConvTranspose2dOptions options = {});
const namedOutputOperand = {};
- const [inputOperand, filterOperand] = createMultiInputOperands(builder, resources);
+ const [inputOperand, filterOperand] =
+ createMultiInputOperands(context, builder, resources);
let convTranspose2dOptions = {...resources.options};
if (convTranspose2dOptions.bias) {
convTranspose2dOptions.bias = createConstantOperand(builder, convTranspose2dOptions.bias);
@@ -758,10 +838,11 @@ const buildConvTranspose2d = (operationName, builder, resources) => {
return namedOutputOperand;
};
-const buildConv2d = (operationName, builder, resources) => {
+const buildConv2d = (operationName, context, builder, resources) => {
// MLOperand conv2d(MLOperand input, MLOperand filter, optional MLConv2dOptions options = {});
const namedOutputOperand = {};
- const [inputOperand, filterOperand] = createMultiInputOperands(builder, resources);
+ const [inputOperand, filterOperand] =
+ createMultiInputOperands(context, builder, resources);
let conv2dOptions = {...resources.options};
if (conv2dOptions.bias) {
conv2dOptions.bias = createConstantOperand(builder, conv2dOptions.bias);
@@ -770,10 +851,11 @@ const buildConv2d = (operationName, builder, resources) => {
return namedOutputOperand;
};
-const buildGemm = (operationName, builder, resources) => {
+const buildGemm = (operationName, context, builder, resources) => {
// MLOperand gemm(MLOperand a, MLOperand b, optional MLGemmOptions options = {});
const namedOutputOperand = {};
- const [inputOperandA, inputOperandB] = createMultiInputOperands(builder, resources);
+ const [inputOperandA, inputOperandB] =
+ createMultiInputOperands(context, builder, resources);
let gemmOptions = {...resources.options};
if (gemmOptions.c) {
if (gemmOptions.c.shape) {
@@ -788,11 +870,11 @@ const buildGemm = (operationName, builder, resources) => {
return namedOutputOperand;
};
-const buildLayerNorm = (operationName, builder, resources) => {
+const buildLayerNorm = (operationName, context, builder, resources) => {
// MLOperand layerNormalization(MLOperand input, optional MLLayerNormalizationOptions options = {});
// MLOperand instanceNormalization(MLOperand input, optional MLInstanceNormalizationOptions options = {});
const namedOutputOperand = {};
- const inputOperand = createSingleInputOperand(builder, resources);
+ const inputOperand = createSingleInputOperand(context, builder, resources);
const layerNormOptions = {...resources.options};
if (layerNormOptions.scale) {
layerNormOptions.scale = createConstantOperand(builder, layerNormOptions.scale);
@@ -805,38 +887,38 @@ const buildLayerNorm = (operationName, builder, resources) => {
return namedOutputOperand;
};
-const buildPad = (operationName, builder, resources) => {
+const buildPad = (operationName, context, builder, resources) => {
// MLOperand pad(MLOperand input, sequence<unsigned long> beginningPadding, sequence<unsigned long> endingPadding, optional MLPadOptions options = {});
const namedOutputOperand = {};
- const inputOperand = createSingleInputOperand(builder, resources);
+ const inputOperand = createSingleInputOperand(context, builder, resources);
// invoke builder.pad()
namedOutputOperand[resources.expected.name] = builder[operationName](inputOperand, resources.beginningPadding, resources.endingPadding, resources.options);
return namedOutputOperand;
};
-const buildReshape = (operationName, builder, resources) => {
+const buildReshape = (operationName, context, builder, resources) => {
// MLOperand reshape(MLOperand input, sequence<unsigned long> newShape);
// MLOperand expand(MLOperand input, sequence<unsigned long> newShape);
const namedOutputOperand = {};
- const inputOperand = createSingleInputOperand(builder, resources);
+ const inputOperand = createSingleInputOperand(context, builder, resources);
// invoke builder.reshape() or builder.expand()
namedOutputOperand[resources.expected.name] = builder[operationName](inputOperand, resources.newShape);
return namedOutputOperand;
};
-const buildSlice = (operationName, builder, resources) => {
+const buildSlice = (operationName, context, builder, resources) => {
// MLOperand slice(MLOperand input, sequence<unsigned long> starts, sequence<unsigned long> sizes);
const namedOutputOperand = {};
- const inputOperand = createSingleInputOperand(builder, resources);
+ const inputOperand = createSingleInputOperand(context, builder, resources);
// invoke builder.slice()
namedOutputOperand[resources.expected.name] = builder[operationName](inputOperand, resources.starts, resources.sizes);
return namedOutputOperand;
};
-const buildSoftmax = (operationName, builder, resources) => {
+const buildSoftmax = (operationName, context, builder, resources) => {
// MLOperand softmax(MLOperand input, [EnforceRange] unsigned long axis);
const namedOutputOperand = {};
- const inputOperand = createSingleInputOperand(builder, resources);
+ const inputOperand = createSingleInputOperand(context, builder, resources);
if (resources.axis !== undefined) {
// invoke builder.softmax(input, axis)
namedOutputOperand[resources.expected.name] = builder[operationName](inputOperand, resources.axis);
@@ -847,12 +929,12 @@ const buildSoftmax = (operationName, builder, resources) => {
return namedOutputOperand;
};
-const buildSplit = (operationName, builder, resources) => {
+const buildSplit = (operationName, context, builder, resources) => {
// sequence<MLOperand> split(MLOperand input,
// (unsigned long or sequence<unsigned long>) splits,
// optional MLSplitOptions options = {});
const namedOutputOperand = {};
- const inputOperand = createSingleInputOperand(builder, resources);
+ const inputOperand = createSingleInputOperand(context, builder, resources);
// invoke builder.split()
const outputOperands = builder[operationName](inputOperand, resources.splits, resources.options);
resources.expected.forEach((resourceDict, index) => {
@@ -861,10 +943,11 @@ const buildSplit = (operationName, builder, resources) => {
return namedOutputOperand;
};
-const buildWhere = (operationName, builder, resources) => {
+const buildWhere = (operationName, context, builder, resources) => {
// MLOperand where(MLOperand condition, MLOperand trueValues, MLOperand falseValues);
const namedOutputOperand = {};
- const [conditionOperand, trueValuesOperand, falseValuesOperand] = createMultiInputOperands(builder, resources);
+ const [conditionOperand, trueValuesOperand, falseValuesOperand] =
+ createMultiInputOperands(context, builder, resources);
// invoke builder.where()
namedOutputOperand[resources.expected.name] = builder[operationName](conditionOperand, trueValuesOperand, falseValuesOperand);
return namedOutputOperand;
@@ -873,20 +956,22 @@ const buildWhere = (operationName, builder, resources) => {
/**
* Build a graph.
* @param {String} operationName - An operation name
+ * @param {MLContext} context - A ML context
* @param {MLGraphBuilder} builder - A ML graph builder
* @param {Object} resources - Resources used for building a graph
* @param {Function} buildFunc - A build function for an operation
* @returns [namedOperands, inputs, outputs]
*/
-const buildGraph = (operationName, builder, resources, buildFunc) => {
- const namedOperands = buildFunc(operationName, builder, resources);
+const buildGraph = (operationName, context, builder, resources, buildFunc) => {
+ const namedOperands = buildFunc(operationName, context, builder, resources);
let inputs = {};
if (Array.isArray(resources.inputs)) {
// the inputs of concat() is a sequence
for (let subInput of resources.inputs) {
if (!subInput.hasOwnProperty('constant') || !subInput.constant) {
inputs[subInput.name] = getTypedArrayData(
- subInput.type, sizeOfShape(subInput.shape), subInput.data);
+ subInput.castedType ? subInput.castedType : subInput.type,
+ sizeOfShape(subInput.shape), subInput.data);
}
}
} else {
@@ -894,8 +979,9 @@ const buildGraph = (operationName, builder, resources, buildFunc) => {
const subTestByName = resources.inputs[inputName];
if (!subTestByName.hasOwnProperty('constant') || !subTestByName.constant) {
inputs[inputName] = getTypedArrayData(
- subTestByName.type, sizeOfShape(subTestByName.shape),
- subTestByName.data);
+ subTestByName.castedType ? subTestByName.castedType :
+ subTestByName.type,
+ sizeOfShape(subTestByName.shape), subTestByName.data);
}
}
}
@@ -909,7 +995,11 @@ const buildGraph = (operationName, builder, resources, buildFunc) => {
} else {
// matmul 1D with 1D produces a scalar which doesn't have its shape
const shape = resources.expected.shape ? resources.expected.shape : [1];
- outputs[resources.expected.name] = new TypedArrayDict[resources.expected.type](sizeOfShape(shape));
+ const expectedType = resources.expected.castedType ?
+ resources.expected.castedType :
+ resources.expected.type;
+ outputs[resources.expected.name] =
+ new TypedArrayDict[expectedType](sizeOfShape(shape));
}
return [namedOperands, inputs, outputs];
};
@@ -924,7 +1014,8 @@ const buildGraph = (operationName, builder, resources, buildFunc) => {
*/
const run = async (operationName, context, builder, resources, buildFunc) => {
// build a graph
- const [namedOutputOperands, inputs, outputs] = buildGraph(operationName, builder, resources, buildFunc);
+ const [namedOutputOperands, inputs, outputs] =
+ buildGraph(operationName, context, builder, resources, buildFunc);
// compile the graph up to the output operand
const graph = await builder.build(namedOutputOperands);
// execute the compiled graph
diff --git a/tests/wpt/tests/webnn/validation_tests/argMinMax.https.any.js b/tests/wpt/tests/webnn/validation_tests/argMinMax.https.any.js
index 42d9adb57fe..2d7b286c871 100644
--- a/tests/wpt/tests/webnn/validation_tests/argMinMax.https.any.js
+++ b/tests/wpt/tests/webnn/validation_tests/argMinMax.https.any.js
@@ -13,7 +13,7 @@ const tests = [
{
name: '[argMin/Max] Test with default options.',
input: {dataType: 'float32', dimensions: [1, 2, 3, 4]},
- output: {dataType: 'float32', dimensions: []}
+ output: {dimensions: []}
},
{
name: '[argMin/Max] Test with axes=[].',
@@ -21,7 +21,7 @@ const tests = [
options: {
axes: [],
},
- output: {dataType: 'float32', dimensions: [1, 2, 3, 4]}
+ output: {dimensions: [1, 2, 3, 4]}
},
{
name: '[argMin/Max] Test scalar input with empty axes.',
@@ -29,7 +29,7 @@ const tests = [
options: {
axes: [],
},
- output: {dataType: 'float32', dimensions: []}
+ output: {dimensions: []}
},
{
name: '[argMin/Max] Test with axes=[1].',
@@ -37,7 +37,7 @@ const tests = [
options: {
axes: [1],
},
- output: {dataType: 'float32', dimensions: [1, 3, 4]}
+ output: {dimensions: [1, 3, 4]}
},
{
name: '[argMin/Max] Test with axes=[1, 3] and keepDimensions=true.',
@@ -46,7 +46,7 @@ const tests = [
axes: [1, 3],
keepDimensions: true,
},
- output: {dataType: 'float32', dimensions: [1, 1, 3, 1]}
+ output: {dimensions: [1, 1, 3, 1]}
},
{
name: '[argMin/Max] Test with axes=[1, 3] and keepDimensions=false.',
@@ -55,7 +55,7 @@ const tests = [
axes: [1, 3],
keepDimensions: false,
},
- output: {dataType: 'float32', dimensions: [1, 3]}
+ output: {dimensions: [1, 3]}
},
{
name: '[argMin/Max] Test with axes=[1] and selectLastIndex=true.',
@@ -64,7 +64,7 @@ const tests = [
axes: [1],
selectLastIndex: true,
},
- output: {dataType: 'float32', dimensions: [1, 3, 4]}
+ output: {dimensions: [1, 3, 4]}
},
{
name: '[argMin/Max] Test with axes=[1] and selectLastIndex=false.',
@@ -73,7 +73,7 @@ const tests = [
axes: [1],
selectLastIndex: false,
},
- output: {dataType: 'float32', dimensions: [1, 3, 4]}
+ output: {dimensions: [1, 3, 4]}
},
{
name:
@@ -98,6 +98,24 @@ const tests = [
axes: [1],
},
},
+ {
+ name: '[argMin/Max] Test with outputDataType=int32',
+ input: {dataType: 'float32', dimensions: [1, 2, 3, 4]},
+ options: {
+ axes: [1],
+ outputDataType: 'int32',
+ },
+ output: {dimensions: [1, 3, 4]}
+ },
+ {
+ name: '[argMin/Max] Test with outputDataType=int64',
+ input: {dataType: 'float32', dimensions: [1, 2, 3, 4]},
+ options: {
+ axes: [1],
+ outputDataType: 'int64',
+ },
+ output: {dimensions: [1, 3, 4]}
+ },
];
function runTests(operatorName, tests) {
@@ -106,10 +124,21 @@ function runTests(operatorName, tests) {
const input = builder.input(
'input',
{dataType: test.input.dataType, dimensions: test.input.dimensions});
-
+ if (test.options && test.options.outputDataType !== undefined) {
+ if (context.opSupportLimits()[operatorName].output.dataTypes.includes(
+ test.options.outputDataType)) {
+ const output = builder[operatorName](input, test.options);
+ assert_equals(output.dataType(), test.options.outputDataType);
+ assert_array_equals(output.shape(), test.output.dimensions);
+ } else {
+ assert_throws_js(
+ TypeError, () => builder[operatorName](input, test.options));
+ }
+ return;
+ }
if (test.output) {
const output = builder[operatorName](input, test.options);
- assert_equals(output.dataType(), 'int64');
+ assert_equals(output.dataType(), 'int32');
assert_array_equals(output.shape(), test.output.dimensions);
} else {
assert_throws_js(
diff --git a/tests/wpt/tests/webstorage/localstorage-about-blank-3P-iframe-opens-3P-window.partitioned.tentative.html b/tests/wpt/tests/webstorage/localstorage-about-blank-3P-iframe-opens-3P-window.partitioned.html
index de94fb2cf43..de94fb2cf43 100644
--- a/tests/wpt/tests/webstorage/localstorage-about-blank-3P-iframe-opens-3P-window.partitioned.tentative.html
+++ b/tests/wpt/tests/webstorage/localstorage-about-blank-3P-iframe-opens-3P-window.partitioned.html
diff --git a/tests/wpt/tests/webstorage/localstorage-basic-partitioned.tentative.sub.html b/tests/wpt/tests/webstorage/localstorage-basic-partitioned.sub.html
index 7ed49b1e9a0..3d5b1e93ce5 100644
--- a/tests/wpt/tests/webstorage/localstorage-basic-partitioned.tentative.sub.html
+++ b/tests/wpt/tests/webstorage/localstorage-basic-partitioned.sub.html
@@ -38,7 +38,7 @@ async_test(t => {
assert_true(typeof sameSiteID === "string");
if (location.origin !== altOrigin) {
- crossSiteWindow = window.open(`${altOrigin}/webstorage/localstorage-basic-partitioned.tentative.sub.html`, "", "noopener=false");
+ crossSiteWindow = window.open(`${altOrigin}/webstorage/localstorage-basic-partitioned.sub.html`, "", "noopener=false");
t.add_cleanup(() => crossSiteWindow.close());
}
}
diff --git a/tests/wpt/tests/webstorage/localstorage-cross-origin-iframe.tentative.https.window.js b/tests/wpt/tests/webstorage/localstorage-cross-origin-iframe.https.window.js
index 39812f27a00..39812f27a00 100644
--- a/tests/wpt/tests/webstorage/localstorage-cross-origin-iframe.tentative.https.window.js
+++ b/tests/wpt/tests/webstorage/localstorage-cross-origin-iframe.https.window.js
diff --git a/tests/wpt/tests/webstorage/sessionStorage-basic-partitioned.tentative.sub.html b/tests/wpt/tests/webstorage/sessionStorage-basic-partitioned.sub.html
index 30575bfaf1a..38525b99a23 100644
--- a/tests/wpt/tests/webstorage/sessionStorage-basic-partitioned.tentative.sub.html
+++ b/tests/wpt/tests/webstorage/sessionStorage-basic-partitioned.sub.html
@@ -47,7 +47,7 @@ async_test(t => {
// new cross-site window that contains our shared-iframe to repeat
// the process in a cross-site environment.
if (location.origin !== altOrigin) {
- crossSiteWindow = window.open(`${altOrigin}/webstorage/sessionStorage-basic-partitioned.tentative.sub.html`, "", "noopener=false");
+ crossSiteWindow = window.open(`${altOrigin}/webstorage/sessionStorage-basic-partitioned.sub.html`, "", "noopener=false");
t.add_cleanup(() => crossSiteWindow.close());
}
}
diff --git a/tests/wpt/tests/webxr/resources/webxr_util.js b/tests/wpt/tests/webxr/resources/webxr_util.js
index 625f76450e2..52b63ecdbb6 100644
--- a/tests/wpt/tests/webxr/resources/webxr_util.js
+++ b/tests/wpt/tests/webxr/resources/webxr_util.js
@@ -26,16 +26,19 @@ function xr_promise_test(name, func, properties, glContextType, glContextPropert
// Only set up once.
if (!navigator.xr.test) {
- // Load test-only API helpers.
- const script = document.createElement('script');
- script.src = '/resources/test-only-api.js';
- script.async = false;
- const p = new Promise((resolve, reject) => {
- script.onload = () => { resolve(); };
- script.onerror = e => { reject(e); };
- })
- document.head.appendChild(script);
- await p;
+
+ if (typeof isChromiumBased === 'undefined' || typeof isWebKitBased === 'undefined') {
+ // Load test-only API helpers.
+ const script = document.createElement('script');
+ script.src = '/resources/test-only-api.js';
+ script.async = false;
+ const p = new Promise((resolve, reject) => {
+ script.onload = () => { resolve(); };
+ script.onerror = e => { reject(e); };
+ });
+ document.head.appendChild(script);
+ await p;
+ }
if (isChromiumBased) {
// Chrome setup