servo/components/layout_2020
Oriol Brufau e2bb772669
layout: Limit content_inline_size_for_table override to collapsed columns (#35209)
A box is usually sized by the formatting context in which it participates.
However, tables have some special sizing behaviors that we implemented
with a `content_inline_size_for_table` override.

However, breaking the assumptions of the formatting context isn't great.
It was also bad for performance that we could try to layout a table
among floats even though it wouldn't en up fitting because of a larger
min-content size.

Therefore, this changes the logic so that formatting contexts use some
special sizing for tables, and then tables only override that amount
when there are collapsed columns. Eventually, we should try to remove
that case too, see https://github.com/w3c/csswg-drafts/issues/11408

Signed-off-by: Oriol Brufau <obrufau@igalia.com>
2025-02-05 00:35:59 +00:00
..
display_list layout: Don't let table grid boxes inherit display: inline-table (#35264) 2025-02-03 17:11:49 +00:00
flexbox layout: align-content with default value normal should behave as strech in flex container (#35178) 2025-02-03 08:27:55 +00:00
flow layout: Limit content_inline_size_for_table override to collapsed columns (#35209) 2025-02-05 00:35:59 +00:00
fragment_tree Make naming of variables consistent with SpecificLayoutInfo (#35104) 2025-01-21 17:28:14 +00:00
table layout: Limit content_inline_size_for_table override to collapsed columns (#35209) 2025-02-05 00:35:59 +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 Lay out the contents of slot elements (#35220) 2025-02-02 20:49:42 +00:00
formatting_contexts.rs layout: Limit content_inline_size_for_table override to collapsed columns (#35209) 2025-02-05 00:35:59 +00:00
geom.rs layout: Limit content_inline_size_for_table override to collapsed columns (#35209) 2025-02-05 00:35:59 +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: Limit content_inline_size_for_table override to collapsed columns (#35209) 2025-02-05 00:35:59 +00:00
query.rs Make naming of variables consistent with SpecificLayoutInfo (#35104) 2025-01-21 17:28:14 +00:00
replaced.rs layout: Limit content_inline_size_for_table override to collapsed columns (#35209) 2025-02-05 00:35:59 +00:00
sizing.rs layout: Remove some unneeded is_table parameters (#35064) 2025-01-19 00:25:53 +00:00
style_ext.rs Let resolve_color() take its parameter by reference (#35247) 2025-01-31 23:34:40 +00:00
traversal.rs Elide lifetimes where possible after rustup (#34824) 2025-01-03 18:54:44 +00:00