1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-07-08 15:07:35 +00:00
serenity/Userland/Libraries/LibWeb/Layout
Andreas Kling dabbade05c LibWeb: Factor out creation of independent formatting contexts
This patch breaks FormattingContext::layout_inside() into two functions,
one that creates an independent formatting context (if needed), and
another that calls the former and then performs the inside layout within
the appropriate context.

The main goal here was to make layout_inside() return the independent
formatting context if one was created. This will allow us to defer
certain operations in child contexts until the parent context has
finished formatting the child root box.
2021-10-17 22:18:59 +02:00
..
BlockContainer.cpp LibWeb: Move line boxes from Layout::Box to BlockContainer 2021-10-06 21:53:25 +02:00
BlockContainer.h LibWeb: Use W3C urls for CSS-DISPLAY spec links 2021-10-15 21:05:35 +01:00
BlockFormattingContext.cpp LibWeb: Expose FormattingContext type 2021-10-17 22:18:59 +02:00
BlockFormattingContext.h LibWeb: Use W3C urls for CSS-DISPLAY spec links 2021-10-15 21:05:35 +01:00
Box.cpp LibWeb: Implement position:fixed painting at the stacking context level 2021-10-14 23:50:33 +02:00
Box.h LibWeb: Introduce simple scrollable overflow, size ICB to viewport 2021-10-14 23:22:59 +02:00
BoxModelMetrics.cpp Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
BoxModelMetrics.h Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
BreakNode.cpp LibWeb: Rename Layout::BlockBox => BlockContainer 2021-10-06 20:10:36 +02:00
BreakNode.h LibWeb: Let <br> elements have style 2021-09-24 15:01:49 +02:00
ButtonBox.cpp LibWeb: Make intrinsic width/height/ratio a Box concept and simplify it 2021-10-14 18:39:27 +02:00
ButtonBox.h Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
CanvasBox.cpp LibWeb: Make intrinsic width/height/ratio a Box concept and simplify it 2021-10-14 18:39:27 +02:00
CanvasBox.h Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
CheckBox.cpp LibWeb: Make intrinsic width/height/ratio a Box concept and simplify it 2021-10-14 18:39:27 +02:00
CheckBox.h Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
FlexFormattingContext.cpp LibWeb: Expose FormattingContext type 2021-10-17 22:18:59 +02:00
FlexFormattingContext.h LibWeb: Add spec comments to FFC layout algorithm step 5 2021-10-13 23:56:26 +02:00
FormattingContext.cpp LibWeb: Factor out creation of independent formatting contexts 2021-10-17 22:18:59 +02:00
FormattingContext.h LibWeb: Factor out creation of independent formatting contexts 2021-10-17 22:18:59 +02:00
FrameBox.cpp LibWeb: Make intrinsic width/height/ratio a Box concept and simplify it 2021-10-14 18:39:27 +02:00
FrameBox.h AK: Rename downcast<T> => verify_cast<T> 2021-06-24 19:57:01 +02:00
ImageBox.cpp LibWeb: Rename "intrinsic ratio" => "intrinsic aspect ratio" 2021-10-14 18:48:49 +02:00
ImageBox.h LibWeb: Rename frame_did_set_viewport_rect() => browsing_context_*() 2021-09-08 11:12:22 +02:00
InitialContainingBlock.cpp LibWeb: Rename Layout::BlockBox => BlockContainer 2021-10-06 20:10:36 +02:00
InitialContainingBlock.h LibWeb: Rename Layout::BlockBox => BlockContainer 2021-10-06 20:10:36 +02:00
InlineFormattingContext.cpp LibWeb: Expose FormattingContext type 2021-10-17 22:18:59 +02:00
InlineFormattingContext.h LibWeb: Move line boxes from Layout::Box to BlockContainer 2021-10-06 21:53:25 +02:00
InlineNode.cpp LibWeb: Move line boxes from Layout::Box to BlockContainer 2021-10-06 21:53:25 +02:00
InlineNode.h LibWeb: Give InlineNodes a background 2021-09-19 22:53:35 +02:00
Label.cpp LibWeb: Rename Layout::BlockBox => BlockContainer 2021-10-06 20:10:36 +02:00
Label.h LibWeb: Rename Layout::BlockBox => BlockContainer 2021-10-06 20:10:36 +02:00
LabelableNode.h Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
LayoutPosition.cpp Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
LayoutPosition.h Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
LineBox.cpp LibWeb: Consider empty fragments the same as whitespace in LineBox 2021-10-11 09:51:58 +02:00
LineBox.h LibWeb: Rename Layout::BlockBox => BlockContainer 2021-10-06 20:10:36 +02:00
LineBoxFragment.cpp LibWeb: Rename InitialContainingBlockBox => InitialContainingBlock 2021-09-08 11:27:46 +02:00
LineBoxFragment.h Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
ListItemBox.cpp LibWeb: Rename Layout::BlockBox => BlockContainer 2021-10-06 20:10:36 +02:00
ListItemBox.h LibWeb: Rename Layout::BlockBox => BlockContainer 2021-10-06 20:10:36 +02:00
ListItemMarkerBox.cpp LibWeb: Make ListItemMarkerBox inherit style from ListItemBox 2021-09-24 15:01:49 +02:00
ListItemMarkerBox.h LibWeb: Mark Layout::ListItemMarkerBox as never having children 2021-10-06 21:49:09 +02:00
Node.cpp LibWeb: CSS display:position does not imply definite size 2021-10-13 23:56:26 +02:00
Node.h LibWeb: Rename Layout::Node::is_block_box() => is_block_container() 2021-10-06 20:10:36 +02:00
RadioButton.cpp LibWeb: Make intrinsic width/height/ratio a Box concept and simplify it 2021-10-14 18:39:27 +02:00
RadioButton.h Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
ReplacedBox.cpp LibWeb: Rename Layout::BlockBox => BlockContainer 2021-10-06 20:10:36 +02:00
ReplacedBox.h LibWeb: Make ReplacedBox intrinsic size setters take Optional<float> 2021-10-14 23:22:59 +02:00
SVGBox.cpp LibWeb: Rename Layout::BlockBox => BlockContainer 2021-10-06 20:10:36 +02:00
SVGBox.h LibWeb: Rename Layout::BlockBox => BlockContainer 2021-10-06 20:10:36 +02:00
SVGFormattingContext.cpp LibWeb: Expose FormattingContext type 2021-10-17 22:18:59 +02:00
SVGFormattingContext.h LibWeb: Add SVGFormattingContext to handle SVG box trees 2021-09-18 01:39:59 +02:00
SVGGraphicsBox.cpp AK: Rename downcast<T> => verify_cast<T> 2021-06-24 19:57:01 +02:00
SVGGraphicsBox.h LibWeb: Add SVGFormattingContext to handle SVG box trees 2021-09-18 01:39:59 +02:00
SVGPathBox.cpp LibWeb: Remove bogus offset when painting an SVG <path> box 2021-09-18 01:39:59 +02:00
SVGPathBox.h LibWeb: Add SVGFormattingContext to handle SVG box trees 2021-09-18 01:39:59 +02:00
SVGSVGBox.cpp LibWeb: Add SVGFormattingContext to handle SVG box trees 2021-09-18 01:39:59 +02:00
SVGSVGBox.h LibWeb: Add SVGFormattingContext to handle SVG box trees 2021-09-18 01:39:59 +02:00
TableBox.cpp LibWeb: Rename Layout::BlockBox => BlockContainer 2021-10-06 20:10:36 +02:00
TableBox.h LibWeb: Rename Layout::BlockBox => BlockContainer 2021-10-06 20:10:36 +02:00
TableCellBox.cpp LibWeb: Rename Layout::BlockBox => BlockContainer 2021-10-06 20:10:36 +02:00
TableCellBox.h LibWeb: Rename Layout::BlockBox => BlockContainer 2021-10-06 20:10:36 +02:00
TableFormattingContext.cpp LibWeb: Move line boxes from Layout::Box to BlockContainer 2021-10-06 21:53:25 +02:00
TableFormattingContext.h LibWeb: Move line boxes from Layout::Box to BlockContainer 2021-10-06 21:53:25 +02:00
TableRowBox.cpp Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
TableRowBox.h LibWeb: Start work towards modern CSS "display" values 2021-10-06 19:12:52 +02:00
TableRowGroupBox.cpp LibWeb: Rename Layout::BlockBox => BlockContainer 2021-10-06 20:10:36 +02:00
TableRowGroupBox.h LibWeb: Rename Layout::BlockBox => BlockContainer 2021-10-06 20:10:36 +02:00
TextNode.cpp Libraries: Fix -Wunreachable-code warnings from clang 2021-10-08 23:33:46 +02:00
TextNode.h LibWeb: Make Layout::Node::paint() pure virtual 2021-09-15 15:25:47 +02:00
TreeBuilder.cpp LibWeb: Rename Layout::BlockBox => BlockContainer 2021-10-06 20:10:36 +02:00
TreeBuilder.h LibWeb: Start work towards modern CSS "display" values 2021-10-06 19:12:52 +02:00