1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-05-31 15:48:12 +00:00

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
parent 789f258412
commit c517dfde12

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);