ladybird/Userland/Libraries/LibWeb/Layout
Aliaksandr Kalenik ca363f0024 LibWeb: Add basic "top layer" support
Implements the "top layer" concept from "CSS Positioned Layout Module
Level 4" specification.

- The tree builder is modified to ensure that layout nodes created by
  top layer elements are children of the viewport.
- Implements missing steps in `showModal()` to add an element top top
  layer.
- Implements missing steps in `close()` to remove an element from top
  layer.

Further steps could be:
- Add support for `::backdrop` pseudo-element.
- Implement the "inert" concept from HTML spec to block hit-testing
  when element from top layer is displayed.
2024-03-29 06:57:07 +01:00
..
AudioBox.cpp
AudioBox.h
AvailableSpace.cpp
AvailableSpace.h
BlockContainer.cpp
BlockContainer.h
BlockFormattingContext.cpp LibWeb: Compute height early when possible for floating boxes 2024-03-27 16:43:04 +01:00
BlockFormattingContext.h LibWeb: Account for absolutely positioned table wrappers 2024-03-07 08:09:04 +01:00
Box.cpp LibWeb: Avoid division by zero when calculating box aspect ratio 2024-03-23 20:56:26 +01:00
Box.h
BoxModelMetrics.cpp
BoxModelMetrics.h
BreakNode.cpp
BreakNode.h
ButtonBox.cpp
ButtonBox.h
CanvasBox.cpp
CanvasBox.h
CheckBox.cpp
CheckBox.h
FlexFormattingContext.cpp LibWeb: Don't make flex layout responsible for flex container cross size 2024-03-27 16:43:04 +01:00
FlexFormattingContext.h LibWeb: Don't make flex layout responsible for flex container cross size 2024-03-27 16:43:04 +01:00
FormAssociatedLabelableNode.h
FormattingContext.cpp LibWeb: Don't use stretch-fit width for inline boxes with aspect ratio 2024-03-27 16:43:04 +01:00
FormattingContext.h LibWeb: Account for absolutely positioned table wrappers 2024-03-07 08:09:04 +01:00
FrameBox.cpp
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
ImageProvider.h LibWeb: Visit ImageProvider from Layout::ImageBox 2024-02-27 16:53:13 +01:00
InlineFormattingContext.cpp LibWeb: Avoid unnecessary Vector copying when generating line boxes 2024-03-25 12:39:23 +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 LibWeb: Look for labeled control in DOM tree instead of layout tree 2024-03-23 12:46:37 +01:00
Label.h LibWeb: Look for labeled control in DOM tree instead of layout tree 2024-03-23 12:46:37 +01:00
LabelableNode.cpp
LabelableNode.h
LayoutState.cpp LibWeb: Retain size definiteness when transferred through aspect ratio 2024-03-27 16:43:04 +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 LibWeb: Avoid unnecessary Vector copying when generating line boxes 2024-03-25 12:39:23 +01:00
LineBox.h LibWeb: Avoid unnecessary Vector copying when generating line boxes 2024-03-25 12:39:23 +01:00
LineBoxFragment.cpp
LineBoxFragment.h LibWeb: Remove unused LineBoxFragment member 2024-03-18 13:42:16 +01:00
LineBuilder.cpp LibWeb: Avoid unnecessary Vector copying when generating line boxes 2024-03-25 12:39:23 +01:00
LineBuilder.h LibWeb: Avoid unnecessary Vector copying when generating line boxes 2024-03-25 12:39:23 +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: Move selection state from layout tree to paint tree 2024-03-18 13:42:16 +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
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 duplicating SVG viewbox height calculation 2024-03-20 09:09:35 +01:00
SVGSVGBox.h
SVGTextBox.cpp
SVGTextBox.h
SVGTextPathBox.cpp
SVGTextPathBox.h
TableFormattingContext.cpp LibWeb: Skip cells layout in table box width calculation 2024-03-19 11:51:49 +01:00
TableFormattingContext.h LibWeb: Skip cells layout in table box width calculation 2024-03-19 11:51:49 +01:00
TableGrid.cpp
TableGrid.h
TableWrapper.cpp
TableWrapper.h
TextNode.cpp LibWeb: Store "text for rendering" in TextPaintable 2024-03-18 13:42:16 +01:00
TextNode.h
TreeBuilder.cpp LibWeb: Add basic "top layer" support 2024-03-29 06:57:07 +01:00
TreeBuilder.h LibWeb: Add basic "top layer" support 2024-03-29 06:57:07 +01:00
VideoBox.cpp
VideoBox.h
Viewport.cpp LibWeb: Move selection state from layout tree to paint tree 2024-03-18 13:42:16 +01:00
Viewport.h LibWeb: Move selection state from layout tree to paint tree 2024-03-18 13:42:16 +01:00