ladybird/Libraries/LibWeb/Layout
Andreas Kling 2bf1f41805 LibWeb: Make computed properties immutable
Move CSS animation values into a mutable overlay on computed properties
and make base computed style data immutable after construction. Base
style mutation now goes through a builder that is consumed on publish,
so installed styles no longer expose mutation APIs.

Build new base style data for inherited style updates instead of cloning
and mutating installed computed properties. Element-specific computed
style adjustments now run before publication, while animation and
transition updates continue to mutate only the animated overlay.
2026-06-20 23:43:17 +02:00
..
AudioBox.cpp LibWeb: Make layout nodes refcounted 2026-06-07 20:52:49 +02:00
AudioBox.h LibWeb: Make layout nodes refcounted 2026-06-07 20:52:49 +02:00
AvailableSpace.cpp Everywhere: Hoist the Libraries folder to the top-level 2024-11-10 12:50:45 +01:00
AvailableSpace.h Everywhere: Hoist the Libraries folder to the top-level 2024-11-10 12:50:45 +01:00
BlockContainer.cpp LibWeb: Make layout nodes refcounted 2026-06-07 20:52:49 +02:00
BlockContainer.h LibWeb: Make layout nodes refcounted 2026-06-07 20:52:49 +02:00
BlockFormattingContext.cpp LibWeb: Prevent flex/grid margin collapsing with its contents 2026-06-10 13:11:47 +02:00
BlockFormattingContext.h LibWeb: Make layout nodes refcounted 2026-06-07 20:52:49 +02:00
Box.cpp LibWeb: Make layout nodes refcounted 2026-06-07 20:52:49 +02:00
Box.h LibWeb: Make layout nodes refcounted 2026-06-07 20:52:49 +02:00
BreakNode.cpp LibWeb: Make layout nodes refcounted 2026-06-07 20:52:49 +02:00
BreakNode.h LibWeb: Make layout nodes refcounted 2026-06-07 20:52:49 +02:00
CanvasBox.cpp LibWeb: Make layout nodes refcounted 2026-06-07 20:52:49 +02:00
CanvasBox.h LibWeb: Make layout nodes refcounted 2026-06-07 20:52:49 +02:00
CheckBox.cpp LibWeb: Make layout nodes refcounted 2026-06-07 20:52:49 +02:00
CheckBox.h LibWeb: Make layout nodes refcounted 2026-06-07 20:52:49 +02:00
DominantBaseline.h LibWeb: Implement dominant-baseline for SVG text 2026-02-26 09:23:23 +01:00
FieldSetBox.cpp LibWeb: Make layout nodes refcounted 2026-06-07 20:52:49 +02:00
FieldSetBox.h LibWeb: Make layout nodes refcounted 2026-06-07 20:52:49 +02:00
FlexFormattingContext.cpp LibWeb: Distinguish first and last baseline sets in box_baseline() 2026-06-16 10:39:02 +02:00
FlexFormattingContext.h LibWeb: Make layout nodes refcounted 2026-06-07 20:52:49 +02:00
FlexLayoutData.h LibWeb: Allocate layout and painting objects with mimalloc 2026-06-13 19:08:08 +02:00
FormattingContext.cpp LibWeb: Support anchor() in calc() trees 2026-06-18 17:36:56 +01:00
FormattingContext.h LibWeb: Distinguish first and last baseline sets in box_baseline() 2026-06-16 10:39:02 +02:00
GridFormattingContext.cpp LibWeb: Avoid inflating 0fr grid rows from hidden overflow 2026-06-08 10:06:07 +02:00
GridFormattingContext.h LibWeb: Make layout nodes refcounted 2026-06-07 20:52:49 +02:00
GridLayoutData.h LibWeb: Allocate layout and painting objects with mimalloc 2026-06-13 19:08:08 +02:00
ImageBox.cpp LibWeb: Make layout nodes refcounted 2026-06-07 20:52:49 +02:00
ImageBox.h LibWeb: Make layout nodes refcounted 2026-06-07 20:52:49 +02:00
ImageProvider.cpp LibWeb: Transfer animation ownership to AnimatedBitmapDecodedImageData 2026-06-18 10:44:25 +02:00
ImageProvider.h LibWeb: Transfer animation ownership to AnimatedBitmapDecodedImageData 2026-06-18 10:44:25 +02:00
InlineFormattingContext.cpp LibWeb: Record abspos inline static positions as line-box markers 2026-06-14 22:12:06 +02:00
InlineFormattingContext.h LibWeb: Record abspos inline static positions as line-box markers 2026-06-14 22:12:06 +02:00
InlineLevelIterator.cpp LibWeb: Make layout nodes refcounted 2026-06-07 20:52:49 +02:00
InlineLevelIterator.h LibWeb: Make layout nodes refcounted 2026-06-07 20:52:49 +02:00
InlineNode.cpp LibWeb: Make layout nodes refcounted 2026-06-07 20:52:49 +02:00
InlineNode.h LibWeb: Make layout nodes refcounted 2026-06-07 20:52:49 +02:00
LayoutState.cpp LibWeb: Avoid SVG getBBox paintable downcasts 2026-06-08 01:04:08 +02:00
LayoutState.h LibWeb: Allocate layout used values with bump allocator 2026-06-13 22:49:00 +02:00
LegendBox.cpp LibWeb: Make layout nodes refcounted 2026-06-07 20:52:49 +02:00
LegendBox.h LibWeb: Make layout nodes refcounted 2026-06-07 20:52:49 +02:00
LineBox.cpp LibWeb: Record abspos inline static positions as line-box markers 2026-06-14 22:12:06 +02:00
LineBox.h LibWeb: Record abspos inline static positions as line-box markers 2026-06-14 22:12:06 +02:00
LineBoxFragment.cpp LibWeb: Stop mutating the input glyph run in append_glyph_run 2026-06-09 17:35:54 +02:00
LineBoxFragment.h LibWeb: Make layout nodes refcounted 2026-06-07 20:52:49 +02:00
LineBuilder.cpp LibWeb: Distinguish first and last baseline sets in box_baseline() 2026-06-16 10:39:02 +02:00
LineBuilder.h LibWeb: Record abspos inline static positions as line-box markers 2026-06-14 22:12:06 +02:00
ListItemBox.cpp LibWeb: Make layout nodes refcounted 2026-06-07 20:52:49 +02:00
ListItemBox.h LibWeb: Make layout nodes refcounted 2026-06-07 20:52:49 +02:00
ListItemMarkerBox.cpp LibWeb: Make layout nodes refcounted 2026-06-07 20:52:49 +02:00
ListItemMarkerBox.h LibWeb: Make layout nodes refcounted 2026-06-07 20:52:49 +02:00
NavigableContainerViewport.cpp LibWeb: Make layout nodes refcounted 2026-06-07 20:52:49 +02:00
NavigableContainerViewport.h LibWeb: Make layout nodes refcounted 2026-06-07 20:52:49 +02:00
Node.cpp LibWeb: Apply null transform properties on style recomputation 2026-06-18 12:26:22 +02:00
Node.h LibWeb: Only apply CSS transforms to transformable elements 2026-06-14 22:12:00 +02:00
RadioButton.cpp LibWeb: Make layout nodes refcounted 2026-06-07 20:52:49 +02:00
RadioButton.h LibWeb: Make layout nodes refcounted 2026-06-07 20:52:49 +02:00
RangeInputBox.cpp LibWeb: Make layout nodes refcounted 2026-06-07 20:52:49 +02:00
RangeInputBox.h LibWeb: Make layout nodes refcounted 2026-06-07 20:52:49 +02:00
ReplacedBox.cpp LibWeb: Make computed style data refcounted 2026-06-06 23:29:48 +02:00
ReplacedBox.h LibWeb: Make layout nodes refcounted 2026-06-07 20:52:49 +02:00
ReplacedWithChildrenFormattingContext.cpp LibWeb: Allow replaced elements to host children 2026-02-23 07:27:31 +01:00
ReplacedWithChildrenFormattingContext.h LibWeb: Allow replaced elements to host children 2026-02-23 07:27:31 +01:00
SVGBox.cpp LibWeb: Make layout nodes refcounted 2026-06-07 20:52:49 +02:00
SVGBox.h LibWeb: Make layout nodes refcounted 2026-06-07 20:52:49 +02:00
SVGClipBox.cpp LibWeb: Make layout nodes refcounted 2026-06-07 20:52:49 +02:00
SVGClipBox.h LibWeb: Make layout nodes refcounted 2026-06-07 20:52:49 +02:00
SVGForeignObjectBox.cpp LibWeb: Make layout nodes refcounted 2026-06-07 20:52:49 +02:00
SVGForeignObjectBox.h LibWeb: Make layout nodes refcounted 2026-06-07 20:52:49 +02:00
SVGFormattingContext.cpp LibWeb: Avoid SVG getBBox paintable downcasts 2026-06-08 01:04:08 +02:00
SVGFormattingContext.h LibWeb: Apply transform attribute to inner <svg> elements 2026-05-30 18:32:15 +01:00
SVGGeometryBox.cpp LibWeb: Make layout nodes refcounted 2026-06-07 20:52:49 +02:00
SVGGeometryBox.h LibWeb: Make layout nodes refcounted 2026-06-07 20:52:49 +02:00
SVGGraphicsBox.cpp LibWeb: Make layout nodes refcounted 2026-06-07 20:52:49 +02:00
SVGGraphicsBox.h LibWeb: Make layout nodes refcounted 2026-06-07 20:52:49 +02:00
SVGImageBox.cpp LibWeb: Make layout nodes refcounted 2026-06-07 20:52:49 +02:00
SVGImageBox.h LibWeb: Make layout nodes refcounted 2026-06-07 20:52:49 +02:00
SVGMaskBox.cpp LibWeb: Make layout nodes refcounted 2026-06-07 20:52:49 +02:00
SVGMaskBox.h LibWeb: Make layout nodes refcounted 2026-06-07 20:52:49 +02:00
SVGPatternBox.cpp LibWeb: Make layout nodes refcounted 2026-06-07 20:52:49 +02:00
SVGPatternBox.h LibWeb: Make layout nodes refcounted 2026-06-07 20:52:49 +02:00
SVGSVGBox.cpp LibWeb: Make layout nodes refcounted 2026-06-07 20:52:49 +02:00
SVGSVGBox.h LibWeb: Make layout nodes refcounted 2026-06-07 20:52:49 +02:00
SVGTextBox.cpp LibWeb: Make layout nodes refcounted 2026-06-07 20:52:49 +02:00
SVGTextBox.h LibWeb: Make layout nodes refcounted 2026-06-07 20:52:49 +02:00
SVGTextPathBox.cpp LibWeb: Make layout nodes refcounted 2026-06-07 20:52:49 +02:00
SVGTextPathBox.h LibWeb: Make layout nodes refcounted 2026-06-07 20:52:49 +02:00
TableFormattingContext.cpp LibWeb: Distinguish first and last baseline sets in box_baseline() 2026-06-16 10:39:02 +02:00
TableFormattingContext.h LibWeb: Make layout nodes refcounted 2026-06-07 20:52:49 +02:00
TableGrid.cpp LibWeb: Make layout nodes refcounted 2026-06-07 20:52:49 +02:00
TableGrid.h LibWeb: Make layout nodes refcounted 2026-06-07 20:52:49 +02:00
TableWrapper.cpp LibWeb: Make layout nodes refcounted 2026-06-07 20:52:49 +02:00
TableWrapper.h LibWeb: Make layout nodes refcounted 2026-06-07 20:52:49 +02:00
TextAreaBox.cpp LibWeb: Make layout nodes refcounted 2026-06-07 20:52:49 +02:00
TextAreaBox.h LibWeb: Make layout nodes refcounted 2026-06-07 20:52:49 +02:00
TextInputBox.cpp LibWeb: Make layout nodes refcounted 2026-06-07 20:52:49 +02:00
TextInputBox.h LibWeb: Make layout nodes refcounted 2026-06-07 20:52:49 +02:00
TextNode.cpp LibWeb: Make layout nodes refcounted 2026-06-07 20:52:49 +02:00
TextNode.h LibWeb: Make layout nodes refcounted 2026-06-07 20:52:49 +02:00
TextOffsetMapping.cpp LibWeb: Make layout nodes refcounted 2026-06-07 20:52:49 +02:00
TextOffsetMapping.h LibWeb: Make layout nodes refcounted 2026-06-07 20:52:49 +02:00
TreeBuilder.cpp LibWeb: Make computed properties immutable 2026-06-20 23:43:17 +02:00
TreeBuilder.h LibWeb: Make layout nodes refcounted 2026-06-07 20:52:49 +02:00
VideoBox.cpp LibWeb: Make layout nodes refcounted 2026-06-07 20:52:49 +02:00
VideoBox.h LibWeb: Make layout nodes refcounted 2026-06-07 20:52:49 +02:00
Viewport.cpp LibWeb: Make layout nodes refcounted 2026-06-07 20:52:49 +02:00
Viewport.h LibWeb: Make layout nodes refcounted 2026-06-07 20:52:49 +02:00