ladybird/Libraries/LibWeb/Layout
Andreas Kling c01d810e5a LibWeb: Implement partial layout tree updates
DOM nodes now have two additional flags:

- Needs layout tree update
- Child needs layout tree update

These work similarly to the needs-style-update flags, but instead signal
the need to rebuild the corresponding part of the layout tree.

When a specific DOM node needs a layout tree update, we try to create
a new subtree starting at that node, and then replace the subtree in the
old layout tree with the newly created subtree.

This required some refactoring in TreeBuilder so that we can skip over
entire subtrees during a tree update.

Note that no partial updates happen yet (as of this commit) since we
always invalidate the full layout tree still. That will change in the
next commit.
2025-01-18 21:01:01 +01:00
..
AudioBox.cpp LibWeb: Hide audio element when controls is not set 2025-01-04 11:47:09 +00:00
AudioBox.h LibWeb: Hide audio element when controls is not set 2025-01-04 11:47:09 +00:00
AvailableSpace.cpp
AvailableSpace.h
BlockContainer.cpp LibWeb: Make CSS::ComputedProperties GC-allocated 2024-12-22 10:12:49 +01:00
BlockContainer.h LibWeb: Make CSS::ComputedProperties GC-allocated 2024-12-22 10:12:49 +01:00
BlockFormattingContext.cpp LibWeb/Layout: Add FIXMEs where we're using the wrong font 2024-12-06 02:57:34 +01:00
BlockFormattingContext.h LibWeb/Layout: Simplified margin collapsing 2024-11-24 14:45:28 +01:00
Box.cpp LibWeb: Make CSS::ComputedProperties GC-allocated 2024-12-22 10:12:49 +01:00
Box.h LibWeb: Make CSS::ComputedProperties GC-allocated 2024-12-22 10:12:49 +01:00
BoxModelMetrics.cpp
BoxModelMetrics.h
BreakNode.cpp LibWeb: Make CSS::ComputedProperties GC-allocated 2024-12-22 10:12:49 +01:00
BreakNode.h LibWeb: Make CSS::ComputedProperties GC-allocated 2024-12-22 10:12:49 +01:00
CanvasBox.cpp LibWeb: Make CSS::ComputedProperties GC-allocated 2024-12-22 10:12:49 +01:00
CanvasBox.h LibWeb: Make CSS::ComputedProperties GC-allocated 2024-12-22 10:12:49 +01:00
CheckBox.cpp LibWeb: Make CSS::ComputedProperties GC-allocated 2024-12-22 10:12:49 +01:00
CheckBox.h LibWeb: Make CSS::ComputedProperties GC-allocated 2024-12-22 10:12:49 +01:00
FieldSetBox.cpp LibWeb: Make CSS::ComputedProperties GC-allocated 2024-12-22 10:12:49 +01:00
FieldSetBox.h LibWeb: Make CSS::ComputedProperties GC-allocated 2024-12-22 10:12:49 +01:00
FlexFormattingContext.cpp LibWeb: Don't add extra gap when placing flex items in reverse order 2025-01-17 10:10:43 +01:00
FlexFormattingContext.h LibGC+Everywhere: Factor out a LibGC from LibJS 2024-11-15 14:49:20 +01:00
FormAssociatedLabelableNode.h LibWeb: Make CSS::ComputedProperties GC-allocated 2024-12-22 10:12:49 +01:00
FormattingContext.cpp LibWeb: Treat min{max}-height as none if available is intrinsic [GFC] 2024-12-03 23:10:08 +01:00
FormattingContext.h LibWeb: Stop treating intrinsic size keywords as auto in CSS heights 2024-11-21 19:21:51 +01:00
GridFormattingContext.cpp LibWeb: Stop treating intrinsic size keywords as auto in CSS heights 2024-11-21 19:21:51 +01:00
GridFormattingContext.h LibGC+Everywhere: Factor out a LibGC from LibJS 2024-11-15 14:49:20 +01:00
ImageBox.cpp LibWeb+LibWebView: Allow to specify default font size in FontPlugin 2025-01-02 10:47:21 +01:00
ImageBox.h LibWeb: Make CSS::ComputedProperties GC-allocated 2024-12-22 10:12:49 +01:00
ImageProvider.cpp
ImageProvider.h LibGC+Everywhere: Factor out a LibGC from LibJS 2024-11-15 14:49:20 +01:00
InlineFormattingContext.cpp LibWeb: Stop treating intrinsic size keywords as auto in CSS heights 2024-11-21 19:21:51 +01:00
InlineFormattingContext.h
InlineLevelIterator.cpp LibWeb: Layout/Shape font-variant-* css properties 2024-12-17 19:07:13 +01:00
InlineLevelIterator.h LibWeb: Layout/Shape font-variant-* css properties 2024-12-17 19:07:13 +01:00
InlineNode.cpp LibWeb: Make CSS::ComputedProperties GC-allocated 2024-12-22 10:12:49 +01:00
InlineNode.h LibWeb: Make CSS::ComputedProperties GC-allocated 2024-12-22 10:12:49 +01:00
Label.cpp LibWeb: Make CSS::ComputedProperties GC-allocated 2024-12-22 10:12:49 +01:00
Label.h LibWeb: Make CSS::ComputedProperties GC-allocated 2024-12-22 10:12:49 +01:00
LabelableNode.cpp
LabelableNode.h LibWeb: Make CSS::ComputedProperties GC-allocated 2024-12-22 10:12:49 +01:00
LayoutState.cpp LibWeb: Remove non-spec condition in scrollable overflow calculation 2024-12-04 17:14:10 +00:00
LayoutState.h LibGC+Everywhere: Factor out a LibGC from LibJS 2024-11-15 14:49:20 +01:00
LegendBox.cpp LibWeb: Make CSS::ComputedProperties GC-allocated 2024-12-22 10:12:49 +01:00
LegendBox.h LibWeb: Make CSS::ComputedProperties GC-allocated 2024-12-22 10:12:49 +01:00
LineBox.cpp LibWeb/Layout: Use GlyphRun font to measure trimmed whitespace 2024-12-06 02:57:34 +01:00
LineBox.h
LineBoxFragment.cpp LibGfx+LibWeb: Draw glyph runs with subpixel accuracy 2024-12-21 23:09:52 +01:00
LineBoxFragment.h LibGC+Everywhere: Factor out a LibGC from LibJS 2024-11-15 14:49:20 +01:00
LineBuilder.cpp LibGfx+LibWeb: Draw glyph runs with subpixel accuracy 2024-12-21 23:09:52 +01:00
LineBuilder.h
ListItemBox.cpp LibWeb: Make CSS::ComputedProperties GC-allocated 2024-12-22 10:12:49 +01:00
ListItemBox.h LibWeb: Make CSS::ComputedProperties GC-allocated 2024-12-22 10:12:49 +01:00
ListItemMarkerBox.cpp LibWeb: Make CSS::ComputedProperties GC-allocated 2024-12-22 10:12:49 +01:00
ListItemMarkerBox.h LibWeb: Make CSS::ComputedProperties GC-allocated 2024-12-22 10:12:49 +01:00
NavigableContainerViewport.cpp LibWeb: Make CSS::ComputedProperties GC-allocated 2024-12-22 10:12:49 +01:00
NavigableContainerViewport.h LibWeb: Make CSS::ComputedProperties GC-allocated 2024-12-22 10:12:49 +01:00
Node.cpp LibWeb: Don't (anonymously) wrap table boxes that are already wrapped 2025-01-18 21:01:01 +01:00
Node.h LibWeb: Don't (anonymously) wrap table boxes that are already wrapped 2025-01-18 21:01:01 +01:00
RadioButton.cpp LibWeb: Make CSS::ComputedProperties GC-allocated 2024-12-22 10:12:49 +01:00
RadioButton.h LibWeb: Make CSS::ComputedProperties GC-allocated 2024-12-22 10:12:49 +01:00
ReplacedBox.cpp LibWeb: Make CSS::ComputedProperties GC-allocated 2024-12-22 10:12:49 +01:00
ReplacedBox.h LibWeb: Make CSS::ComputedProperties GC-allocated 2024-12-22 10:12:49 +01:00
SVGBox.cpp LibWeb: Make CSS::ComputedProperties GC-allocated 2024-12-22 10:12:49 +01:00
SVGBox.h LibWeb: Make CSS::ComputedProperties GC-allocated 2024-12-22 10:12:49 +01:00
SVGClipBox.cpp LibWeb: Make CSS::ComputedProperties GC-allocated 2024-12-22 10:12:49 +01:00
SVGClipBox.h LibWeb: Make CSS::ComputedProperties GC-allocated 2024-12-22 10:12:49 +01:00
SVGForeignObjectBox.cpp LibWeb: Make CSS::ComputedProperties GC-allocated 2024-12-22 10:12:49 +01:00
SVGForeignObjectBox.h LibWeb: Make CSS::ComputedProperties GC-allocated 2024-12-22 10:12:49 +01:00
SVGFormattingContext.cpp Everywhere: Run clang-format 2024-12-28 05:39:32 -08:00
SVGFormattingContext.h LibGfx: Delete DeprecatedPath 2024-11-25 21:13:53 +01:00
SVGGeometryBox.cpp LibWeb: Make CSS::ComputedProperties GC-allocated 2024-12-22 10:12:49 +01:00
SVGGeometryBox.h LibWeb: Make CSS::ComputedProperties GC-allocated 2024-12-22 10:12:49 +01:00
SVGGraphicsBox.cpp LibWeb: Make CSS::ComputedProperties GC-allocated 2024-12-22 10:12:49 +01:00
SVGGraphicsBox.h LibWeb: Make CSS::ComputedProperties GC-allocated 2024-12-22 10:12:49 +01:00
SVGImageBox.cpp LibWeb: Make CSS::ComputedProperties GC-allocated 2024-12-22 10:12:49 +01:00
SVGImageBox.h LibWeb: Make CSS::ComputedProperties GC-allocated 2024-12-22 10:12:49 +01:00
SVGMaskBox.cpp LibWeb: Make CSS::ComputedProperties GC-allocated 2024-12-22 10:12:49 +01:00
SVGMaskBox.h LibWeb: Make CSS::ComputedProperties GC-allocated 2024-12-22 10:12:49 +01:00
SVGSVGBox.cpp LibWeb: Make CSS::ComputedProperties GC-allocated 2024-12-22 10:12:49 +01:00
SVGSVGBox.h LibWeb: Make CSS::ComputedProperties GC-allocated 2024-12-22 10:12:49 +01:00
SVGTextBox.cpp LibWeb: Make CSS::ComputedProperties GC-allocated 2024-12-22 10:12:49 +01:00
SVGTextBox.h LibWeb: Make CSS::ComputedProperties GC-allocated 2024-12-22 10:12:49 +01:00
SVGTextPathBox.cpp LibWeb: Make CSS::ComputedProperties GC-allocated 2024-12-22 10:12:49 +01:00
SVGTextPathBox.h LibWeb: Make CSS::ComputedProperties GC-allocated 2024-12-22 10:12:49 +01:00
TableFormattingContext.cpp LibWeb/Layout: Account for box-sizing in table width/height calculations 2024-11-29 15:43:59 +01:00
TableFormattingContext.h LibGC+Everywhere: Factor out a LibGC from LibJS 2024-11-15 14:49:20 +01:00
TableGrid.cpp
TableGrid.h LibGC+Everywhere: Factor out a LibGC from LibJS 2024-11-15 14:49:20 +01:00
TableWrapper.cpp LibWeb: Make CSS::ComputedProperties GC-allocated 2024-12-22 10:12:49 +01:00
TableWrapper.h LibWeb: Make CSS::ComputedProperties GC-allocated 2024-12-22 10:12:49 +01:00
TextNode.cpp LibGC+Everywhere: Factor out a LibGC from LibJS 2024-11-15 14:49:20 +01:00
TextNode.h LibGC+Everywhere: Factor out a LibGC from LibJS 2024-11-15 14:49:20 +01:00
TreeBuilder.cpp LibWeb: Implement partial layout tree updates 2025-01-18 21:01:01 +01:00
TreeBuilder.h LibWeb: Implement partial layout tree updates 2025-01-18 21:01:01 +01:00
VideoBox.cpp LibWeb: Make CSS::ComputedProperties GC-allocated 2024-12-22 10:12:49 +01:00
VideoBox.h LibWeb: Make CSS::ComputedProperties GC-allocated 2024-12-22 10:12:49 +01:00
Viewport.cpp LibWeb: Make CSS::ComputedProperties GC-allocated 2024-12-22 10:12:49 +01:00
Viewport.h LibWeb: Make CSS::ComputedProperties GC-allocated 2024-12-22 10:12:49 +01:00