1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-07-26 06:37:35 +00:00

LibWeb: Make stretch-fit return 0 when the available size is indefinite

The spec says the result of this algorithm is undefined in such cases,
and it appears that other engines yield a zero size.

More importantly, this prevents us from leaking a non-finite value into
the layout tree.
This commit is contained in:
Andreas Kling 2023-06-13 06:43:19 +02:00
parent aa97c4675f
commit 434df52b91
3 changed files with 13 additions and 0 deletions

View file

@ -1436,7 +1436,11 @@ CSSPixels FormattingContext::calculate_stretch_fit_width(Box const& box, Availab
{
// The size a box would take if its outer size filled the available space in the given axis;
// in other words, the stretch fit into the available space, if that is definite.
// Undefined if the available space is indefinite.
if (!available_width.is_definite())
return 0;
auto const& box_state = m_state.get(box);
return available_width.to_px()
- box_state.margin_left