servo/components/layout
Martin Robinson a2f551eb2d
layout: Clone static position rectangles when caching in IndependentFormattingContext (#39591)
Hoisted absolutes that are cached in IndependentFormattingContexts may
have their HoistedSharedFragment reused between layouts. This means
that the original value of the adjusted static positioning rectangles
need to be preserved in cache. This change makes it so that these values
are cloned when being retrieved from the cache. Further adjustments up
the tree will now no longer affected the version in teh cache.

Testing: This should cause `/_mozilla/css/stacked_layers.html` to no
longer
be flaky.
Fixes: #39548.
Fixes: #39439.

Signed-off-by: Martin Robinson <mrobinson@igalia.com>
Co-authored-by: Oriol Brufau <obrufau@igalia.com>
2025-10-01 06:50:54 +00:00
..
display_list layout: Avoid negative corner radii values for border-radius (#39571) 2025-09-30 10:37:44 +00:00
flexbox layout: Fix propagation of overflow to viewport (#39173) 2025-09-16 20:53:46 +00:00
flow layout: Clone static position rectangles when caching in IndependentFormattingContext (#39591) 2025-10-01 06:50:54 +00:00
fragment_tree layout: Clone static position rectangles when caching in IndependentFormattingContext (#39591) 2025-10-01 06:50:54 +00:00
stylesheets layout: Fix Textual <input> Vertical Align Style (#39014) 2025-09-09 03:09:38 +00:00
table layout: Align table-cell contents safely (#39491) 2025-09-26 07:44:23 +00:00
taffy stylo: Add support for -webkit-fill-available sizing keyword (#39492) 2025-09-26 10:45:56 +00:00
tests layout: Combine layout_2020 and layout_thread_2020 into a crate called layout (#36613) 2025-04-19 10:17:03 +00:00
Cargo.toml Cargo.toml cleanup (#39403) 2025-09-20 03:09:37 +00:00
cell.rs layout: Combine layout_2020 and layout_thread_2020 into a crate called layout (#36613) 2025-04-19 10:17:03 +00:00
construct_modern.rs Allow WebViews and fonts to have a RenderingGroupId. (#39140) 2025-09-29 10:01:56 +00:00
context.rs Allow WebViews and fonts to have a RenderingGroupId. (#39140) 2025-09-29 10:01:56 +00:00
dom.rs layout: Fix propagation of overflow to viewport (#39173) 2025-09-16 20:53:46 +00:00
dom_traversal.rs layout: Always build Tag and BaseFragmentInfo with ServoThreadSafeLayoutNode (#38680) 2025-08-18 12:19:09 +00:00
formatting_contexts.rs cargo: Bump rustc to 1.89 (#36818) 2025-08-19 11:07:53 +00:00
geom.rs layout: Move sizing logic from geom.rs to sizing.rs (#38568) 2025-08-09 20:43:40 +00:00
layout_box_base.rs layout: Move sizing logic from geom.rs to sizing.rs (#38568) 2025-08-09 20:43:40 +00:00
layout_impl.rs layout: Ensure that the Epoch stored in layout is accurate (#39568) 2025-09-30 06:42:58 +00:00
lib.rs layout: Add style to ConstraintSpace and IndefiniteContainingBlock (#39229) 2025-09-11 21:53:14 +00:00
lists.rs layout: Use the PseudoElement from ServoThreadSafeLayoutNode in NodeAndStyleInfo (#38630) 2025-08-13 17:31:57 +00:00
positioned.rs layout: Clone static position rectangles when caching in IndependentFormattingContext (#39591) 2025-10-01 06:50:54 +00:00
query.rs script: Chain up keyboard scrolling to parent <iframe>s (#39469) 2025-09-25 11:16:41 +00:00
quotes.rs layout: Combine layout_2020 and layout_thread_2020 into a crate called layout (#36613) 2025-04-19 10:17:03 +00:00
replaced.rs layout: Add style to ConstraintSpace and IndefiniteContainingBlock (#39229) 2025-09-11 21:53:14 +00:00
sizing.rs stylo: Add support for -webkit-fill-available sizing keyword (#39492) 2025-09-26 10:45:56 +00:00
style_ext.rs script: Move keyboard scrolling to script (#39371) 2025-09-23 20:35:08 +00:00
traversal.rs cargo: Bump rustc to 1.89 (#36818) 2025-08-19 11:07:53 +00:00