1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-05-28 16:45:09 +00:00
serenity/Userland/Libraries/LibWeb/Layout
Andi Gallo 4d49852454 LibWeb: Distribute cell contribution to all spanned columns
The specification isn't explicit about it, but the contribution we
compute should be distributed to all columns, not just the first one.

The first reason for it is symmetry, it doesn't make sense for the
increased width of the spanning column to only affect the first column
in the span.

The second reason is the formula for the cell contribution, which is
weighted by the non-spanning width of the cell relative to the total
width of the columns in the same row. This only covers a fraction of the
gap, in order to fully cover it we have to add it to all columns in the
span. For this to be exactly the case when the columns don't all have
the same width, we'd have to add additional weighting based on the width
ratios, but given that the specification doesn't suggest it at all we'll
leave it out for now.
2023-06-10 07:10:06 +02:00
..
AvailableSpace.cpp LibWeb: Convert FormattingContext to new pixel units 2023-01-05 17:42:31 +01:00
AvailableSpace.h LibWeb: Add default equality operators to Available{Space,Size} 2023-03-27 23:28:07 +02:00
BlockContainer.cpp LibWeb/Layout: Rename BlockContainer::paint{_box => able_with_lines}() 2023-04-20 20:43:30 +02:00
BlockContainer.h LibWeb/Layout: Rename BlockContainer::paint{_box => able_with_lines}() 2023-04-20 20:43:30 +02:00
BlockFormattingContext.cpp LibWeb: Obey CSS aspect-ratio property during layout 2023-06-09 20:37:51 +02:00
BlockFormattingContext.h LibWeb: Add support for table caption 2023-06-10 07:09:11 +02:00
Box.cpp LibWeb: Obey CSS aspect-ratio property during layout 2023-06-09 20:37:51 +02:00
Box.h LibWeb: Obey CSS aspect-ratio property during layout 2023-06-09 20:37:51 +02:00
BoxModelMetrics.cpp Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
BoxModelMetrics.h LibWeb+Browser+WebContent: Convert BoxModelMetrics to new pixel units 2023-01-05 17:42:31 +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 LibWeb: Move "natural size" concept into Layout::Box 2023-06-09 20:37:51 +02:00
ButtonBox.h LibWeb: Make a handful of layout node leaf classes final 2023-01-11 14:03:18 +01:00
CanvasBox.cpp LibWeb: Move "natural size" concept into Layout::Box 2023-06-09 20:37:51 +02:00
CanvasBox.h LibWeb: Make a handful of layout node leaf classes final 2023-01-11 14:03:18 +01:00
CheckBox.cpp LibWeb: Move "natural size" concept into Layout::Box 2023-06-09 20:37:51 +02:00
CheckBox.h LibWeb: Make a handful of layout node leaf classes final 2023-01-11 14:03:18 +01:00
FlexFormattingContext.cpp LibWeb: Obey CSS aspect-ratio property during layout 2023-06-09 20:37:51 +02:00
FlexFormattingContext.h LibWeb: Make CSSPixels and Length use 64-bit (double) floating point 2023-05-24 14:40:35 +02:00
FormAssociatedLabelableNode.h LibWeb: Make the layout tree GC-allocated 2022-10-20 15:16:23 +02:00
FormattingContext.cpp LibWeb: Obey CSS aspect-ratio property during layout 2023-06-09 20:37:51 +02:00
FormattingContext.h LibWeb: Obey CSS aspect-ratio property during layout 2023-06-09 20:37:51 +02:00
FrameBox.cpp LibWeb: Move "natural size" concept into Layout::Box 2023-06-09 20:37:51 +02:00
FrameBox.h LibWeb: Fix iframes flickering on window resize 2023-05-15 14:08:08 +02:00
GridFormattingContext.cpp LibWeb: Rename TemporaryTrack to GridTrack in GFC 2023-06-10 07:08:01 +02:00
GridFormattingContext.h LibWeb: Rename TemporaryTrack to GridTrack in GFC 2023-06-10 07:08:01 +02:00
ImageBox.cpp LibWeb: Move "natural size" concept into Layout::Box 2023-06-09 20:37:51 +02:00
ImageBox.h LibWeb: Don't force HTMLImageElement to have a legacy ImageLoader 2023-05-13 09:08:42 +02:00
ImageProvider.h LibWeb: Have ImageProvider bitmap getter take optional size argument 2023-05-21 07:44:29 +02:00
InlineFormattingContext.cpp LibWeb: Obey CSS aspect-ratio property during layout 2023-06-09 20:37:51 +02:00
InlineFormattingContext.h LibWeb: Convert InlineFormattingContext to new pixel units 2023-01-05 17:42:31 +01:00
InlineLevelIterator.cpp LibWeb: Use the new to_px() helpers in CSS, SVG and layout code 2023-05-06 18:41:34 +02:00
InlineLevelIterator.h LibJS+LibWeb: Wrap raw JS::Cell*/& fields in GCPtr/NonnullGCPtr 2023-03-15 08:48:49 +01:00
InlineNode.cpp LibWeb: Make the paint tree GC-allocated 2023-01-11 12:55:00 +01:00
InlineNode.h LibWeb: Make a handful of layout node leaf classes final 2023-01-11 14:03:18 +01:00
Label.cpp LibWeb/Layout: Rename BlockContainer::paint{_box => able_with_lines}() 2023-04-20 20:43:30 +02:00
Label.h LibWeb+WebContent+headless-browser: Use CSSPixels for PageClient events 2022-12-10 12:03:19 +00: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
LayoutState.cpp LibWeb: Measure the overflow for all scroll containers 2023-06-01 13:33:35 +02:00
LayoutState.h LibWeb: Measure the overflow for all scroll containers 2023-06-01 13:33:35 +02:00
LineBox.cpp LibWeb: Convert InlineLevelIterator/LineBox/LineBuilder to new px units 2023-01-05 17:42:31 +01:00
LineBox.h LibWeb: Make text justification work between floats 2023-05-16 14:35:10 +02:00
LineBoxFragment.cpp LibWeb/Layout: Rename Box::{paint => paintable}_box() 2023-04-20 20:43:30 +02:00
LineBoxFragment.h LibJS+LibWeb: Wrap raw JS::Cell*/& fields in GCPtr/NonnullGCPtr 2023-03-15 08:48:49 +01:00
LineBuilder.cpp LibWeb: Avoid text-aligning content that is too long for its line box 2023-06-02 05:21:22 +02:00
LineBuilder.h LibWeb: Basic support for CSS text-indent: <length-percentage> 2023-05-15 19:31:09 +02:00
ListItemBox.cpp LibWeb: Make the layout tree GC-allocated 2022-10-20 15:16:23 +02:00
ListItemBox.h LibWeb: Add fast_is<T>() for various types stood out in a profile 2023-03-11 10:46:26 +01:00
ListItemMarkerBox.cpp LibWeb: Support list-style-position 2023-06-03 05:54:49 +02:00
ListItemMarkerBox.h LibWeb: Support list-style-position 2023-06-03 05:54:49 +02:00
Node.cpp LibWeb: Add support for table caption 2023-06-10 07:09:11 +02:00
Node.h LibWeb: Remove Layout::TableBox 2023-05-29 14:12:29 +02:00
Progress.cpp LibWeb: Move "natural size" concept into Layout::Box 2023-06-09 20:37:51 +02:00
Progress.h LibWeb: Make a handful of layout node leaf classes final 2023-01-11 14:03:18 +01:00
RadioButton.cpp LibWeb: Move "natural size" concept into Layout::Box 2023-06-09 20:37:51 +02:00
RadioButton.h LibWeb: Make the paint tree GC-allocated 2023-01-11 12:55:00 +01:00
ReplacedBox.cpp LibWeb: Remove Layout::Node::set_inline() 2022-10-06 15:29:38 +02:00
ReplacedBox.h LibWeb: Move "natural size" concept into Layout::Box 2023-06-09 20:37:51 +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: Implement painting for svg text 2023-06-09 17:20:34 +02:00
SVGFormattingContext.h LibWeb: Let FormattingContext decide the automatic width of its root 2023-03-20 17:57:58 +01:00
SVGGeometryBox.cpp LibWeb: Allow SVG painting to escape out of a shadow tree 2023-06-03 05:58:00 +02:00
SVGGeometryBox.h LibWeb: Don't try to paint SVG elements transformed to zero size 2023-04-12 07:40:22 +02:00
SVGGraphicsBox.cpp LibWeb: Make SVG <g> elements generate a SVGGraphicsPaintable 2023-04-19 07:52:26 +02:00
SVGGraphicsBox.h LibWeb: Make SVG <g> elements generate a SVGGraphicsPaintable 2023-04-19 07:52:26 +02:00
SVGSVGBox.cpp LibWeb: Move "natural size" concept into Layout::Box 2023-06-09 20:37:51 +02:00
SVGSVGBox.h LibWeb: Support <svg> elements with display: block 2023-05-20 08:49:42 +02:00
SVGTextBox.cpp LibWeb: Implement painting for svg text 2023-06-09 17:20:34 +02:00
SVGTextBox.h LibWeb: Implement painting for svg text 2023-06-09 17:20:34 +02:00
TableFormattingContext.cpp LibWeb: Distribute cell contribution to all spanned columns 2023-06-10 07:10:06 +02:00
TableFormattingContext.h LibWeb: Add support for table caption 2023-06-10 07:09:11 +02:00
TableWrapper.cpp LibWeb: Override width calculation for table wrappers 2023-01-14 19:22:08 +01:00
TableWrapper.h LibWeb: Override width calculation for table wrappers 2023-01-14 19:22:08 +01:00
TextNode.cpp LibWeb: Make the paint tree GC-allocated 2023-01-11 12:55:00 +01:00
TextNode.h LibWeb: Make a handful of layout node leaf classes final 2023-01-11 14:03:18 +01:00
TreeBuilder.cpp LibWeb: Support list-style-position 2023-06-03 05:54:49 +02:00
TreeBuilder.h LibJS+LibWeb: Wrap raw JS::Cell*/& fields in GCPtr/NonnullGCPtr 2023-03-15 08:48:49 +01:00
VideoBox.cpp LibWeb: Move "natural size" concept into Layout::Box 2023-06-09 20:37:51 +02:00
VideoBox.h LibWeb: Create a basic layout node for HTMLVideoElement 2023-04-07 16:02:22 +02:00
Viewport.cpp LibWeb: Make StackingContext sorting a lot faster 2023-06-02 15:00:38 +02:00
Viewport.h LibWeb: Rename Layout::InitialContainingBlock to Layout::Viewport 2023-02-28 12:21:56 +01:00