1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-05-31 09:58:11 +00:00
serenity/Userland/Libraries/LibWeb/Layout
Luke Wilde 488a979306 LibWeb: Layout inner floats/abspos boxes after laying out the top float
Calling parent_context_did_dimension_child_root_box immediately after
laying out the inside of the floating box is not correct, as we haven't
worked out the dimensions of the floating box yet.

In particular, this caused the icons in the top bar of Cookie Clicker
to not hug the top of the viewport. This is because the icons are
absolutely positioned elements inside a floating element which has
padding applied to it. Since we laid out the abspos element before
the floating element, it got padding values of 0 from the parent, the
default value, meaning it didn't take away the padding of it's floating
parent.

This follows how abspos boxes layout their inside boxes as well.
2022-10-24 21:12:19 +02:00
..
AvailableSpace.cpp LibWeb: Reorganize layout algorithms around available space 2022-10-02 21:14:02 +02:00
AvailableSpace.h LibWeb: Reorganize layout algorithms around available space 2022-10-02 21:14:02 +02:00
BlockContainer.cpp Everywhere: Run clang-format 2022-04-01 21:24:45 +01:00
BlockContainer.h LibWeb: Make the layout tree GC-allocated 2022-10-20 15:16:23 +02:00
BlockFormattingContext.cpp LibWeb: Layout inner floats/abspos boxes after laying out the top float 2022-10-24 21:12:19 +02:00
BlockFormattingContext.h LibWeb: Resolve vertical margins against containing block width 2022-10-10 20:22:50 +02:00
Box.cpp LibWeb: Make Layout::Box::set_needs_display() work for all boxes 2022-04-12 00:11:48 +02:00
Box.h LibWeb: Make the layout tree GC-allocated 2022-10-20 15:16:23 +02:00
BoxModelMetrics.cpp Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
BoxModelMetrics.h LibWeb: Rename "offset" in box model metrics to "inset" 2022-03-26 17:31:01 +01:00
BreakNode.cpp LibWeb: Remove Layout::Node::set_inline() 2022-10-06 15:29:38 +02:00
BreakNode.h LibWeb: Make the layout tree GC-allocated 2022-10-20 15:16:23 +02:00
ButtonBox.cpp LibGfx: Move other font-related files to LibGfx/Font/ 2022-04-09 23:48:18 +02:00
ButtonBox.h LibWeb: Make the layout tree GC-allocated 2022-10-20 15:16:23 +02:00
CanvasBox.cpp Libraries: Use default constructors/destructors in LibWeb 2022-03-17 17:23:49 +00:00
CanvasBox.h LibWeb: Make the layout tree GC-allocated 2022-10-20 15:16:23 +02:00
CheckBox.cpp LibGfx: Move other font-related files to LibGfx/Font/ 2022-04-09 23:48:18 +02:00
CheckBox.h LibWeb: Make the layout tree GC-allocated 2022-10-20 15:16:23 +02:00
FlexFormattingContext.cpp LibWeb: Assign hypothetical flex item main sizes as temporary main size 2022-10-15 14:01:54 +02:00
FlexFormattingContext.h LibWeb: Implement basic support for align-content in flex layout 2022-10-14 19:50:15 +02:00
FormAssociatedLabelableNode.h LibWeb: Make the layout tree GC-allocated 2022-10-20 15:16:23 +02:00
FormattingContext.cpp LibWeb: Calculate the height of the css grid correctly 2022-10-15 16:04:01 +02:00
FormattingContext.h LibWeb: Implement CSS fit-content algorithm precisely as spec says 2022-10-14 19:53:52 +02:00
FrameBox.cpp Libraries: Use default constructors/destructors in LibWeb 2022-03-17 17:23:49 +00:00
FrameBox.h LibWeb: Make the layout tree GC-allocated 2022-10-20 15:16:23 +02:00
GridFormattingContext.cpp LibWeb: Use calculate_min_content_height() for sizing of grid children 2022-10-18 12:55:34 +02:00
GridFormattingContext.h LibWeb: Implement minmax() 2022-10-15 16:04:01 +02:00
ImageBox.cpp LibWeb: Add GC finalizer to Layout::ImageBox 2022-10-20 19:36:59 +02:00
ImageBox.h LibWeb: Add GC finalizer to Layout::ImageBox 2022-10-20 19:36:59 +02:00
InitialContainingBlock.cpp LibWeb: Ignore non-painting layout nodes when building stacking contexts 2022-04-07 17:06:02 +02:00
InitialContainingBlock.h LibWeb: Make the layout tree GC-allocated 2022-10-20 15:16:23 +02:00
InlineFormattingContext.cpp LibWeb: Apply min-width and max-width constraints to inline-block boxes 2022-10-15 14:10:30 +02:00
InlineFormattingContext.h LibWeb: Reorganize layout algorithms around available space 2022-10-02 21:14:02 +02:00
InlineLevelIterator.cpp LibWeb: Make TextNode::ChunkIterator emit an empty chunk for content:"" 2022-10-14 19:50:15 +02:00
InlineLevelIterator.h LibWeb: Add missing includes 2022-09-18 13:27:24 -04:00
InlineNode.cpp LibWeb: Remove Layout::Node::set_inline() 2022-10-06 15:29:38 +02:00
InlineNode.h LibWeb: Make the layout tree GC-allocated 2022-10-20 15:16:23 +02:00
Label.cpp LibWeb: Make the layout tree GC-allocated 2022-10-20 15:16:23 +02:00
Label.h LibWeb: Make the layout tree GC-allocated 2022-10-20 15:16:23 +02:00
LabelableNode.cpp LibWeb: Move mouse event and label logic from layout to painting tree 2022-03-11 00:21:49 +01:00
LabelableNode.h LibWeb: Make the layout tree GC-allocated 2022-10-20 15:16:23 +02:00
LayoutPosition.cpp LibWeb: Make the layout tree GC-allocated 2022-10-20 15:16:23 +02:00
LayoutPosition.h LibWeb: Make the layout tree GC-allocated 2022-10-20 15:16:23 +02:00
LayoutState.cpp LibWeb: Assign hypothetical flex item main sizes as temporary main size 2022-10-15 14:01:54 +02:00
LayoutState.h LibWeb: Split intrinsic heights cache by definite available widths 2022-10-15 14:01:54 +02:00
LineBox.cpp LibWeb: Respect inline-axis margins between line box fragments :^) 2022-03-09 18:47:32 +01:00
LineBox.h LibWeb: Bring CSS line-height implementation closer to spec 2022-03-24 22:52:44 +01:00
LineBoxFragment.cpp LibWeb: Rename FormattingState to LayoutState 2022-07-17 14:11:36 +02:00
LineBoxFragment.h LibWeb: Rename FormattingState to LayoutState 2022-07-17 14:11:36 +02:00
LineBuilder.cpp LibWeb: Fix bogus inline-block check in line box layout 2022-10-14 19:50:14 +02:00
LineBuilder.h LibWeb: Improve inline flow around floating boxes 2022-09-16 15:15:50 +02:00
ListItemBox.cpp LibWeb: Make the layout tree GC-allocated 2022-10-20 15:16:23 +02:00
ListItemBox.h LibWeb: Make the layout tree GC-allocated 2022-10-20 15:16:23 +02:00
ListItemMarkerBox.cpp LibWeb: Convert images to common AbstractImageStyleValue base 2022-08-08 22:39:06 +02:00
ListItemMarkerBox.h LibWeb: Make the layout tree GC-allocated 2022-10-20 15:16:23 +02:00
Node.cpp LibWeb: Establish stacking context when backdrop-filter is not 'none' 2022-10-24 18:05:58 +02:00
Node.h LibWeb: Tie layout tree to a specific browsing context 2022-10-20 19:36:59 +02:00
Progress.cpp Libraries: Use default constructors/destructors in LibWeb 2022-03-17 17:23:49 +00:00
Progress.h LibWeb: Make the layout tree GC-allocated 2022-10-20 15:16:23 +02:00
RadioButton.cpp LibWeb: Set 1:1 intrinsic aspect ratio for radio buttons 2022-07-11 18:57:45 +02:00
RadioButton.h LibWeb: Make the layout tree GC-allocated 2022-10-20 15:16:23 +02:00
ReplacedBox.cpp LibWeb: Remove Layout::Node::set_inline() 2022-10-06 15:29:38 +02:00
ReplacedBox.h LibWeb: Make the layout tree GC-allocated 2022-10-20 15:16:23 +02:00
SVGBox.cpp LibWeb: Make SVG <svg> elements behave as CSS replaced elements 2022-03-19 12:42:10 +01:00
SVGBox.h LibWeb: Make the layout tree GC-allocated 2022-10-20 15:16:23 +02:00
SVGFormattingContext.cpp LibWeb: Reorganize layout algorithms around available space 2022-10-02 21:14:02 +02:00
SVGFormattingContext.h LibWeb: Reorganize layout algorithms around available space 2022-10-02 21:14:02 +02:00
SVGGeometryBox.cpp LibWeb: Remove a bunch of no-longer needed #includes 2022-03-11 00:21:49 +01:00
SVGGeometryBox.h LibWeb: Make the layout tree GC-allocated 2022-10-20 15:16:23 +02:00
SVGGraphicsBox.cpp LibWeb: Let Paintable perform the painting 2022-03-11 00:21:49 +01:00
SVGGraphicsBox.h LibWeb: Make the layout tree GC-allocated 2022-10-20 15:16:23 +02:00
SVGSVGBox.cpp LibWeb: Try to work out the intrinsic size of <svg> elements 2022-07-11 18:57:45 +02:00
SVGSVGBox.h LibWeb: Make the layout tree GC-allocated 2022-10-20 15:16:23 +02:00
TableBox.cpp Libraries: Use default constructors/destructors in LibWeb 2022-03-17 17:23:49 +00:00
TableBox.h LibWeb: Make the layout tree GC-allocated 2022-10-20 15:16:23 +02:00
TableCellBox.cpp Libraries: Use default constructors/destructors in LibWeb 2022-03-17 17:23:49 +00:00
TableCellBox.h LibWeb: Make the layout tree GC-allocated 2022-10-20 15:16:23 +02:00
TableFormattingContext.cpp LibWeb: Reorganize layout algorithms around available space 2022-10-02 21:14:02 +02:00
TableFormattingContext.h LibWeb: Reorganize layout algorithms around available space 2022-10-02 21:14:02 +02:00
TableRowBox.cpp Libraries: Use default constructors/destructors in LibWeb 2022-03-17 17:23:49 +00:00
TableRowBox.h LibWeb: Make the layout tree GC-allocated 2022-10-20 15:16:23 +02:00
TableRowGroupBox.cpp Libraries: Use default constructors/destructors in LibWeb 2022-03-17 17:23:49 +00:00
TableRowGroupBox.h LibWeb: Make the layout tree GC-allocated 2022-10-20 15:16:23 +02:00
TextNode.cpp LibWeb: Make TextNode::ChunkIterator emit an empty chunk for content:"" 2022-10-14 19:50:15 +02:00
TextNode.h LibWeb: Make the layout tree GC-allocated 2022-10-20 15:16:23 +02:00
TreeBuilder.cpp LibWeb: Make the layout tree GC-allocated 2022-10-20 15:16:23 +02:00
TreeBuilder.h LibWeb: Make the layout tree GC-allocated 2022-10-20 15:16:23 +02:00