servo/components/layout_2020/flow
Martin Robinson 7a8e75266f
layout: Throw away nested marker elements instead of storing them in a BoxSlot (#36568)
`::before` and `::after` pseudo-elements can have their own `::marker`
pseudo-element. Since this case wasn't taken into account, they were
being stored in main element's `::marker` `BoxSlot`. This could cause
problems where two layout boxes would try to use the same `BoxSlot`. For
now, just don't store the nested version of the marker. Later, we'll
need to figure out how to store these layout objects without causing too
much memory usage.

Testing: This is covered by `/css/css-lists/nested-marker-styling.html`.
In
addition, we also made a test case that always causes this crash, but
since it
had to create 100000 `<div>`s it's probably not appropriate for a test
suite.
Fixes: #36551

Signed-off-by: Martin Robinson <mrobinson@igalia.com>
Co-authored-by: Oriol Brufau <obrufau@igalia.com>
2025-04-16 15:32:48 +00:00
..
inline layout: Floor the max-content size by the min-content size (#36518) 2025-04-14 18:00:32 +00:00
construct.rs layout: Throw away nested marker elements instead of storing them in a BoxSlot (#36568) 2025-04-16 15:32:48 +00:00
float.rs Update rustfmt to the 2024 style edition (#35764) 2025-03-03 11:26:53 +00:00
mod.rs layout: Box block_margins_collapsed_with_children member of BoxFragment (#36474) 2025-04-12 08:52:30 +00:00
root.rs layout: Store table parts in DOM layout data (#36447) 2025-04-12 14:13:23 +00:00