layout: Always floor the max-content size by the min-content size (#36571)

This is a follow-up to #36518, which only addressed inline formatting
contexts. However, flex formatting contexts had the same problem, so it
seems safer to address it in general.

Testing: this makes a WPT test pass
Fixes: #36570

Signed-off-by: Oriol Brufau <obrufau@igalia.com>
This commit is contained in:
Oriol Brufau 2025-04-17 08:36:05 -07:00 committed by GitHub
parent 594c04dc7c
commit 939355645e
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
4 changed files with 17 additions and 10 deletions

View file

@ -2287,14 +2287,8 @@ impl<'layout_data> ContentSizesComputation<'layout_data> {
}
self.forced_line_break();
// We might get a max-content size which is smaller than the min-content size,
// due to negative margins. So we need to adjust to avoid problems down the line.
// This is being discussed in <https://github.com/w3c/csswg-drafts/issues/12076>.
let mut sizes = self.paragraph;
sizes.max_content.max_assign(sizes.min_content);
InlineContentSizesResult {
sizes,
sizes: self.paragraph,
depends_on_block_constraints: self.depends_on_block_constraints,
}
}