servo/components/layout_2020
Oriol Brufau 02c10fc502
layout: Refine the check for dependending on available space (#34907)
When laying out a block-level box that avoids floats, if we know that
its size doesn't depend on the available space, we can take a fast path
and only lay it out once. If its size depends on the available space,
we may have to lay it out multiple times, which can be slower.

This patch improves the check for this dependency on the available space.
For example, `min-width: 200px; width: 100px; max-width: stretch` was
previously considered to depend on the available space because of
`max-width`. However, `max-width` is irrelevant when the min size is
greater than the preferred size.

Signed-off-by: Oriol Brufau <obrufau@igalia.com>
2025-01-08 18:22:01 +00:00
..
display_list Elide lifetimes where possible after rustup (#34824) 2025-01-03 18:54:44 +00:00
flexbox Elide lifetimes where possible after rustup (#34824) 2025-01-03 18:54:44 +00:00
flow layout: Refine the check for dependending on available space (#34907) 2025-01-08 18:22:01 +00:00
fragment_tree Add BoxFragment::is_inline_box() (#34233) 2024-11-12 15:50:20 +00:00
table layout: Assert that GRIDMIN <= GRIDMAX (#34892) 2025-01-08 13:00:30 +00:00
taffy layout: Don't use content_inline_size_for_table in taffy (#34891) 2025-01-08 14:51:14 +00:00
tests Update deprecated use of PanicInfo to PanicHookInfo (#34659) 2024-12-17 03:50:26 +00:00
Cargo.toml layout: Fix CSS attr() function case sensitivity matching (#34574) 2024-12-13 17:29:52 +00:00
cell.rs Strict import formatting (grouping and granularity) (#30325) 2023-09-11 19:16:54 +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 Treat % as 0 for the min-content contribution of replaced elements (#32103) 2025-01-06 14:43:30 +00:00
geom.rs layout: Refine the check for dependending on available space (#34907) 2025-01-08 18:22:01 +00:00
layout_box_base.rs Distinguish cached inline_content_sizes() from uncached ones (#34595) 2024-12-12 15:39:51 +00:00
layout_debug.rs clippy: Fix warnings in shared and config, fonts, layout, and layout_2020 components (#32674) 2024-07-04 14:18:58 +00:00
lib.rs Elide lifetimes where possible after rustup (#34824) 2025-01-03 18:54:44 +00:00
lists.rs layout: Add LayoutBoxBase and use it for IndependentFormattingContext (#34507) 2024-12-07 19:12:25 +00:00
positioned.rs Elide lifetimes where possible after rustup (#34824) 2025-01-03 18:54:44 +00:00
query.rs Correct a variety of documentation issues (#34786) 2024-12-29 10:37:57 +00:00
replaced.rs Refactor box size computation (#34671) 2024-12-19 00:52:18 +00:00
sizing.rs Treat % as 0 for the min-content contribution of replaced elements (#32103) 2025-01-06 14:43:30 +00:00
style_ext.rs layout: Implement keyword sizes for block layout heuristics (#34695) 2024-12-23 11:00:37 +00:00
traversal.rs Elide lifetimes where possible after rustup (#34824) 2025-01-03 18:54:44 +00:00