ladybird/Userland/Libraries/LibWeb/Layout
Andreas Kling 83bb16ede3 LibWeb: Avoid some unnecessary inside layouts during intrinsic sizing
When calculating intrinsic sizes, we don't need to recurse into *every*
box and layout its insides. IIUC, we can skip any unconstrained box with
definite sizes in both axes. So this patch does exactly that.
2022-07-26 01:53:41 +02:00
..
BlockContainer.cpp Everywhere: Run clang-format 2022-04-01 21:24:45 +01:00
BlockContainer.h Everywhere: Run clang-format 2022-04-01 21:24:45 +01:00
BlockFormattingContext.cpp LibWeb: Rename IntrinsicSizeDetermination to IntrinsicSizing 2022-07-26 01:53:41 +02:00
BlockFormattingContext.h LibWeb: Rename IntrinsicSizeDetermination to IntrinsicSizing 2022-07-26 01:53:41 +02:00
Box.cpp LibWeb: Make Layout::Box::set_needs_display() work for all boxes 2022-04-12 00:11:48 +02:00
Box.h
BoxModelMetrics.cpp
BoxModelMetrics.h
BreakNode.cpp
BreakNode.h
ButtonBox.cpp LibGfx: Move other font-related files to LibGfx/Font/ 2022-04-09 23:48:18 +02:00
ButtonBox.h
CanvasBox.cpp
CanvasBox.h
CheckBox.cpp LibGfx: Move other font-related files to LibGfx/Font/ 2022-04-09 23:48:18 +02:00
CheckBox.h
FlexFormattingContext.cpp LibWeb: Take size constraints into account in fit-content calculations 2022-07-26 01:53:41 +02:00
FlexFormattingContext.h LibWeb: Actually check if percentage used flex basis is definite 2022-07-26 01:53:41 +02:00
FormAssociatedLabelableNode.h
FormattingContext.cpp LibWeb: Avoid some unnecessary inside layouts during intrinsic sizing 2022-07-26 01:53:41 +02:00
FormattingContext.h LibWeb: Rename IntrinsicSizeDetermination to IntrinsicSizing 2022-07-26 01:53:41 +02:00
FrameBox.cpp
FrameBox.h
ImageBox.cpp LibWeb: Stop including StyleValue.h in a few places 2022-04-14 14:54:06 +02:00
ImageBox.h Everywhere: Run clang-format 2022-04-01 21:24:45 +01:00
InitialContainingBlock.cpp LibWeb: Ignore non-painting layout nodes when building stacking contexts 2022-04-07 17:06:02 +02:00
InitialContainingBlock.h Everywhere: Run clang-format 2022-04-01 21:24:45 +01:00
InlineFormattingContext.cpp LibWeb: Avoid some unnecessary inside layouts during intrinsic sizing 2022-07-26 01:53:41 +02:00
InlineFormattingContext.h LibWeb: Rename LayoutState::NodeState => LayoutState::UsedValues 2022-07-17 14:11:37 +02:00
InlineLevelIterator.cpp LibWeb: Add accessors for UsedValues::computed_{width,height} 2022-07-19 15:40:41 +02:00
InlineLevelIterator.h LibWeb: Rename LayoutState::NodeState => LayoutState::UsedValues 2022-07-17 14:11:37 +02:00
InlineNode.cpp
InlineNode.h
Label.cpp Everywhere: Run clang-format 2022-04-01 21:24:45 +01:00
Label.h Everywhere: Run clang-format 2022-04-01 21:24:45 +01:00
LabelableNode.cpp
LabelableNode.h
LayoutPosition.cpp
LayoutPosition.h Everywhere: Run clang-format 2022-04-01 21:24:45 +01:00
LayoutState.cpp LibWeb: Resolve definite sizes when instantiating UsedValues 2022-07-26 01:53:41 +02:00
LayoutState.h LibWeb: Move "has-definite-width/height" flags to UsedValues 2022-07-26 01:53:41 +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: Add accessors for UsedValues::computed_{width,height} 2022-07-19 15:40:41 +02:00
LineBuilder.h LibWeb: Rename LayoutState::NodeState => LayoutState::UsedValues 2022-07-17 14:11:37 +02:00
ListItemBox.cpp
ListItemBox.h
ListItemMarkerBox.cpp
ListItemMarkerBox.h
Node.cpp LibWeb: Move "has-definite-width/height" flags to UsedValues 2022-07-26 01:53:41 +02:00
Node.h LibWeb: Rename IntrinsicSizeDetermination to IntrinsicSizing 2022-07-26 01:53:41 +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
ReplacedBox.h
SVGBox.cpp
SVGBox.h
SVGFormattingContext.cpp LibWeb: Add accessors for UsedValues::computed_{width,height} 2022-07-19 15:40:41 +02:00
SVGFormattingContext.h LibWeb: Rename FormattingState to LayoutState 2022-07-17 14:11:36 +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 Everywhere: Run clang-format 2022-04-01 21:24:45 +01:00
TableFormattingContext.cpp LibWeb: Add accessors for UsedValues::computed_{width,height} 2022-07-19 15:40:41 +02:00
TableFormattingContext.h LibWeb: Rename FormattingState to LayoutState 2022-07-17 14:11:36 +02:00
TableRowBox.cpp
TableRowBox.h
TableRowGroupBox.cpp
TableRowGroupBox.h
TextNode.cpp LibWeb: Express intrinsic size layout via size constraints 2022-07-11 18:57:45 +02:00
TextNode.h LibWeb: Express intrinsic size layout via size constraints 2022-07-11 18:57:45 +02:00
TreeBuilder.cpp LibWeb: Support appearance: none for <progress> elements 2022-07-23 01:45:49 +02:00
TreeBuilder.h LibWeb: Tidy up Layout::TreeBuilder ancestor stack a little bit 2022-04-13 19:52:25 +02:00