1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-07-25 03:47:35 +00:00

LibWeb: Handle fit-content in calculate_max_content_contribution in GFC

Fixes https://github.com/SerenityOS/serenity/issues/21569
This commit is contained in:
Aliaksandr Kalenik 2023-10-25 20:56:54 +02:00 committed by Andreas Kling
parent 04a4ffaa3d
commit 58f8068853
3 changed files with 41 additions and 3 deletions

View file

@ -2196,11 +2196,12 @@ CSSPixels GridFormattingContext::calculate_max_content_contribution(GridItem con
return should_treat_height_as_auto(item.box, available_space_for_item);
}();
if (should_treat_preferred_size_as_auto) {
return item.add_margin_box_sizes(calculate_max_content_size(item, dimension), dimension, m_state);
auto preferred_size = get_item_preferred_size(item, dimension);
if (should_treat_preferred_size_as_auto || preferred_size.is_fit_content()) {
auto fit_content_size = dimension == GridDimension::Column ? calculate_fit_content_width(item.box, available_space_for_item) : calculate_fit_content_height(item.box, available_space_for_item);
return item.add_margin_box_sizes(fit_content_size, dimension, m_state);
}
auto preferred_size = get_item_preferred_size(item, dimension);
auto containing_block_size = containing_block_size_for_item(item, dimension);
return item.add_margin_box_sizes(preferred_size.to_px(grid_container(), containing_block_size), dimension, m_state);
}