ladybird/Userland/Libraries/LibWeb/Layout
Andreas Kling c51a4cc007 LibWeb: Detach paintables from *all* DOM nodes before committing layout
Before this change, we were not detaching paintables from DOM nodes
within shadow subtrees.

This appears to be the main reason that keyboard editing was doing
immediate forced relayout: doing a full layout invalidation meant we'd
build a new layout tree, which then hid the problem with with
still-attached paintables.

By detaching them before committing a new layout, we make it possible
for keyboard editing to just use normal relayout, instead of full forced
invalidation & relayout.
2024-03-18 13:42:16 +01:00
..
AudioBox.cpp
AudioBox.h
AvailableSpace.cpp
AvailableSpace.h
BlockContainer.cpp LibWeb: Allocate CSS::ComputedValues objects on the heap 2024-01-27 12:27:44 +01:00
BlockContainer.h LibWeb: Allocate CSS::ComputedValues objects on the heap 2024-01-27 12:27:44 +01:00
BlockFormattingContext.cpp LibWeb: Use cached UsedValues pointer in IFC and its helper classes 2024-03-16 14:27:59 +01:00
BlockFormattingContext.h LibWeb: Account for absolutely positioned table wrappers 2024-03-07 08:09:04 +01:00
Box.cpp LibWeb: Allocate CSS::ComputedValues objects on the heap 2024-01-27 12:27:44 +01:00
Box.h LibWeb: Allocate CSS::ComputedValues objects on the heap 2024-01-27 12:27:44 +01:00
BoxModelMetrics.cpp
BoxModelMetrics.h
BreakNode.cpp
BreakNode.h
ButtonBox.cpp
ButtonBox.h
CanvasBox.cpp
CanvasBox.h
CheckBox.cpp
CheckBox.h
FlexFormattingContext.cpp LibWeb: Account for margin and padding of justified abspos flex items 2024-03-09 16:02:17 +01:00
FlexFormattingContext.h LibWeb: Make flexbox special definite size cases explicit 2024-02-21 17:54:05 +01:00
FormAssociatedLabelableNode.h
FormattingContext.cpp LibWeb: Use the parent container's y offset when finding static position 2024-03-10 18:10:01 +01:00
FormattingContext.h LibWeb: Account for absolutely positioned table wrappers 2024-03-07 08:09:04 +01:00
FrameBox.cpp LibWeb: Stop assuming navigable's existance in FrameBox 2024-01-20 20:34:30 +00:00
FrameBox.h
GridFormattingContext.cpp LibWeb: Use resolve_grid_position for abspos boxes layout in GFC 2024-03-11 15:20:58 +01:00
GridFormattingContext.h LibWeb: Add record_grid_placement() helper in GFC 2024-03-07 08:26:37 +01:00
ImageBox.cpp LibWeb: Visit ImageProvider from Layout::ImageBox 2024-02-27 16:53:13 +01:00
ImageBox.h LibWeb: Visit ImageProvider from Layout::ImageBox 2024-02-27 16:53:13 +01:00
ImageProvider.cpp LibWeb: Generalize ImageBox and ImagePaintable for any ImageProvider 2024-02-19 11:07:30 +01:00
ImageProvider.h LibWeb: Visit ImageProvider from Layout::ImageBox 2024-02-27 16:53:13 +01:00
InlineFormattingContext.cpp LibWeb: Use cached UsedValues pointer in IFC and its helper classes 2024-03-16 14:27:59 +01:00
InlineFormattingContext.h LibWeb: Use cached UsedValues pointer in IFC and its helper classes 2024-03-16 14:27:59 +01:00
InlineLevelIterator.cpp LibWeb: Use cached UsedValues pointer in IFC and its helper classes 2024-03-16 14:27:59 +01:00
InlineLevelIterator.h LibWeb: Use cached UsedValues pointer in IFC and its helper classes 2024-03-16 14:27:59 +01:00
InlineNode.cpp
InlineNode.h
Label.cpp
Label.h
LabelableNode.cpp
LabelableNode.h
LayoutState.cpp LibWeb: Detach paintables from *all* DOM nodes before committing layout 2024-03-18 13:42:16 +01:00
LayoutState.h LibWeb: Use the parent container's y offset when finding static position 2024-03-10 18:10:01 +01:00
LineBox.cpp LibGfx+LibWeb: Use ref-counted object to store glyph run 2024-03-02 09:09:10 +01:00
LineBox.h LibWeb: Remove unused LineBox::absolute_rect() and related things 2024-01-20 18:26:14 +01:00
LineBoxFragment.cpp
LineBoxFragment.h LibGfx+LibWeb: Use ref-counted object to store glyph run 2024-03-02 09:09:10 +01:00
LineBuilder.cpp LibWeb: Use cached UsedValues pointer in IFC and its helper classes 2024-03-16 14:27:59 +01:00
LineBuilder.h LibWeb: Use cached UsedValues pointer in IFC and its helper classes 2024-03-16 14:27:59 +01:00
ListItemBox.cpp
ListItemBox.h
ListItemMarkerBox.cpp
ListItemMarkerBox.h
Node.cpp LibWeb: Setup computed values for SVG geometry properties 2024-03-04 10:50:32 +01:00
Node.h LibWeb: Allocate CSS::ComputedValues objects on the heap 2024-01-27 12:27:44 +01:00
RadioButton.cpp
RadioButton.h
ReplacedBox.cpp
ReplacedBox.h
SVGBox.cpp
SVGBox.h
SVGFormattingContext.cpp LibWeb: Special case SVG masks during layout 2024-03-12 08:51:50 +01:00
SVGFormattingContext.h LibWeb: Add initial support for nesting SVG viewports 2024-01-27 18:12:13 +01:00
SVGGeometryBox.cpp
SVGGeometryBox.h
SVGGraphicsBox.cpp
SVGGraphicsBox.h
SVGMaskBox.cpp LibWeb: Special case SVG masks during layout 2024-03-12 08:51:50 +01:00
SVGMaskBox.h LibWeb: Special case SVG masks during layout 2024-03-12 08:51:50 +01:00
SVGSVGBox.cpp LibWeb: Avoid division by zero when calculating SVG viewbox aspect ratio 2024-03-17 12:54:02 +01:00
SVGSVGBox.h
SVGTextBox.cpp
SVGTextBox.h
SVGTextPathBox.cpp
SVGTextPathBox.h
TableFormattingContext.cpp LibWeb: Avoid division by zero when computing table width 2024-01-21 16:11:25 +01:00
TableFormattingContext.h
TableGrid.cpp
TableGrid.h
TableWrapper.cpp LibWeb: Allocate CSS::ComputedValues objects on the heap 2024-01-27 12:27:44 +01:00
TableWrapper.h LibWeb: Allocate CSS::ComputedValues objects on the heap 2024-01-27 12:27:44 +01:00
TextNode.cpp
TextNode.h
TreeBuilder.cpp LibWeb: Special case SVG masks during layout 2024-03-12 08:51:50 +01:00
TreeBuilder.h LibWeb: Special case SVG masks during layout 2024-03-12 08:51:50 +01:00
VideoBox.cpp
VideoBox.h
Viewport.cpp
Viewport.h