servo/tests/wpt/meta/css/css-position
Martin Robinson 5da55adfd3
layout: Account for sticky nodes in ScrollTree transforms and cache transforms (#38391)
When calculating the node to world transform for use in bounding box
queries, cache the values of the transform. In addition, when scroll
offsets change, ensure that the cached values are invalided properly.
This change necessitated the storage of children for each node in the
tree, so that we can walk both up and down the tree. The purpose of this
part of the change is to increase performance when doing multiple
queries and prepare the tree for hit testing.

In addition, this change also tries to take into account sticky offsets,
using the algorithm from WebRender to calculate sticky offsets. This is
also going to be important for hit testing.

Testing: Newly passing tests:
 - /css/css-position/position-sticky-dynamic-ancestor-001.html
 - /css/css-tables/tentative/position-sticky-container.html

Signed-off-by: Martin Robinson <mrobinson@igalia.com>
Co-authored-by: Oriol Brufau <obrufau@igalia.com>
2025-07-31 13:36:32 +00:00
..
animations Let animations&transitions fall back to discrete interpolation (#34981) 2025-01-30 20:36:55 +00:00
multicol Rename metadata directories 2023-06-22 21:15:41 +02:00
overlay Upgrade Stylo to 2024-03-01 (#32089) 2024-04-16 12:27:51 +00:00
static-position layout: Right-to-left support for other layout modes (#33375) 2024-09-11 13:40:11 +00:00
sticky layout: Consider transform for bounding box queries (#37871) 2025-07-30 08:13:54 +00:00
backdrop-inherit-computed.html.ini Sync WPT with upstream (04-10-2023) (#30493) 2023-10-06 00:51:48 +00:00
backdrop-tree-abiding-slotted.html.ini Sync WPT with upstream (20-08-2023) (#30143) 2023-08-22 11:36:48 +00:00
change-insets-inside-strict-containment-nested.html.ini Rename metadata directories 2023-06-22 21:15:41 +02:00
containing-block-change-button.html.ini Rename metadata directories 2023-06-22 21:15:41 +02:00
position-absolute-center-001.html.ini Rename metadata directories 2023-06-22 21:15:41 +02:00
position-absolute-center-002.html.ini Rename metadata directories 2023-06-22 21:15:41 +02:00
position-absolute-dynamic-static-position-floats-001.html.ini Rename metadata directories 2023-06-22 21:15:41 +02:00
position-absolute-dynamic-static-position-floats-002.html.ini Rename metadata directories 2023-06-22 21:15:41 +02:00
position-absolute-dynamic-static-position-floats-003.html.ini Rename metadata directories 2023-06-22 21:15:41 +02:00
position-absolute-dynamic-static-position-floats-004.html.ini layout: Right-to-left support for other layout modes (#33375) 2024-09-11 13:40:11 +00:00
position-absolute-dynamic-static-position-table-cell.html.ini Enable CSS Tables by default (#31470) 2024-03-07 10:09:10 +00:00
position-absolute-in-inline-002.html.ini Rename metadata directories 2023-06-22 21:15:41 +02:00
position-absolute-in-inline-003.html.ini Rename metadata directories 2023-06-22 21:15:41 +02:00
position-absolute-in-inline-004.html.ini Rename metadata directories 2023-06-22 21:15:41 +02:00
position-absolute-percentage-height.html.ini Rename metadata directories 2023-06-22 21:15:41 +02:00
position-absolute-replaced-intrinsic-size.tentative.html.ini Rename metadata directories 2023-06-22 21:15:41 +02:00
position-absolute-replaced-minmax.html.ini Unify sizing logic for replaced elements (#34076) 2024-11-01 12:34:28 +00:00
position-absolute-replaced-no-intrinsic-size.tentative.html.ini Rename metadata directories 2023-06-22 21:15:41 +02:00
position-relative-001.html.ini Rename metadata directories 2023-06-22 21:15:41 +02:00
position-relative-002.html.ini Rename metadata directories 2023-06-22 21:15:41 +02:00
position-relative-011.html.ini Rename metadata directories 2023-06-22 21:15:41 +02:00
position-relative-013.html.ini Rename metadata directories 2023-06-22 21:15:41 +02:00
position-relative-table-tbody-left-absolute-child.html.ini Rename metadata directories 2023-06-22 21:15:41 +02:00
position-relative-table-tbody-left.html.ini Rename metadata directories 2023-06-22 21:15:41 +02:00
position-relative-table-tbody-top-absolute-child.html.ini Enable CSS Tables by default (#31470) 2024-03-07 10:09:10 +00:00
position-relative-table-tbody-top.html.ini Rename metadata directories 2023-06-22 21:15:41 +02:00
position-relative-table-td-left.html.ini Rename metadata directories 2023-06-22 21:15:41 +02:00
position-relative-table-td-top.html.ini Rename metadata directories 2023-06-22 21:15:41 +02:00
position-relative-table-tfoot-left-absolute-child.html.ini Rename metadata directories 2023-06-22 21:15:41 +02:00
position-relative-table-tfoot-left.html.ini Rename metadata directories 2023-06-22 21:15:41 +02:00
position-relative-table-tfoot-top-absolute-child.html.ini Enable CSS Tables by default (#31470) 2024-03-07 10:09:10 +00:00
position-relative-table-tfoot-top.html.ini Rename metadata directories 2023-06-22 21:15:41 +02:00
position-relative-table-thead-left-absolute-child.html.ini Rename metadata directories 2023-06-22 21:15:41 +02:00
position-relative-table-thead-left.html.ini Rename metadata directories 2023-06-22 21:15:41 +02:00
position-relative-table-thead-top-absolute-child.html.ini Enable CSS Tables by default (#31470) 2024-03-07 10:09:10 +00:00
position-relative-table-thead-top.html.ini Rename metadata directories 2023-06-22 21:15:41 +02:00
position-relative-table-tr-left-absolute-child.html.ini Rename metadata directories 2023-06-22 21:15:41 +02:00
position-relative-table-tr-left.html.ini Rename metadata directories 2023-06-22 21:15:41 +02:00
position-relative-table-tr-top-absolute-child.html.ini Enable CSS Tables by default (#31470) 2024-03-07 10:09:10 +00:00
position-relative-table-tr-top.html.ini Rename metadata directories 2023-06-22 21:15:41 +02:00
positon-absolute-scrollable-overflow-001.html.ini layout: Unify scrollable overflow calculation and include position: absolute (#37475) 2025-06-16 11:30:31 +00:00
sticky-dialog.html.ini Update web-platform-tests to revision b'd988aeeb33edc4d452899921799b8bed69fff65d' (#33178) 2024-08-25 01:37:49 +00:00