ladybird/Userland/Libraries/LibWeb/Layout
Andreas Kling b289f97a65 LibWeb: Split intrinsic heights cache by definite available widths
As it turns out, we sometimes query the intrinsic height of a box before
having fully resolved and/or constrained its containing block. Because
of this, we may enter intrinsic sizing with different amounts of
available width for the same box.

To accommodate this scenario, we now allow caching of multiple intrinsic
heights, separated by the amount of available width provided as input.
2022-10-15 14:01:54 +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: Resolve vertical margins against containing block width 2022-10-10 20:22:50 +02:00
BlockFormattingContext.h LibWeb: Resolve vertical margins against containing block width 2022-10-10 20:22:50 +02:00
Box.cpp
Box.h
BoxModelMetrics.cpp
BoxModelMetrics.h
BreakNode.cpp LibWeb: Remove Layout::Node::set_inline() 2022-10-06 15:29:38 +02:00
BreakNode.h
ButtonBox.cpp
ButtonBox.h
CanvasBox.cpp
CanvasBox.h
CheckBox.cpp
CheckBox.h
FlexFormattingContext.cpp LibWeb: Assign hypothetical flex item main sizes as temporary main size 2022-10-15 14:01:54 +02:00
FlexFormattingContext.h LibWeb: Implement basic support for align-content in flex layout 2022-10-14 19:50:15 +02:00
FormAssociatedLabelableNode.h
FormattingContext.cpp LibWeb: Split intrinsic heights cache by definite available widths 2022-10-15 14:01:54 +02:00
FormattingContext.h LibWeb: Implement CSS fit-content algorithm precisely as spec says 2022-10-14 19:53:52 +02:00
FrameBox.cpp
FrameBox.h
GridFormattingContext.cpp LibWeb+Base: Deal with column-spans greater than implicit grid 2022-10-08 17:26:41 +02:00
GridFormattingContext.h LibWeb: Factor out OccupationGrid functions 2022-10-06 21:16:01 +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: Make IFC happy to layout anything as long as it's inline outside 2022-10-06 21:08:50 +02:00
InlineFormattingContext.h LibWeb: Reorganize layout algorithms around available space 2022-10-02 21:14:02 +02:00
InlineLevelIterator.cpp LibWeb: Make TextNode::ChunkIterator emit an empty chunk for content:"" 2022-10-14 19:50:15 +02:00
InlineLevelIterator.h LibWeb: Add missing includes 2022-09-18 13:27:24 -04:00
InlineNode.cpp LibWeb: Remove Layout::Node::set_inline() 2022-10-06 15:29:38 +02:00
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: Assign hypothetical flex item main sizes as temporary main size 2022-10-15 14:01:54 +02:00
LayoutState.h LibWeb: Split intrinsic heights cache by definite available widths 2022-10-15 14:01:54 +02:00
LineBox.cpp
LineBox.h
LineBoxFragment.cpp LibWeb: Rename FormattingState to LayoutState 2022-07-17 14:11:36 +02:00
LineBoxFragment.h LibWeb: Rename FormattingState to LayoutState 2022-07-17 14:11:36 +02:00
LineBuilder.cpp LibWeb: Fix bogus inline-block check in line box layout 2022-10-14 19:50:14 +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: Parse the CSS align-content property 2022-10-14 19:50:15 +02:00
Node.h LibWeb: Add Layout::Node::display() 2022-10-06 16:25:26 +02:00
Progress.cpp
Progress.h
RadioButton.cpp LibWeb: Set 1:1 intrinsic aspect ratio for radio buttons 2022-07-11 18:57:45 +02:00
RadioButton.h
ReplacedBox.cpp LibWeb: Remove Layout::Node::set_inline() 2022-10-06 15:29:38 +02:00
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 LibWeb: Try to work out the intrinsic size of <svg> elements 2022-07-11 18:57:45 +02:00
SVGSVGBox.h LibWeb: Try to work out the intrinsic size of <svg> elements 2022-07-11 18:57:45 +02:00
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 LibWeb: Make TextNode::ChunkIterator emit an empty chunk for content:"" 2022-10-14 19:50:15 +02:00
TextNode.h LibWeb: Make TextNode::ChunkIterator emit an empty chunk for content:"" 2022-10-14 19:50:15 +02:00
TreeBuilder.cpp LibWeb: Mark content: "string" text nodes as generated 2022-10-14 19:50:15 +02:00
TreeBuilder.h LibWeb: Base Layout::TreeBuilder decisions on CSS display property 2022-10-06 15:29:38 +02:00