From 0bbc54c20088e9bdf97f282c959ede84b112c46f Mon Sep 17 00:00:00 2001 From: Andreas Kling Date: Wed, 25 Jan 2023 13:03:38 +0100 Subject: [PATCH] LibWeb: Always pass *some* available width to flex item intrinsic sizing If we have determined a definite width for the item, we can use that. Otherwise, use the "space available for items" width as available width. --- .../Libraries/LibWeb/Layout/FlexFormattingContext.cpp | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/Userland/Libraries/LibWeb/Layout/FlexFormattingContext.cpp b/Userland/Libraries/LibWeb/Layout/FlexFormattingContext.cpp index 02dc6b2755..22e38489d9 100644 --- a/Userland/Libraries/LibWeb/Layout/FlexFormattingContext.cpp +++ b/Userland/Libraries/LibWeb/Layout/FlexFormattingContext.cpp @@ -1849,7 +1849,7 @@ CSSPixels FlexFormattingContext::calculate_min_content_main_size(FlexItem const& if (is_row_layout()) { return calculate_min_content_width(item.box); } - return calculate_min_content_height(item.box, item.cross_size.has_value() ? AvailableSize::make_definite(item.cross_size.value()) : AvailableSize::make_indefinite()); + return calculate_min_content_height(item.box, item.cross_size.has_value() ? AvailableSize::make_definite(item.cross_size.value()) : m_available_space_for_items->cross); } CSSPixels FlexFormattingContext::calculate_max_content_main_size(FlexItem const& item) const @@ -1857,7 +1857,7 @@ CSSPixels FlexFormattingContext::calculate_max_content_main_size(FlexItem const& if (is_row_layout()) { return calculate_max_content_width(item.box); } - return calculate_max_content_height(item.box, item.cross_size.has_value() ? AvailableSize::make_definite(item.cross_size.value()) : AvailableSize::make_indefinite()); + return calculate_max_content_height(item.box, item.cross_size.has_value() ? AvailableSize::make_definite(item.cross_size.value()) : m_available_space_for_items->cross); } CSSPixels FlexFormattingContext::calculate_fit_content_main_size(FlexItem const& item) const @@ -1875,7 +1875,7 @@ CSSPixels FlexFormattingContext::calculate_fit_content_cross_size(FlexItem const CSSPixels FlexFormattingContext::calculate_min_content_cross_size(FlexItem const& item) const { 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_height(item.box, item.main_size.has_value() ? AvailableSize::make_definite(item.main_size.value()) : m_available_space_for_items->main); } return calculate_min_content_width(item.box); } @@ -1883,7 +1883,7 @@ CSSPixels FlexFormattingContext::calculate_min_content_cross_size(FlexItem const CSSPixels FlexFormattingContext::calculate_max_content_cross_size(FlexItem const& item) const { 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_height(item.box, item.main_size.has_value() ? AvailableSize::make_definite(item.main_size.value()) : m_available_space_for_items->main); } return calculate_max_content_width(item.box); }