1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-05-31 05:08:13 +00:00
serenity/Libraries/LibWeb/Layout
Andreas Kling ddbfd77e2c LibWeb: Don't put block boxes inside inlines
Inline layout nodes cannot have block children (except inline-block,
of course.)

When encountering a block box child of an inline, we now hoist the
block up to the inline's containing block, and also wrap any preceding
inline siblings in an anonymous wrapper block.

This improves the ACID2 situation quite a bit (although we still need
floats to really bring it home.)

I also took this opportunity to move all tree building logic into
Layout::TreeBuilder, to continue the theme of absolving our LayoutNode
objects of responsibilities. :^)
2020-11-26 21:22:42 +01:00
..
BlockBox.cpp LibWeb: Don't put block boxes inside inlines 2020-11-26 21:22:42 +01:00
BlockBox.h LibWeb: Don't put block boxes inside inlines 2020-11-26 21:22:42 +01:00
BlockFormattingContext.cpp LibWeb: Keep track of the parent of each formatting context 2020-11-25 21:26:58 +01:00
BlockFormattingContext.h LibWeb: Keep track of the parent of each formatting context 2020-11-25 21:26:58 +01:00
Box.cpp LibWeb: Rename LayoutNode classes and move them into Layout namespace 2020-11-22 15:56:27 +01:00
Box.h LibWeb: Rename LayoutNode classes and move them into Layout namespace 2020-11-22 15:56:27 +01:00
BoxModelMetrics.cpp LibWeb: Rename LayoutNode classes and move them into Layout namespace 2020-11-22 15:56:27 +01:00
BoxModelMetrics.h LibWeb: Rename LayoutNode classes and move them into Layout namespace 2020-11-22 15:56:27 +01:00
BreakNode.cpp LibWeb: Rename LayoutNode classes and move them into Layout namespace 2020-11-22 15:56:27 +01:00
BreakNode.h LibWeb: Rename LayoutNode classes and move them into Layout namespace 2020-11-22 15:56:27 +01:00
ButtonBox.cpp LibWeb: Rename LayoutNode classes and move them into Layout namespace 2020-11-22 15:56:27 +01:00
ButtonBox.h LibWeb: Rename LayoutNode classes and move them into Layout namespace 2020-11-22 15:56:27 +01:00
CanvasBox.cpp LibWeb: Rename LayoutNode classes and move them into Layout namespace 2020-11-22 15:56:27 +01:00
CanvasBox.h LibWeb: Rename LayoutNode classes and move them into Layout namespace 2020-11-22 15:56:27 +01:00
CheckBox.cpp LibWeb: Rename LayoutNode classes and move them into Layout namespace 2020-11-22 15:56:27 +01:00
CheckBox.h LibWeb: Rename LayoutNode classes and move them into Layout namespace 2020-11-22 15:56:27 +01:00
FormattingContext.cpp LibWeb: Keep track of the parent of each formatting context 2020-11-25 21:26:58 +01:00
FormattingContext.h LibWeb: Keep track of the parent of each formatting context 2020-11-25 21:26:58 +01:00
FrameBox.cpp LibWeb: Fix build with DEBUG_HIGHLIGHT_FOCUSED_FRAME 2020-11-22 16:07:53 +01:00
FrameBox.h LibWeb: Rename LayoutNode classes and move them into Layout namespace 2020-11-22 15:56:27 +01:00
ImageBox.cpp LibWeb: Rename LayoutNode classes and move them into Layout namespace 2020-11-22 15:56:27 +01:00
ImageBox.h LibWeb: Rename LayoutNode classes and move them into Layout namespace 2020-11-22 15:56:27 +01:00
InitialContainingBlockBox.cpp LibWeb: Rename LayoutNode classes and move them into Layout namespace 2020-11-22 15:56:27 +01:00
InitialContainingBlockBox.h LibWeb: Rename LayoutNode classes and move them into Layout namespace 2020-11-22 15:56:27 +01:00
InlineFormattingContext.cpp LibWeb: Keep track of the parent of each formatting context 2020-11-25 21:26:58 +01:00
InlineFormattingContext.h LibWeb: Keep track of the parent of each formatting context 2020-11-25 21:26:58 +01:00
InlineNode.cpp LibWeb: Rename LayoutNode classes and move them into Layout namespace 2020-11-22 15:56:27 +01:00
InlineNode.h LibWeb: Rename LayoutNode classes and move them into Layout namespace 2020-11-22 15:56:27 +01:00
LayoutPosition.cpp LibWeb: Rename LayoutNode classes and move them into Layout namespace 2020-11-22 15:56:27 +01:00
LayoutPosition.h LibWeb: Rename LayoutNode classes and move them into Layout namespace 2020-11-22 15:56:27 +01:00
LayoutStyle.h LibWeb: Move CSS classes into the Web::CSS namespace 2020-07-26 20:05:15 +02:00
LineBox.cpp LibWeb: Rename LayoutNode classes and move them into Layout namespace 2020-11-22 15:56:27 +01:00
LineBox.h LibWeb: Rename LayoutNode classes and move them into Layout namespace 2020-11-22 15:56:27 +01:00
LineBoxFragment.cpp LibWeb: Rename LayoutNode classes and move them into Layout namespace 2020-11-22 15:56:27 +01:00
LineBoxFragment.h LibWeb: Rename LayoutNode classes and move them into Layout namespace 2020-11-22 15:56:27 +01:00
ListItemBox.cpp LibWeb: Rename LayoutNode classes and move them into Layout namespace 2020-11-22 15:56:27 +01:00
ListItemBox.h LibWeb: Rename LayoutNode classes and move them into Layout namespace 2020-11-22 15:56:27 +01:00
ListItemMarkerBox.cpp LibWeb: Rename LayoutNode classes and move them into Layout namespace 2020-11-22 15:56:27 +01:00
ListItemMarkerBox.h LibWeb: Rename LayoutNode classes and move them into Layout namespace 2020-11-22 15:56:27 +01:00
Node.cpp LibWeb: Don't put block boxes inside inlines 2020-11-26 21:22:42 +01:00
Node.h LibWeb: Don't put block boxes inside inlines 2020-11-26 21:22:42 +01:00
ReplacedBox.cpp LibWeb: Rename LayoutNode classes and move them into Layout namespace 2020-11-22 15:56:27 +01:00
ReplacedBox.h LibWeb: Rename LayoutNode classes and move them into Layout namespace 2020-11-22 15:56:27 +01:00
SVGBox.cpp LibWeb: Rename LayoutNode classes and move them into Layout namespace 2020-11-22 15:56:27 +01:00
SVGBox.h LibWeb: Rename LayoutNode classes and move them into Layout namespace 2020-11-22 15:56:27 +01:00
SVGGraphicsBox.cpp LibWeb: Rename LayoutNode classes and move them into Layout namespace 2020-11-22 15:56:27 +01:00
SVGGraphicsBox.h LibWeb: Rename LayoutNode classes and move them into Layout namespace 2020-11-22 15:56:27 +01:00
SVGPathBox.cpp LibWeb: Rename LayoutNode classes and move them into Layout namespace 2020-11-22 15:56:27 +01:00
SVGPathBox.h LibWeb: Rename LayoutNode classes and move them into Layout namespace 2020-11-22 15:56:27 +01:00
SVGSVGBox.cpp LibWeb: Rename LayoutNode classes and move them into Layout namespace 2020-11-22 15:56:27 +01:00
SVGSVGBox.h LibWeb: Rename LayoutNode classes and move them into Layout namespace 2020-11-22 15:56:27 +01:00
TableBox.cpp LibWeb: Rename LayoutNode classes and move them into Layout namespace 2020-11-22 15:56:27 +01:00
TableBox.h LibWeb: Rename LayoutNode classes and move them into Layout namespace 2020-11-22 15:56:27 +01:00
TableCellBox.cpp LibWeb: Rename LayoutNode classes and move them into Layout namespace 2020-11-22 15:56:27 +01:00
TableCellBox.h LibWeb: Rename LayoutNode classes and move them into Layout namespace 2020-11-22 15:56:27 +01:00
TableFormattingContext.cpp LibWeb: Keep track of the parent of each formatting context 2020-11-25 21:26:58 +01:00
TableFormattingContext.h LibWeb: Keep track of the parent of each formatting context 2020-11-25 21:26:58 +01:00
TableRowBox.cpp LibWeb: Rename LayoutNode classes and move them into Layout namespace 2020-11-22 15:56:27 +01:00
TableRowBox.h LibWeb: Rename LayoutNode classes and move them into Layout namespace 2020-11-22 15:56:27 +01:00
TableRowGroupBox.cpp LibWeb: Rename LayoutNode classes and move them into Layout namespace 2020-11-22 15:56:27 +01:00
TableRowGroupBox.h LibWeb: Rename LayoutNode classes and move them into Layout namespace 2020-11-22 15:56:27 +01:00
TextNode.cpp LibWeb: Rename LayoutNode classes and move them into Layout namespace 2020-11-22 15:56:27 +01:00
TextNode.h LibWeb: Rename LayoutNode classes and move them into Layout namespace 2020-11-22 15:56:27 +01:00
TreeBuilder.cpp LibWeb: Don't put block boxes inside inlines 2020-11-26 21:22:42 +01:00
TreeBuilder.h LibWeb: Don't put block boxes inside inlines 2020-11-26 21:22:42 +01:00
WidgetBox.cpp LibWeb: Rename LayoutNode classes and move them into Layout namespace 2020-11-22 15:56:27 +01:00
WidgetBox.h LibWeb: Rename LayoutNode classes and move them into Layout namespace 2020-11-22 15:56:27 +01:00