ladybird/Userland/Libraries/LibWeb/Layout
Andreas Kling de6d012367 LibWeb: Improve placement of abspos boxes with dual-auto insets
When an absolutely positioned box has auto insets on both sides of an
axis, it's placed according to the "static position rectangle". This is,
roughly, the rectangle a box would occupy if it were position:static
instead of position:absolute or position:fixed.

This patch implements a rough, but still significantly better,
estimation of such static positions. It gets pretty hairy in the case
where an abspos box has a parent whose children are inline.
2022-10-02 21:14:02 +02:00
..
AvailableSpace.cpp LibWeb: Reorganize layout algorithms around available space 2022-10-02 21:14:02 +02:00
AvailableSpace.h LibWeb: Reorganize layout algorithms around available space 2022-10-02 21:14:02 +02:00
BlockContainer.cpp
BlockContainer.h
BlockFormattingContext.cpp LibWeb: Improve placement of abspos boxes with dual-auto insets 2022-10-02 21:14:02 +02:00
BlockFormattingContext.h LibWeb: Reorganize layout algorithms around available space 2022-10-02 21:14:02 +02:00
Box.cpp
Box.h
BoxModelMetrics.cpp
BoxModelMetrics.h
BreakNode.cpp
BreakNode.h
ButtonBox.cpp
ButtonBox.h
CanvasBox.cpp
CanvasBox.h
CheckBox.cpp
CheckBox.h
FlexFormattingContext.cpp LibWeb: Reorganize layout algorithms around available space 2022-10-02 21:14:02 +02:00
FlexFormattingContext.h LibWeb: Reorganize layout algorithms around available space 2022-10-02 21:14:02 +02:00
FormAssociatedLabelableNode.h
FormattingContext.cpp LibWeb: Improve placement of abspos boxes with dual-auto insets 2022-10-02 21:14:02 +02:00
FormattingContext.h LibWeb: Improve placement of abspos boxes with dual-auto insets 2022-10-02 21:14:02 +02:00
FrameBox.cpp
FrameBox.h
GridFormattingContext.cpp LibWeb: Reorganize layout algorithms around available space 2022-10-02 21:14:02 +02:00
GridFormattingContext.h LibWeb: Reorganize layout algorithms around available space 2022-10-02 21:14:02 +02:00
ImageBox.cpp LibWeb: Get default fonts via Platform::FontPlugin 2022-09-17 21:27:32 +02:00
ImageBox.h LibWeb: Cache width of "alt" text in ImageBox 2022-09-07 17:47:33 +02:00
InitialContainingBlock.cpp
InitialContainingBlock.h LibWeb: Break inclusion cycle by removing unnecessary include 2022-09-17 04:00:54 +00:00
InlineFormattingContext.cpp LibWeb: Reorganize layout algorithms around available space 2022-10-02 21:14:02 +02:00
InlineFormattingContext.h LibWeb: Reorganize layout algorithms around available space 2022-10-02 21:14:02 +02:00
InlineLevelIterator.cpp LibWeb: Resolve cyclic declaration/definitions involving Length 2022-09-15 14:45:38 +01:00
InlineLevelIterator.h LibWeb: Add missing includes 2022-09-18 13:27:24 -04:00
InlineNode.cpp
InlineNode.h
Label.cpp
Label.h
LabelableNode.cpp
LabelableNode.h
LayoutPosition.cpp LibWeb: Make AbstractRange and subclasses GC-allocated 2022-09-06 00:27:09 +02:00
LayoutPosition.h LibWeb: Make AbstractRange and subclasses GC-allocated 2022-09-06 00:27:09 +02:00
LayoutState.cpp LibWeb: Reorganize layout algorithms around available space 2022-10-02 21:14:02 +02:00
LayoutState.h LibWeb: Reorganize layout algorithms around available space 2022-10-02 21:14:02 +02:00
LineBox.cpp
LineBox.h
LineBoxFragment.cpp
LineBoxFragment.h
LineBuilder.cpp LibWeb: Fix bogus comparison when measuring if a float can fit 2022-09-29 20:10:07 +02:00
LineBuilder.h LibWeb: Improve inline flow around floating boxes 2022-09-16 15:15:50 +02:00
ListItemBox.cpp
ListItemBox.h
ListItemMarkerBox.cpp LibWeb: Convert images to common AbstractImageStyleValue base 2022-08-08 22:39:06 +02:00
ListItemMarkerBox.h LibWeb: Convert images to common AbstractImageStyleValue base 2022-08-08 22:39:06 +02:00
Node.cpp LibWeb: Add missing null checks in Layout::Node::set_needs_display() 2022-09-29 18:33:41 +02:00
Node.h LibWeb: Create flex items for empty generated boxes 2022-09-29 20:09:49 +02:00
Progress.cpp
Progress.h
RadioButton.cpp
RadioButton.h
ReplacedBox.cpp
ReplacedBox.h
SVGBox.cpp
SVGBox.h
SVGFormattingContext.cpp LibWeb: Reorganize layout algorithms around available space 2022-10-02 21:14:02 +02:00
SVGFormattingContext.h LibWeb: Reorganize layout algorithms around available space 2022-10-02 21:14:02 +02:00
SVGGeometryBox.cpp
SVGGeometryBox.h
SVGGraphicsBox.cpp
SVGGraphicsBox.h
SVGSVGBox.cpp
SVGSVGBox.h
TableBox.cpp
TableBox.h
TableCellBox.cpp
TableCellBox.h
TableFormattingContext.cpp LibWeb: Reorganize layout algorithms around available space 2022-10-02 21:14:02 +02:00
TableFormattingContext.h LibWeb: Reorganize layout algorithms around available space 2022-10-02 21:14:02 +02:00
TableRowBox.cpp
TableRowBox.h
TableRowGroupBox.cpp
TableRowGroupBox.h
TextNode.cpp
TextNode.h
TreeBuilder.cpp LibWeb: Create flex items for empty generated boxes 2022-09-29 20:09:49 +02:00
TreeBuilder.h