servo/components/layout_2020
Martin Robinson 6b04bc6263
layout: Take percentage columns into account when sizing table grid min and max (#35167)
The specification doesn't say how to deal with percentages when
determining the minimum and maximum size of a table grid, so follow the
approach that Chromium uses.

Essentially, figure out the "missing" percentage from the non-percentage
columns and then use that to work backwards to fine the size of the
percentage ones.

This change is larger than one might expect, because this percentage
approach shouldn't happen for tables that are descendants of a flex,
grid or table container (except when there is an interceding absolute).
We have to pass this information down when building the box tree. This
will also make it easier to improve propagated text decorations in the
future.

Signed-off-by: Martin Robinson <mrobinson@igalia.com>
Co-authored-by: Oriol Brufau <obrufau@igalia.com>
2025-01-27 15:04:37 +00:00
..
display_list layout: simplify CollapsedBorderLine (#35125) 2025-01-23 12:38:24 +00:00
flexbox layout: Take percentage columns into account when sizing table grid min and max (#35167) 2025-01-27 15:04:37 +00:00
flow layout: Take percentage columns into account when sizing table grid min and max (#35167) 2025-01-27 15:04:37 +00:00
fragment_tree Make naming of variables consistent with SpecificLayoutInfo (#35104) 2025-01-21 17:28:14 +00:00
table layout: Take percentage columns into account when sizing table grid min and max (#35167) 2025-01-27 15:04:37 +00:00
taffy layout: Take percentage columns into account when sizing table grid min and max (#35167) 2025-01-27 15:04:37 +00:00
tests Update deprecated use of PanicInfo to PanicHookInfo (#34659) 2024-12-17 03:50:26 +00:00
Cargo.toml layout: Remove the obsolete layout tracing functionality (#35001) 2025-01-15 13:24:14 +00:00
cell.rs layout: Remove the obsolete layout tracing functionality (#35001) 2025-01-15 13:24:14 +00:00
construct_modern.rs layout: Take percentage columns into account when sizing table grid min and max (#35167) 2025-01-27 15:04:37 +00:00
context.rs script: Do not set up an IPC route for every image load (#35041) 2025-01-25 09:39:04 +00:00
dom.rs layout: Clean up inline layout data types a bit (#34563) 2024-12-11 14:40:34 +00:00
dom_traversal.rs layout: Lay out Shadow DOM elements (#34701) 2024-12-19 19:24:42 +00:00
formatting_contexts.rs layout: Take percentage columns into account when sizing table grid min and max (#35167) 2025-01-27 15:04:37 +00:00
geom.rs layout: Improve fixed table layout (#35170) 2025-01-27 15:02:32 +00:00
layout_box_base.rs layout: Remove the obsolete layout tracing functionality (#35001) 2025-01-15 13:24:14 +00:00
lib.rs layout: Take percentage columns into account when sizing table grid min and max (#35167) 2025-01-27 15:04:37 +00:00
lists.rs layout: Add LayoutBoxBase and use it for IndependentFormattingContext (#34507) 2024-12-07 19:12:25 +00:00
positioned.rs layout: Take percentage columns into account when sizing table grid min and max (#35167) 2025-01-27 15:04:37 +00:00
query.rs Make naming of variables consistent with SpecificLayoutInfo (#35104) 2025-01-21 17:28:14 +00:00
replaced.rs script: Do not set up an IPC route for every image load (#35041) 2025-01-25 09:39:04 +00:00
sizing.rs layout: Remove some unneeded is_table parameters (#35064) 2025-01-19 00:25:53 +00:00
style_ext.rs layout: Hide collapsed borders crossed by spanning cells (#35129) 2025-01-23 14:23:03 +00:00
traversal.rs Elide lifetimes where possible after rustup (#34824) 2025-01-03 18:54:44 +00:00