aboutsummaryrefslogtreecommitdiffstats
path: root/tests/wpt/web-platform-tests/css/css-transforms/rotateY-180deg-with-overflow-scroll-ref.html
diff options
context:
space:
mode:
authorMartin Robinson <mrobinson@igalia.com>2025-05-02 14:20:11 +0200
committerGitHub <noreply@github.com>2025-05-02 12:20:11 +0000
commit9bc16482a391bfa2afa040071c9d943a1c84f426 (patch)
tree13bd3629057bdb5a686c230542f5211e7790e32b /tests/wpt/web-platform-tests/css/css-transforms/rotateY-180deg-with-overflow-scroll-ref.html
parente25e63b5872d85931a1320609d46a4d404b57c65 (diff)
downloadservo-main.tar.gz
servo-main.zip
layout: Simplify `PositioningContext` by having it hold a single `Vec` (#36795)HEADmain
`PositioningContext` held two vectors, one inside an `Option`, to differentiate between the version used for a containing block for all descendants (including `position: absolute` and `position: fixed`) or only for `position: absolute` descendants. This distinction was really hard to reason about and required a lot of bookkeeping about what kind of `PositioningContext` a layout box's parent expected. In addition, it led to a lot of mistakes. This change simplifies things so that `PositioningContext` only holds a single vector. When it comes time to lay out hoisted absolutely positioned fragments, the code then: - lays out all of them (in the case of a `PositioningContext` for all descendants), or - only lays out the `position: absolute` descendants and preserves the `position: fixed` descendants (in the case the `PositioningContext` is only for `position: absolute`.), or - lays out none of them if the `PositioningContext` was created for box that did not establish a containing block for absolutes. It's possible that this way of dealing with hoisted absolutes is a bit less efficient, but, the number of these descendants is typically quite small, so it should not be significant. In addition, this decreases the size in memory of all `PositioningContexts` which are created in more situations as time goes on. Testing: There is a new WPT test with this change. Fixes: #36696. Signed-off-by: Martin Robinson <mrobinson@igalia.com>
Diffstat (limited to 'tests/wpt/web-platform-tests/css/css-transforms/rotateY-180deg-with-overflow-scroll-ref.html')
0 files changed, 0 insertions, 0 deletions