LibWeb: Honor the flexbox spec's "automatic minimum size" everywhere

`min-width: auto` and `min-height: auto` have special behavior on flex
items. We already handled it in many cases but there were two places
where it was incorrectly treated as 0. This fixes that.
This commit is contained in:
Andreas Kling 2022-07-19 12:11:57 +02:00
commit c517dfde12
Notes: sideshowbarker 2024-07-17 08:46:02 +09:00

View file

@ -1493,7 +1493,7 @@ float FlexFormattingContext::calculate_main_min_content_contribution(FlexItem co
return outer_min_content_size;
}
auto clamp_min = has_main_min_size(item.box) ? specified_main_min_size(item.box) : 0;
auto clamp_min = has_main_min_size(item.box) ? specified_main_min_size(item.box) : automatic_minimum_size(item);
auto clamp_max = has_main_max_size(item.box) ? specified_main_max_size(item.box) : NumericLimits<float>::max();
auto unclamped_preferred_size = resolved_definite_main_size(item.box);
auto clamped_preferred_size = css_clamp(unclamped_preferred_size, clamp_min, clamp_max);
@ -1517,7 +1517,7 @@ float FlexFormattingContext::calculate_main_max_content_contribution(FlexItem co
return outer_max_content_size;
}
auto clamp_min = has_main_min_size(item.box) ? specified_main_min_size(item.box) : 0;
auto clamp_min = has_main_min_size(item.box) ? specified_main_min_size(item.box) : automatic_minimum_size(item);
auto clamp_max = has_main_max_size(item.box) ? specified_main_max_size(item.box) : NumericLimits<float>::max();
auto unclamped_preferred_size = resolved_definite_main_size(item.box);
auto clamped_preferred_size = css_clamp(unclamped_preferred_size, clamp_min, clamp_max);