ladybird/Libraries/LibWeb/Layout
Jelle Raaijmakers de7ca7b157 LibWeb: Retain display: contents in ancestor stack for continuations
When restructuring inline nodes because of a block element insertion
during the layout tree build, we might end up with a `display: contents`
element in the ancestor stack that is not part of the actual layout
tree, since it's never actually used as a parent for any node. Because
we were only rewinding the ancestor stack with actual new layout nodes,
it became corrupted and layout nodes were added to the wrong parent.

This new logic leaves the ancestor stack intact, only replacing layout
nodes whenever a new one is created.

Fixes the sidebar on https://reddit.com.
Fixes #3590.
2025-02-18 23:31:49 +01:00
..
AudioBox.cpp LibWeb: Hide audio element when controls is not set 2025-01-04 11:47:09 +00:00
AudioBox.h LibWeb: Hide audio element when controls is not set 2025-01-04 11:47:09 +00:00
AvailableSpace.cpp
AvailableSpace.h
BlockContainer.cpp LibWeb: Make CSS::ComputedProperties GC-allocated 2024-12-22 10:12:49 +01:00
BlockContainer.h LibWeb: Make CSS::ComputedProperties GC-allocated 2024-12-22 10:12:49 +01:00
BlockFormattingContext.cpp LibWeb: Use cached UsedValues pointer for floating boxes in more places 2025-02-12 00:39:36 +01:00
BlockFormattingContext.h LibWeb: Cache the margin box rect for floating boxes 2025-01-21 21:06:55 +01:00
Box.cpp LibWeb: Implement CSS 'contain' property 2025-01-28 11:24:40 +00:00
Box.h LibWeb: Implement CSS 'contain' property 2025-01-28 11:24:40 +00:00
BreakNode.cpp LibWeb: Make CSS::ComputedProperties GC-allocated 2024-12-22 10:12:49 +01:00
BreakNode.h AK+Everywhere: Rename verify_cast to as 2025-01-21 11:34:06 -05:00
CanvasBox.cpp LibWeb: Make CSS::ComputedProperties GC-allocated 2024-12-22 10:12:49 +01:00
CanvasBox.h LibWeb: Make CSS::ComputedProperties GC-allocated 2024-12-22 10:12:49 +01:00
CheckBox.cpp LibWeb: Make CSS::ComputedProperties GC-allocated 2024-12-22 10:12:49 +01:00
CheckBox.h LibWeb: Make CSS::ComputedProperties GC-allocated 2024-12-22 10:12:49 +01:00
FieldSetBox.cpp Meta: Disallow links to single-page HTML spec 2025-02-05 16:04:50 -07:00
FieldSetBox.h LibWeb: Make CSS::ComputedProperties GC-allocated 2024-12-22 10:12:49 +01:00
FlexFormattingContext.cpp LibWeb: Assume flex container forms containing block of abspos items 2025-02-12 00:39:36 +01:00
FlexFormattingContext.h LibWeb: Use cached UsedValues pointer in FlexFormattingContext more 2025-02-12 00:39:36 +01:00
FormAssociatedLabelableNode.h LibWeb: Make CSS::ComputedProperties GC-allocated 2024-12-22 10:12:49 +01:00
FormattingContext.cpp Meta: Disallow links to single-page HTML spec 2025-02-05 16:04:50 -07:00
FormattingContext.h LibWeb: Stop treating intrinsic size keywords as auto in CSS heights 2024-11-21 19:21:51 +01:00
GridFormattingContext.cpp LibWeb: Cache UsedValues pointers in GridFormattingContext and use them 2025-02-12 00:39:36 +01:00
GridFormattingContext.h LibWeb: Cache UsedValues pointers in GridFormattingContext and use them 2025-02-12 00:39:36 +01:00
ImageBox.cpp AK+Everywhere: Rename verify_cast to as 2025-01-21 11:34:06 -05:00
ImageBox.h LibWeb: Make CSS::ComputedProperties GC-allocated 2024-12-22 10:12:49 +01:00
ImageProvider.cpp
ImageProvider.h LibGC+Everywhere: Factor out a LibGC from LibJS 2024-11-15 14:49:20 +01:00
InlineFormattingContext.cpp AK+Everywhere: Rename verify_cast to as 2025-01-21 11:34:06 -05:00
InlineFormattingContext.h
InlineLevelIterator.cpp LibWeb/CSS: Update CalculatedOr API to use CalculationResolutionContext 2025-01-30 19:31:54 +01:00
InlineLevelIterator.h LibWeb: Layout/Shape font-variant-* css properties 2024-12-17 19:07:13 +01:00
InlineNode.cpp LibWeb: Support inserting non-inline elements into inline elements 2025-01-23 09:33:10 +01:00
InlineNode.h LibWeb: Make CSS::ComputedProperties GC-allocated 2024-12-22 10:12:49 +01:00
Label.cpp AK+Everywhere: Rename verify_cast to as 2025-01-21 11:34:06 -05:00
Label.h LibWeb: Make CSS::ComputedProperties GC-allocated 2024-12-22 10:12:49 +01:00
LabelableNode.cpp
LabelableNode.h LibWeb: Make CSS::ComputedProperties GC-allocated 2024-12-22 10:12:49 +01:00
LayoutState.cpp LibWeb: Store final box model metrics in paint tree, not layout tree 2025-02-17 18:28:29 +01:00
LayoutState.h LibWeb: Make LayoutState::UsedValues::m_node a const pointer 2025-02-12 00:39:36 +01:00
LegendBox.cpp LibWeb: Make CSS::ComputedProperties GC-allocated 2024-12-22 10:12:49 +01:00
LegendBox.h LibWeb: Make CSS::ComputedProperties GC-allocated 2024-12-22 10:12:49 +01:00
LineBox.cpp LibWeb/Layout: Use GlyphRun font to measure trimmed whitespace 2024-12-06 02:57:34 +01:00
LineBox.h
LineBoxFragment.cpp AK+Everywhere: Rename verify_cast to as 2025-01-21 11:34:06 -05:00
LineBoxFragment.h LibGC+Everywhere: Factor out a LibGC from LibJS 2024-11-15 14:49:20 +01:00
LineBuilder.cpp LibWeb: Implement text-align: match-parent 2025-02-05 17:45:44 +00:00
LineBuilder.h
ListItemBox.cpp LibWeb: Make CSS::ComputedProperties GC-allocated 2024-12-22 10:12:49 +01:00
ListItemBox.h LibWeb: Make CSS::ComputedProperties GC-allocated 2024-12-22 10:12:49 +01:00
ListItemMarkerBox.cpp LibWeb: Support strings as list-style-types 2025-02-11 10:39:27 +01:00
ListItemMarkerBox.h LibWeb: Support strings as list-style-types 2025-02-11 10:39:27 +01:00
NavigableContainerViewport.cpp LibWeb: Make CSS::ComputedProperties GC-allocated 2024-12-22 10:12:49 +01:00
NavigableContainerViewport.h AK+Everywhere: Rename verify_cast to as 2025-01-21 11:34:06 -05:00
Node.cpp LibWeb: Move z-index to table wrapper box 2025-02-16 21:05:59 +01:00
Node.h LibWeb: Store final box model metrics in paint tree, not layout tree 2025-02-17 18:28:29 +01:00
RadioButton.cpp LibWeb: Make CSS::ComputedProperties GC-allocated 2024-12-22 10:12:49 +01:00
RadioButton.h LibWeb: Make CSS::ComputedProperties GC-allocated 2024-12-22 10:12:49 +01:00
ReplacedBox.cpp LibWeb: Make CSS::ComputedProperties GC-allocated 2024-12-22 10:12:49 +01:00
ReplacedBox.h AK+Everywhere: Rename verify_cast to as 2025-01-21 11:34:06 -05:00
SVGBox.cpp LibWeb: Make CSS::ComputedProperties GC-allocated 2024-12-22 10:12:49 +01:00
SVGBox.h AK+Everywhere: Rename verify_cast to as 2025-01-21 11:34:06 -05:00
SVGClipBox.cpp LibWeb: Make CSS::ComputedProperties GC-allocated 2024-12-22 10:12:49 +01:00
SVGClipBox.h AK+Everywhere: Rename verify_cast to as 2025-01-21 11:34:06 -05:00
SVGForeignObjectBox.cpp LibWeb: Make CSS::ComputedProperties GC-allocated 2024-12-22 10:12:49 +01:00
SVGForeignObjectBox.h LibWeb: Make CSS::ComputedProperties GC-allocated 2024-12-22 10:12:49 +01:00
SVGFormattingContext.cpp Everywhere: Run clang-format 2024-12-28 05:39:32 -08:00
SVGFormattingContext.h LibGfx: Delete DeprecatedPath 2024-11-25 21:13:53 +01:00
SVGGeometryBox.cpp LibWeb: Make CSS::ComputedProperties GC-allocated 2024-12-22 10:12:49 +01:00
SVGGeometryBox.h LibWeb: Make CSS::ComputedProperties GC-allocated 2024-12-22 10:12:49 +01:00
SVGGraphicsBox.cpp LibWeb: Make CSS::ComputedProperties GC-allocated 2024-12-22 10:12:49 +01:00
SVGGraphicsBox.h AK+Everywhere: Rename verify_cast to as 2025-01-21 11:34:06 -05:00
SVGImageBox.cpp LibWeb: Make CSS::ComputedProperties GC-allocated 2024-12-22 10:12:49 +01:00
SVGImageBox.h LibWeb: Make CSS::ComputedProperties GC-allocated 2024-12-22 10:12:49 +01:00
SVGMaskBox.cpp LibWeb: Make CSS::ComputedProperties GC-allocated 2024-12-22 10:12:49 +01:00
SVGMaskBox.h AK+Everywhere: Rename verify_cast to as 2025-01-21 11:34:06 -05:00
SVGSVGBox.cpp LibWeb: Make CSS::ComputedProperties GC-allocated 2024-12-22 10:12:49 +01:00
SVGSVGBox.h AK+Everywhere: Rename verify_cast to as 2025-01-21 11:34:06 -05:00
SVGTextBox.cpp LibWeb: Make CSS::ComputedProperties GC-allocated 2024-12-22 10:12:49 +01:00
SVGTextBox.h LibWeb: Make CSS::ComputedProperties GC-allocated 2024-12-22 10:12:49 +01:00
SVGTextPathBox.cpp LibWeb: Make CSS::ComputedProperties GC-allocated 2024-12-22 10:12:49 +01:00
SVGTextPathBox.h LibWeb: Make CSS::ComputedProperties GC-allocated 2024-12-22 10:12:49 +01:00
TableFormattingContext.cpp AK+Everywhere: Rename verify_cast to as 2025-01-21 11:34:06 -05:00
TableFormattingContext.h AK+Everywhere: Rename verify_cast to as 2025-01-21 11:34:06 -05:00
TableGrid.cpp
TableGrid.h LibGC+Everywhere: Factor out a LibGC from LibJS 2024-11-15 14:49:20 +01:00
TableWrapper.cpp LibWeb: Make CSS::ComputedProperties GC-allocated 2024-12-22 10:12:49 +01:00
TableWrapper.h LibWeb: Make CSS::ComputedProperties GC-allocated 2024-12-22 10:12:49 +01:00
TextNode.cpp LibGC+Everywhere: Factor out a LibGC from LibJS 2024-11-15 14:49:20 +01:00
TextNode.h LibGC+Everywhere: Factor out a LibGC from LibJS 2024-11-15 14:49:20 +01:00
TreeBuilder.cpp LibWeb: Retain display: contents in ancestor stack for continuations 2025-02-18 23:31:49 +01:00
TreeBuilder.h LibWeb: Support both ::before/::after pseudo elements on button elements 2025-02-03 15:59:38 +01:00
VideoBox.cpp LibWeb: Make CSS::ComputedProperties GC-allocated 2024-12-22 10:12:49 +01:00
VideoBox.h LibWeb: Make CSS::ComputedProperties GC-allocated 2024-12-22 10:12:49 +01:00
Viewport.cpp AK+Everywhere: Rename verify_cast to as 2025-01-21 11:34:06 -05:00
Viewport.h LibWeb: Make CSS::ComputedProperties GC-allocated 2024-12-22 10:12:49 +01:00