1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-07-25 02:37:42 +00:00
serenity/Userland/Libraries/LibWeb/Layout
Andreas Kling 268b9c5d90 LibWeb: Make the layout tree GC-allocated
This removes a set of complex reference cycles between DOM, layout tree
and browsing context.

It also makes lifetimes much easier to reason about, as the DOM and
layout trees are now free to keep each other alive.
2022-10-20 15:16:23 +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 Everywhere: Run clang-format 2022-04-01 21:24:45 +01:00
BlockContainer.h LibWeb: Make the layout tree GC-allocated 2022-10-20 15:16:23 +02:00
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 LibWeb: Make Layout::Box::set_needs_display() work for all boxes 2022-04-12 00:11:48 +02:00
Box.h LibWeb: Make the layout tree GC-allocated 2022-10-20 15:16:23 +02:00
BoxModelMetrics.cpp Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
BoxModelMetrics.h LibWeb: Rename "offset" in box model metrics to "inset" 2022-03-26 17:31:01 +01:00
BreakNode.cpp LibWeb: Remove Layout::Node::set_inline() 2022-10-06 15:29:38 +02:00
BreakNode.h LibWeb: Make the layout tree GC-allocated 2022-10-20 15:16:23 +02:00
ButtonBox.cpp LibGfx: Move other font-related files to LibGfx/Font/ 2022-04-09 23:48:18 +02:00
ButtonBox.h LibWeb: Make the layout tree GC-allocated 2022-10-20 15:16:23 +02:00
CanvasBox.cpp Libraries: Use default constructors/destructors in LibWeb 2022-03-17 17:23:49 +00:00
CanvasBox.h LibWeb: Make the layout tree GC-allocated 2022-10-20 15:16:23 +02:00
CheckBox.cpp LibGfx: Move other font-related files to LibGfx/Font/ 2022-04-09 23:48:18 +02:00
CheckBox.h LibWeb: Make the layout tree GC-allocated 2022-10-20 15:16:23 +02:00
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 LibWeb: Make the layout tree GC-allocated 2022-10-20 15:16:23 +02:00
FormattingContext.cpp LibWeb: Calculate the height of the css grid correctly 2022-10-15 16:04:01 +02:00
FormattingContext.h LibWeb: Implement CSS fit-content algorithm precisely as spec says 2022-10-14 19:53:52 +02:00
FrameBox.cpp Libraries: Use default constructors/destructors in LibWeb 2022-03-17 17:23:49 +00:00
FrameBox.h LibWeb: Make the layout tree GC-allocated 2022-10-20 15:16:23 +02:00
GridFormattingContext.cpp LibWeb: Use calculate_min_content_height() for sizing of grid children 2022-10-18 12:55:34 +02:00
GridFormattingContext.h LibWeb: Implement minmax() 2022-10-15 16:04:01 +02:00
ImageBox.cpp LibWeb: Get default fonts via Platform::FontPlugin 2022-09-17 21:27:32 +02:00
ImageBox.h LibWeb: Make the layout tree GC-allocated 2022-10-20 15:16:23 +02:00
InitialContainingBlock.cpp LibWeb: Ignore non-painting layout nodes when building stacking contexts 2022-04-07 17:06:02 +02:00
InitialContainingBlock.h LibWeb: Make the layout tree GC-allocated 2022-10-20 15:16:23 +02:00
InlineFormattingContext.cpp LibWeb: Apply min-width and max-width constraints to inline-block boxes 2022-10-15 14:10:30 +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 LibWeb: Make the layout tree GC-allocated 2022-10-20 15:16:23 +02:00
Label.cpp LibWeb: Make the layout tree GC-allocated 2022-10-20 15:16:23 +02:00
Label.h LibWeb: Make the layout tree GC-allocated 2022-10-20 15:16:23 +02:00
LabelableNode.cpp LibWeb: Move mouse event and label logic from layout to painting tree 2022-03-11 00:21:49 +01:00
LabelableNode.h LibWeb: Make the layout tree GC-allocated 2022-10-20 15:16:23 +02:00
LayoutPosition.cpp LibWeb: Make the layout tree GC-allocated 2022-10-20 15:16:23 +02:00
LayoutPosition.h LibWeb: Make the layout tree GC-allocated 2022-10-20 15:16:23 +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 LibWeb: Respect inline-axis margins between line box fragments :^) 2022-03-09 18:47:32 +01:00
LineBox.h LibWeb: Bring CSS line-height implementation closer to spec 2022-03-24 22:52:44 +01:00
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 LibWeb: Make the layout tree GC-allocated 2022-10-20 15:16:23 +02:00
ListItemBox.h LibWeb: Make the layout tree GC-allocated 2022-10-20 15:16:23 +02:00
ListItemMarkerBox.cpp LibWeb: Convert images to common AbstractImageStyleValue base 2022-08-08 22:39:06 +02:00
ListItemMarkerBox.h LibWeb: Make the layout tree GC-allocated 2022-10-20 15:16:23 +02:00
Node.cpp LibWeb: Make the layout tree GC-allocated 2022-10-20 15:16:23 +02:00
Node.h LibWeb: Make the layout tree GC-allocated 2022-10-20 15:16:23 +02:00
Progress.cpp Libraries: Use default constructors/destructors in LibWeb 2022-03-17 17:23:49 +00:00
Progress.h LibWeb: Make the layout tree GC-allocated 2022-10-20 15:16:23 +02:00
RadioButton.cpp LibWeb: Set 1:1 intrinsic aspect ratio for radio buttons 2022-07-11 18:57:45 +02:00
RadioButton.h LibWeb: Make the layout tree GC-allocated 2022-10-20 15:16:23 +02:00
ReplacedBox.cpp LibWeb: Remove Layout::Node::set_inline() 2022-10-06 15:29:38 +02:00
ReplacedBox.h LibWeb: Make the layout tree GC-allocated 2022-10-20 15:16:23 +02:00
SVGBox.cpp LibWeb: Make SVG <svg> elements behave as CSS replaced elements 2022-03-19 12:42:10 +01:00
SVGBox.h LibWeb: Make the layout tree GC-allocated 2022-10-20 15:16:23 +02:00
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 LibWeb: Remove a bunch of no-longer needed #includes 2022-03-11 00:21:49 +01:00
SVGGeometryBox.h LibWeb: Make the layout tree GC-allocated 2022-10-20 15:16:23 +02:00
SVGGraphicsBox.cpp LibWeb: Let Paintable perform the painting 2022-03-11 00:21:49 +01:00
SVGGraphicsBox.h LibWeb: Make the layout tree GC-allocated 2022-10-20 15:16:23 +02:00
SVGSVGBox.cpp LibWeb: Try to work out the intrinsic size of <svg> elements 2022-07-11 18:57:45 +02:00
SVGSVGBox.h LibWeb: Make the layout tree GC-allocated 2022-10-20 15:16:23 +02:00
TableBox.cpp Libraries: Use default constructors/destructors in LibWeb 2022-03-17 17:23:49 +00:00
TableBox.h LibWeb: Make the layout tree GC-allocated 2022-10-20 15:16:23 +02:00
TableCellBox.cpp Libraries: Use default constructors/destructors in LibWeb 2022-03-17 17:23:49 +00:00
TableCellBox.h LibWeb: Make the layout tree GC-allocated 2022-10-20 15:16:23 +02:00
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 Libraries: Use default constructors/destructors in LibWeb 2022-03-17 17:23:49 +00:00
TableRowBox.h LibWeb: Make the layout tree GC-allocated 2022-10-20 15:16:23 +02:00
TableRowGroupBox.cpp Libraries: Use default constructors/destructors in LibWeb 2022-03-17 17:23:49 +00:00
TableRowGroupBox.h LibWeb: Make the layout tree GC-allocated 2022-10-20 15:16:23 +02:00
TextNode.cpp LibWeb: Make TextNode::ChunkIterator emit an empty chunk for content:"" 2022-10-14 19:50:15 +02:00
TextNode.h LibWeb: Make the layout tree GC-allocated 2022-10-20 15:16:23 +02:00
TreeBuilder.cpp LibWeb: Make the layout tree GC-allocated 2022-10-20 15:16:23 +02:00
TreeBuilder.h LibWeb: Make the layout tree GC-allocated 2022-10-20 15:16:23 +02:00