servo/components/layout_2020
Martin Robinson c17668bb0e
layout: Improve distribution colspan cell inline size (#35095)
We previously tried to implement the [table specification algorithm] for
distributing the inline size of cells with `rowspan` > 1. This algorithm
isn't great though, so this change starts switching Servo to using an
algorithm like the one used in LayoutNG from blink. This leads to
improvements in test results.

Limitations:
 - Currently, non-fixed layout mode is handled, but a followup change will
   very likely addressed fixed mode tables.
 - Column merging is not handled at all.

Fixes #6578.

Signed-off-by: Martin Robinson <mrobinson@igalia.com>
Co-authored-by: Oriol Brufau <obrufau@igalia.com>
2025-01-21 13:29:55 +00:00
..
display_list layout: Paint collapsed table borders on their own (#35075) 2025-01-21 13:10:27 +00:00
flexbox layout: Respect alignment when sizing replaced abspos (#35085) 2025-01-20 13:25:00 +00:00
flow layout: Remove some unneeded is_table parameters (#35064) 2025-01-19 00:25:53 +00:00
fragment_tree layout: Paint collapsed table borders on their own (#35075) 2025-01-21 13:10:27 +00:00
table layout: Improve distribution colspan cell inline size (#35095) 2025-01-21 13:29:55 +00:00
taffy layout: Respect alignment when sizing replaced abspos (#35085) 2025-01-20 13:25:00 +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 Elide lifetimes where possible after rustup (#34824) 2025-01-03 18:54:44 +00:00
context.rs Elide lifetimes where possible after rustup (#34824) 2025-01-03 18:54:44 +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: Remove some unneeded is_table parameters (#35064) 2025-01-19 00:25:53 +00:00
geom.rs layout: Respect alignment when sizing replaced abspos (#35085) 2025-01-20 13:25:00 +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: Remove the obsolete layout tracing functionality (#35001) 2025-01-15 13:24:14 +00:00
lists.rs layout: Add LayoutBoxBase and use it for IndependentFormattingContext (#34507) 2024-12-07 19:12:25 +00:00
positioned.rs layout: Respect alignment when sizing replaced abspos (#35085) 2025-01-20 13:25:00 +00:00
query.rs layout: Make Fragment hold ArcRefCell inside (#34923) 2025-01-13 09:59:59 +00:00
replaced.rs layout: Respect alignment when sizing replaced abspos (#35085) 2025-01-20 13:25:00 +00:00
sizing.rs layout: Remove some unneeded is_table parameters (#35064) 2025-01-19 00:25:53 +00:00
style_ext.rs layout: Remove some unneeded is_table parameters (#35064) 2025-01-19 00:25:53 +00:00
traversal.rs Elide lifetimes where possible after rustup (#34824) 2025-01-03 18:54:44 +00:00