1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-05-31 06:48:12 +00:00
serenity/Userland/Libraries/LibWeb/Layout
Andreas Kling 0532d7d255 LibWeb: Stop sizing the context root box in formatting contexts
Until now, some formatting contexts (BFC in particular) have been
assigning size to the root box. This is really the responsibility of the
parent formatting context, so let's stop doing it.

To keep position:absolute working, parent formatting contexts now notify
child contexts when the child's root box has been sized. (Note that the
important thing here is for the child root to have its final used height
before it's able to place bottom-relative boxes.)

This breaks flexbox layout in some ways, but we'll have to address those
by improving the spec compliance of FFC.)
2022-02-12 22:30:50 +01:00
..
BlockContainer.cpp LibWeb: Rename Layout::Box absolute rect helpers 2022-02-11 21:57:56 +01:00
BlockContainer.h LibWeb: Remove old Layout::Node::split_into_lines() API 2022-01-23 01:22:41 +01:00
BlockFormattingContext.cpp LibWeb: Stop sizing the context root box in formatting contexts 2022-02-12 22:30:50 +01:00
BlockFormattingContext.h LibWeb: Stop sizing the context root box in formatting contexts 2022-02-12 22:30:50 +01:00
Box.cpp LibWeb: Rename Layout::Box absolute rect helpers 2022-02-11 21:57:56 +01:00
Box.h LibWeb: Rename Layout::Box absolute rect helpers 2022-02-11 21:57:56 +01: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: Remove old Layout::Node::split_into_lines() API 2022-01-23 01:22:41 +01:00
BreakNode.h LibWeb: Remove old Layout::Node::split_into_lines() API 2022-01-23 01:22:41 +01:00
ButtonBox.cpp LibWeb: Rename "frame" to "browsing_context" in various places 2022-02-06 16:22:58 +01: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: Fixed disabled checkbox input behaviour 2022-02-08 17:51:33 +01:00
CheckBox.h Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
FlexFormattingContext.cpp LibWeb: Rename Layout::Box::size() to content_size() 2022-02-06 01:07:47 +01:00
FlexFormattingContext.h LibWeb: Add missing headers 2021-10-20 09:20:18 +01:00
FormattingContext.cpp LibWeb: Stop sizing the context root box in formatting contexts 2022-02-12 22:30:50 +01:00
FormattingContext.h LibWeb: Stop sizing the context root box in formatting contexts 2022-02-12 22:30:50 +01:00
FrameBox.cpp LibWeb: Rename Layout::Box::size() to content_size() 2022-02-06 01:07:47 +01:00
FrameBox.h AK: Rename downcast<T> => verify_cast<T> 2021-06-24 19:57:01 +02:00
ImageBox.cpp LibWeb: Rename Layout::Box::size() to content_size() 2022-02-06 01:07:47 +01:00
ImageBox.h LibWeb: Move BrowsingContext into HTML/ 2021-11-18 21:11:30 +01:00
InitialContainingBlock.cpp LibWeb: Always rebuild stacking context tree during layout 2022-02-12 22:30:50 +01:00
InitialContainingBlock.h LibWeb: Rename Layout::BlockBox => BlockContainer 2021-10-06 20:10:36 +02:00
InlineFormattingContext.cpp LibWeb: Stop sizing the context root box in formatting contexts 2022-02-12 22:30:50 +01:00
InlineFormattingContext.h LibWeb: Make IFC aware that its parent is always a BFC 2022-01-24 02:09:17 +01:00
InlineLevelIterator.cpp LibWeb: Rename Layout::Box::size() to content_size() 2022-02-06 01:07:47 +01:00
InlineLevelIterator.h LibWeb: Pass correct state to TextNode::compute_text_for_rendering() 2022-01-23 01:22:41 +01:00
InlineNode.cpp LibWeb: Incorporate spread-distance into box-shadow rendering 2022-02-08 17:45:51 +01:00
InlineNode.h LibWeb: Remove old Layout::Node::split_into_lines() API 2022-01-23 01:22:41 +01:00
Label.cpp Everywhere: Update copyrights with my new serenityos.org e-mail :^) 2022-01-31 18:23:22 +00:00
Label.h Everywhere: Update copyrights with my new serenityos.org e-mail :^) 2022-01-31 18:23:22 +00:00
LabelableNode.h Everywhere: Update copyrights with my new serenityos.org e-mail :^) 2022-01-31 18:23:22 +00: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: Fix inline blocks swallowing trailing whitespace 2021-10-26 17:27:04 +02:00
LineBox.h LibWeb: Don't do horizontal inline line layout twice for last line 2022-01-23 01:22:41 +01: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
LineBuilder.cpp LibWeb: Rename Layout::Box::size() to content_size() 2022-02-06 01:07:47 +01:00
LineBuilder.h LibWeb: Make LineBuilder assign height to empty line boxes 2022-01-23 01:36:13 +01:00
ListItemBox.cpp LibWeb: Rename Layout::Box::size() to content_size() 2022-02-06 01:07:47 +01:00
ListItemBox.h LibWeb: Rename Layout::BlockBox => BlockContainer 2021-10-06 20:10:36 +02:00
ListItemMarkerBox.cpp LibWeb: Rename Layout::Box::size() to content_size() 2022-02-06 01:07:47 +01:00
ListItemMarkerBox.h LibWeb: Render any specified list-style-image for list items 2021-10-29 22:06:49 +02:00
Node.cpp LibWeb: Add new property 'text-decoration-style' 2022-01-23 15:48:27 +03:30
Node.h LibWeb: Rename SVGPathBox -> SVGGeometryBox 2022-02-11 21:38:27 +01:00
RadioButton.cpp Everywhere: Update copyrights with my new serenityos.org e-mail :^) 2022-01-31 18:23:22 +00:00
RadioButton.h Everywhere: Update copyrights with my new serenityos.org e-mail :^) 2022-01-31 18:23:22 +00:00
ReplacedBox.cpp LibWeb: Remove old Layout::Node::split_into_lines() API 2022-01-23 01:22:41 +01:00
ReplacedBox.h LibWeb: Remove old Layout::Node::split_into_lines() API 2022-01-23 01:22:41 +01:00
SVGBox.cpp LibWeb: Rename Layout::BlockBox => BlockContainer 2021-10-06 20:10:36 +02:00
SVGBox.h LibWeb: Add const versions of SVGBox::dom_node() and friends 2022-02-11 21:38:27 +01:00
SVGFormattingContext.cpp LibWeb: Rename SVGPathBox -> SVGGeometryBox 2022-02-11 21:38:27 +01:00
SVGFormattingContext.h LibWeb: Add SVGFormattingContext to handle SVG box trees 2021-09-18 01:39:59 +02:00
SVGGeometryBox.cpp LibWeb: Rename SVGPathBox -> SVGGeometryBox 2022-02-11 21:38:27 +01:00
SVGGeometryBox.h LibWeb: Rename SVGPathBox -> SVGGeometryBox 2022-02-11 21:38:27 +01:00
SVGGraphicsBox.cpp AK: Rename downcast<T> => verify_cast<T> 2021-06-24 19:57:01 +02:00
SVGGraphicsBox.h LibWeb: Add const versions of SVGBox::dom_node() and friends 2022-02-11 21:38:27 +01: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: Remove Layout::Box::width_of_logical_containing_block() 2021-10-27 18:00:51 +02:00
TableCellBox.h LibWeb: Remove Layout::Box::width_of_logical_containing_block() 2021-10-27 18:00:51 +02:00
TableFormattingContext.cpp LibWeb: Rename Layout::Box::size() to content_size() 2022-02-06 01:07:47 +01: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 LibWeb: Consider TextDecorationStyle when rendering text 2022-01-23 15:48:27 +03:30
TextNode.h LibWeb: Remove old Layout::Node::split_into_lines() API 2022-01-23 01:22:41 +01:00
TreeBuilder.cpp LibWeb: Compute element style in Layout::TreeBuilder 2022-02-05 22:50:39 +01:00
TreeBuilder.h LibWeb: Add missing headers 2021-10-20 09:20:18 +01:00