1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-07-25 14:37:46 +00:00

LibWeb: Take used width into account in flex item intrinsic cross sizing

When calculating intrinsic heights of flex items, we should use the used
width if available.

This primarily matters for item cross sizing, since that happens after
we've determined the item's main size.
This commit is contained in:
Andreas Kling 2023-01-07 19:32:12 +01:00
parent ab2f105344
commit 15c0efede9

View file

@ -1868,12 +1868,18 @@ CSSPixels FlexFormattingContext::calculate_max_content_main_size(FlexItem const&
CSSPixels FlexFormattingContext::calculate_min_content_cross_size(FlexItem const& item) const
{
return is_row_layout() ? calculate_min_content_height(item.box, m_available_space_for_items->space.width) : calculate_min_content_width(item.box);
if (is_row_layout()) {
return calculate_min_content_height(item.box, item.main_size.has_value() ? AvailableSize::make_definite(item.main_size.value()) : AvailableSize::make_indefinite());
}
return calculate_min_content_width(item.box);
}
CSSPixels FlexFormattingContext::calculate_max_content_cross_size(FlexItem const& item) const
{
return is_row_layout() ? calculate_max_content_height(item.box, m_available_space_for_items->space.width) : calculate_max_content_width(item.box);
if (is_row_layout()) {
return calculate_max_content_height(item.box, item.main_size.has_value() ? AvailableSize::make_definite(item.main_size.value()) : AvailableSize::make_indefinite());
}
return calculate_max_content_width(item.box);
}
// https://drafts.csswg.org/css-flexbox-1/#stretched