aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorbors-servo <infra@servo.org>2023-04-07 13:00:48 +0200
committerGitHub <noreply@github.com>2023-04-07 13:00:48 +0200
commit1d787397aa3ef210a14689d547cf28fbb097b27e (patch)
tree020c8ac28896ab15324bc95314270117823423d2
parentcfef75c99b89193bd82d44a6dffc35119ce7f8d0 (diff)
parent2770b4c9bb34228d3cb2af83ad40537c21cda1a2 (diff)
downloadservo-1d787397aa3ef210a14689d547cf28fbb097b27e.tar.gz
servo-1d787397aa3ef210a14689d547cf28fbb097b27e.zip
Auto merge of #29599 - mrobinson:enable-css-position-tests, r=mukilan
Enable CSS position tests and add results This also removes imported position: sticky tests from the Mozilla directory. These were only supposed to be temporary until the upstream version from WPT were imported. <!-- Please describe your changes on the following line: --> --- <!-- Thank you for contributing to Servo! Please replace each `[ ]` by `[X]` when the step is complete, and replace `___` with appropriate data: --> - [x] `./mach build -d` does not report any errors - [x] `./mach test-tidy` does not report any errors - [x] These changes do not require tests because they update tests and results. <!-- Also, please make sure that "Allow edits from maintainers" checkbox is checked, so that we can help you if you get stuck somewhere along the way.--> <!-- Pull requests that do not address these steps are welcome, but they will require additional verification as part of the review process. -->
-rw-r--r--tests/wpt/include-layout-2020.ini2
-rw-r--r--tests/wpt/include.ini2
-rw-r--r--tests/wpt/metadata-layout-2020/css/css-position/animations/bottom-composition.html.ini75
-rw-r--r--tests/wpt/metadata-layout-2020/css/css-position/animations/bottom-interpolation.html.ini147
-rw-r--r--tests/wpt/metadata-layout-2020/css/css-position/animations/left-composition.html.ini90
-rw-r--r--tests/wpt/metadata-layout-2020/css/css-position/animations/left-interpolation.html.ini147
-rw-r--r--tests/wpt/metadata-layout-2020/css/css-position/animations/position-interpolation.html.ini30
-rw-r--r--tests/wpt/metadata-layout-2020/css/css-position/animations/right-composition.html.ini75
-rw-r--r--tests/wpt/metadata-layout-2020/css/css-position/animations/right-interpolation.html.ini147
-rw-r--r--tests/wpt/metadata-layout-2020/css/css-position/animations/top-composition.html.ini75
-rw-r--r--tests/wpt/metadata-layout-2020/css/css-position/animations/top-interpolation.html.ini147
-rw-r--r--tests/wpt/metadata-layout-2020/css/css-position/change-insets-inside-strict-containment-nested.html.ini2
-rw-r--r--tests/wpt/metadata-layout-2020/css/css-position/containing-block-change-button.html.ini2
-rw-r--r--tests/wpt/metadata-layout-2020/css/css-position/containing-block-change-scrollframe.html.ini2
-rw-r--r--tests/wpt/metadata-layout-2020/css/css-position/hypothetical-dynamic-change-001.html.ini2
-rw-r--r--tests/wpt/metadata-layout-2020/css/css-position/hypothetical-dynamic-change-002.html.ini2
-rw-r--r--tests/wpt/metadata-layout-2020/css/css-position/multicol/static-position/vlr-ltr-ltr-in-multicol.html.ini2
-rw-r--r--tests/wpt/metadata-layout-2020/css/css-position/multicol/static-position/vlr-ltr-rtl-in-multicol.tentative.html.ini2
-rw-r--r--tests/wpt/metadata-layout-2020/css/css-position/multicol/static-position/vlr-rtl-ltr-in-multicol.tentative.html.ini2
-rw-r--r--tests/wpt/metadata-layout-2020/css/css-position/multicol/static-position/vlr-rtl-rtl-in-multicol.html.ini2
-rw-r--r--tests/wpt/metadata-layout-2020/css/css-position/multicol/static-position/vrl-ltr-ltr-in-multicol.html.ini2
-rw-r--r--tests/wpt/metadata-layout-2020/css/css-position/multicol/static-position/vrl-ltr-rtl-in-multicol.tentative.html.ini2
-rw-r--r--tests/wpt/metadata-layout-2020/css/css-position/multicol/static-position/vrl-rtl-ltr-in-multicol.tentative.html.ini2
-rw-r--r--tests/wpt/metadata-layout-2020/css/css-position/multicol/static-position/vrl-rtl-rtl-in-multicol.html.ini2
-rw-r--r--tests/wpt/metadata-layout-2020/css/css-position/multicol/vlr-ltr-ltr-in-multicols.html.ini2
-rw-r--r--tests/wpt/metadata-layout-2020/css/css-position/multicol/vlr-ltr-rtl-in-multicols.tentative.html.ini2
-rw-r--r--tests/wpt/metadata-layout-2020/css/css-position/multicol/vlr-rtl-ltr-in-multicols.tentative.html.ini2
-rw-r--r--tests/wpt/metadata-layout-2020/css/css-position/multicol/vlr-rtl-rtl-in-multicols.html.ini2
-rw-r--r--tests/wpt/metadata-layout-2020/css/css-position/multicol/vrl-ltr-ltr-in-multicols.html.ini2
-rw-r--r--tests/wpt/metadata-layout-2020/css/css-position/multicol/vrl-ltr-rtl-in-multicols.tentative.html.ini2
-rw-r--r--tests/wpt/metadata-layout-2020/css/css-position/multicol/vrl-rtl-ltr-in-multicols.tentative.html.ini2
-rw-r--r--tests/wpt/metadata-layout-2020/css/css-position/multicol/vrl-rtl-rtl-in-multicols.html.ini2
-rw-r--r--tests/wpt/metadata-layout-2020/css/css-position/parsing/inset-valid.html.ini66
-rw-r--r--tests/wpt/metadata-layout-2020/css/css-position/parsing/position-computed.html.ini3
-rw-r--r--tests/wpt/metadata-layout-2020/css/css-position/parsing/position-valid.html.ini3
-rw-r--r--tests/wpt/metadata-layout-2020/css/css-position/position-absolute-center-001.html.ini2
-rw-r--r--tests/wpt/metadata-layout-2020/css/css-position/position-absolute-center-002.html.ini2
-rw-r--r--tests/wpt/metadata-layout-2020/css/css-position/position-absolute-center-003.html.ini2
-rw-r--r--tests/wpt/metadata-layout-2020/css/css-position/position-absolute-center-004.html.ini2
-rw-r--r--tests/wpt/metadata-layout-2020/css/css-position/position-absolute-center-006.html.ini2
-rw-r--r--tests/wpt/metadata-layout-2020/css/css-position/position-absolute-center-007.html.ini2
-rw-r--r--tests/wpt/metadata-layout-2020/css/css-position/position-absolute-chrome-bug-002.html.ini3
-rw-r--r--tests/wpt/metadata-layout-2020/css/css-position/position-absolute-dynamic-containing-block.html.ini24
-rw-r--r--tests/wpt/metadata-layout-2020/css/css-position/position-absolute-dynamic-relayout-003.html.ini2
-rw-r--r--tests/wpt/metadata-layout-2020/css/css-position/position-absolute-dynamic-static-position-floats-001.html.ini2
-rw-r--r--tests/wpt/metadata-layout-2020/css/css-position/position-absolute-dynamic-static-position-floats-002.html.ini2
-rw-r--r--tests/wpt/metadata-layout-2020/css/css-position/position-absolute-dynamic-static-position-floats-003.html.ini2
-rw-r--r--tests/wpt/metadata-layout-2020/css/css-position/position-absolute-dynamic-static-position-floats-004.html.ini2
-rw-r--r--tests/wpt/metadata-layout-2020/css/css-position/position-absolute-dynamic-static-position-inline.html.ini2
-rw-r--r--tests/wpt/metadata-layout-2020/css/css-position/position-absolute-in-inline-002.html.ini3
-rw-r--r--tests/wpt/metadata-layout-2020/css/css-position/position-absolute-in-inline-003.html.ini2
-rw-r--r--tests/wpt/metadata-layout-2020/css/css-position/position-absolute-in-inline-004.html.ini2
-rw-r--r--tests/wpt/metadata-layout-2020/css/css-position/position-absolute-percentage-height.html.ini6
-rw-r--r--tests/wpt/metadata-layout-2020/css/css-position/position-absolute-replaced-intrinsic-size.tentative.html.ini2
-rw-r--r--tests/wpt/metadata-layout-2020/css/css-position/position-absolute-replaced-minmax.html.ini124
-rw-r--r--tests/wpt/metadata-layout-2020/css/css-position/position-absolute-replaced-no-intrinsic-size.tentative.html.ini2
-rw-r--r--tests/wpt/metadata-layout-2020/css/css-position/position-absolute-table-001.html.ini9
-rw-r--r--tests/wpt/metadata-layout-2020/css/css-position/position-fixed-scroll-nested-fixed.html.ini2
-rw-r--r--tests/wpt/metadata-layout-2020/css/css-position/position-relative-001.html.ini2
-rw-r--r--tests/wpt/metadata-layout-2020/css/css-position/position-relative-002.html.ini2
-rw-r--r--tests/wpt/metadata-layout-2020/css/css-position/position-relative-003.html.ini2
-rw-r--r--tests/wpt/metadata-layout-2020/css/css-position/position-relative-004.html.ini2
-rw-r--r--tests/wpt/metadata-layout-2020/css/css-position/position-relative-007.html.ini2
-rw-r--r--tests/wpt/metadata-layout-2020/css/css-position/position-relative-011.html.ini2
-rw-r--r--tests/wpt/metadata-layout-2020/css/css-position/position-relative-012.html.ini2
-rw-r--r--tests/wpt/metadata-layout-2020/css/css-position/position-relative-013.html.ini2
-rw-r--r--tests/wpt/metadata-layout-2020/css/css-position/position-relative-table-caption.html.ini2
-rw-r--r--tests/wpt/metadata-layout-2020/css/css-position/position-relative-table-tbody-left-absolute-child.html.ini2
-rw-r--r--tests/wpt/metadata-layout-2020/css/css-position/position-relative-table-tbody-left.html.ini2
-rw-r--r--tests/wpt/metadata-layout-2020/css/css-position/position-relative-table-tbody-top.html.ini2
-rw-r--r--tests/wpt/metadata-layout-2020/css/css-position/position-relative-table-td-left.html.ini2
-rw-r--r--tests/wpt/metadata-layout-2020/css/css-position/position-relative-table-td-top.html.ini2
-rw-r--r--tests/wpt/metadata-layout-2020/css/css-position/position-relative-table-tfoot-left-absolute-child.html.ini2
-rw-r--r--tests/wpt/metadata-layout-2020/css/css-position/position-relative-table-tfoot-left.html.ini2
-rw-r--r--tests/wpt/metadata-layout-2020/css/css-position/position-relative-table-tfoot-top.html.ini2
-rw-r--r--tests/wpt/metadata-layout-2020/css/css-position/position-relative-table-thead-left-absolute-child.html.ini2
-rw-r--r--tests/wpt/metadata-layout-2020/css/css-position/position-relative-table-thead-left.html.ini2
-rw-r--r--tests/wpt/metadata-layout-2020/css/css-position/position-relative-table-thead-top.html.ini2
-rw-r--r--tests/wpt/metadata-layout-2020/css/css-position/position-relative-table-tr-left-absolute-child.html.ini2
-rw-r--r--tests/wpt/metadata-layout-2020/css/css-position/position-relative-table-tr-left.html.ini2
-rw-r--r--tests/wpt/metadata-layout-2020/css/css-position/position-relative-table-tr-top.html.ini2
-rw-r--r--tests/wpt/metadata-layout-2020/css/css-position/positon-absolute-scrollable-overflow-001.html.ini42
-rw-r--r--tests/wpt/metadata-layout-2020/css/css-position/static-position/htb-ltr-ltr.html.ini2
-rw-r--r--tests/wpt/metadata-layout-2020/css/css-position/static-position/htb-ltr-rtl.tentative.html.ini2
-rw-r--r--tests/wpt/metadata-layout-2020/css/css-position/static-position/htb-rtl-ltr.tentative.html.ini2
-rw-r--r--tests/wpt/metadata-layout-2020/css/css-position/static-position/htb-rtl-rtl.html.ini2
-rw-r--r--tests/wpt/metadata-layout-2020/css/css-position/static-position/inline-level-absolute-in-block-level-context-001.html.ini2
-rw-r--r--tests/wpt/metadata-layout-2020/css/css-position/static-position/inline-level-absolute-in-block-level-context-002.html.ini2
-rw-r--r--tests/wpt/metadata-layout-2020/css/css-position/static-position/inline-level-absolute-in-block-level-context-003.html.ini2
-rw-r--r--tests/wpt/metadata-layout-2020/css/css-position/static-position/inline-level-absolute-in-block-level-context-004.html.ini2
-rw-r--r--tests/wpt/metadata-layout-2020/css/css-position/static-position/inline-level-absolute-in-block-level-context-005.html.ini2
-rw-r--r--tests/wpt/metadata-layout-2020/css/css-position/static-position/inline-level-absolute-in-block-level-context-006.html.ini2
-rw-r--r--tests/wpt/metadata-layout-2020/css/css-position/static-position/inline-level-absolute-in-block-level-context-007.html.ini2
-rw-r--r--tests/wpt/metadata-layout-2020/css/css-position/static-position/inline-level-absolute-in-block-level-context-008.html.ini2
-rw-r--r--tests/wpt/metadata-layout-2020/css/css-position/static-position/inline-level-absolute-in-block-level-context-009.html.ini2
-rw-r--r--tests/wpt/metadata-layout-2020/css/css-position/static-position/inline-level-absolute-in-block-level-context-010.html.ini2
-rw-r--r--tests/wpt/metadata-layout-2020/css/css-position/static-position/inline-level-absolute-in-block-level-context-011.html.ini2
-rw-r--r--tests/wpt/metadata-layout-2020/css/css-position/static-position/inline-level-absolute-in-block-level-context-012.html.ini2
-rw-r--r--tests/wpt/metadata-layout-2020/css/css-position/static-position/vlr-ltr-ltr.html.ini2
-rw-r--r--tests/wpt/metadata-layout-2020/css/css-position/static-position/vlr-ltr-rtl.tentative.html.ini2
-rw-r--r--tests/wpt/metadata-layout-2020/css/css-position/static-position/vlr-rtl-ltr.tentative.html.ini2
-rw-r--r--tests/wpt/metadata-layout-2020/css/css-position/static-position/vlr-rtl-rtl.html.ini2
-rw-r--r--tests/wpt/metadata-layout-2020/css/css-position/static-position/vrl-ltr-ltr.html.ini2
-rw-r--r--tests/wpt/metadata-layout-2020/css/css-position/static-position/vrl-ltr-rtl.tentative.html.ini2
-rw-r--r--tests/wpt/metadata-layout-2020/css/css-position/static-position/vrl-rtl-ltr.tentative.html.ini2
-rw-r--r--tests/wpt/metadata-layout-2020/css/css-position/static-position/vrl-rtl-rtl.html.ini2
-rw-r--r--tests/wpt/metadata-layout-2020/css/css-position/sticky/position-sticky-bottom-002.html.ini2
-rw-r--r--tests/wpt/metadata-layout-2020/css/css-position/sticky/position-sticky-bottom-003.html.ini2
-rw-r--r--tests/wpt/metadata-layout-2020/css/css-position/sticky/position-sticky-bottom.html.ini6
-rw-r--r--tests/wpt/metadata-layout-2020/css/css-position/sticky/position-sticky-change-top.html.ini2
-rw-r--r--tests/wpt/metadata-layout-2020/css/css-position/sticky/position-sticky-child-multicolumn.html.ini2
-rw-r--r--tests/wpt/metadata-layout-2020/css/css-position/sticky/position-sticky-contained-by-display-table.html.ini2
-rw-r--r--tests/wpt/metadata-layout-2020/css/css-position/sticky/position-sticky-escape-scroller-001.html.ini2
-rw-r--r--tests/wpt/metadata-layout-2020/css/css-position/sticky/position-sticky-escape-scroller-002.html.ini2
-rw-r--r--tests/wpt/metadata-layout-2020/css/css-position/sticky/position-sticky-escape-scroller-003.html.ini2
-rw-r--r--tests/wpt/metadata-layout-2020/css/css-position/sticky/position-sticky-escape-scroller-004.html.ini2
-rw-r--r--tests/wpt/metadata-layout-2020/css/css-position/sticky/position-sticky-fixed-ancestor-002.html.ini2
-rw-r--r--tests/wpt/metadata-layout-2020/css/css-position/sticky/position-sticky-fixed-ancestor-003.html.ini2
-rw-r--r--tests/wpt/metadata-layout-2020/css/css-position/sticky/position-sticky-fixed-ancestor-iframe.html.ini2
-rw-r--r--tests/wpt/metadata-layout-2020/css/css-position/sticky/position-sticky-fixed-ancestor.html.ini2
-rw-r--r--tests/wpt/metadata-layout-2020/css/css-position/sticky/position-sticky-flexbox.html.ini (renamed from tests/wpt/mozilla/meta-layout-2020/css/css-position-3/position-sticky-flexbox.html.ini)0
-rw-r--r--tests/wpt/metadata-layout-2020/css/css-position/sticky/position-sticky-fractional-offset.html.ini2
-rw-r--r--tests/wpt/metadata-layout-2020/css/css-position/sticky/position-sticky-get-bounding-client-rect.html.ini (renamed from tests/wpt/mozilla/meta-layout-2020/css/css-position-3/position-sticky-get-bounding-client-rect.html.ini)1
-rw-r--r--tests/wpt/metadata-layout-2020/css/css-position/sticky/position-sticky-grid.html.ini (renamed from tests/wpt/mozilla/meta-layout-2020/css/css-position-3/position-sticky-grid.html.ini)0
-rw-r--r--tests/wpt/metadata-layout-2020/css/css-position/sticky/position-sticky-hyperlink.html.ini2
-rw-r--r--tests/wpt/metadata-layout-2020/css/css-position/sticky/position-sticky-inflow-position.html.ini3
-rw-r--r--tests/wpt/metadata-layout-2020/css/css-position/sticky/position-sticky-inline.html.ini (renamed from tests/wpt/mozilla/meta-layout-2020/css/css-position-3/position-sticky-inline.html.ini)0
-rw-r--r--tests/wpt/metadata-layout-2020/css/css-position/sticky/position-sticky-input-box-gets-focused-after-scroll.html.ini3
-rw-r--r--tests/wpt/metadata-layout-2020/css/css-position/sticky/position-sticky-large-top-2.tentative.html.ini2
-rw-r--r--tests/wpt/metadata-layout-2020/css/css-position/sticky/position-sticky-large-top.tentative.html.ini2
-rw-r--r--tests/wpt/metadata-layout-2020/css/css-position/sticky/position-sticky-left-002.html.ini2
-rw-r--r--tests/wpt/metadata-layout-2020/css/css-position/sticky/position-sticky-left-003.html.ini2
-rw-r--r--tests/wpt/metadata-layout-2020/css/css-position/sticky/position-sticky-left.html.ini6
-rw-r--r--tests/wpt/metadata-layout-2020/css/css-position/sticky/position-sticky-margins.html.ini6
-rw-r--r--tests/wpt/metadata-layout-2020/css/css-position/sticky/position-sticky-nested-bottom.html.ini15
-rw-r--r--tests/wpt/metadata-layout-2020/css/css-position/sticky/position-sticky-nested-inline.html.ini (renamed from tests/wpt/mozilla/meta-layout-2020/css/css-position-3/position-sticky-nested-inline.html.ini)0
-rw-r--r--tests/wpt/metadata-layout-2020/css/css-position/sticky/position-sticky-nested-left.html.ini15
-rw-r--r--tests/wpt/metadata-layout-2020/css/css-position/sticky/position-sticky-nested-right.html.ini15
-rw-r--r--tests/wpt/metadata-layout-2020/css/css-position/sticky/position-sticky-nested-table.html.ini (renamed from tests/wpt/mozilla/meta-layout-2020/css/css-position-3/position-sticky-nested-table.html.ini)0
-rw-r--r--tests/wpt/metadata-layout-2020/css/css-position/sticky/position-sticky-nested-thead-th.html.ini2
-rw-r--r--tests/wpt/metadata-layout-2020/css/css-position/sticky/position-sticky-nested-top.html.ini15
-rw-r--r--tests/wpt/metadata-layout-2020/css/css-position/sticky/position-sticky-offset-overflow.html.ini3
-rw-r--r--tests/wpt/metadata-layout-2020/css/css-position/sticky/position-sticky-offset-top-left.html.ini (renamed from tests/wpt/mozilla/meta-layout-2020/css/css-position-3/position-sticky-offset-top-left.html.ini)1
-rw-r--r--tests/wpt/metadata-layout-2020/css/css-position/sticky/position-sticky-overflow-padding.html.ini6
-rw-r--r--tests/wpt/metadata-layout-2020/css/css-position/sticky/position-sticky-parsing.html.ini (renamed from tests/wpt/mozilla/meta-layout-2020/css/css-position-3/position-sticky-parsing.html.ini)1
-rw-r--r--tests/wpt/metadata-layout-2020/css/css-position/sticky/position-sticky-rendering.html.ini2
-rw-r--r--tests/wpt/metadata-layout-2020/css/css-position/sticky/position-sticky-right-002.html.ini2
-rw-r--r--tests/wpt/metadata-layout-2020/css/css-position/sticky/position-sticky-right-003.html.ini2
-rw-r--r--tests/wpt/metadata-layout-2020/css/css-position/sticky/position-sticky-right.html.ini6
-rw-r--r--tests/wpt/metadata-layout-2020/css/css-position/sticky/position-sticky-root-scroller.html.ini3
-rw-r--r--tests/wpt/metadata-layout-2020/css/css-position/sticky/position-sticky-scroll-with-clip-and-abspos.html.ini2
-rw-r--r--tests/wpt/metadata-layout-2020/css/css-position/sticky/position-sticky-scrollIntoView.html.ini3
-rw-r--r--tests/wpt/metadata-layout-2020/css/css-position/sticky/position-sticky-scrolled-remove-sibling.html.ini6
-rw-r--r--tests/wpt/metadata-layout-2020/css/css-position/sticky/position-sticky-stacking-context-002.html.ini2
-rw-r--r--tests/wpt/metadata-layout-2020/css/css-position/sticky/position-sticky-stacking-context.html.ini (renamed from tests/wpt/mozilla/meta-layout-2020/css/css-position-3/position-sticky-stacking-context.html.ini)0
-rw-r--r--tests/wpt/metadata-layout-2020/css/css-position/sticky/position-sticky-table-parts.html.ini2
-rw-r--r--tests/wpt/metadata-layout-2020/css/css-position/sticky/position-sticky-table-td-bottom.html.ini2
-rw-r--r--tests/wpt/metadata-layout-2020/css/css-position/sticky/position-sticky-table-td-left.html.ini2
-rw-r--r--tests/wpt/metadata-layout-2020/css/css-position/sticky/position-sticky-table-td-right.html.ini2
-rw-r--r--tests/wpt/metadata-layout-2020/css/css-position/sticky/position-sticky-table-tfoot-bottom.html.ini (renamed from tests/wpt/mozilla/meta-layout-2020/css/css-position-3/position-sticky-table-tfoot-bottom.html.ini)0
-rw-r--r--tests/wpt/metadata-layout-2020/css/css-position/sticky/position-sticky-table-th-bottom.html.ini (renamed from tests/wpt/mozilla/meta-layout-2020/css/css-position-3/position-sticky-table-th-bottom.html.ini)0
-rw-r--r--tests/wpt/metadata-layout-2020/css/css-position/sticky/position-sticky-table-th-left.html.ini (renamed from tests/wpt/mozilla/meta-layout-2020/css/css-position-3/position-sticky-table-th-left.html.ini)0
-rw-r--r--tests/wpt/metadata-layout-2020/css/css-position/sticky/position-sticky-table-th-right.html.ini (renamed from tests/wpt/mozilla/meta-layout-2020/css/css-position-3/position-sticky-table-th-right.html.ini)0
-rw-r--r--tests/wpt/metadata-layout-2020/css/css-position/sticky/position-sticky-table-th-top.html.ini (renamed from tests/wpt/mozilla/meta-layout-2020/css/css-position-3/position-sticky-table-th-top.html.ini)0
-rw-r--r--tests/wpt/metadata-layout-2020/css/css-position/sticky/position-sticky-table-thead-top.html.ini (renamed from tests/wpt/mozilla/meta-layout-2020/css/css-position-3/position-sticky-table-thead-top.html.ini)0
-rw-r--r--tests/wpt/metadata-layout-2020/css/css-position/sticky/position-sticky-table-tr-bottom.html.ini (renamed from tests/wpt/mozilla/meta-layout-2020/css/css-position-3/position-sticky-table-tr-bottom.html.ini)0
-rw-r--r--tests/wpt/metadata-layout-2020/css/css-position/sticky/position-sticky-table-tr-top.html.ini (renamed from tests/wpt/mozilla/meta-layout-2020/css/css-position-3/position-sticky-table-tr-top.html.ini)0
-rw-r--r--tests/wpt/metadata-layout-2020/css/css-position/sticky/position-sticky-top-002.html.ini2
-rw-r--r--tests/wpt/metadata-layout-2020/css/css-position/sticky/position-sticky-top-003.html.ini2
-rw-r--r--tests/wpt/metadata-layout-2020/css/css-position/sticky/position-sticky-top-and-bottom-003.html.ini2
-rw-r--r--tests/wpt/metadata-layout-2020/css/css-position/sticky/position-sticky-top-and-bottom.html.ini6
-rw-r--r--tests/wpt/metadata-layout-2020/css/css-position/sticky/position-sticky-top.html.ini6
-rw-r--r--tests/wpt/metadata-layout-2020/css/css-position/sticky/position-sticky-transforms-translate.html.ini9
-rw-r--r--tests/wpt/metadata-layout-2020/css/css-position/sticky/position-sticky-transforms.html.ini9
-rw-r--r--tests/wpt/metadata-layout-2020/css/css-position/sticky/position-sticky-writing-modes.html.ini (renamed from tests/wpt/mozilla/meta-layout-2020/css/css-position-3/position-sticky-writing-modes.html.ini)0
-rw-r--r--tests/wpt/metadata-layout-2020/css/css-position/z-index-blend-will-change-overlapping-layers.html.ini2
-rw-r--r--tests/wpt/metadata/css/css-position/animations/bottom-composition.html.ini75
-rw-r--r--tests/wpt/metadata/css/css-position/animations/bottom-interpolation.html.ini186
-rw-r--r--tests/wpt/metadata/css/css-position/animations/left-composition.html.ini90
-rw-r--r--tests/wpt/metadata/css/css-position/animations/left-interpolation.html.ini87
-rw-r--r--tests/wpt/metadata/css/css-position/animations/position-interpolation.html.ini30
-rw-r--r--tests/wpt/metadata/css/css-position/animations/right-composition.html.ini75
-rw-r--r--tests/wpt/metadata/css/css-position/animations/right-interpolation.html.ini147
-rw-r--r--tests/wpt/metadata/css/css-position/animations/top-composition.html.ini75
-rw-r--r--tests/wpt/metadata/css/css-position/animations/top-interpolation.html.ini87
-rw-r--r--tests/wpt/metadata/css/css-position/change-insets-inside-strict-containment-nested.html.ini2
-rw-r--r--tests/wpt/metadata/css/css-position/containing-block-change-button.html.ini2
-rw-r--r--tests/wpt/metadata/css/css-position/containing-block-change-scrollframe.html.ini2
-rw-r--r--tests/wpt/metadata/css/css-position/inheritance.html.ini24
-rw-r--r--tests/wpt/metadata/css/css-position/multicol/static-position/vlr-ltr-ltr-in-multicol.html.ini2
-rw-r--r--tests/wpt/metadata/css/css-position/multicol/static-position/vlr-ltr-rtl-in-multicol.tentative.html.ini2
-rw-r--r--tests/wpt/metadata/css/css-position/multicol/static-position/vlr-rtl-ltr-in-multicol.tentative.html.ini2
-rw-r--r--tests/wpt/metadata/css/css-position/multicol/static-position/vlr-rtl-rtl-in-multicol.html.ini2
-rw-r--r--tests/wpt/metadata/css/css-position/multicol/static-position/vrl-ltr-ltr-in-multicol.html.ini2
-rw-r--r--tests/wpt/metadata/css/css-position/multicol/static-position/vrl-ltr-rtl-in-multicol.tentative.html.ini2
-rw-r--r--tests/wpt/metadata/css/css-position/multicol/static-position/vrl-rtl-ltr-in-multicol.tentative.html.ini2
-rw-r--r--tests/wpt/metadata/css/css-position/multicol/static-position/vrl-rtl-rtl-in-multicol.html.ini2
-rw-r--r--tests/wpt/metadata/css/css-position/multicol/vlr-ltr-ltr-in-multicols.html.ini2
-rw-r--r--tests/wpt/metadata/css/css-position/multicol/vlr-ltr-rtl-in-multicols.tentative.html.ini2
-rw-r--r--tests/wpt/metadata/css/css-position/multicol/vlr-rtl-ltr-in-multicols.tentative.html.ini2
-rw-r--r--tests/wpt/metadata/css/css-position/multicol/vlr-rtl-rtl-in-multicols.html.ini2
-rw-r--r--tests/wpt/metadata/css/css-position/multicol/vrl-ltr-ltr-in-multicols.html.ini2
-rw-r--r--tests/wpt/metadata/css/css-position/multicol/vrl-ltr-rtl-in-multicols.tentative.html.ini2
-rw-r--r--tests/wpt/metadata/css/css-position/multicol/vrl-rtl-ltr-in-multicols.tentative.html.ini2
-rw-r--r--tests/wpt/metadata/css/css-position/multicol/vrl-rtl-rtl-in-multicols.html.ini2
-rw-r--r--tests/wpt/metadata/css/css-position/position-absolute-center-002.html.ini2
-rw-r--r--tests/wpt/metadata/css/css-position/position-absolute-center-003.html.ini2
-rw-r--r--tests/wpt/metadata/css/css-position/position-absolute-center-004.html.ini2
-rw-r--r--tests/wpt/metadata/css/css-position/position-absolute-center-007.html.ini2
-rw-r--r--tests/wpt/metadata/css/css-position/position-absolute-dynamic-containing-block.html.ini18
-rw-r--r--tests/wpt/metadata/css/css-position/position-absolute-dynamic-list-marker.html.ini2
-rw-r--r--tests/wpt/metadata/css/css-position/position-absolute-dynamic-relayout-003.html.ini2
-rw-r--r--tests/wpt/metadata/css/css-position/position-absolute-dynamic-static-position-floats-001.html.ini2
-rw-r--r--tests/wpt/metadata/css/css-position/position-absolute-dynamic-static-position-floats-004.html.ini2
-rw-r--r--tests/wpt/metadata/css/css-position/position-absolute-dynamic-static-position-inline.html.ini2
-rw-r--r--tests/wpt/metadata/css/css-position/position-absolute-fit-content.html.ini2
-rw-r--r--tests/wpt/metadata/css/css-position/position-absolute-in-inline-002.html.ini3
-rw-r--r--tests/wpt/metadata/css/css-position/position-absolute-in-inline-003.html.ini2
-rw-r--r--tests/wpt/metadata/css/css-position/position-absolute-in-inline-004.html.ini2
-rw-r--r--tests/wpt/metadata/css/css-position/position-absolute-percentage-height.html.ini6
-rw-r--r--tests/wpt/metadata/css/css-position/position-absolute-replaced-intrinsic-size.tentative.html.ini2
-rw-r--r--tests/wpt/metadata/css/css-position/position-absolute-replaced-minmax.html.ini58
-rw-r--r--tests/wpt/metadata/css/css-position/position-absolute-replaced-no-intrinsic-size.tentative.html.ini2
-rw-r--r--tests/wpt/metadata/css/css-position/position-absolute-root-element-flex.html.ini2
-rw-r--r--tests/wpt/metadata/css/css-position/position-absolute-table-001.html.ini18
-rw-r--r--tests/wpt/metadata/css/css-position/position-absolute-under-non-containing-stacking-context.html.ini2
-rw-r--r--tests/wpt/metadata/css/css-position/position-fixed-at-bottom-right-on-viewport.html.ini3
-rw-r--r--tests/wpt/metadata/css/css-position/position-fixed-root-element-flex.html.ini2
-rw-r--r--tests/wpt/metadata/css/css-position/position-relative-001.html.ini2
-rw-r--r--tests/wpt/metadata/css/css-position/position-relative-002.html.ini2
-rw-r--r--tests/wpt/metadata/css/css-position/position-relative-003.html.ini2
-rw-r--r--tests/wpt/metadata/css/css-position/position-relative-004.html.ini2
-rw-r--r--tests/wpt/metadata/css/css-position/position-relative-005.html.ini2
-rw-r--r--tests/wpt/metadata/css/css-position/position-relative-006.html.ini2
-rw-r--r--tests/wpt/metadata/css/css-position/position-relative-007.html.ini2
-rw-r--r--tests/wpt/metadata/css/css-position/position-relative-008.html.ini2
-rw-r--r--tests/wpt/metadata/css/css-position/position-relative-009.html.ini2
-rw-r--r--tests/wpt/metadata/css/css-position/position-relative-013.html.ini2
-rw-r--r--tests/wpt/metadata/css/css-position/position-relative-table-tbody-left-absolute-child.html.ini2
-rw-r--r--tests/wpt/metadata/css/css-position/position-relative-table-tbody-left.html.ini2
-rw-r--r--tests/wpt/metadata/css/css-position/position-relative-table-tbody-top-absolute-child.html.ini2
-rw-r--r--tests/wpt/metadata/css/css-position/position-relative-table-tbody-top.html.ini2
-rw-r--r--tests/wpt/metadata/css/css-position/position-relative-table-td-left.html.ini2
-rw-r--r--tests/wpt/metadata/css/css-position/position-relative-table-td-top.html.ini2
-rw-r--r--tests/wpt/metadata/css/css-position/position-relative-table-tfoot-left-absolute-child.html.ini2
-rw-r--r--tests/wpt/metadata/css/css-position/position-relative-table-tfoot-left.html.ini2
-rw-r--r--tests/wpt/metadata/css/css-position/position-relative-table-tfoot-top-absolute-child.html.ini2
-rw-r--r--tests/wpt/metadata/css/css-position/position-relative-table-tfoot-top.html.ini2
-rw-r--r--tests/wpt/metadata/css/css-position/position-relative-table-thead-left-absolute-child.html.ini2
-rw-r--r--tests/wpt/metadata/css/css-position/position-relative-table-thead-left.html.ini2
-rw-r--r--tests/wpt/metadata/css/css-position/position-relative-table-thead-top-absolute-child.html.ini2
-rw-r--r--tests/wpt/metadata/css/css-position/position-relative-table-thead-top.html.ini2
-rw-r--r--tests/wpt/metadata/css/css-position/position-relative-table-tr-left-absolute-child.html.ini2
-rw-r--r--tests/wpt/metadata/css/css-position/position-relative-table-tr-left.html.ini2
-rw-r--r--tests/wpt/metadata/css/css-position/position-relative-table-tr-top-absolute-child.html.ini2
-rw-r--r--tests/wpt/metadata/css/css-position/position-relative-table-tr-top.html.ini2
-rw-r--r--tests/wpt/metadata/css/css-position/positon-absolute-scrollable-overflow-001.html.ini36
-rw-r--r--tests/wpt/metadata/css/css-position/static-position/htb-ltr-ltr.html.ini2
-rw-r--r--tests/wpt/metadata/css/css-position/static-position/htb-ltr-rtl.tentative.html.ini2
-rw-r--r--tests/wpt/metadata/css/css-position/static-position/htb-rtl-ltr.tentative.html.ini2
-rw-r--r--tests/wpt/metadata/css/css-position/static-position/htb-rtl-rtl.html.ini2
-rw-r--r--tests/wpt/metadata/css/css-position/static-position/inline-level-absolute-in-block-level-context-001.html.ini2
-rw-r--r--tests/wpt/metadata/css/css-position/static-position/inline-level-absolute-in-block-level-context-002.html.ini2
-rw-r--r--tests/wpt/metadata/css/css-position/static-position/inline-level-absolute-in-block-level-context-005.html.ini2
-rw-r--r--tests/wpt/metadata/css/css-position/static-position/inline-level-absolute-in-block-level-context-006.html.ini2
-rw-r--r--tests/wpt/metadata/css/css-position/static-position/inline-level-absolute-in-block-level-context-007.html.ini2
-rw-r--r--tests/wpt/metadata/css/css-position/static-position/inline-level-absolute-in-block-level-context-008.html.ini2
-rw-r--r--tests/wpt/metadata/css/css-position/static-position/inline-level-absolute-in-block-level-context-010.html.ini2
-rw-r--r--tests/wpt/metadata/css/css-position/static-position/inline-level-absolute-in-block-level-context-011.html.ini2
-rw-r--r--tests/wpt/metadata/css/css-position/static-position/inline-level-absolute-in-block-level-context-012.html.ini2
-rw-r--r--tests/wpt/metadata/css/css-position/static-position/vlr-ltr-ltr.html.ini2
-rw-r--r--tests/wpt/metadata/css/css-position/static-position/vlr-ltr-rtl.tentative.html.ini2
-rw-r--r--tests/wpt/metadata/css/css-position/static-position/vlr-rtl-ltr.tentative.html.ini2
-rw-r--r--tests/wpt/metadata/css/css-position/static-position/vlr-rtl-rtl.html.ini2
-rw-r--r--tests/wpt/metadata/css/css-position/static-position/vrl-ltr-ltr.html.ini2
-rw-r--r--tests/wpt/metadata/css/css-position/static-position/vrl-ltr-rtl.tentative.html.ini2
-rw-r--r--tests/wpt/metadata/css/css-position/static-position/vrl-rtl-ltr.tentative.html.ini2
-rw-r--r--tests/wpt/metadata/css/css-position/static-position/vrl-rtl-rtl.html.ini2
-rw-r--r--tests/wpt/metadata/css/css-position/sticky/position-sticky-bottom-002.html.ini2
-rw-r--r--tests/wpt/metadata/css/css-position/sticky/position-sticky-bottom-003.html.ini2
-rw-r--r--tests/wpt/metadata/css/css-position/sticky/position-sticky-bottom.html.ini6
-rw-r--r--tests/wpt/metadata/css/css-position/sticky/position-sticky-change-top.html.ini2
-rw-r--r--tests/wpt/metadata/css/css-position/sticky/position-sticky-child-multicolumn.html.ini2
-rw-r--r--tests/wpt/metadata/css/css-position/sticky/position-sticky-contained-by-display-table.html.ini2
-rw-r--r--tests/wpt/metadata/css/css-position/sticky/position-sticky-escape-scroller-001.html.ini2
-rw-r--r--tests/wpt/metadata/css/css-position/sticky/position-sticky-escape-scroller-002.html.ini2
-rw-r--r--tests/wpt/metadata/css/css-position/sticky/position-sticky-escape-scroller-003.html.ini2
-rw-r--r--tests/wpt/metadata/css/css-position/sticky/position-sticky-escape-scroller-004.html.ini2
-rw-r--r--tests/wpt/metadata/css/css-position/sticky/position-sticky-fixed-ancestor-iframe.html.ini2
-rw-r--r--tests/wpt/metadata/css/css-position/sticky/position-sticky-fixed-ancestor.html.ini2
-rw-r--r--tests/wpt/metadata/css/css-position/sticky/position-sticky-flex-item-002.html.ini2
-rw-r--r--tests/wpt/metadata/css/css-position/sticky/position-sticky-flex-item-004.html.ini2
-rw-r--r--tests/wpt/metadata/css/css-position/sticky/position-sticky-flexbox.html.ini2
-rw-r--r--tests/wpt/metadata/css/css-position/sticky/position-sticky-fractional-offset.html.ini2
-rw-r--r--tests/wpt/metadata/css/css-position/sticky/position-sticky-get-bounding-client-rect.html.ini (renamed from tests/wpt/mozilla/meta/css/css-position-3/position-sticky-get-bounding-client-rect.html.ini)8
-rw-r--r--tests/wpt/metadata/css/css-position/sticky/position-sticky-grid.html.ini2
-rw-r--r--tests/wpt/metadata/css/css-position/sticky/position-sticky-hyperlink.html.ini2
-rw-r--r--tests/wpt/metadata/css/css-position/sticky/position-sticky-inflow-position.html.ini3
-rw-r--r--tests/wpt/metadata/css/css-position/sticky/position-sticky-inline.html.ini2
-rw-r--r--tests/wpt/metadata/css/css-position/sticky/position-sticky-input-box-gets-focused-after-scroll.html.ini3
-rw-r--r--tests/wpt/metadata/css/css-position/sticky/position-sticky-large-top-2.tentative.html.ini2
-rw-r--r--tests/wpt/metadata/css/css-position/sticky/position-sticky-large-top.tentative.html.ini2
-rw-r--r--tests/wpt/metadata/css/css-position/sticky/position-sticky-left-002.html.ini2
-rw-r--r--tests/wpt/metadata/css/css-position/sticky/position-sticky-left-003.html.ini2
-rw-r--r--tests/wpt/metadata/css/css-position/sticky/position-sticky-left.html.ini6
-rw-r--r--tests/wpt/metadata/css/css-position/sticky/position-sticky-margins.html.ini6
-rw-r--r--tests/wpt/metadata/css/css-position/sticky/position-sticky-nested-bottom.html.ini9
-rw-r--r--tests/wpt/metadata/css/css-position/sticky/position-sticky-nested-inline.html.ini2
-rw-r--r--tests/wpt/metadata/css/css-position/sticky/position-sticky-nested-left.html.ini12
-rw-r--r--tests/wpt/metadata/css/css-position/sticky/position-sticky-nested-right.html.ini9
-rw-r--r--tests/wpt/metadata/css/css-position/sticky/position-sticky-nested-table.html.ini2
-rw-r--r--tests/wpt/metadata/css/css-position/sticky/position-sticky-nested-thead-th.html.ini2
-rw-r--r--tests/wpt/metadata/css/css-position/sticky/position-sticky-nested-top.html.ini12
-rw-r--r--tests/wpt/metadata/css/css-position/sticky/position-sticky-offset-overflow.html.ini3
-rw-r--r--tests/wpt/metadata/css/css-position/sticky/position-sticky-offset-top-left.html.ini (renamed from tests/wpt/mozilla/meta/css/css-position-3/position-sticky-offset-top-left.html.ini)4
-rw-r--r--tests/wpt/metadata/css/css-position/sticky/position-sticky-overflow-padding.html.ini3
-rw-r--r--tests/wpt/metadata/css/css-position/sticky/position-sticky-right-002.html.ini2
-rw-r--r--tests/wpt/metadata/css/css-position/sticky/position-sticky-right-003.html.ini2
-rw-r--r--tests/wpt/metadata/css/css-position/sticky/position-sticky-right.html.ini6
-rw-r--r--tests/wpt/metadata/css/css-position/sticky/position-sticky-root-scroller.html.ini3
-rw-r--r--tests/wpt/metadata/css/css-position/sticky/position-sticky-scrollIntoView.html.ini3
-rw-r--r--tests/wpt/metadata/css/css-position/sticky/position-sticky-table-parts.html.ini2
-rw-r--r--tests/wpt/metadata/css/css-position/sticky/position-sticky-table-td-bottom.html.ini2
-rw-r--r--tests/wpt/metadata/css/css-position/sticky/position-sticky-table-td-left.html.ini2
-rw-r--r--tests/wpt/metadata/css/css-position/sticky/position-sticky-table-td-right.html.ini2
-rw-r--r--tests/wpt/metadata/css/css-position/sticky/position-sticky-table-td-top.html.ini2
-rw-r--r--tests/wpt/metadata/css/css-position/sticky/position-sticky-table-tfoot-bottom.html.ini2
-rw-r--r--tests/wpt/metadata/css/css-position/sticky/position-sticky-table-th-bottom.html.ini2
-rw-r--r--tests/wpt/metadata/css/css-position/sticky/position-sticky-table-th-left.html.ini2
-rw-r--r--tests/wpt/metadata/css/css-position/sticky/position-sticky-table-th-right.html.ini2
-rw-r--r--tests/wpt/metadata/css/css-position/sticky/position-sticky-table-th-top.html.ini2
-rw-r--r--tests/wpt/metadata/css/css-position/sticky/position-sticky-table-thead-top.html.ini2
-rw-r--r--tests/wpt/metadata/css/css-position/sticky/position-sticky-table-tr-bottom.html.ini2
-rw-r--r--tests/wpt/metadata/css/css-position/sticky/position-sticky-table-tr-top.html.ini2
-rw-r--r--tests/wpt/metadata/css/css-position/sticky/position-sticky-top-002.html.ini2
-rw-r--r--tests/wpt/metadata/css/css-position/sticky/position-sticky-top-003.html.ini2
-rw-r--r--tests/wpt/metadata/css/css-position/sticky/position-sticky-top-and-bottom-003.html.ini2
-rw-r--r--tests/wpt/metadata/css/css-position/sticky/position-sticky-top-and-bottom.html.ini6
-rw-r--r--tests/wpt/metadata/css/css-position/sticky/position-sticky-top.html.ini6
-rw-r--r--tests/wpt/metadata/css/css-position/sticky/position-sticky-transforms-translate.html.ini9
-rw-r--r--tests/wpt/metadata/css/css-position/sticky/position-sticky-transforms.html.ini9
-rw-r--r--tests/wpt/metadata/css/css-position/sticky/position-sticky-writing-modes.html.ini2
-rw-r--r--tests/wpt/metadata/css/css-position/z-index-blend-will-change-overlapping-layers.html.ini2
-rw-r--r--tests/wpt/mozilla/meta-layout-2020/css/css-position-3/position-sticky-inflow-position.html.ini2
-rw-r--r--tests/wpt/mozilla/meta-layout-2020/css/css-position-3/position-sticky-left.html.ini2
-rw-r--r--tests/wpt/mozilla/meta-layout-2020/css/css-position-3/position-sticky-margins.html.ini2
-rw-r--r--tests/wpt/mozilla/meta-layout-2020/css/css-position-3/position-sticky-nested-bottom.html.ini2
-rw-r--r--tests/wpt/mozilla/meta-layout-2020/css/css-position-3/position-sticky-nested-left.html.ini2
-rw-r--r--tests/wpt/mozilla/meta-layout-2020/css/css-position-3/position-sticky-nested-right.html.ini2
-rw-r--r--tests/wpt/mozilla/meta-layout-2020/css/css-position-3/position-sticky-nested-top.html.ini2
-rw-r--r--tests/wpt/mozilla/meta-layout-2020/css/css-position-3/position-sticky-overflow-padding.html.ini2
-rw-r--r--tests/wpt/mozilla/meta-layout-2020/css/css-position-3/position-sticky-top.html.ini2
-rw-r--r--tests/wpt/mozilla/meta/MANIFEST.json476
-rw-r--r--tests/wpt/mozilla/meta/css/css-position-3/__dir__.ini1
-rw-r--r--tests/wpt/mozilla/meta/css/css-position-3/position-sticky-grid.html.ini7
-rw-r--r--tests/wpt/mozilla/meta/css/css-position-3/position-sticky-inline.html.ini7
-rw-r--r--tests/wpt/mozilla/meta/css/css-position-3/position-sticky-nested-bottom.html.ini7
-rw-r--r--tests/wpt/mozilla/meta/css/css-position-3/position-sticky-nested-inline.html.ini7
-rw-r--r--tests/wpt/mozilla/meta/css/css-position-3/position-sticky-nested-left.html.ini7
-rw-r--r--tests/wpt/mozilla/meta/css/css-position-3/position-sticky-nested-right.html.ini7
-rw-r--r--tests/wpt/mozilla/meta/css/css-position-3/position-sticky-nested-table.html.ini7
-rw-r--r--tests/wpt/mozilla/meta/css/css-position-3/position-sticky-nested-top.html.ini7
-rw-r--r--tests/wpt/mozilla/meta/css/css-position-3/position-sticky-overflow-padding.html.ini7
-rw-r--r--tests/wpt/mozilla/meta/css/css-position-3/position-sticky-parsing.html.ini6
-rw-r--r--tests/wpt/mozilla/meta/css/css-position-3/position-sticky-writing-modes.html.ini7
-rw-r--r--tests/wpt/mozilla/tests/css/css-position-3/position-sticky-bottom-ref.html69
-rw-r--r--tests/wpt/mozilla/tests/css/css-position-3/position-sticky-bottom.html104
-rw-r--r--tests/wpt/mozilla/tests/css/css-position-3/position-sticky-flexbox-ref.html63
-rw-r--r--tests/wpt/mozilla/tests/css/css-position-3/position-sticky-flexbox.html80
-rw-r--r--tests/wpt/mozilla/tests/css/css-position-3/position-sticky-get-bounding-client-rect.html99
-rw-r--r--tests/wpt/mozilla/tests/css/css-position-3/position-sticky-grid-ref.html76
-rw-r--r--tests/wpt/mozilla/tests/css/css-position-3/position-sticky-grid.html93
-rw-r--r--tests/wpt/mozilla/tests/css/css-position-3/position-sticky-inflow-position-ref.html42
-rw-r--r--tests/wpt/mozilla/tests/css/css-position-3/position-sticky-inflow-position.html46
-rw-r--r--tests/wpt/mozilla/tests/css/css-position-3/position-sticky-inline-ref.html69
-rw-r--r--tests/wpt/mozilla/tests/css/css-position-3/position-sticky-inline.html105
-rw-r--r--tests/wpt/mozilla/tests/css/css-position-3/position-sticky-input-box-gets-focused-after-scroll.html30
-rw-r--r--tests/wpt/mozilla/tests/css/css-position-3/position-sticky-left-ref.html68
-rw-r--r--tests/wpt/mozilla/tests/css/css-position-3/position-sticky-left.html103
-rw-r--r--tests/wpt/mozilla/tests/css/css-position-3/position-sticky-margins-ref.html63
-rw-r--r--tests/wpt/mozilla/tests/css/css-position-3/position-sticky-margins.html92
-rw-r--r--tests/wpt/mozilla/tests/css/css-position-3/position-sticky-nested-bottom-ref.html76
-rw-r--r--tests/wpt/mozilla/tests/css/css-position-3/position-sticky-nested-bottom.html135
-rw-r--r--tests/wpt/mozilla/tests/css/css-position-3/position-sticky-nested-inline-ref.html74
-rw-r--r--tests/wpt/mozilla/tests/css/css-position-3/position-sticky-nested-inline.html115
-rw-r--r--tests/wpt/mozilla/tests/css/css-position-3/position-sticky-nested-left-ref.html76
-rw-r--r--tests/wpt/mozilla/tests/css/css-position-3/position-sticky-nested-left.html141
-rw-r--r--tests/wpt/mozilla/tests/css/css-position-3/position-sticky-nested-right-ref.html76
-rw-r--r--tests/wpt/mozilla/tests/css/css-position-3/position-sticky-nested-right.html149
-rw-r--r--tests/wpt/mozilla/tests/css/css-position-3/position-sticky-nested-table-ref.html66
-rw-r--r--tests/wpt/mozilla/tests/css/css-position-3/position-sticky-nested-table.html131
-rw-r--r--tests/wpt/mozilla/tests/css/css-position-3/position-sticky-nested-top-ref.html83
-rw-r--r--tests/wpt/mozilla/tests/css/css-position-3/position-sticky-nested-top.html128
-rw-r--r--tests/wpt/mozilla/tests/css/css-position-3/position-sticky-offset-top-left.html78
-rw-r--r--tests/wpt/mozilla/tests/css/css-position-3/position-sticky-overflow-padding-ref.html69
-rw-r--r--tests/wpt/mozilla/tests/css/css-position-3/position-sticky-overflow-padding.html106
-rw-r--r--tests/wpt/mozilla/tests/css/css-position-3/position-sticky-parsing.html73
-rw-r--r--tests/wpt/mozilla/tests/css/css-position-3/position-sticky-right-ref.html68
-rw-r--r--tests/wpt/mozilla/tests/css/css-position-3/position-sticky-right.html102
-rw-r--r--tests/wpt/mozilla/tests/css/css-position-3/position-sticky-stacking-context-ref.html17
-rw-r--r--tests/wpt/mozilla/tests/css/css-position-3/position-sticky-stacking-context.html38
-rw-r--r--tests/wpt/mozilla/tests/css/css-position-3/position-sticky-table-tfoot-bottom-ref.html62
-rw-r--r--tests/wpt/mozilla/tests/css/css-position-3/position-sticky-table-tfoot-bottom.html121
-rw-r--r--tests/wpt/mozilla/tests/css/css-position-3/position-sticky-table-th-bottom-ref.html62
-rw-r--r--tests/wpt/mozilla/tests/css/css-position-3/position-sticky-table-th-bottom.html127
-rw-r--r--tests/wpt/mozilla/tests/css/css-position-3/position-sticky-table-th-left-ref.html62
-rw-r--r--tests/wpt/mozilla/tests/css/css-position-3/position-sticky-table-th-left.html115
-rw-r--r--tests/wpt/mozilla/tests/css/css-position-3/position-sticky-table-th-right-ref.html62
-rw-r--r--tests/wpt/mozilla/tests/css/css-position-3/position-sticky-table-th-right.html115
-rw-r--r--tests/wpt/mozilla/tests/css/css-position-3/position-sticky-table-th-top-ref.html62
-rw-r--r--tests/wpt/mozilla/tests/css/css-position-3/position-sticky-table-th-top.html127
-rw-r--r--tests/wpt/mozilla/tests/css/css-position-3/position-sticky-table-thead-top-ref.html62
-rw-r--r--tests/wpt/mozilla/tests/css/css-position-3/position-sticky-table-thead-top.html121
-rw-r--r--tests/wpt/mozilla/tests/css/css-position-3/position-sticky-table-tr-bottom-ref.html62
-rw-r--r--tests/wpt/mozilla/tests/css/css-position-3/position-sticky-table-tr-bottom.html118
-rw-r--r--tests/wpt/mozilla/tests/css/css-position-3/position-sticky-table-tr-top-ref.html62
-rw-r--r--tests/wpt/mozilla/tests/css/css-position-3/position-sticky-table-tr-top.html119
-rw-r--r--tests/wpt/mozilla/tests/css/css-position-3/position-sticky-top-ref.html68
-rw-r--r--tests/wpt/mozilla/tests/css/css-position-3/position-sticky-top.html104
-rw-r--r--tests/wpt/mozilla/tests/css/css-position-3/position-sticky-writing-modes-ref.html58
-rw-r--r--tests/wpt/mozilla/tests/css/css-position-3/position-sticky-writing-modes.html69
421 files changed, 2989 insertions, 5347 deletions
diff --git a/tests/wpt/include-layout-2020.ini b/tests/wpt/include-layout-2020.ini
index 4370a944502..29ff07e3eab 100644
--- a/tests/wpt/include-layout-2020.ini
+++ b/tests/wpt/include-layout-2020.ini
@@ -22,6 +22,8 @@ skip: true
skip: false
[css-flexbox]
skip: false
+ [css-position]
+ skip: false
[css-text-decor]
skip: false
[css-transforms]
diff --git a/tests/wpt/include.ini b/tests/wpt/include.ini
index ba7c4edf1f3..b802dd6375a 100644
--- a/tests/wpt/include.ini
+++ b/tests/wpt/include.ini
@@ -37,6 +37,8 @@ skip: true
skip: false
[css-paint-api]
skip: false
+ [css-position]
+ skip: false
[css-style-attr]
skip: false
[css-text]
diff --git a/tests/wpt/metadata-layout-2020/css/css-position/animations/bottom-composition.html.ini b/tests/wpt/metadata-layout-2020/css/css-position/animations/bottom-composition.html.ini
new file mode 100644
index 00000000000..82d9cefbe6a
--- /dev/null
+++ b/tests/wpt/metadata-layout-2020/css/css-position/animations/bottom-composition.html.ini
@@ -0,0 +1,75 @@
+[bottom-composition.html]
+ [Compositing: property <bottom> underlying [50px\] from add [100px\] to add [200px\] at (-0.3) should be [120px\]]
+ expected: FAIL
+
+ [Compositing: property <bottom> underlying [50px\] from add [100px\] to add [200px\] at (0) should be [150px\]]
+ expected: FAIL
+
+ [Compositing: property <bottom> underlying [50px\] from add [100px\] to add [200px\] at (0.5) should be [200px\]]
+ expected: FAIL
+
+ [Compositing: property <bottom> underlying [50px\] from add [100px\] to add [200px\] at (1) should be [250px\]]
+ expected: FAIL
+
+ [Compositing: property <bottom> underlying [50px\] from add [100px\] to add [200px\] at (1.5) should be [300px\]]
+ expected: FAIL
+
+ [Compositing: property <bottom> underlying [100px\] from add [10px\] to add [2px\] at (-0.5) should be [114px\]]
+ expected: FAIL
+
+ [Compositing: property <bottom> underlying [100px\] from add [10px\] to add [2px\] at (0) should be [110px\]]
+ expected: FAIL
+
+ [Compositing: property <bottom> underlying [100px\] from add [10px\] to add [2px\] at (0.5) should be [106px\]]
+ expected: FAIL
+
+ [Compositing: property <bottom> underlying [100px\] from add [10px\] to add [2px\] at (1) should be [102px\]]
+ expected: FAIL
+
+ [Compositing: property <bottom> underlying [100px\] from add [10px\] to add [2px\] at (1.5) should be [98px\]]
+ expected: FAIL
+
+ [Compositing: property <bottom> underlying [10%\] from add [100px\] to add [20%\] at (-0.3) should be [calc(130px + 4%)\]]
+ expected: FAIL
+
+ [Compositing: property <bottom> underlying [10%\] from add [100px\] to add [20%\] at (0) should be [calc(100px + 10%)\]]
+ expected: FAIL
+
+ [Compositing: property <bottom> underlying [10%\] from add [100px\] to add [20%\] at (0.5) should be [calc(50px + 20%)\]]
+ expected: FAIL
+
+ [Compositing: property <bottom> underlying [10%\] from add [100px\] to add [20%\] at (1) should be [30%\]]
+ expected: FAIL
+
+ [Compositing: property <bottom> underlying [10%\] from add [100px\] to add [20%\] at (1.5) should be [calc(-50px + 40%)\]]
+ expected: FAIL
+
+ [Compositing: property <bottom> underlying [50px\] from add [100px\] to replace [200px\] at (-0.3) should be [135px\]]
+ expected: FAIL
+
+ [Compositing: property <bottom> underlying [50px\] from add [100px\] to replace [200px\] at (0) should be [150px\]]
+ expected: FAIL
+
+ [Compositing: property <bottom> underlying [50px\] from add [100px\] to replace [200px\] at (0.5) should be [175px\]]
+ expected: FAIL
+
+ [Compositing: property <bottom> underlying [50px\] from add [100px\] to replace [200px\] at (1) should be [200px\]]
+ expected: FAIL
+
+ [Compositing: property <bottom> underlying [50px\] from add [100px\] to replace [200px\] at (1.5) should be [225px\]]
+ expected: FAIL
+
+ [Compositing: property <bottom> underlying [100px\] from add [100px\] to add [auto\] at (-0.3) should be [200px\]]
+ expected: FAIL
+
+ [Compositing: property <bottom> underlying [100px\] from add [100px\] to add [auto\] at (0) should be [200px\]]
+ expected: FAIL
+
+ [Compositing: property <bottom> underlying [100px\] from add [100px\] to add [auto\] at (0.5) should be [auto\]]
+ expected: FAIL
+
+ [Compositing: property <bottom> underlying [100px\] from add [100px\] to add [auto\] at (1) should be [auto\]]
+ expected: FAIL
+
+ [Compositing: property <bottom> underlying [100px\] from add [100px\] to add [auto\] at (1.5) should be [auto\]]
+ expected: FAIL
diff --git a/tests/wpt/metadata-layout-2020/css/css-position/animations/bottom-interpolation.html.ini b/tests/wpt/metadata-layout-2020/css/css-position/animations/bottom-interpolation.html.ini
new file mode 100644
index 00000000000..906f5031fad
--- /dev/null
+++ b/tests/wpt/metadata-layout-2020/css/css-position/animations/bottom-interpolation.html.ini
@@ -0,0 +1,147 @@
+[bottom-interpolation.html]
+ [Web Animations: property <bottom> from neutral to [20px\] at (-0.3) should be [7px\]]
+ expected: FAIL
+
+ [Web Animations: property <bottom> from neutral to [20px\] at (0) should be [10px\]]
+ expected: FAIL
+
+ [Web Animations: property <bottom> from neutral to [20px\] at (0.5) should be [15px\]]
+ expected: FAIL
+
+ [Web Animations: property <bottom> from neutral to [20px\] at (1) should be [20px\]]
+ expected: FAIL
+
+ [Web Animations: property <bottom> from neutral to [20px\] at (1.5) should be [25px\]]
+ expected: FAIL
+
+ [CSS Transitions: property <bottom> from [initial\] to [20px\] at (-0.3) should be [initial\]]
+ expected: FAIL
+
+ [CSS Transitions: property <bottom> from [initial\] to [20px\] at (0) should be [initial\]]
+ expected: FAIL
+
+ [CSS Transitions: property <bottom> from [initial\] to [20px\] at (0.3) should be [initial\]]
+ expected: FAIL
+
+ [CSS Animations: property <bottom> from [initial\] to [20px\] at (-0.3) should be [initial\]]
+ expected: FAIL
+
+ [CSS Animations: property <bottom> from [initial\] to [20px\] at (0) should be [initial\]]
+ expected: FAIL
+
+ [CSS Animations: property <bottom> from [initial\] to [20px\] at (0.3) should be [initial\]]
+ expected: FAIL
+
+ [CSS Animations: property <bottom> from [initial\] to [20px\] at (0.5) should be [20px\]]
+ expected: FAIL
+
+ [CSS Animations: property <bottom> from [initial\] to [20px\] at (0.6) should be [20px\]]
+ expected: FAIL
+
+ [CSS Animations: property <bottom> from [initial\] to [20px\] at (1) should be [20px\]]
+ expected: FAIL
+
+ [CSS Animations: property <bottom> from [initial\] to [20px\] at (1.5) should be [20px\]]
+ expected: FAIL
+
+ [Web Animations: property <bottom> from [initial\] to [20px\] at (-0.3) should be [initial\]]
+ expected: FAIL
+
+ [Web Animations: property <bottom> from [initial\] to [20px\] at (0) should be [initial\]]
+ expected: FAIL
+
+ [Web Animations: property <bottom> from [initial\] to [20px\] at (0.3) should be [initial\]]
+ expected: FAIL
+
+ [Web Animations: property <bottom> from [initial\] to [20px\] at (0.5) should be [20px\]]
+ expected: FAIL
+
+ [Web Animations: property <bottom> from [initial\] to [20px\] at (0.6) should be [20px\]]
+ expected: FAIL
+
+ [Web Animations: property <bottom> from [initial\] to [20px\] at (1) should be [20px\]]
+ expected: FAIL
+
+ [Web Animations: property <bottom> from [initial\] to [20px\] at (1.5) should be [20px\]]
+ expected: FAIL
+
+ [Web Animations: property <bottom> from [inherit\] to [20px\] at (-0.3) should be [33px\]]
+ expected: FAIL
+
+ [Web Animations: property <bottom> from [inherit\] to [20px\] at (0) should be [30px\]]
+ expected: FAIL
+
+ [Web Animations: property <bottom> from [inherit\] to [20px\] at (0.5) should be [25px\]]
+ expected: FAIL
+
+ [Web Animations: property <bottom> from [inherit\] to [20px\] at (1) should be [20px\]]
+ expected: FAIL
+
+ [Web Animations: property <bottom> from [inherit\] to [20px\] at (1.5) should be [15px\]]
+ expected: FAIL
+
+ [CSS Transitions: property <bottom> from [unset\] to [20px\] at (-0.3) should be [unset\]]
+ expected: FAIL
+
+ [CSS Transitions: property <bottom> from [unset\] to [20px\] at (0) should be [unset\]]
+ expected: FAIL
+
+ [CSS Transitions: property <bottom> from [unset\] to [20px\] at (0.3) should be [unset\]]
+ expected: FAIL
+
+ [CSS Animations: property <bottom> from [unset\] to [20px\] at (-0.3) should be [unset\]]
+ expected: FAIL
+
+ [CSS Animations: property <bottom> from [unset\] to [20px\] at (0) should be [unset\]]
+ expected: FAIL
+
+ [CSS Animations: property <bottom> from [unset\] to [20px\] at (0.3) should be [unset\]]
+ expected: FAIL
+
+ [CSS Animations: property <bottom> from [unset\] to [20px\] at (0.5) should be [20px\]]
+ expected: FAIL
+
+ [CSS Animations: property <bottom> from [unset\] to [20px\] at (0.6) should be [20px\]]
+ expected: FAIL
+
+ [CSS Animations: property <bottom> from [unset\] to [20px\] at (1) should be [20px\]]
+ expected: FAIL
+
+ [CSS Animations: property <bottom> from [unset\] to [20px\] at (1.5) should be [20px\]]
+ expected: FAIL
+
+ [Web Animations: property <bottom> from [unset\] to [20px\] at (-0.3) should be [unset\]]
+ expected: FAIL
+
+ [Web Animations: property <bottom> from [unset\] to [20px\] at (0) should be [unset\]]
+ expected: FAIL
+
+ [Web Animations: property <bottom> from [unset\] to [20px\] at (0.3) should be [unset\]]
+ expected: FAIL
+
+ [Web Animations: property <bottom> from [unset\] to [20px\] at (0.5) should be [20px\]]
+ expected: FAIL
+
+ [Web Animations: property <bottom> from [unset\] to [20px\] at (0.6) should be [20px\]]
+ expected: FAIL
+
+ [Web Animations: property <bottom> from [unset\] to [20px\] at (1) should be [20px\]]
+ expected: FAIL
+
+ [Web Animations: property <bottom> from [unset\] to [20px\] at (1.5) should be [20px\]]
+ expected: FAIL
+
+ [Web Animations: property <bottom> from [-10px\] to [10px\] at (-0.3) should be [-16px\]]
+ expected: FAIL
+
+ [Web Animations: property <bottom> from [-10px\] to [10px\] at (0) should be [-10px\]]
+ expected: FAIL
+
+ [Web Animations: property <bottom> from [-10px\] to [10px\] at (0.5) should be [0px\]]
+ expected: FAIL
+
+ [Web Animations: property <bottom> from [-10px\] to [10px\] at (1) should be [10px\]]
+ expected: FAIL
+
+ [Web Animations: property <bottom> from [-10px\] to [10px\] at (1.5) should be [20px\]]
+ expected: FAIL
diff --git a/tests/wpt/metadata-layout-2020/css/css-position/animations/left-composition.html.ini b/tests/wpt/metadata-layout-2020/css/css-position/animations/left-composition.html.ini
new file mode 100644
index 00000000000..caae28fbd84
--- /dev/null
+++ b/tests/wpt/metadata-layout-2020/css/css-position/animations/left-composition.html.ini
@@ -0,0 +1,90 @@
+[left-composition.html]
+ [Compositing: property <left> underlying [50px\] from add [100px\] to add [200px\] at (-0.3) should be [120px\]]
+ expected: FAIL
+
+ [Compositing: property <left> underlying [50px\] from add [100px\] to add [200px\] at (0) should be [150px\]]
+ expected: FAIL
+
+ [Compositing: property <left> underlying [50px\] from add [100px\] to add [200px\] at (0.5) should be [200px\]]
+ expected: FAIL
+
+ [Compositing: property <left> underlying [50px\] from add [100px\] to add [200px\] at (1) should be [250px\]]
+ expected: FAIL
+
+ [Compositing: property <left> underlying [50px\] from add [100px\] to add [200px\] at (1.5) should be [300px\]]
+ expected: FAIL
+
+ [Compositing: property <left> underlying [100px\] from add [10px\] to add [2px\] at (-0.5) should be [114px\]]
+ expected: FAIL
+
+ [Compositing: property <left> underlying [100px\] from add [10px\] to add [2px\] at (0) should be [110px\]]
+ expected: FAIL
+
+ [Compositing: property <left> underlying [100px\] from add [10px\] to add [2px\] at (0.5) should be [106px\]]
+ expected: FAIL
+
+ [Compositing: property <left> underlying [100px\] from add [10px\] to add [2px\] at (1) should be [102px\]]
+ expected: FAIL
+
+ [Compositing: property <left> underlying [100px\] from add [10px\] to add [2px\] at (1.5) should be [98px\]]
+ expected: FAIL
+
+ [Compositing: property <left> underlying [10%\] from add [100px\] to add [20%\] at (-0.3) should be [calc(130px + 4%)\]]
+ expected: FAIL
+
+ [Compositing: property <left> underlying [10%\] from add [100px\] to add [20%\] at (0) should be [calc(100px + 10%)\]]
+ expected: FAIL
+
+ [Compositing: property <left> underlying [10%\] from add [100px\] to add [20%\] at (0.5) should be [calc(50px + 20%)\]]
+ expected: FAIL
+
+ [Compositing: property <left> underlying [10%\] from add [100px\] to add [20%\] at (1) should be [30%\]]
+ expected: FAIL
+
+ [Compositing: property <left> underlying [10%\] from add [100px\] to add [20%\] at (1.5) should be [calc(-50px + 40%)\]]
+ expected: FAIL
+
+ [Compositing: property <left> underlying [10%\] from add [100px\] to add [-10%\] at (-0.3) should be [calc(130px + 13%)\]]
+ expected: FAIL
+
+ [Compositing: property <left> underlying [10%\] from add [100px\] to add [-10%\] at (0) should be [calc(100px + 10%)\]]
+ expected: FAIL
+
+ [Compositing: property <left> underlying [10%\] from add [100px\] to add [-10%\] at (0.5) should be [calc(50px + 5%)\]]
+ expected: FAIL
+
+ [Compositing: property <left> underlying [10%\] from add [100px\] to add [-10%\] at (1) should be [0%\]]
+ expected: FAIL
+
+ [Compositing: property <left> underlying [10%\] from add [100px\] to add [-10%\] at (1.5) should be [calc(-50px - 5%)\]]
+ expected: FAIL
+
+ [Compositing: property <left> underlying [50px\] from add [100px\] to replace [200px\] at (-0.3) should be [135px\]]
+ expected: FAIL
+
+ [Compositing: property <left> underlying [50px\] from add [100px\] to replace [200px\] at (0) should be [150px\]]
+ expected: FAIL
+
+ [Compositing: property <left> underlying [50px\] from add [100px\] to replace [200px\] at (0.5) should be [175px\]]
+ expected: FAIL
+
+ [Compositing: property <left> underlying [50px\] from add [100px\] to replace [200px\] at (1) should be [200px\]]
+ expected: FAIL
+
+ [Compositing: property <left> underlying [50px\] from add [100px\] to replace [200px\] at (1.5) should be [225px\]]
+ expected: FAIL
+
+ [Compositing: property <left> underlying [100px\] from add [100px\] to add [auto\] at (-0.3) should be [200px\]]
+ expected: FAIL
+
+ [Compositing: property <left> underlying [100px\] from add [100px\] to add [auto\] at (0) should be [200px\]]
+ expected: FAIL
+
+ [Compositing: property <left> underlying [100px\] from add [100px\] to add [auto\] at (0.5) should be [auto\]]
+ expected: FAIL
+
+ [Compositing: property <left> underlying [100px\] from add [100px\] to add [auto\] at (1) should be [auto\]]
+ expected: FAIL
+
+ [Compositing: property <left> underlying [100px\] from add [100px\] to add [auto\] at (1.5) should be [auto\]]
+ expected: FAIL
diff --git a/tests/wpt/metadata-layout-2020/css/css-position/animations/left-interpolation.html.ini b/tests/wpt/metadata-layout-2020/css/css-position/animations/left-interpolation.html.ini
new file mode 100644
index 00000000000..a6a052586b0
--- /dev/null
+++ b/tests/wpt/metadata-layout-2020/css/css-position/animations/left-interpolation.html.ini
@@ -0,0 +1,147 @@
+[left-interpolation.html]
+ [Web Animations: property <left> from neutral to [20px\] at (-0.3) should be [7px\]]
+ expected: FAIL
+
+ [Web Animations: property <left> from neutral to [20px\] at (0) should be [10px\]]
+ expected: FAIL
+
+ [Web Animations: property <left> from neutral to [20px\] at (0.5) should be [15px\]]
+ expected: FAIL
+
+ [Web Animations: property <left> from neutral to [20px\] at (1) should be [20px\]]
+ expected: FAIL
+
+ [Web Animations: property <left> from neutral to [20px\] at (1.5) should be [25px\]]
+ expected: FAIL
+
+ [CSS Transitions: property <left> from [initial\] to [20px\] at (-0.3) should be [initial\]]
+ expected: FAIL
+
+ [CSS Transitions: property <left> from [initial\] to [20px\] at (0) should be [initial\]]
+ expected: FAIL
+
+ [CSS Transitions: property <left> from [initial\] to [20px\] at (0.3) should be [initial\]]
+ expected: FAIL
+
+ [CSS Animations: property <left> from [initial\] to [20px\] at (-0.3) should be [initial\]]
+ expected: FAIL
+
+ [CSS Animations: property <left> from [initial\] to [20px\] at (0) should be [initial\]]
+ expected: FAIL
+
+ [CSS Animations: property <left> from [initial\] to [20px\] at (0.3) should be [initial\]]
+ expected: FAIL
+
+ [CSS Animations: property <left> from [initial\] to [20px\] at (0.5) should be [20px\]]
+ expected: FAIL
+
+ [CSS Animations: property <left> from [initial\] to [20px\] at (0.6) should be [20px\]]
+ expected: FAIL
+
+ [CSS Animations: property <left> from [initial\] to [20px\] at (1) should be [20px\]]
+ expected: FAIL
+
+ [CSS Animations: property <left> from [initial\] to [20px\] at (1.5) should be [20px\]]
+ expected: FAIL
+
+ [Web Animations: property <left> from [initial\] to [20px\] at (-0.3) should be [initial\]]
+ expected: FAIL
+
+ [Web Animations: property <left> from [initial\] to [20px\] at (0) should be [initial\]]
+ expected: FAIL
+
+ [Web Animations: property <left> from [initial\] to [20px\] at (0.3) should be [initial\]]
+ expected: FAIL
+
+ [Web Animations: property <left> from [initial\] to [20px\] at (0.5) should be [20px\]]
+ expected: FAIL
+
+ [Web Animations: property <left> from [initial\] to [20px\] at (0.6) should be [20px\]]
+ expected: FAIL
+
+ [Web Animations: property <left> from [initial\] to [20px\] at (1) should be [20px\]]
+ expected: FAIL
+
+ [Web Animations: property <left> from [initial\] to [20px\] at (1.5) should be [20px\]]
+ expected: FAIL
+
+ [Web Animations: property <left> from [inherit\] to [20px\] at (-0.3) should be [33px\]]
+ expected: FAIL
+
+ [Web Animations: property <left> from [inherit\] to [20px\] at (0) should be [30px\]]
+ expected: FAIL
+
+ [Web Animations: property <left> from [inherit\] to [20px\] at (0.5) should be [25px\]]
+ expected: FAIL
+
+ [Web Animations: property <left> from [inherit\] to [20px\] at (1) should be [20px\]]
+ expected: FAIL
+
+ [Web Animations: property <left> from [inherit\] to [20px\] at (1.5) should be [15px\]]
+ expected: FAIL
+
+ [CSS Transitions: property <left> from [unset\] to [20px\] at (-0.3) should be [unset\]]
+ expected: FAIL
+
+ [CSS Transitions: property <left> from [unset\] to [20px\] at (0) should be [unset\]]
+ expected: FAIL
+
+ [CSS Transitions: property <left> from [unset\] to [20px\] at (0.3) should be [unset\]]
+ expected: FAIL
+
+ [CSS Animations: property <left> from [unset\] to [20px\] at (-0.3) should be [unset\]]
+ expected: FAIL
+
+ [CSS Animations: property <left> from [unset\] to [20px\] at (0) should be [unset\]]
+ expected: FAIL
+
+ [CSS Animations: property <left> from [unset\] to [20px\] at (0.3) should be [unset\]]
+ expected: FAIL
+
+ [CSS Animations: property <left> from [unset\] to [20px\] at (0.5) should be [20px\]]
+ expected: FAIL
+
+ [CSS Animations: property <left> from [unset\] to [20px\] at (0.6) should be [20px\]]
+ expected: FAIL
+
+ [CSS Animations: property <left> from [unset\] to [20px\] at (1) should be [20px\]]
+ expected: FAIL
+
+ [CSS Animations: property <left> from [unset\] to [20px\] at (1.5) should be [20px\]]
+ expected: FAIL
+
+ [Web Animations: property <left> from [unset\] to [20px\] at (-0.3) should be [unset\]]
+ expected: FAIL
+
+ [Web Animations: property <left> from [unset\] to [20px\] at (0) should be [unset\]]
+ expected: FAIL
+
+ [Web Animations: property <left> from [unset\] to [20px\] at (0.3) should be [unset\]]
+ expected: FAIL
+
+ [Web Animations: property <left> from [unset\] to [20px\] at (0.5) should be [20px\]]
+ expected: FAIL
+
+ [Web Animations: property <left> from [unset\] to [20px\] at (0.6) should be [20px\]]
+ expected: FAIL
+
+ [Web Animations: property <left> from [unset\] to [20px\] at (1) should be [20px\]]
+ expected: FAIL
+
+ [Web Animations: property <left> from [unset\] to [20px\] at (1.5) should be [20px\]]
+ expected: FAIL
+
+ [Web Animations: property <left> from [-10px\] to [10px\] at (-0.3) should be [-16px\]]
+ expected: FAIL
+
+ [Web Animations: property <left> from [-10px\] to [10px\] at (0) should be [-10px\]]
+ expected: FAIL
+
+ [Web Animations: property <left> from [-10px\] to [10px\] at (0.5) should be [0px\]]
+ expected: FAIL
+
+ [Web Animations: property <left> from [-10px\] to [10px\] at (1) should be [10px\]]
+ expected: FAIL
+
+ [Web Animations: property <left> from [-10px\] to [10px\] at (1.5) should be [20px\]]
+ expected: FAIL
diff --git a/tests/wpt/metadata-layout-2020/css/css-position/animations/position-interpolation.html.ini b/tests/wpt/metadata-layout-2020/css/css-position/animations/position-interpolation.html.ini
new file mode 100644
index 00000000000..ff7a33cf034
--- /dev/null
+++ b/tests/wpt/metadata-layout-2020/css/css-position/animations/position-interpolation.html.ini
@@ -0,0 +1,30 @@
+[position-interpolation.html]
+ [CSS Transitions with transition: all: property <position> from [absolute\] to [static\] at (-0.3) should be [static\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <position> from [absolute\] to [static\] at (0) should be [static\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <position> from [absolute\] to [static\] at (0.3) should be [static\]]
+ expected: FAIL
+
+ [Web Animations: property <position> from [absolute\] to [static\] at (-0.3) should be [absolute\]]
+ expected: FAIL
+
+ [Web Animations: property <position> from [absolute\] to [static\] at (0) should be [absolute\]]
+ expected: FAIL
+
+ [Web Animations: property <position> from [absolute\] to [static\] at (0.3) should be [absolute\]]
+ expected: FAIL
+
+ [Web Animations: property <position> from [absolute\] to [static\] at (0.5) should be [static\]]
+ expected: FAIL
+
+ [Web Animations: property <position> from [absolute\] to [static\] at (0.6) should be [static\]]
+ expected: FAIL
+
+ [Web Animations: property <position> from [absolute\] to [static\] at (1) should be [static\]]
+ expected: FAIL
+
+ [Web Animations: property <position> from [absolute\] to [static\] at (1.5) should be [static\]]
+ expected: FAIL
diff --git a/tests/wpt/metadata-layout-2020/css/css-position/animations/right-composition.html.ini b/tests/wpt/metadata-layout-2020/css/css-position/animations/right-composition.html.ini
new file mode 100644
index 00000000000..1cc64d84840
--- /dev/null
+++ b/tests/wpt/metadata-layout-2020/css/css-position/animations/right-composition.html.ini
@@ -0,0 +1,75 @@
+[right-composition.html]
+ [Compositing: property <right> underlying [50px\] from add [100px\] to add [200px\] at (-0.3) should be [120px\]]
+ expected: FAIL
+
+ [Compositing: property <right> underlying [50px\] from add [100px\] to add [200px\] at (0) should be [150px\]]
+ expected: FAIL
+
+ [Compositing: property <right> underlying [50px\] from add [100px\] to add [200px\] at (0.5) should be [200px\]]
+ expected: FAIL
+
+ [Compositing: property <right> underlying [50px\] from add [100px\] to add [200px\] at (1) should be [250px\]]
+ expected: FAIL
+
+ [Compositing: property <right> underlying [50px\] from add [100px\] to add [200px\] at (1.5) should be [300px\]]
+ expected: FAIL
+
+ [Compositing: property <right> underlying [100px\] from add [10px\] to add [2px\] at (-0.5) should be [114px\]]
+ expected: FAIL
+
+ [Compositing: property <right> underlying [100px\] from add [10px\] to add [2px\] at (0) should be [110px\]]
+ expected: FAIL
+
+ [Compositing: property <right> underlying [100px\] from add [10px\] to add [2px\] at (0.5) should be [106px\]]
+ expected: FAIL
+
+ [Compositing: property <right> underlying [100px\] from add [10px\] to add [2px\] at (1) should be [102px\]]
+ expected: FAIL
+
+ [Compositing: property <right> underlying [100px\] from add [10px\] to add [2px\] at (1.5) should be [98px\]]
+ expected: FAIL
+
+ [Compositing: property <right> underlying [10%\] from add [100px\] to add [20%\] at (-0.3) should be [calc(130px + 4%)\]]
+ expected: FAIL
+
+ [Compositing: property <right> underlying [10%\] from add [100px\] to add [20%\] at (0) should be [calc(100px + 10%)\]]
+ expected: FAIL
+
+ [Compositing: property <right> underlying [10%\] from add [100px\] to add [20%\] at (0.5) should be [calc(50px + 20%)\]]
+ expected: FAIL
+
+ [Compositing: property <right> underlying [10%\] from add [100px\] to add [20%\] at (1) should be [30%\]]
+ expected: FAIL
+
+ [Compositing: property <right> underlying [10%\] from add [100px\] to add [20%\] at (1.5) should be [calc(-50px + 40%)\]]
+ expected: FAIL
+
+ [Compositing: property <right> underlying [50px\] from add [100px\] to replace [200px\] at (-0.3) should be [135px\]]
+ expected: FAIL
+
+ [Compositing: property <right> underlying [50px\] from add [100px\] to replace [200px\] at (0) should be [150px\]]
+ expected: FAIL
+
+ [Compositing: property <right> underlying [50px\] from add [100px\] to replace [200px\] at (0.5) should be [175px\]]
+ expected: FAIL
+
+ [Compositing: property <right> underlying [50px\] from add [100px\] to replace [200px\] at (1) should be [200px\]]
+ expected: FAIL
+
+ [Compositing: property <right> underlying [50px\] from add [100px\] to replace [200px\] at (1.5) should be [225px\]]
+ expected: FAIL
+
+ [Compositing: property <right> underlying [100px\] from add [100px\] to add [auto\] at (-0.3) should be [200px\]]
+ expected: FAIL
+
+ [Compositing: property <right> underlying [100px\] from add [100px\] to add [auto\] at (0) should be [200px\]]
+ expected: FAIL
+
+ [Compositing: property <right> underlying [100px\] from add [100px\] to add [auto\] at (0.5) should be [auto\]]
+ expected: FAIL
+
+ [Compositing: property <right> underlying [100px\] from add [100px\] to add [auto\] at (1) should be [auto\]]
+ expected: FAIL
+
+ [Compositing: property <right> underlying [100px\] from add [100px\] to add [auto\] at (1.5) should be [auto\]]
+ expected: FAIL
diff --git a/tests/wpt/metadata-layout-2020/css/css-position/animations/right-interpolation.html.ini b/tests/wpt/metadata-layout-2020/css/css-position/animations/right-interpolation.html.ini
new file mode 100644
index 00000000000..49e48b2879b
--- /dev/null
+++ b/tests/wpt/metadata-layout-2020/css/css-position/animations/right-interpolation.html.ini
@@ -0,0 +1,147 @@
+[right-interpolation.html]
+ [Web Animations: property <right> from neutral to [20px\] at (-0.3) should be [7px\]]
+ expected: FAIL
+
+ [Web Animations: property <right> from neutral to [20px\] at (0) should be [10px\]]
+ expected: FAIL
+
+ [Web Animations: property <right> from neutral to [20px\] at (0.5) should be [15px\]]
+ expected: FAIL
+
+ [Web Animations: property <right> from neutral to [20px\] at (1) should be [20px\]]
+ expected: FAIL
+
+ [Web Animations: property <right> from neutral to [20px\] at (1.5) should be [25px\]]
+ expected: FAIL
+
+ [CSS Transitions: property <right> from [initial\] to [20px\] at (-0.3) should be [initial\]]
+ expected: FAIL
+
+ [CSS Transitions: property <right> from [initial\] to [20px\] at (0) should be [initial\]]
+ expected: FAIL
+
+ [CSS Transitions: property <right> from [initial\] to [20px\] at (0.3) should be [initial\]]
+ expected: FAIL
+
+ [CSS Animations: property <right> from [initial\] to [20px\] at (-0.3) should be [initial\]]
+ expected: FAIL
+
+ [CSS Animations: property <right> from [initial\] to [20px\] at (0) should be [initial\]]
+ expected: FAIL
+
+ [CSS Animations: property <right> from [initial\] to [20px\] at (0.3) should be [initial\]]
+ expected: FAIL
+
+ [CSS Animations: property <right> from [initial\] to [20px\] at (0.5) should be [20px\]]
+ expected: FAIL
+
+ [CSS Animations: property <right> from [initial\] to [20px\] at (0.6) should be [20px\]]
+ expected: FAIL
+
+ [CSS Animations: property <right> from [initial\] to [20px\] at (1) should be [20px\]]
+ expected: FAIL
+
+ [CSS Animations: property <right> from [initial\] to [20px\] at (1.5) should be [20px\]]
+ expected: FAIL
+
+ [Web Animations: property <right> from [initial\] to [20px\] at (-0.3) should be [initial\]]
+ expected: FAIL
+
+ [Web Animations: property <right> from [initial\] to [20px\] at (0) should be [initial\]]
+ expected: FAIL
+
+ [Web Animations: property <right> from [initial\] to [20px\] at (0.3) should be [initial\]]
+ expected: FAIL
+
+ [Web Animations: property <right> from [initial\] to [20px\] at (0.5) should be [20px\]]
+ expected: FAIL
+
+ [Web Animations: property <right> from [initial\] to [20px\] at (0.6) should be [20px\]]
+ expected: FAIL
+
+ [Web Animations: property <right> from [initial\] to [20px\] at (1) should be [20px\]]
+ expected: FAIL
+
+ [Web Animations: property <right> from [initial\] to [20px\] at (1.5) should be [20px\]]
+ expected: FAIL
+
+ [Web Animations: property <right> from [inherit\] to [20px\] at (-0.3) should be [33px\]]
+ expected: FAIL
+
+ [Web Animations: property <right> from [inherit\] to [20px\] at (0) should be [30px\]]
+ expected: FAIL
+
+ [Web Animations: property <right> from [inherit\] to [20px\] at (0.5) should be [25px\]]
+ expected: FAIL
+
+ [Web Animations: property <right> from [inherit\] to [20px\] at (1) should be [20px\]]
+ expected: FAIL
+
+ [Web Animations: property <right> from [inherit\] to [20px\] at (1.5) should be [15px\]]
+ expected: FAIL
+
+ [CSS Transitions: property <right> from [unset\] to [20px\] at (-0.3) should be [unset\]]
+ expected: FAIL
+
+ [CSS Transitions: property <right> from [unset\] to [20px\] at (0) should be [unset\]]
+ expected: FAIL
+
+ [CSS Transitions: property <right> from [unset\] to [20px\] at (0.3) should be [unset\]]
+ expected: FAIL
+
+ [CSS Animations: property <right> from [unset\] to [20px\] at (-0.3) should be [unset\]]
+ expected: FAIL
+
+ [CSS Animations: property <right> from [unset\] to [20px\] at (0) should be [unset\]]
+ expected: FAIL
+
+ [CSS Animations: property <right> from [unset\] to [20px\] at (0.3) should be [unset\]]
+ expected: FAIL
+
+ [CSS Animations: property <right> from [unset\] to [20px\] at (0.5) should be [20px\]]
+ expected: FAIL
+
+ [CSS Animations: property <right> from [unset\] to [20px\] at (0.6) should be [20px\]]
+ expected: FAIL
+
+ [CSS Animations: property <right> from [unset\] to [20px\] at (1) should be [20px\]]
+ expected: FAIL
+
+ [CSS Animations: property <right> from [unset\] to [20px\] at (1.5) should be [20px\]]
+ expected: FAIL
+
+ [Web Animations: property <right> from [unset\] to [20px\] at (-0.3) should be [unset\]]
+ expected: FAIL
+
+ [Web Animations: property <right> from [unset\] to [20px\] at (0) should be [unset\]]
+ expected: FAIL
+
+ [Web Animations: property <right> from [unset\] to [20px\] at (0.3) should be [unset\]]
+ expected: FAIL
+
+ [Web Animations: property <right> from [unset\] to [20px\] at (0.5) should be [20px\]]
+ expected: FAIL
+
+ [Web Animations: property <right> from [unset\] to [20px\] at (0.6) should be [20px\]]
+ expected: FAIL
+
+ [Web Animations: property <right> from [unset\] to [20px\] at (1) should be [20px\]]
+ expected: FAIL
+
+ [Web Animations: property <right> from [unset\] to [20px\] at (1.5) should be [20px\]]
+ expected: FAIL
+
+ [Web Animations: property <right> from [-10px\] to [10px\] at (-0.3) should be [-16px\]]
+ expected: FAIL
+
+ [Web Animations: property <right> from [-10px\] to [10px\] at (0) should be [-10px\]]
+ expected: FAIL
+
+ [Web Animations: property <right> from [-10px\] to [10px\] at (0.5) should be [0px\]]
+ expected: FAIL
+
+ [Web Animations: property <right> from [-10px\] to [10px\] at (1) should be [10px\]]
+ expected: FAIL
+
+ [Web Animations: property <right> from [-10px\] to [10px\] at (1.5) should be [20px\]]
+ expected: FAIL
diff --git a/tests/wpt/metadata-layout-2020/css/css-position/animations/top-composition.html.ini b/tests/wpt/metadata-layout-2020/css/css-position/animations/top-composition.html.ini
new file mode 100644
index 00000000000..2328183babe
--- /dev/null
+++ b/tests/wpt/metadata-layout-2020/css/css-position/animations/top-composition.html.ini
@@ -0,0 +1,75 @@
+[top-composition.html]
+ [Compositing: property <top> underlying [50px\] from add [100px\] to add [200px\] at (-0.3) should be [120px\]]
+ expected: FAIL
+
+ [Compositing: property <top> underlying [50px\] from add [100px\] to add [200px\] at (0) should be [150px\]]
+ expected: FAIL
+
+ [Compositing: property <top> underlying [50px\] from add [100px\] to add [200px\] at (0.5) should be [200px\]]
+ expected: FAIL
+
+ [Compositing: property <top> underlying [50px\] from add [100px\] to add [200px\] at (1) should be [250px\]]
+ expected: FAIL
+
+ [Compositing: property <top> underlying [50px\] from add [100px\] to add [200px\] at (1.5) should be [300px\]]
+ expected: FAIL
+
+ [Compositing: property <top> underlying [100px\] from add [10px\] to add [2px\] at (-0.5) should be [114px\]]
+ expected: FAIL
+
+ [Compositing: property <top> underlying [100px\] from add [10px\] to add [2px\] at (0) should be [110px\]]
+ expected: FAIL
+
+ [Compositing: property <top> underlying [100px\] from add [10px\] to add [2px\] at (0.5) should be [106px\]]
+ expected: FAIL
+
+ [Compositing: property <top> underlying [100px\] from add [10px\] to add [2px\] at (1) should be [102px\]]
+ expected: FAIL
+
+ [Compositing: property <top> underlying [100px\] from add [10px\] to add [2px\] at (1.5) should be [98px\]]
+ expected: FAIL
+
+ [Compositing: property <top> underlying [10%\] from add [100px\] to add [20%\] at (-0.3) should be [calc(130px + 4%)\]]
+ expected: FAIL
+
+ [Compositing: property <top> underlying [10%\] from add [100px\] to add [20%\] at (0) should be [calc(100px + 10%)\]]
+ expected: FAIL
+
+ [Compositing: property <top> underlying [10%\] from add [100px\] to add [20%\] at (0.5) should be [calc(50px + 20%)\]]
+ expected: FAIL
+
+ [Compositing: property <top> underlying [10%\] from add [100px\] to add [20%\] at (1) should be [30%\]]
+ expected: FAIL
+
+ [Compositing: property <top> underlying [10%\] from add [100px\] to add [20%\] at (1.5) should be [calc(-50px + 40%)\]]
+ expected: FAIL
+
+ [Compositing: property <top> underlying [50px\] from add [100px\] to replace [200px\] at (-0.3) should be [135px\]]
+ expected: FAIL
+
+ [Compositing: property <top> underlying [50px\] from add [100px\] to replace [200px\] at (0) should be [150px\]]
+ expected: FAIL
+
+ [Compositing: property <top> underlying [50px\] from add [100px\] to replace [200px\] at (0.5) should be [175px\]]
+ expected: FAIL
+
+ [Compositing: property <top> underlying [50px\] from add [100px\] to replace [200px\] at (1) should be [200px\]]
+ expected: FAIL
+
+ [Compositing: property <top> underlying [50px\] from add [100px\] to replace [200px\] at (1.5) should be [225px\]]
+ expected: FAIL
+
+ [Compositing: property <top> underlying [100px\] from add [100px\] to add [auto\] at (-0.3) should be [200px\]]
+ expected: FAIL
+
+ [Compositing: property <top> underlying [100px\] from add [100px\] to add [auto\] at (0) should be [200px\]]
+ expected: FAIL
+
+ [Compositing: property <top> underlying [100px\] from add [100px\] to add [auto\] at (0.5) should be [auto\]]
+ expected: FAIL
+
+ [Compositing: property <top> underlying [100px\] from add [100px\] to add [auto\] at (1) should be [auto\]]
+ expected: FAIL
+
+ [Compositing: property <top> underlying [100px\] from add [100px\] to add [auto\] at (1.5) should be [auto\]]
+ expected: FAIL
diff --git a/tests/wpt/metadata-layout-2020/css/css-position/animations/top-interpolation.html.ini b/tests/wpt/metadata-layout-2020/css/css-position/animations/top-interpolation.html.ini
new file mode 100644
index 00000000000..e44e403c6a1
--- /dev/null
+++ b/tests/wpt/metadata-layout-2020/css/css-position/animations/top-interpolation.html.ini
@@ -0,0 +1,147 @@
+[top-interpolation.html]
+ [Web Animations: property <top> from neutral to [20px\] at (-0.3) should be [7px\]]
+ expected: FAIL
+
+ [Web Animations: property <top> from neutral to [20px\] at (0) should be [10px\]]
+ expected: FAIL
+
+ [Web Animations: property <top> from neutral to [20px\] at (0.5) should be [15px\]]
+ expected: FAIL
+
+ [Web Animations: property <top> from neutral to [20px\] at (1) should be [20px\]]
+ expected: FAIL
+
+ [Web Animations: property <top> from neutral to [20px\] at (1.5) should be [25px\]]
+ expected: FAIL
+
+ [CSS Transitions: property <top> from [initial\] to [20px\] at (-0.3) should be [initial\]]
+ expected: FAIL
+
+ [CSS Transitions: property <top> from [initial\] to [20px\] at (0) should be [initial\]]
+ expected: FAIL
+
+ [CSS Transitions: property <top> from [initial\] to [20px\] at (0.3) should be [initial\]]
+ expected: FAIL
+
+ [CSS Animations: property <top> from [initial\] to [20px\] at (-0.3) should be [initial\]]
+ expected: FAIL
+
+ [CSS Animations: property <top> from [initial\] to [20px\] at (0) should be [initial\]]
+ expected: FAIL
+
+ [CSS Animations: property <top> from [initial\] to [20px\] at (0.3) should be [initial\]]
+ expected: FAIL
+
+ [CSS Animations: property <top> from [initial\] to [20px\] at (0.5) should be [20px\]]
+ expected: FAIL
+
+ [CSS Animations: property <top> from [initial\] to [20px\] at (0.6) should be [20px\]]
+ expected: FAIL
+
+ [CSS Animations: property <top> from [initial\] to [20px\] at (1) should be [20px\]]
+ expected: FAIL
+
+ [CSS Animations: property <top> from [initial\] to [20px\] at (1.5) should be [20px\]]
+ expected: FAIL
+
+ [Web Animations: property <top> from [initial\] to [20px\] at (-0.3) should be [initial\]]
+ expected: FAIL
+
+ [Web Animations: property <top> from [initial\] to [20px\] at (0) should be [initial\]]
+ expected: FAIL
+
+ [Web Animations: property <top> from [initial\] to [20px\] at (0.3) should be [initial\]]
+ expected: FAIL
+
+ [Web Animations: property <top> from [initial\] to [20px\] at (0.5) should be [20px\]]
+ expected: FAIL
+
+ [Web Animations: property <top> from [initial\] to [20px\] at (0.6) should be [20px\]]
+ expected: FAIL
+
+ [Web Animations: property <top> from [initial\] to [20px\] at (1) should be [20px\]]
+ expected: FAIL
+
+ [Web Animations: property <top> from [initial\] to [20px\] at (1.5) should be [20px\]]
+ expected: FAIL
+
+ [Web Animations: property <top> from [inherit\] to [20px\] at (-0.3) should be [33px\]]
+ expected: FAIL
+
+ [Web Animations: property <top> from [inherit\] to [20px\] at (0) should be [30px\]]
+ expected: FAIL
+
+ [Web Animations: property <top> from [inherit\] to [20px\] at (0.5) should be [25px\]]
+ expected: FAIL
+
+ [Web Animations: property <top> from [inherit\] to [20px\] at (1) should be [20px\]]
+ expected: FAIL
+
+ [Web Animations: property <top> from [inherit\] to [20px\] at (1.5) should be [15px\]]
+ expected: FAIL
+
+ [CSS Transitions: property <top> from [unset\] to [20px\] at (-0.3) should be [unset\]]
+ expected: FAIL
+
+ [CSS Transitions: property <top> from [unset\] to [20px\] at (0) should be [unset\]]
+ expected: FAIL
+
+ [CSS Transitions: property <top> from [unset\] to [20px\] at (0.3) should be [unset\]]
+ expected: FAIL
+
+ [CSS Animations: property <top> from [unset\] to [20px\] at (-0.3) should be [unset\]]
+ expected: FAIL
+
+ [CSS Animations: property <top> from [unset\] to [20px\] at (0) should be [unset\]]
+ expected: FAIL
+
+ [CSS Animations: property <top> from [unset\] to [20px\] at (0.3) should be [unset\]]
+ expected: FAIL
+
+ [CSS Animations: property <top> from [unset\] to [20px\] at (0.5) should be [20px\]]
+ expected: FAIL
+
+ [CSS Animations: property <top> from [unset\] to [20px\] at (0.6) should be [20px\]]
+ expected: FAIL
+
+ [CSS Animations: property <top> from [unset\] to [20px\] at (1) should be [20px\]]
+ expected: FAIL
+
+ [CSS Animations: property <top> from [unset\] to [20px\] at (1.5) should be [20px\]]
+ expected: FAIL
+
+ [Web Animations: property <top> from [unset\] to [20px\] at (-0.3) should be [unset\]]
+ expected: FAIL
+
+ [Web Animations: property <top> from [unset\] to [20px\] at (0) should be [unset\]]
+ expected: FAIL
+
+ [Web Animations: property <top> from [unset\] to [20px\] at (0.3) should be [unset\]]
+ expected: FAIL
+
+ [Web Animations: property <top> from [unset\] to [20px\] at (0.5) should be [20px\]]
+ expected: FAIL
+
+ [Web Animations: property <top> from [unset\] to [20px\] at (0.6) should be [20px\]]
+ expected: FAIL
+
+ [Web Animations: property <top> from [unset\] to [20px\] at (1) should be [20px\]]
+ expected: FAIL
+
+ [Web Animations: property <top> from [unset\] to [20px\] at (1.5) should be [20px\]]
+ expected: FAIL
+
+ [Web Animations: property <top> from [-10px\] to [10px\] at (-0.3) should be [-16px\]]
+ expected: FAIL
+
+ [Web Animations: property <top> from [-10px\] to [10px\] at (0) should be [-10px\]]
+ expected: FAIL
+
+ [Web Animations: property <top> from [-10px\] to [10px\] at (0.5) should be [0px\]]
+ expected: FAIL
+
+ [Web Animations: property <top> from [-10px\] to [10px\] at (1) should be [10px\]]
+ expected: FAIL
+
+ [Web Animations: property <top> from [-10px\] to [10px\] at (1.5) should be [20px\]]
+ expected: FAIL
diff --git a/tests/wpt/metadata-layout-2020/css/css-position/change-insets-inside-strict-containment-nested.html.ini b/tests/wpt/metadata-layout-2020/css/css-position/change-insets-inside-strict-containment-nested.html.ini
new file mode 100644
index 00000000000..c3768fc6b69
--- /dev/null
+++ b/tests/wpt/metadata-layout-2020/css/css-position/change-insets-inside-strict-containment-nested.html.ini
@@ -0,0 +1,2 @@
+[change-insets-inside-strict-containment-nested.html]
+ expected: FAIL
diff --git a/tests/wpt/metadata-layout-2020/css/css-position/containing-block-change-button.html.ini b/tests/wpt/metadata-layout-2020/css/css-position/containing-block-change-button.html.ini
new file mode 100644
index 00000000000..270fb9f14c6
--- /dev/null
+++ b/tests/wpt/metadata-layout-2020/css/css-position/containing-block-change-button.html.ini
@@ -0,0 +1,2 @@
+[containing-block-change-button.html]
+ expected: FAIL
diff --git a/tests/wpt/metadata-layout-2020/css/css-position/containing-block-change-scrollframe.html.ini b/tests/wpt/metadata-layout-2020/css/css-position/containing-block-change-scrollframe.html.ini
new file mode 100644
index 00000000000..242f79c08a9
--- /dev/null
+++ b/tests/wpt/metadata-layout-2020/css/css-position/containing-block-change-scrollframe.html.ini
@@ -0,0 +1,2 @@
+[containing-block-change-scrollframe.html]
+ expected: FAIL
diff --git a/tests/wpt/metadata-layout-2020/css/css-position/hypothetical-dynamic-change-001.html.ini b/tests/wpt/metadata-layout-2020/css/css-position/hypothetical-dynamic-change-001.html.ini
new file mode 100644
index 00000000000..334022baff7
--- /dev/null
+++ b/tests/wpt/metadata-layout-2020/css/css-position/hypothetical-dynamic-change-001.html.ini
@@ -0,0 +1,2 @@
+[hypothetical-dynamic-change-001.html]
+ expected: FAIL
diff --git a/tests/wpt/metadata-layout-2020/css/css-position/hypothetical-dynamic-change-002.html.ini b/tests/wpt/metadata-layout-2020/css/css-position/hypothetical-dynamic-change-002.html.ini
new file mode 100644
index 00000000000..5541b847967
--- /dev/null
+++ b/tests/wpt/metadata-layout-2020/css/css-position/hypothetical-dynamic-change-002.html.ini
@@ -0,0 +1,2 @@
+[hypothetical-dynamic-change-002.html]
+ expected: FAIL
diff --git a/tests/wpt/metadata-layout-2020/css/css-position/multicol/static-position/vlr-ltr-ltr-in-multicol.html.ini b/tests/wpt/metadata-layout-2020/css/css-position/multicol/static-position/vlr-ltr-ltr-in-multicol.html.ini
new file mode 100644
index 00000000000..8f6ac3b0f49
--- /dev/null
+++ b/tests/wpt/metadata-layout-2020/css/css-position/multicol/static-position/vlr-ltr-ltr-in-multicol.html.ini
@@ -0,0 +1,2 @@
+[vlr-ltr-ltr-in-multicol.html]
+ expected: FAIL
diff --git a/tests/wpt/metadata-layout-2020/css/css-position/multicol/static-position/vlr-ltr-rtl-in-multicol.tentative.html.ini b/tests/wpt/metadata-layout-2020/css/css-position/multicol/static-position/vlr-ltr-rtl-in-multicol.tentative.html.ini
new file mode 100644
index 00000000000..8c7b3d749c7
--- /dev/null
+++ b/tests/wpt/metadata-layout-2020/css/css-position/multicol/static-position/vlr-ltr-rtl-in-multicol.tentative.html.ini
@@ -0,0 +1,2 @@
+[vlr-ltr-rtl-in-multicol.tentative.html]
+ expected: FAIL
diff --git a/tests/wpt/metadata-layout-2020/css/css-position/multicol/static-position/vlr-rtl-ltr-in-multicol.tentative.html.ini b/tests/wpt/metadata-layout-2020/css/css-position/multicol/static-position/vlr-rtl-ltr-in-multicol.tentative.html.ini
new file mode 100644
index 00000000000..61c90231b83
--- /dev/null
+++ b/tests/wpt/metadata-layout-2020/css/css-position/multicol/static-position/vlr-rtl-ltr-in-multicol.tentative.html.ini
@@ -0,0 +1,2 @@
+[vlr-rtl-ltr-in-multicol.tentative.html]
+ expected: FAIL
diff --git a/tests/wpt/metadata-layout-2020/css/css-position/multicol/static-position/vlr-rtl-rtl-in-multicol.html.ini b/tests/wpt/metadata-layout-2020/css/css-position/multicol/static-position/vlr-rtl-rtl-in-multicol.html.ini
new file mode 100644
index 00000000000..79f2a70f3f5
--- /dev/null
+++ b/tests/wpt/metadata-layout-2020/css/css-position/multicol/static-position/vlr-rtl-rtl-in-multicol.html.ini
@@ -0,0 +1,2 @@
+[vlr-rtl-rtl-in-multicol.html]
+ expected: FAIL
diff --git a/tests/wpt/metadata-layout-2020/css/css-position/multicol/static-position/vrl-ltr-ltr-in-multicol.html.ini b/tests/wpt/metadata-layout-2020/css/css-position/multicol/static-position/vrl-ltr-ltr-in-multicol.html.ini
new file mode 100644
index 00000000000..695821f1e63
--- /dev/null
+++ b/tests/wpt/metadata-layout-2020/css/css-position/multicol/static-position/vrl-ltr-ltr-in-multicol.html.ini
@@ -0,0 +1,2 @@
+[vrl-ltr-ltr-in-multicol.html]
+ expected: FAIL
diff --git a/tests/wpt/metadata-layout-2020/css/css-position/multicol/static-position/vrl-ltr-rtl-in-multicol.tentative.html.ini b/tests/wpt/metadata-layout-2020/css/css-position/multicol/static-position/vrl-ltr-rtl-in-multicol.tentative.html.ini
new file mode 100644
index 00000000000..e1b2211afbf
--- /dev/null
+++ b/tests/wpt/metadata-layout-2020/css/css-position/multicol/static-position/vrl-ltr-rtl-in-multicol.tentative.html.ini
@@ -0,0 +1,2 @@
+[vrl-ltr-rtl-in-multicol.tentative.html]
+ expected: FAIL
diff --git a/tests/wpt/metadata-layout-2020/css/css-position/multicol/static-position/vrl-rtl-ltr-in-multicol.tentative.html.ini b/tests/wpt/metadata-layout-2020/css/css-position/multicol/static-position/vrl-rtl-ltr-in-multicol.tentative.html.ini
new file mode 100644
index 00000000000..f169e087308
--- /dev/null
+++ b/tests/wpt/metadata-layout-2020/css/css-position/multicol/static-position/vrl-rtl-ltr-in-multicol.tentative.html.ini
@@ -0,0 +1,2 @@
+[vrl-rtl-ltr-in-multicol.tentative.html]
+ expected: FAIL
diff --git a/tests/wpt/metadata-layout-2020/css/css-position/multicol/static-position/vrl-rtl-rtl-in-multicol.html.ini b/tests/wpt/metadata-layout-2020/css/css-position/multicol/static-position/vrl-rtl-rtl-in-multicol.html.ini
new file mode 100644
index 00000000000..dab247c9018
--- /dev/null
+++ b/tests/wpt/metadata-layout-2020/css/css-position/multicol/static-position/vrl-rtl-rtl-in-multicol.html.ini
@@ -0,0 +1,2 @@
+[vrl-rtl-rtl-in-multicol.html]
+ expected: FAIL
diff --git a/tests/wpt/metadata-layout-2020/css/css-position/multicol/vlr-ltr-ltr-in-multicols.html.ini b/tests/wpt/metadata-layout-2020/css/css-position/multicol/vlr-ltr-ltr-in-multicols.html.ini
new file mode 100644
index 00000000000..f303320cd80
--- /dev/null
+++ b/tests/wpt/metadata-layout-2020/css/css-position/multicol/vlr-ltr-ltr-in-multicols.html.ini
@@ -0,0 +1,2 @@
+[vlr-ltr-ltr-in-multicols.html]
+ expected: FAIL
diff --git a/tests/wpt/metadata-layout-2020/css/css-position/multicol/vlr-ltr-rtl-in-multicols.tentative.html.ini b/tests/wpt/metadata-layout-2020/css/css-position/multicol/vlr-ltr-rtl-in-multicols.tentative.html.ini
new file mode 100644
index 00000000000..ce0ecaec7a5
--- /dev/null
+++ b/tests/wpt/metadata-layout-2020/css/css-position/multicol/vlr-ltr-rtl-in-multicols.tentative.html.ini
@@ -0,0 +1,2 @@
+[vlr-ltr-rtl-in-multicols.tentative.html]
+ expected: FAIL
diff --git a/tests/wpt/metadata-layout-2020/css/css-position/multicol/vlr-rtl-ltr-in-multicols.tentative.html.ini b/tests/wpt/metadata-layout-2020/css/css-position/multicol/vlr-rtl-ltr-in-multicols.tentative.html.ini
new file mode 100644
index 00000000000..c14c2b0a8d4
--- /dev/null
+++ b/tests/wpt/metadata-layout-2020/css/css-position/multicol/vlr-rtl-ltr-in-multicols.tentative.html.ini
@@ -0,0 +1,2 @@
+[vlr-rtl-ltr-in-multicols.tentative.html]
+ expected: FAIL
diff --git a/tests/wpt/metadata-layout-2020/css/css-position/multicol/vlr-rtl-rtl-in-multicols.html.ini b/tests/wpt/metadata-layout-2020/css/css-position/multicol/vlr-rtl-rtl-in-multicols.html.ini
new file mode 100644
index 00000000000..a6915e04820
--- /dev/null
+++ b/tests/wpt/metadata-layout-2020/css/css-position/multicol/vlr-rtl-rtl-in-multicols.html.ini
@@ -0,0 +1,2 @@
+[vlr-rtl-rtl-in-multicols.html]
+ expected: FAIL
diff --git a/tests/wpt/metadata-layout-2020/css/css-position/multicol/vrl-ltr-ltr-in-multicols.html.ini b/tests/wpt/metadata-layout-2020/css/css-position/multicol/vrl-ltr-ltr-in-multicols.html.ini
new file mode 100644
index 00000000000..b2a72cb9fb8
--- /dev/null
+++ b/tests/wpt/metadata-layout-2020/css/css-position/multicol/vrl-ltr-ltr-in-multicols.html.ini
@@ -0,0 +1,2 @@
+[vrl-ltr-ltr-in-multicols.html]
+ expected: FAIL
diff --git a/tests/wpt/metadata-layout-2020/css/css-position/multicol/vrl-ltr-rtl-in-multicols.tentative.html.ini b/tests/wpt/metadata-layout-2020/css/css-position/multicol/vrl-ltr-rtl-in-multicols.tentative.html.ini
new file mode 100644
index 00000000000..682714ecdbd
--- /dev/null
+++ b/tests/wpt/metadata-layout-2020/css/css-position/multicol/vrl-ltr-rtl-in-multicols.tentative.html.ini
@@ -0,0 +1,2 @@
+[vrl-ltr-rtl-in-multicols.tentative.html]
+ expected: FAIL
diff --git a/tests/wpt/metadata-layout-2020/css/css-position/multicol/vrl-rtl-ltr-in-multicols.tentative.html.ini b/tests/wpt/metadata-layout-2020/css/css-position/multicol/vrl-rtl-ltr-in-multicols.tentative.html.ini
new file mode 100644
index 00000000000..af968a4c833
--- /dev/null
+++ b/tests/wpt/metadata-layout-2020/css/css-position/multicol/vrl-rtl-ltr-in-multicols.tentative.html.ini
@@ -0,0 +1,2 @@
+[vrl-rtl-ltr-in-multicols.tentative.html]
+ expected: FAIL
diff --git a/tests/wpt/metadata-layout-2020/css/css-position/multicol/vrl-rtl-rtl-in-multicols.html.ini b/tests/wpt/metadata-layout-2020/css/css-position/multicol/vrl-rtl-rtl-in-multicols.html.ini
new file mode 100644
index 00000000000..04ca871063a
--- /dev/null
+++ b/tests/wpt/metadata-layout-2020/css/css-position/multicol/vrl-rtl-rtl-in-multicols.html.ini
@@ -0,0 +1,2 @@
+[vrl-rtl-rtl-in-multicols.html]
+ expected: FAIL
diff --git a/tests/wpt/metadata-layout-2020/css/css-position/parsing/inset-valid.html.ini b/tests/wpt/metadata-layout-2020/css/css-position/parsing/inset-valid.html.ini
new file mode 100644
index 00000000000..757be92a9ec
--- /dev/null
+++ b/tests/wpt/metadata-layout-2020/css/css-position/parsing/inset-valid.html.ini
@@ -0,0 +1,66 @@
+[inset-valid.html]
+ [e.style['inset-block'\] = "0" should set the property value]
+ expected: FAIL
+
+ [e.style['inset-block'\] = "auto" should set the property value]
+ expected: FAIL
+
+ [e.style['inset-block'\] = "10%" should set the property value]
+ expected: FAIL
+
+ [e.style['inset-block'\] = "1rem" should set the property value]
+ expected: FAIL
+
+ [e.style['inset-block'\] = "-10px" should set the property value]
+ expected: FAIL
+
+ [e.style['inset-block'\] = "-20%" should set the property value]
+ expected: FAIL
+
+ [e.style['inset-block'\] = "calc(2em + 3ex)" should set the property value]
+ expected: FAIL
+
+ [e.style['inset-block'\] = "auto auto" should set the property value]
+ expected: FAIL
+
+ [e.style['inset-block'\] = "100px 100px" should set the property value]
+ expected: FAIL
+
+ [e.style['inset-block'\] = "10% -5px" should set the property value]
+ expected: FAIL
+
+ [e.style['inset-block'\] = "1rem calc(0px)" should set the property value]
+ expected: FAIL
+
+ [e.style['inset-inline'\] = "0" should set the property value]
+ expected: FAIL
+
+ [e.style['inset-inline'\] = "auto" should set the property value]
+ expected: FAIL
+
+ [e.style['inset-inline'\] = "10%" should set the property value]
+ expected: FAIL
+
+ [e.style['inset-inline'\] = "1rem" should set the property value]
+ expected: FAIL
+
+ [e.style['inset-inline'\] = "-10px" should set the property value]
+ expected: FAIL
+
+ [e.style['inset-inline'\] = "-20%" should set the property value]
+ expected: FAIL
+
+ [e.style['inset-inline'\] = "calc(2em + 3ex)" should set the property value]
+ expected: FAIL
+
+ [e.style['inset-inline'\] = "auto auto" should set the property value]
+ expected: FAIL
+
+ [e.style['inset-inline'\] = "100px 100px" should set the property value]
+ expected: FAIL
+
+ [e.style['inset-inline'\] = "10% -5px" should set the property value]
+ expected: FAIL
+
+ [e.style['inset-inline'\] = "1rem calc(0px)" should set the property value]
+ expected: FAIL
diff --git a/tests/wpt/metadata-layout-2020/css/css-position/parsing/position-computed.html.ini b/tests/wpt/metadata-layout-2020/css/css-position/parsing/position-computed.html.ini
new file mode 100644
index 00000000000..1a9522076f9
--- /dev/null
+++ b/tests/wpt/metadata-layout-2020/css/css-position/parsing/position-computed.html.ini
@@ -0,0 +1,3 @@
+[position-computed.html]
+ [Property position value 'sticky']
+ expected: FAIL
diff --git a/tests/wpt/metadata-layout-2020/css/css-position/parsing/position-valid.html.ini b/tests/wpt/metadata-layout-2020/css/css-position/parsing/position-valid.html.ini
new file mode 100644
index 00000000000..91471dd892c
--- /dev/null
+++ b/tests/wpt/metadata-layout-2020/css/css-position/parsing/position-valid.html.ini
@@ -0,0 +1,3 @@
+[position-valid.html]
+ [e.style['position'\] = "sticky" should set the property value]
+ expected: FAIL
diff --git a/tests/wpt/metadata-layout-2020/css/css-position/position-absolute-center-001.html.ini b/tests/wpt/metadata-layout-2020/css/css-position/position-absolute-center-001.html.ini
new file mode 100644
index 00000000000..c811170b43f
--- /dev/null
+++ b/tests/wpt/metadata-layout-2020/css/css-position/position-absolute-center-001.html.ini
@@ -0,0 +1,2 @@
+[position-absolute-center-001.html]
+ expected: FAIL
diff --git a/tests/wpt/metadata-layout-2020/css/css-position/position-absolute-center-002.html.ini b/tests/wpt/metadata-layout-2020/css/css-position/position-absolute-center-002.html.ini
new file mode 100644
index 00000000000..dbad9923a2b
--- /dev/null
+++ b/tests/wpt/metadata-layout-2020/css/css-position/position-absolute-center-002.html.ini
@@ -0,0 +1,2 @@
+[position-absolute-center-002.html]
+ expected: FAIL
diff --git a/tests/wpt/metadata-layout-2020/css/css-position/position-absolute-center-003.html.ini b/tests/wpt/metadata-layout-2020/css/css-position/position-absolute-center-003.html.ini
new file mode 100644
index 00000000000..4bee82c7adc
--- /dev/null
+++ b/tests/wpt/metadata-layout-2020/css/css-position/position-absolute-center-003.html.ini
@@ -0,0 +1,2 @@
+[position-absolute-center-003.html]
+ expected: FAIL
diff --git a/tests/wpt/metadata-layout-2020/css/css-position/position-absolute-center-004.html.ini b/tests/wpt/metadata-layout-2020/css/css-position/position-absolute-center-004.html.ini
new file mode 100644
index 00000000000..edfcd812049
--- /dev/null
+++ b/tests/wpt/metadata-layout-2020/css/css-position/position-absolute-center-004.html.ini
@@ -0,0 +1,2 @@
+[position-absolute-center-004.html]
+ expected: FAIL
diff --git a/tests/wpt/metadata-layout-2020/css/css-position/position-absolute-center-006.html.ini b/tests/wpt/metadata-layout-2020/css/css-position/position-absolute-center-006.html.ini
new file mode 100644
index 00000000000..caba0c4b006
--- /dev/null
+++ b/tests/wpt/metadata-layout-2020/css/css-position/position-absolute-center-006.html.ini
@@ -0,0 +1,2 @@
+[position-absolute-center-006.html]
+ expected: FAIL
diff --git a/tests/wpt/metadata-layout-2020/css/css-position/position-absolute-center-007.html.ini b/tests/wpt/metadata-layout-2020/css/css-position/position-absolute-center-007.html.ini
new file mode 100644
index 00000000000..70059464433
--- /dev/null
+++ b/tests/wpt/metadata-layout-2020/css/css-position/position-absolute-center-007.html.ini
@@ -0,0 +1,2 @@
+[position-absolute-center-007.html]
+ expected: FAIL
diff --git a/tests/wpt/metadata-layout-2020/css/css-position/position-absolute-chrome-bug-002.html.ini b/tests/wpt/metadata-layout-2020/css/css-position/position-absolute-chrome-bug-002.html.ini
new file mode 100644
index 00000000000..9ad9baef85c
--- /dev/null
+++ b/tests/wpt/metadata-layout-2020/css/css-position/position-absolute-chrome-bug-002.html.ini
@@ -0,0 +1,3 @@
+[position-absolute-chrome-bug-002.html]
+ [#target position is recalculated correctly.]
+ expected: FAIL
diff --git a/tests/wpt/metadata-layout-2020/css/css-position/position-absolute-dynamic-containing-block.html.ini b/tests/wpt/metadata-layout-2020/css/css-position/position-absolute-dynamic-containing-block.html.ini
new file mode 100644
index 00000000000..b70e581ff49
--- /dev/null
+++ b/tests/wpt/metadata-layout-2020/css/css-position/position-absolute-dynamic-containing-block.html.ini
@@ -0,0 +1,24 @@
+[position-absolute-dynamic-containing-block.html]
+ [abs containing block moves from outer to intermediate]
+ expected: FAIL
+
+ [abs containing block moves from intermediate to outer]
+ expected: FAIL
+
+ [target is no longer absolute]
+ expected: FAIL
+
+ [target becomes absolute]
+ expected: FAIL
+
+ [fixed containing block moves from outer to intermediate]
+ expected: FAIL
+
+ [fixed containing block moves from intermediate to outer]
+ expected: FAIL
+
+ [target is no longer fixed]
+ expected: FAIL
+
+ [target becomes fixed]
+ expected: FAIL
diff --git a/tests/wpt/metadata-layout-2020/css/css-position/position-absolute-dynamic-relayout-003.html.ini b/tests/wpt/metadata-layout-2020/css/css-position/position-absolute-dynamic-relayout-003.html.ini
new file mode 100644
index 00000000000..7c8cf4ff231
--- /dev/null
+++ b/tests/wpt/metadata-layout-2020/css/css-position/position-absolute-dynamic-relayout-003.html.ini
@@ -0,0 +1,2 @@
+[position-absolute-dynamic-relayout-003.html]
+ expected: FAIL
diff --git a/tests/wpt/metadata-layout-2020/css/css-position/position-absolute-dynamic-static-position-floats-001.html.ini b/tests/wpt/metadata-layout-2020/css/css-position/position-absolute-dynamic-static-position-floats-001.html.ini
new file mode 100644
index 00000000000..1f10f2cc638
--- /dev/null
+++ b/tests/wpt/metadata-layout-2020/css/css-position/position-absolute-dynamic-static-position-floats-001.html.ini
@@ -0,0 +1,2 @@
+[position-absolute-dynamic-static-position-floats-001.html]
+ expected: FAIL
diff --git a/tests/wpt/metadata-layout-2020/css/css-position/position-absolute-dynamic-static-position-floats-002.html.ini b/tests/wpt/metadata-layout-2020/css/css-position/position-absolute-dynamic-static-position-floats-002.html.ini
new file mode 100644
index 00000000000..1756431c029
--- /dev/null
+++ b/tests/wpt/metadata-layout-2020/css/css-position/position-absolute-dynamic-static-position-floats-002.html.ini
@@ -0,0 +1,2 @@
+[position-absolute-dynamic-static-position-floats-002.html]
+ expected: FAIL
diff --git a/tests/wpt/metadata-layout-2020/css/css-position/position-absolute-dynamic-static-position-floats-003.html.ini b/tests/wpt/metadata-layout-2020/css/css-position/position-absolute-dynamic-static-position-floats-003.html.ini
new file mode 100644
index 00000000000..6c535432ca2
--- /dev/null
+++ b/tests/wpt/metadata-layout-2020/css/css-position/position-absolute-dynamic-static-position-floats-003.html.ini
@@ -0,0 +1,2 @@
+[position-absolute-dynamic-static-position-floats-003.html]
+ expected: FAIL
diff --git a/tests/wpt/metadata-layout-2020/css/css-position/position-absolute-dynamic-static-position-floats-004.html.ini b/tests/wpt/metadata-layout-2020/css/css-position/position-absolute-dynamic-static-position-floats-004.html.ini
new file mode 100644
index 00000000000..e488c064bb1
--- /dev/null
+++ b/tests/wpt/metadata-layout-2020/css/css-position/position-absolute-dynamic-static-position-floats-004.html.ini
@@ -0,0 +1,2 @@
+[position-absolute-dynamic-static-position-floats-004.html]
+ expected: FAIL
diff --git a/tests/wpt/metadata-layout-2020/css/css-position/position-absolute-dynamic-static-position-inline.html.ini b/tests/wpt/metadata-layout-2020/css/css-position/position-absolute-dynamic-static-position-inline.html.ini
new file mode 100644
index 00000000000..9af7d1ca213
--- /dev/null
+++ b/tests/wpt/metadata-layout-2020/css/css-position/position-absolute-dynamic-static-position-inline.html.ini
@@ -0,0 +1,2 @@
+[position-absolute-dynamic-static-position-inline.html]
+ expected: FAIL
diff --git a/tests/wpt/metadata-layout-2020/css/css-position/position-absolute-in-inline-002.html.ini b/tests/wpt/metadata-layout-2020/css/css-position/position-absolute-in-inline-002.html.ini
new file mode 100644
index 00000000000..4883a86993e
--- /dev/null
+++ b/tests/wpt/metadata-layout-2020/css/css-position/position-absolute-in-inline-002.html.ini
@@ -0,0 +1,3 @@
+[position-absolute-in-inline-002.html]
+ [absolute inside inline container location should be correct.]
+ expected: FAIL
diff --git a/tests/wpt/metadata-layout-2020/css/css-position/position-absolute-in-inline-003.html.ini b/tests/wpt/metadata-layout-2020/css/css-position/position-absolute-in-inline-003.html.ini
new file mode 100644
index 00000000000..e7886618db4
--- /dev/null
+++ b/tests/wpt/metadata-layout-2020/css/css-position/position-absolute-in-inline-003.html.ini
@@ -0,0 +1,2 @@
+[position-absolute-in-inline-003.html]
+ expected: FAIL
diff --git a/tests/wpt/metadata-layout-2020/css/css-position/position-absolute-in-inline-004.html.ini b/tests/wpt/metadata-layout-2020/css/css-position/position-absolute-in-inline-004.html.ini
new file mode 100644
index 00000000000..9fda2e81928
--- /dev/null
+++ b/tests/wpt/metadata-layout-2020/css/css-position/position-absolute-in-inline-004.html.ini
@@ -0,0 +1,2 @@
+[position-absolute-in-inline-004.html]
+ expected: FAIL
diff --git a/tests/wpt/metadata-layout-2020/css/css-position/position-absolute-percentage-height.html.ini b/tests/wpt/metadata-layout-2020/css/css-position/position-absolute-percentage-height.html.ini
new file mode 100644
index 00000000000..7d59c5bf28c
--- /dev/null
+++ b/tests/wpt/metadata-layout-2020/css/css-position/position-absolute-percentage-height.html.ini
@@ -0,0 +1,6 @@
+[position-absolute-percentage-height.html]
+ [#target height matches containing block height, and target parent width matches #target width]
+ expected: FAIL
+
+ [#target height matches containing block height, and target parent width matches #target width after resize]
+ expected: FAIL
diff --git a/tests/wpt/metadata-layout-2020/css/css-position/position-absolute-replaced-intrinsic-size.tentative.html.ini b/tests/wpt/metadata-layout-2020/css/css-position/position-absolute-replaced-intrinsic-size.tentative.html.ini
new file mode 100644
index 00000000000..fbcd9a83b13
--- /dev/null
+++ b/tests/wpt/metadata-layout-2020/css/css-position/position-absolute-replaced-intrinsic-size.tentative.html.ini
@@ -0,0 +1,2 @@
+[position-absolute-replaced-intrinsic-size.tentative.html]
+ expected: FAIL
diff --git a/tests/wpt/metadata-layout-2020/css/css-position/position-absolute-replaced-minmax.html.ini b/tests/wpt/metadata-layout-2020/css/css-position/position-absolute-replaced-minmax.html.ini
new file mode 100644
index 00000000000..dd07ef227da
--- /dev/null
+++ b/tests/wpt/metadata-layout-2020/css/css-position/position-absolute-replaced-minmax.html.ini
@@ -0,0 +1,124 @@
+[position-absolute-replaced-minmax.html]
+ expected: TIMEOUT
+ [minmax replaced IFRAME 1]
+ expected: FAIL
+
+ [minmax replaced IFRAME 2]
+ expected: FAIL
+
+ [minmax replaced IFRAME 3]
+ expected: FAIL
+
+ [minmax replaced IFRAME 4]
+ expected: FAIL
+
+ [minmax replaced IFRAME 5]
+ expected: FAIL
+
+ [minmax replaced IFRAME 6]
+ expected: FAIL
+
+ [minmax replaced IFRAME 7]
+ expected: FAIL
+
+ [minmax replaced IFRAME 8]
+ expected: FAIL
+
+ [minmax replaced IFRAME 9]
+ expected: FAIL
+
+ [minmax replaced IFRAME 10]
+ expected: FAIL
+
+ [minmax replaced IFRAME 11]
+ expected: FAIL
+
+ [minmax replaced IMG 12]
+ expected: FAIL
+
+ [minmax replaced IMG 13]
+ expected: FAIL
+
+ [minmax replaced IMG 14]
+ expected: FAIL
+
+ [minmax replaced IMG 15]
+ expected: FAIL
+
+ [minmax replaced IMG 16]
+ expected: FAIL
+
+ [minmax replaced IMG 17]
+ expected: FAIL
+
+ [minmax replaced IMG 18]
+ expected: FAIL
+
+ [minmax replaced IMG 19]
+ expected: FAIL
+
+ [minmax replaced IMG 20]
+ expected: FAIL
+
+ [minmax replaced IMG 21]
+ expected: FAIL
+
+ [minmax replaced IMG 22]
+ expected: FAIL
+
+ [minmax replaced IMG svg 23]
+ expected: NOTRUN
+
+ [minmax replaced IMG svg 24]
+ expected: NOTRUN
+
+ [minmax replaced IMG svg 25]
+ expected: NOTRUN
+
+ [minmax replaced IMG svg 26]
+ expected: NOTRUN
+
+ [minmax replaced IMG svg 27]
+ expected: NOTRUN
+
+ [minmax replaced IMG svg 28]
+ expected: NOTRUN
+
+ [minmax replaced IMG svg 29]
+ expected: NOTRUN
+
+ [minmax replaced IMG svg 30]
+ expected: NOTRUN
+
+ [minmax replaced IMG svg 31]
+ expected: NOTRUN
+
+ [minmax replaced IMG svg 32]
+ expected: NOTRUN
+
+ [minmax replaced IMG svg 33]
+ expected: NOTRUN
+
+ [minmax replaced IMG 34]
+ expected: NOTRUN
+
+ [minmax replaced IMG 35]
+ expected: NOTRUN
+
+ [minmax replaced IMG 36]
+ expected: NOTRUN
+
+ [minmax replaced IMG 37]
+ expected: NOTRUN
+
+ [minmax replaced IMG 38]
+ expected: NOTRUN
+
+ [minmax replaced IMG 39]
+ expected: NOTRUN
+
+ [minmax replaced IMG 40]
+ expected: NOTRUN
+
+ [minmax replaced IMG 41]
+ expected: NOTRUN
diff --git a/tests/wpt/metadata-layout-2020/css/css-position/position-absolute-replaced-no-intrinsic-size.tentative.html.ini b/tests/wpt/metadata-layout-2020/css/css-position/position-absolute-replaced-no-intrinsic-size.tentative.html.ini
new file mode 100644
index 00000000000..23af5ed6480
--- /dev/null
+++ b/tests/wpt/metadata-layout-2020/css/css-position/position-absolute-replaced-no-intrinsic-size.tentative.html.ini
@@ -0,0 +1,2 @@
+[position-absolute-replaced-no-intrinsic-size.tentative.html]
+ expected: FAIL
diff --git a/tests/wpt/metadata-layout-2020/css/css-position/position-absolute-table-001.html.ini b/tests/wpt/metadata-layout-2020/css/css-position/position-absolute-table-001.html.ini
new file mode 100644
index 00000000000..9d41e3fa9be
--- /dev/null
+++ b/tests/wpt/metadata-layout-2020/css/css-position/position-absolute-table-001.html.ini
@@ -0,0 +1,9 @@
+[position-absolute-table-001.html]
+ [table size is interpreted as minimum width]
+ expected: FAIL
+
+ [table size border-box interpreted as minimum width]
+ expected: FAIL
+
+ [table size content-box interpreted as minimum width]
+ expected: FAIL
diff --git a/tests/wpt/metadata-layout-2020/css/css-position/position-fixed-scroll-nested-fixed.html.ini b/tests/wpt/metadata-layout-2020/css/css-position/position-fixed-scroll-nested-fixed.html.ini
new file mode 100644
index 00000000000..2903ed8c405
--- /dev/null
+++ b/tests/wpt/metadata-layout-2020/css/css-position/position-fixed-scroll-nested-fixed.html.ini
@@ -0,0 +1,2 @@
+[position-fixed-scroll-nested-fixed.html]
+ expected: FAIL
diff --git a/tests/wpt/metadata-layout-2020/css/css-position/position-relative-001.html.ini b/tests/wpt/metadata-layout-2020/css/css-position/position-relative-001.html.ini
new file mode 100644
index 00000000000..80a3f2d7dc4
--- /dev/null
+++ b/tests/wpt/metadata-layout-2020/css/css-position/position-relative-001.html.ini
@@ -0,0 +1,2 @@
+[position-relative-001.html]
+ expected: FAIL
diff --git a/tests/wpt/metadata-layout-2020/css/css-position/position-relative-002.html.ini b/tests/wpt/metadata-layout-2020/css/css-position/position-relative-002.html.ini
new file mode 100644
index 00000000000..4967e595c29
--- /dev/null
+++ b/tests/wpt/metadata-layout-2020/css/css-position/position-relative-002.html.ini
@@ -0,0 +1,2 @@
+[position-relative-002.html]
+ expected: FAIL
diff --git a/tests/wpt/metadata-layout-2020/css/css-position/position-relative-003.html.ini b/tests/wpt/metadata-layout-2020/css/css-position/position-relative-003.html.ini
new file mode 100644
index 00000000000..a734ab5039e
--- /dev/null
+++ b/tests/wpt/metadata-layout-2020/css/css-position/position-relative-003.html.ini
@@ -0,0 +1,2 @@
+[position-relative-003.html]
+ expected: TIMEOUT
diff --git a/tests/wpt/metadata-layout-2020/css/css-position/position-relative-004.html.ini b/tests/wpt/metadata-layout-2020/css/css-position/position-relative-004.html.ini
new file mode 100644
index 00000000000..c7305f311b2
--- /dev/null
+++ b/tests/wpt/metadata-layout-2020/css/css-position/position-relative-004.html.ini
@@ -0,0 +1,2 @@
+[position-relative-004.html]
+ expected: TIMEOUT
diff --git a/tests/wpt/metadata-layout-2020/css/css-position/position-relative-007.html.ini b/tests/wpt/metadata-layout-2020/css/css-position/position-relative-007.html.ini
new file mode 100644
index 00000000000..b2940861997
--- /dev/null
+++ b/tests/wpt/metadata-layout-2020/css/css-position/position-relative-007.html.ini
@@ -0,0 +1,2 @@
+[position-relative-007.html]
+ expected: FAIL
diff --git a/tests/wpt/metadata-layout-2020/css/css-position/position-relative-011.html.ini b/tests/wpt/metadata-layout-2020/css/css-position/position-relative-011.html.ini
new file mode 100644
index 00000000000..7706c58f7df
--- /dev/null
+++ b/tests/wpt/metadata-layout-2020/css/css-position/position-relative-011.html.ini
@@ -0,0 +1,2 @@
+[position-relative-011.html]
+ expected: FAIL
diff --git a/tests/wpt/metadata-layout-2020/css/css-position/position-relative-012.html.ini b/tests/wpt/metadata-layout-2020/css/css-position/position-relative-012.html.ini
new file mode 100644
index 00000000000..9546059bb73
--- /dev/null
+++ b/tests/wpt/metadata-layout-2020/css/css-position/position-relative-012.html.ini
@@ -0,0 +1,2 @@
+[position-relative-012.html]
+ expected: FAIL
diff --git a/tests/wpt/metadata-layout-2020/css/css-position/position-relative-013.html.ini b/tests/wpt/metadata-layout-2020/css/css-position/position-relative-013.html.ini
new file mode 100644
index 00000000000..2828a60ae7c
--- /dev/null
+++ b/tests/wpt/metadata-layout-2020/css/css-position/position-relative-013.html.ini
@@ -0,0 +1,2 @@
+[position-relative-013.html]
+ expected: FAIL
diff --git a/tests/wpt/metadata-layout-2020/css/css-position/position-relative-table-caption.html.ini b/tests/wpt/metadata-layout-2020/css/css-position/position-relative-table-caption.html.ini
new file mode 100644
index 00000000000..e37d2b12888
--- /dev/null
+++ b/tests/wpt/metadata-layout-2020/css/css-position/position-relative-table-caption.html.ini
@@ -0,0 +1,2 @@
+[position-relative-table-caption.html]
+ expected: FAIL
diff --git a/tests/wpt/metadata-layout-2020/css/css-position/position-relative-table-tbody-left-absolute-child.html.ini b/tests/wpt/metadata-layout-2020/css/css-position/position-relative-table-tbody-left-absolute-child.html.ini
new file mode 100644
index 00000000000..c412dfe536d
--- /dev/null
+++ b/tests/wpt/metadata-layout-2020/css/css-position/position-relative-table-tbody-left-absolute-child.html.ini
@@ -0,0 +1,2 @@
+[position-relative-table-tbody-left-absolute-child.html]
+ expected: FAIL
diff --git a/tests/wpt/metadata-layout-2020/css/css-position/position-relative-table-tbody-left.html.ini b/tests/wpt/metadata-layout-2020/css/css-position/position-relative-table-tbody-left.html.ini
new file mode 100644
index 00000000000..a49fc12e126
--- /dev/null
+++ b/tests/wpt/metadata-layout-2020/css/css-position/position-relative-table-tbody-left.html.ini
@@ -0,0 +1,2 @@
+[position-relative-table-tbody-left.html]
+ expected: FAIL
diff --git a/tests/wpt/metadata-layout-2020/css/css-position/position-relative-table-tbody-top.html.ini b/tests/wpt/metadata-layout-2020/css/css-position/position-relative-table-tbody-top.html.ini
new file mode 100644
index 00000000000..79d23762a84
--- /dev/null
+++ b/tests/wpt/metadata-layout-2020/css/css-position/position-relative-table-tbody-top.html.ini
@@ -0,0 +1,2 @@
+[position-relative-table-tbody-top.html]
+ expected: FAIL
diff --git a/tests/wpt/metadata-layout-2020/css/css-position/position-relative-table-td-left.html.ini b/tests/wpt/metadata-layout-2020/css/css-position/position-relative-table-td-left.html.ini
new file mode 100644
index 00000000000..6ca0c54449a
--- /dev/null
+++ b/tests/wpt/metadata-layout-2020/css/css-position/position-relative-table-td-left.html.ini
@@ -0,0 +1,2 @@
+[position-relative-table-td-left.html]
+ expected: FAIL
diff --git a/tests/wpt/metadata-layout-2020/css/css-position/position-relative-table-td-top.html.ini b/tests/wpt/metadata-layout-2020/css/css-position/position-relative-table-td-top.html.ini
new file mode 100644
index 00000000000..e8fe08729f1
--- /dev/null
+++ b/tests/wpt/metadata-layout-2020/css/css-position/position-relative-table-td-top.html.ini
@@ -0,0 +1,2 @@
+[position-relative-table-td-top.html]
+ expected: FAIL
diff --git a/tests/wpt/metadata-layout-2020/css/css-position/position-relative-table-tfoot-left-absolute-child.html.ini b/tests/wpt/metadata-layout-2020/css/css-position/position-relative-table-tfoot-left-absolute-child.html.ini
new file mode 100644
index 00000000000..6a80fa6a4ff
--- /dev/null
+++ b/tests/wpt/metadata-layout-2020/css/css-position/position-relative-table-tfoot-left-absolute-child.html.ini
@@ -0,0 +1,2 @@
+[position-relative-table-tfoot-left-absolute-child.html]
+ expected: FAIL
diff --git a/tests/wpt/metadata-layout-2020/css/css-position/position-relative-table-tfoot-left.html.ini b/tests/wpt/metadata-layout-2020/css/css-position/position-relative-table-tfoot-left.html.ini
new file mode 100644
index 00000000000..cdf7baec718
--- /dev/null
+++ b/tests/wpt/metadata-layout-2020/css/css-position/position-relative-table-tfoot-left.html.ini
@@ -0,0 +1,2 @@
+[position-relative-table-tfoot-left.html]
+ expected: FAIL
diff --git a/tests/wpt/metadata-layout-2020/css/css-position/position-relative-table-tfoot-top.html.ini b/tests/wpt/metadata-layout-2020/css/css-position/position-relative-table-tfoot-top.html.ini
new file mode 100644
index 00000000000..e5f2639951c
--- /dev/null
+++ b/tests/wpt/metadata-layout-2020/css/css-position/position-relative-table-tfoot-top.html.ini
@@ -0,0 +1,2 @@
+[position-relative-table-tfoot-top.html]
+ expected: FAIL
diff --git a/tests/wpt/metadata-layout-2020/css/css-position/position-relative-table-thead-left-absolute-child.html.ini b/tests/wpt/metadata-layout-2020/css/css-position/position-relative-table-thead-left-absolute-child.html.ini
new file mode 100644
index 00000000000..1069a5eda1f
--- /dev/null
+++ b/tests/wpt/metadata-layout-2020/css/css-position/position-relative-table-thead-left-absolute-child.html.ini
@@ -0,0 +1,2 @@
+[position-relative-table-thead-left-absolute-child.html]
+ expected: FAIL
diff --git a/tests/wpt/metadata-layout-2020/css/css-position/position-relative-table-thead-left.html.ini b/tests/wpt/metadata-layout-2020/css/css-position/position-relative-table-thead-left.html.ini
new file mode 100644
index 00000000000..30e02f63f78
--- /dev/null
+++ b/tests/wpt/metadata-layout-2020/css/css-position/position-relative-table-thead-left.html.ini
@@ -0,0 +1,2 @@
+[position-relative-table-thead-left.html]
+ expected: FAIL
diff --git a/tests/wpt/metadata-layout-2020/css/css-position/position-relative-table-thead-top.html.ini b/tests/wpt/metadata-layout-2020/css/css-position/position-relative-table-thead-top.html.ini
new file mode 100644
index 00000000000..03e30758b25
--- /dev/null
+++ b/tests/wpt/metadata-layout-2020/css/css-position/position-relative-table-thead-top.html.ini
@@ -0,0 +1,2 @@
+[position-relative-table-thead-top.html]
+ expected: FAIL
diff --git a/tests/wpt/metadata-layout-2020/css/css-position/position-relative-table-tr-left-absolute-child.html.ini b/tests/wpt/metadata-layout-2020/css/css-position/position-relative-table-tr-left-absolute-child.html.ini
new file mode 100644
index 00000000000..020789ad174
--- /dev/null
+++ b/tests/wpt/metadata-layout-2020/css/css-position/position-relative-table-tr-left-absolute-child.html.ini
@@ -0,0 +1,2 @@
+[position-relative-table-tr-left-absolute-child.html]
+ expected: FAIL
diff --git a/tests/wpt/metadata-layout-2020/css/css-position/position-relative-table-tr-left.html.ini b/tests/wpt/metadata-layout-2020/css/css-position/position-relative-table-tr-left.html.ini
new file mode 100644
index 00000000000..70473fa2d57
--- /dev/null
+++ b/tests/wpt/metadata-layout-2020/css/css-position/position-relative-table-tr-left.html.ini
@@ -0,0 +1,2 @@
+[position-relative-table-tr-left.html]
+ expected: FAIL
diff --git a/tests/wpt/metadata-layout-2020/css/css-position/position-relative-table-tr-top.html.ini b/tests/wpt/metadata-layout-2020/css/css-position/position-relative-table-tr-top.html.ini
new file mode 100644
index 00000000000..f9181077b71
--- /dev/null
+++ b/tests/wpt/metadata-layout-2020/css/css-position/position-relative-table-tr-top.html.ini
@@ -0,0 +1,2 @@
+[position-relative-table-tr-top.html]
+ expected: FAIL
diff --git a/tests/wpt/metadata-layout-2020/css/css-position/positon-absolute-scrollable-overflow-001.html.ini b/tests/wpt/metadata-layout-2020/css/css-position/positon-absolute-scrollable-overflow-001.html.ini
new file mode 100644
index 00000000000..2931576e0c5
--- /dev/null
+++ b/tests/wpt/metadata-layout-2020/css/css-position/positon-absolute-scrollable-overflow-001.html.ini
@@ -0,0 +1,42 @@
+[positon-absolute-scrollable-overflow-001.html]
+ [.containing-block 1]
+ expected: FAIL
+
+ [.containing-block 2]
+ expected: FAIL
+
+ [.containing-block 3]
+ expected: FAIL
+
+ [.containing-block 4]
+ expected: FAIL
+
+ [.containing-block 5]
+ expected: FAIL
+
+ [.containing-block 6]
+ expected: FAIL
+
+ [.containing-block 7]
+ expected: FAIL
+
+ [.containing-block 8]
+ expected: FAIL
+
+ [.containing-block 9]
+ expected: FAIL
+
+ [.containing-block 10]
+ expected: FAIL
+
+ [.containing-block 11]
+ expected: FAIL
+
+ [.containing-block 12]
+ expected: FAIL
+
+ [.containing-block 13]
+ expected: FAIL
+
+ [.containing-block 14]
+ expected: FAIL
diff --git a/tests/wpt/metadata-layout-2020/css/css-position/static-position/htb-ltr-ltr.html.ini b/tests/wpt/metadata-layout-2020/css/css-position/static-position/htb-ltr-ltr.html.ini
new file mode 100644
index 00000000000..b5eb888db7f
--- /dev/null
+++ b/tests/wpt/metadata-layout-2020/css/css-position/static-position/htb-ltr-ltr.html.ini
@@ -0,0 +1,2 @@
+[htb-ltr-ltr.html]
+ expected: FAIL
diff --git a/tests/wpt/metadata-layout-2020/css/css-position/static-position/htb-ltr-rtl.tentative.html.ini b/tests/wpt/metadata-layout-2020/css/css-position/static-position/htb-ltr-rtl.tentative.html.ini
new file mode 100644
index 00000000000..817a9fedbf0
--- /dev/null
+++ b/tests/wpt/metadata-layout-2020/css/css-position/static-position/htb-ltr-rtl.tentative.html.ini
@@ -0,0 +1,2 @@
+[htb-ltr-rtl.tentative.html]
+ expected: FAIL
diff --git a/tests/wpt/metadata-layout-2020/css/css-position/static-position/htb-rtl-ltr.tentative.html.ini b/tests/wpt/metadata-layout-2020/css/css-position/static-position/htb-rtl-ltr.tentative.html.ini
new file mode 100644
index 00000000000..94b7f1620c1
--- /dev/null
+++ b/tests/wpt/metadata-layout-2020/css/css-position/static-position/htb-rtl-ltr.tentative.html.ini
@@ -0,0 +1,2 @@
+[htb-rtl-ltr.tentative.html]
+ expected: FAIL
diff --git a/tests/wpt/metadata-layout-2020/css/css-position/static-position/htb-rtl-rtl.html.ini b/tests/wpt/metadata-layout-2020/css/css-position/static-position/htb-rtl-rtl.html.ini
new file mode 100644
index 00000000000..03a14af7db5
--- /dev/null
+++ b/tests/wpt/metadata-layout-2020/css/css-position/static-position/htb-rtl-rtl.html.ini
@@ -0,0 +1,2 @@
+[htb-rtl-rtl.html]
+ expected: FAIL
diff --git a/tests/wpt/metadata-layout-2020/css/css-position/static-position/inline-level-absolute-in-block-level-context-001.html.ini b/tests/wpt/metadata-layout-2020/css/css-position/static-position/inline-level-absolute-in-block-level-context-001.html.ini
new file mode 100644
index 00000000000..3bca29b5f81
--- /dev/null
+++ b/tests/wpt/metadata-layout-2020/css/css-position/static-position/inline-level-absolute-in-block-level-context-001.html.ini
@@ -0,0 +1,2 @@
+[inline-level-absolute-in-block-level-context-001.html]
+ expected: FAIL
diff --git a/tests/wpt/metadata-layout-2020/css/css-position/static-position/inline-level-absolute-in-block-level-context-002.html.ini b/tests/wpt/metadata-layout-2020/css/css-position/static-position/inline-level-absolute-in-block-level-context-002.html.ini
new file mode 100644
index 00000000000..6fd13604fee
--- /dev/null
+++ b/tests/wpt/metadata-layout-2020/css/css-position/static-position/inline-level-absolute-in-block-level-context-002.html.ini
@@ -0,0 +1,2 @@
+[inline-level-absolute-in-block-level-context-002.html]
+ expected: FAIL
diff --git a/tests/wpt/metadata-layout-2020/css/css-position/static-position/inline-level-absolute-in-block-level-context-003.html.ini b/tests/wpt/metadata-layout-2020/css/css-position/static-position/inline-level-absolute-in-block-level-context-003.html.ini
new file mode 100644
index 00000000000..14a40be7010
--- /dev/null
+++ b/tests/wpt/metadata-layout-2020/css/css-position/static-position/inline-level-absolute-in-block-level-context-003.html.ini
@@ -0,0 +1,2 @@
+[inline-level-absolute-in-block-level-context-003.html]
+ expected: FAIL
diff --git a/tests/wpt/metadata-layout-2020/css/css-position/static-position/inline-level-absolute-in-block-level-context-004.html.ini b/tests/wpt/metadata-layout-2020/css/css-position/static-position/inline-level-absolute-in-block-level-context-004.html.ini
new file mode 100644
index 00000000000..972f6697b03
--- /dev/null
+++ b/tests/wpt/metadata-layout-2020/css/css-position/static-position/inline-level-absolute-in-block-level-context-004.html.ini
@@ -0,0 +1,2 @@
+[inline-level-absolute-in-block-level-context-004.html]
+ expected: FAIL
diff --git a/tests/wpt/metadata-layout-2020/css/css-position/static-position/inline-level-absolute-in-block-level-context-005.html.ini b/tests/wpt/metadata-layout-2020/css/css-position/static-position/inline-level-absolute-in-block-level-context-005.html.ini
new file mode 100644
index 00000000000..2d935998a9d
--- /dev/null
+++ b/tests/wpt/metadata-layout-2020/css/css-position/static-position/inline-level-absolute-in-block-level-context-005.html.ini
@@ -0,0 +1,2 @@
+[inline-level-absolute-in-block-level-context-005.html]
+ expected: FAIL
diff --git a/tests/wpt/metadata-layout-2020/css/css-position/static-position/inline-level-absolute-in-block-level-context-006.html.ini b/tests/wpt/metadata-layout-2020/css/css-position/static-position/inline-level-absolute-in-block-level-context-006.html.ini
new file mode 100644
index 00000000000..fcf297de4c4
--- /dev/null
+++ b/tests/wpt/metadata-layout-2020/css/css-position/static-position/inline-level-absolute-in-block-level-context-006.html.ini
@@ -0,0 +1,2 @@
+[inline-level-absolute-in-block-level-context-006.html]
+ expected: FAIL
diff --git a/tests/wpt/metadata-layout-2020/css/css-position/static-position/inline-level-absolute-in-block-level-context-007.html.ini b/tests/wpt/metadata-layout-2020/css/css-position/static-position/inline-level-absolute-in-block-level-context-007.html.ini
new file mode 100644
index 00000000000..c146d86dd65
--- /dev/null
+++ b/tests/wpt/metadata-layout-2020/css/css-position/static-position/inline-level-absolute-in-block-level-context-007.html.ini
@@ -0,0 +1,2 @@
+[inline-level-absolute-in-block-level-context-007.html]
+ expected: FAIL
diff --git a/tests/wpt/metadata-layout-2020/css/css-position/static-position/inline-level-absolute-in-block-level-context-008.html.ini b/tests/wpt/metadata-layout-2020/css/css-position/static-position/inline-level-absolute-in-block-level-context-008.html.ini
new file mode 100644
index 00000000000..ead8251bcba
--- /dev/null
+++ b/tests/wpt/metadata-layout-2020/css/css-position/static-position/inline-level-absolute-in-block-level-context-008.html.ini
@@ -0,0 +1,2 @@
+[inline-level-absolute-in-block-level-context-008.html]
+ expected: FAIL
diff --git a/tests/wpt/metadata-layout-2020/css/css-position/static-position/inline-level-absolute-in-block-level-context-009.html.ini b/tests/wpt/metadata-layout-2020/css/css-position/static-position/inline-level-absolute-in-block-level-context-009.html.ini
new file mode 100644
index 00000000000..0653a572396
--- /dev/null
+++ b/tests/wpt/metadata-layout-2020/css/css-position/static-position/inline-level-absolute-in-block-level-context-009.html.ini
@@ -0,0 +1,2 @@
+[inline-level-absolute-in-block-level-context-009.html]
+ expected: FAIL
diff --git a/tests/wpt/metadata-layout-2020/css/css-position/static-position/inline-level-absolute-in-block-level-context-010.html.ini b/tests/wpt/metadata-layout-2020/css/css-position/static-position/inline-level-absolute-in-block-level-context-010.html.ini
new file mode 100644
index 00000000000..2035850bdc8
--- /dev/null
+++ b/tests/wpt/metadata-layout-2020/css/css-position/static-position/inline-level-absolute-in-block-level-context-010.html.ini
@@ -0,0 +1,2 @@
+[inline-level-absolute-in-block-level-context-010.html]
+ expected: FAIL
diff --git a/tests/wpt/metadata-layout-2020/css/css-position/static-position/inline-level-absolute-in-block-level-context-011.html.ini b/tests/wpt/metadata-layout-2020/css/css-position/static-position/inline-level-absolute-in-block-level-context-011.html.ini
new file mode 100644
index 00000000000..cd6b68c2895
--- /dev/null
+++ b/tests/wpt/metadata-layout-2020/css/css-position/static-position/inline-level-absolute-in-block-level-context-011.html.ini
@@ -0,0 +1,2 @@
+[inline-level-absolute-in-block-level-context-011.html]
+ expected: FAIL
diff --git a/tests/wpt/metadata-layout-2020/css/css-position/static-position/inline-level-absolute-in-block-level-context-012.html.ini b/tests/wpt/metadata-layout-2020/css/css-position/static-position/inline-level-absolute-in-block-level-context-012.html.ini
new file mode 100644
index 00000000000..6b3276c1d08
--- /dev/null
+++ b/tests/wpt/metadata-layout-2020/css/css-position/static-position/inline-level-absolute-in-block-level-context-012.html.ini
@@ -0,0 +1,2 @@
+[inline-level-absolute-in-block-level-context-012.html]
+ expected: FAIL
diff --git a/tests/wpt/metadata-layout-2020/css/css-position/static-position/vlr-ltr-ltr.html.ini b/tests/wpt/metadata-layout-2020/css/css-position/static-position/vlr-ltr-ltr.html.ini
new file mode 100644
index 00000000000..3e5a0e40700
--- /dev/null
+++ b/tests/wpt/metadata-layout-2020/css/css-position/static-position/vlr-ltr-ltr.html.ini
@@ -0,0 +1,2 @@
+[vlr-ltr-ltr.html]
+ expected: FAIL
diff --git a/tests/wpt/metadata-layout-2020/css/css-position/static-position/vlr-ltr-rtl.tentative.html.ini b/tests/wpt/metadata-layout-2020/css/css-position/static-position/vlr-ltr-rtl.tentative.html.ini
new file mode 100644
index 00000000000..90ef1e4ddec
--- /dev/null
+++ b/tests/wpt/metadata-layout-2020/css/css-position/static-position/vlr-ltr-rtl.tentative.html.ini
@@ -0,0 +1,2 @@
+[vlr-ltr-rtl.tentative.html]
+ expected: FAIL
diff --git a/tests/wpt/metadata-layout-2020/css/css-position/static-position/vlr-rtl-ltr.tentative.html.ini b/tests/wpt/metadata-layout-2020/css/css-position/static-position/vlr-rtl-ltr.tentative.html.ini
new file mode 100644
index 00000000000..84a86713f1f
--- /dev/null
+++ b/tests/wpt/metadata-layout-2020/css/css-position/static-position/vlr-rtl-ltr.tentative.html.ini
@@ -0,0 +1,2 @@
+[vlr-rtl-ltr.tentative.html]
+ expected: FAIL
diff --git a/tests/wpt/metadata-layout-2020/css/css-position/static-position/vlr-rtl-rtl.html.ini b/tests/wpt/metadata-layout-2020/css/css-position/static-position/vlr-rtl-rtl.html.ini
new file mode 100644
index 00000000000..a397002de40
--- /dev/null
+++ b/tests/wpt/metadata-layout-2020/css/css-position/static-position/vlr-rtl-rtl.html.ini
@@ -0,0 +1,2 @@
+[vlr-rtl-rtl.html]
+ expected: FAIL
diff --git a/tests/wpt/metadata-layout-2020/css/css-position/static-position/vrl-ltr-ltr.html.ini b/tests/wpt/metadata-layout-2020/css/css-position/static-position/vrl-ltr-ltr.html.ini
new file mode 100644
index 00000000000..6eee716f8b1
--- /dev/null
+++ b/tests/wpt/metadata-layout-2020/css/css-position/static-position/vrl-ltr-ltr.html.ini
@@ -0,0 +1,2 @@
+[vrl-ltr-ltr.html]
+ expected: FAIL
diff --git a/tests/wpt/metadata-layout-2020/css/css-position/static-position/vrl-ltr-rtl.tentative.html.ini b/tests/wpt/metadata-layout-2020/css/css-position/static-position/vrl-ltr-rtl.tentative.html.ini
new file mode 100644
index 00000000000..494a2d6c35c
--- /dev/null
+++ b/tests/wpt/metadata-layout-2020/css/css-position/static-position/vrl-ltr-rtl.tentative.html.ini
@@ -0,0 +1,2 @@
+[vrl-ltr-rtl.tentative.html]
+ expected: FAIL
diff --git a/tests/wpt/metadata-layout-2020/css/css-position/static-position/vrl-rtl-ltr.tentative.html.ini b/tests/wpt/metadata-layout-2020/css/css-position/static-position/vrl-rtl-ltr.tentative.html.ini
new file mode 100644
index 00000000000..17f6081dca2
--- /dev/null
+++ b/tests/wpt/metadata-layout-2020/css/css-position/static-position/vrl-rtl-ltr.tentative.html.ini
@@ -0,0 +1,2 @@
+[vrl-rtl-ltr.tentative.html]
+ expected: FAIL
diff --git a/tests/wpt/metadata-layout-2020/css/css-position/static-position/vrl-rtl-rtl.html.ini b/tests/wpt/metadata-layout-2020/css/css-position/static-position/vrl-rtl-rtl.html.ini
new file mode 100644
index 00000000000..148b19c94a0
--- /dev/null
+++ b/tests/wpt/metadata-layout-2020/css/css-position/static-position/vrl-rtl-rtl.html.ini
@@ -0,0 +1,2 @@
+[vrl-rtl-rtl.html]
+ expected: FAIL
diff --git a/tests/wpt/metadata-layout-2020/css/css-position/sticky/position-sticky-bottom-002.html.ini b/tests/wpt/metadata-layout-2020/css/css-position/sticky/position-sticky-bottom-002.html.ini
new file mode 100644
index 00000000000..5364e331a89
--- /dev/null
+++ b/tests/wpt/metadata-layout-2020/css/css-position/sticky/position-sticky-bottom-002.html.ini
@@ -0,0 +1,2 @@
+[position-sticky-bottom-002.html]
+ expected: FAIL
diff --git a/tests/wpt/metadata-layout-2020/css/css-position/sticky/position-sticky-bottom-003.html.ini b/tests/wpt/metadata-layout-2020/css/css-position/sticky/position-sticky-bottom-003.html.ini
new file mode 100644
index 00000000000..40dddd1c5b4
--- /dev/null
+++ b/tests/wpt/metadata-layout-2020/css/css-position/sticky/position-sticky-bottom-003.html.ini
@@ -0,0 +1,2 @@
+[position-sticky-bottom-003.html]
+ expected: FAIL
diff --git a/tests/wpt/metadata-layout-2020/css/css-position/sticky/position-sticky-bottom.html.ini b/tests/wpt/metadata-layout-2020/css/css-position/sticky/position-sticky-bottom.html.ini
new file mode 100644
index 00000000000..d80c54bf5de
--- /dev/null
+++ b/tests/wpt/metadata-layout-2020/css/css-position/sticky/position-sticky-bottom.html.ini
@@ -0,0 +1,6 @@
+[position-sticky-bottom.html]
+ [after reaching the sticking point the sticky box should be offset]
+ expected: FAIL
+
+ [the sticky box should not be pushed outside its containing block]
+ expected: FAIL
diff --git a/tests/wpt/metadata-layout-2020/css/css-position/sticky/position-sticky-change-top.html.ini b/tests/wpt/metadata-layout-2020/css/css-position/sticky/position-sticky-change-top.html.ini
new file mode 100644
index 00000000000..5ec84cec5f9
--- /dev/null
+++ b/tests/wpt/metadata-layout-2020/css/css-position/sticky/position-sticky-change-top.html.ini
@@ -0,0 +1,2 @@
+[position-sticky-change-top.html]
+ expected: TIMEOUT
diff --git a/tests/wpt/metadata-layout-2020/css/css-position/sticky/position-sticky-child-multicolumn.html.ini b/tests/wpt/metadata-layout-2020/css/css-position/sticky/position-sticky-child-multicolumn.html.ini
new file mode 100644
index 00000000000..030820883c5
--- /dev/null
+++ b/tests/wpt/metadata-layout-2020/css/css-position/sticky/position-sticky-child-multicolumn.html.ini
@@ -0,0 +1,2 @@
+[position-sticky-child-multicolumn.html]
+ expected: FAIL
diff --git a/tests/wpt/metadata-layout-2020/css/css-position/sticky/position-sticky-contained-by-display-table.html.ini b/tests/wpt/metadata-layout-2020/css/css-position/sticky/position-sticky-contained-by-display-table.html.ini
new file mode 100644
index 00000000000..40535b98d32
--- /dev/null
+++ b/tests/wpt/metadata-layout-2020/css/css-position/sticky/position-sticky-contained-by-display-table.html.ini
@@ -0,0 +1,2 @@
+[position-sticky-contained-by-display-table.html]
+ expected: FAIL
diff --git a/tests/wpt/metadata-layout-2020/css/css-position/sticky/position-sticky-escape-scroller-001.html.ini b/tests/wpt/metadata-layout-2020/css/css-position/sticky/position-sticky-escape-scroller-001.html.ini
new file mode 100644
index 00000000000..3018d79f1af
--- /dev/null
+++ b/tests/wpt/metadata-layout-2020/css/css-position/sticky/position-sticky-escape-scroller-001.html.ini
@@ -0,0 +1,2 @@
+[position-sticky-escape-scroller-001.html]
+ expected: FAIL
diff --git a/tests/wpt/metadata-layout-2020/css/css-position/sticky/position-sticky-escape-scroller-002.html.ini b/tests/wpt/metadata-layout-2020/css/css-position/sticky/position-sticky-escape-scroller-002.html.ini
new file mode 100644
index 00000000000..46487c6701a
--- /dev/null
+++ b/tests/wpt/metadata-layout-2020/css/css-position/sticky/position-sticky-escape-scroller-002.html.ini
@@ -0,0 +1,2 @@
+[position-sticky-escape-scroller-002.html]
+ expected: FAIL
diff --git a/tests/wpt/metadata-layout-2020/css/css-position/sticky/position-sticky-escape-scroller-003.html.ini b/tests/wpt/metadata-layout-2020/css/css-position/sticky/position-sticky-escape-scroller-003.html.ini
new file mode 100644
index 00000000000..990a7ae58c6
--- /dev/null
+++ b/tests/wpt/metadata-layout-2020/css/css-position/sticky/position-sticky-escape-scroller-003.html.ini
@@ -0,0 +1,2 @@
+[position-sticky-escape-scroller-003.html]
+ expected: FAIL
diff --git a/tests/wpt/metadata-layout-2020/css/css-position/sticky/position-sticky-escape-scroller-004.html.ini b/tests/wpt/metadata-layout-2020/css/css-position/sticky/position-sticky-escape-scroller-004.html.ini
new file mode 100644
index 00000000000..7b98776c5e0
--- /dev/null
+++ b/tests/wpt/metadata-layout-2020/css/css-position/sticky/position-sticky-escape-scroller-004.html.ini
@@ -0,0 +1,2 @@
+[position-sticky-escape-scroller-004.html]
+ expected: FAIL
diff --git a/tests/wpt/metadata-layout-2020/css/css-position/sticky/position-sticky-fixed-ancestor-002.html.ini b/tests/wpt/metadata-layout-2020/css/css-position/sticky/position-sticky-fixed-ancestor-002.html.ini
new file mode 100644
index 00000000000..0f46215f98a
--- /dev/null
+++ b/tests/wpt/metadata-layout-2020/css/css-position/sticky/position-sticky-fixed-ancestor-002.html.ini
@@ -0,0 +1,2 @@
+[position-sticky-fixed-ancestor-002.html]
+ expected: FAIL
diff --git a/tests/wpt/metadata-layout-2020/css/css-position/sticky/position-sticky-fixed-ancestor-003.html.ini b/tests/wpt/metadata-layout-2020/css/css-position/sticky/position-sticky-fixed-ancestor-003.html.ini
new file mode 100644
index 00000000000..9bf2519ec42
--- /dev/null
+++ b/tests/wpt/metadata-layout-2020/css/css-position/sticky/position-sticky-fixed-ancestor-003.html.ini
@@ -0,0 +1,2 @@
+[position-sticky-fixed-ancestor-003.html]
+ expected: FAIL
diff --git a/tests/wpt/metadata-layout-2020/css/css-position/sticky/position-sticky-fixed-ancestor-iframe.html.ini b/tests/wpt/metadata-layout-2020/css/css-position/sticky/position-sticky-fixed-ancestor-iframe.html.ini
new file mode 100644
index 00000000000..ba11c494565
--- /dev/null
+++ b/tests/wpt/metadata-layout-2020/css/css-position/sticky/position-sticky-fixed-ancestor-iframe.html.ini
@@ -0,0 +1,2 @@
+[position-sticky-fixed-ancestor-iframe.html]
+ expected: TIMEOUT
diff --git a/tests/wpt/metadata-layout-2020/css/css-position/sticky/position-sticky-fixed-ancestor.html.ini b/tests/wpt/metadata-layout-2020/css/css-position/sticky/position-sticky-fixed-ancestor.html.ini
new file mode 100644
index 00000000000..ebcdd601ea3
--- /dev/null
+++ b/tests/wpt/metadata-layout-2020/css/css-position/sticky/position-sticky-fixed-ancestor.html.ini
@@ -0,0 +1,2 @@
+[position-sticky-fixed-ancestor.html]
+ expected: TIMEOUT
diff --git a/tests/wpt/mozilla/meta-layout-2020/css/css-position-3/position-sticky-flexbox.html.ini b/tests/wpt/metadata-layout-2020/css/css-position/sticky/position-sticky-flexbox.html.ini
index 888c40c46df..888c40c46df 100644
--- a/tests/wpt/mozilla/meta-layout-2020/css/css-position-3/position-sticky-flexbox.html.ini
+++ b/tests/wpt/metadata-layout-2020/css/css-position/sticky/position-sticky-flexbox.html.ini
diff --git a/tests/wpt/metadata-layout-2020/css/css-position/sticky/position-sticky-fractional-offset.html.ini b/tests/wpt/metadata-layout-2020/css/css-position/sticky/position-sticky-fractional-offset.html.ini
new file mode 100644
index 00000000000..396d46a2f2b
--- /dev/null
+++ b/tests/wpt/metadata-layout-2020/css/css-position/sticky/position-sticky-fractional-offset.html.ini
@@ -0,0 +1,2 @@
+[position-sticky-fractional-offset.html]
+ expected: FAIL
diff --git a/tests/wpt/mozilla/meta-layout-2020/css/css-position-3/position-sticky-get-bounding-client-rect.html.ini b/tests/wpt/metadata-layout-2020/css/css-position/sticky/position-sticky-get-bounding-client-rect.html.ini
index b265095481d..ad9c45ef2ae 100644
--- a/tests/wpt/mozilla/meta-layout-2020/css/css-position-3/position-sticky-get-bounding-client-rect.html.ini
+++ b/tests/wpt/metadata-layout-2020/css/css-position/sticky/position-sticky-get-bounding-client-rect.html.ini
@@ -7,4 +7,3 @@
[getBoundingClientRect should be correct for sticky after script-caused layout]
expected: FAIL
-
diff --git a/tests/wpt/mozilla/meta-layout-2020/css/css-position-3/position-sticky-grid.html.ini b/tests/wpt/metadata-layout-2020/css/css-position/sticky/position-sticky-grid.html.ini
index 9a86e2d8c1f..9a86e2d8c1f 100644
--- a/tests/wpt/mozilla/meta-layout-2020/css/css-position-3/position-sticky-grid.html.ini
+++ b/tests/wpt/metadata-layout-2020/css/css-position/sticky/position-sticky-grid.html.ini
diff --git a/tests/wpt/metadata-layout-2020/css/css-position/sticky/position-sticky-hyperlink.html.ini b/tests/wpt/metadata-layout-2020/css/css-position/sticky/position-sticky-hyperlink.html.ini
new file mode 100644
index 00000000000..8b52a2be825
--- /dev/null
+++ b/tests/wpt/metadata-layout-2020/css/css-position/sticky/position-sticky-hyperlink.html.ini
@@ -0,0 +1,2 @@
+[position-sticky-hyperlink.html]
+ expected: FAIL
diff --git a/tests/wpt/metadata-layout-2020/css/css-position/sticky/position-sticky-inflow-position.html.ini b/tests/wpt/metadata-layout-2020/css/css-position/sticky/position-sticky-inflow-position.html.ini
new file mode 100644
index 00000000000..d8d6445bc9c
--- /dev/null
+++ b/tests/wpt/metadata-layout-2020/css/css-position/sticky/position-sticky-inflow-position.html.ini
@@ -0,0 +1,3 @@
+[position-sticky-inflow-position.html]
+ [sticky offset should not affect the position of other elements.]
+ expected: FAIL
diff --git a/tests/wpt/mozilla/meta-layout-2020/css/css-position-3/position-sticky-inline.html.ini b/tests/wpt/metadata-layout-2020/css/css-position/sticky/position-sticky-inline.html.ini
index 675e85540aa..675e85540aa 100644
--- a/tests/wpt/mozilla/meta-layout-2020/css/css-position-3/position-sticky-inline.html.ini
+++ b/tests/wpt/metadata-layout-2020/css/css-position/sticky/position-sticky-inline.html.ini
diff --git a/tests/wpt/metadata-layout-2020/css/css-position/sticky/position-sticky-input-box-gets-focused-after-scroll.html.ini b/tests/wpt/metadata-layout-2020/css/css-position/sticky/position-sticky-input-box-gets-focused-after-scroll.html.ini
new file mode 100644
index 00000000000..60e009d6be0
--- /dev/null
+++ b/tests/wpt/metadata-layout-2020/css/css-position/sticky/position-sticky-input-box-gets-focused-after-scroll.html.ini
@@ -0,0 +1,3 @@
+[position-sticky-input-box-gets-focused-after-scroll.html]
+ [Focusing on visible sticky input box should reset the scroll to unshifted sticky position.]
+ expected: FAIL
diff --git a/tests/wpt/metadata-layout-2020/css/css-position/sticky/position-sticky-large-top-2.tentative.html.ini b/tests/wpt/metadata-layout-2020/css/css-position/sticky/position-sticky-large-top-2.tentative.html.ini
new file mode 100644
index 00000000000..1b8c788c9ee
--- /dev/null
+++ b/tests/wpt/metadata-layout-2020/css/css-position/sticky/position-sticky-large-top-2.tentative.html.ini
@@ -0,0 +1,2 @@
+[position-sticky-large-top-2.tentative.html]
+ expected: FAIL
diff --git a/tests/wpt/metadata-layout-2020/css/css-position/sticky/position-sticky-large-top.tentative.html.ini b/tests/wpt/metadata-layout-2020/css/css-position/sticky/position-sticky-large-top.tentative.html.ini
new file mode 100644
index 00000000000..8e44eee9f60
--- /dev/null
+++ b/tests/wpt/metadata-layout-2020/css/css-position/sticky/position-sticky-large-top.tentative.html.ini
@@ -0,0 +1,2 @@
+[position-sticky-large-top.tentative.html]
+ expected: FAIL
diff --git a/tests/wpt/metadata-layout-2020/css/css-position/sticky/position-sticky-left-002.html.ini b/tests/wpt/metadata-layout-2020/css/css-position/sticky/position-sticky-left-002.html.ini
new file mode 100644
index 00000000000..b599499e58a
--- /dev/null
+++ b/tests/wpt/metadata-layout-2020/css/css-position/sticky/position-sticky-left-002.html.ini
@@ -0,0 +1,2 @@
+[position-sticky-left-002.html]
+ expected: FAIL
diff --git a/tests/wpt/metadata-layout-2020/css/css-position/sticky/position-sticky-left-003.html.ini b/tests/wpt/metadata-layout-2020/css/css-position/sticky/position-sticky-left-003.html.ini
new file mode 100644
index 00000000000..605d9563e86
--- /dev/null
+++ b/tests/wpt/metadata-layout-2020/css/css-position/sticky/position-sticky-left-003.html.ini
@@ -0,0 +1,2 @@
+[position-sticky-left-003.html]
+ expected: FAIL
diff --git a/tests/wpt/metadata-layout-2020/css/css-position/sticky/position-sticky-left.html.ini b/tests/wpt/metadata-layout-2020/css/css-position/sticky/position-sticky-left.html.ini
new file mode 100644
index 00000000000..7cdf5ae2408
--- /dev/null
+++ b/tests/wpt/metadata-layout-2020/css/css-position/sticky/position-sticky-left.html.ini
@@ -0,0 +1,6 @@
+[position-sticky-left.html]
+ [after reaching the sticking point the sticky box should be offset]
+ expected: FAIL
+
+ [the sticky box should not be pushed outside its containing block]
+ expected: FAIL
diff --git a/tests/wpt/metadata-layout-2020/css/css-position/sticky/position-sticky-margins.html.ini b/tests/wpt/metadata-layout-2020/css/css-position/sticky/position-sticky-margins.html.ini
new file mode 100644
index 00000000000..a642314b0b8
--- /dev/null
+++ b/tests/wpt/metadata-layout-2020/css/css-position/sticky/position-sticky-margins.html.ini
@@ -0,0 +1,6 @@
+[position-sticky-margins.html]
+ [Whilst stuck, the margin is irrelevant.]
+ expected: FAIL
+
+ [The margin is taken into account when making sure the sticky element does not escape its container]
+ expected: FAIL
diff --git a/tests/wpt/metadata-layout-2020/css/css-position/sticky/position-sticky-nested-bottom.html.ini b/tests/wpt/metadata-layout-2020/css/css-position/sticky/position-sticky-nested-bottom.html.ini
new file mode 100644
index 00000000000..fd26dbf84a6
--- /dev/null
+++ b/tests/wpt/metadata-layout-2020/css/css-position/sticky/position-sticky-nested-bottom.html.ini
@@ -0,0 +1,15 @@
+[position-sticky-nested-bottom.html]
+ [before reaching the sticking point, neither sticky box should be offset]
+ expected: FAIL
+
+ [the inner sticky can stick before the outer one if necessary]
+ expected: FAIL
+
+ [both sticky boxes can be stuck at the same time]
+ expected: FAIL
+
+ [neither sticky can escape their containing block]
+ expected: FAIL
+
+ [the inner sticky cannot be pushed outside the outer sticky]
+ expected: FAIL
diff --git a/tests/wpt/mozilla/meta-layout-2020/css/css-position-3/position-sticky-nested-inline.html.ini b/tests/wpt/metadata-layout-2020/css/css-position/sticky/position-sticky-nested-inline.html.ini
index c65e9ee6109..c65e9ee6109 100644
--- a/tests/wpt/mozilla/meta-layout-2020/css/css-position-3/position-sticky-nested-inline.html.ini
+++ b/tests/wpt/metadata-layout-2020/css/css-position/sticky/position-sticky-nested-inline.html.ini
diff --git a/tests/wpt/metadata-layout-2020/css/css-position/sticky/position-sticky-nested-left.html.ini b/tests/wpt/metadata-layout-2020/css/css-position/sticky/position-sticky-nested-left.html.ini
new file mode 100644
index 00000000000..88fdcc40a20
--- /dev/null
+++ b/tests/wpt/metadata-layout-2020/css/css-position/sticky/position-sticky-nested-left.html.ini
@@ -0,0 +1,15 @@
+[position-sticky-nested-left.html]
+ [before reaching the sticking point, neither sticky box should be offset]
+ expected: FAIL
+
+ [the inner sticky can stick before the outer one if necessary]
+ expected: FAIL
+
+ [both sticky boxes can be stuck at the same time]
+ expected: FAIL
+
+ [neither sticky can escape their containing block]
+ expected: FAIL
+
+ [the inner sticky cannot be pushed outside the outer sticky]
+ expected: FAIL
diff --git a/tests/wpt/metadata-layout-2020/css/css-position/sticky/position-sticky-nested-right.html.ini b/tests/wpt/metadata-layout-2020/css/css-position/sticky/position-sticky-nested-right.html.ini
new file mode 100644
index 00000000000..de11d1379a7
--- /dev/null
+++ b/tests/wpt/metadata-layout-2020/css/css-position/sticky/position-sticky-nested-right.html.ini
@@ -0,0 +1,15 @@
+[position-sticky-nested-right.html]
+ [before reaching the sticking point, neither sticky box should be offset]
+ expected: FAIL
+
+ [the inner sticky can stick before the outer one if necessary]
+ expected: FAIL
+
+ [both sticky boxes can be stuck at the same time]
+ expected: FAIL
+
+ [neither sticky can escape their containing block]
+ expected: FAIL
+
+ [the inner sticky cannot be pushed outside the outer sticky]
+ expected: FAIL
diff --git a/tests/wpt/mozilla/meta-layout-2020/css/css-position-3/position-sticky-nested-table.html.ini b/tests/wpt/metadata-layout-2020/css/css-position/sticky/position-sticky-nested-table.html.ini
index ec09ce6bc82..ec09ce6bc82 100644
--- a/tests/wpt/mozilla/meta-layout-2020/css/css-position-3/position-sticky-nested-table.html.ini
+++ b/tests/wpt/metadata-layout-2020/css/css-position/sticky/position-sticky-nested-table.html.ini
diff --git a/tests/wpt/metadata-layout-2020/css/css-position/sticky/position-sticky-nested-thead-th.html.ini b/tests/wpt/metadata-layout-2020/css/css-position/sticky/position-sticky-nested-thead-th.html.ini
new file mode 100644
index 00000000000..3c803ca5b90
--- /dev/null
+++ b/tests/wpt/metadata-layout-2020/css/css-position/sticky/position-sticky-nested-thead-th.html.ini
@@ -0,0 +1,2 @@
+[position-sticky-nested-thead-th.html]
+ expected: FAIL
diff --git a/tests/wpt/metadata-layout-2020/css/css-position/sticky/position-sticky-nested-top.html.ini b/tests/wpt/metadata-layout-2020/css/css-position/sticky/position-sticky-nested-top.html.ini
new file mode 100644
index 00000000000..314d6c64420
--- /dev/null
+++ b/tests/wpt/metadata-layout-2020/css/css-position/sticky/position-sticky-nested-top.html.ini
@@ -0,0 +1,15 @@
+[position-sticky-nested-top.html]
+ [before reaching the sticking point, neither sticky box should be offset]
+ expected: FAIL
+
+ [the inner sticky can stick before the outer one if necessary]
+ expected: FAIL
+
+ [both sticky boxes can be stuck at the same time]
+ expected: FAIL
+
+ [neither sticky can escape their containing block]
+ expected: FAIL
+
+ [the inner sticky cannot be pushed outside the outer sticky]
+ expected: FAIL
diff --git a/tests/wpt/metadata-layout-2020/css/css-position/sticky/position-sticky-offset-overflow.html.ini b/tests/wpt/metadata-layout-2020/css/css-position/sticky/position-sticky-offset-overflow.html.ini
new file mode 100644
index 00000000000..71f99234e29
--- /dev/null
+++ b/tests/wpt/metadata-layout-2020/css/css-position/sticky/position-sticky-offset-overflow.html.ini
@@ -0,0 +1,3 @@
+[position-sticky-offset-overflow.html]
+ [sticky position offset should be contained by scrolling box]
+ expected: FAIL
diff --git a/tests/wpt/mozilla/meta-layout-2020/css/css-position-3/position-sticky-offset-top-left.html.ini b/tests/wpt/metadata-layout-2020/css/css-position/sticky/position-sticky-offset-top-left.html.ini
index 94f7fef01fb..594c593aa25 100644
--- a/tests/wpt/mozilla/meta-layout-2020/css/css-position-3/position-sticky-offset-top-left.html.ini
+++ b/tests/wpt/metadata-layout-2020/css/css-position/sticky/position-sticky-offset-top-left.html.ini
@@ -4,4 +4,3 @@
[offsetTop/offsetLeft should be correct for sticky after script-caused layout]
expected: FAIL
-
diff --git a/tests/wpt/metadata-layout-2020/css/css-position/sticky/position-sticky-overflow-padding.html.ini b/tests/wpt/metadata-layout-2020/css/css-position/sticky/position-sticky-overflow-padding.html.ini
new file mode 100644
index 00000000000..1dea93847b7
--- /dev/null
+++ b/tests/wpt/metadata-layout-2020/css/css-position/sticky/position-sticky-overflow-padding.html.ini
@@ -0,0 +1,6 @@
+[position-sticky-overflow-padding.html]
+ [A sticky element should be offset by ancestor padding even when stuck]
+ expected: FAIL
+
+ [Ancestor overflow padding does not allow a sticky element to escape its container]
+ expected: FAIL
diff --git a/tests/wpt/mozilla/meta-layout-2020/css/css-position-3/position-sticky-parsing.html.ini b/tests/wpt/metadata-layout-2020/css/css-position/sticky/position-sticky-parsing.html.ini
index 34e8ebda1a8..590a4ba45a0 100644
--- a/tests/wpt/mozilla/meta-layout-2020/css/css-position-3/position-sticky-parsing.html.ini
+++ b/tests/wpt/metadata-layout-2020/css/css-position/sticky/position-sticky-parsing.html.ini
@@ -1,4 +1,3 @@
[position-sticky-parsing.html]
[The value of sticky for the position property should be parsed correctly]
expected: FAIL
-
diff --git a/tests/wpt/metadata-layout-2020/css/css-position/sticky/position-sticky-rendering.html.ini b/tests/wpt/metadata-layout-2020/css/css-position/sticky/position-sticky-rendering.html.ini
new file mode 100644
index 00000000000..2831b2eabe7
--- /dev/null
+++ b/tests/wpt/metadata-layout-2020/css/css-position/sticky/position-sticky-rendering.html.ini
@@ -0,0 +1,2 @@
+[position-sticky-rendering.html]
+ expected: FAIL
diff --git a/tests/wpt/metadata-layout-2020/css/css-position/sticky/position-sticky-right-002.html.ini b/tests/wpt/metadata-layout-2020/css/css-position/sticky/position-sticky-right-002.html.ini
new file mode 100644
index 00000000000..7c57ac045fa
--- /dev/null
+++ b/tests/wpt/metadata-layout-2020/css/css-position/sticky/position-sticky-right-002.html.ini
@@ -0,0 +1,2 @@
+[position-sticky-right-002.html]
+ expected: FAIL
diff --git a/tests/wpt/metadata-layout-2020/css/css-position/sticky/position-sticky-right-003.html.ini b/tests/wpt/metadata-layout-2020/css/css-position/sticky/position-sticky-right-003.html.ini
new file mode 100644
index 00000000000..852aee94f44
--- /dev/null
+++ b/tests/wpt/metadata-layout-2020/css/css-position/sticky/position-sticky-right-003.html.ini
@@ -0,0 +1,2 @@
+[position-sticky-right-003.html]
+ expected: FAIL
diff --git a/tests/wpt/metadata-layout-2020/css/css-position/sticky/position-sticky-right.html.ini b/tests/wpt/metadata-layout-2020/css/css-position/sticky/position-sticky-right.html.ini
new file mode 100644
index 00000000000..656dd23bb2c
--- /dev/null
+++ b/tests/wpt/metadata-layout-2020/css/css-position/sticky/position-sticky-right.html.ini
@@ -0,0 +1,6 @@
+[position-sticky-right.html]
+ [after reaching the sticking point the sticky box should be offset]
+ expected: FAIL
+
+ [the sticky box should not be pushed outside its containing block]
+ expected: FAIL
diff --git a/tests/wpt/metadata-layout-2020/css/css-position/sticky/position-sticky-root-scroller.html.ini b/tests/wpt/metadata-layout-2020/css/css-position/sticky/position-sticky-root-scroller.html.ini
new file mode 100644
index 00000000000..ff105eea0d5
--- /dev/null
+++ b/tests/wpt/metadata-layout-2020/css/css-position/sticky/position-sticky-root-scroller.html.ini
@@ -0,0 +1,3 @@
+[position-sticky-root-scroller.html]
+ [Sticky elements work with the root (document) scroller]
+ expected: FAIL
diff --git a/tests/wpt/metadata-layout-2020/css/css-position/sticky/position-sticky-scroll-with-clip-and-abspos.html.ini b/tests/wpt/metadata-layout-2020/css/css-position/sticky/position-sticky-scroll-with-clip-and-abspos.html.ini
new file mode 100644
index 00000000000..727bce3fd5b
--- /dev/null
+++ b/tests/wpt/metadata-layout-2020/css/css-position/sticky/position-sticky-scroll-with-clip-and-abspos.html.ini
@@ -0,0 +1,2 @@
+[position-sticky-scroll-with-clip-and-abspos.html]
+ expected: FAIL
diff --git a/tests/wpt/metadata-layout-2020/css/css-position/sticky/position-sticky-scrollIntoView.html.ini b/tests/wpt/metadata-layout-2020/css/css-position/sticky/position-sticky-scrollIntoView.html.ini
new file mode 100644
index 00000000000..bfe63065ff5
--- /dev/null
+++ b/tests/wpt/metadata-layout-2020/css/css-position/sticky/position-sticky-scrollIntoView.html.ini
@@ -0,0 +1,3 @@
+[position-sticky-scrollIntoView.html]
+ [scrolling a sticky element into view should use its unshifted position]
+ expected: FAIL
diff --git a/tests/wpt/metadata-layout-2020/css/css-position/sticky/position-sticky-scrolled-remove-sibling.html.ini b/tests/wpt/metadata-layout-2020/css/css-position/sticky/position-sticky-scrolled-remove-sibling.html.ini
new file mode 100644
index 00000000000..7272a91e0af
--- /dev/null
+++ b/tests/wpt/metadata-layout-2020/css/css-position/sticky/position-sticky-scrolled-remove-sibling.html.ini
@@ -0,0 +1,6 @@
+[position-sticky-scrolled-remove-sibling.html]
+ [Sticky position and its overflow contribution in the vertical axis]
+ expected: FAIL
+
+ [Sticky position and its overflow contribution in the horizontal axis]
+ expected: FAIL
diff --git a/tests/wpt/metadata-layout-2020/css/css-position/sticky/position-sticky-stacking-context-002.html.ini b/tests/wpt/metadata-layout-2020/css/css-position/sticky/position-sticky-stacking-context-002.html.ini
new file mode 100644
index 00000000000..931e3eabc35
--- /dev/null
+++ b/tests/wpt/metadata-layout-2020/css/css-position/sticky/position-sticky-stacking-context-002.html.ini
@@ -0,0 +1,2 @@
+[position-sticky-stacking-context-002.html]
+ expected: FAIL
diff --git a/tests/wpt/mozilla/meta-layout-2020/css/css-position-3/position-sticky-stacking-context.html.ini b/tests/wpt/metadata-layout-2020/css/css-position/sticky/position-sticky-stacking-context.html.ini
index d714d2658ac..d714d2658ac 100644
--- a/tests/wpt/mozilla/meta-layout-2020/css/css-position-3/position-sticky-stacking-context.html.ini
+++ b/tests/wpt/metadata-layout-2020/css/css-position/sticky/position-sticky-stacking-context.html.ini
diff --git a/tests/wpt/metadata-layout-2020/css/css-position/sticky/position-sticky-table-parts.html.ini b/tests/wpt/metadata-layout-2020/css/css-position/sticky/position-sticky-table-parts.html.ini
new file mode 100644
index 00000000000..c62ed871371
--- /dev/null
+++ b/tests/wpt/metadata-layout-2020/css/css-position/sticky/position-sticky-table-parts.html.ini
@@ -0,0 +1,2 @@
+[position-sticky-table-parts.html]
+ expected: FAIL
diff --git a/tests/wpt/metadata-layout-2020/css/css-position/sticky/position-sticky-table-td-bottom.html.ini b/tests/wpt/metadata-layout-2020/css/css-position/sticky/position-sticky-table-td-bottom.html.ini
new file mode 100644
index 00000000000..20cee349fa6
--- /dev/null
+++ b/tests/wpt/metadata-layout-2020/css/css-position/sticky/position-sticky-table-td-bottom.html.ini
@@ -0,0 +1,2 @@
+[position-sticky-table-td-bottom.html]
+ expected: FAIL
diff --git a/tests/wpt/metadata-layout-2020/css/css-position/sticky/position-sticky-table-td-left.html.ini b/tests/wpt/metadata-layout-2020/css/css-position/sticky/position-sticky-table-td-left.html.ini
new file mode 100644
index 00000000000..926183eac0c
--- /dev/null
+++ b/tests/wpt/metadata-layout-2020/css/css-position/sticky/position-sticky-table-td-left.html.ini
@@ -0,0 +1,2 @@
+[position-sticky-table-td-left.html]
+ expected: FAIL
diff --git a/tests/wpt/metadata-layout-2020/css/css-position/sticky/position-sticky-table-td-right.html.ini b/tests/wpt/metadata-layout-2020/css/css-position/sticky/position-sticky-table-td-right.html.ini
new file mode 100644
index 00000000000..ac68c6f6a63
--- /dev/null
+++ b/tests/wpt/metadata-layout-2020/css/css-position/sticky/position-sticky-table-td-right.html.ini
@@ -0,0 +1,2 @@
+[position-sticky-table-td-right.html]
+ expected: FAIL
diff --git a/tests/wpt/mozilla/meta-layout-2020/css/css-position-3/position-sticky-table-tfoot-bottom.html.ini b/tests/wpt/metadata-layout-2020/css/css-position/sticky/position-sticky-table-tfoot-bottom.html.ini
index b7f42945145..b7f42945145 100644
--- a/tests/wpt/mozilla/meta-layout-2020/css/css-position-3/position-sticky-table-tfoot-bottom.html.ini
+++ b/tests/wpt/metadata-layout-2020/css/css-position/sticky/position-sticky-table-tfoot-bottom.html.ini
diff --git a/tests/wpt/mozilla/meta-layout-2020/css/css-position-3/position-sticky-table-th-bottom.html.ini b/tests/wpt/metadata-layout-2020/css/css-position/sticky/position-sticky-table-th-bottom.html.ini
index b99b34b296a..b99b34b296a 100644
--- a/tests/wpt/mozilla/meta-layout-2020/css/css-position-3/position-sticky-table-th-bottom.html.ini
+++ b/tests/wpt/metadata-layout-2020/css/css-position/sticky/position-sticky-table-th-bottom.html.ini
diff --git a/tests/wpt/mozilla/meta-layout-2020/css/css-position-3/position-sticky-table-th-left.html.ini b/tests/wpt/metadata-layout-2020/css/css-position/sticky/position-sticky-table-th-left.html.ini
index 7fc8d47f66f..7fc8d47f66f 100644
--- a/tests/wpt/mozilla/meta-layout-2020/css/css-position-3/position-sticky-table-th-left.html.ini
+++ b/tests/wpt/metadata-layout-2020/css/css-position/sticky/position-sticky-table-th-left.html.ini
diff --git a/tests/wpt/mozilla/meta-layout-2020/css/css-position-3/position-sticky-table-th-right.html.ini b/tests/wpt/metadata-layout-2020/css/css-position/sticky/position-sticky-table-th-right.html.ini
index 6d90c77e4a2..6d90c77e4a2 100644
--- a/tests/wpt/mozilla/meta-layout-2020/css/css-position-3/position-sticky-table-th-right.html.ini
+++ b/tests/wpt/metadata-layout-2020/css/css-position/sticky/position-sticky-table-th-right.html.ini
diff --git a/tests/wpt/mozilla/meta-layout-2020/css/css-position-3/position-sticky-table-th-top.html.ini b/tests/wpt/metadata-layout-2020/css/css-position/sticky/position-sticky-table-th-top.html.ini
index c80a26636fa..c80a26636fa 100644
--- a/tests/wpt/mozilla/meta-layout-2020/css/css-position-3/position-sticky-table-th-top.html.ini
+++ b/tests/wpt/metadata-layout-2020/css/css-position/sticky/position-sticky-table-th-top.html.ini
diff --git a/tests/wpt/mozilla/meta-layout-2020/css/css-position-3/position-sticky-table-thead-top.html.ini b/tests/wpt/metadata-layout-2020/css/css-position/sticky/position-sticky-table-thead-top.html.ini
index 0c80cd986e9..0c80cd986e9 100644
--- a/tests/wpt/mozilla/meta-layout-2020/css/css-position-3/position-sticky-table-thead-top.html.ini
+++ b/tests/wpt/metadata-layout-2020/css/css-position/sticky/position-sticky-table-thead-top.html.ini
diff --git a/tests/wpt/mozilla/meta-layout-2020/css/css-position-3/position-sticky-table-tr-bottom.html.ini b/tests/wpt/metadata-layout-2020/css/css-position/sticky/position-sticky-table-tr-bottom.html.ini
index 2b7fe555dee..2b7fe555dee 100644
--- a/tests/wpt/mozilla/meta-layout-2020/css/css-position-3/position-sticky-table-tr-bottom.html.ini
+++ b/tests/wpt/metadata-layout-2020/css/css-position/sticky/position-sticky-table-tr-bottom.html.ini
diff --git a/tests/wpt/mozilla/meta-layout-2020/css/css-position-3/position-sticky-table-tr-top.html.ini b/tests/wpt/metadata-layout-2020/css/css-position/sticky/position-sticky-table-tr-top.html.ini
index 74952619651..74952619651 100644
--- a/tests/wpt/mozilla/meta-layout-2020/css/css-position-3/position-sticky-table-tr-top.html.ini
+++ b/tests/wpt/metadata-layout-2020/css/css-position/sticky/position-sticky-table-tr-top.html.ini
diff --git a/tests/wpt/metadata-layout-2020/css/css-position/sticky/position-sticky-top-002.html.ini b/tests/wpt/metadata-layout-2020/css/css-position/sticky/position-sticky-top-002.html.ini
new file mode 100644
index 00000000000..b9bbb318328
--- /dev/null
+++ b/tests/wpt/metadata-layout-2020/css/css-position/sticky/position-sticky-top-002.html.ini
@@ -0,0 +1,2 @@
+[position-sticky-top-002.html]
+ expected: FAIL
diff --git a/tests/wpt/metadata-layout-2020/css/css-position/sticky/position-sticky-top-003.html.ini b/tests/wpt/metadata-layout-2020/css/css-position/sticky/position-sticky-top-003.html.ini
new file mode 100644
index 00000000000..c8832f78b51
--- /dev/null
+++ b/tests/wpt/metadata-layout-2020/css/css-position/sticky/position-sticky-top-003.html.ini
@@ -0,0 +1,2 @@
+[position-sticky-top-003.html]
+ expected: FAIL
diff --git a/tests/wpt/metadata-layout-2020/css/css-position/sticky/position-sticky-top-and-bottom-003.html.ini b/tests/wpt/metadata-layout-2020/css/css-position/sticky/position-sticky-top-and-bottom-003.html.ini
new file mode 100644
index 00000000000..624316a0c67
--- /dev/null
+++ b/tests/wpt/metadata-layout-2020/css/css-position/sticky/position-sticky-top-and-bottom-003.html.ini
@@ -0,0 +1,2 @@
+[position-sticky-top-and-bottom-003.html]
+ expected: FAIL
diff --git a/tests/wpt/metadata-layout-2020/css/css-position/sticky/position-sticky-top-and-bottom.html.ini b/tests/wpt/metadata-layout-2020/css/css-position/sticky/position-sticky-top-and-bottom.html.ini
new file mode 100644
index 00000000000..faf1aaa3e0d
--- /dev/null
+++ b/tests/wpt/metadata-layout-2020/css/css-position/sticky/position-sticky-top-and-bottom.html.ini
@@ -0,0 +1,6 @@
+[position-sticky-top-and-bottom.html]
+ [initially the sticky box should be pushed to the top of the container]
+ expected: FAIL
+
+ [when we scroll past the flow position the top constraint pushes it down]
+ expected: FAIL
diff --git a/tests/wpt/metadata-layout-2020/css/css-position/sticky/position-sticky-top.html.ini b/tests/wpt/metadata-layout-2020/css/css-position/sticky/position-sticky-top.html.ini
new file mode 100644
index 00000000000..6941dd7a0b2
--- /dev/null
+++ b/tests/wpt/metadata-layout-2020/css/css-position/sticky/position-sticky-top.html.ini
@@ -0,0 +1,6 @@
+[position-sticky-top.html]
+ [after reaching the sticking point the sticky box should be offset]
+ expected: FAIL
+
+ [the sticky box should not be pushed outside its containing block]
+ expected: FAIL
diff --git a/tests/wpt/metadata-layout-2020/css/css-position/sticky/position-sticky-transforms-translate.html.ini b/tests/wpt/metadata-layout-2020/css/css-position/sticky/position-sticky-transforms-translate.html.ini
new file mode 100644
index 00000000000..c166df2af5f
--- /dev/null
+++ b/tests/wpt/metadata-layout-2020/css/css-position/sticky/position-sticky-transforms-translate.html.ini
@@ -0,0 +1,9 @@
+[position-sticky-transforms-translate.html]
+ [Translation transform can move sticky element past sticking point]
+ expected: FAIL
+
+ [Stuck elements can still be moved via translations]
+ expected: FAIL
+
+ [The sticky element should stick before the container is offset by a translation]
+ expected: FAIL
diff --git a/tests/wpt/metadata-layout-2020/css/css-position/sticky/position-sticky-transforms.html.ini b/tests/wpt/metadata-layout-2020/css/css-position/sticky/position-sticky-transforms.html.ini
new file mode 100644
index 00000000000..cc54793309f
--- /dev/null
+++ b/tests/wpt/metadata-layout-2020/css/css-position/sticky/position-sticky-transforms.html.ini
@@ -0,0 +1,9 @@
+[position-sticky-transforms.html]
+ [Scale transforms are carried out on the stuck element position]
+ expected: FAIL
+
+ [Rotate transforms are carried out on the stuck element position]
+ expected: FAIL
+
+ [Perspective transforms are carried out on the stuck element position]
+ expected: FAIL
diff --git a/tests/wpt/mozilla/meta-layout-2020/css/css-position-3/position-sticky-writing-modes.html.ini b/tests/wpt/metadata-layout-2020/css/css-position/sticky/position-sticky-writing-modes.html.ini
index e49ba16e303..e49ba16e303 100644
--- a/tests/wpt/mozilla/meta-layout-2020/css/css-position-3/position-sticky-writing-modes.html.ini
+++ b/tests/wpt/metadata-layout-2020/css/css-position/sticky/position-sticky-writing-modes.html.ini
diff --git a/tests/wpt/metadata-layout-2020/css/css-position/z-index-blend-will-change-overlapping-layers.html.ini b/tests/wpt/metadata-layout-2020/css/css-position/z-index-blend-will-change-overlapping-layers.html.ini
new file mode 100644
index 00000000000..07353055bf7
--- /dev/null
+++ b/tests/wpt/metadata-layout-2020/css/css-position/z-index-blend-will-change-overlapping-layers.html.ini
@@ -0,0 +1,2 @@
+[z-index-blend-will-change-overlapping-layers.html]
+ expected: FAIL
diff --git a/tests/wpt/metadata/css/css-position/animations/bottom-composition.html.ini b/tests/wpt/metadata/css/css-position/animations/bottom-composition.html.ini
new file mode 100644
index 00000000000..82d9cefbe6a
--- /dev/null
+++ b/tests/wpt/metadata/css/css-position/animations/bottom-composition.html.ini
@@ -0,0 +1,75 @@
+[bottom-composition.html]
+ [Compositing: property <bottom> underlying [50px\] from add [100px\] to add [200px\] at (-0.3) should be [120px\]]
+ expected: FAIL
+
+ [Compositing: property <bottom> underlying [50px\] from add [100px\] to add [200px\] at (0) should be [150px\]]
+ expected: FAIL
+
+ [Compositing: property <bottom> underlying [50px\] from add [100px\] to add [200px\] at (0.5) should be [200px\]]
+ expected: FAIL
+
+ [Compositing: property <bottom> underlying [50px\] from add [100px\] to add [200px\] at (1) should be [250px\]]
+ expected: FAIL
+
+ [Compositing: property <bottom> underlying [50px\] from add [100px\] to add [200px\] at (1.5) should be [300px\]]
+ expected: FAIL
+
+ [Compositing: property <bottom> underlying [100px\] from add [10px\] to add [2px\] at (-0.5) should be [114px\]]
+ expected: FAIL
+
+ [Compositing: property <bottom> underlying [100px\] from add [10px\] to add [2px\] at (0) should be [110px\]]
+ expected: FAIL
+
+ [Compositing: property <bottom> underlying [100px\] from add [10px\] to add [2px\] at (0.5) should be [106px\]]
+ expected: FAIL
+
+ [Compositing: property <bottom> underlying [100px\] from add [10px\] to add [2px\] at (1) should be [102px\]]
+ expected: FAIL
+
+ [Compositing: property <bottom> underlying [100px\] from add [10px\] to add [2px\] at (1.5) should be [98px\]]
+ expected: FAIL
+
+ [Compositing: property <bottom> underlying [10%\] from add [100px\] to add [20%\] at (-0.3) should be [calc(130px + 4%)\]]
+ expected: FAIL
+
+ [Compositing: property <bottom> underlying [10%\] from add [100px\] to add [20%\] at (0) should be [calc(100px + 10%)\]]
+ expected: FAIL
+
+ [Compositing: property <bottom> underlying [10%\] from add [100px\] to add [20%\] at (0.5) should be [calc(50px + 20%)\]]
+ expected: FAIL
+
+ [Compositing: property <bottom> underlying [10%\] from add [100px\] to add [20%\] at (1) should be [30%\]]
+ expected: FAIL
+
+ [Compositing: property <bottom> underlying [10%\] from add [100px\] to add [20%\] at (1.5) should be [calc(-50px + 40%)\]]
+ expected: FAIL
+
+ [Compositing: property <bottom> underlying [50px\] from add [100px\] to replace [200px\] at (-0.3) should be [135px\]]
+ expected: FAIL
+
+ [Compositing: property <bottom> underlying [50px\] from add [100px\] to replace [200px\] at (0) should be [150px\]]
+ expected: FAIL
+
+ [Compositing: property <bottom> underlying [50px\] from add [100px\] to replace [200px\] at (0.5) should be [175px\]]
+ expected: FAIL
+
+ [Compositing: property <bottom> underlying [50px\] from add [100px\] to replace [200px\] at (1) should be [200px\]]
+ expected: FAIL
+
+ [Compositing: property <bottom> underlying [50px\] from add [100px\] to replace [200px\] at (1.5) should be [225px\]]
+ expected: FAIL
+
+ [Compositing: property <bottom> underlying [100px\] from add [100px\] to add [auto\] at (-0.3) should be [200px\]]
+ expected: FAIL
+
+ [Compositing: property <bottom> underlying [100px\] from add [100px\] to add [auto\] at (0) should be [200px\]]
+ expected: FAIL
+
+ [Compositing: property <bottom> underlying [100px\] from add [100px\] to add [auto\] at (0.5) should be [auto\]]
+ expected: FAIL
+
+ [Compositing: property <bottom> underlying [100px\] from add [100px\] to add [auto\] at (1) should be [auto\]]
+ expected: FAIL
+
+ [Compositing: property <bottom> underlying [100px\] from add [100px\] to add [auto\] at (1.5) should be [auto\]]
+ expected: FAIL
diff --git a/tests/wpt/metadata/css/css-position/animations/bottom-interpolation.html.ini b/tests/wpt/metadata/css/css-position/animations/bottom-interpolation.html.ini
new file mode 100644
index 00000000000..64d4e8d1c86
--- /dev/null
+++ b/tests/wpt/metadata/css/css-position/animations/bottom-interpolation.html.ini
@@ -0,0 +1,186 @@
+[bottom-interpolation.html]
+ [CSS Transitions: property <bottom> from neutral to [20px\] at (1.5) should be [25px\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <bottom> from neutral to [20px\] at (1.5) should be [25px\]]
+ expected: FAIL
+
+ [CSS Animations: property <bottom> from neutral to [20px\] at (1.5) should be [25px\]]
+ expected: FAIL
+
+ [Web Animations: property <bottom> from neutral to [20px\] at (-0.3) should be [7px\]]
+ expected: FAIL
+
+ [Web Animations: property <bottom> from neutral to [20px\] at (0) should be [10px\]]
+ expected: FAIL
+
+ [Web Animations: property <bottom> from neutral to [20px\] at (0.5) should be [15px\]]
+ expected: FAIL
+
+ [Web Animations: property <bottom> from neutral to [20px\] at (1) should be [20px\]]
+ expected: FAIL
+
+ [Web Animations: property <bottom> from neutral to [20px\] at (1.5) should be [25px\]]
+ expected: FAIL
+
+ [CSS Transitions: property <bottom> from [initial\] to [20px\] at (-0.3) should be [initial\]]
+ expected: FAIL
+
+ [CSS Transitions: property <bottom> from [initial\] to [20px\] at (0) should be [initial\]]
+ expected: FAIL
+
+ [CSS Transitions: property <bottom> from [initial\] to [20px\] at (0.3) should be [initial\]]
+ expected: FAIL
+
+ [CSS Transitions: property <bottom> from [initial\] to [20px\] at (0.6) should be [20px\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <bottom> from [initial\] to [20px\] at (0.6) should be [20px\]]
+ expected: FAIL
+
+ [CSS Animations: property <bottom> from [initial\] to [20px\] at (-0.3) should be [initial\]]
+ expected: FAIL
+
+ [CSS Animations: property <bottom> from [initial\] to [20px\] at (0) should be [initial\]]
+ expected: FAIL
+
+ [CSS Animations: property <bottom> from [initial\] to [20px\] at (0.3) should be [initial\]]
+ expected: FAIL
+
+ [CSS Animations: property <bottom> from [initial\] to [20px\] at (0.5) should be [20px\]]
+ expected: FAIL
+
+ [CSS Animations: property <bottom> from [initial\] to [20px\] at (0.6) should be [20px\]]
+ expected: FAIL
+
+ [CSS Animations: property <bottom> from [initial\] to [20px\] at (1) should be [20px\]]
+ expected: FAIL
+
+ [CSS Animations: property <bottom> from [initial\] to [20px\] at (1.5) should be [20px\]]
+ expected: FAIL
+
+ [Web Animations: property <bottom> from [initial\] to [20px\] at (-0.3) should be [initial\]]
+ expected: FAIL
+
+ [Web Animations: property <bottom> from [initial\] to [20px\] at (0) should be [initial\]]
+ expected: FAIL
+
+ [Web Animations: property <bottom> from [initial\] to [20px\] at (0.3) should be [initial\]]
+ expected: FAIL
+
+ [Web Animations: property <bottom> from [initial\] to [20px\] at (0.5) should be [20px\]]
+ expected: FAIL
+
+ [Web Animations: property <bottom> from [initial\] to [20px\] at (0.6) should be [20px\]]
+ expected: FAIL
+
+ [Web Animations: property <bottom> from [initial\] to [20px\] at (1) should be [20px\]]
+ expected: FAIL
+
+ [Web Animations: property <bottom> from [initial\] to [20px\] at (1.5) should be [20px\]]
+ expected: FAIL
+
+ [CSS Transitions: property <bottom> from [inherit\] to [20px\] at (1.5) should be [15px\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <bottom> from [inherit\] to [20px\] at (1.5) should be [15px\]]
+ expected: FAIL
+
+ [CSS Animations: property <bottom> from [inherit\] to [20px\] at (1.5) should be [15px\]]
+ expected: FAIL
+
+ [Web Animations: property <bottom> from [inherit\] to [20px\] at (-0.3) should be [33px\]]
+ expected: FAIL
+
+ [Web Animations: property <bottom> from [inherit\] to [20px\] at (0) should be [30px\]]
+ expected: FAIL
+
+ [Web Animations: property <bottom> from [inherit\] to [20px\] at (0.5) should be [25px\]]
+ expected: FAIL
+
+ [Web Animations: property <bottom> from [inherit\] to [20px\] at (1) should be [20px\]]
+ expected: FAIL
+
+ [Web Animations: property <bottom> from [inherit\] to [20px\] at (1.5) should be [15px\]]
+ expected: FAIL
+
+ [CSS Transitions: property <bottom> from [unset\] to [20px\] at (-0.3) should be [unset\]]
+ expected: FAIL
+
+ [CSS Transitions: property <bottom> from [unset\] to [20px\] at (0) should be [unset\]]
+ expected: FAIL
+
+ [CSS Transitions: property <bottom> from [unset\] to [20px\] at (0.3) should be [unset\]]
+ expected: FAIL
+
+ [CSS Transitions: property <bottom> from [unset\] to [20px\] at (0.6) should be [20px\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <bottom> from [unset\] to [20px\] at (0.6) should be [20px\]]
+ expected: FAIL
+
+ [CSS Animations: property <bottom> from [unset\] to [20px\] at (-0.3) should be [unset\]]
+ expected: FAIL
+
+ [CSS Animations: property <bottom> from [unset\] to [20px\] at (0) should be [unset\]]
+ expected: FAIL
+
+ [CSS Animations: property <bottom> from [unset\] to [20px\] at (0.3) should be [unset\]]
+ expected: FAIL
+
+ [CSS Animations: property <bottom> from [unset\] to [20px\] at (0.5) should be [20px\]]
+ expected: FAIL
+
+ [CSS Animations: property <bottom> from [unset\] to [20px\] at (0.6) should be [20px\]]
+ expected: FAIL
+
+ [CSS Animations: property <bottom> from [unset\] to [20px\] at (1) should be [20px\]]
+ expected: FAIL
+
+ [CSS Animations: property <bottom> from [unset\] to [20px\] at (1.5) should be [20px\]]
+ expected: FAIL
+
+ [Web Animations: property <bottom> from [unset\] to [20px\] at (-0.3) should be [unset\]]
+ expected: FAIL
+
+ [Web Animations: property <bottom> from [unset\] to [20px\] at (0) should be [unset\]]
+ expected: FAIL
+
+ [Web Animations: property <bottom> from [unset\] to [20px\] at (0.3) should be [unset\]]
+ expected: FAIL
+
+ [Web Animations: property <bottom> from [unset\] to [20px\] at (0.5) should be [20px\]]
+ expected: FAIL
+
+ [Web Animations: property <bottom> from [unset\] to [20px\] at (0.6) should be [20px\]]
+ expected: FAIL
+
+ [Web Animations: property <bottom> from [unset\] to [20px\] at (1) should be [20px\]]
+ expected: FAIL
+
+ [Web Animations: property <bottom> from [unset\] to [20px\] at (1.5) should be [20px\]]
+ expected: FAIL
+
+ [CSS Transitions: property <bottom> from [-10px\] to [10px\] at (1.5) should be [20px\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <bottom> from [-10px\] to [10px\] at (1.5) should be [20px\]]
+ expected: FAIL
+
+ [CSS Animations: property <bottom> from [-10px\] to [10px\] at (1.5) should be [20px\]]
+ expected: FAIL
+
+ [Web Animations: property <bottom> from [-10px\] to [10px\] at (-0.3) should be [-16px\]]
+ expected: FAIL
+
+ [Web Animations: property <bottom> from [-10px\] to [10px\] at (0) should be [-10px\]]
+ expected: FAIL
+
+ [Web Animations: property <bottom> from [-10px\] to [10px\] at (0.5) should be [0px\]]
+ expected: FAIL
+
+ [Web Animations: property <bottom> from [-10px\] to [10px\] at (1) should be [10px\]]
+ expected: FAIL
+
+ [Web Animations: property <bottom> from [-10px\] to [10px\] at (1.5) should be [20px\]]
+ expected: FAIL
diff --git a/tests/wpt/metadata/css/css-position/animations/left-composition.html.ini b/tests/wpt/metadata/css/css-position/animations/left-composition.html.ini
new file mode 100644
index 00000000000..caae28fbd84
--- /dev/null
+++ b/tests/wpt/metadata/css/css-position/animations/left-composition.html.ini
@@ -0,0 +1,90 @@
+[left-composition.html]
+ [Compositing: property <left> underlying [50px\] from add [100px\] to add [200px\] at (-0.3) should be [120px\]]
+ expected: FAIL
+
+ [Compositing: property <left> underlying [50px\] from add [100px\] to add [200px\] at (0) should be [150px\]]
+ expected: FAIL
+
+ [Compositing: property <left> underlying [50px\] from add [100px\] to add [200px\] at (0.5) should be [200px\]]
+ expected: FAIL
+
+ [Compositing: property <left> underlying [50px\] from add [100px\] to add [200px\] at (1) should be [250px\]]
+ expected: FAIL
+
+ [Compositing: property <left> underlying [50px\] from add [100px\] to add [200px\] at (1.5) should be [300px\]]
+ expected: FAIL
+
+ [Compositing: property <left> underlying [100px\] from add [10px\] to add [2px\] at (-0.5) should be [114px\]]
+ expected: FAIL
+
+ [Compositing: property <left> underlying [100px\] from add [10px\] to add [2px\] at (0) should be [110px\]]
+ expected: FAIL
+
+ [Compositing: property <left> underlying [100px\] from add [10px\] to add [2px\] at (0.5) should be [106px\]]
+ expected: FAIL
+
+ [Compositing: property <left> underlying [100px\] from add [10px\] to add [2px\] at (1) should be [102px\]]
+ expected: FAIL
+
+ [Compositing: property <left> underlying [100px\] from add [10px\] to add [2px\] at (1.5) should be [98px\]]
+ expected: FAIL
+
+ [Compositing: property <left> underlying [10%\] from add [100px\] to add [20%\] at (-0.3) should be [calc(130px + 4%)\]]
+ expected: FAIL
+
+ [Compositing: property <left> underlying [10%\] from add [100px\] to add [20%\] at (0) should be [calc(100px + 10%)\]]
+ expected: FAIL
+
+ [Compositing: property <left> underlying [10%\] from add [100px\] to add [20%\] at (0.5) should be [calc(50px + 20%)\]]
+ expected: FAIL
+
+ [Compositing: property <left> underlying [10%\] from add [100px\] to add [20%\] at (1) should be [30%\]]
+ expected: FAIL
+
+ [Compositing: property <left> underlying [10%\] from add [100px\] to add [20%\] at (1.5) should be [calc(-50px + 40%)\]]
+ expected: FAIL
+
+ [Compositing: property <left> underlying [10%\] from add [100px\] to add [-10%\] at (-0.3) should be [calc(130px + 13%)\]]
+ expected: FAIL
+
+ [Compositing: property <left> underlying [10%\] from add [100px\] to add [-10%\] at (0) should be [calc(100px + 10%)\]]
+ expected: FAIL
+
+ [Compositing: property <left> underlying [10%\] from add [100px\] to add [-10%\] at (0.5) should be [calc(50px + 5%)\]]
+ expected: FAIL
+
+ [Compositing: property <left> underlying [10%\] from add [100px\] to add [-10%\] at (1) should be [0%\]]
+ expected: FAIL
+
+ [Compositing: property <left> underlying [10%\] from add [100px\] to add [-10%\] at (1.5) should be [calc(-50px - 5%)\]]
+ expected: FAIL
+
+ [Compositing: property <left> underlying [50px\] from add [100px\] to replace [200px\] at (-0.3) should be [135px\]]
+ expected: FAIL
+
+ [Compositing: property <left> underlying [50px\] from add [100px\] to replace [200px\] at (0) should be [150px\]]
+ expected: FAIL
+
+ [Compositing: property <left> underlying [50px\] from add [100px\] to replace [200px\] at (0.5) should be [175px\]]
+ expected: FAIL
+
+ [Compositing: property <left> underlying [50px\] from add [100px\] to replace [200px\] at (1) should be [200px\]]
+ expected: FAIL
+
+ [Compositing: property <left> underlying [50px\] from add [100px\] to replace [200px\] at (1.5) should be [225px\]]
+ expected: FAIL
+
+ [Compositing: property <left> underlying [100px\] from add [100px\] to add [auto\] at (-0.3) should be [200px\]]
+ expected: FAIL
+
+ [Compositing: property <left> underlying [100px\] from add [100px\] to add [auto\] at (0) should be [200px\]]
+ expected: FAIL
+
+ [Compositing: property <left> underlying [100px\] from add [100px\] to add [auto\] at (0.5) should be [auto\]]
+ expected: FAIL
+
+ [Compositing: property <left> underlying [100px\] from add [100px\] to add [auto\] at (1) should be [auto\]]
+ expected: FAIL
+
+ [Compositing: property <left> underlying [100px\] from add [100px\] to add [auto\] at (1.5) should be [auto\]]
+ expected: FAIL
diff --git a/tests/wpt/metadata/css/css-position/animations/left-interpolation.html.ini b/tests/wpt/metadata/css/css-position/animations/left-interpolation.html.ini
new file mode 100644
index 00000000000..ec1236382d8
--- /dev/null
+++ b/tests/wpt/metadata/css/css-position/animations/left-interpolation.html.ini
@@ -0,0 +1,87 @@
+[left-interpolation.html]
+ [Web Animations: property <left> from neutral to [20px\] at (-0.3) should be [7px\]]
+ expected: FAIL
+
+ [Web Animations: property <left> from neutral to [20px\] at (0) should be [10px\]]
+ expected: FAIL
+
+ [Web Animations: property <left> from neutral to [20px\] at (0.5) should be [15px\]]
+ expected: FAIL
+
+ [Web Animations: property <left> from neutral to [20px\] at (1) should be [20px\]]
+ expected: FAIL
+
+ [Web Animations: property <left> from neutral to [20px\] at (1.5) should be [25px\]]
+ expected: FAIL
+
+ [Web Animations: property <left> from [initial\] to [20px\] at (-0.3) should be [initial\]]
+ expected: FAIL
+
+ [Web Animations: property <left> from [initial\] to [20px\] at (0) should be [initial\]]
+ expected: FAIL
+
+ [Web Animations: property <left> from [initial\] to [20px\] at (0.3) should be [initial\]]
+ expected: FAIL
+
+ [Web Animations: property <left> from [initial\] to [20px\] at (0.5) should be [20px\]]
+ expected: FAIL
+
+ [Web Animations: property <left> from [initial\] to [20px\] at (0.6) should be [20px\]]
+ expected: FAIL
+
+ [Web Animations: property <left> from [initial\] to [20px\] at (1) should be [20px\]]
+ expected: FAIL
+
+ [Web Animations: property <left> from [initial\] to [20px\] at (1.5) should be [20px\]]
+ expected: FAIL
+
+ [Web Animations: property <left> from [inherit\] to [20px\] at (-0.3) should be [33px\]]
+ expected: FAIL
+
+ [Web Animations: property <left> from [inherit\] to [20px\] at (0) should be [30px\]]
+ expected: FAIL
+
+ [Web Animations: property <left> from [inherit\] to [20px\] at (0.5) should be [25px\]]
+ expected: FAIL
+
+ [Web Animations: property <left> from [inherit\] to [20px\] at (1) should be [20px\]]
+ expected: FAIL
+
+ [Web Animations: property <left> from [inherit\] to [20px\] at (1.5) should be [15px\]]
+ expected: FAIL
+
+ [Web Animations: property <left> from [unset\] to [20px\] at (-0.3) should be [unset\]]
+ expected: FAIL
+
+ [Web Animations: property <left> from [unset\] to [20px\] at (0) should be [unset\]]
+ expected: FAIL
+
+ [Web Animations: property <left> from [unset\] to [20px\] at (0.3) should be [unset\]]
+ expected: FAIL
+
+ [Web Animations: property <left> from [unset\] to [20px\] at (0.5) should be [20px\]]
+ expected: FAIL
+
+ [Web Animations: property <left> from [unset\] to [20px\] at (0.6) should be [20px\]]
+ expected: FAIL
+
+ [Web Animations: property <left> from [unset\] to [20px\] at (1) should be [20px\]]
+ expected: FAIL
+
+ [Web Animations: property <left> from [unset\] to [20px\] at (1.5) should be [20px\]]
+ expected: FAIL
+
+ [Web Animations: property <left> from [-10px\] to [10px\] at (-0.3) should be [-16px\]]
+ expected: FAIL
+
+ [Web Animations: property <left> from [-10px\] to [10px\] at (0) should be [-10px\]]
+ expected: FAIL
+
+ [Web Animations: property <left> from [-10px\] to [10px\] at (0.5) should be [0px\]]
+ expected: FAIL
+
+ [Web Animations: property <left> from [-10px\] to [10px\] at (1) should be [10px\]]
+ expected: FAIL
+
+ [Web Animations: property <left> from [-10px\] to [10px\] at (1.5) should be [20px\]]
+ expected: FAIL
diff --git a/tests/wpt/metadata/css/css-position/animations/position-interpolation.html.ini b/tests/wpt/metadata/css/css-position/animations/position-interpolation.html.ini
new file mode 100644
index 00000000000..ff7a33cf034
--- /dev/null
+++ b/tests/wpt/metadata/css/css-position/animations/position-interpolation.html.ini
@@ -0,0 +1,30 @@
+[position-interpolation.html]
+ [CSS Transitions with transition: all: property <position> from [absolute\] to [static\] at (-0.3) should be [static\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <position> from [absolute\] to [static\] at (0) should be [static\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <position> from [absolute\] to [static\] at (0.3) should be [static\]]
+ expected: FAIL
+
+ [Web Animations: property <position> from [absolute\] to [static\] at (-0.3) should be [absolute\]]
+ expected: FAIL
+
+ [Web Animations: property <position> from [absolute\] to [static\] at (0) should be [absolute\]]
+ expected: FAIL
+
+ [Web Animations: property <position> from [absolute\] to [static\] at (0.3) should be [absolute\]]
+ expected: FAIL
+
+ [Web Animations: property <position> from [absolute\] to [static\] at (0.5) should be [static\]]
+ expected: FAIL
+
+ [Web Animations: property <position> from [absolute\] to [static\] at (0.6) should be [static\]]
+ expected: FAIL
+
+ [Web Animations: property <position> from [absolute\] to [static\] at (1) should be [static\]]
+ expected: FAIL
+
+ [Web Animations: property <position> from [absolute\] to [static\] at (1.5) should be [static\]]
+ expected: FAIL
diff --git a/tests/wpt/metadata/css/css-position/animations/right-composition.html.ini b/tests/wpt/metadata/css/css-position/animations/right-composition.html.ini
new file mode 100644
index 00000000000..1cc64d84840
--- /dev/null
+++ b/tests/wpt/metadata/css/css-position/animations/right-composition.html.ini
@@ -0,0 +1,75 @@
+[right-composition.html]
+ [Compositing: property <right> underlying [50px\] from add [100px\] to add [200px\] at (-0.3) should be [120px\]]
+ expected: FAIL
+
+ [Compositing: property <right> underlying [50px\] from add [100px\] to add [200px\] at (0) should be [150px\]]
+ expected: FAIL
+
+ [Compositing: property <right> underlying [50px\] from add [100px\] to add [200px\] at (0.5) should be [200px\]]
+ expected: FAIL
+
+ [Compositing: property <right> underlying [50px\] from add [100px\] to add [200px\] at (1) should be [250px\]]
+ expected: FAIL
+
+ [Compositing: property <right> underlying [50px\] from add [100px\] to add [200px\] at (1.5) should be [300px\]]
+ expected: FAIL
+
+ [Compositing: property <right> underlying [100px\] from add [10px\] to add [2px\] at (-0.5) should be [114px\]]
+ expected: FAIL
+
+ [Compositing: property <right> underlying [100px\] from add [10px\] to add [2px\] at (0) should be [110px\]]
+ expected: FAIL
+
+ [Compositing: property <right> underlying [100px\] from add [10px\] to add [2px\] at (0.5) should be [106px\]]
+ expected: FAIL
+
+ [Compositing: property <right> underlying [100px\] from add [10px\] to add [2px\] at (1) should be [102px\]]
+ expected: FAIL
+
+ [Compositing: property <right> underlying [100px\] from add [10px\] to add [2px\] at (1.5) should be [98px\]]
+ expected: FAIL
+
+ [Compositing: property <right> underlying [10%\] from add [100px\] to add [20%\] at (-0.3) should be [calc(130px + 4%)\]]
+ expected: FAIL
+
+ [Compositing: property <right> underlying [10%\] from add [100px\] to add [20%\] at (0) should be [calc(100px + 10%)\]]
+ expected: FAIL
+
+ [Compositing: property <right> underlying [10%\] from add [100px\] to add [20%\] at (0.5) should be [calc(50px + 20%)\]]
+ expected: FAIL
+
+ [Compositing: property <right> underlying [10%\] from add [100px\] to add [20%\] at (1) should be [30%\]]
+ expected: FAIL
+
+ [Compositing: property <right> underlying [10%\] from add [100px\] to add [20%\] at (1.5) should be [calc(-50px + 40%)\]]
+ expected: FAIL
+
+ [Compositing: property <right> underlying [50px\] from add [100px\] to replace [200px\] at (-0.3) should be [135px\]]
+ expected: FAIL
+
+ [Compositing: property <right> underlying [50px\] from add [100px\] to replace [200px\] at (0) should be [150px\]]
+ expected: FAIL
+
+ [Compositing: property <right> underlying [50px\] from add [100px\] to replace [200px\] at (0.5) should be [175px\]]
+ expected: FAIL
+
+ [Compositing: property <right> underlying [50px\] from add [100px\] to replace [200px\] at (1) should be [200px\]]
+ expected: FAIL
+
+ [Compositing: property <right> underlying [50px\] from add [100px\] to replace [200px\] at (1.5) should be [225px\]]
+ expected: FAIL
+
+ [Compositing: property <right> underlying [100px\] from add [100px\] to add [auto\] at (-0.3) should be [200px\]]
+ expected: FAIL
+
+ [Compositing: property <right> underlying [100px\] from add [100px\] to add [auto\] at (0) should be [200px\]]
+ expected: FAIL
+
+ [Compositing: property <right> underlying [100px\] from add [100px\] to add [auto\] at (0.5) should be [auto\]]
+ expected: FAIL
+
+ [Compositing: property <right> underlying [100px\] from add [100px\] to add [auto\] at (1) should be [auto\]]
+ expected: FAIL
+
+ [Compositing: property <right> underlying [100px\] from add [100px\] to add [auto\] at (1.5) should be [auto\]]
+ expected: FAIL
diff --git a/tests/wpt/metadata/css/css-position/animations/right-interpolation.html.ini b/tests/wpt/metadata/css/css-position/animations/right-interpolation.html.ini
new file mode 100644
index 00000000000..49e48b2879b
--- /dev/null
+++ b/tests/wpt/metadata/css/css-position/animations/right-interpolation.html.ini
@@ -0,0 +1,147 @@
+[right-interpolation.html]
+ [Web Animations: property <right> from neutral to [20px\] at (-0.3) should be [7px\]]
+ expected: FAIL
+
+ [Web Animations: property <right> from neutral to [20px\] at (0) should be [10px\]]
+ expected: FAIL
+
+ [Web Animations: property <right> from neutral to [20px\] at (0.5) should be [15px\]]
+ expected: FAIL
+
+ [Web Animations: property <right> from neutral to [20px\] at (1) should be [20px\]]
+ expected: FAIL
+
+ [Web Animations: property <right> from neutral to [20px\] at (1.5) should be [25px\]]
+ expected: FAIL
+
+ [CSS Transitions: property <right> from [initial\] to [20px\] at (-0.3) should be [initial\]]
+ expected: FAIL
+
+ [CSS Transitions: property <right> from [initial\] to [20px\] at (0) should be [initial\]]
+ expected: FAIL
+
+ [CSS Transitions: property <right> from [initial\] to [20px\] at (0.3) should be [initial\]]
+ expected: FAIL
+
+ [CSS Animations: property <right> from [initial\] to [20px\] at (-0.3) should be [initial\]]
+ expected: FAIL
+
+ [CSS Animations: property <right> from [initial\] to [20px\] at (0) should be [initial\]]
+ expected: FAIL
+
+ [CSS Animations: property <right> from [initial\] to [20px\] at (0.3) should be [initial\]]
+ expected: FAIL
+
+ [CSS Animations: property <right> from [initial\] to [20px\] at (0.5) should be [20px\]]
+ expected: FAIL
+
+ [CSS Animations: property <right> from [initial\] to [20px\] at (0.6) should be [20px\]]
+ expected: FAIL
+
+ [CSS Animations: property <right> from [initial\] to [20px\] at (1) should be [20px\]]
+ expected: FAIL
+
+ [CSS Animations: property <right> from [initial\] to [20px\] at (1.5) should be [20px\]]
+ expected: FAIL
+
+ [Web Animations: property <right> from [initial\] to [20px\] at (-0.3) should be [initial\]]
+ expected: FAIL
+
+ [Web Animations: property <right> from [initial\] to [20px\] at (0) should be [initial\]]
+ expected: FAIL
+
+ [Web Animations: property <right> from [initial\] to [20px\] at (0.3) should be [initial\]]
+ expected: FAIL
+
+ [Web Animations: property <right> from [initial\] to [20px\] at (0.5) should be [20px\]]
+ expected: FAIL
+
+ [Web Animations: property <right> from [initial\] to [20px\] at (0.6) should be [20px\]]
+ expected: FAIL
+
+ [Web Animations: property <right> from [initial\] to [20px\] at (1) should be [20px\]]
+ expected: FAIL
+
+ [Web Animations: property <right> from [initial\] to [20px\] at (1.5) should be [20px\]]
+ expected: FAIL
+
+ [Web Animations: property <right> from [inherit\] to [20px\] at (-0.3) should be [33px\]]
+ expected: FAIL
+
+ [Web Animations: property <right> from [inherit\] to [20px\] at (0) should be [30px\]]
+ expected: FAIL
+
+ [Web Animations: property <right> from [inherit\] to [20px\] at (0.5) should be [25px\]]
+ expected: FAIL
+
+ [Web Animations: property <right> from [inherit\] to [20px\] at (1) should be [20px\]]
+ expected: FAIL
+
+ [Web Animations: property <right> from [inherit\] to [20px\] at (1.5) should be [15px\]]
+ expected: FAIL
+
+ [CSS Transitions: property <right> from [unset\] to [20px\] at (-0.3) should be [unset\]]
+ expected: FAIL
+
+ [CSS Transitions: property <right> from [unset\] to [20px\] at (0) should be [unset\]]
+ expected: FAIL
+
+ [CSS Transitions: property <right> from [unset\] to [20px\] at (0.3) should be [unset\]]
+ expected: FAIL
+
+ [CSS Animations: property <right> from [unset\] to [20px\] at (-0.3) should be [unset\]]
+ expected: FAIL
+
+ [CSS Animations: property <right> from [unset\] to [20px\] at (0) should be [unset\]]
+ expected: FAIL
+
+ [CSS Animations: property <right> from [unset\] to [20px\] at (0.3) should be [unset\]]
+ expected: FAIL
+
+ [CSS Animations: property <right> from [unset\] to [20px\] at (0.5) should be [20px\]]
+ expected: FAIL
+
+ [CSS Animations: property <right> from [unset\] to [20px\] at (0.6) should be [20px\]]
+ expected: FAIL
+
+ [CSS Animations: property <right> from [unset\] to [20px\] at (1) should be [20px\]]
+ expected: FAIL
+
+ [CSS Animations: property <right> from [unset\] to [20px\] at (1.5) should be [20px\]]
+ expected: FAIL
+
+ [Web Animations: property <right> from [unset\] to [20px\] at (-0.3) should be [unset\]]
+ expected: FAIL
+
+ [Web Animations: property <right> from [unset\] to [20px\] at (0) should be [unset\]]
+ expected: FAIL
+
+ [Web Animations: property <right> from [unset\] to [20px\] at (0.3) should be [unset\]]
+ expected: FAIL
+
+ [Web Animations: property <right> from [unset\] to [20px\] at (0.5) should be [20px\]]
+ expected: FAIL
+
+ [Web Animations: property <right> from [unset\] to [20px\] at (0.6) should be [20px\]]
+ expected: FAIL
+
+ [Web Animations: property <right> from [unset\] to [20px\] at (1) should be [20px\]]
+ expected: FAIL
+
+ [Web Animations: property <right> from [unset\] to [20px\] at (1.5) should be [20px\]]
+ expected: FAIL
+
+ [Web Animations: property <right> from [-10px\] to [10px\] at (-0.3) should be [-16px\]]
+ expected: FAIL
+
+ [Web Animations: property <right> from [-10px\] to [10px\] at (0) should be [-10px\]]
+ expected: FAIL
+
+ [Web Animations: property <right> from [-10px\] to [10px\] at (0.5) should be [0px\]]
+ expected: FAIL
+
+ [Web Animations: property <right> from [-10px\] to [10px\] at (1) should be [10px\]]
+ expected: FAIL
+
+ [Web Animations: property <right> from [-10px\] to [10px\] at (1.5) should be [20px\]]
+ expected: FAIL
diff --git a/tests/wpt/metadata/css/css-position/animations/top-composition.html.ini b/tests/wpt/metadata/css/css-position/animations/top-composition.html.ini
new file mode 100644
index 00000000000..2328183babe
--- /dev/null
+++ b/tests/wpt/metadata/css/css-position/animations/top-composition.html.ini
@@ -0,0 +1,75 @@
+[top-composition.html]
+ [Compositing: property <top> underlying [50px\] from add [100px\] to add [200px\] at (-0.3) should be [120px\]]
+ expected: FAIL
+
+ [Compositing: property <top> underlying [50px\] from add [100px\] to add [200px\] at (0) should be [150px\]]
+ expected: FAIL
+
+ [Compositing: property <top> underlying [50px\] from add [100px\] to add [200px\] at (0.5) should be [200px\]]
+ expected: FAIL
+
+ [Compositing: property <top> underlying [50px\] from add [100px\] to add [200px\] at (1) should be [250px\]]
+ expected: FAIL
+
+ [Compositing: property <top> underlying [50px\] from add [100px\] to add [200px\] at (1.5) should be [300px\]]
+ expected: FAIL
+
+ [Compositing: property <top> underlying [100px\] from add [10px\] to add [2px\] at (-0.5) should be [114px\]]
+ expected: FAIL
+
+ [Compositing: property <top> underlying [100px\] from add [10px\] to add [2px\] at (0) should be [110px\]]
+ expected: FAIL
+
+ [Compositing: property <top> underlying [100px\] from add [10px\] to add [2px\] at (0.5) should be [106px\]]
+ expected: FAIL
+
+ [Compositing: property <top> underlying [100px\] from add [10px\] to add [2px\] at (1) should be [102px\]]
+ expected: FAIL
+
+ [Compositing: property <top> underlying [100px\] from add [10px\] to add [2px\] at (1.5) should be [98px\]]
+ expected: FAIL
+
+ [Compositing: property <top> underlying [10%\] from add [100px\] to add [20%\] at (-0.3) should be [calc(130px + 4%)\]]
+ expected: FAIL
+
+ [Compositing: property <top> underlying [10%\] from add [100px\] to add [20%\] at (0) should be [calc(100px + 10%)\]]
+ expected: FAIL
+
+ [Compositing: property <top> underlying [10%\] from add [100px\] to add [20%\] at (0.5) should be [calc(50px + 20%)\]]
+ expected: FAIL
+
+ [Compositing: property <top> underlying [10%\] from add [100px\] to add [20%\] at (1) should be [30%\]]
+ expected: FAIL
+
+ [Compositing: property <top> underlying [10%\] from add [100px\] to add [20%\] at (1.5) should be [calc(-50px + 40%)\]]
+ expected: FAIL
+
+ [Compositing: property <top> underlying [50px\] from add [100px\] to replace [200px\] at (-0.3) should be [135px\]]
+ expected: FAIL
+
+ [Compositing: property <top> underlying [50px\] from add [100px\] to replace [200px\] at (0) should be [150px\]]
+ expected: FAIL
+
+ [Compositing: property <top> underlying [50px\] from add [100px\] to replace [200px\] at (0.5) should be [175px\]]
+ expected: FAIL
+
+ [Compositing: property <top> underlying [50px\] from add [100px\] to replace [200px\] at (1) should be [200px\]]
+ expected: FAIL
+
+ [Compositing: property <top> underlying [50px\] from add [100px\] to replace [200px\] at (1.5) should be [225px\]]
+ expected: FAIL
+
+ [Compositing: property <top> underlying [100px\] from add [100px\] to add [auto\] at (-0.3) should be [200px\]]
+ expected: FAIL
+
+ [Compositing: property <top> underlying [100px\] from add [100px\] to add [auto\] at (0) should be [200px\]]
+ expected: FAIL
+
+ [Compositing: property <top> underlying [100px\] from add [100px\] to add [auto\] at (0.5) should be [auto\]]
+ expected: FAIL
+
+ [Compositing: property <top> underlying [100px\] from add [100px\] to add [auto\] at (1) should be [auto\]]
+ expected: FAIL
+
+ [Compositing: property <top> underlying [100px\] from add [100px\] to add [auto\] at (1.5) should be [auto\]]
+ expected: FAIL
diff --git a/tests/wpt/metadata/css/css-position/animations/top-interpolation.html.ini b/tests/wpt/metadata/css/css-position/animations/top-interpolation.html.ini
new file mode 100644
index 00000000000..eb6710a96c4
--- /dev/null
+++ b/tests/wpt/metadata/css/css-position/animations/top-interpolation.html.ini
@@ -0,0 +1,87 @@
+[top-interpolation.html]
+ [Web Animations: property <top> from neutral to [20px\] at (-0.3) should be [7px\]]
+ expected: FAIL
+
+ [Web Animations: property <top> from neutral to [20px\] at (0) should be [10px\]]
+ expected: FAIL
+
+ [Web Animations: property <top> from neutral to [20px\] at (0.5) should be [15px\]]
+ expected: FAIL
+
+ [Web Animations: property <top> from neutral to [20px\] at (1) should be [20px\]]
+ expected: FAIL
+
+ [Web Animations: property <top> from neutral to [20px\] at (1.5) should be [25px\]]
+ expected: FAIL
+
+ [Web Animations: property <top> from [initial\] to [20px\] at (-0.3) should be [initial\]]
+ expected: FAIL
+
+ [Web Animations: property <top> from [initial\] to [20px\] at (0) should be [initial\]]
+ expected: FAIL
+
+ [Web Animations: property <top> from [initial\] to [20px\] at (0.3) should be [initial\]]
+ expected: FAIL
+
+ [Web Animations: property <top> from [initial\] to [20px\] at (0.5) should be [20px\]]
+ expected: FAIL
+
+ [Web Animations: property <top> from [initial\] to [20px\] at (0.6) should be [20px\]]
+ expected: FAIL
+
+ [Web Animations: property <top> from [initial\] to [20px\] at (1) should be [20px\]]
+ expected: FAIL
+
+ [Web Animations: property <top> from [initial\] to [20px\] at (1.5) should be [20px\]]
+ expected: FAIL
+
+ [Web Animations: property <top> from [inherit\] to [20px\] at (-0.3) should be [33px\]]
+ expected: FAIL
+
+ [Web Animations: property <top> from [inherit\] to [20px\] at (0) should be [30px\]]
+ expected: FAIL
+
+ [Web Animations: property <top> from [inherit\] to [20px\] at (0.5) should be [25px\]]
+ expected: FAIL
+
+ [Web Animations: property <top> from [inherit\] to [20px\] at (1) should be [20px\]]
+ expected: FAIL
+
+ [Web Animations: property <top> from [inherit\] to [20px\] at (1.5) should be [15px\]]
+ expected: FAIL
+
+ [Web Animations: property <top> from [unset\] to [20px\] at (-0.3) should be [unset\]]
+ expected: FAIL
+
+ [Web Animations: property <top> from [unset\] to [20px\] at (0) should be [unset\]]
+ expected: FAIL
+
+ [Web Animations: property <top> from [unset\] to [20px\] at (0.3) should be [unset\]]
+ expected: FAIL
+
+ [Web Animations: property <top> from [unset\] to [20px\] at (0.5) should be [20px\]]
+ expected: FAIL
+
+ [Web Animations: property <top> from [unset\] to [20px\] at (0.6) should be [20px\]]
+ expected: FAIL
+
+ [Web Animations: property <top> from [unset\] to [20px\] at (1) should be [20px\]]
+ expected: FAIL
+
+ [Web Animations: property <top> from [unset\] to [20px\] at (1.5) should be [20px\]]
+ expected: FAIL
+
+ [Web Animations: property <top> from [-10px\] to [10px\] at (-0.3) should be [-16px\]]
+ expected: FAIL
+
+ [Web Animations: property <top> from [-10px\] to [10px\] at (0) should be [-10px\]]
+ expected: FAIL
+
+ [Web Animations: property <top> from [-10px\] to [10px\] at (0.5) should be [0px\]]
+ expected: FAIL
+
+ [Web Animations: property <top> from [-10px\] to [10px\] at (1) should be [10px\]]
+ expected: FAIL
+
+ [Web Animations: property <top> from [-10px\] to [10px\] at (1.5) should be [20px\]]
+ expected: FAIL
diff --git a/tests/wpt/metadata/css/css-position/change-insets-inside-strict-containment-nested.html.ini b/tests/wpt/metadata/css/css-position/change-insets-inside-strict-containment-nested.html.ini
new file mode 100644
index 00000000000..c3768fc6b69
--- /dev/null
+++ b/tests/wpt/metadata/css/css-position/change-insets-inside-strict-containment-nested.html.ini
@@ -0,0 +1,2 @@
+[change-insets-inside-strict-containment-nested.html]
+ expected: FAIL
diff --git a/tests/wpt/metadata/css/css-position/containing-block-change-button.html.ini b/tests/wpt/metadata/css/css-position/containing-block-change-button.html.ini
new file mode 100644
index 00000000000..270fb9f14c6
--- /dev/null
+++ b/tests/wpt/metadata/css/css-position/containing-block-change-button.html.ini
@@ -0,0 +1,2 @@
+[containing-block-change-button.html]
+ expected: FAIL
diff --git a/tests/wpt/metadata/css/css-position/containing-block-change-scrollframe.html.ini b/tests/wpt/metadata/css/css-position/containing-block-change-scrollframe.html.ini
new file mode 100644
index 00000000000..242f79c08a9
--- /dev/null
+++ b/tests/wpt/metadata/css/css-position/containing-block-change-scrollframe.html.ini
@@ -0,0 +1,2 @@
+[containing-block-change-scrollframe.html]
+ expected: FAIL
diff --git a/tests/wpt/metadata/css/css-position/inheritance.html.ini b/tests/wpt/metadata/css/css-position/inheritance.html.ini
new file mode 100644
index 00000000000..be8723003f3
--- /dev/null
+++ b/tests/wpt/metadata/css/css-position/inheritance.html.ini
@@ -0,0 +1,24 @@
+[inheritance.html]
+ [Property top has initial value auto]
+ expected: FAIL
+
+ [Property top does not inherit]
+ expected: FAIL
+
+ [Property right has initial value auto]
+ expected: FAIL
+
+ [Property right does not inherit]
+ expected: FAIL
+
+ [Property bottom has initial value auto]
+ expected: FAIL
+
+ [Property bottom does not inherit]
+ expected: FAIL
+
+ [Property left has initial value auto]
+ expected: FAIL
+
+ [Property left does not inherit]
+ expected: FAIL
diff --git a/tests/wpt/metadata/css/css-position/multicol/static-position/vlr-ltr-ltr-in-multicol.html.ini b/tests/wpt/metadata/css/css-position/multicol/static-position/vlr-ltr-ltr-in-multicol.html.ini
new file mode 100644
index 00000000000..8f6ac3b0f49
--- /dev/null
+++ b/tests/wpt/metadata/css/css-position/multicol/static-position/vlr-ltr-ltr-in-multicol.html.ini
@@ -0,0 +1,2 @@
+[vlr-ltr-ltr-in-multicol.html]
+ expected: FAIL
diff --git a/tests/wpt/metadata/css/css-position/multicol/static-position/vlr-ltr-rtl-in-multicol.tentative.html.ini b/tests/wpt/metadata/css/css-position/multicol/static-position/vlr-ltr-rtl-in-multicol.tentative.html.ini
new file mode 100644
index 00000000000..8c7b3d749c7
--- /dev/null
+++ b/tests/wpt/metadata/css/css-position/multicol/static-position/vlr-ltr-rtl-in-multicol.tentative.html.ini
@@ -0,0 +1,2 @@
+[vlr-ltr-rtl-in-multicol.tentative.html]
+ expected: FAIL
diff --git a/tests/wpt/metadata/css/css-position/multicol/static-position/vlr-rtl-ltr-in-multicol.tentative.html.ini b/tests/wpt/metadata/css/css-position/multicol/static-position/vlr-rtl-ltr-in-multicol.tentative.html.ini
new file mode 100644
index 00000000000..61c90231b83
--- /dev/null
+++ b/tests/wpt/metadata/css/css-position/multicol/static-position/vlr-rtl-ltr-in-multicol.tentative.html.ini
@@ -0,0 +1,2 @@
+[vlr-rtl-ltr-in-multicol.tentative.html]
+ expected: FAIL
diff --git a/tests/wpt/metadata/css/css-position/multicol/static-position/vlr-rtl-rtl-in-multicol.html.ini b/tests/wpt/metadata/css/css-position/multicol/static-position/vlr-rtl-rtl-in-multicol.html.ini
new file mode 100644
index 00000000000..79f2a70f3f5
--- /dev/null
+++ b/tests/wpt/metadata/css/css-position/multicol/static-position/vlr-rtl-rtl-in-multicol.html.ini
@@ -0,0 +1,2 @@
+[vlr-rtl-rtl-in-multicol.html]
+ expected: FAIL
diff --git a/tests/wpt/metadata/css/css-position/multicol/static-position/vrl-ltr-ltr-in-multicol.html.ini b/tests/wpt/metadata/css/css-position/multicol/static-position/vrl-ltr-ltr-in-multicol.html.ini
new file mode 100644
index 00000000000..695821f1e63
--- /dev/null
+++ b/tests/wpt/metadata/css/css-position/multicol/static-position/vrl-ltr-ltr-in-multicol.html.ini
@@ -0,0 +1,2 @@
+[vrl-ltr-ltr-in-multicol.html]
+ expected: FAIL
diff --git a/tests/wpt/metadata/css/css-position/multicol/static-position/vrl-ltr-rtl-in-multicol.tentative.html.ini b/tests/wpt/metadata/css/css-position/multicol/static-position/vrl-ltr-rtl-in-multicol.tentative.html.ini
new file mode 100644
index 00000000000..e1b2211afbf
--- /dev/null
+++ b/tests/wpt/metadata/css/css-position/multicol/static-position/vrl-ltr-rtl-in-multicol.tentative.html.ini
@@ -0,0 +1,2 @@
+[vrl-ltr-rtl-in-multicol.tentative.html]
+ expected: FAIL
diff --git a/tests/wpt/metadata/css/css-position/multicol/static-position/vrl-rtl-ltr-in-multicol.tentative.html.ini b/tests/wpt/metadata/css/css-position/multicol/static-position/vrl-rtl-ltr-in-multicol.tentative.html.ini
new file mode 100644
index 00000000000..f169e087308
--- /dev/null
+++ b/tests/wpt/metadata/css/css-position/multicol/static-position/vrl-rtl-ltr-in-multicol.tentative.html.ini
@@ -0,0 +1,2 @@
+[vrl-rtl-ltr-in-multicol.tentative.html]
+ expected: FAIL
diff --git a/tests/wpt/metadata/css/css-position/multicol/static-position/vrl-rtl-rtl-in-multicol.html.ini b/tests/wpt/metadata/css/css-position/multicol/static-position/vrl-rtl-rtl-in-multicol.html.ini
new file mode 100644
index 00000000000..dab247c9018
--- /dev/null
+++ b/tests/wpt/metadata/css/css-position/multicol/static-position/vrl-rtl-rtl-in-multicol.html.ini
@@ -0,0 +1,2 @@
+[vrl-rtl-rtl-in-multicol.html]
+ expected: FAIL
diff --git a/tests/wpt/metadata/css/css-position/multicol/vlr-ltr-ltr-in-multicols.html.ini b/tests/wpt/metadata/css/css-position/multicol/vlr-ltr-ltr-in-multicols.html.ini
new file mode 100644
index 00000000000..f303320cd80
--- /dev/null
+++ b/tests/wpt/metadata/css/css-position/multicol/vlr-ltr-ltr-in-multicols.html.ini
@@ -0,0 +1,2 @@
+[vlr-ltr-ltr-in-multicols.html]
+ expected: FAIL
diff --git a/tests/wpt/metadata/css/css-position/multicol/vlr-ltr-rtl-in-multicols.tentative.html.ini b/tests/wpt/metadata/css/css-position/multicol/vlr-ltr-rtl-in-multicols.tentative.html.ini
new file mode 100644
index 00000000000..ce0ecaec7a5
--- /dev/null
+++ b/tests/wpt/metadata/css/css-position/multicol/vlr-ltr-rtl-in-multicols.tentative.html.ini
@@ -0,0 +1,2 @@
+[vlr-ltr-rtl-in-multicols.tentative.html]
+ expected: FAIL
diff --git a/tests/wpt/metadata/css/css-position/multicol/vlr-rtl-ltr-in-multicols.tentative.html.ini b/tests/wpt/metadata/css/css-position/multicol/vlr-rtl-ltr-in-multicols.tentative.html.ini
new file mode 100644
index 00000000000..c14c2b0a8d4
--- /dev/null
+++ b/tests/wpt/metadata/css/css-position/multicol/vlr-rtl-ltr-in-multicols.tentative.html.ini
@@ -0,0 +1,2 @@
+[vlr-rtl-ltr-in-multicols.tentative.html]
+ expected: FAIL
diff --git a/tests/wpt/metadata/css/css-position/multicol/vlr-rtl-rtl-in-multicols.html.ini b/tests/wpt/metadata/css/css-position/multicol/vlr-rtl-rtl-in-multicols.html.ini
new file mode 100644
index 00000000000..a6915e04820
--- /dev/null
+++ b/tests/wpt/metadata/css/css-position/multicol/vlr-rtl-rtl-in-multicols.html.ini
@@ -0,0 +1,2 @@
+[vlr-rtl-rtl-in-multicols.html]
+ expected: FAIL
diff --git a/tests/wpt/metadata/css/css-position/multicol/vrl-ltr-ltr-in-multicols.html.ini b/tests/wpt/metadata/css/css-position/multicol/vrl-ltr-ltr-in-multicols.html.ini
new file mode 100644
index 00000000000..b2a72cb9fb8
--- /dev/null
+++ b/tests/wpt/metadata/css/css-position/multicol/vrl-ltr-ltr-in-multicols.html.ini
@@ -0,0 +1,2 @@
+[vrl-ltr-ltr-in-multicols.html]
+ expected: FAIL
diff --git a/tests/wpt/metadata/css/css-position/multicol/vrl-ltr-rtl-in-multicols.tentative.html.ini b/tests/wpt/metadata/css/css-position/multicol/vrl-ltr-rtl-in-multicols.tentative.html.ini
new file mode 100644
index 00000000000..682714ecdbd
--- /dev/null
+++ b/tests/wpt/metadata/css/css-position/multicol/vrl-ltr-rtl-in-multicols.tentative.html.ini
@@ -0,0 +1,2 @@
+[vrl-ltr-rtl-in-multicols.tentative.html]
+ expected: FAIL
diff --git a/tests/wpt/metadata/css/css-position/multicol/vrl-rtl-ltr-in-multicols.tentative.html.ini b/tests/wpt/metadata/css/css-position/multicol/vrl-rtl-ltr-in-multicols.tentative.html.ini
new file mode 100644
index 00000000000..af968a4c833
--- /dev/null
+++ b/tests/wpt/metadata/css/css-position/multicol/vrl-rtl-ltr-in-multicols.tentative.html.ini
@@ -0,0 +1,2 @@
+[vrl-rtl-ltr-in-multicols.tentative.html]
+ expected: FAIL
diff --git a/tests/wpt/metadata/css/css-position/multicol/vrl-rtl-rtl-in-multicols.html.ini b/tests/wpt/metadata/css/css-position/multicol/vrl-rtl-rtl-in-multicols.html.ini
new file mode 100644
index 00000000000..04ca871063a
--- /dev/null
+++ b/tests/wpt/metadata/css/css-position/multicol/vrl-rtl-rtl-in-multicols.html.ini
@@ -0,0 +1,2 @@
+[vrl-rtl-rtl-in-multicols.html]
+ expected: FAIL
diff --git a/tests/wpt/metadata/css/css-position/position-absolute-center-002.html.ini b/tests/wpt/metadata/css/css-position/position-absolute-center-002.html.ini
new file mode 100644
index 00000000000..dbad9923a2b
--- /dev/null
+++ b/tests/wpt/metadata/css/css-position/position-absolute-center-002.html.ini
@@ -0,0 +1,2 @@
+[position-absolute-center-002.html]
+ expected: FAIL
diff --git a/tests/wpt/metadata/css/css-position/position-absolute-center-003.html.ini b/tests/wpt/metadata/css/css-position/position-absolute-center-003.html.ini
new file mode 100644
index 00000000000..4bee82c7adc
--- /dev/null
+++ b/tests/wpt/metadata/css/css-position/position-absolute-center-003.html.ini
@@ -0,0 +1,2 @@
+[position-absolute-center-003.html]
+ expected: FAIL
diff --git a/tests/wpt/metadata/css/css-position/position-absolute-center-004.html.ini b/tests/wpt/metadata/css/css-position/position-absolute-center-004.html.ini
new file mode 100644
index 00000000000..edfcd812049
--- /dev/null
+++ b/tests/wpt/metadata/css/css-position/position-absolute-center-004.html.ini
@@ -0,0 +1,2 @@
+[position-absolute-center-004.html]
+ expected: FAIL
diff --git a/tests/wpt/metadata/css/css-position/position-absolute-center-007.html.ini b/tests/wpt/metadata/css/css-position/position-absolute-center-007.html.ini
new file mode 100644
index 00000000000..70059464433
--- /dev/null
+++ b/tests/wpt/metadata/css/css-position/position-absolute-center-007.html.ini
@@ -0,0 +1,2 @@
+[position-absolute-center-007.html]
+ expected: FAIL
diff --git a/tests/wpt/metadata/css/css-position/position-absolute-dynamic-containing-block.html.ini b/tests/wpt/metadata/css/css-position/position-absolute-dynamic-containing-block.html.ini
new file mode 100644
index 00000000000..603a8546a70
--- /dev/null
+++ b/tests/wpt/metadata/css/css-position/position-absolute-dynamic-containing-block.html.ini
@@ -0,0 +1,18 @@
+[position-absolute-dynamic-containing-block.html]
+ [abs containing block moves from outer to intermediate]
+ expected: FAIL
+
+ [abs containing block moves from intermediate to outer]
+ expected: FAIL
+
+ [fixed containing block moves from outer to intermediate]
+ expected: FAIL
+
+ [fixed containing block moves from intermediate to outer]
+ expected: FAIL
+
+ [target is no longer fixed]
+ expected: FAIL
+
+ [target becomes fixed]
+ expected: FAIL
diff --git a/tests/wpt/metadata/css/css-position/position-absolute-dynamic-list-marker.html.ini b/tests/wpt/metadata/css/css-position/position-absolute-dynamic-list-marker.html.ini
new file mode 100644
index 00000000000..64d0ec15137
--- /dev/null
+++ b/tests/wpt/metadata/css/css-position/position-absolute-dynamic-list-marker.html.ini
@@ -0,0 +1,2 @@
+[position-absolute-dynamic-list-marker.html]
+ expected: FAIL
diff --git a/tests/wpt/metadata/css/css-position/position-absolute-dynamic-relayout-003.html.ini b/tests/wpt/metadata/css/css-position/position-absolute-dynamic-relayout-003.html.ini
new file mode 100644
index 00000000000..7c8cf4ff231
--- /dev/null
+++ b/tests/wpt/metadata/css/css-position/position-absolute-dynamic-relayout-003.html.ini
@@ -0,0 +1,2 @@
+[position-absolute-dynamic-relayout-003.html]
+ expected: FAIL
diff --git a/tests/wpt/metadata/css/css-position/position-absolute-dynamic-static-position-floats-001.html.ini b/tests/wpt/metadata/css/css-position/position-absolute-dynamic-static-position-floats-001.html.ini
new file mode 100644
index 00000000000..1f10f2cc638
--- /dev/null
+++ b/tests/wpt/metadata/css/css-position/position-absolute-dynamic-static-position-floats-001.html.ini
@@ -0,0 +1,2 @@
+[position-absolute-dynamic-static-position-floats-001.html]
+ expected: FAIL
diff --git a/tests/wpt/metadata/css/css-position/position-absolute-dynamic-static-position-floats-004.html.ini b/tests/wpt/metadata/css/css-position/position-absolute-dynamic-static-position-floats-004.html.ini
new file mode 100644
index 00000000000..e488c064bb1
--- /dev/null
+++ b/tests/wpt/metadata/css/css-position/position-absolute-dynamic-static-position-floats-004.html.ini
@@ -0,0 +1,2 @@
+[position-absolute-dynamic-static-position-floats-004.html]
+ expected: FAIL
diff --git a/tests/wpt/metadata/css/css-position/position-absolute-dynamic-static-position-inline.html.ini b/tests/wpt/metadata/css/css-position/position-absolute-dynamic-static-position-inline.html.ini
new file mode 100644
index 00000000000..9af7d1ca213
--- /dev/null
+++ b/tests/wpt/metadata/css/css-position/position-absolute-dynamic-static-position-inline.html.ini
@@ -0,0 +1,2 @@
+[position-absolute-dynamic-static-position-inline.html]
+ expected: FAIL
diff --git a/tests/wpt/metadata/css/css-position/position-absolute-fit-content.html.ini b/tests/wpt/metadata/css/css-position/position-absolute-fit-content.html.ini
new file mode 100644
index 00000000000..c8b541f3150
--- /dev/null
+++ b/tests/wpt/metadata/css/css-position/position-absolute-fit-content.html.ini
@@ -0,0 +1,2 @@
+[position-absolute-fit-content.html]
+ expected: FAIL
diff --git a/tests/wpt/metadata/css/css-position/position-absolute-in-inline-002.html.ini b/tests/wpt/metadata/css/css-position/position-absolute-in-inline-002.html.ini
new file mode 100644
index 00000000000..4883a86993e
--- /dev/null
+++ b/tests/wpt/metadata/css/css-position/position-absolute-in-inline-002.html.ini
@@ -0,0 +1,3 @@
+[position-absolute-in-inline-002.html]
+ [absolute inside inline container location should be correct.]
+ expected: FAIL
diff --git a/tests/wpt/metadata/css/css-position/position-absolute-in-inline-003.html.ini b/tests/wpt/metadata/css/css-position/position-absolute-in-inline-003.html.ini
new file mode 100644
index 00000000000..e7886618db4
--- /dev/null
+++ b/tests/wpt/metadata/css/css-position/position-absolute-in-inline-003.html.ini
@@ -0,0 +1,2 @@
+[position-absolute-in-inline-003.html]
+ expected: FAIL
diff --git a/tests/wpt/metadata/css/css-position/position-absolute-in-inline-004.html.ini b/tests/wpt/metadata/css/css-position/position-absolute-in-inline-004.html.ini
new file mode 100644
index 00000000000..9fda2e81928
--- /dev/null
+++ b/tests/wpt/metadata/css/css-position/position-absolute-in-inline-004.html.ini
@@ -0,0 +1,2 @@
+[position-absolute-in-inline-004.html]
+ expected: FAIL
diff --git a/tests/wpt/metadata/css/css-position/position-absolute-percentage-height.html.ini b/tests/wpt/metadata/css/css-position/position-absolute-percentage-height.html.ini
new file mode 100644
index 00000000000..7d59c5bf28c
--- /dev/null
+++ b/tests/wpt/metadata/css/css-position/position-absolute-percentage-height.html.ini
@@ -0,0 +1,6 @@
+[position-absolute-percentage-height.html]
+ [#target height matches containing block height, and target parent width matches #target width]
+ expected: FAIL
+
+ [#target height matches containing block height, and target parent width matches #target width after resize]
+ expected: FAIL
diff --git a/tests/wpt/metadata/css/css-position/position-absolute-replaced-intrinsic-size.tentative.html.ini b/tests/wpt/metadata/css/css-position/position-absolute-replaced-intrinsic-size.tentative.html.ini
new file mode 100644
index 00000000000..fbcd9a83b13
--- /dev/null
+++ b/tests/wpt/metadata/css/css-position/position-absolute-replaced-intrinsic-size.tentative.html.ini
@@ -0,0 +1,2 @@
+[position-absolute-replaced-intrinsic-size.tentative.html]
+ expected: FAIL
diff --git a/tests/wpt/metadata/css/css-position/position-absolute-replaced-minmax.html.ini b/tests/wpt/metadata/css/css-position/position-absolute-replaced-minmax.html.ini
new file mode 100644
index 00000000000..1d18cd98633
--- /dev/null
+++ b/tests/wpt/metadata/css/css-position/position-absolute-replaced-minmax.html.ini
@@ -0,0 +1,58 @@
+[position-absolute-replaced-minmax.html]
+ expected: TIMEOUT
+ [minmax replaced IMG svg 23]
+ expected: NOTRUN
+
+ [minmax replaced IMG svg 24]
+ expected: NOTRUN
+
+ [minmax replaced IMG svg 25]
+ expected: NOTRUN
+
+ [minmax replaced IMG svg 26]
+ expected: NOTRUN
+
+ [minmax replaced IMG svg 27]
+ expected: NOTRUN
+
+ [minmax replaced IMG svg 28]
+ expected: NOTRUN
+
+ [minmax replaced IMG svg 29]
+ expected: NOTRUN
+
+ [minmax replaced IMG svg 30]
+ expected: NOTRUN
+
+ [minmax replaced IMG svg 31]
+ expected: NOTRUN
+
+ [minmax replaced IMG svg 32]
+ expected: NOTRUN
+
+ [minmax replaced IMG svg 33]
+ expected: NOTRUN
+
+ [minmax replaced IMG 34]
+ expected: NOTRUN
+
+ [minmax replaced IMG 35]
+ expected: NOTRUN
+
+ [minmax replaced IMG 36]
+ expected: NOTRUN
+
+ [minmax replaced IMG 37]
+ expected: NOTRUN
+
+ [minmax replaced IMG 38]
+ expected: NOTRUN
+
+ [minmax replaced IMG 39]
+ expected: NOTRUN
+
+ [minmax replaced IMG 40]
+ expected: NOTRUN
+
+ [minmax replaced IMG 41]
+ expected: NOTRUN
diff --git a/tests/wpt/metadata/css/css-position/position-absolute-replaced-no-intrinsic-size.tentative.html.ini b/tests/wpt/metadata/css/css-position/position-absolute-replaced-no-intrinsic-size.tentative.html.ini
new file mode 100644
index 00000000000..23af5ed6480
--- /dev/null
+++ b/tests/wpt/metadata/css/css-position/position-absolute-replaced-no-intrinsic-size.tentative.html.ini
@@ -0,0 +1,2 @@
+[position-absolute-replaced-no-intrinsic-size.tentative.html]
+ expected: FAIL
diff --git a/tests/wpt/metadata/css/css-position/position-absolute-root-element-flex.html.ini b/tests/wpt/metadata/css/css-position/position-absolute-root-element-flex.html.ini
new file mode 100644
index 00000000000..1a597834bae
--- /dev/null
+++ b/tests/wpt/metadata/css/css-position/position-absolute-root-element-flex.html.ini
@@ -0,0 +1,2 @@
+[position-absolute-root-element-flex.html]
+ expected: CRASH
diff --git a/tests/wpt/metadata/css/css-position/position-absolute-table-001.html.ini b/tests/wpt/metadata/css/css-position/position-absolute-table-001.html.ini
new file mode 100644
index 00000000000..1b67632ba70
--- /dev/null
+++ b/tests/wpt/metadata/css/css-position/position-absolute-table-001.html.ini
@@ -0,0 +1,18 @@
+[position-absolute-table-001.html]
+ [table size is interpreted as border-box width by default]
+ expected: FAIL
+
+ [table size is interpreted as minimum width]
+ expected: FAIL
+
+ [table size border-box]
+ expected: FAIL
+
+ [table size border-box interpreted as minimum width]
+ expected: FAIL
+
+ [table size content-box]
+ expected: FAIL
+
+ [table size content-box interpreted as minimum width]
+ expected: FAIL
diff --git a/tests/wpt/metadata/css/css-position/position-absolute-under-non-containing-stacking-context.html.ini b/tests/wpt/metadata/css/css-position/position-absolute-under-non-containing-stacking-context.html.ini
new file mode 100644
index 00000000000..ac4f8b57db3
--- /dev/null
+++ b/tests/wpt/metadata/css/css-position/position-absolute-under-non-containing-stacking-context.html.ini
@@ -0,0 +1,2 @@
+[position-absolute-under-non-containing-stacking-context.html]
+ expected: FAIL
diff --git a/tests/wpt/metadata/css/css-position/position-fixed-at-bottom-right-on-viewport.html.ini b/tests/wpt/metadata/css/css-position/position-fixed-at-bottom-right-on-viewport.html.ini
new file mode 100644
index 00000000000..94532e41e65
--- /dev/null
+++ b/tests/wpt/metadata/css/css-position/position-fixed-at-bottom-right-on-viewport.html.ini
@@ -0,0 +1,3 @@
+[position-fixed-at-bottom-right-on-viewport.html]
+ [position:fixed ]
+ expected: FAIL
diff --git a/tests/wpt/metadata/css/css-position/position-fixed-root-element-flex.html.ini b/tests/wpt/metadata/css/css-position/position-fixed-root-element-flex.html.ini
new file mode 100644
index 00000000000..4c600d530ac
--- /dev/null
+++ b/tests/wpt/metadata/css/css-position/position-fixed-root-element-flex.html.ini
@@ -0,0 +1,2 @@
+[position-fixed-root-element-flex.html]
+ expected: CRASH
diff --git a/tests/wpt/metadata/css/css-position/position-relative-001.html.ini b/tests/wpt/metadata/css/css-position/position-relative-001.html.ini
new file mode 100644
index 00000000000..80a3f2d7dc4
--- /dev/null
+++ b/tests/wpt/metadata/css/css-position/position-relative-001.html.ini
@@ -0,0 +1,2 @@
+[position-relative-001.html]
+ expected: FAIL
diff --git a/tests/wpt/metadata/css/css-position/position-relative-002.html.ini b/tests/wpt/metadata/css/css-position/position-relative-002.html.ini
new file mode 100644
index 00000000000..4967e595c29
--- /dev/null
+++ b/tests/wpt/metadata/css/css-position/position-relative-002.html.ini
@@ -0,0 +1,2 @@
+[position-relative-002.html]
+ expected: FAIL
diff --git a/tests/wpt/metadata/css/css-position/position-relative-003.html.ini b/tests/wpt/metadata/css/css-position/position-relative-003.html.ini
new file mode 100644
index 00000000000..ef0ff97e64f
--- /dev/null
+++ b/tests/wpt/metadata/css/css-position/position-relative-003.html.ini
@@ -0,0 +1,2 @@
+[position-relative-003.html]
+ expected: FAIL
diff --git a/tests/wpt/metadata/css/css-position/position-relative-004.html.ini b/tests/wpt/metadata/css/css-position/position-relative-004.html.ini
new file mode 100644
index 00000000000..e0f31c72e14
--- /dev/null
+++ b/tests/wpt/metadata/css/css-position/position-relative-004.html.ini
@@ -0,0 +1,2 @@
+[position-relative-004.html]
+ expected: FAIL
diff --git a/tests/wpt/metadata/css/css-position/position-relative-005.html.ini b/tests/wpt/metadata/css/css-position/position-relative-005.html.ini
new file mode 100644
index 00000000000..b91b69020d0
--- /dev/null
+++ b/tests/wpt/metadata/css/css-position/position-relative-005.html.ini
@@ -0,0 +1,2 @@
+[position-relative-005.html]
+ expected: FAIL
diff --git a/tests/wpt/metadata/css/css-position/position-relative-006.html.ini b/tests/wpt/metadata/css/css-position/position-relative-006.html.ini
new file mode 100644
index 00000000000..e38836ff966
--- /dev/null
+++ b/tests/wpt/metadata/css/css-position/position-relative-006.html.ini
@@ -0,0 +1,2 @@
+[position-relative-006.html]
+ expected: FAIL
diff --git a/tests/wpt/metadata/css/css-position/position-relative-007.html.ini b/tests/wpt/metadata/css/css-position/position-relative-007.html.ini
new file mode 100644
index 00000000000..b2940861997
--- /dev/null
+++ b/tests/wpt/metadata/css/css-position/position-relative-007.html.ini
@@ -0,0 +1,2 @@
+[position-relative-007.html]
+ expected: FAIL
diff --git a/tests/wpt/metadata/css/css-position/position-relative-008.html.ini b/tests/wpt/metadata/css/css-position/position-relative-008.html.ini
new file mode 100644
index 00000000000..1a8782dcf7e
--- /dev/null
+++ b/tests/wpt/metadata/css/css-position/position-relative-008.html.ini
@@ -0,0 +1,2 @@
+[position-relative-008.html]
+ expected: FAIL
diff --git a/tests/wpt/metadata/css/css-position/position-relative-009.html.ini b/tests/wpt/metadata/css/css-position/position-relative-009.html.ini
new file mode 100644
index 00000000000..e7142c4c800
--- /dev/null
+++ b/tests/wpt/metadata/css/css-position/position-relative-009.html.ini
@@ -0,0 +1,2 @@
+[position-relative-009.html]
+ expected: FAIL
diff --git a/tests/wpt/metadata/css/css-position/position-relative-013.html.ini b/tests/wpt/metadata/css/css-position/position-relative-013.html.ini
new file mode 100644
index 00000000000..2828a60ae7c
--- /dev/null
+++ b/tests/wpt/metadata/css/css-position/position-relative-013.html.ini
@@ -0,0 +1,2 @@
+[position-relative-013.html]
+ expected: FAIL
diff --git a/tests/wpt/metadata/css/css-position/position-relative-table-tbody-left-absolute-child.html.ini b/tests/wpt/metadata/css/css-position/position-relative-table-tbody-left-absolute-child.html.ini
new file mode 100644
index 00000000000..c412dfe536d
--- /dev/null
+++ b/tests/wpt/metadata/css/css-position/position-relative-table-tbody-left-absolute-child.html.ini
@@ -0,0 +1,2 @@
+[position-relative-table-tbody-left-absolute-child.html]
+ expected: FAIL
diff --git a/tests/wpt/metadata/css/css-position/position-relative-table-tbody-left.html.ini b/tests/wpt/metadata/css/css-position/position-relative-table-tbody-left.html.ini
new file mode 100644
index 00000000000..a49fc12e126
--- /dev/null
+++ b/tests/wpt/metadata/css/css-position/position-relative-table-tbody-left.html.ini
@@ -0,0 +1,2 @@
+[position-relative-table-tbody-left.html]
+ expected: FAIL
diff --git a/tests/wpt/metadata/css/css-position/position-relative-table-tbody-top-absolute-child.html.ini b/tests/wpt/metadata/css/css-position/position-relative-table-tbody-top-absolute-child.html.ini
new file mode 100644
index 00000000000..01a66f91d53
--- /dev/null
+++ b/tests/wpt/metadata/css/css-position/position-relative-table-tbody-top-absolute-child.html.ini
@@ -0,0 +1,2 @@
+[position-relative-table-tbody-top-absolute-child.html]
+ expected: FAIL
diff --git a/tests/wpt/metadata/css/css-position/position-relative-table-tbody-top.html.ini b/tests/wpt/metadata/css/css-position/position-relative-table-tbody-top.html.ini
new file mode 100644
index 00000000000..79d23762a84
--- /dev/null
+++ b/tests/wpt/metadata/css/css-position/position-relative-table-tbody-top.html.ini
@@ -0,0 +1,2 @@
+[position-relative-table-tbody-top.html]
+ expected: FAIL
diff --git a/tests/wpt/metadata/css/css-position/position-relative-table-td-left.html.ini b/tests/wpt/metadata/css/css-position/position-relative-table-td-left.html.ini
new file mode 100644
index 00000000000..6ca0c54449a
--- /dev/null
+++ b/tests/wpt/metadata/css/css-position/position-relative-table-td-left.html.ini
@@ -0,0 +1,2 @@
+[position-relative-table-td-left.html]
+ expected: FAIL
diff --git a/tests/wpt/metadata/css/css-position/position-relative-table-td-top.html.ini b/tests/wpt/metadata/css/css-position/position-relative-table-td-top.html.ini
new file mode 100644
index 00000000000..e8fe08729f1
--- /dev/null
+++ b/tests/wpt/metadata/css/css-position/position-relative-table-td-top.html.ini
@@ -0,0 +1,2 @@
+[position-relative-table-td-top.html]
+ expected: FAIL
diff --git a/tests/wpt/metadata/css/css-position/position-relative-table-tfoot-left-absolute-child.html.ini b/tests/wpt/metadata/css/css-position/position-relative-table-tfoot-left-absolute-child.html.ini
new file mode 100644
index 00000000000..6a80fa6a4ff
--- /dev/null
+++ b/tests/wpt/metadata/css/css-position/position-relative-table-tfoot-left-absolute-child.html.ini
@@ -0,0 +1,2 @@
+[position-relative-table-tfoot-left-absolute-child.html]
+ expected: FAIL
diff --git a/tests/wpt/metadata/css/css-position/position-relative-table-tfoot-left.html.ini b/tests/wpt/metadata/css/css-position/position-relative-table-tfoot-left.html.ini
new file mode 100644
index 00000000000..cdf7baec718
--- /dev/null
+++ b/tests/wpt/metadata/css/css-position/position-relative-table-tfoot-left.html.ini
@@ -0,0 +1,2 @@
+[position-relative-table-tfoot-left.html]
+ expected: FAIL
diff --git a/tests/wpt/metadata/css/css-position/position-relative-table-tfoot-top-absolute-child.html.ini b/tests/wpt/metadata/css/css-position/position-relative-table-tfoot-top-absolute-child.html.ini
new file mode 100644
index 00000000000..7d219f99c17
--- /dev/null
+++ b/tests/wpt/metadata/css/css-position/position-relative-table-tfoot-top-absolute-child.html.ini
@@ -0,0 +1,2 @@
+[position-relative-table-tfoot-top-absolute-child.html]
+ expected: FAIL
diff --git a/tests/wpt/metadata/css/css-position/position-relative-table-tfoot-top.html.ini b/tests/wpt/metadata/css/css-position/position-relative-table-tfoot-top.html.ini
new file mode 100644
index 00000000000..e5f2639951c
--- /dev/null
+++ b/tests/wpt/metadata/css/css-position/position-relative-table-tfoot-top.html.ini
@@ -0,0 +1,2 @@
+[position-relative-table-tfoot-top.html]
+ expected: FAIL
diff --git a/tests/wpt/metadata/css/css-position/position-relative-table-thead-left-absolute-child.html.ini b/tests/wpt/metadata/css/css-position/position-relative-table-thead-left-absolute-child.html.ini
new file mode 100644
index 00000000000..1069a5eda1f
--- /dev/null
+++ b/tests/wpt/metadata/css/css-position/position-relative-table-thead-left-absolute-child.html.ini
@@ -0,0 +1,2 @@
+[position-relative-table-thead-left-absolute-child.html]
+ expected: FAIL
diff --git a/tests/wpt/metadata/css/css-position/position-relative-table-thead-left.html.ini b/tests/wpt/metadata/css/css-position/position-relative-table-thead-left.html.ini
new file mode 100644
index 00000000000..30e02f63f78
--- /dev/null
+++ b/tests/wpt/metadata/css/css-position/position-relative-table-thead-left.html.ini
@@ -0,0 +1,2 @@
+[position-relative-table-thead-left.html]
+ expected: FAIL
diff --git a/tests/wpt/metadata/css/css-position/position-relative-table-thead-top-absolute-child.html.ini b/tests/wpt/metadata/css/css-position/position-relative-table-thead-top-absolute-child.html.ini
new file mode 100644
index 00000000000..023bd977994
--- /dev/null
+++ b/tests/wpt/metadata/css/css-position/position-relative-table-thead-top-absolute-child.html.ini
@@ -0,0 +1,2 @@
+[position-relative-table-thead-top-absolute-child.html]
+ expected: FAIL
diff --git a/tests/wpt/metadata/css/css-position/position-relative-table-thead-top.html.ini b/tests/wpt/metadata/css/css-position/position-relative-table-thead-top.html.ini
new file mode 100644
index 00000000000..03e30758b25
--- /dev/null
+++ b/tests/wpt/metadata/css/css-position/position-relative-table-thead-top.html.ini
@@ -0,0 +1,2 @@
+[position-relative-table-thead-top.html]
+ expected: FAIL
diff --git a/tests/wpt/metadata/css/css-position/position-relative-table-tr-left-absolute-child.html.ini b/tests/wpt/metadata/css/css-position/position-relative-table-tr-left-absolute-child.html.ini
new file mode 100644
index 00000000000..020789ad174
--- /dev/null
+++ b/tests/wpt/metadata/css/css-position/position-relative-table-tr-left-absolute-child.html.ini
@@ -0,0 +1,2 @@
+[position-relative-table-tr-left-absolute-child.html]
+ expected: FAIL
diff --git a/tests/wpt/metadata/css/css-position/position-relative-table-tr-left.html.ini b/tests/wpt/metadata/css/css-position/position-relative-table-tr-left.html.ini
new file mode 100644
index 00000000000..70473fa2d57
--- /dev/null
+++ b/tests/wpt/metadata/css/css-position/position-relative-table-tr-left.html.ini
@@ -0,0 +1,2 @@
+[position-relative-table-tr-left.html]
+ expected: FAIL
diff --git a/tests/wpt/metadata/css/css-position/position-relative-table-tr-top-absolute-child.html.ini b/tests/wpt/metadata/css/css-position/position-relative-table-tr-top-absolute-child.html.ini
new file mode 100644
index 00000000000..b20d0a8bc3f
--- /dev/null
+++ b/tests/wpt/metadata/css/css-position/position-relative-table-tr-top-absolute-child.html.ini
@@ -0,0 +1,2 @@
+[position-relative-table-tr-top-absolute-child.html]
+ expected: FAIL
diff --git a/tests/wpt/metadata/css/css-position/position-relative-table-tr-top.html.ini b/tests/wpt/metadata/css/css-position/position-relative-table-tr-top.html.ini
new file mode 100644
index 00000000000..f9181077b71
--- /dev/null
+++ b/tests/wpt/metadata/css/css-position/position-relative-table-tr-top.html.ini
@@ -0,0 +1,2 @@
+[position-relative-table-tr-top.html]
+ expected: FAIL
diff --git a/tests/wpt/metadata/css/css-position/positon-absolute-scrollable-overflow-001.html.ini b/tests/wpt/metadata/css/css-position/positon-absolute-scrollable-overflow-001.html.ini
new file mode 100644
index 00000000000..826b8c965e6
--- /dev/null
+++ b/tests/wpt/metadata/css/css-position/positon-absolute-scrollable-overflow-001.html.ini
@@ -0,0 +1,36 @@
+[positon-absolute-scrollable-overflow-001.html]
+ [.containing-block 2]
+ expected: FAIL
+
+ [.containing-block 3]
+ expected: FAIL
+
+ [.containing-block 4]
+ expected: FAIL
+
+ [.containing-block 5]
+ expected: FAIL
+
+ [.containing-block 6]
+ expected: FAIL
+
+ [.containing-block 7]
+ expected: FAIL
+
+ [.containing-block 9]
+ expected: FAIL
+
+ [.containing-block 10]
+ expected: FAIL
+
+ [.containing-block 11]
+ expected: FAIL
+
+ [.containing-block 12]
+ expected: FAIL
+
+ [.containing-block 13]
+ expected: FAIL
+
+ [.containing-block 14]
+ expected: FAIL
diff --git a/tests/wpt/metadata/css/css-position/static-position/htb-ltr-ltr.html.ini b/tests/wpt/metadata/css/css-position/static-position/htb-ltr-ltr.html.ini
new file mode 100644
index 00000000000..b5eb888db7f
--- /dev/null
+++ b/tests/wpt/metadata/css/css-position/static-position/htb-ltr-ltr.html.ini
@@ -0,0 +1,2 @@
+[htb-ltr-ltr.html]
+ expected: FAIL
diff --git a/tests/wpt/metadata/css/css-position/static-position/htb-ltr-rtl.tentative.html.ini b/tests/wpt/metadata/css/css-position/static-position/htb-ltr-rtl.tentative.html.ini
new file mode 100644
index 00000000000..817a9fedbf0
--- /dev/null
+++ b/tests/wpt/metadata/css/css-position/static-position/htb-ltr-rtl.tentative.html.ini
@@ -0,0 +1,2 @@
+[htb-ltr-rtl.tentative.html]
+ expected: FAIL
diff --git a/tests/wpt/metadata/css/css-position/static-position/htb-rtl-ltr.tentative.html.ini b/tests/wpt/metadata/css/css-position/static-position/htb-rtl-ltr.tentative.html.ini
new file mode 100644
index 00000000000..94b7f1620c1
--- /dev/null
+++ b/tests/wpt/metadata/css/css-position/static-position/htb-rtl-ltr.tentative.html.ini
@@ -0,0 +1,2 @@
+[htb-rtl-ltr.tentative.html]
+ expected: FAIL
diff --git a/tests/wpt/metadata/css/css-position/static-position/htb-rtl-rtl.html.ini b/tests/wpt/metadata/css/css-position/static-position/htb-rtl-rtl.html.ini
new file mode 100644
index 00000000000..03a14af7db5
--- /dev/null
+++ b/tests/wpt/metadata/css/css-position/static-position/htb-rtl-rtl.html.ini
@@ -0,0 +1,2 @@
+[htb-rtl-rtl.html]
+ expected: FAIL
diff --git a/tests/wpt/metadata/css/css-position/static-position/inline-level-absolute-in-block-level-context-001.html.ini b/tests/wpt/metadata/css/css-position/static-position/inline-level-absolute-in-block-level-context-001.html.ini
new file mode 100644
index 00000000000..3bca29b5f81
--- /dev/null
+++ b/tests/wpt/metadata/css/css-position/static-position/inline-level-absolute-in-block-level-context-001.html.ini
@@ -0,0 +1,2 @@
+[inline-level-absolute-in-block-level-context-001.html]
+ expected: FAIL
diff --git a/tests/wpt/metadata/css/css-position/static-position/inline-level-absolute-in-block-level-context-002.html.ini b/tests/wpt/metadata/css/css-position/static-position/inline-level-absolute-in-block-level-context-002.html.ini
new file mode 100644
index 00000000000..6fd13604fee
--- /dev/null
+++ b/tests/wpt/metadata/css/css-position/static-position/inline-level-absolute-in-block-level-context-002.html.ini
@@ -0,0 +1,2 @@
+[inline-level-absolute-in-block-level-context-002.html]
+ expected: FAIL
diff --git a/tests/wpt/metadata/css/css-position/static-position/inline-level-absolute-in-block-level-context-005.html.ini b/tests/wpt/metadata/css/css-position/static-position/inline-level-absolute-in-block-level-context-005.html.ini
new file mode 100644
index 00000000000..2d935998a9d
--- /dev/null
+++ b/tests/wpt/metadata/css/css-position/static-position/inline-level-absolute-in-block-level-context-005.html.ini
@@ -0,0 +1,2 @@
+[inline-level-absolute-in-block-level-context-005.html]
+ expected: FAIL
diff --git a/tests/wpt/metadata/css/css-position/static-position/inline-level-absolute-in-block-level-context-006.html.ini b/tests/wpt/metadata/css/css-position/static-position/inline-level-absolute-in-block-level-context-006.html.ini
new file mode 100644
index 00000000000..fcf297de4c4
--- /dev/null
+++ b/tests/wpt/metadata/css/css-position/static-position/inline-level-absolute-in-block-level-context-006.html.ini
@@ -0,0 +1,2 @@
+[inline-level-absolute-in-block-level-context-006.html]
+ expected: FAIL
diff --git a/tests/wpt/metadata/css/css-position/static-position/inline-level-absolute-in-block-level-context-007.html.ini b/tests/wpt/metadata/css/css-position/static-position/inline-level-absolute-in-block-level-context-007.html.ini
new file mode 100644
index 00000000000..c146d86dd65
--- /dev/null
+++ b/tests/wpt/metadata/css/css-position/static-position/inline-level-absolute-in-block-level-context-007.html.ini
@@ -0,0 +1,2 @@
+[inline-level-absolute-in-block-level-context-007.html]
+ expected: FAIL
diff --git a/tests/wpt/metadata/css/css-position/static-position/inline-level-absolute-in-block-level-context-008.html.ini b/tests/wpt/metadata/css/css-position/static-position/inline-level-absolute-in-block-level-context-008.html.ini
new file mode 100644
index 00000000000..ead8251bcba
--- /dev/null
+++ b/tests/wpt/metadata/css/css-position/static-position/inline-level-absolute-in-block-level-context-008.html.ini
@@ -0,0 +1,2 @@
+[inline-level-absolute-in-block-level-context-008.html]
+ expected: FAIL
diff --git a/tests/wpt/metadata/css/css-position/static-position/inline-level-absolute-in-block-level-context-010.html.ini b/tests/wpt/metadata/css/css-position/static-position/inline-level-absolute-in-block-level-context-010.html.ini
new file mode 100644
index 00000000000..2035850bdc8
--- /dev/null
+++ b/tests/wpt/metadata/css/css-position/static-position/inline-level-absolute-in-block-level-context-010.html.ini
@@ -0,0 +1,2 @@
+[inline-level-absolute-in-block-level-context-010.html]
+ expected: FAIL
diff --git a/tests/wpt/metadata/css/css-position/static-position/inline-level-absolute-in-block-level-context-011.html.ini b/tests/wpt/metadata/css/css-position/static-position/inline-level-absolute-in-block-level-context-011.html.ini
new file mode 100644
index 00000000000..cd6b68c2895
--- /dev/null
+++ b/tests/wpt/metadata/css/css-position/static-position/inline-level-absolute-in-block-level-context-011.html.ini
@@ -0,0 +1,2 @@
+[inline-level-absolute-in-block-level-context-011.html]
+ expected: FAIL
diff --git a/tests/wpt/metadata/css/css-position/static-position/inline-level-absolute-in-block-level-context-012.html.ini b/tests/wpt/metadata/css/css-position/static-position/inline-level-absolute-in-block-level-context-012.html.ini
new file mode 100644
index 00000000000..6b3276c1d08
--- /dev/null
+++ b/tests/wpt/metadata/css/css-position/static-position/inline-level-absolute-in-block-level-context-012.html.ini
@@ -0,0 +1,2 @@
+[inline-level-absolute-in-block-level-context-012.html]
+ expected: FAIL
diff --git a/tests/wpt/metadata/css/css-position/static-position/vlr-ltr-ltr.html.ini b/tests/wpt/metadata/css/css-position/static-position/vlr-ltr-ltr.html.ini
new file mode 100644
index 00000000000..3e5a0e40700
--- /dev/null
+++ b/tests/wpt/metadata/css/css-position/static-position/vlr-ltr-ltr.html.ini
@@ -0,0 +1,2 @@
+[vlr-ltr-ltr.html]
+ expected: FAIL
diff --git a/tests/wpt/metadata/css/css-position/static-position/vlr-ltr-rtl.tentative.html.ini b/tests/wpt/metadata/css/css-position/static-position/vlr-ltr-rtl.tentative.html.ini
new file mode 100644
index 00000000000..90ef1e4ddec
--- /dev/null
+++ b/tests/wpt/metadata/css/css-position/static-position/vlr-ltr-rtl.tentative.html.ini
@@ -0,0 +1,2 @@
+[vlr-ltr-rtl.tentative.html]
+ expected: FAIL
diff --git a/tests/wpt/metadata/css/css-position/static-position/vlr-rtl-ltr.tentative.html.ini b/tests/wpt/metadata/css/css-position/static-position/vlr-rtl-ltr.tentative.html.ini
new file mode 100644
index 00000000000..84a86713f1f
--- /dev/null
+++ b/tests/wpt/metadata/css/css-position/static-position/vlr-rtl-ltr.tentative.html.ini
@@ -0,0 +1,2 @@
+[vlr-rtl-ltr.tentative.html]
+ expected: FAIL
diff --git a/tests/wpt/metadata/css/css-position/static-position/vlr-rtl-rtl.html.ini b/tests/wpt/metadata/css/css-position/static-position/vlr-rtl-rtl.html.ini
new file mode 100644
index 00000000000..a397002de40
--- /dev/null
+++ b/tests/wpt/metadata/css/css-position/static-position/vlr-rtl-rtl.html.ini
@@ -0,0 +1,2 @@
+[vlr-rtl-rtl.html]
+ expected: FAIL
diff --git a/tests/wpt/metadata/css/css-position/static-position/vrl-ltr-ltr.html.ini b/tests/wpt/metadata/css/css-position/static-position/vrl-ltr-ltr.html.ini
new file mode 100644
index 00000000000..6eee716f8b1
--- /dev/null
+++ b/tests/wpt/metadata/css/css-position/static-position/vrl-ltr-ltr.html.ini
@@ -0,0 +1,2 @@
+[vrl-ltr-ltr.html]
+ expected: FAIL
diff --git a/tests/wpt/metadata/css/css-position/static-position/vrl-ltr-rtl.tentative.html.ini b/tests/wpt/metadata/css/css-position/static-position/vrl-ltr-rtl.tentative.html.ini
new file mode 100644
index 00000000000..494a2d6c35c
--- /dev/null
+++ b/tests/wpt/metadata/css/css-position/static-position/vrl-ltr-rtl.tentative.html.ini
@@ -0,0 +1,2 @@
+[vrl-ltr-rtl.tentative.html]
+ expected: FAIL
diff --git a/tests/wpt/metadata/css/css-position/static-position/vrl-rtl-ltr.tentative.html.ini b/tests/wpt/metadata/css/css-position/static-position/vrl-rtl-ltr.tentative.html.ini
new file mode 100644
index 00000000000..17f6081dca2
--- /dev/null
+++ b/tests/wpt/metadata/css/css-position/static-position/vrl-rtl-ltr.tentative.html.ini
@@ -0,0 +1,2 @@
+[vrl-rtl-ltr.tentative.html]
+ expected: FAIL
diff --git a/tests/wpt/metadata/css/css-position/static-position/vrl-rtl-rtl.html.ini b/tests/wpt/metadata/css/css-position/static-position/vrl-rtl-rtl.html.ini
new file mode 100644
index 00000000000..148b19c94a0
--- /dev/null
+++ b/tests/wpt/metadata/css/css-position/static-position/vrl-rtl-rtl.html.ini
@@ -0,0 +1,2 @@
+[vrl-rtl-rtl.html]
+ expected: FAIL
diff --git a/tests/wpt/metadata/css/css-position/sticky/position-sticky-bottom-002.html.ini b/tests/wpt/metadata/css/css-position/sticky/position-sticky-bottom-002.html.ini
new file mode 100644
index 00000000000..5364e331a89
--- /dev/null
+++ b/tests/wpt/metadata/css/css-position/sticky/position-sticky-bottom-002.html.ini
@@ -0,0 +1,2 @@
+[position-sticky-bottom-002.html]
+ expected: FAIL
diff --git a/tests/wpt/metadata/css/css-position/sticky/position-sticky-bottom-003.html.ini b/tests/wpt/metadata/css/css-position/sticky/position-sticky-bottom-003.html.ini
new file mode 100644
index 00000000000..40dddd1c5b4
--- /dev/null
+++ b/tests/wpt/metadata/css/css-position/sticky/position-sticky-bottom-003.html.ini
@@ -0,0 +1,2 @@
+[position-sticky-bottom-003.html]
+ expected: FAIL
diff --git a/tests/wpt/metadata/css/css-position/sticky/position-sticky-bottom.html.ini b/tests/wpt/metadata/css/css-position/sticky/position-sticky-bottom.html.ini
new file mode 100644
index 00000000000..d80c54bf5de
--- /dev/null
+++ b/tests/wpt/metadata/css/css-position/sticky/position-sticky-bottom.html.ini
@@ -0,0 +1,6 @@
+[position-sticky-bottom.html]
+ [after reaching the sticking point the sticky box should be offset]
+ expected: FAIL
+
+ [the sticky box should not be pushed outside its containing block]
+ expected: FAIL
diff --git a/tests/wpt/metadata/css/css-position/sticky/position-sticky-change-top.html.ini b/tests/wpt/metadata/css/css-position/sticky/position-sticky-change-top.html.ini
new file mode 100644
index 00000000000..5ec84cec5f9
--- /dev/null
+++ b/tests/wpt/metadata/css/css-position/sticky/position-sticky-change-top.html.ini
@@ -0,0 +1,2 @@
+[position-sticky-change-top.html]
+ expected: TIMEOUT
diff --git a/tests/wpt/metadata/css/css-position/sticky/position-sticky-child-multicolumn.html.ini b/tests/wpt/metadata/css/css-position/sticky/position-sticky-child-multicolumn.html.ini
new file mode 100644
index 00000000000..030820883c5
--- /dev/null
+++ b/tests/wpt/metadata/css/css-position/sticky/position-sticky-child-multicolumn.html.ini
@@ -0,0 +1,2 @@
+[position-sticky-child-multicolumn.html]
+ expected: FAIL
diff --git a/tests/wpt/metadata/css/css-position/sticky/position-sticky-contained-by-display-table.html.ini b/tests/wpt/metadata/css/css-position/sticky/position-sticky-contained-by-display-table.html.ini
new file mode 100644
index 00000000000..40535b98d32
--- /dev/null
+++ b/tests/wpt/metadata/css/css-position/sticky/position-sticky-contained-by-display-table.html.ini
@@ -0,0 +1,2 @@
+[position-sticky-contained-by-display-table.html]
+ expected: FAIL
diff --git a/tests/wpt/metadata/css/css-position/sticky/position-sticky-escape-scroller-001.html.ini b/tests/wpt/metadata/css/css-position/sticky/position-sticky-escape-scroller-001.html.ini
new file mode 100644
index 00000000000..3018d79f1af
--- /dev/null
+++ b/tests/wpt/metadata/css/css-position/sticky/position-sticky-escape-scroller-001.html.ini
@@ -0,0 +1,2 @@
+[position-sticky-escape-scroller-001.html]
+ expected: FAIL
diff --git a/tests/wpt/metadata/css/css-position/sticky/position-sticky-escape-scroller-002.html.ini b/tests/wpt/metadata/css/css-position/sticky/position-sticky-escape-scroller-002.html.ini
new file mode 100644
index 00000000000..46487c6701a
--- /dev/null
+++ b/tests/wpt/metadata/css/css-position/sticky/position-sticky-escape-scroller-002.html.ini
@@ -0,0 +1,2 @@
+[position-sticky-escape-scroller-002.html]
+ expected: FAIL
diff --git a/tests/wpt/metadata/css/css-position/sticky/position-sticky-escape-scroller-003.html.ini b/tests/wpt/metadata/css/css-position/sticky/position-sticky-escape-scroller-003.html.ini
new file mode 100644
index 00000000000..990a7ae58c6
--- /dev/null
+++ b/tests/wpt/metadata/css/css-position/sticky/position-sticky-escape-scroller-003.html.ini
@@ -0,0 +1,2 @@
+[position-sticky-escape-scroller-003.html]
+ expected: FAIL
diff --git a/tests/wpt/metadata/css/css-position/sticky/position-sticky-escape-scroller-004.html.ini b/tests/wpt/metadata/css/css-position/sticky/position-sticky-escape-scroller-004.html.ini
new file mode 100644
index 00000000000..7b98776c5e0
--- /dev/null
+++ b/tests/wpt/metadata/css/css-position/sticky/position-sticky-escape-scroller-004.html.ini
@@ -0,0 +1,2 @@
+[position-sticky-escape-scroller-004.html]
+ expected: FAIL
diff --git a/tests/wpt/metadata/css/css-position/sticky/position-sticky-fixed-ancestor-iframe.html.ini b/tests/wpt/metadata/css/css-position/sticky/position-sticky-fixed-ancestor-iframe.html.ini
new file mode 100644
index 00000000000..ba11c494565
--- /dev/null
+++ b/tests/wpt/metadata/css/css-position/sticky/position-sticky-fixed-ancestor-iframe.html.ini
@@ -0,0 +1,2 @@
+[position-sticky-fixed-ancestor-iframe.html]
+ expected: TIMEOUT
diff --git a/tests/wpt/metadata/css/css-position/sticky/position-sticky-fixed-ancestor.html.ini b/tests/wpt/metadata/css/css-position/sticky/position-sticky-fixed-ancestor.html.ini
new file mode 100644
index 00000000000..ebcdd601ea3
--- /dev/null
+++ b/tests/wpt/metadata/css/css-position/sticky/position-sticky-fixed-ancestor.html.ini
@@ -0,0 +1,2 @@
+[position-sticky-fixed-ancestor.html]
+ expected: TIMEOUT
diff --git a/tests/wpt/metadata/css/css-position/sticky/position-sticky-flex-item-002.html.ini b/tests/wpt/metadata/css/css-position/sticky/position-sticky-flex-item-002.html.ini
new file mode 100644
index 00000000000..b72706382d6
--- /dev/null
+++ b/tests/wpt/metadata/css/css-position/sticky/position-sticky-flex-item-002.html.ini
@@ -0,0 +1,2 @@
+[position-sticky-flex-item-002.html]
+ expected: FAIL
diff --git a/tests/wpt/metadata/css/css-position/sticky/position-sticky-flex-item-004.html.ini b/tests/wpt/metadata/css/css-position/sticky/position-sticky-flex-item-004.html.ini
new file mode 100644
index 00000000000..b61453a83c6
--- /dev/null
+++ b/tests/wpt/metadata/css/css-position/sticky/position-sticky-flex-item-004.html.ini
@@ -0,0 +1,2 @@
+[position-sticky-flex-item-004.html]
+ expected: FAIL
diff --git a/tests/wpt/metadata/css/css-position/sticky/position-sticky-flexbox.html.ini b/tests/wpt/metadata/css/css-position/sticky/position-sticky-flexbox.html.ini
new file mode 100644
index 00000000000..888c40c46df
--- /dev/null
+++ b/tests/wpt/metadata/css/css-position/sticky/position-sticky-flexbox.html.ini
@@ -0,0 +1,2 @@
+[position-sticky-flexbox.html]
+ expected: FAIL
diff --git a/tests/wpt/metadata/css/css-position/sticky/position-sticky-fractional-offset.html.ini b/tests/wpt/metadata/css/css-position/sticky/position-sticky-fractional-offset.html.ini
new file mode 100644
index 00000000000..396d46a2f2b
--- /dev/null
+++ b/tests/wpt/metadata/css/css-position/sticky/position-sticky-fractional-offset.html.ini
@@ -0,0 +1,2 @@
+[position-sticky-fractional-offset.html]
+ expected: FAIL
diff --git a/tests/wpt/mozilla/meta/css/css-position-3/position-sticky-get-bounding-client-rect.html.ini b/tests/wpt/metadata/css/css-position/sticky/position-sticky-get-bounding-client-rect.html.ini
index dda30195722..ad9c45ef2ae 100644
--- a/tests/wpt/mozilla/meta/css/css-position-3/position-sticky-get-bounding-client-rect.html.ini
+++ b/tests/wpt/metadata/css/css-position/sticky/position-sticky-get-bounding-client-rect.html.ini
@@ -1,17 +1,9 @@
[position-sticky-get-bounding-client-rect.html]
- type: testharness
- [Untitled]
- expected: FAIL
-
[sticky positioned element should be observable by getBoundingClientRect.]
- bug: https://github.com/servo/servo/issues/18378
expected: FAIL
[getBoundingClientRect should be correct for sticky after script insertion]
- bug: https://github.com/servo/servo/issues/18378
expected: FAIL
[getBoundingClientRect should be correct for sticky after script-caused layout]
- bug: https://github.com/servo/servo/issues/18378
expected: FAIL
-
diff --git a/tests/wpt/metadata/css/css-position/sticky/position-sticky-grid.html.ini b/tests/wpt/metadata/css/css-position/sticky/position-sticky-grid.html.ini
new file mode 100644
index 00000000000..9a86e2d8c1f
--- /dev/null
+++ b/tests/wpt/metadata/css/css-position/sticky/position-sticky-grid.html.ini
@@ -0,0 +1,2 @@
+[position-sticky-grid.html]
+ expected: FAIL
diff --git a/tests/wpt/metadata/css/css-position/sticky/position-sticky-hyperlink.html.ini b/tests/wpt/metadata/css/css-position/sticky/position-sticky-hyperlink.html.ini
new file mode 100644
index 00000000000..8b52a2be825
--- /dev/null
+++ b/tests/wpt/metadata/css/css-position/sticky/position-sticky-hyperlink.html.ini
@@ -0,0 +1,2 @@
+[position-sticky-hyperlink.html]
+ expected: FAIL
diff --git a/tests/wpt/metadata/css/css-position/sticky/position-sticky-inflow-position.html.ini b/tests/wpt/metadata/css/css-position/sticky/position-sticky-inflow-position.html.ini
new file mode 100644
index 00000000000..d8d6445bc9c
--- /dev/null
+++ b/tests/wpt/metadata/css/css-position/sticky/position-sticky-inflow-position.html.ini
@@ -0,0 +1,3 @@
+[position-sticky-inflow-position.html]
+ [sticky offset should not affect the position of other elements.]
+ expected: FAIL
diff --git a/tests/wpt/metadata/css/css-position/sticky/position-sticky-inline.html.ini b/tests/wpt/metadata/css/css-position/sticky/position-sticky-inline.html.ini
new file mode 100644
index 00000000000..675e85540aa
--- /dev/null
+++ b/tests/wpt/metadata/css/css-position/sticky/position-sticky-inline.html.ini
@@ -0,0 +1,2 @@
+[position-sticky-inline.html]
+ expected: FAIL
diff --git a/tests/wpt/metadata/css/css-position/sticky/position-sticky-input-box-gets-focused-after-scroll.html.ini b/tests/wpt/metadata/css/css-position/sticky/position-sticky-input-box-gets-focused-after-scroll.html.ini
new file mode 100644
index 00000000000..60e009d6be0
--- /dev/null
+++ b/tests/wpt/metadata/css/css-position/sticky/position-sticky-input-box-gets-focused-after-scroll.html.ini
@@ -0,0 +1,3 @@
+[position-sticky-input-box-gets-focused-after-scroll.html]
+ [Focusing on visible sticky input box should reset the scroll to unshifted sticky position.]
+ expected: FAIL
diff --git a/tests/wpt/metadata/css/css-position/sticky/position-sticky-large-top-2.tentative.html.ini b/tests/wpt/metadata/css/css-position/sticky/position-sticky-large-top-2.tentative.html.ini
new file mode 100644
index 00000000000..1b8c788c9ee
--- /dev/null
+++ b/tests/wpt/metadata/css/css-position/sticky/position-sticky-large-top-2.tentative.html.ini
@@ -0,0 +1,2 @@
+[position-sticky-large-top-2.tentative.html]
+ expected: FAIL
diff --git a/tests/wpt/metadata/css/css-position/sticky/position-sticky-large-top.tentative.html.ini b/tests/wpt/metadata/css/css-position/sticky/position-sticky-large-top.tentative.html.ini
new file mode 100644
index 00000000000..8e44eee9f60
--- /dev/null
+++ b/tests/wpt/metadata/css/css-position/sticky/position-sticky-large-top.tentative.html.ini
@@ -0,0 +1,2 @@
+[position-sticky-large-top.tentative.html]
+ expected: FAIL
diff --git a/tests/wpt/metadata/css/css-position/sticky/position-sticky-left-002.html.ini b/tests/wpt/metadata/css/css-position/sticky/position-sticky-left-002.html.ini
new file mode 100644
index 00000000000..b599499e58a
--- /dev/null
+++ b/tests/wpt/metadata/css/css-position/sticky/position-sticky-left-002.html.ini
@@ -0,0 +1,2 @@
+[position-sticky-left-002.html]
+ expected: FAIL
diff --git a/tests/wpt/metadata/css/css-position/sticky/position-sticky-left-003.html.ini b/tests/wpt/metadata/css/css-position/sticky/position-sticky-left-003.html.ini
new file mode 100644
index 00000000000..605d9563e86
--- /dev/null
+++ b/tests/wpt/metadata/css/css-position/sticky/position-sticky-left-003.html.ini
@@ -0,0 +1,2 @@
+[position-sticky-left-003.html]
+ expected: FAIL
diff --git a/tests/wpt/metadata/css/css-position/sticky/position-sticky-left.html.ini b/tests/wpt/metadata/css/css-position/sticky/position-sticky-left.html.ini
new file mode 100644
index 00000000000..7cdf5ae2408
--- /dev/null
+++ b/tests/wpt/metadata/css/css-position/sticky/position-sticky-left.html.ini
@@ -0,0 +1,6 @@
+[position-sticky-left.html]
+ [after reaching the sticking point the sticky box should be offset]
+ expected: FAIL
+
+ [the sticky box should not be pushed outside its containing block]
+ expected: FAIL
diff --git a/tests/wpt/metadata/css/css-position/sticky/position-sticky-margins.html.ini b/tests/wpt/metadata/css/css-position/sticky/position-sticky-margins.html.ini
new file mode 100644
index 00000000000..a642314b0b8
--- /dev/null
+++ b/tests/wpt/metadata/css/css-position/sticky/position-sticky-margins.html.ini
@@ -0,0 +1,6 @@
+[position-sticky-margins.html]
+ [Whilst stuck, the margin is irrelevant.]
+ expected: FAIL
+
+ [The margin is taken into account when making sure the sticky element does not escape its container]
+ expected: FAIL
diff --git a/tests/wpt/metadata/css/css-position/sticky/position-sticky-nested-bottom.html.ini b/tests/wpt/metadata/css/css-position/sticky/position-sticky-nested-bottom.html.ini
new file mode 100644
index 00000000000..869b92e5808
--- /dev/null
+++ b/tests/wpt/metadata/css/css-position/sticky/position-sticky-nested-bottom.html.ini
@@ -0,0 +1,9 @@
+[position-sticky-nested-bottom.html]
+ [both sticky boxes can be stuck at the same time]
+ expected: FAIL
+
+ [neither sticky can escape their containing block]
+ expected: FAIL
+
+ [the inner sticky cannot be pushed outside the outer sticky]
+ expected: FAIL
diff --git a/tests/wpt/metadata/css/css-position/sticky/position-sticky-nested-inline.html.ini b/tests/wpt/metadata/css/css-position/sticky/position-sticky-nested-inline.html.ini
new file mode 100644
index 00000000000..c65e9ee6109
--- /dev/null
+++ b/tests/wpt/metadata/css/css-position/sticky/position-sticky-nested-inline.html.ini
@@ -0,0 +1,2 @@
+[position-sticky-nested-inline.html]
+ expected: FAIL
diff --git a/tests/wpt/metadata/css/css-position/sticky/position-sticky-nested-left.html.ini b/tests/wpt/metadata/css/css-position/sticky/position-sticky-nested-left.html.ini
new file mode 100644
index 00000000000..8b18534983a
--- /dev/null
+++ b/tests/wpt/metadata/css/css-position/sticky/position-sticky-nested-left.html.ini
@@ -0,0 +1,12 @@
+[position-sticky-nested-left.html]
+ [the inner sticky can stick before the outer one if necessary]
+ expected: FAIL
+
+ [both sticky boxes can be stuck at the same time]
+ expected: FAIL
+
+ [neither sticky can escape their containing block]
+ expected: FAIL
+
+ [the inner sticky cannot be pushed outside the outer sticky]
+ expected: FAIL
diff --git a/tests/wpt/metadata/css/css-position/sticky/position-sticky-nested-right.html.ini b/tests/wpt/metadata/css/css-position/sticky/position-sticky-nested-right.html.ini
new file mode 100644
index 00000000000..4f13d023abc
--- /dev/null
+++ b/tests/wpt/metadata/css/css-position/sticky/position-sticky-nested-right.html.ini
@@ -0,0 +1,9 @@
+[position-sticky-nested-right.html]
+ [both sticky boxes can be stuck at the same time]
+ expected: FAIL
+
+ [neither sticky can escape their containing block]
+ expected: FAIL
+
+ [the inner sticky cannot be pushed outside the outer sticky]
+ expected: FAIL
diff --git a/tests/wpt/metadata/css/css-position/sticky/position-sticky-nested-table.html.ini b/tests/wpt/metadata/css/css-position/sticky/position-sticky-nested-table.html.ini
new file mode 100644
index 00000000000..ec09ce6bc82
--- /dev/null
+++ b/tests/wpt/metadata/css/css-position/sticky/position-sticky-nested-table.html.ini
@@ -0,0 +1,2 @@
+[position-sticky-nested-table.html]
+ expected: FAIL
diff --git a/tests/wpt/metadata/css/css-position/sticky/position-sticky-nested-thead-th.html.ini b/tests/wpt/metadata/css/css-position/sticky/position-sticky-nested-thead-th.html.ini
new file mode 100644
index 00000000000..3c803ca5b90
--- /dev/null
+++ b/tests/wpt/metadata/css/css-position/sticky/position-sticky-nested-thead-th.html.ini
@@ -0,0 +1,2 @@
+[position-sticky-nested-thead-th.html]
+ expected: FAIL
diff --git a/tests/wpt/metadata/css/css-position/sticky/position-sticky-nested-top.html.ini b/tests/wpt/metadata/css/css-position/sticky/position-sticky-nested-top.html.ini
new file mode 100644
index 00000000000..e8831a24861
--- /dev/null
+++ b/tests/wpt/metadata/css/css-position/sticky/position-sticky-nested-top.html.ini
@@ -0,0 +1,12 @@
+[position-sticky-nested-top.html]
+ [the inner sticky can stick before the outer one if necessary]
+ expected: FAIL
+
+ [both sticky boxes can be stuck at the same time]
+ expected: FAIL
+
+ [neither sticky can escape their containing block]
+ expected: FAIL
+
+ [the inner sticky cannot be pushed outside the outer sticky]
+ expected: FAIL
diff --git a/tests/wpt/metadata/css/css-position/sticky/position-sticky-offset-overflow.html.ini b/tests/wpt/metadata/css/css-position/sticky/position-sticky-offset-overflow.html.ini
new file mode 100644
index 00000000000..71f99234e29
--- /dev/null
+++ b/tests/wpt/metadata/css/css-position/sticky/position-sticky-offset-overflow.html.ini
@@ -0,0 +1,3 @@
+[position-sticky-offset-overflow.html]
+ [sticky position offset should be contained by scrolling box]
+ expected: FAIL
diff --git a/tests/wpt/mozilla/meta/css/css-position-3/position-sticky-offset-top-left.html.ini b/tests/wpt/metadata/css/css-position/sticky/position-sticky-offset-top-left.html.ini
index b3f2ba9f7f7..594c593aa25 100644
--- a/tests/wpt/mozilla/meta/css/css-position-3/position-sticky-offset-top-left.html.ini
+++ b/tests/wpt/metadata/css/css-position/sticky/position-sticky-offset-top-left.html.ini
@@ -1,10 +1,6 @@
[position-sticky-offset-top-left.html]
- type: testharness
[offsetTop/offsetLeft should be correct for sticky after script insertion]
- bug: https://github.com/servo/servo/issues/18378
expected: FAIL
[offsetTop/offsetLeft should be correct for sticky after script-caused layout]
- bug: https://github.com/servo/servo/issues/18378
expected: FAIL
-
diff --git a/tests/wpt/metadata/css/css-position/sticky/position-sticky-overflow-padding.html.ini b/tests/wpt/metadata/css/css-position/sticky/position-sticky-overflow-padding.html.ini
new file mode 100644
index 00000000000..c36358f4f58
--- /dev/null
+++ b/tests/wpt/metadata/css/css-position/sticky/position-sticky-overflow-padding.html.ini
@@ -0,0 +1,3 @@
+[position-sticky-overflow-padding.html]
+ [Ancestor overflow padding does not allow a sticky element to escape its container]
+ expected: FAIL
diff --git a/tests/wpt/metadata/css/css-position/sticky/position-sticky-right-002.html.ini b/tests/wpt/metadata/css/css-position/sticky/position-sticky-right-002.html.ini
new file mode 100644
index 00000000000..7c57ac045fa
--- /dev/null
+++ b/tests/wpt/metadata/css/css-position/sticky/position-sticky-right-002.html.ini
@@ -0,0 +1,2 @@
+[position-sticky-right-002.html]
+ expected: FAIL
diff --git a/tests/wpt/metadata/css/css-position/sticky/position-sticky-right-003.html.ini b/tests/wpt/metadata/css/css-position/sticky/position-sticky-right-003.html.ini
new file mode 100644
index 00000000000..852aee94f44
--- /dev/null
+++ b/tests/wpt/metadata/css/css-position/sticky/position-sticky-right-003.html.ini
@@ -0,0 +1,2 @@
+[position-sticky-right-003.html]
+ expected: FAIL
diff --git a/tests/wpt/metadata/css/css-position/sticky/position-sticky-right.html.ini b/tests/wpt/metadata/css/css-position/sticky/position-sticky-right.html.ini
new file mode 100644
index 00000000000..656dd23bb2c
--- /dev/null
+++ b/tests/wpt/metadata/css/css-position/sticky/position-sticky-right.html.ini
@@ -0,0 +1,6 @@
+[position-sticky-right.html]
+ [after reaching the sticking point the sticky box should be offset]
+ expected: FAIL
+
+ [the sticky box should not be pushed outside its containing block]
+ expected: FAIL
diff --git a/tests/wpt/metadata/css/css-position/sticky/position-sticky-root-scroller.html.ini b/tests/wpt/metadata/css/css-position/sticky/position-sticky-root-scroller.html.ini
new file mode 100644
index 00000000000..ff105eea0d5
--- /dev/null
+++ b/tests/wpt/metadata/css/css-position/sticky/position-sticky-root-scroller.html.ini
@@ -0,0 +1,3 @@
+[position-sticky-root-scroller.html]
+ [Sticky elements work with the root (document) scroller]
+ expected: FAIL
diff --git a/tests/wpt/metadata/css/css-position/sticky/position-sticky-scrollIntoView.html.ini b/tests/wpt/metadata/css/css-position/sticky/position-sticky-scrollIntoView.html.ini
new file mode 100644
index 00000000000..bfe63065ff5
--- /dev/null
+++ b/tests/wpt/metadata/css/css-position/sticky/position-sticky-scrollIntoView.html.ini
@@ -0,0 +1,3 @@
+[position-sticky-scrollIntoView.html]
+ [scrolling a sticky element into view should use its unshifted position]
+ expected: FAIL
diff --git a/tests/wpt/metadata/css/css-position/sticky/position-sticky-table-parts.html.ini b/tests/wpt/metadata/css/css-position/sticky/position-sticky-table-parts.html.ini
new file mode 100644
index 00000000000..c62ed871371
--- /dev/null
+++ b/tests/wpt/metadata/css/css-position/sticky/position-sticky-table-parts.html.ini
@@ -0,0 +1,2 @@
+[position-sticky-table-parts.html]
+ expected: FAIL
diff --git a/tests/wpt/metadata/css/css-position/sticky/position-sticky-table-td-bottom.html.ini b/tests/wpt/metadata/css/css-position/sticky/position-sticky-table-td-bottom.html.ini
new file mode 100644
index 00000000000..20cee349fa6
--- /dev/null
+++ b/tests/wpt/metadata/css/css-position/sticky/position-sticky-table-td-bottom.html.ini
@@ -0,0 +1,2 @@
+[position-sticky-table-td-bottom.html]
+ expected: FAIL
diff --git a/tests/wpt/metadata/css/css-position/sticky/position-sticky-table-td-left.html.ini b/tests/wpt/metadata/css/css-position/sticky/position-sticky-table-td-left.html.ini
new file mode 100644
index 00000000000..926183eac0c
--- /dev/null
+++ b/tests/wpt/metadata/css/css-position/sticky/position-sticky-table-td-left.html.ini
@@ -0,0 +1,2 @@
+[position-sticky-table-td-left.html]
+ expected: FAIL
diff --git a/tests/wpt/metadata/css/css-position/sticky/position-sticky-table-td-right.html.ini b/tests/wpt/metadata/css/css-position/sticky/position-sticky-table-td-right.html.ini
new file mode 100644
index 00000000000..ac68c6f6a63
--- /dev/null
+++ b/tests/wpt/metadata/css/css-position/sticky/position-sticky-table-td-right.html.ini
@@ -0,0 +1,2 @@
+[position-sticky-table-td-right.html]
+ expected: FAIL
diff --git a/tests/wpt/metadata/css/css-position/sticky/position-sticky-table-td-top.html.ini b/tests/wpt/metadata/css/css-position/sticky/position-sticky-table-td-top.html.ini
new file mode 100644
index 00000000000..c1aa4f40983
--- /dev/null
+++ b/tests/wpt/metadata/css/css-position/sticky/position-sticky-table-td-top.html.ini
@@ -0,0 +1,2 @@
+[position-sticky-table-td-top.html]
+ expected: FAIL
diff --git a/tests/wpt/metadata/css/css-position/sticky/position-sticky-table-tfoot-bottom.html.ini b/tests/wpt/metadata/css/css-position/sticky/position-sticky-table-tfoot-bottom.html.ini
new file mode 100644
index 00000000000..b7f42945145
--- /dev/null
+++ b/tests/wpt/metadata/css/css-position/sticky/position-sticky-table-tfoot-bottom.html.ini
@@ -0,0 +1,2 @@
+[position-sticky-table-tfoot-bottom.html]
+ expected: FAIL
diff --git a/tests/wpt/metadata/css/css-position/sticky/position-sticky-table-th-bottom.html.ini b/tests/wpt/metadata/css/css-position/sticky/position-sticky-table-th-bottom.html.ini
new file mode 100644
index 00000000000..b99b34b296a
--- /dev/null
+++ b/tests/wpt/metadata/css/css-position/sticky/position-sticky-table-th-bottom.html.ini
@@ -0,0 +1,2 @@
+[position-sticky-table-th-bottom.html]
+ expected: FAIL
diff --git a/tests/wpt/metadata/css/css-position/sticky/position-sticky-table-th-left.html.ini b/tests/wpt/metadata/css/css-position/sticky/position-sticky-table-th-left.html.ini
new file mode 100644
index 00000000000..7fc8d47f66f
--- /dev/null
+++ b/tests/wpt/metadata/css/css-position/sticky/position-sticky-table-th-left.html.ini
@@ -0,0 +1,2 @@
+[position-sticky-table-th-left.html]
+ expected: FAIL
diff --git a/tests/wpt/metadata/css/css-position/sticky/position-sticky-table-th-right.html.ini b/tests/wpt/metadata/css/css-position/sticky/position-sticky-table-th-right.html.ini
new file mode 100644
index 00000000000..6d90c77e4a2
--- /dev/null
+++ b/tests/wpt/metadata/css/css-position/sticky/position-sticky-table-th-right.html.ini
@@ -0,0 +1,2 @@
+[position-sticky-table-th-right.html]
+ expected: FAIL
diff --git a/tests/wpt/metadata/css/css-position/sticky/position-sticky-table-th-top.html.ini b/tests/wpt/metadata/css/css-position/sticky/position-sticky-table-th-top.html.ini
new file mode 100644
index 00000000000..c80a26636fa
--- /dev/null
+++ b/tests/wpt/metadata/css/css-position/sticky/position-sticky-table-th-top.html.ini
@@ -0,0 +1,2 @@
+[position-sticky-table-th-top.html]
+ expected: FAIL
diff --git a/tests/wpt/metadata/css/css-position/sticky/position-sticky-table-thead-top.html.ini b/tests/wpt/metadata/css/css-position/sticky/position-sticky-table-thead-top.html.ini
new file mode 100644
index 00000000000..0c80cd986e9
--- /dev/null
+++ b/tests/wpt/metadata/css/css-position/sticky/position-sticky-table-thead-top.html.ini
@@ -0,0 +1,2 @@
+[position-sticky-table-thead-top.html]
+ expected: FAIL
diff --git a/tests/wpt/metadata/css/css-position/sticky/position-sticky-table-tr-bottom.html.ini b/tests/wpt/metadata/css/css-position/sticky/position-sticky-table-tr-bottom.html.ini
new file mode 100644
index 00000000000..2b7fe555dee
--- /dev/null
+++ b/tests/wpt/metadata/css/css-position/sticky/position-sticky-table-tr-bottom.html.ini
@@ -0,0 +1,2 @@
+[position-sticky-table-tr-bottom.html]
+ expected: FAIL
diff --git a/tests/wpt/metadata/css/css-position/sticky/position-sticky-table-tr-top.html.ini b/tests/wpt/metadata/css/css-position/sticky/position-sticky-table-tr-top.html.ini
new file mode 100644
index 00000000000..74952619651
--- /dev/null
+++ b/tests/wpt/metadata/css/css-position/sticky/position-sticky-table-tr-top.html.ini
@@ -0,0 +1,2 @@
+[position-sticky-table-tr-top.html]
+ expected: FAIL
diff --git a/tests/wpt/metadata/css/css-position/sticky/position-sticky-top-002.html.ini b/tests/wpt/metadata/css/css-position/sticky/position-sticky-top-002.html.ini
new file mode 100644
index 00000000000..b9bbb318328
--- /dev/null
+++ b/tests/wpt/metadata/css/css-position/sticky/position-sticky-top-002.html.ini
@@ -0,0 +1,2 @@
+[position-sticky-top-002.html]
+ expected: FAIL
diff --git a/tests/wpt/metadata/css/css-position/sticky/position-sticky-top-003.html.ini b/tests/wpt/metadata/css/css-position/sticky/position-sticky-top-003.html.ini
new file mode 100644
index 00000000000..c8832f78b51
--- /dev/null
+++ b/tests/wpt/metadata/css/css-position/sticky/position-sticky-top-003.html.ini
@@ -0,0 +1,2 @@
+[position-sticky-top-003.html]
+ expected: FAIL
diff --git a/tests/wpt/metadata/css/css-position/sticky/position-sticky-top-and-bottom-003.html.ini b/tests/wpt/metadata/css/css-position/sticky/position-sticky-top-and-bottom-003.html.ini
new file mode 100644
index 00000000000..624316a0c67
--- /dev/null
+++ b/tests/wpt/metadata/css/css-position/sticky/position-sticky-top-and-bottom-003.html.ini
@@ -0,0 +1,2 @@
+[position-sticky-top-and-bottom-003.html]
+ expected: FAIL
diff --git a/tests/wpt/metadata/css/css-position/sticky/position-sticky-top-and-bottom.html.ini b/tests/wpt/metadata/css/css-position/sticky/position-sticky-top-and-bottom.html.ini
new file mode 100644
index 00000000000..faf1aaa3e0d
--- /dev/null
+++ b/tests/wpt/metadata/css/css-position/sticky/position-sticky-top-and-bottom.html.ini
@@ -0,0 +1,6 @@
+[position-sticky-top-and-bottom.html]
+ [initially the sticky box should be pushed to the top of the container]
+ expected: FAIL
+
+ [when we scroll past the flow position the top constraint pushes it down]
+ expected: FAIL
diff --git a/tests/wpt/metadata/css/css-position/sticky/position-sticky-top.html.ini b/tests/wpt/metadata/css/css-position/sticky/position-sticky-top.html.ini
new file mode 100644
index 00000000000..6941dd7a0b2
--- /dev/null
+++ b/tests/wpt/metadata/css/css-position/sticky/position-sticky-top.html.ini
@@ -0,0 +1,6 @@
+[position-sticky-top.html]
+ [after reaching the sticking point the sticky box should be offset]
+ expected: FAIL
+
+ [the sticky box should not be pushed outside its containing block]
+ expected: FAIL
diff --git a/tests/wpt/metadata/css/css-position/sticky/position-sticky-transforms-translate.html.ini b/tests/wpt/metadata/css/css-position/sticky/position-sticky-transforms-translate.html.ini
new file mode 100644
index 00000000000..c166df2af5f
--- /dev/null
+++ b/tests/wpt/metadata/css/css-position/sticky/position-sticky-transforms-translate.html.ini
@@ -0,0 +1,9 @@
+[position-sticky-transforms-translate.html]
+ [Translation transform can move sticky element past sticking point]
+ expected: FAIL
+
+ [Stuck elements can still be moved via translations]
+ expected: FAIL
+
+ [The sticky element should stick before the container is offset by a translation]
+ expected: FAIL
diff --git a/tests/wpt/metadata/css/css-position/sticky/position-sticky-transforms.html.ini b/tests/wpt/metadata/css/css-position/sticky/position-sticky-transforms.html.ini
new file mode 100644
index 00000000000..cc54793309f
--- /dev/null
+++ b/tests/wpt/metadata/css/css-position/sticky/position-sticky-transforms.html.ini
@@ -0,0 +1,9 @@
+[position-sticky-transforms.html]
+ [Scale transforms are carried out on the stuck element position]
+ expected: FAIL
+
+ [Rotate transforms are carried out on the stuck element position]
+ expected: FAIL
+
+ [Perspective transforms are carried out on the stuck element position]
+ expected: FAIL
diff --git a/tests/wpt/metadata/css/css-position/sticky/position-sticky-writing-modes.html.ini b/tests/wpt/metadata/css/css-position/sticky/position-sticky-writing-modes.html.ini
new file mode 100644
index 00000000000..e49ba16e303
--- /dev/null
+++ b/tests/wpt/metadata/css/css-position/sticky/position-sticky-writing-modes.html.ini
@@ -0,0 +1,2 @@
+[position-sticky-writing-modes.html]
+ expected: FAIL
diff --git a/tests/wpt/metadata/css/css-position/z-index-blend-will-change-overlapping-layers.html.ini b/tests/wpt/metadata/css/css-position/z-index-blend-will-change-overlapping-layers.html.ini
new file mode 100644
index 00000000000..07353055bf7
--- /dev/null
+++ b/tests/wpt/metadata/css/css-position/z-index-blend-will-change-overlapping-layers.html.ini
@@ -0,0 +1,2 @@
+[z-index-blend-will-change-overlapping-layers.html]
+ expected: FAIL
diff --git a/tests/wpt/mozilla/meta-layout-2020/css/css-position-3/position-sticky-inflow-position.html.ini b/tests/wpt/mozilla/meta-layout-2020/css/css-position-3/position-sticky-inflow-position.html.ini
deleted file mode 100644
index 38754282bef..00000000000
--- a/tests/wpt/mozilla/meta-layout-2020/css/css-position-3/position-sticky-inflow-position.html.ini
+++ /dev/null
@@ -1,2 +0,0 @@
-[position-sticky-inflow-position.html]
- expected: FAIL
diff --git a/tests/wpt/mozilla/meta-layout-2020/css/css-position-3/position-sticky-left.html.ini b/tests/wpt/mozilla/meta-layout-2020/css/css-position-3/position-sticky-left.html.ini
deleted file mode 100644
index bea8b59d06c..00000000000
--- a/tests/wpt/mozilla/meta-layout-2020/css/css-position-3/position-sticky-left.html.ini
+++ /dev/null
@@ -1,2 +0,0 @@
-[position-sticky-left.html]
- expected: FAIL
diff --git a/tests/wpt/mozilla/meta-layout-2020/css/css-position-3/position-sticky-margins.html.ini b/tests/wpt/mozilla/meta-layout-2020/css/css-position-3/position-sticky-margins.html.ini
deleted file mode 100644
index 91a46397b03..00000000000
--- a/tests/wpt/mozilla/meta-layout-2020/css/css-position-3/position-sticky-margins.html.ini
+++ /dev/null
@@ -1,2 +0,0 @@
-[position-sticky-margins.html]
- expected: FAIL
diff --git a/tests/wpt/mozilla/meta-layout-2020/css/css-position-3/position-sticky-nested-bottom.html.ini b/tests/wpt/mozilla/meta-layout-2020/css/css-position-3/position-sticky-nested-bottom.html.ini
deleted file mode 100644
index 01473f16337..00000000000
--- a/tests/wpt/mozilla/meta-layout-2020/css/css-position-3/position-sticky-nested-bottom.html.ini
+++ /dev/null
@@ -1,2 +0,0 @@
-[position-sticky-nested-bottom.html]
- expected: FAIL
diff --git a/tests/wpt/mozilla/meta-layout-2020/css/css-position-3/position-sticky-nested-left.html.ini b/tests/wpt/mozilla/meta-layout-2020/css/css-position-3/position-sticky-nested-left.html.ini
deleted file mode 100644
index af2befe87e6..00000000000
--- a/tests/wpt/mozilla/meta-layout-2020/css/css-position-3/position-sticky-nested-left.html.ini
+++ /dev/null
@@ -1,2 +0,0 @@
-[position-sticky-nested-left.html]
- expected: FAIL
diff --git a/tests/wpt/mozilla/meta-layout-2020/css/css-position-3/position-sticky-nested-right.html.ini b/tests/wpt/mozilla/meta-layout-2020/css/css-position-3/position-sticky-nested-right.html.ini
deleted file mode 100644
index c3056bb04e8..00000000000
--- a/tests/wpt/mozilla/meta-layout-2020/css/css-position-3/position-sticky-nested-right.html.ini
+++ /dev/null
@@ -1,2 +0,0 @@
-[position-sticky-nested-right.html]
- expected: FAIL
diff --git a/tests/wpt/mozilla/meta-layout-2020/css/css-position-3/position-sticky-nested-top.html.ini b/tests/wpt/mozilla/meta-layout-2020/css/css-position-3/position-sticky-nested-top.html.ini
deleted file mode 100644
index 34cf416af51..00000000000
--- a/tests/wpt/mozilla/meta-layout-2020/css/css-position-3/position-sticky-nested-top.html.ini
+++ /dev/null
@@ -1,2 +0,0 @@
-[position-sticky-nested-top.html]
- expected: FAIL
diff --git a/tests/wpt/mozilla/meta-layout-2020/css/css-position-3/position-sticky-overflow-padding.html.ini b/tests/wpt/mozilla/meta-layout-2020/css/css-position-3/position-sticky-overflow-padding.html.ini
deleted file mode 100644
index e3e403d5496..00000000000
--- a/tests/wpt/mozilla/meta-layout-2020/css/css-position-3/position-sticky-overflow-padding.html.ini
+++ /dev/null
@@ -1,2 +0,0 @@
-[position-sticky-overflow-padding.html]
- expected: FAIL
diff --git a/tests/wpt/mozilla/meta-layout-2020/css/css-position-3/position-sticky-top.html.ini b/tests/wpt/mozilla/meta-layout-2020/css/css-position-3/position-sticky-top.html.ini
deleted file mode 100644
index 62f8d7a2409..00000000000
--- a/tests/wpt/mozilla/meta-layout-2020/css/css-position-3/position-sticky-top.html.ini
+++ /dev/null
@@ -1,2 +0,0 @@
-[position-sticky-top.html]
- expected: FAIL
diff --git a/tests/wpt/mozilla/meta/MANIFEST.json b/tests/wpt/mozilla/meta/MANIFEST.json
index 8eb3d7dd00f..2b08028733d 100644
--- a/tests/wpt/mozilla/meta/MANIFEST.json
+++ b/tests/wpt/mozilla/meta/MANIFEST.json
@@ -1611,346 +1611,6 @@
{}
]
],
- "css-position-3": {
- "position-sticky-bottom.html": [
- "18c5cc415c56c444fb9ba7298af1cceb1f412606",
- [
- null,
- [
- [
- "/_mozilla/css/css-position-3/position-sticky-bottom-ref.html",
- "=="
- ]
- ],
- {}
- ]
- ],
- "position-sticky-flexbox.html": [
- "cf4e8cbcdaad83ba9ef45ade2ec147f8e0698c2b",
- [
- null,
- [
- [
- "/_mozilla/css/css-position-3/position-sticky-flexbox-ref.html",
- "=="
- ]
- ],
- {}
- ]
- ],
- "position-sticky-grid.html": [
- "c2c1b8ec74c62f8f707909cd560f1492b6def603",
- [
- null,
- [
- [
- "/_mozilla/css/css-position-3/position-sticky-grid-ref.html",
- "=="
- ]
- ],
- {}
- ]
- ],
- "position-sticky-inflow-position.html": [
- "fc7e8290b15309690d178e5a03750742a69e0425",
- [
- null,
- [
- [
- "/_mozilla/css/css-position-3/position-sticky-inflow-position-ref.html",
- "=="
- ]
- ],
- {}
- ]
- ],
- "position-sticky-inline.html": [
- "6e6ea9ef91ed17820dc1e272820c4288e02cfae4",
- [
- null,
- [
- [
- "/_mozilla/css/css-position-3/position-sticky-inline-ref.html",
- "=="
- ]
- ],
- {}
- ]
- ],
- "position-sticky-left.html": [
- "40a4d7282dbe503ceb56c49c5133cca87b206e61",
- [
- null,
- [
- [
- "/_mozilla/css/css-position-3/position-sticky-left-ref.html",
- "=="
- ]
- ],
- {}
- ]
- ],
- "position-sticky-margins.html": [
- "5b38ab4c9961991ded95aa2cd291c78517a07f8f",
- [
- null,
- [
- [
- "/_mozilla/css/css-position-3/position-sticky-margins-ref.html",
- "=="
- ]
- ],
- {}
- ]
- ],
- "position-sticky-nested-bottom.html": [
- "d4d20e571a3724a37b307cd4fbaf9674cca2dcf9",
- [
- null,
- [
- [
- "/_mozilla/css/css-position-3/position-sticky-nested-bottom-ref.html",
- "=="
- ]
- ],
- {}
- ]
- ],
- "position-sticky-nested-inline.html": [
- "d31bf6617cbf358b4983120ba1265abbf65f788f",
- [
- null,
- [
- [
- "/_mozilla/css/css-position-3/position-sticky-nested-inline-ref.html",
- "=="
- ]
- ],
- {}
- ]
- ],
- "position-sticky-nested-left.html": [
- "b5a23abeccf5445b128b1ed6196cfe7e75101625",
- [
- null,
- [
- [
- "/_mozilla/css/css-position-3/position-sticky-nested-left-ref.html",
- "=="
- ]
- ],
- {}
- ]
- ],
- "position-sticky-nested-right.html": [
- "411f722eec779ebb61653e28d5b6bf795df60e85",
- [
- null,
- [
- [
- "/_mozilla/css/css-position-3/position-sticky-nested-right-ref.html",
- "=="
- ]
- ],
- {}
- ]
- ],
- "position-sticky-nested-table.html": [
- "be3fbce1560f787c37967e1077098d157133cd96",
- [
- null,
- [
- [
- "/_mozilla/css/css-position-3/position-sticky-nested-table-ref.html",
- "=="
- ]
- ],
- {}
- ]
- ],
- "position-sticky-nested-top.html": [
- "1ed9dc2a210b8c2510f2d88ae90d6500536751f5",
- [
- null,
- [
- [
- "/_mozilla/css/css-position-3/position-sticky-nested-top-ref.html",
- "=="
- ]
- ],
- {}
- ]
- ],
- "position-sticky-overflow-padding.html": [
- "0324861219b414c7ad10a9db501fba0493cad278",
- [
- null,
- [
- [
- "/_mozilla/css/css-position-3/position-sticky-overflow-padding-ref.html",
- "=="
- ]
- ],
- {}
- ]
- ],
- "position-sticky-right.html": [
- "6c4e696de8d427a342e457a9907d76b45ca5d456",
- [
- null,
- [
- [
- "/_mozilla/css/css-position-3/position-sticky-right-ref.html",
- "=="
- ]
- ],
- {}
- ]
- ],
- "position-sticky-stacking-context.html": [
- "36acf82f4f94f0920146689687cd5dca23cffa30",
- [
- null,
- [
- [
- "/_mozilla/css/css-position-3/position-sticky-stacking-context-ref.html",
- "=="
- ]
- ],
- {}
- ]
- ],
- "position-sticky-table-tfoot-bottom.html": [
- "17fe359948c1354cc802c104a865556f6279b10d",
- [
- null,
- [
- [
- "/_mozilla/css/css-position-3/position-sticky-table-tfoot-bottom-ref.html",
- "=="
- ]
- ],
- {}
- ]
- ],
- "position-sticky-table-th-bottom.html": [
- "878732fd5bc7c28f048d8079f9d7a19d0e7c0f22",
- [
- null,
- [
- [
- "/_mozilla/css/css-position-3/position-sticky-table-th-bottom-ref.html",
- "=="
- ]
- ],
- {}
- ]
- ],
- "position-sticky-table-th-left.html": [
- "45643506dc9504dc6982bae4c28e0616082d8e1c",
- [
- null,
- [
- [
- "/_mozilla/css/css-position-3/position-sticky-table-th-left-ref.html",
- "=="
- ]
- ],
- {}
- ]
- ],
- "position-sticky-table-th-right.html": [
- "204b6e5d043233664e017303060d3fe3b0691b2c",
- [
- null,
- [
- [
- "/_mozilla/css/css-position-3/position-sticky-table-th-right-ref.html",
- "=="
- ]
- ],
- {}
- ]
- ],
- "position-sticky-table-th-top.html": [
- "7e57a6900842c4874935ba355396bb6b88655111",
- [
- null,
- [
- [
- "/_mozilla/css/css-position-3/position-sticky-table-th-top-ref.html",
- "=="
- ]
- ],
- {}
- ]
- ],
- "position-sticky-table-thead-top.html": [
- "560a45efeb105584dbd4ad1743a80e51c1b60f36",
- [
- null,
- [
- [
- "/_mozilla/css/css-position-3/position-sticky-table-thead-top-ref.html",
- "=="
- ]
- ],
- {}
- ]
- ],
- "position-sticky-table-tr-bottom.html": [
- "e306d9654a27414759dc55068df6b566304e57e6",
- [
- null,
- [
- [
- "/_mozilla/css/css-position-3/position-sticky-table-tr-bottom-ref.html",
- "=="
- ]
- ],
- {}
- ]
- ],
- "position-sticky-table-tr-top.html": [
- "361535c99c2e38ea41cc01ca5a7ba49840ebbb43",
- [
- null,
- [
- [
- "/_mozilla/css/css-position-3/position-sticky-table-tr-top-ref.html",
- "=="
- ]
- ],
- {}
- ]
- ],
- "position-sticky-top.html": [
- "fc07313a20da4b32bd632e6fc8fa20ae98e51ec3",
- [
- null,
- [
- [
- "/_mozilla/css/css-position-3/position-sticky-top-ref.html",
- "=="
- ]
- ],
- {}
- ]
- ],
- "position-sticky-writing-modes.html": [
- "9672d093a8f2d4b5500063b4ed1d7f591017cb3c",
- [
- null,
- [
- [
- "/_mozilla/css/css-position-3/position-sticky-writing-modes-ref.html",
- "=="
- ]
- ],
- {}
- ]
- ]
- },
"data_img_a.html": [
"f93c93f27d2011a0fc7ba26a5e73813e4eadbb81",
[
@@ -8922,112 +8582,6 @@
[]
]
},
- "css-position-3": {
- "position-sticky-bottom-ref.html": [
- "7d4953d77971bf054c91b9f0f3906321b7f6cd52",
- []
- ],
- "position-sticky-flexbox-ref.html": [
- "554ffa6d6bc9a7d76087b45649c1a69824eb2e59",
- []
- ],
- "position-sticky-grid-ref.html": [
- "9af81129a630acecd755d9f1c05a728247d44a22",
- []
- ],
- "position-sticky-inflow-position-ref.html": [
- "beebd7e5aeb7c79200907f3d0f909f41c10c8e75",
- []
- ],
- "position-sticky-inline-ref.html": [
- "1e467bdd71171a175ca22c56882ff178ee77e6a9",
- []
- ],
- "position-sticky-left-ref.html": [
- "e0de6fbb812affcd92d86204a19fae498c8145d2",
- []
- ],
- "position-sticky-margins-ref.html": [
- "30490398923a64e6dc62390f0e30f230cfa9b583",
- []
- ],
- "position-sticky-nested-bottom-ref.html": [
- "6be2b5a7b1d0aad2a8e37a7e39bfee401afe8a0a",
- []
- ],
- "position-sticky-nested-inline-ref.html": [
- "914ff82d73f73de667497cc85487e1ca0aa94616",
- []
- ],
- "position-sticky-nested-left-ref.html": [
- "d3ab0d593d6a29193e4ba3805eb62e0a8aea0338",
- []
- ],
- "position-sticky-nested-right-ref.html": [
- "07852ba60415bacdfd7011c890b4ec1103072b4b",
- []
- ],
- "position-sticky-nested-table-ref.html": [
- "9327d04e83f979f58489f77feecb39525a902042",
- []
- ],
- "position-sticky-nested-top-ref.html": [
- "f4696ce7d0ab1a7d625b8a9a6fc2b10538ae70c9",
- []
- ],
- "position-sticky-overflow-padding-ref.html": [
- "b0e1d4680bcf6ed58b8fb0798f649f0db54d6f0e",
- []
- ],
- "position-sticky-right-ref.html": [
- "14ed476834bb5eb31e80e85e252424c7b9679685",
- []
- ],
- "position-sticky-stacking-context-ref.html": [
- "0fe20bd3c339a1a92a3481653d6ea6d85ec054df",
- []
- ],
- "position-sticky-table-tfoot-bottom-ref.html": [
- "a89dd6a485eda34abdf4f28bcbee0636b6dc43b0",
- []
- ],
- "position-sticky-table-th-bottom-ref.html": [
- "2aa5c08a55d29a089d57e4303d893dfd15920abf",
- []
- ],
- "position-sticky-table-th-left-ref.html": [
- "cef7539c16c18ea118831ea107e2f8a2e74380cf",
- []
- ],
- "position-sticky-table-th-right-ref.html": [
- "5d778d1bfc162bc2c480000ebd602855056b3801",
- []
- ],
- "position-sticky-table-th-top-ref.html": [
- "692dbcfdffdc9e23f019a74042feaa5a7eb29736",
- []
- ],
- "position-sticky-table-thead-top-ref.html": [
- "f313d60859c10c46d8ac9d2aa1545e5a8c8c3220",
- []
- ],
- "position-sticky-table-tr-bottom-ref.html": [
- "7f9ef0749629a3f29d0fae56723cbbd2e639ac53",
- []
- ],
- "position-sticky-table-tr-top-ref.html": [
- "9aa9242d9ceab8e41e6126d0c3b5049dc412121c",
- []
- ],
- "position-sticky-top-ref.html": [
- "3003b94e5dbe13bf537ed81a3bdb2e62907cb9e4",
- []
- ],
- "position-sticky-writing-modes-ref.html": [
- "e79c639b43ab65d125e399b13366df15f952412b",
- []
- ]
- },
"data_img_b.html": [
"265d57ec76ba91e99de0431975a87de46087dad8",
[]
@@ -12950,36 +12504,6 @@
{}
]
],
- "css-position-3": {
- "position-sticky-get-bounding-client-rect.html": [
- "18b2acfe16f77f3242b51e3a64c9b39d6a4f50b5",
- [
- null,
- {}
- ]
- ],
- "position-sticky-input-box-gets-focused-after-scroll.html": [
- "5b2d705e2d0721c072bedf1dcc489fae25b2014f",
- [
- null,
- {}
- ]
- ],
- "position-sticky-offset-top-left.html": [
- "ade9e108cf45039173066cedec39462fa37e5d95",
- [
- null,
- {}
- ]
- ],
- "position-sticky-parsing.html": [
- "f6f587e615f5759f7a706a57defdd8bfaa836aa6",
- [
- null,
- {}
- ]
- ]
- },
"css-transition-cancel-event.html": [
"23400c556d58bb21b78a9cbed3b56028c7d299c3",
[
diff --git a/tests/wpt/mozilla/meta/css/css-position-3/__dir__.ini b/tests/wpt/mozilla/meta/css/css-position-3/__dir__.ini
deleted file mode 100644
index 01079cb56f5..00000000000
--- a/tests/wpt/mozilla/meta/css/css-position-3/__dir__.ini
+++ /dev/null
@@ -1 +0,0 @@
-disabled: Sending multiple scrolling positions to WebRender is very flaky in the test harness
diff --git a/tests/wpt/mozilla/meta/css/css-position-3/position-sticky-grid.html.ini b/tests/wpt/mozilla/meta/css/css-position-3/position-sticky-grid.html.ini
deleted file mode 100644
index 6addc8bd48f..00000000000
--- a/tests/wpt/mozilla/meta/css/css-position-3/position-sticky-grid.html.ini
+++ /dev/null
@@ -1,7 +0,0 @@
-[position-sticky-grid.html]
- type: reftest
- expected: FAIL
- bug: https://github.com/servo/servo/issues/18379
- [Untitled]
- expected: FAIL
-
diff --git a/tests/wpt/mozilla/meta/css/css-position-3/position-sticky-inline.html.ini b/tests/wpt/mozilla/meta/css/css-position-3/position-sticky-inline.html.ini
deleted file mode 100644
index ea196f37eaf..00000000000
--- a/tests/wpt/mozilla/meta/css/css-position-3/position-sticky-inline.html.ini
+++ /dev/null
@@ -1,7 +0,0 @@
-[position-sticky-inline.html]
- type: reftest
- expected: FAIL
- bug: https://github.com/servo/servo/issues/18379
- [Untitled]
- expected: FAIL
-
diff --git a/tests/wpt/mozilla/meta/css/css-position-3/position-sticky-nested-bottom.html.ini b/tests/wpt/mozilla/meta/css/css-position-3/position-sticky-nested-bottom.html.ini
deleted file mode 100644
index 796caade081..00000000000
--- a/tests/wpt/mozilla/meta/css/css-position-3/position-sticky-nested-bottom.html.ini
+++ /dev/null
@@ -1,7 +0,0 @@
-[position-sticky-nested-bottom.html]
- type: reftest
- expected: FAIL
- bug: https://github.com/servo/servo/issues/18377
- [Untitled]
- expected: FAIL
-
diff --git a/tests/wpt/mozilla/meta/css/css-position-3/position-sticky-nested-inline.html.ini b/tests/wpt/mozilla/meta/css/css-position-3/position-sticky-nested-inline.html.ini
deleted file mode 100644
index ce556804061..00000000000
--- a/tests/wpt/mozilla/meta/css/css-position-3/position-sticky-nested-inline.html.ini
+++ /dev/null
@@ -1,7 +0,0 @@
-[position-sticky-nested-inline.html]
- type: reftest
- expected: FAIL
- bug: https://github.com/servo/servo/issues/18377
- [Untitled]
- expected: FAIL
-
diff --git a/tests/wpt/mozilla/meta/css/css-position-3/position-sticky-nested-left.html.ini b/tests/wpt/mozilla/meta/css/css-position-3/position-sticky-nested-left.html.ini
deleted file mode 100644
index 82d0898354d..00000000000
--- a/tests/wpt/mozilla/meta/css/css-position-3/position-sticky-nested-left.html.ini
+++ /dev/null
@@ -1,7 +0,0 @@
-[position-sticky-nested-left.html]
- type: reftest
- expected: FAIL
- bug: https://github.com/servo/servo/issues/18377
- [Untitled]
- expected: FAIL
-
diff --git a/tests/wpt/mozilla/meta/css/css-position-3/position-sticky-nested-right.html.ini b/tests/wpt/mozilla/meta/css/css-position-3/position-sticky-nested-right.html.ini
deleted file mode 100644
index a2c00e7e01a..00000000000
--- a/tests/wpt/mozilla/meta/css/css-position-3/position-sticky-nested-right.html.ini
+++ /dev/null
@@ -1,7 +0,0 @@
-[position-sticky-nested-right.html]
- type: reftest
- expected: FAIL
- bug: https://github.com/servo/servo/issues/18377
- [Untitled]
- expected: FAIL
-
diff --git a/tests/wpt/mozilla/meta/css/css-position-3/position-sticky-nested-table.html.ini b/tests/wpt/mozilla/meta/css/css-position-3/position-sticky-nested-table.html.ini
deleted file mode 100644
index a683e0857d5..00000000000
--- a/tests/wpt/mozilla/meta/css/css-position-3/position-sticky-nested-table.html.ini
+++ /dev/null
@@ -1,7 +0,0 @@
-[position-sticky-nested-table.html]
- type: reftest
- expected: FAIL
- bug: https://github.com/servo/servo/issues/18377
- [Untitled]
- expected: FAIL
-
diff --git a/tests/wpt/mozilla/meta/css/css-position-3/position-sticky-nested-top.html.ini b/tests/wpt/mozilla/meta/css/css-position-3/position-sticky-nested-top.html.ini
deleted file mode 100644
index 5546b107335..00000000000
--- a/tests/wpt/mozilla/meta/css/css-position-3/position-sticky-nested-top.html.ini
+++ /dev/null
@@ -1,7 +0,0 @@
-[position-sticky-nested-top.html]
- type: reftest
- expected: FAIL
- bug: https://github.com/servo/servo/issues/18377
- [Untitled]
- expected: FAIL
-
diff --git a/tests/wpt/mozilla/meta/css/css-position-3/position-sticky-overflow-padding.html.ini b/tests/wpt/mozilla/meta/css/css-position-3/position-sticky-overflow-padding.html.ini
deleted file mode 100644
index 19b8e90d5b7..00000000000
--- a/tests/wpt/mozilla/meta/css/css-position-3/position-sticky-overflow-padding.html.ini
+++ /dev/null
@@ -1,7 +0,0 @@
-[position-sticky-overflow-padding.html]
- type: reftest
- expected: FAIL
- bug: https://github.com/servo/servo/issues/18379
- [Untitled]
- expected: FAIL
-
diff --git a/tests/wpt/mozilla/meta/css/css-position-3/position-sticky-parsing.html.ini b/tests/wpt/mozilla/meta/css/css-position-3/position-sticky-parsing.html.ini
deleted file mode 100644
index cd280be0963..00000000000
--- a/tests/wpt/mozilla/meta/css/css-position-3/position-sticky-parsing.html.ini
+++ /dev/null
@@ -1,6 +0,0 @@
-[position-sticky-parsing.html]
- type: testharness
- [The value of sticky for the position property should be parsed correctly]
- bug: https://github.com/servo/servo/issues/18378
- expected: FAIL
-
diff --git a/tests/wpt/mozilla/meta/css/css-position-3/position-sticky-writing-modes.html.ini b/tests/wpt/mozilla/meta/css/css-position-3/position-sticky-writing-modes.html.ini
deleted file mode 100644
index 2b068da9664..00000000000
--- a/tests/wpt/mozilla/meta/css/css-position-3/position-sticky-writing-modes.html.ini
+++ /dev/null
@@ -1,7 +0,0 @@
-[position-sticky-writing-modes.html]
- type: reftest
- expected: FAIL
- bug: https://github.com/servo/servo/issues/18379
- [Untitled]
- expected: FAIL
-
diff --git a/tests/wpt/mozilla/tests/css/css-position-3/position-sticky-bottom-ref.html b/tests/wpt/mozilla/tests/css/css-position-3/position-sticky-bottom-ref.html
deleted file mode 100644
index 7d4953d7797..00000000000
--- a/tests/wpt/mozilla/tests/css/css-position-3/position-sticky-bottom-ref.html
+++ /dev/null
@@ -1,69 +0,0 @@
-<!DOCTYPE html>
-<title>Reference for position:sticky elements should respect the top constraint</title>
-
-<style>
-.group {
- display: inline-block;
- position: relative;
- width: 150px;
- height: 250px;
-}
-
-.scroller {
- position: relative;
- width: 100px;
- height: 200px;
- overflow-x: hidden;
- overflow-y: auto;
-}
-
-.contents {
- height: 500px;
-}
-
-.indicator {
- background-color: green;
- position: absolute;
- left: 0;
-}
-
-.box {
- width: 100%;
- height: 100px;
-}
-
-</style>
-
-<script>
-window.addEventListener('load', function() {
- document.getElementById('scroller1').scrollTop = 100;
- document.getElementById('scroller2').scrollTop = 175;
- document.getElementById('scroller3').scrollTop = 250;
-});
-</script>
-
-<div class="group">
- <div id="scroller1" class="scroller">
- <div class="contents">
- <div class="indicator box" style="top: 200px;"></div>
- </div>
- </div>
-</div>
-
-<div class="group">
- <div id="scroller2" class="scroller">
- <div class="contents">
- <div class="indicator box" style="top: 250px;"></div>
- </div>
- </div>
-</div>
-
-<div class="group">
- <div id="scroller3" class="scroller">
- <div class="contents">
- <div class="indicator box" style="top: 300px;"></div>
- </div>
- </div>
-</div>
-
-<div>You should see three green boxes above. No red should be visible.</div>
diff --git a/tests/wpt/mozilla/tests/css/css-position-3/position-sticky-bottom.html b/tests/wpt/mozilla/tests/css/css-position-3/position-sticky-bottom.html
deleted file mode 100644
index 18c5cc415c5..00000000000
--- a/tests/wpt/mozilla/tests/css/css-position-3/position-sticky-bottom.html
+++ /dev/null
@@ -1,104 +0,0 @@
-<!DOCTYPE html>
-<title>position:sticky elements should respect the bottom constraint</title>
-<link rel="match" href="position-sticky-bottom-ref.html" />
-<link rel="help" href="https://www.w3.org/TR/css-position-3/#sticky-pos" />
-<meta name="assert" content="This test checks that position:sticky elements obey their bottom anchor after scrolling" />
-
-<style>
-.group {
- display: inline-block;
- position: relative;
- width: 150px;
- height: 250px;
-}
-
-.scroller {
- position: relative;
- width: 100px;
- height: 200px;
- overflow-x: hidden;
- overflow-y: auto;
-}
-
-.contents {
- height: 500px;
-}
-
-.prepadding {
- height: 200px;
-}
-
-.container {
- height: 200px;
-}
-
-.filler {
- height: 100px;
-}
-
-.indicator {
- background-color: red;
- position: absolute;
- left: 0;
-}
-
-.sticky {
- background-color: green;
- position: sticky;
- bottom: 25px;
-}
-
-.box {
- width: 100%;
- height: 100px;
-}
-</style>
-
-<script>
-window.addEventListener('load', function() {
- document.getElementById('scroller1').scrollTop = 100;
- document.getElementById('scroller2').scrollTop = 175;
- document.getElementById('scroller3').scrollTop = 250;
-});
-</script>
-
-<div class="group">
- <div id="scroller1" class="scroller">
- <div class="indicator box" style="top: 200px;"></div>
- <div class="contents">
- <div class="prepadding"></div>
- <div class="container">
- <div class="filler"></div>
- <div class="sticky box"></div>
- </div>
- </div>
- </div>
-</div>
-
-<div class="group">
- <div id="scroller2" class="scroller">
- <div class="indicator box" style="top: 250px;"></div>
- <div class="contents">
- <div class="prepadding"></div>
- <div class="container">
- <div class="filler"></div>
- <div class="sticky box"></div>
- </div>
- </div>
- </div>
-</div>
-
-<div class="group">
- <div id="scroller3" class="scroller">
- <div class="indicator box" style="top: 300px;"></div>
- <div class="contents">
- <div class="prepadding"></div>
- <div class="container">
- <div class="filler"></div>
- <div class="sticky box"></div>
- </div>
- </div>
- </div>
-</div>
-
-<div>You should see three green boxes above. No red should be visible.</div>
diff --git a/tests/wpt/mozilla/tests/css/css-position-3/position-sticky-flexbox-ref.html b/tests/wpt/mozilla/tests/css/css-position-3/position-sticky-flexbox-ref.html
deleted file mode 100644
index 554ffa6d6bc..00000000000
--- a/tests/wpt/mozilla/tests/css/css-position-3/position-sticky-flexbox-ref.html
+++ /dev/null
@@ -1,63 +0,0 @@
-<!DOCTYPE html>
-<title>Reference for position:sticky elements should work correctly with flexbox</title>
-
-<style>
-.scroller {
- overflow: scroll;
- width: 350px;
- height: 100px;
- margin-bottom: 15px;
-}
-
-.flex-container {
- width: 600px;
- position: relative;
- display: flex;
- flex-flow: row wrap;
-}
-
-.green {
- background-color: green;
-}
-
-.flex-item {
- height: 85px;
- width: 100px;
- display: flex;
-}
-</style>
-
-<script>
-window.addEventListener('load', function() {
- document.getElementById('scroller1').scrollLeft = 50;
- document.getElementById('scroller2').scrollLeft = 150;
- document.getElementById('scroller3').scrollLeft = 250;
-});
-</script>
-
-<div id="scroller1" class="scroller">
- <div class="flex-container">
- <div class="flex-item"></div>
- <div class="green flex-item"></div>
- <div class="green flex-item"></div>
- </div>
-</div>
-
-<div id="scroller2" class="scroller">
- <div class="flex-container">
- <div class="flex-item"></div>
- <div class="flex-item"></div>
- <div class="green flex-item"></div>
- </div>
-</div>
-
-<div id="scroller3" class="scroller">
- <div class="flex-container">
- <div class="flex-item"></div>
- <div class="flex-item"></div>
- <div class="green flex-item"></div>
- <div class="green flex-item"></div>
- </div>
-</div>
-
-<p>You should see three green boxes of varying size above. There should be no red.</p>
diff --git a/tests/wpt/mozilla/tests/css/css-position-3/position-sticky-flexbox.html b/tests/wpt/mozilla/tests/css/css-position-3/position-sticky-flexbox.html
deleted file mode 100644
index cf4e8cbcdaa..00000000000
--- a/tests/wpt/mozilla/tests/css/css-position-3/position-sticky-flexbox.html
+++ /dev/null
@@ -1,80 +0,0 @@
-<!DOCTYPE html>
-<title>position:sticky elements should work correctly with flexbox</title>
-<link rel="match" href="position-sticky-flexbox-ref.html" />
-<link rel="help" href="https://www.w3.org/TR/css-position-3/#sticky-pos" />
-<meta name="assert" content="This test checks that position:sticky elements interoperate correctly with flexbox" />
-
-<style>
-.scroller {
- overflow: scroll;
- width: 350px;
- height: 100px;
- margin-bottom: 15px;
-}
-
-.flex-container {
- width: 600px;
- position: relative;
- display: flex;
- flex-flow: row wrap;
-}
-
-.sticky {
- position: sticky;
- left: 50px;
-}
-
-.green {
- background-color: green;
-}
-
-.flex-item {
- width: 100px;
- height: 85px;
- display: flex;
-}
-
-.indicator {
- position: absolute;
- background-color: red;
- width: 100px;
- height: 85px;
-}
-</style>
-
-<script>
-window.addEventListener('load', function() {
- document.getElementById('scroller1').scrollLeft = 50;
- document.getElementById('scroller2').scrollLeft = 150;
- document.getElementById('scroller3').scrollLeft = 250;
-});
-</script>
-
-<div id="scroller1" class="scroller">
- <div class="flex-container">
- <div class="indicator" style="left: 100px;"></div>
- <div class="flex-item"></div>
- <div class="sticky green flex-item"></div>
- <div class="green flex-item"></div>
- </div>
-</div>
-
-<div id="scroller2" class="scroller">
- <div class="flex-container">
- <div class="indicator" style="left: 200px;"></div>
- <div class="flex-item"></div>
- <div class="sticky green flex-item"></div>
- <div class="green flex-item"></div>
- </div>
-</div>
-
-<div id="scroller3" class="scroller">
- <div class="flex-container">
- <div class="indicator" style="left: 300px;"></div>
- <div class="flex-item"></div>
- <div class="sticky green flex-item"></div>
- <div class="green flex-item"></div>
- </div>
-</div>
-
-<p>You should see three green boxes of varying size above. There should be no red.</p>
diff --git a/tests/wpt/mozilla/tests/css/css-position-3/position-sticky-get-bounding-client-rect.html b/tests/wpt/mozilla/tests/css/css-position-3/position-sticky-get-bounding-client-rect.html
deleted file mode 100644
index 18b2acfe16f..00000000000
--- a/tests/wpt/mozilla/tests/css/css-position-3/position-sticky-get-bounding-client-rect.html
+++ /dev/null
@@ -1,99 +0,0 @@
-<!DOCTYPE html>
-<title>Sticky positioned element should be observable by getBoundingClientRect.</title>
-<link rel="help" href="https://www.w3.org/TR/css-position-3/#sticky-pos" />
-<meta name="assert" content="This test checks that sticky positioned element
-should be observable by getBoundingClientRect." />
-
-<script src="/resources/testharness.js"></script>
-<script src="/resources/testharnessreport.js"></script>
-
-<style>
-body {
- margin: 0;
-}
-
-.container {
- overflow: scroll;
- width: 200px;
- height: 200px;
-}
-
-.spacer {
- width: 2000px;
- height: 2000px;
-}
-
-.box {
- width: 100px;
- height: 100px;
- background-color: green;
-}
-
-.sticky {
- position: sticky;
- top: 50px;
- left: 20px;
-}
-</style>
-
-<div id="scroller1" class="container">
- <div id="sticky1" class="sticky box"></div>
- <div class="spacer"></div>
-</div>
-
-<script>
-test(() => {
- var sticky = document.getElementById('sticky1');
- assert_equals(sticky.getBoundingClientRect().top, 50);
- document.getElementById('scroller1').scrollTop = 100;
- assert_equals(sticky.getBoundingClientRect().top, 50);
- sticky.style.position = 'relative';
- assert_equals(sticky.getBoundingClientRect().top, -50);
- sticky.style.position = 'sticky';
- assert_equals(sticky.getBoundingClientRect().top, 50);
-}, 'sticky positioned element should be observable by getBoundingClientRect.');
-</script>
-
-<div id="scroller2" class="container">
- <div class="spacer"></div>
-</div>
-
-<script>
-test(() => {
- var scroller = document.getElementById('scroller2');
- scroller.scrollTop = 100;
- scroller.scrollLeft = 75;
-
- var sticky = document.createElement('div');
- sticky.className = 'sticky box';
- scroller.insertBefore(sticky, scroller.querySelector('.spacer'));
-
- var sticky_bounds = sticky.getBoundingClientRect();
- var scroller_bounds = scroller.getBoundingClientRect();
- assert_equals(sticky_bounds.top, scroller_bounds.top + 50);
- assert_equals(sticky_bounds.left, scroller_bounds.left + 20);
-}, 'getBoundingClientRect should be correct for sticky after script insertion');
-</script>
-
-<div id="scroller3" class="container">
- <div id="sticky3" class="sticky box"></div>
- <div class="spacer"></div>
-</div>
-
-<script>
-test(() => {
- var scroller = document.getElementById('scroller3');
- var sticky = document.getElementById('sticky3');
- scroller.scrollTop = 100;
- scroller.scrollLeft = 75;
-
- var div = document.createElement('div');
- div.style.height = '65px';
- scroller.insertBefore(div, sticky);
-
- var sticky_bounds = sticky.getBoundingClientRect();
- var scroller_bounds = scroller.getBoundingClientRect();
- assert_equals(sticky_bounds.top, scroller_bounds.top + 50);
- assert_equals(sticky_bounds.left, scroller_bounds.left + 20);
-}, 'getBoundingClientRect should be correct for sticky after script-caused layout');
-</script>
diff --git a/tests/wpt/mozilla/tests/css/css-position-3/position-sticky-grid-ref.html b/tests/wpt/mozilla/tests/css/css-position-3/position-sticky-grid-ref.html
deleted file mode 100644
index 9af81129a63..00000000000
--- a/tests/wpt/mozilla/tests/css/css-position-3/position-sticky-grid-ref.html
+++ /dev/null
@@ -1,76 +0,0 @@
-<!DOCTYPE html>
-<title>Reference for position:sticky elements should work correctly with grid layout</title>
-
-<style>
-.scroller {
- position: relative;
- overflow-x: scroll;
- overflow-y: hidden;
- width: 300px;
- height: 100px;
- margin-bottom: 15px;
-}
-
-.grid-container {
- display: grid;
- grid-template-columns: 25% 25% 25% 25%;
- grid-template-rows: 100%;
- width: 400px;
- height: 90px;
-}
-
-.green {
- background-color: green;
-}
-
-.grid-item {
- width: 100%;
- height: 100%;
- grid-row: 1;
-}
-
-.padding {
- height: 1px;
- width: 700px;
-}
-
-</style>
-
-<script>
-window.addEventListener('load', function() {
- document.getElementById('scroller1').scrollLeft = 0;
- document.getElementById('scroller2').scrollLeft = 150;
- document.getElementById('scroller3').scrollLeft = 300;
-});
-</script>
-
-<div id="scroller1" class="scroller">
- <div class="grid-container">
- <div class="grid-item" style="grid-column: 1;"></div>
- <div class="green grid-item" style="grid-column: 2;"></div>
- <div class="green grid-item" style="grid-column: 3;"></div>
- </div>
- <div class="padding"></div>
-</div>
-
-<div id="scroller2" class="scroller">
- <div class="grid-container">
- <div class="grid-item" style="grid-column: 1;"></div>
- <div class="grid-item" style="grid-column: 2;"></div>
- <div class="green grid-item" style="grid-column: 3;"></div>
- </div>
- <div class="padding"></div>
-</div>
-
-<div id="scroller3" class="scroller">
- <div class="grid-container">
- <div class="grid-item" style="grid-column: 1;"></div>
- <div class="grid-item" style="grid-column: 2;"></div>
- <div class="grid-item" style="grid-column: 3;"></div>
- <div class="green grid-item" style="grid-column: 4;"></div>
- </div>
- <div class="padding"></div>
-</div>
-
-<p>You should see three green boxes of varying size above. There should be no red.</p>
-
diff --git a/tests/wpt/mozilla/tests/css/css-position-3/position-sticky-grid.html b/tests/wpt/mozilla/tests/css/css-position-3/position-sticky-grid.html
deleted file mode 100644
index c2c1b8ec74c..00000000000
--- a/tests/wpt/mozilla/tests/css/css-position-3/position-sticky-grid.html
+++ /dev/null
@@ -1,93 +0,0 @@
-<!DOCTYPE html>
-<title>position:sticky elements should work correctly with grid layout</title>
-<link rel="match" href="position-sticky-grid-ref.html" />
-<link rel="help" href="https://www.w3.org/TR/css-position-3/#sticky-pos" />
-<meta name="assert" content="This test checks that position:sticky elements interoperate correctly with grid" />
-
-<style>
-.scroller {
- position: relative;
- overflow-x: scroll;
- overflow-y: hidden;
- width: 300px;
- height: 100px;
- margin-bottom: 15px;
-}
-
-.grid-container {
- display: grid;
- grid-template-columns: 25% 25% 25% 25%;
- grid-template-rows: 100%;
- width: 400px;
- height: 90px;
-}
-
-.sticky {
- position: sticky;
- left: 50px;
-}
-
-.green {
- background-color: green;
-}
-
-.grid-item {
- width: 100%;
- height: 100%;
- grid-row: 1;
-}
-
-.indicator {
- position: absolute;
- background-color: red;
- width: 100px;
- height: 90px;
-}
-
-.padding {
- height: 1px;
- width: 700px;
-}
-
-</style>
-
-<script>
-window.addEventListener('load', function() {
- document.getElementById('scroller1').scrollLeft = 0;
- document.getElementById('scroller2').scrollLeft = 150;
- document.getElementById('scroller3').scrollLeft = 300;
-});
-</script>
-
-<div id="scroller1" class="scroller">
- <div class="grid-container">
- <div class="indicator" style="left: 100px;"></div>
- <div class="grid-item" style="grid-column: 1;"></div>
- <div class="sticky green grid-item" style="grid-column: 2;"></div>
- <div class="green grid-item" style="grid-column: 3;"></div>
- </div>
- <div class="padding"></div>
-</div>
-
-<div id="scroller2" class="scroller">
- <div class="grid-container">
- <div class="indicator" style="left: 200px;"></div>
- <div class="grid-item" style="grid-column: 1;"></div>
- <div class="sticky green grid-item" style="grid-column: 2;"></div>
- <div class="green grid-item" style="grid-column: 3;"></div>
- </div>
- <div class="padding"></div>
-</div>
-
-<div id="scroller3" class="scroller">
- <div class="grid-container">
- <div class="indicator" style="left: 300px;"></div>
- <div class="grid-item" style="grid-column: 1;"></div>
- <div class="sticky green grid-item" style="grid-column: 2;"></div>
- <div class="green grid-item" style="grid-column: 3;"></div>
- </div>
- <div class="padding"></div>
-</div>
-
-<p>You should see three green boxes of varying size above. There should be no red.</p>
-
diff --git a/tests/wpt/mozilla/tests/css/css-position-3/position-sticky-inflow-position-ref.html b/tests/wpt/mozilla/tests/css/css-position-3/position-sticky-inflow-position-ref.html
deleted file mode 100644
index beebd7e5aeb..00000000000
--- a/tests/wpt/mozilla/tests/css/css-position-3/position-sticky-inflow-position-ref.html
+++ /dev/null
@@ -1,42 +0,0 @@
-<!DOCTYPE html>
-<title>Reference for position:sticky elements should not affect the flow position of other elements</title>
-
-<style>
-.scroller {
- height: 200px;
- width: 100px;
- overflow-y: scroll;
- margin-bottom: 15px;
-}
-
-.sticky {
- background-color: green;
-}
-
-.box {
- height: 50px;
- width: 50px;
-}
-
-.before {
- background-color: fuchsia;
-}
-
-.after {
- background-color: orange;
-}
-
-.padding {
- height: 450px;
-}
-</style>
-
-<div class="scroller">
- <div class="before box"></div>
- <div class="box"></div>
- <div class="after box"></div>
- <div class="sticky box"></div>
- <div class="padding"></div>
-</div>
-
-<div>You should see a fuchsia box, a one-box gap, an orange box, and then a green box above.</div>
diff --git a/tests/wpt/mozilla/tests/css/css-position-3/position-sticky-inflow-position.html b/tests/wpt/mozilla/tests/css/css-position-3/position-sticky-inflow-position.html
deleted file mode 100644
index fc7e8290b15..00000000000
--- a/tests/wpt/mozilla/tests/css/css-position-3/position-sticky-inflow-position.html
+++ /dev/null
@@ -1,46 +0,0 @@
-<!DOCTYPE html>
-<title>position:sticky elements should not affect the flow position of other elements</title>
-<link rel="match" href="position-sticky-inflow-position-ref.html" />
-<link rel="help" href="https://www.w3.org/TR/css-position-3/#sticky-pos" />
-<meta name="assert" content="This test checks that position:sticky elements do not affect the flow position of other elements" />
-
-<style>
-.scroller {
- height: 200px;
- width: 100px;
- overflow-y: scroll;
- margin-bottom: 15px;
-}
-
-.sticky {
- background-color: green;
- position: sticky;
- top: 150px;
-}
-
-.box {
- height: 50px;
- width: 50px;
-}
-
-.before {
- background-color: fuchsia;
-}
-
-.after {
- background-color: orange;
-}
-
-.padding {
- height: 500px;
-}
-</style>
-
-<div class="scroller">
- <div class="before box"></div>
- <div class="sticky box"></div>
- <div class="after box"></div>
- <div class="padding"></div>
-</div>
-
-<div>You should see a fuchsia box, a one-box gap, an orange box, and then a green box above.</div>
diff --git a/tests/wpt/mozilla/tests/css/css-position-3/position-sticky-inline-ref.html b/tests/wpt/mozilla/tests/css/css-position-3/position-sticky-inline-ref.html
deleted file mode 100644
index 1e467bdd711..00000000000
--- a/tests/wpt/mozilla/tests/css/css-position-3/position-sticky-inline-ref.html
+++ /dev/null
@@ -1,69 +0,0 @@
-<!DOCTYPE html>
-<title>Reference for position:sticky should work for inline elements</title>
-<link rel="stylesheet" type="text/css" href="/fonts/ahem.css">
-
-<style>
-.group {
- display: inline-block;
- position: relative;
- width: 150px;
- height: 250px;
-}
-
-.scroller {
- position: relative;
- width: 100px;
- height: 200px;
- overflow-x: hidden;
- overflow-y: auto;
- font: 25px/1 Ahem;
-}
-
-.contents {
- height: 500px;
-}
-
-.indicator {
- position: absolute;
- left: 0;
- color: green;
-}
-
-.inline {
- display: inline;
-}
-</style>
-
-<script>
-window.addEventListener('load', function() {
- document.getElementById('scroller1').scrollTop = 50;
- document.getElementById('scroller2').scrollTop = 125;
- document.getElementById('scroller3').scrollTop = 250;
-});
-</script>
-
-<div class="group">
- <div id="scroller1" class="scroller">
- <div class="contents">
- <div class="indicator inline" style="top: 150px;">XXX</div>
- </div>
- </div>
-</div>
-
-<div class="group">
- <div id="scroller2" class="scroller">
- <div class="contents">
- <div class="indicator inline" style="top: 175px;">XXX</div>
- </div>
- </div>
-</div>
-
-<div class="group">
- <div id="scroller3" class="scroller">
- <div class="contents">
- <div class="indicator inline" style="top: 275px;">XXX</div>
- </div>
- </div>
-</div>
-
-<div>You should see three green rectangles above. No red should be visible.</div>
diff --git a/tests/wpt/mozilla/tests/css/css-position-3/position-sticky-inline.html b/tests/wpt/mozilla/tests/css/css-position-3/position-sticky-inline.html
deleted file mode 100644
index 6e6ea9ef91e..00000000000
--- a/tests/wpt/mozilla/tests/css/css-position-3/position-sticky-inline.html
+++ /dev/null
@@ -1,105 +0,0 @@
-<!DOCTYPE html>
-<title>position:sticky should work for inline elements</title>
-<link rel="match" href="position-sticky-inline-ref.html" />
-<link rel="help" href="https://www.w3.org/TR/css-position-3/#sticky-pos" />
-<link rel="stylesheet" type="text/css" href="/fonts/ahem.css">
-<meta name="assert" content="This test checks that position:sticky works for inline elements" />
-
-<style>
-.group {
- display: inline-block;
- position: relative;
- width: 150px;
- height: 250px;
-}
-
-.scroller {
- position: relative;
- width: 100px;
- height: 200px;
- overflow-x: hidden;
- overflow-y: auto;
- font: 25px/1 Ahem;
-}
-
-.contents {
- height: 500px;
-}
-
-.prepadding {
- height: 100px;
-}
-
-.container {
- height: 200px;
-}
-
-.innerpadding {
- height: 50px;
-}
-
-.indicator {
- position: absolute;
- left: 0;
- color: red;
-}
-
-.sticky {
- position: sticky;
- top: 50px;
- color: green;
-}
-
-.inline {
- display: inline;
-}
-</style>
-
-<script>
-window.addEventListener('load', function() {
- document.getElementById('scroller1').scrollTop = 50;
- document.getElementById('scroller2').scrollTop = 125;
- document.getElementById('scroller3').scrollTop = 250;
-});
-</script>
-
-<div class="group">
- <div id="scroller1" class="scroller">
- <div class="indicator inline" style="top: 150px;">XXX</div>
- <div class="contents">
- <div class="prepadding"></div>
- <div class="container">
- <div class="innerpadding"></div>
- <div class="sticky inline">XXX</div>
- </div>
- </div>
- </div>
-</div>
-
-<div class="group">
- <div id="scroller2" class="scroller">
- <div class="indicator inline" style="top: 175px;">XXX</div>
- <div class="contents">
- <div class="prepadding"></div>
- <div class="container">
- <div class="innerpadding"></div>
- <div class="sticky inline">XXX</div>
- </div>
- </div>
- </div>
-</div>
-
-<div class="group">
- <div id="scroller3" class="scroller">
- <div class="indicator inline" style="top: 275px;">XXX</div>
- <div class="contents">
- <div class="prepadding"></div>
- <div class="container">
- <div class="innerpadding"></div>
- <div class="sticky inline">XXX</div>
- </div>
- </div>
- </div>
-</div>
-
-<div>You should see three green rectangles above. No red should be visible.</div>
diff --git a/tests/wpt/mozilla/tests/css/css-position-3/position-sticky-input-box-gets-focused-after-scroll.html b/tests/wpt/mozilla/tests/css/css-position-3/position-sticky-input-box-gets-focused-after-scroll.html
deleted file mode 100644
index 5b2d705e2d0..00000000000
--- a/tests/wpt/mozilla/tests/css/css-position-3/position-sticky-input-box-gets-focused-after-scroll.html
+++ /dev/null
@@ -1,30 +0,0 @@
-<!DOCTYPE html>
-<title>Focusing on visible sticky input box should not scroll the page.</title>
-<link rel="help" href="https://www.w3.org/TR/css-position-3/#sticky-pos" />
-<meta name="assert" content="This test checks that focusing on visible sticky
-positioned input box should not scroll the page." />
-
-<script src="/resources/testharness.js"></script>
-<script src="/resources/testharnessreport.js"></script>
-
-<style>
-body {
- height: 2000px;
-}
-
-input {
- position: sticky;
- top: 10px;
-}
-</style>
-
-<input type="text" id="input"/>
-
-<script>
-test(() => {
- var input = document.getElementById('input');
- window.scrollTo(0, 100);
- input.focus();
- assert_equals(window.scrollY, 100);
-}, 'Focusing on visible sticky input box should not scroll the page.');
-</script>
diff --git a/tests/wpt/mozilla/tests/css/css-position-3/position-sticky-left-ref.html b/tests/wpt/mozilla/tests/css/css-position-3/position-sticky-left-ref.html
deleted file mode 100644
index e0de6fbb812..00000000000
--- a/tests/wpt/mozilla/tests/css/css-position-3/position-sticky-left-ref.html
+++ /dev/null
@@ -1,68 +0,0 @@
-<!DOCTYPE html>
-<title>Reference for position:sticky elements should respect the left constraint</title>
-
-<style>
-.group {
- position: relative;
- width: 250px;
- height: 150px;
-}
-
-.scroller {
- position: relative;
- width: 200px;
- height: 100px;
- overflow-x: auto;
- overflow-y: hidden;
-}
-
-.contents {
- height: 100%;
- width: 500px;
-}
-
-.indicator {
- background-color: green;
- position: absolute;
- top: 0;
-}
-
-.box {
- height: 100%;
- width: 100px;
-}
-</style>
-
-<script>
-window.addEventListener('load', function() {
- document.getElementById('scroller1').scrollLeft = 50;
- document.getElementById('scroller2').scrollLeft = 125;
- document.getElementById('scroller3').scrollLeft = 200;
-});
-</script>
-
-<div class="group">
- <div id="scroller1" class="scroller">
- <div class="contents">
- <div class="indicator box" style="left: 150px;"></div>
- </div>
- </div>
-</div>
-
-<div class="group">
- <div id="scroller2" class="scroller">
- <div class="contents">
- <div class="indicator box" style="left: 175px;"></div>
- </div>
- </div>
-</div>
-
-<div class="group">
- <div id="scroller3" class="scroller">
- <div class="contents">
- <div class="indicator box" style="left: 200px;"></div>
- </div>
- </div>
-</div>
-
-<div>You should see three green boxes above. No red should be visible.</div>
diff --git a/tests/wpt/mozilla/tests/css/css-position-3/position-sticky-left.html b/tests/wpt/mozilla/tests/css/css-position-3/position-sticky-left.html
deleted file mode 100644
index 40a4d7282db..00000000000
--- a/tests/wpt/mozilla/tests/css/css-position-3/position-sticky-left.html
+++ /dev/null
@@ -1,103 +0,0 @@
-<!DOCTYPE html>
-<title>position:sticky elements should respect the left constraint</title>
-<link rel="match" href="position-sticky-left-ref.html" />
-<link rel="help" href="https://www.w3.org/TR/css-position-3/#sticky-pos" />
-<meta name="assert" content="This test checks that position:sticky elements obey their left anchor after scrolling" />
-
-<style>
-.group {
- position: relative;
- width: 250px;
- height: 150px;
-}
-
-.scroller {
- position: relative;
- width: 200px;
- height: 100px;
- overflow-x: auto;
- overflow-y: hidden;
-}
-
-.contents {
- height: 100%;
- width: 500px;
-}
-
-.prepadding {
- display: inline-block;
- height: 100%;
- width: 100px;
-}
-
-.container {
- display: inline-block;
- height: 100%;
- width: 200px;
-}
-
-.innerpadding {
- display: inline-block;
- height: 100%;
- width: 50px;
-}
-
-.indicator {
- background-color: red;
- position: absolute;
- top: 0;
-}
-
-.sticky {
- background-color: green;
- position: sticky;
- left: 50px;
-}
-
-.box {
- display: inline-block;
- height: 100%;
- width: 100px;
-}
-
-</style>
-
-<script>
-window.addEventListener('load', function() {
- document.getElementById('scroller1').scrollLeft = 50;
- document.getElementById('scroller2').scrollLeft = 125;
- document.getElementById('scroller3').scrollLeft = 200;
-});
-</script>
-
-<div class="group">
- <div id="scroller1" class="scroller">
- <div class="indicator box" style="left: 150px;"></div>
- <div class="contents">
- <!-- As these elements are inline, they are whitespace sensitive. -->
- <div class="prepadding"></div><div class="container"><div class="innerpadding"></div><div class="sticky box"></div></div>
- </div>
- </div>
-</div>
-
-<div class="group">
- <div id="scroller2" class="scroller">
- <div class="indicator box" style="left: 175px;"></div>
- <div class="contents">
- <!-- As these elements are inline, they are whitespace sensitive. -->
- <div class="prepadding"></div><div class="container"><div class="innerpadding"></div><div class="sticky box"></div></div>
- </div>
- </div>
-</div>
-
-<div class="group">
- <div id="scroller3" class="scroller">
- <div class="indicator box" style="left: 200px;"></div>
- <div class="contents">
- <!-- As these elements are inline, they are whitespace sensitive. -->
- <div class="prepadding"></div><div class="container"><div class="innerpadding"></div><div class="sticky box"></div></div>
- </div>
- </div>
-</div>
-
-<div>You should see three green boxes above. No red should be visible.</div>
diff --git a/tests/wpt/mozilla/tests/css/css-position-3/position-sticky-margins-ref.html b/tests/wpt/mozilla/tests/css/css-position-3/position-sticky-margins-ref.html
deleted file mode 100644
index 30490398923..00000000000
--- a/tests/wpt/mozilla/tests/css/css-position-3/position-sticky-margins-ref.html
+++ /dev/null
@@ -1,63 +0,0 @@
-<!DOCTYPE html>
-<title>Reference for position:sticky elements should properly interact with margins</title>
-
-<style>
-.group {
- display: inline-block;
- position: relative;
- width: 180px;
- height: 400px;
-}
-
-.scroller {
- width: 150px;
- height: 300px;
- overflow-y: scroll;
- overflow-x: hidden;
-}
-
-.indicator {
- position: relative;
- background-color: green;
- margin: 15px;
-}
-
-.box {
- width: 100px;
- height: 100px;
-}
-
-.padding {
- height: 385px;
-}
-</style>
-<script>
-window.addEventListener('load', function() {
- document.getElementById('scroller1').scrollTop = 0;
- document.getElementById('scroller2').scrollTop = 60;
- document.getElementById('scroller3').scrollTop = 120;
-});
-</script>
-
-<div class="group">
- <div id="scroller1" class="scroller">
- <div class="indicator box" style="top: 0;"></div>
- <div class="padding"></div>
- </div>
-</div>
-
-<div class="group">
- <div id="scroller2" class="scroller">
- <div class="indicator box" style="top: 50px;"></div>
- <div class="padding"></div>
- </div>
-</div>
-
-<div class="group">
- <div id="scroller3" class="scroller">
- <div class="indicator box" style="top: 85px;"></div>
- <div class="padding"></div>
- </div>
-</div>
-
-<div>You should see three green boxes above. No red should be visible.</div>
diff --git a/tests/wpt/mozilla/tests/css/css-position-3/position-sticky-margins.html b/tests/wpt/mozilla/tests/css/css-position-3/position-sticky-margins.html
deleted file mode 100644
index 5b38ab4c996..00000000000
--- a/tests/wpt/mozilla/tests/css/css-position-3/position-sticky-margins.html
+++ /dev/null
@@ -1,92 +0,0 @@
-<!DOCTYPE html>
-<title>position:sticky elements should properly interact with margins</title>
-<link rel="match" href="position-sticky-margins-ref.html" />
-<link rel="help" href="https://www.w3.org/TR/css-position-3/#sticky-pos" />
-<meta name="assert" content="position:sticky elements should ignore margins when sticking, but consider them when making sure sticky elements do not escape their containing block" />
-
-<style>
-.group {
- display: inline-block;
- position: relative;
- width: 180px;
- height: 400px;
-}
-
-.scroller {
- position: relative;
- width: 150px;
- height: 300px;
- overflow-y: scroll;
- overflow-x: hidden;
-}
-
-.holder {
- width: 130px;
- height: 200px;
-}
-
-.sticky {
- position: sticky;
- background-color: green;
- top: 5px;
- margin: 15px;
-}
-
-.indicator {
- left: 15px;
- position: absolute;
- background-color: red;
-}
-
-.box {
- width: 100px;
- height: 100px;
-}
-
-.padding {
- height: 300px;
-}
-</style>
-<script>
-window.addEventListener('load', function() {
- document.getElementById('scroller1').scrollTop = 0;
- document.getElementById('scroller2').scrollTop = 60;
- document.getElementById('scroller3').scrollTop = 120;
-});
-</script>
-
-<!-- Before sticking, the margin should be obeyed. -->
-<div class="group">
- <div id="scroller1" class="scroller">
- <div class="indicator box" style="top: 15px;"></div>
- <div class="holder">
- <div class="sticky box"></div>
- </div>
- <div class="padding"></div>
- </div>
-</div>
-
-<!-- Whilst stuck, the margin is irrelevant. -->
-<div class="group">
- <div id="scroller2" class="scroller">
- <div class="indicator box" style="top: 65px;"></div>
- <div class="holder">
- <div class="sticky box"></div>
- </div>
- <div class="padding"></div>
- </div>
-</div>
-
-<!-- The margin does count when making sure the sticky element does not escape
- its containing block. -->
-<div class="group">
- <div id="scroller3" class="scroller">
- <div class="indicator box" style="top: 100px;"></div>
- <div class="holder">
- <div class="sticky box"></div>
- </div>
- <div class="padding"></div>
- </div>
-</div>
-
-<div>You should see three green boxes above. No red should be visible.</div>
diff --git a/tests/wpt/mozilla/tests/css/css-position-3/position-sticky-nested-bottom-ref.html b/tests/wpt/mozilla/tests/css/css-position-3/position-sticky-nested-bottom-ref.html
deleted file mode 100644
index 6be2b5a7b1d..00000000000
--- a/tests/wpt/mozilla/tests/css/css-position-3/position-sticky-nested-bottom-ref.html
+++ /dev/null
@@ -1,76 +0,0 @@
-<!DOCTYPE html>
-<title>Reference for nested bottom-constrained position:sticky elements should render correctly</title>
-
-<style>
-.group {
- display: inline-block;
- position: relative;
- width: 150px;
- height: 250px;
-}
-
-.scroller {
- position: relative;
- width: 100px;
- height: 200px;
- overflow-x: hidden;
- overflow-y: auto;
-}
-
-.contents {
- height: 500px;
-}
-
-.outerIndicator {
- background-color: green;
- position: absolute;
- left: 0;
- width: 100%;
- height: 100px;
-}
-
-.innerIndicator {
- background-color: blue;
- position: absolute;
- left: 0;
- width: 100%;
- height: 50px;
-}
-</style>
-
-<script>
-window.addEventListener('load', function() {
- document.getElementById('scroller1').scrollTop = 75;
- document.getElementById('scroller2').scrollTop = 175;
- document.getElementById('scroller3').scrollTop = 250;
-});
-</script>
-
-<div class="group">
- <div id="scroller1" class="scroller">
- <div class="contents">
- <div class="outerIndicator" style="top: 200px;"></div>
- <div class="innerIndicator" style="top: 200px;"></div>
- </div>
- </div>
-</div>
-
-<div class="group">
- <div id="scroller2" class="scroller">
- <div class="contents">
- <div class="outerIndicator" style="top: 250px;"></div>
- <div class="innerIndicator" style="top: 290px;"></div>
- </div>
- </div>
-</div>
-
-<div class="group">
- <div id="scroller3" class="scroller">
- <div class="contents">
- <div class="outerIndicator" style="top: 300px;"></div>
- <div class="innerIndicator" style="top: 350px;"></div>
- </div>
- </div>
-</div>
-
-<div>You should see three green and three blue boxes above. No red should be visible.</div>
diff --git a/tests/wpt/mozilla/tests/css/css-position-3/position-sticky-nested-bottom.html b/tests/wpt/mozilla/tests/css/css-position-3/position-sticky-nested-bottom.html
deleted file mode 100644
index d4d20e571a3..00000000000
--- a/tests/wpt/mozilla/tests/css/css-position-3/position-sticky-nested-bottom.html
+++ /dev/null
@@ -1,135 +0,0 @@
-<!DOCTYPE html>
-<title>Nested bottom-constrained position:sticky elements should render correctly</title>
-<link rel="match" href="position-sticky-nested-bottom-ref.html" />
-<link rel="help" href="https://www.w3.org/TR/css-position-3/#sticky-pos" />
-<meta name="assert" content="This test checks that nested position:sticky elements with a bottom constraint render correctly" />
-
-<style>
-.group {
- display: inline-block;
- position: relative;
- width: 150px;
- height: 250px;
-}
-
-.scroller {
- position: relative;
- width: 100px;
- height: 200px;
- overflow-x: hidden;
- overflow-y: auto;
-}
-
-.contents {
- height: 500px;
-}
-
-.prepadding {
- height: 200px;
-}
-
-.container {
- height: 200px;
-}
-
-.filler {
- height: 100px;
-}
-
-.outerIndicator {
- background-color: red;
- position: absolute;
- left: 0;
- width: 100%;
- height: 100px;
-}
-
-.innerIndicator {
- background-color: red;
- position: absolute;
- left: 0;
- width: 100%;
- height: 50px;
-}
-
-.outerSticky {
- background-color: green;
- position: sticky;
- bottom: 25px;
- width: 100%;
- height: 100px;
-}
-
-.innerFiller {
- height: 50px;
-}
-
-.innerSticky {
- background-color: blue;
- position: sticky;
- bottom: 35px;
- width: 100%;
- height: 50px;
-}
-</style>
-
-<script>
-window.addEventListener('load', function() {
- document.getElementById('scroller1').scrollTop = 75;
- document.getElementById('scroller2').scrollTop = 175;
- document.getElementById('scroller3').scrollTop = 250;
-});
-</script>
-
-<div class="group">
- <div id="scroller1" class="scroller">
- <div class="outerIndicator" style="top: 200px;"></div>
- <div class="contents">
- <div class="prepadding"></div>
- <div class="container">
- <div class="filler"></div>
- <div class="outerSticky">
- <div class="innerIndicator" style="top: 0;"></div>
- <div class="innerFiller"></div>
- <div class="innerSticky"></div>
- </div>
- </div>
- </div>
- </div>
-</div>
-
-<div class="group">
- <div id="scroller2" class="scroller">
- <div class="outerIndicator" style="top: 250px;"></div>
- <div class="contents">
- <div class="prepadding"></div>
- <div class="container">
- <div class="filler"></div>
- <div class="outerSticky">
- <div class="innerIndicator" style="top: 40px;"></div>
- <div class="innerFiller"></div>
- <div class="innerSticky"></div>
- </div>
- </div>
- </div>
- </div>
-</div>
-
-<div class="group">
- <div id="scroller3" class="scroller">
- <div class="outerIndicator" style="top: 300px;"></div>
- <div class="contents">
- <div class="prepadding"></div>
- <div class="container">
- <div class="filler"></div>
- <div class="outerSticky">
- <div class="innerIndicator" style="top: 50px;"></div>
- <div class="innerFiller"></div>
- <div class="innerSticky"></div>
- </div>
- </div>
- </div>
- </div>
-</div>
-
-<div>You should see three green and three blue boxes above. No red should be visible.</div>
diff --git a/tests/wpt/mozilla/tests/css/css-position-3/position-sticky-nested-inline-ref.html b/tests/wpt/mozilla/tests/css/css-position-3/position-sticky-nested-inline-ref.html
deleted file mode 100644
index 914ff82d73f..00000000000
--- a/tests/wpt/mozilla/tests/css/css-position-3/position-sticky-nested-inline-ref.html
+++ /dev/null
@@ -1,74 +0,0 @@
-<!DOCTYPE html>
-<title>Reference for nested inline position:sticky elements should render correctly</title>
-<link rel="stylesheet" type="text/css" href="/fonts/ahem.css">
-
-<style>
-.group {
- display: inline-block;
- position: relative;
- width: 150px;
- height: 250px;
-}
-
-.scroller {
- position: relative;
- width: 100px;
- height: 200px;
- overflow-x: hidden;
- overflow-y: auto;
- font: 25px/1 Ahem;
-}
-
-.contents {
- height: 500px;
-}
-
-.outerIndicator {
- color: green;
- position: absolute;
- left: 0;
-}
-
-.innerIndicator {
- color: blue;
- position: absolute;
- left: 25px;
-}
-</style>
-
-<script>
-window.addEventListener('load', function() {
- document.getElementById('scroller1').scrollTop = 50;
- document.getElementById('scroller2').scrollTop = 125;
- document.getElementById('scroller3').scrollTop = 225;
-});
-</script>
-
-<div class="group">
- <div id="scroller1" class="scroller">
- <div class="contents">
- <div class="outerIndicator" style="top: 150px;">X</div>
- <div class="innerIndicator" style="top: 150px;">XX</div>
- </div>
- </div>
-</div>
-
-<div class="group">
- <div id="scroller2" class="scroller">
- <div class="contents">
- <div class="outerIndicator" style="top: 175px;">X</div>
- <div class="innerIndicator" style="top: 185px;">XX</div>
- </div>
- </div>
-</div>
-
-<div class="group">
- <div id="scroller3" class="scroller">
- <div class="contents">
- <div class="outerIndicator" style="top: 275px;">X</div>
- <div class="innerIndicator" style="top: 275px;">XX</div>
- </div>
- </div>
-</div>
-
-<div>You should see three green and three blue rectangles above. No red should be visible.</div>
diff --git a/tests/wpt/mozilla/tests/css/css-position-3/position-sticky-nested-inline.html b/tests/wpt/mozilla/tests/css/css-position-3/position-sticky-nested-inline.html
deleted file mode 100644
index d31bf6617cb..00000000000
--- a/tests/wpt/mozilla/tests/css/css-position-3/position-sticky-nested-inline.html
+++ /dev/null
@@ -1,115 +0,0 @@
-<!DOCTYPE html>
-<title>Nested inline position:sticky elements should render correctly</title>
-<link rel="match" href="position-sticky-nested-inline-ref.html" />
-<link rel="help" href="https://www.w3.org/TR/css-position-3/#sticky-pos" />
-<link rel="stylesheet" type="text/css" href="/fonts/ahem.css">
-<meta name="assert" content="This test checks that nested inline position:sticky elements render correctly" />
-
-<style>
-.group {
- display: inline-block;
- position: relative;
- width: 150px;
- height: 250px;
-}
-
-.scroller {
- position: relative;
- width: 100px;
- height: 200px;
- overflow-x: hidden;
- overflow-y: auto;
- font: 25px/1 Ahem;
-}
-
-.contents {
- height: 500px;
-}
-
-.prepadding {
- height: 100px;
-}
-
-.container {
- height: 200px;
-}
-
-.innerpadding {
- height: 50px;
-}
-
-.outerIndicator {
- color: red;
- position: absolute;
- left: 0;
-}
-
-.innerIndicator {
- color: red;
- position: absolute;
- left: 25px;
-}
-
-.outerSticky {
- display: inline;
- color: green;
- position: sticky;
- top: 50px;
-}
-
-.innerSticky {
- display: inline;
- color: blue;
- position: sticky;
- top: 60px;
-}
-</style>
-
-<script>
-window.addEventListener('load', function() {
- document.getElementById('scroller1').scrollTop = 50;
- document.getElementById('scroller2').scrollTop = 125;
- document.getElementById('scroller3').scrollTop = 225;
-});
-</script>
-
-<div class="group">
- <div id="scroller1" class="scroller">
- <div class="outerIndicator" style="top: 150px;">X</div>
- <div class="contents">
- <div class="prepadding"></div>
- <div class="container">
- <div class="innerpadding"></div>
- <div class="outerSticky">X<div class="innerIndicator" style="top: 0;">XX</div><div class="innerSticky">XX</div></div>
- </div>
- </div>
- </div>
-</div>
-
-<div class="group">
- <div id="scroller2" class="scroller">
- <div class="outerIndicator" style="top: 175px;">X</div>
- <div class="contents">
- <div class="prepadding"></div>
- <div class="container">
- <div class="innerpadding"></div>
- <div class="outerSticky">X<div class="innerIndicator" style="top: 10px;">XX</div><div class="innerSticky">XX</div></div>
- </div>
- </div>
- </div>
-</div>
-
-<div class="group">
- <div id="scroller3" class="scroller">
- <div class="outerIndicator" style="top: 200px;">X</div>
- <div class="contents">
- <div class="prepadding"></div>
- <div class="container">
- <div class="innerpadding"></div>
- <div class="outerSticky">X<div class="innerIndicator" style="top: 0;">XX</div><div class="innerSticky">XX</div></div>
- </div>
- </div>
- </div>
-</div>
-
-<div>You should see three green and three blue rectangles above. No red should be visible.</div>
diff --git a/tests/wpt/mozilla/tests/css/css-position-3/position-sticky-nested-left-ref.html b/tests/wpt/mozilla/tests/css/css-position-3/position-sticky-nested-left-ref.html
deleted file mode 100644
index d3ab0d593d6..00000000000
--- a/tests/wpt/mozilla/tests/css/css-position-3/position-sticky-nested-left-ref.html
+++ /dev/null
@@ -1,76 +0,0 @@
-<!DOCTYPE html>
-<title>Reference for nested left-constrained position:sticky elements should render correctly</title>
-
-<style>
-.group {
- position: relative;
- width: 250px;
- height: 150px;
-}
-
-.scroller {
- position: relative;
- width: 200px;
- height: 100px;
- overflow-x: auto;
- overflow-y: hidden;
-}
-
-.contents {
- height: 100%;
- width: 500px;
-}
-
-.outerIndicator {
- background-color: green;
- position: absolute;
- top: 0;
- height: 100%;
- width: 100px;
-}
-
-.innerIndicator {
- background-color: blue;
- position: absolute;
- top: 0;
- height: 100%;
- width: 50px;
-}
-</style>
-
-<script>
-window.addEventListener('load', function() {
- document.getElementById('scroller1').scrollLeft = 50;
- document.getElementById('scroller2').scrollLeft = 125;
- document.getElementById('scroller3').scrollLeft = 225;
-});
-</script>
-
-<div class="group">
- <div id="scroller1" class="scroller">
- <div class="contents">
- <div class="outerIndicator" style="left: 150px;"></div>
- <div class="innerIndicator" style="left: 150px;"></div>
- </div>
- </div>
-</div>
-
-<div class="group">
- <div id="scroller2" class="scroller">
- <div class="contents">
- <div class="outerIndicator" style="left: 175px;"></div>
- <div class="innerIndicator" style="left: 185px;"></div>
- </div>
- </div>
-</div>
-
-<div class="group">
- <div id="scroller3" class="scroller">
- <div class="contents">
- <div class="outerIndicator" style="left: 200px;"></div>
- <div class="innerIndicator" style="left: 250px;"></div>
- </div>
- </div>
-</div>
-
-<div>You should see three green and three blue boxes above. No red should be visible.</div>
diff --git a/tests/wpt/mozilla/tests/css/css-position-3/position-sticky-nested-left.html b/tests/wpt/mozilla/tests/css/css-position-3/position-sticky-nested-left.html
deleted file mode 100644
index b5a23abeccf..00000000000
--- a/tests/wpt/mozilla/tests/css/css-position-3/position-sticky-nested-left.html
+++ /dev/null
@@ -1,141 +0,0 @@
-<!DOCTYPE html>
-<title>Nested left-constrained position:sticky elements should render correctly</title>
-<link rel="match" href="position-sticky-nested-left-ref.html" />
-<link rel="help" href="https://www.w3.org/TR/css-position-3/#sticky-pos" />
-<meta name="assert" content="This test checks that nested position:sticky elements with a left constraint render correctly" />
-
-<style>
-.group {
- position: relative;
- width: 250px;
- height: 150px;
-}
-
-.scroller {
- position: relative;
- width: 200px;
- height: 100px;
- overflow-x: auto;
- overflow-y: hidden;
-}
-
-.contents {
- height: 100%;
- width: 500px;
- /* Allow nice formatting of inline divs. Fonts are not used in this test. */
- font-size: 0;
-}
-
-.prepadding {
- display: inline-block;
- height: 100%;
- width: 100px;
-}
-
-.container {
- display: inline-block;
- height: 100%;
- width: 200px;
-}
-
-.innerpadding {
- display: inline-block;
- height: 100%;
- width: 50px;
-}
-
-.outerIndicator {
- background-color: red;
- position: absolute;
- top: 0;
- display: inline-block;
- height: 100%;
- width: 100px;
-}
-
-.innerIndicator {
- background-color: red;
- position: absolute;
- top: 0;
- display: inline-block;
- height: 100%;
- width: 50px;
-}
-
-.outerSticky {
- background-color: green;
- position: sticky;
- left: 50px;
- display: inline-block;
- height: 100%;
- width: 100px;
-}
-
-.innerSticky {
- background-color: blue;
- position: sticky;
- left: 60px;
- display: inline-block;
- height: 100%;
- width: 50px;
-}
-
-</style>
-
-<script>
-window.addEventListener('load', function() {
- document.getElementById('scroller1').scrollLeft = 50;
- document.getElementById('scroller2').scrollLeft = 125;
- document.getElementById('scroller3').scrollLeft = 225;
-});
-</script>
-
-<div class="group">
- <div id="scroller1" class="scroller">
- <div class="outerIndicator" style="left: 150px;"></div>
- <div class="contents">
- <div class="prepadding"></div>
- <div class="container">
- <div class="innerpadding"></div>
- <div class="outerSticky">
- <div class="innerIndicator" style="left: 0;"></div>
- <div class="innerSticky"></div>
- </div>
- </div>
- </div>
- </div>
-</div>
-
-<div class="group">
- <div id="scroller2" class="scroller">
- <div class="outerIndicator" style="left: 175px;"></div>
- <div class="contents">
- <div class="prepadding"></div>
- <div class="container">
- <div class="innerpadding">
- </div><div class="outerSticky">
- <div class="innerIndicator" style="left: 10px;"></div>
- <div class="innerSticky"></div>
- </div>
- </div>
- </div>
- </div>
-</div>
-
-<div class="group">
- <div id="scroller3" class="scroller">
- <div class="outerIndicator" style="left: 200px;"></div>
- <div class="contents">
- <div class="prepadding"></div>
- <div class="container">
- <div class="innerpadding"></div>
- <div class="outerSticky">
- <div class="innerIndicator" style="left: 50px;"></div>
- <div class="innerSticky"></div>
- </div>
- </div>
- </div>
- </div>
-</div>
-
-<div>You should see three green and three blue boxes above. No red should be visible.</div>
diff --git a/tests/wpt/mozilla/tests/css/css-position-3/position-sticky-nested-right-ref.html b/tests/wpt/mozilla/tests/css/css-position-3/position-sticky-nested-right-ref.html
deleted file mode 100644
index 07852ba6041..00000000000
--- a/tests/wpt/mozilla/tests/css/css-position-3/position-sticky-nested-right-ref.html
+++ /dev/null
@@ -1,76 +0,0 @@
-<!DOCTYPE html>
-<title>Reference for position:sticky elements should respect the right constraint</title>
-
-<style>
-.group {
- position: relative;
- width: 250px;
- height: 150px;
-}
-
-.scroller {
- position: relative;
- width: 200px;
- height: 100px;
- overflow-x: auto;
- overflow-y: hidden;
-}
-
-.contents {
- height: 100%;
- width: 500px;
-}
-
-.outerIndicator {
- background-color: green;
- position: absolute;
- top: 0;
- height: 100%;
- width: 100px;
-}
-
-.innerIndicator {
- background-color: blue;
- position: absolute;
- top: 0;
- height: 100%;
- width: 50px;
-}
-</style>
-
-<script>
-window.addEventListener('load', function() {
- document.getElementById('scroller1').scrollLeft = 75;
- document.getElementById('scroller2').scrollLeft = 175;
- document.getElementById('scroller3').scrollLeft = 250;
-});
-</script>
-
-<div class="group">
- <div id="scroller1" class="scroller">
- <div class="contents">
- <div class="outerIndicator" style="left: 200px;"></div>
- <div class="innerIndicator" style="left: 200px;"></div>
- </div>
- </div>
-</div>
-
-<div class="group">
- <div id="scroller2" class="scroller">
- <div class="contents">
- <div class="outerIndicator" style="left: 250px;"></div>
- <div class="innerIndicator" style="left: 290px;"></div>
- </div>
- </div>
-</div>
-
-<div class="group">
- <div id="scroller3" class="scroller">
- <div class="contents">
- <div class="outerIndicator" style="left: 300px;"></div>
- <div class="innerIndicator" style="left: 350px;"></div>
- </div>
- </div>
-</div>
-
-<div>You should see three green and three blue boxes above. No red should be visible.</div>
diff --git a/tests/wpt/mozilla/tests/css/css-position-3/position-sticky-nested-right.html b/tests/wpt/mozilla/tests/css/css-position-3/position-sticky-nested-right.html
deleted file mode 100644
index 411f722eec7..00000000000
--- a/tests/wpt/mozilla/tests/css/css-position-3/position-sticky-nested-right.html
+++ /dev/null
@@ -1,149 +0,0 @@
-<!DOCTYPE html>
-<title>Nested right-constrained position:sticky elements should render correctly</title>
-<link rel="match" href="position-sticky-nested-right-ref.html" />
-<link rel="help" href="https://www.w3.org/TR/css-position-3/#sticky-pos" />
-<meta name="assert" content="This test checks that nested position:sticky elements with a right constraint render correctly" />
-
-<style>
-.group {
- position: relative;
- width: 250px;
- height: 150px;
-}
-
-.scroller {
- position: relative;
- width: 200px;
- height: 100px;
- overflow-x: auto;
- overflow-y: hidden;
-}
-
-.contents {
- height: 100%;
- width: 500px;
- /* Allow nice formatting of inline divs. Fonts are not used in this test. */
- font-size: 0;
-}
-
-.prepadding {
- display: inline-block;
- height: 100%;
- width: 200px;
-}
-
-.container {
- display: inline-block;
- height: 100%;
- width: 200px;
-}
-
-.filler {
- display: inline-block;
- height: 100%;
- width: 100px;
-}
-
-.outerIndicator {
- background-color: red;
- position: absolute;
- top: 0;
- display: inline-block;
- height: 100%;
- width: 100px;
-}
-
-.innerIndicator {
- background-color: red;
- position: absolute;
- top: 0;
- display: inline-block;
- height: 100%;
- width: 50px;
-}
-
-.outerSticky {
- background-color: green;
- position: sticky;
- right: 25px;
- display: inline-block;
- height: 100%;
- width: 100px;
-}
-
-.innerFiller {
- display: inline-block;
- height: 100%;
- width: 50px;
-}
-
-.innerSticky {
- background-color: blue;
- position: sticky;
- right: 35px;
- display: inline-block;
- height: 100%;
- width: 50px;
-}
-</style>
-
-<script>
-window.addEventListener('load', function() {
- document.getElementById('scroller1').scrollLeft = 75;
- document.getElementById('scroller2').scrollLeft = 175;
- document.getElementById('scroller3').scrollLeft = 250;
-});
-</script>
-
-<div class="group">
- <div id="scroller1" class="scroller">
- <div class="outerIndicator" style="left: 200px;"></div>
- <div class="contents">
- <div class="prepadding"></div>
- <div class="container">
- <div class="filler"></div>
- <div class="outerSticky">
- <div class="innerIndicator" style="left: 0;"></div>
- <div class="innerFiller"></div>
- <div class="innerSticky"></div>
- </div>
- </div>
- </div>
- </div>
-</div>
-
-<div class="group">
- <div id="scroller2" class="scroller">
- <div class="outerIndicator" style="left: 250px;"></div>
- <div class="contents">
- <div class="prepadding"></div>
- <div class="container">
- <div class="filler"></div>
- <div class="outerSticky">
- <div class="innerIndicator" style="left: 40px;"></div>
- <div class="innerFiller"></div>
- <div class="innerSticky"></div>
- </div>
- </div>
- </div>
- </div>
-</div>
-
-<div class="group">
- <div id="scroller3" class="scroller">
- <div class="outerIndicator" style="left: 300px;"></div>
- <div class="contents">
- <div class="prepadding"></div>
- <div class="container">
- <div class="filler"></div>
- <div class="outerSticky">
- <div class="innerIndicator" style="left: 50px;"></div>
- <div class="innerFiller"></div>
- <div class="innerSticky"></div>
- </div>
- </div>
- </div>
- </div>
-</div>
-
-<div>You should see three green and three blue boxes above. No red should be visible.</div>
diff --git a/tests/wpt/mozilla/tests/css/css-position-3/position-sticky-nested-table-ref.html b/tests/wpt/mozilla/tests/css/css-position-3/position-sticky-nested-table-ref.html
deleted file mode 100644
index 9327d04e83f..00000000000
--- a/tests/wpt/mozilla/tests/css/css-position-3/position-sticky-nested-table-ref.html
+++ /dev/null
@@ -1,66 +0,0 @@
-<!DOCTYPE html>
-<title>Reference for nested position:sticky table elements should render correctly</title>
-
-<style>
-.group {
- display: inline-block;
- position: relative;
- width: 150px;
- height: 250px;
-}
-
-.scroller {
- position: relative;
- width: 100px;
- height: 200px;
- overflow-x: hidden;
- overflow-y: auto;
-}
-
-.contents {
- height: 700px;
-}
-
-.indicator {
- position: absolute;
- left: 0;
- background-color: green;
- height: 50px;
- width: 50px;
-}
-
-</style>
-
-<script>
-window.addEventListener('load', function() {
- document.getElementById('scroller1').scrollTop = 50;
- document.getElementById('scroller2').scrollTop = 125;
- document.getElementById('scroller3').scrollTop = 250;
-});
-</script>
-
-<div class="group">
- <div id="scroller1" class="scroller">
- <div class="contents">
- <div class="indicator" style="top: 100px;"></div>
- </div>
- </div>
-</div>
-
-<div class="group">
- <div id="scroller2" class="scroller">
- <div class="contents">
- <div class="indicator" style="top: 150px;"></div>
- </div>
- </div>
-</div>
-
-<div class="group">
- <div id="scroller3" class="scroller">
- <div class="contents">
- <div class="indicator" style="top: 250px;"></div>
- </div>
- </div>
-</div>
-
-<div>You should see three green rectangles above. No red should be visible.</div>
diff --git a/tests/wpt/mozilla/tests/css/css-position-3/position-sticky-nested-table.html b/tests/wpt/mozilla/tests/css/css-position-3/position-sticky-nested-table.html
deleted file mode 100644
index be3fbce1560..00000000000
--- a/tests/wpt/mozilla/tests/css/css-position-3/position-sticky-nested-table.html
+++ /dev/null
@@ -1,131 +0,0 @@
-<!DOCTYPE html>
-<title>Nested position:sticky table elements should render correctly</title>
-<link rel="match" href="position-sticky-nested-table-ref.html" />
-<link rel="help" href="https://www.w3.org/TR/css-position-3/#sticky-pos" />
-<meta name="assert" content="This test checks that nested position:sticky table elements render correctly" />
-
-<style>
-.group {
- display: inline-block;
- position: relative;
- width: 150px;
- height: 250px;
-}
-
-.scroller {
- position: relative;
- width: 100px;
- height: 200px;
- overflow-x: hidden;
- overflow-y: auto;
-}
-
-.contents {
- height: 700px;
-}
-
-.prepadding {
- height: 100px;
-}
-
-table {
- border-collapse: collapse;
-}
-
-td, th {
- height: 50px;
- width: 50px;
- padding: 0;
-}
-
-th {
- background: green;
-}
-
-.sticky {
- position: sticky;
- top: 25px;
-}
-
-.indicator {
- position: absolute;
- left: 0;
- background-color: red;
- height: 50px;
- width: 50px;
-}
-
-</style>
-
-<script>
-window.addEventListener('load', function() {
- document.getElementById('scroller1').scrollTop = 50;
- document.getElementById('scroller2').scrollTop = 125;
- document.getElementById('scroller3').scrollTop = 250;
-});
-</script>
-
-<div class="group">
- <div id="scroller1" class="scroller">
- <div class="contents">
- <div class="indicator" style="top: 100px;"></div>
- <div class="prepadding"></div>
- <table>
- <thead class="sticky">
- <tr class="sticky">
- <th class="sticky"></th>
- </tr>
- </thead>
- <tbody>
- <tr><td></td></tr>
- <tr><td></td></tr>
- <tr><td></td></tr>
- </tbody>
- </table>
- </div>
- </div>
-</div>
-
-<div class="group">
- <div id="scroller2" class="scroller">
- <div class="contents">
- <div class="indicator" style="top: 150px;"></div>
- <div class="prepadding"></div>
- <table>
- <thead class="sticky">
- <tr class="sticky">
- <th class="sticky"></th>
- </tr>
- </thead>
- <tbody>
- <tr><td></td></tr>
- <tr><td></td></tr>
- <tr><td></td></tr>
- </tbody>
- </table>
- </div>
- </div>
-</div>
-
-<div class="group">
- <div id="scroller3" class="scroller">
- <div class="contents">
- <div class="indicator" style="top: 250px;"></div>
- <div class="prepadding"></div>
- <table>
- <thead class="sticky">
- <tr class="sticky">
- <th class="sticky"></th>
- </tr>
- </thead>
- <tbody>
- <tr><td></td></tr>
- <tr><td></td></tr>
- <tr><td></td></tr>
- </tbody>
- </table>
- </div>
- </div>
-</div>
-
-<div>You should see three green rectangles above. No red should be visible.</div>
diff --git a/tests/wpt/mozilla/tests/css/css-position-3/position-sticky-nested-top-ref.html b/tests/wpt/mozilla/tests/css/css-position-3/position-sticky-nested-top-ref.html
deleted file mode 100644
index f4696ce7d0a..00000000000
--- a/tests/wpt/mozilla/tests/css/css-position-3/position-sticky-nested-top-ref.html
+++ /dev/null
@@ -1,83 +0,0 @@
-<!DOCTYPE html>
-<title>Reference for nested top-constrained position:sticky elements should render correctly</title>
-
-<style>
-.group {
- display: inline-block;
- position: relative;
- width: 150px;
- height: 250px;
-}
-
-.scroller {
- position: relative;
- width: 100px;
- height: 200px;
- overflow-x: hidden;
- overflow-y: auto;
-}
-
-.contents {
- height: 500px;
-}
-
-.green {
- background-color: green;
-}
-
-.blue {
- background-color: blue;
-}
-
-.indicator {
- position: absolute;
- left: 0;
-}
-
-.bigBox {
- width: 100%;
- height: 100px;
-}
-
-.smallBox {
- width: 100%;
- height: 50px;
-}
-</style>
-
-<script>
-window.addEventListener('load', function() {
- document.getElementById('scroller1').scrollTop = 50;
- document.getElementById('scroller2').scrollTop = 125;
- document.getElementById('scroller3').scrollTop = 225;
-});
-</script>
-
-<div class="group">
- <div id="scroller1" class="scroller">
- <div class="contents">
- <div class="green indicator bigBox" style="top: 150px;"></div>
- <div class="blue indicator smallBox" style="top: 150px;"></div>
- </div>
- </div>
-</div>
-
-<div class="group">
- <div id="scroller2" class="scroller">
- <div class="contents">
- <div class="green indicator bigBox" style="top: 175px;"></div>
- <div class="blue indicator smallBox" style="top: 185px;"></div>
- </div>
- </div>
-</div>
-
-<div class="group">
- <div id="scroller3" class="scroller">
- <div class="contents">
- <div class="green indicator bigBox" style="top: 200px;"></div>
- <div class="blue indicator smallBox" style="top: 250px;"></div>
- </div>
- </div>
-</div>
-
-<div>You should see three green and three blue boxes above. No red should be visible.</div>
diff --git a/tests/wpt/mozilla/tests/css/css-position-3/position-sticky-nested-top.html b/tests/wpt/mozilla/tests/css/css-position-3/position-sticky-nested-top.html
deleted file mode 100644
index 1ed9dc2a210..00000000000
--- a/tests/wpt/mozilla/tests/css/css-position-3/position-sticky-nested-top.html
+++ /dev/null
@@ -1,128 +0,0 @@
-<!DOCTYPE html>
-<title>Nested top-constrainted position:sticky elements should render correctly</title>
-<link rel="match" href="position-sticky-nested-top-ref.html" />
-<link rel="help" href="https://www.w3.org/TR/css-position-3/#sticky-pos" />
-<meta name="assert" content="This test checks that nested position:sticky elements with a top constraint render correctly" />
-
-<style>
-.group {
- display: inline-block;
- position: relative;
- width: 150px;
- height: 250px;
-}
-
-.scroller {
- position: relative;
- width: 100px;
- height: 200px;
- overflow-x: hidden;
- overflow-y: auto;
-}
-
-.contents {
- height: 500px;
-}
-
-.prepadding {
- height: 100px;
-}
-
-.container {
- height: 200px;
-}
-
-.innerpadding {
- height: 50px;
-}
-
-.outerIndicator {
- background-color: red;
- position: absolute;
- left: 0;
- height: 100px;
- width: 100%;
-}
-
-.innerIndicator {
- background-color: red;
- position: absolute;
- left: 0;
- height: 50px;
- width: 100%;
-}
-
-.outerSticky {
- background-color: green;
- position: sticky;
- top: 50px;
- width: 100%;
- height: 100px;
-}
-
-.innerSticky {
- background-color: blue;
- position: sticky;
- top: 60px;
- width: 100%;
- height: 50px;
-}
-</style>
-
-<script>
-window.addEventListener('load', function() {
- document.getElementById('scroller1').scrollTop = 50;
- document.getElementById('scroller2').scrollTop = 125;
- document.getElementById('scroller3').scrollTop = 225;
-});
-</script>
-
-<div class="group">
- <div id="scroller1" class="scroller">
- <div class="outerIndicator" style="top: 150px;"></div>
- <div class="contents">
- <div class="prepadding"></div>
- <div class="container">
- <div class="innerpadding"></div>
- <div class="outerSticky">
- <div class="innerIndicator" style="top: 0;"></div>
- <div class="innerSticky"></div>
- </div>
- </div>
- </div>
- </div>
-</div>
-
-<div class="group">
- <div id="scroller2" class="scroller">
- <div class="outerIndicator" style="top: 175px;"></div>
- <div class="contents">
- <div class="prepadding"></div>
- <div class="container">
- <div class="innerpadding"></div>
- <div class="outerSticky">
- <div class="innerIndicator" style="top: 10px;"></div>
- <div class="innerSticky"></div>
- </div>
- </div>
- </div>
- </div>
-</div>
-
-<div class="group">
- <div id="scroller3" class="scroller">
- <div class="outerIndicator" style="top: 200px;"></div>
- <div class="contents">
- <div class="prepadding"></div>
- <div class="container">
- <div class="innerpadding"></div>
- <div class="outerSticky">
- <div class="innerIndicator" style="top: 50px;"></div>
- <div class="innerSticky"></div>
- </div>
- </div>
- </div>
- </div>
-</div>
-
-<div>You should see three green and three blue boxes above. No red should be visible.</div>
diff --git a/tests/wpt/mozilla/tests/css/css-position-3/position-sticky-offset-top-left.html b/tests/wpt/mozilla/tests/css/css-position-3/position-sticky-offset-top-left.html
deleted file mode 100644
index ade9e108cf4..00000000000
--- a/tests/wpt/mozilla/tests/css/css-position-3/position-sticky-offset-top-left.html
+++ /dev/null
@@ -1,78 +0,0 @@
-<!DOCTYPE html>
-<title>Sticky positioned element should be observable by offsetTop and offsetLeft</title>
-<link rel="help" href="https://www.w3.org/TR/css-position-3/#sticky-pos" />
-<meta name="assert" content="This test checks that a sticky positioned element
-should be observable by offsetTop/offsetLeft." />
-
-<script src="/resources/testharness.js"></script>
-<script src="/resources/testharnessreport.js"></script>
-
-<style>
-body {
- margin: 0;
-}
-
-.container {
- position: relative; /* Required for offsetTop/offsetLeft tests. */
- overflow: scroll;
- width: 200px;
- height: 200px;
-}
-
-.spacer {
- width: 2000px;
- height: 2000px;
-}
-
-.box {
- width: 100px;
- height: 100px;
- background-color: green;
-}
-
-.sticky {
- position: sticky;
- top: 50px;
- left: 20px;
-}
-</style>
-
-<div id="scroller1" class="container">
- <div class="spacer"></div>
-</div>
-
-<script>
-test(() => {
- var scroller = document.getElementById('scroller1');
- scroller.scrollTop = 100;
- scroller.scrollLeft = 75;
-
- var sticky = document.createElement('div');
- sticky.className = 'sticky box';
- scroller.insertBefore(sticky, scroller.querySelector('.spacer'));
-
- assert_equals(sticky.offsetTop, scroller.scrollTop + 50);
- assert_equals(sticky.offsetLeft, scroller.scrollLeft + 20);
-}, 'offsetTop/offsetLeft should be correct for sticky after script insertion');
-</script>
-
-<div id="scroller2" class="container">
- <div id="sticky2" class="sticky box"></div>
- <div class="spacer"></div>
-</div>
-
-<script>
-test(function() {
- var scroller = document.getElementById('scroller2');
- var sticky = document.getElementById('sticky2');
- scroller.scrollTop = 100;
- scroller.scrollLeft = 75;
-
- var div = document.createElement('div');
- div.style.height = '65px';
- scroller.insertBefore(div, sticky);
-
- assert_equals(sticky.offsetTop, scroller.scrollTop + 50);
- assert_equals(sticky.offsetLeft, scroller.scrollLeft + 20);
-}, 'offsetTop/offsetLeft should be correct for sticky after script-caused layout');
-</script>
diff --git a/tests/wpt/mozilla/tests/css/css-position-3/position-sticky-overflow-padding-ref.html b/tests/wpt/mozilla/tests/css/css-position-3/position-sticky-overflow-padding-ref.html
deleted file mode 100644
index b0e1d4680bc..00000000000
--- a/tests/wpt/mozilla/tests/css/css-position-3/position-sticky-overflow-padding-ref.html
+++ /dev/null
@@ -1,69 +0,0 @@
-<!DOCTYPE html>
-<title>Reference for position:sticky elements should respect padding on their ancestor overflow element</title>
-
-<style>
-.group {
- display: inline-block;
- position: relative;
- width: 150px;
- height: 250px;
-}
-
-.scroller {
- padding: 20px 0;
- position: relative;
- width: 100px;
- height: 200px;
- overflow-x: hidden;
- overflow-y: auto;
-}
-
-.contents {
- height: 500px;
-}
-
-.indicator {
- background-color: green;
- position: absolute;
- left: 0;
-}
-
-.box {
- width: 100%;
- height: 100px;
-}
-</style>
-
-<script>
-window.addEventListener('load', function() {
- document.getElementById('scroller1').scrollTop = 50;
- document.getElementById('scroller2').scrollTop = 175;
- document.getElementById('scroller3').scrollTop = 220;
-});
-</script>
-
-<div class="group">
- <div id="scroller1" class="scroller">
- <div class="contents">
- <div class="indicator box" style="top: 170px;"></div>
- </div>
- </div>
-</div>
-
-<div class="group">
- <div id="scroller2" class="scroller">
- <div class="contents">
- <div class="indicator box" style="top: 195px;"></div>
- </div>
- </div>
-</div>
-
-<div class="group">
- <div id="scroller3" class="scroller">
- <div class="contents">
- <div class="indicator box" style="top: 220px;"></div>
- </div>
- </div>
-</div>
-
-<div>You should see three green boxes above. No red should be visible.</div>
diff --git a/tests/wpt/mozilla/tests/css/css-position-3/position-sticky-overflow-padding.html b/tests/wpt/mozilla/tests/css/css-position-3/position-sticky-overflow-padding.html
deleted file mode 100644
index 0324861219b..00000000000
--- a/tests/wpt/mozilla/tests/css/css-position-3/position-sticky-overflow-padding.html
+++ /dev/null
@@ -1,106 +0,0 @@
-<!DOCTYPE html>
-<title>position:sticky elements should respect padding on their ancestor overflow element</title>
-<link rel="match" href="position-sticky-overflow-padding-ref.html" />
-<link rel="help" href="https://www.w3.org/TR/css-position-3/#sticky-pos" />
-<meta name="assert" content="This test checks that position:sticky elements respect padding on their ancestor overflow element" />
-
-<style>
-.group {
- display: inline-block;
- position: relative;
- width: 150px;
- height: 250px;
-}
-
-.scroller {
- /* The target sticky position should be offset by this padding. */
- padding: 20px 0;
- position: relative;
- width: 100px;
- height: 200px;
- overflow-x: hidden;
- overflow-y: auto;
-}
-
-.contents {
- height: 500px;
-}
-
-.prepadding {
- height: 100px;
-}
-
-.container {
- height: 200px;
-}
-
-.innerpadding {
- height: 50px;
-}
-
-.indicator {
- background-color: red;
- position: absolute;
- left: 0;
-}
-
-.sticky {
- background-color: green;
- position: sticky;
- top: 0;
-}
-
-.box {
- width: 100%;
- height: 100px;
-}
-</style>
-
-<script>
-window.addEventListener('load', function() {
- document.getElementById('scroller1').scrollTop = 50;
- document.getElementById('scroller2').scrollTop = 175;
- document.getElementById('scroller3').scrollTop = 220;
-});
-</script>
-
-<div class="group">
- <div id="scroller1" class="scroller">
- <div class="indicator box" style="top: 170px;"></div>
- <div class="contents">
- <div class="prepadding"></div>
- <div class="container">
- <div class="innerpadding"></div>
- <div class="sticky box"></div>
- </div>
- </div>
- </div>
-</div>
-
-<div class="group">
- <div id="scroller2" class="scroller">
- <div class="indicator box" style="top: 195px;"></div>
- <div class="contents">
- <div class="prepadding"></div>
- <div class="container">
- <div class="innerpadding"></div>
- <div class="sticky box"></div>
- </div>
- </div>
- </div>
-</div>
-
-<div class="group">
- <div id="scroller3" class="scroller">
- <div class="indicator box" style="top: 220px;"></div>
- <div class="contents">
- <div class="prepadding"></div>
- <div class="container">
- <div class="innerpadding"></div>
- <div class="sticky box"></div>
- </div>
- </div>
- </div>
-</div>
-
-<div>You should see three green boxes above. No red should be visible.</div>
diff --git a/tests/wpt/mozilla/tests/css/css-position-3/position-sticky-parsing.html b/tests/wpt/mozilla/tests/css/css-position-3/position-sticky-parsing.html
deleted file mode 100644
index f6f587e615f..00000000000
--- a/tests/wpt/mozilla/tests/css/css-position-3/position-sticky-parsing.html
+++ /dev/null
@@ -1,73 +0,0 @@
-<!DOCTYPE html>
-<title>Position value 'sticky' should be a valid value</title>
-<link rel="help" href="https://www.w3.org/TR/css-position-3/#position-property" />
-<meta name="assert" content="This test checks that setting position to 'sticky'
-should be allowed." />
-
-<script src="/resources/testharness.js"></script>
-<script src="/resources/testharnessreport.js"></script>
-
-<!-- We need something to create elements in. -->
-<body></body>
-
-<script>
-// Sticky is valid for all elements except table-column-group and table-column.
-const VALID_STICKY_DISPLAY_TYPES = [
- 'block',
- 'inline',
- 'run-in',
- 'flow',
- 'flow-root',
- 'table',
- 'flex',
- 'grid',
- 'ruby',
- 'subgrid',
- 'list-item',
- 'table-row-group',
- 'table-header-group',
- 'table-footer-group',
- 'table-row',
- 'table-cell',
- 'table-caption',
- 'ruby-base',
- 'ruby-text',
- 'ruby-base-container',
- 'ruby-text-container',
- 'contents',
- 'none',
-];
-
-const INVALID_STICKY_DISPLAY_TYPES = [
- 'table-column-group',
- 'table-column',
-];
-
-test(() => {
- for (displayValue of VALID_STICKY_DISPLAY_TYPES) {
- let div = document.createElement('div');
- let style = `position: sticky; display: ${displayValue};`;
- div.setAttribute('style', style);
- document.body.appendChild(div);
-
- // We only check display values that the browser under test recognizes.
- if (div.style.display == displayValue) {
- assert_equals(getComputedStyle(div).position, 'sticky',
- `Expected sticky to be valid for display: ${displayValue}`);
- }
- document.body.removeChild(div);
- }
-
- for (displayValue of INVALID_STICKY_DISPLAY_TYPES) {
- let div = document.createElement('div');
- let style = `position: sticky; display: ${displayValue};`;
- div.setAttribute('style', style);
- document.body.appendChild(div);
-
- assert_not_equals(getComputedStyle(div).position, 'sticky',
- `Expected sticky to be invalid for display: ${displayValue}`);
- document.body.removeChild(div);
- }
-}, 'The value of sticky for the position property should be parsed correctly');
-</script>
-
diff --git a/tests/wpt/mozilla/tests/css/css-position-3/position-sticky-right-ref.html b/tests/wpt/mozilla/tests/css/css-position-3/position-sticky-right-ref.html
deleted file mode 100644
index 14ed476834b..00000000000
--- a/tests/wpt/mozilla/tests/css/css-position-3/position-sticky-right-ref.html
+++ /dev/null
@@ -1,68 +0,0 @@
-<!DOCTYPE html>
-<title>Reference for position:sticky elements should respect the right constraint</title>
-
-<style>
-.group {
- position: relative;
- width: 250px;
- height: 150px;
-}
-
-.scroller {
- position: relative;
- width: 200px;
- height: 100px;
- overflow-x: auto;
- overflow-y: hidden;
-}
-
-.contents {
- height: 100%;
- width: 500px;
-}
-
-.indicator {
- background-color: green;
- position: absolute;
- top: 0;
-}
-
-.box {
- height: 100%;
- width: 100px;
-}
-</style>
-
-<script>
-window.addEventListener('load', function() {
- document.getElementById('scroller1').scrollLeft = 100;
- document.getElementById('scroller2').scrollLeft = 175;
- document.getElementById('scroller3').scrollLeft = 250;
-});
-</script>
-
-<div class="group">
- <div id="scroller1" class="scroller">
- <div class="contents">
- <div class="indicator box" style="left: 200px;"></div>
- </div>
- </div>
-</div>
-
-<div class="group">
- <div id="scroller2" class="scroller">
- <div class="contents">
- <div class="indicator box" style="left: 250px;"></div>
- </div>
- </div>
-</div>
-
-<div class="group">
- <div id="scroller3" class="scroller">
- <div class="contents">
- <div class="indicator box" style="left: 300px;"></div>
- </div>
- </div>
-</div>
-
-<div>You should see three green boxes above. No red should be visible.</div>
diff --git a/tests/wpt/mozilla/tests/css/css-position-3/position-sticky-right.html b/tests/wpt/mozilla/tests/css/css-position-3/position-sticky-right.html
deleted file mode 100644
index 6c4e696de8d..00000000000
--- a/tests/wpt/mozilla/tests/css/css-position-3/position-sticky-right.html
+++ /dev/null
@@ -1,102 +0,0 @@
-<!DOCTYPE html>
-<title>position:sticky elements should respect the right constraint</title>
-<link rel="match" href="position-sticky-right-ref.html" />
-<link rel="help" href="https://www.w3.org/TR/css-position-3/#sticky-pos" />
-<meta name="assert" content="This test checks that position:sticky elements obey their right anchor after scrolling" />
-
-<style>
-.group {
- position: relative;
- width: 250px;
- height: 150px;
-}
-
-.scroller {
- position: relative;
- width: 200px;
- height: 100px;
- overflow-x: auto;
- overflow-y: hidden;
-}
-
-.contents {
- height: 100%;
- width: 500px;
-}
-
-.prepadding {
- display: inline-block;
- height: 100%;
- width: 200px;
-}
-
-.container {
- display: inline-block;
- height: 100%;
- width: 200px;
-}
-
-.filler {
- display: inline-block;
- height: 100%;
- width: 100px;
-}
-
-.indicator {
- background-color: red;
- position: absolute;
- top: 0;
-}
-
-.sticky {
- background-color: green;
- position: sticky;
- right: 25px;
-}
-
-.box {
- display: inline-block;
- height: 100%;
- width: 100px;
-}
-</style>
-
-<script>
-window.addEventListener('load', function() {
- document.getElementById('scroller1').scrollLeft = 100;
- document.getElementById('scroller2').scrollLeft = 175;
- document.getElementById('scroller3').scrollLeft = 250;
-});
-</script>
-
-<div class="group">
- <div id="scroller1" class="scroller">
- <div class="indicator box" style="left: 200px;"></div>
- <div class="contents">
- <!-- As these elements are inline, they are whitespace sensitive. -->
- <div class="prepadding"></div><div class="container"><div class="filler"></div><div class="sticky box"></div></div>
- </div>
- </div>
-</div>
-
-<div class="group">
- <div id="scroller2" class="scroller">
- <div class="indicator box" style="left: 250px;"></div>
- <div class="contents">
- <!-- As these elements are inline, they are whitespace sensitive. -->
- <div class="prepadding"></div><div class="container"><div class="filler"></div><div class="sticky box"></div></div>
- </div>
- </div>
-</div>
-
-<div class="group">
- <div id="scroller3" class="scroller">
- <div class="indicator box" style="left: 300px;"></div>
- <div class="contents">
- <!-- As these elements are inline, they are whitespace sensitive. -->
- <div class="prepadding"></div><div class="container"><div class="filler"></div><div class="sticky box"></div></div>
- </div>
- </div>
-</div>
-
-<div>You should see three green boxes above. No red should be visible.</div>
diff --git a/tests/wpt/mozilla/tests/css/css-position-3/position-sticky-stacking-context-ref.html b/tests/wpt/mozilla/tests/css/css-position-3/position-sticky-stacking-context-ref.html
deleted file mode 100644
index 0fe20bd3c33..00000000000
--- a/tests/wpt/mozilla/tests/css/css-position-3/position-sticky-stacking-context-ref.html
+++ /dev/null
@@ -1,17 +0,0 @@
-<!DOCTYPE html>
-<title>Reference for position: sticky should create a stacking context</title>
-
-<style>
-.indicator {
- background-color: green;
-}
-
-.box {
- width: 200px;
- height: 200px;
-}
-</style>
-
-<div class="indicator box"></div>
-
-<div>You should see a single green box above. No red should be visible.</div>
diff --git a/tests/wpt/mozilla/tests/css/css-position-3/position-sticky-stacking-context.html b/tests/wpt/mozilla/tests/css/css-position-3/position-sticky-stacking-context.html
deleted file mode 100644
index 36acf82f4f9..00000000000
--- a/tests/wpt/mozilla/tests/css/css-position-3/position-sticky-stacking-context.html
+++ /dev/null
@@ -1,38 +0,0 @@
-<!DOCTYPE html>
-<title>position: sticky should create a stacking context</title>
-<link rel="match" href="position-sticky-stacking-context-ref.html" />
-<link rel="help" href="https://www.w3.org/TR/css-position-3/#sticky-pos" />
-<meta name="assert" content="position:sticky elements should create a stacking context" />
-
-<style>
-.indicator {
- position: absolute;
- background-color: green;
- z-index: 1;
-}
-
-.sticky {
- position: sticky;
- z-index: 0;
-}
-
-.child {
- position: relative;
- background-color: red;
- z-index: 2;
-}
-
-.box {
- width: 200px;
- height: 200px;
-}
-</style>
-
-<div class="indicator box"></div>
-<div class="sticky box">
- <!-- Because sticky forms a stacking context, this child remains on bottom
- even though it has a higher z-index than the indicator box. -->
- <div class="child box"></div>
-</div>
-
-<div>You should see a single green box above. No red should be visible.</div>
diff --git a/tests/wpt/mozilla/tests/css/css-position-3/position-sticky-table-tfoot-bottom-ref.html b/tests/wpt/mozilla/tests/css/css-position-3/position-sticky-table-tfoot-bottom-ref.html
deleted file mode 100644
index a89dd6a485e..00000000000
--- a/tests/wpt/mozilla/tests/css/css-position-3/position-sticky-table-tfoot-bottom-ref.html
+++ /dev/null
@@ -1,62 +0,0 @@
-<!DOCTYPE html>
-<title>Reference for position:sticky bottom constraint should behave correctly for &lt;tfoot&gt; elements</title>
-
-<style>
-.group {
- display: inline-block;
- position: relative;
- width: 150px;
- height: 200px;
-}
-
-.scroller {
- position: relative;
- width: 100px;
- height: 150px;
- overflow-x: hidden;
- overflow-y: auto;
-}
-
-.contents {
- height: 550px;
-}
-
-.indicator {
- position: absolute;
- background-color: green;
- left: 0;
- height: 50px;
- width: 50px;
-}
-</style>
-
-<script>
-window.addEventListener('load', function() {
- document.getElementById('scroller1').scrollTop = 0;
- document.getElementById('scroller2').scrollTop = 75;
- document.getElementById('scroller3').scrollTop = 200;
-});
-</script>
-
-<div class="group">
- <div id="scroller1" class="scroller">
- <div class="indicator" style="top: 100px;"></div>
- <div class="contents"></div>
- </div>
-</div>
-
-<div class="group">
- <div id="scroller2" class="scroller">
- <div class="indicator" style="top: 150px;"></div>
- <div class="contents"></div>
- </div>
-</div>
-
-<div class="group">
- <div id="scroller3" class="scroller">
- <div class="indicator" style="top: 250px;"></div>
- <div class="contents"></div>
- </div>
-</div>
-
-<div>You should see three green boxes above. No red should be visible.</div>
diff --git a/tests/wpt/mozilla/tests/css/css-position-3/position-sticky-table-tfoot-bottom.html b/tests/wpt/mozilla/tests/css/css-position-3/position-sticky-table-tfoot-bottom.html
deleted file mode 100644
index 17fe359948c..00000000000
--- a/tests/wpt/mozilla/tests/css/css-position-3/position-sticky-table-tfoot-bottom.html
+++ /dev/null
@@ -1,121 +0,0 @@
-<!DOCTYPE html>
-<title>position:sticky bottom constraint should behave correctly for &lt;tfoot&gt; elements</title>
-<link rel="match" href="position-sticky-table-tfoot-bottom-ref.html" />
-<link rel="help" href="https://www.w3.org/TR/css-position-3/#sticky-pos" />
-<meta name="assert" content="This test checks that the position:sticky bottom constraint behaves correctly for &lt;tfoot&gt; elements" />
-
-<style>
-table {
- border-collapse:collapse;
-}
-
-td, th {
- padding: 0;
-}
-
-td > div, th > div {
- height: 50px;
- width: 50px;
-}
-
-.group {
- display: inline-block;
- position: relative;
- width: 150px;
- height: 200px;
-}
-
-.scroller {
- position: relative;
- width: 100px;
- height: 150px;
- overflow-x: hidden;
- overflow-y: auto;
-}
-
-.prepadding {
- height: 100px;
-}
-
-.postpadding {
- height: 250px;
-}
-
-.indicator {
- position: absolute;
- background-color: red;
- left: 0;
- height: 50px;
- width: 50px;
-}
-
-.sticky {
- position: sticky;
- bottom: 25px;
- background-color: green;
-}
-</style>
-
-<script>
-window.addEventListener('load', function() {
- document.getElementById('scroller1').scrollTop = 0;
- document.getElementById('scroller2').scrollTop = 75;
- document.getElementById('scroller3').scrollTop = 200;
-});
-</script>
-
-<div class="group">
- <div id="scroller1" class="scroller">
- <div class="indicator" style="top: 100px;"></div>
- <div class="prepadding"></div>
- <table>
- <tbody>
- <tr><td><div></div></td></tr>
- <tr><td><div></div></td></tr>
- <tr><td><div></div></td></tr>
- </tbody>
- <tfoot class="sticky">
- <tr><th><div></div></th></tr>
- </tfoot>
- </table>
- <div class="postpadding"></div>
- </div>
-</div>
-
-<div class="group">
- <div id="scroller2" class="scroller">
- <div class="indicator" style="top: 150px;"></div>
- <div class="prepadding"></div>
- <table>
- <tbody>
- <tr><td><div></div></td></tr>
- <tr><td><div></div></td></tr>
- <tr><td><div></div></td></tr>
- </tbody>
- <tfoot class="sticky">
- <tr><th><div></div></th></tr>
- </tfoot>
- </table>
- <div class="postpadding"></div>
- </div>
-</div>
-
-<div class="group">
- <div id="scroller3" class="scroller">
- <div class="indicator" style="top: 250px;"></div>
- <div class="prepadding"></div>
- <table>
- <tbody>
- <tr><td><div></div></td></tr>
- <tr><td><div></div></td></tr>
- <tr><td><div></div></td></tr>
- </tbody>
- <tfoot class="sticky">
- <tr><th><div></div></th></tr>
- </tfoot>
- </table>
- <div class="postpadding"></div>
- </div>
-</div>
-
-<div>You should see three green boxes above. No red should be visible.</div>
diff --git a/tests/wpt/mozilla/tests/css/css-position-3/position-sticky-table-th-bottom-ref.html b/tests/wpt/mozilla/tests/css/css-position-3/position-sticky-table-th-bottom-ref.html
deleted file mode 100644
index 2aa5c08a55d..00000000000
--- a/tests/wpt/mozilla/tests/css/css-position-3/position-sticky-table-th-bottom-ref.html
+++ /dev/null
@@ -1,62 +0,0 @@
-<!DOCTYPE html>
-<title>Reference for position:sticky bottom constraint should behave correctly for &lt;th&gt; elements</title>
-
-<style>
-.group {
- display: inline-block;
- position: relative;
- width: 150px;
- height: 200px;
-}
-
-.scroller {
- position: relative;
- width: 100px;
- height: 150px;
- overflow-x: hidden;
- overflow-y: auto;
-}
-
-.contents {
- height: 550px;
-}
-
-.indicator {
- position: absolute;
- background-color: green;
- left: 0;
- height: 50px;
- width: 50px;
-}
-</style>
-
-<script>
-window.addEventListener('load', function() {
- document.getElementById('scroller1').scrollTop = 0;
- document.getElementById('scroller2').scrollTop = 75;
- document.getElementById('scroller3').scrollTop = 200;
-});
-</script>
-
-<div class="group">
- <div id="scroller1" class="scroller">
- <div class="indicator" style="top: 100px;"></div>
- <div class="contents"></div>
- </div>
-</div>
-
-<div class="group">
- <div id="scroller2" class="scroller">
- <div class="indicator" style="top: 150px;"></div>
- <div class="contents"></div>
- </div>
-</div>
-
-<div class="group">
- <div id="scroller3" class="scroller">
- <div class="indicator" style="top: 250px;"></div>
- <div class="contents"></div>
- </div>
-</div>
-
-<div>You should see three green boxes above. No red should be visible.</div>
diff --git a/tests/wpt/mozilla/tests/css/css-position-3/position-sticky-table-th-bottom.html b/tests/wpt/mozilla/tests/css/css-position-3/position-sticky-table-th-bottom.html
deleted file mode 100644
index 878732fd5bc..00000000000
--- a/tests/wpt/mozilla/tests/css/css-position-3/position-sticky-table-th-bottom.html
+++ /dev/null
@@ -1,127 +0,0 @@
-<!DOCTYPE html>
-<title>position:sticky bottom constraint should behave correctly for &lt;th&gt; elements</title>
-<link rel="match" href="position-sticky-table-th-bottom-ref.html" />
-<link rel="help" href="https://www.w3.org/TR/css-position-3/#sticky-pos" />
-<meta name="assert" content="This test checks that the position:sticky bottom constraint behaves correctly for &lt;th&gt; elements" />
-
-<style>
-table {
- border-collapse:collapse;
-}
-
-td, th {
- padding: 0;
-}
-
-td > div, th > div {
- height: 50px;
- width: 50px;
-}
-
-.group {
- display: inline-block;
- position: relative;
- width: 150px;
- height: 200px;
-}
-
-.scroller {
- position: relative;
- width: 100px;
- height: 150px;
- overflow-x: hidden;
- overflow-y: auto;
-}
-
-.prepadding {
- height: 100px;
-}
-
-.postpadding {
- height: 250px;
-}
-
-.indicator {
- position: absolute;
- background-color: red;
- left: 0;
- height: 50px;
- width: 50px;
-}
-
-.sticky {
- position: sticky;
- bottom: 25px;
- background-color: green;
-}
-</style>
-
-<script>
-window.addEventListener('load', function() {
- document.getElementById('scroller1').scrollTop = 0;
- document.getElementById('scroller2').scrollTop = 75;
- document.getElementById('scroller3').scrollTop = 200;
-});
-</script>
-
-<div class="group">
- <div id="scroller1" class="scroller">
- <div class="indicator" style="top: 100px;"></div>
- <div class="prepadding"></div>
- <table>
- <tbody>
- <tr><td><div></div></td></tr>
- <tr><td><div></div></td></tr>
- <tr><td><div></div></td></tr>
- </tbody>
- <tfoot>
- <tr>
- <th class="sticky"><div></div></th>
- </tr>
- </tfoot>
- </table>
- <div class="postpadding"></div>
- </div>
-</div>
-
-<div class="group">
- <div id="scroller2" class="scroller">
- <div class="indicator" style="top: 150px;"></div>
- <div class="prepadding"></div>
- <table>
- <tbody>
- <tr><td><div></div></td></tr>
- <tr><td><div></div></td></tr>
- <tr><td><div></div></td></tr>
- </tbody>
- <tfoot>
- <tr>
- <th class="sticky"><div></div></th>
- </tr>
- </tfoot>
- </table>
- <div class="postpadding"></div>
- </div>
-</div>
-
-<div class="group">
- <div id="scroller3" class="scroller">
- <div class="indicator" style="top: 250px;"></div>
- <div class="prepadding"></div>
- <table>
- <tbody>
- <tr><td><div></div></td></tr>
- <tr><td><div></div></td></tr>
- <tr><td><div></div></td></tr>
- </tbody>
- <tfoot>
- <tr>
- <th class="sticky"><div></div></th>
- </tr>
- </tfoot>
- </table>
- <div class="postpadding"></div>
- </div>
-</div>
-
-<div>You should see three green boxes above. No red should be visible.</div>
diff --git a/tests/wpt/mozilla/tests/css/css-position-3/position-sticky-table-th-left-ref.html b/tests/wpt/mozilla/tests/css/css-position-3/position-sticky-table-th-left-ref.html
deleted file mode 100644
index cef7539c16c..00000000000
--- a/tests/wpt/mozilla/tests/css/css-position-3/position-sticky-table-th-left-ref.html
+++ /dev/null
@@ -1,62 +0,0 @@
-<!DOCTYPE html>
-<title>Reference for position:sticky left constraint should behave correctly for &lt;th&gt; elements</title>
-
-<style>
-.group {
- position: relative;
- width: 250px;
- height: 150px;
-}
-
-.scroller {
- position: relative;
- width: 200px;
- height: 100px;
- overflow-x: auto;
- overflow-y: hidden;
-}
-
-.contents {
- height: 10px;
- width: 500px;
-}
-
-.indicator {
- position: absolute;
- background-color: green;
- top: 0;
- height: 50px;
- width: 50px;
-}
-</style>
-
-<script>
-window.addEventListener('load', function() {
- document.getElementById('scroller1').scrollLeft = 50;
- document.getElementById('scroller2').scrollLeft = 125;
- document.getElementById('scroller3').scrollLeft = 250;
-});
-</script>
-
-<div class="group">
- <div id="scroller1" class="scroller">
- <div class="indicator" style="left: 100px;"></div>
- <div class="contents"></div>
- </div>
-</div>
-
-<div class="group">
- <div id="scroller2" class="scroller">
- <div class="indicator" style="left: 150px;"></div>
- <div class="contents"></div>
- </div>
-</div>
-
-<div class="group">
- <div id="scroller3" class="scroller">
- <div class="indicator" style="left: 250px;"></div>
- <div class="contents"></div>
- </div>
-</div>
-
-<div>You should see three green boxes above. No red should be visible.</div>
diff --git a/tests/wpt/mozilla/tests/css/css-position-3/position-sticky-table-th-left.html b/tests/wpt/mozilla/tests/css/css-position-3/position-sticky-table-th-left.html
deleted file mode 100644
index 45643506dc9..00000000000
--- a/tests/wpt/mozilla/tests/css/css-position-3/position-sticky-table-th-left.html
+++ /dev/null
@@ -1,115 +0,0 @@
-<!DOCTYPE html>
-<title>position:sticky left constraint should behave correctly for &lt;th&gt; elements</title>
-<link rel="match" href="position-sticky-table-th-left-ref.html" />
-<link rel="help" href="https://www.w3.org/TR/css-position-3/#sticky-pos" />
-<meta name="assert" content="This test checks that the position:sticky left constraint behaves correctly for &lt;th&gt; elements" />
-
-<style>
-table {
- border-collapse: collapse;
- margin-left: 100px;
-}
-
-td, th {
- padding: 0;
-}
-
-td > div, th > div {
- height: 50px;
- width: 50px;
-}
-
-.group {
- position: relative;
- width: 250px;
- height: 150px;
-}
-
-.scroller {
- position: relative;
- width: 200px;
- height: 100px;
- overflow-x: auto;
- overflow-y: hidden;
-}
-
-.postpadding {
- height: 10px;
- width: 500px;
-}
-
-.indicator {
- position: absolute;
- background-color: red;
- top: 0;
- height: 50px;
- width: 50px;
-}
-
-.sticky {
- position: sticky;
- left: 25px;
- background-color: green;
-}
-</style>
-
-<script>
-window.addEventListener('load', function() {
- document.getElementById('scroller1').scrollLeft = 50;
- document.getElementById('scroller2').scrollLeft = 125;
- document.getElementById('scroller3').scrollLeft = 250;
-});
-</script>
-
-<div class="group">
- <div id="scroller1" class="scroller">
- <div class="indicator" style="left: 100px;"></div>
- <table>
- <tbody>
- <tr>
- <th class="sticky"><div></div></th>
- <td><div></div></td>
- <td><div></div></td>
- <td><div></div></td>
- </tr>
- </tbody>
- </table>
- <div class="postpadding"></div>
- </div>
-</div>
-
-<div class="group">
- <div id="scroller2" class="scroller">
- <div class="indicator" style="left: 150px;"></div>
- <table>
- <tbody>
- <tr>
- <th class="sticky"><div></div></th>
- <td><div></div></td>
- <td><div></div></td>
- <td><div></div></td>
- </tr>
- </tbody>
- </table>
- <div class="postpadding"></div>
- </div>
-</div>
-
-<div class="group">
- <div id="scroller3" class="scroller">
- <div class="indicator" style="left: 250px;"></div>
- <table>
- <tbody>
- <tr>
- <th class="sticky"><div></div></th>
- <td><div></div></td>
- <td><div></div></td>
- <td><div></div></td>
- </tr>
- </tbody>
- </table>
- <div class="postpadding"></div>
- </div>
-</div>
-
-<div>You should see three green boxes above. No red should be visible.</div>
diff --git a/tests/wpt/mozilla/tests/css/css-position-3/position-sticky-table-th-right-ref.html b/tests/wpt/mozilla/tests/css/css-position-3/position-sticky-table-th-right-ref.html
deleted file mode 100644
index 5d778d1bfc1..00000000000
--- a/tests/wpt/mozilla/tests/css/css-position-3/position-sticky-table-th-right-ref.html
+++ /dev/null
@@ -1,62 +0,0 @@
-<!DOCTYPE html>
-<title>Reference for position:sticky right constraint should behave correctly for &lt;th&gt; elements</title>
-
-<style>
-.group {
- position: relative;
- width: 250px;
- height: 150px;
-}
-
-.scroller {
- position: relative;
- width: 200px;
- height: 100px;
- overflow-x: auto;
- overflow-y: hidden;
-}
-
-.contents {
- height: 10px;
- width: 500px;
-}
-
-.indicator {
- position: absolute;
- background-color: green;
- top: 0;
- height: 50px;
- width: 50px;
-}
-</style>
-
-<script>
-window.addEventListener('load', function() {
- document.getElementById('scroller1').scrollLeft = 0;
- document.getElementById('scroller2').scrollLeft = 75;
- document.getElementById('scroller3').scrollLeft = 200;
-});
-</script>
-
-<div class="group">
- <div id="scroller1" class="scroller">
- <div class="indicator" style="left: 150px;"></div>
- <div class="contents"></div>
- </div>
-</div>
-
-<div class="group">
- <div id="scroller2" class="scroller">
- <div class="indicator" style="left: 200px;"></div>
- <div class="contents"></div>
- </div>
-</div>
-
-<div class="group">
- <div id="scroller3" class="scroller">
- <div class="indicator" style="left: 300px;"></div>
- <div class="contents"></div>
- </div>
-</div>
-
-<div>You should see three green boxes above. No red should be visible.</div>
diff --git a/tests/wpt/mozilla/tests/css/css-position-3/position-sticky-table-th-right.html b/tests/wpt/mozilla/tests/css/css-position-3/position-sticky-table-th-right.html
deleted file mode 100644
index 204b6e5d043..00000000000
--- a/tests/wpt/mozilla/tests/css/css-position-3/position-sticky-table-th-right.html
+++ /dev/null
@@ -1,115 +0,0 @@
-<!DOCTYPE html>
-<title>position:sticky right constraint should behave correctly for &lt;th&gt; elements</title>
-<link rel="match" href="position-sticky-table-th-right-ref.html" />
-<link rel="help" href="https://www.w3.org/TR/css-position-3/#sticky-pos" />
-<meta name="assert" content="This test checks that the position:sticky right constraint behaves correctly for &lt;th&gt; elements" />
-
-<style>
-table {
- border-collapse: collapse;
- margin-left: 150px;
-}
-
-td, th {
- padding: 0;
-}
-
-td > div, th > div {
- height: 50px;
- width: 50px;
-}
-
-.group {
- position: relative;
- width: 250px;
- height: 150px;
-}
-
-.scroller {
- position: relative;
- width: 200px;
- height: 100px;
- overflow-x: auto;
- overflow-y: hidden;
-}
-
-.postpadding {
- height: 10px;
- width: 500px;
-}
-
-.indicator {
- position: absolute;
- background-color: red;
- top: 0;
- height: 50px;
- width: 50px;
-}
-
-.sticky {
- position: sticky;
- right: 25px;
- background-color: green;
-}
-</style>
-
-<script>
-window.addEventListener('load', function() {
- document.getElementById('scroller1').scrollLeft = 0;
- document.getElementById('scroller2').scrollLeft = 75;
- document.getElementById('scroller3').scrollLeft = 200;
-});
-</script>
-
-<div class="group">
- <div id="scroller1" class="scroller">
- <div class="indicator" style="left: 150px;"></div>
- <table>
- <tbody>
- <tr>
- <td><div></div></td>
- <td><div></div></td>
- <td><div></div></td>
- <th class="sticky"><div></div></th>
- </tr>
- </tbody>
- </table>
- <div class="postpadding"></div>
- </div>
-</div>
-
-<div class="group">
- <div id="scroller2" class="scroller">
- <div class="indicator" style="left: 200px;"></div>
- <table>
- <tbody>
- <tr>
- <td><div></div></td>
- <td><div></div></td>
- <td><div></div></td>
- <th class="sticky"><div></div></th>
- </tr>
- </tbody>
- </table>
- <div class="postpadding"></div>
- </div>
-</div>
-
-<div class="group">
- <div id="scroller3" class="scroller">
- <div class="indicator" style="left: 300px;"></div>
- <table>
- <tbody>
- <tr>
- <td><div></div></td>
- <td><div></div></td>
- <td><div></div></td>
- <th class="sticky"><div></div></th>
- </tr>
- </tbody>
- </table>
- <div class="postpadding"></div>
- </div>
-</div>
-
-<div>You should see three green boxes above. No red should be visible.</div>
diff --git a/tests/wpt/mozilla/tests/css/css-position-3/position-sticky-table-th-top-ref.html b/tests/wpt/mozilla/tests/css/css-position-3/position-sticky-table-th-top-ref.html
deleted file mode 100644
index 692dbcfdffd..00000000000
--- a/tests/wpt/mozilla/tests/css/css-position-3/position-sticky-table-th-top-ref.html
+++ /dev/null
@@ -1,62 +0,0 @@
-<!DOCTYPE html>
-<title>Reference for position:sticky top constraint should behave correctly for &lt;th&gt; elements</title>
-
-<style>
-.group {
- display: inline-block;
- position: relative;
- width: 150px;
- height: 200px;
-}
-
-.scroller {
- position: relative;
- width: 100px;
- height: 150px;
- overflow-x: hidden;
- overflow-y: auto;
-}
-
-.contents {
- height: 550px;
-}
-
-.indicator {
- position: absolute;
- background-color: green;
- left: 0;
- height: 50px;
- width: 50px;
-}
-</style>
-
-<script>
-window.addEventListener('load', function() {
- document.getElementById('scroller1').scrollTop = 50;
- document.getElementById('scroller2').scrollTop = 125;
- document.getElementById('scroller3').scrollTop = 250;
-});
-</script>
-
-<div class="group">
- <div id="scroller1" class="scroller">
- <div class="indicator" style="top: 100px;"></div>
- <div class="contents"></div>
- </div>
-</div>
-
-<div class="group">
- <div id="scroller2" class="scroller">
- <div class="indicator" style="top: 150px;"></div>
- <div class="contents"></div>
- </div>
-</div>
-
-<div class="group">
- <div id="scroller3" class="scroller">
- <div class="indicator" style="top: 250px;"></div>
- <div class="contents"></div>
- </div>
-</div>
-
-<div>You should see three green boxes above. No red should be visible.</div>
diff --git a/tests/wpt/mozilla/tests/css/css-position-3/position-sticky-table-th-top.html b/tests/wpt/mozilla/tests/css/css-position-3/position-sticky-table-th-top.html
deleted file mode 100644
index 7e57a690084..00000000000
--- a/tests/wpt/mozilla/tests/css/css-position-3/position-sticky-table-th-top.html
+++ /dev/null
@@ -1,127 +0,0 @@
-<!DOCTYPE html>
-<title>position:sticky top constraint should behave correctly for &lt;th&gt; elements</title>
-<link rel="match" href="position-sticky-table-th-top-ref.html" />
-<link rel="help" href="https://www.w3.org/TR/css-position-3/#sticky-pos" />
-<meta name="assert" content="This test checks that the position:sticky top constraint behaves correctly for &lt;th&gt; elements" />
-
-<style>
-table {
- border-collapse:collapse;
-}
-
-td, th {
- padding: 0;
-}
-
-td > div, th > div {
- height: 50px;
- width: 50px;
-}
-
-.group {
- display: inline-block;
- position: relative;
- width: 150px;
- height: 200px;
-}
-
-.scroller {
- position: relative;
- width: 100px;
- height: 150px;
- overflow-x: hidden;
- overflow-y: auto;
-}
-
-.prepadding {
- height: 100px;
-}
-
-.postpadding {
- height: 250px;
-}
-
-.indicator {
- position: absolute;
- background-color: red;
- left: 0;
- height: 50px;
- width: 50px;
-}
-
-.sticky {
- position: sticky;
- top: 25px;
- background-color: green;
-}
-</style>
-
-<script>
-window.addEventListener('load', function() {
- document.getElementById('scroller1').scrollTop = 50;
- document.getElementById('scroller2').scrollTop = 125;
- document.getElementById('scroller3').scrollTop = 250;
-});
-</script>
-
-<div class="group">
- <div id="scroller1" class="scroller">
- <div class="indicator" style="top: 100px;"></div>
- <div class="prepadding"></div>
- <table>
- <thead>
- <tr>
- <th class="sticky"><div></div></th>
- </tr>
- </thead>
- <tbody>
- <tr><td><div></div></td></tr>
- <tr><td><div></div></td></tr>
- <tr><td><div></div></td></tr>
- </tbody>
- </table>
- <div class="postpadding"></div>
- </div>
-</div>
-
-<div class="group">
- <div id="scroller2" class="scroller">
- <div class="indicator" style="top: 150px;"></div>
- <div class="prepadding" style="background: pink;"></div>
- <table>
- <thead>
- <tr>
- <th class="sticky"><div></div></th>
- </tr>
- </thead>
- <tbody>
- <tr><td><div></div></td></tr>
- <tr><td><div></div></td></tr>
- <tr><td><div></div></td></tr>
- </tbody>
- </table>
- <div class="postpadding"></div>
- </div>
-</div>
-
-<div class="group">
- <div id="scroller3" class="scroller">
- <div class="indicator" style="top: 250px;"></div>
- <div class="prepadding"></div>
- <table>
- <thead>
- <tr>
- <th class="sticky"><div></div></th>
- </tr>
- </thead>
- <tbody>
- <tr><td><div></div></td></tr>
- <tr><td><div></div></td></tr>
- <tr><td><div></div></td></tr>
- </tbody>
- </table>
- <div class="postpadding"></div>
- </div>
-</div>
-
-<div>You should see three green boxes above. No red should be visible.</div>
diff --git a/tests/wpt/mozilla/tests/css/css-position-3/position-sticky-table-thead-top-ref.html b/tests/wpt/mozilla/tests/css/css-position-3/position-sticky-table-thead-top-ref.html
deleted file mode 100644
index f313d60859c..00000000000
--- a/tests/wpt/mozilla/tests/css/css-position-3/position-sticky-table-thead-top-ref.html
+++ /dev/null
@@ -1,62 +0,0 @@
-<!DOCTYPE html>
-<title>Reference for position:sticky top constraint should behave correctly for &lt;thead&gt; elements</title>
-
-<style>
-.group {
- display: inline-block;
- position: relative;
- width: 150px;
- height: 200px;
-}
-
-.scroller {
- position: relative;
- width: 100px;
- height: 150px;
- overflow-x: hidden;
- overflow-y: auto;
-}
-
-.contents {
- height: 550px;
-}
-
-.indicator {
- position: absolute;
- background-color: green;
- left: 0;
- height: 50px;
- width: 50px;
-}
-</style>
-
-<script>
-window.addEventListener('load', function() {
- document.getElementById('scroller1').scrollTop = 50;
- document.getElementById('scroller2').scrollTop = 125;
- document.getElementById('scroller3').scrollTop = 250;
-});
-</script>
-
-<div class="group">
- <div id="scroller1" class="scroller">
- <div class="indicator" style="top: 100px;"></div>
- <div class="contents"></div>
- </div>
-</div>
-
-<div class="group">
- <div id="scroller2" class="scroller">
- <div class="indicator" style="top: 150px;"></div>
- <div class="contents"></div>
- </div>
-</div>
-
-<div class="group">
- <div id="scroller3" class="scroller">
- <div class="indicator" style="top: 250px;"></div>
- <div class="contents"></div>
- </div>
-</div>
-
-<div>You should see three green boxes above. No red should be visible.</div>
diff --git a/tests/wpt/mozilla/tests/css/css-position-3/position-sticky-table-thead-top.html b/tests/wpt/mozilla/tests/css/css-position-3/position-sticky-table-thead-top.html
deleted file mode 100644
index 560a45efeb1..00000000000
--- a/tests/wpt/mozilla/tests/css/css-position-3/position-sticky-table-thead-top.html
+++ /dev/null
@@ -1,121 +0,0 @@
-<!DOCTYPE html>
-<title>position:sticky top constraint should behave correctly for &lt;thead&gt; elements</title>
-<link rel="match" href="position-sticky-table-thead-top-ref.html" />
-<link rel="help" href="https://www.w3.org/TR/css-position-3/#sticky-pos" />
-<meta name="assert" content="This test checks that the position:sticky top constraint behaves correctly for &lt;thead&gt; elements" />
-
-<style>
-table {
- border-collapse:collapse;
-}
-
-td, th {
- padding: 0;
-}
-
-td > div, th > div {
- height: 50px;
- width: 50px;
-}
-
-.group {
- display: inline-block;
- position: relative;
- width: 150px;
- height: 200px;
-}
-
-.scroller {
- position: relative;
- width: 100px;
- height: 150px;
- overflow-x: hidden;
- overflow-y: auto;
-}
-
-.prepadding {
- height: 100px;
-}
-
-.postpadding {
- height: 250px;
-}
-
-.indicator {
- position: absolute;
- background-color: red;
- left: 0;
- height: 50px;
- width: 50px;
-}
-
-.sticky {
- position: sticky;
- top: 25px;
- background-color: green;
-}
-</style>
-
-<script>
-window.addEventListener('load', function() {
- document.getElementById('scroller1').scrollTop = 50;
- document.getElementById('scroller2').scrollTop = 125;
- document.getElementById('scroller3').scrollTop = 250;
-});
-</script>
-
-<div class="group">
- <div id="scroller1" class="scroller">
- <div class="indicator" style="top: 100px;"></div>
- <div class="prepadding"></div>
- <table>
- <thead class="sticky">
- <tr><th><div></div></th></tr>
- </thead>
- <tbody>
- <tr><td><div></div></td></tr>
- <tr><td><div></div></td></tr>
- <tr><td><div></div></td></tr>
- </tbody>
- </table>
- <div class="postpadding"></div>
- </div>
-</div>
-
-<div class="group">
- <div id="scroller2" class="scroller">
- <div class="indicator" style="top: 150px;"></div>
- <div class="prepadding"></div>
- <table>
- <thead class="sticky">
- <tr><th><div></div></th></tr>
- </thead>
- <tbody>
- <tr><td><div></div></td></tr>
- <tr><td><div></div></td></tr>
- <tr><td><div></div></td></tr>
- </tbody>
- </table>
- <div class="postpadding"></div>
- </div>
-</div>
-
-<div class="group">
- <div id="scroller3" class="scroller">
- <div class="indicator" style="top: 250px;"></div>
- <div class="prepadding"></div>
- <table>
- <thead class="sticky">
- <tr><th><div></div></th></tr>
- </thead>
- <tbody>
- <tr><td><div></div></td></tr>
- <tr><td><div></div></td></tr>
- <tr><td><div></div></td></tr>
- </tbody>
- </table>
- <div class="postpadding"></div>
- </div>
-</div>
-
-<div>You should see three green boxes above. No red should be visible.</div>
diff --git a/tests/wpt/mozilla/tests/css/css-position-3/position-sticky-table-tr-bottom-ref.html b/tests/wpt/mozilla/tests/css/css-position-3/position-sticky-table-tr-bottom-ref.html
deleted file mode 100644
index 7f9ef074962..00000000000
--- a/tests/wpt/mozilla/tests/css/css-position-3/position-sticky-table-tr-bottom-ref.html
+++ /dev/null
@@ -1,62 +0,0 @@
-<!DOCTYPE html>
-<title>Reference for position:sticky bottom constraint should behave correctly for &lt;tr&gt; elements</title>
-
-<style>
-.group {
- display: inline-block;
- position: relative;
- width: 150px;
- height: 200px;
-}
-
-.scroller {
- position: relative;
- width: 100px;
- height: 150px;
- overflow-x: hidden;
- overflow-y: auto;
-}
-
-.contents {
- height: 550px;
-}
-
-.indicator {
- position: absolute;
- background-color: green;
- left: 0;
- height: 50px;
- width: 50px;
-}
-</style>
-
-<script>
-window.addEventListener('load', function() {
- document.getElementById('scroller1').scrollTop = 0;
- document.getElementById('scroller2').scrollTop = 75;
- document.getElementById('scroller3').scrollTop = 200;
-});
-</script>
-
-<div class="group">
- <div id="scroller1" class="scroller">
- <div class="indicator" style="top: 100px;"></div>
- <div class="contents"></div>
- </div>
-</div>
-
-<div class="group">
- <div id="scroller2" class="scroller">
- <div class="indicator" style="top: 150px;"></div>
- <div class="contents"></div>
- </div>
-</div>
-
-<div class="group">
- <div id="scroller3" class="scroller">
- <div class="indicator" style="top: 250px;"></div>
- <div class="contents"></div>
- </div>
-</div>
-
-<div>You should see three green boxes above. No red should be visible.</div>
diff --git a/tests/wpt/mozilla/tests/css/css-position-3/position-sticky-table-tr-bottom.html b/tests/wpt/mozilla/tests/css/css-position-3/position-sticky-table-tr-bottom.html
deleted file mode 100644
index e306d9654a2..00000000000
--- a/tests/wpt/mozilla/tests/css/css-position-3/position-sticky-table-tr-bottom.html
+++ /dev/null
@@ -1,118 +0,0 @@
-<!DOCTYPE html>
-<title>position:sticky bottom constraint should behave correctly for &lt;tr&gt; elements</title>
-<link rel="match" href="position-sticky-table-tr-bottom-ref.html" />
-<link rel="help" href="https://www.w3.org/TR/css-position-3/#sticky-pos" />
-<meta name="assert" content="This test checks that the position:sticky bottom constraint behaves correctly for &lt;tr&gt; elements" />
-
-<style>
-table {
- border-collapse:collapse;
-}
-
-td {
- padding: 0;
-}
-
-td > div {
- height: 50px;
- width: 50px;
-}
-
-.group {
- display: inline-block;
- position: relative;
- width: 150px;
- height: 200px;
-}
-
-.scroller {
- position: relative;
- width: 100px;
- height: 150px;
- overflow-x: hidden;
- overflow-y: auto;
-}
-
-.prepadding {
- height: 100px;
-}
-
-.postpadding {
- height: 250px;
-}
-
-.indicator {
- position: absolute;
- background-color: red;
- left: 0;
- height: 50px;
- width: 50px;
-}
-
-.sticky {
- position: sticky;
- bottom: 25px;
- background-color: green;
-}
-</style>
-
-<script>
-window.addEventListener('load', function() {
- document.getElementById('scroller1').scrollTop = 0;
- document.getElementById('scroller2').scrollTop = 75;
- document.getElementById('scroller3').scrollTop = 200;
-});
-</script>
-
-<!-- .sticky element pushed as far up as possible to table edge -->
-<div class="group">
- <div id="scroller1" class="scroller">
- <div class="indicator" style="top: 100px;"></div>
- <div class="prepadding"></div>
- <table>
- <tbody>
- <tr><td><div></div></td></tr>
- <tr><td><div></div></td></tr>
- <tr><td><div></div></td></tr>
- <tr class="sticky"><td><div></div></td></tr>
- </tbody>
- </table>
- <div class="postpadding"></div>
- </div>
-</div>
-
-<!-- .sticky element stuck to bottom of .scroller -->
-<div class="group">
- <div id="scroller2" class="scroller">
- <div class="indicator" style="top: 150px;"></div>
- <div class="prepadding"></div>
- <table>
- <tbody>
- <tr><td><div></div></td></tr>
- <tr><td><div></div></td></tr>
- <tr><td><div></div></td></tr>
- <tr class="sticky"><td><div></div></td></tr>
- </tbody>
- </table>
- <div class="postpadding"></div>
- </div>
-</div>
-
-<!-- .sticky element unstuck -->
-<div class="group">
- <div id="scroller3" class="scroller">
- <div class="indicator" style="top: 250px;"></div>
- <div class="prepadding"></div>
- <table>
- <tbody>
- <tr><td><div></div></td></tr>
- <tr><td><div></div></td></tr>
- <tr><td><div></div></td></tr>
- <tr class="sticky"><td><div></div></td></tr>
- </tbody>
- </table>
- <div class="postpadding"></div>
- </div>
-</div>
-
-<div>You should see three green boxes above. No red should be visible.</div>
diff --git a/tests/wpt/mozilla/tests/css/css-position-3/position-sticky-table-tr-top-ref.html b/tests/wpt/mozilla/tests/css/css-position-3/position-sticky-table-tr-top-ref.html
deleted file mode 100644
index 9aa9242d9ce..00000000000
--- a/tests/wpt/mozilla/tests/css/css-position-3/position-sticky-table-tr-top-ref.html
+++ /dev/null
@@ -1,62 +0,0 @@
-<!DOCTYPE html>
-<title>Reference for position:sticky top constraint should behave correctly for &lt;tr&gt; elements</title>
-
-<style>
-.group {
- display: inline-block;
- position: relative;
- width: 150px;
- height: 200px;
-}
-
-.scroller {
- position: relative;
- width: 100px;
- height: 150px;
- overflow-x: hidden;
- overflow-y: auto;
-}
-
-.contents {
- height: 550px;
-}
-
-.indicator {
- position: absolute;
- background-color: green;
- left: 0;
- height: 50px;
- width: 50px;
-}
-</style>
-
-<script>
-window.addEventListener('load', function() {
- document.getElementById('scroller1').scrollTop = 50;
- document.getElementById('scroller2').scrollTop = 125;
- document.getElementById('scroller3').scrollTop = 250;
-});
-</script>
-
-<div class="group">
- <div id="scroller1" class="scroller">
- <div class="indicator" style="top: 100px;"></div>
- <div class="contents"></div>
- </div>
-</div>
-
-<div class="group">
- <div id="scroller2" class="scroller">
- <div class="indicator" style="top: 150px;"></div>
- <div class="contents"></div>
- </div>
-</div>
-
-<div class="group">
- <div id="scroller3" class="scroller">
- <div class="indicator" style="top: 250px;"></div>
- <div class="contents"></div>
- </div>
-</div>
-
-<div>You should see three green boxes above. No red should be visible.</div>
diff --git a/tests/wpt/mozilla/tests/css/css-position-3/position-sticky-table-tr-top.html b/tests/wpt/mozilla/tests/css/css-position-3/position-sticky-table-tr-top.html
deleted file mode 100644
index 361535c99c2..00000000000
--- a/tests/wpt/mozilla/tests/css/css-position-3/position-sticky-table-tr-top.html
+++ /dev/null
@@ -1,119 +0,0 @@
-<!DOCTYPE html>
-<title>position:sticky top constraint should behave correctly for &lt;tr&gt; elements</title>
-<link rel="match" href="position-sticky-table-tr-top-ref.html" />
-<link rel="help" href="https://www.w3.org/TR/css-position-3/#sticky-pos" />
-<meta name="assert" content="This test checks that the position:sticky top constraint behaves correctly for &lt;tr&gt; elements" />
-
-<style>
-table {
- border-collapse:collapse;
-}
-
-td {
- padding: 0;
-}
-
-td > div {
- height: 50px;
- width: 50px;
-}
-
-.group {
- display: inline-block;
- position: relative;
- width: 150px;
- height: 200px;
-}
-
-.scroller {
- position: relative;
- width: 100px;
- height: 150px;
- overflow-x: hidden;
- overflow-y: auto;
-}
-
-.prepadding {
- height: 100px;
-}
-
-.postpadding {
- height: 250px;
-}
-
-.indicator {
- position: absolute;
- background-color: red;
- left: 0;
- height: 50px;
- width: 50px;
-}
-
-.sticky {
- position: sticky;
- top: 25px;
- background-color: green;
-}
-</style>
-
-<script>
-window.addEventListener('load', function() {
- document.getElementById('scroller1').scrollTop = 50;
- document.getElementById('scroller2').scrollTop = 125;
- document.getElementById('scroller3').scrollTop = 250;
-});
-</script>
-
-<!-- .sticky element not yet stuck -->
-<div class="group">
- <div id="scroller1" class="scroller">
- <div class="indicator" style="top: 100px;"></div>
- <div class="prepadding"></div>
- <table>
- <tbody>
- <tr class="sticky"><td><div></div></td></tr>
- <tr><td><div></div></td></tr>
- <tr><td><div></div></td></tr>
- <tr><td><div></div></td></tr>
- </tbody>
- </table>
- <div class="postpadding"></div>
- </div>
-</div>
-
-<!-- .sticky element stuck to top of .scroller -->
-<div class="group">
- <div id="scroller2" class="scroller">
- <div class="indicator" style="top: 150px;"></div>
- <div class="prepadding"></div>
- <table>
- <tbody>
- <tr class="sticky"><td><div></div></td></tr>
- <tr><td><div></div></td></tr>
- <tr><td><div></div></td></tr>
- <tr><td><div></div></td></tr>
- </tbody>
- </table>
- <div class="postpadding"></div>
- </div>
-</div>
-
-<!-- .sticky element pushed as down as possible to table edge -->
-<div class="group">
- <div id="scroller3" class="scroller">
- <div class="indicator" style="top: 250px;"></div>
- <div class="prepadding"></div>
- <table>
- <tbody>
- <tr class="sticky"><td><div></div></td></tr>
- <tr><td><div></div></td></tr>
- <tr><td><div></div></td></tr>
- <tr><td><div></div></td></tr>
- </tbody>
- </table>
- <div class="postpadding"></div>
- </div>
-</div>
-
-<div>You should see three green boxes above. No red should be visible.</div>
-
diff --git a/tests/wpt/mozilla/tests/css/css-position-3/position-sticky-top-ref.html b/tests/wpt/mozilla/tests/css/css-position-3/position-sticky-top-ref.html
deleted file mode 100644
index 3003b94e5db..00000000000
--- a/tests/wpt/mozilla/tests/css/css-position-3/position-sticky-top-ref.html
+++ /dev/null
@@ -1,68 +0,0 @@
-<!DOCTYPE html>
-<title>Reference for position:sticky elements should respect the top constraint</title>
-
-<style>
-.group {
- display: inline-block;
- position: relative;
- width: 150px;
- height: 250px;
-}
-
-.scroller {
- position: relative;
- width: 100px;
- height: 200px;
- overflow-x: hidden;
- overflow-y: auto;
-}
-
-.contents {
- height: 500px;
-}
-
-.indicator {
- background-color: green;
- position: absolute;
- left: 0;
-}
-
-.box {
- width: 100%;
- height: 100px;
-}
-</style>
-
-<script>
-window.addEventListener('load', function() {
- document.getElementById('scroller1').scrollTop = 50;
- document.getElementById('scroller2').scrollTop = 125;
- document.getElementById('scroller3').scrollTop = 200;
-});
-</script>
-
-<div class="group">
- <div id="scroller1" class="scroller">
- <div class="contents">
- <div class="indicator box" style="top: 150px;"></div>
- </div>
- </div>
-</div>
-
-<div class="group">
- <div id="scroller2" class="scroller">
- <div class="contents">
- <div class="indicator box" style="top: 175px;"></div>
- </div>
- </div>
-</div>
-
-<div class="group">
- <div id="scroller3" class="scroller">
- <div class="contents">
- <div class="indicator box" style="top: 200px;"></div>
- </div>
- </div>
-</div>
-
-<div>You should see three green boxes above. No red should be visible.</div>
diff --git a/tests/wpt/mozilla/tests/css/css-position-3/position-sticky-top.html b/tests/wpt/mozilla/tests/css/css-position-3/position-sticky-top.html
deleted file mode 100644
index fc07313a20d..00000000000
--- a/tests/wpt/mozilla/tests/css/css-position-3/position-sticky-top.html
+++ /dev/null
@@ -1,104 +0,0 @@
-<!DOCTYPE html>
-<title>position:sticky elements should respect the top constraint</title>
-<link rel="match" href="position-sticky-top-ref.html" />
-<link rel="help" href="https://www.w3.org/TR/css-position-3/#sticky-pos" />
-<meta name="assert" content="This test checks that position:sticky elements obey their top anchor after scrolling" />
-
-<style>
-.group {
- display: inline-block;
- position: relative;
- width: 150px;
- height: 250px;
-}
-
-.scroller {
- position: relative;
- width: 100px;
- height: 200px;
- overflow-x: hidden;
- overflow-y: auto;
-}
-
-.contents {
- height: 500px;
-}
-
-.prepadding {
- height: 100px;
-}
-
-.container {
- height: 200px;
-}
-
-.innerpadding {
- height: 50px;
-}
-
-.indicator {
- background-color: red;
- position: absolute;
- left: 0;
-}
-
-.sticky {
- background-color: green;
- position: sticky;
- top: 50px;
-}
-
-.box {
- width: 100%;
- height: 100px;
-}
-</style>
-
-<script>
-window.addEventListener('load', function() {
- document.getElementById('scroller1').scrollTop = 50;
- document.getElementById('scroller2').scrollTop = 125;
- document.getElementById('scroller3').scrollTop = 200;
-});
-</script>
-
-<div class="group">
- <div id="scroller1" class="scroller">
- <div class="indicator box" style="top: 150px;"></div>
- <div class="contents">
- <div class="prepadding"></div>
- <div class="container">
- <div class="innerpadding"></div>
- <div class="sticky box"></div>
- </div>
- </div>
- </div>
-</div>
-
-<div class="group">
- <div id="scroller2" class="scroller">
- <div class="indicator box" style="top: 175px;"></div>
- <div class="contents">
- <div class="prepadding"></div>
- <div class="container">
- <div class="innerpadding"></div>
- <div class="sticky box"></div>
- </div>
- </div>
- </div>
-</div>
-
-<div class="group">
- <div id="scroller3" class="scroller">
- <div class="indicator box" style="top: 200px;"></div>
- <div class="contents">
- <div class="prepadding"></div>
- <div class="container">
- <div class="innerpadding"></div>
- <div class="sticky box"></div>
- </div>
- </div>
- </div>
-</div>
-
-<div>You should see three green boxes above. No red should be visible.</div>
diff --git a/tests/wpt/mozilla/tests/css/css-position-3/position-sticky-writing-modes-ref.html b/tests/wpt/mozilla/tests/css/css-position-3/position-sticky-writing-modes-ref.html
deleted file mode 100644
index e79c639b43a..00000000000
--- a/tests/wpt/mozilla/tests/css/css-position-3/position-sticky-writing-modes-ref.html
+++ /dev/null
@@ -1,58 +0,0 @@
-<!DOCTYPE html>
-<title>Reference for position:sticky constraints are independent of writing mode</title>
-<link rel="stylesheet" type="text/css" href="/fonts/ahem.css">
-
-<style>
-.group {
- display: inline-block;
- position: relative;
- width: 180px;
- height: 250px;
-}
-
-.scroller {
- position: relative;
- width: 130px;
- height: 200px;
- overflow: scroll;
- font: 25px/1 Ahem;
-}
-
-.contents {
- height: 500px;
- width: 200px;
-}
-
-.indicator {
- display: inline;
- color: green;
- position: relative;
-}
-</style>
-
-<script>
-window.addEventListener('load', function() {
- document.getElementById('scroller1').scrollTop = 50;
- document.getElementById('scroller1').scrollLeft = 20;
- document.getElementById('scroller2').scrollTop = 50;
- document.getElementById('scroller2').scrollLeft = 60;
-});
-</script>
-
-<div class="group">
- <div id="scroller1" class="scroller" style="writing-mode: vertical-lr;">
- <div class="contents">
- <div class="indicator" style="left: 40px; top: 100px;">XXX</div>
- </div>
- </div>
-</div>
-
-<div class="group">
- <div id="scroller2" class="scroller" style="writing-mode: vertical-rl;">
- <div class="contents">
- <div class="indicator" style="right: 45px; top: 100px;">XXX</div>
- </div>
- </div>
-</div>
-
-<div>You should see two green blocks above. No red should be visible.</div>
diff --git a/tests/wpt/mozilla/tests/css/css-position-3/position-sticky-writing-modes.html b/tests/wpt/mozilla/tests/css/css-position-3/position-sticky-writing-modes.html
deleted file mode 100644
index 9672d093a8f..00000000000
--- a/tests/wpt/mozilla/tests/css/css-position-3/position-sticky-writing-modes.html
+++ /dev/null
@@ -1,69 +0,0 @@
-<!DOCTYPE html>
-<title>position:sticky constraints are independent of writing mode</title>
-<link rel="match" href="position-sticky-writing-modes-ref.html" />
-<link rel="help" href="https://www.w3.org/TR/css-position-3/#sticky-pos" />
-<link rel="stylesheet" type="text/css" href="/fonts/ahem.css">
-<meta name="assert" content="This test checks that position:sticky constraints are independent of the writing mode" />
-
-<style>
-.group {
- display: inline-block;
- position: relative;
- width: 180px;
- height: 250px;
-}
-
-.scroller {
- position: relative;
- width: 130px;
- height: 200px;
- overflow: scroll;
- font: 25px/1 Ahem;
-}
-
-.contents {
- height: 500px;
- width: 200px;
-}
-
-.indicator {
- position: absolute;
- color: red;
-}
-
-.sticky {
- display: inline;
- color: green;
- position: sticky;
- top: 50px;
-}
-</style>
-
-<script>
-window.addEventListener('load', function() {
- document.getElementById('scroller1').scrollTop = 50;
- document.getElementById('scroller1').scrollLeft = 20;
- document.getElementById('scroller2').scrollTop = 50;
- document.getElementById('scroller2').scrollLeft = 60;
-});
-</script>
-
-<div class="group">
- <div id="scroller1" class="scroller" style="writing-mode: vertical-lr;">
- <div class="indicator" style="left: 40px; top: 100px;">XXX</div>
- <div class="contents">
- <div class="sticky" style="left: 20px;">XXX</div>
- </div>
- </div>
-</div>
-
-<div class="group">
- <div id="scroller2" class="scroller" style="writing-mode: vertical-rl;">
- <div class="contents">
- <div class="indicator" style="left: 45px; top: 100px;">XXX</div>
- <div class="sticky" style="right: 20px;">XXX</div>
- </div>
- </div>
-</div>
-
-<div>You should see two green blocks above. No red should be visible.</div>