ladybird/Libraries/LibWeb/Layout
Jelle Raaijmakers 336684bc5c LibWeb: Support inserting non-inline elements into inline elements
Our layout tree requires that all containers either have inline or
non-inline children. In order to support the layout of non-inline
elements inside inline elements, we need to do a bit of tree
restructuring. It effectively simulates temporarily closing all inline
nodes, appending the block element, and resumes appending to the last
open inline node.

The acid1.txt expectation needed to be updated to reflect the fact that
we now hoist its <p> elements out of the inline <form> they were in.
Visually, the before and after situations for acid1.html are identical.
2025-01-23 09:33:10 +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 Everywhere: Hoist the Libraries folder to the top-level 2024-11-10 12:50:45 +01:00
AvailableSpace.h Everywhere: Hoist the Libraries folder to the top-level 2024-11-10 12:50:45 +01:00
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: Cache the margin box rect for floating boxes 2025-01-21 21:06:55 +01:00
BlockFormattingContext.h LibWeb: Cache the margin box rect for floating boxes 2025-01-21 21:06:55 +01:00
Box.cpp LibWeb: Make CSS::ComputedProperties GC-allocated 2024-12-22 10:12:49 +01:00
Box.h LibWeb: Support inserting non-inline elements into inline elements 2025-01-23 09:33:10 +01:00
BoxModelMetrics.cpp Everywhere: Hoist the Libraries folder to the top-level 2024-11-10 12:50:45 +01:00
BoxModelMetrics.h Everywhere: Hoist the Libraries folder to the top-level 2024-11-10 12:50:45 +01: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 LibWeb: Make CSS::ComputedProperties GC-allocated 2024-12-22 10:12:49 +01:00
FieldSetBox.h LibWeb: Make CSS::ComputedProperties GC-allocated 2024-12-22 10:12:49 +01:00
FlexFormattingContext.cpp AK+Everywhere: Rename verify_cast to as 2025-01-21 11:34:06 -05:00
FlexFormattingContext.h LibGC+Everywhere: Factor out a LibGC from LibJS 2024-11-15 14:49:20 +01:00
FormAssociatedLabelableNode.h LibWeb: Make CSS::ComputedProperties GC-allocated 2024-12-22 10:12:49 +01:00
FormattingContext.cpp AK+Everywhere: Rename verify_cast to as 2025-01-21 11:34:06 -05:00
FormattingContext.h LibWeb: Stop treating intrinsic size keywords as auto in CSS heights 2024-11-21 19:21:51 +01:00
GridFormattingContext.cpp AK+Everywhere: Rename verify_cast to as 2025-01-21 11:34:06 -05:00
GridFormattingContext.h LibGC+Everywhere: Factor out a LibGC from LibJS 2024-11-15 14:49:20 +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 Everywhere: Hoist the Libraries folder to the top-level 2024-11-10 12:50:45 +01:00
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 Everywhere: Hoist the Libraries folder to the top-level 2024-11-10 12:50:45 +01:00
InlineLevelIterator.cpp AK+Everywhere: Rename verify_cast to as 2025-01-21 11:34:06 -05: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 Everywhere: Hoist the Libraries folder to the top-level 2024-11-10 12:50:45 +01:00
LabelableNode.h LibWeb: Make CSS::ComputedProperties GC-allocated 2024-12-22 10:12:49 +01:00
LayoutState.cpp LibWeb: Support inserting non-inline elements into inline elements 2025-01-23 09:33:10 +01:00
LayoutState.h LibGC+Everywhere: Factor out a LibGC from LibJS 2024-11-15 14:49:20 +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 Everywhere: Hoist the Libraries folder to the top-level 2024-11-10 12:50:45 +01:00
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 AK+Everywhere: Rename verify_cast to as 2025-01-21 11:34:06 -05:00
LineBuilder.h Everywhere: Hoist the Libraries folder to the top-level 2024-11-10 12:50:45 +01:00
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: Make CSS::ComputedProperties GC-allocated 2024-12-22 10:12:49 +01:00
ListItemMarkerBox.h LibWeb: Make CSS::ComputedProperties GC-allocated 2024-12-22 10:12:49 +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: Support inserting non-inline elements into inline elements 2025-01-23 09:33:10 +01:00
Node.h LibWeb: Support inserting non-inline elements into inline elements 2025-01-23 09:33:10 +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 Everywhere: Hoist the Libraries folder to the top-level 2024-11-10 12:50:45 +01:00
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: Support inserting non-inline elements into inline elements 2025-01-23 09:33:10 +01:00
TreeBuilder.h LibWeb: Support inserting non-inline elements into inline elements 2025-01-23 09:33:10 +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