LibWeb: Fix three accidental float truncations

We were doing this:

    max(0, some_floating_point_value)

This returns an `int` result based on the type of `0`, oops!
This commit is contained in:
Andreas Kling 2022-09-07 13:25:17 +02:00
parent 21a89b65fc
commit a42506c8b9
Notes: sideshowbarker 2024-07-17 10:31:19 +09:00
2 changed files with 3 additions and 3 deletions

View file

@ -738,7 +738,7 @@ void FlexFormattingContext::determine_flex_base_size_and_hypothetical_main_size(
// The hypothetical main size is the items flex base size clamped according to its used min and max main sizes (and flooring the content box size at zero).
auto clamp_min = has_main_min_size(child_box) ? specified_main_min_size(child_box) : automatic_minimum_size(flex_item);
auto clamp_max = has_main_max_size(child_box) ? specified_main_max_size(child_box) : NumericLimits<float>::max();
flex_item.hypothetical_main_size = max(0, css_clamp(flex_item.flex_base_size, clamp_min, clamp_max));
flex_item.hypothetical_main_size = max(0.0f, css_clamp(flex_item.flex_base_size, clamp_min, clamp_max));
}
// https://drafts.csswg.org/css-flexbox-1/#min-size-auto

View file

@ -286,7 +286,7 @@ float FormattingContext::compute_auto_height_for_block_level_element(LayoutState
continue;
// FIXME: Handle margin collapsing.
return max(0, child_box_state.offset.y() + child_box_state.content_height() + child_box_state.margin_box_bottom());
return max(0.0f, child_box_state.offset.y() + child_box_state.content_height() + child_box_state.margin_box_bottom());
}
}
@ -354,7 +354,7 @@ float FormattingContext::compute_auto_height_for_block_formatting_context_root(L
return IterationDecision::Continue;
});
return max(0, bottom.value_or(0) - top.value_or(0));
return max(0.0f, bottom.value_or(0) - top.value_or(0));
}
// 10.3.2 Inline, replaced elements, https://www.w3.org/TR/CSS22/visudet.html#inline-replaced-width