1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-07-26 16:17:45 +00:00

LibWeb: Fully resolve min- and max-sizes for flex items

We do this by piggybacking on FormattingContext helpers instead of
reinventing the wheel in FlexFormattingContext.

This fixes an issue where `min-width: fit-content` (and other
layout-dependent values) were treated as 0 on flex items.

This makes the cookie banners look okay on https://microsoft.com/ :^)
This commit is contained in:
Andreas Kling 2023-07-17 07:54:15 +02:00
parent 5d94bb4fcc
commit 8dd489da61
4 changed files with 102 additions and 75 deletions

View file

@ -124,11 +124,11 @@ private:
CSSPixels inner_cross_size(Box const&) const;
bool has_main_min_size(Box const&) const;
bool has_cross_min_size(Box const&) const;
CSSPixels specified_main_max_size(Box const&) const;
CSSPixels specified_cross_max_size(Box const&) const;
CSSPixels specified_main_max_size(Box const&, AvailableSpace const&) const;
CSSPixels specified_cross_max_size(Box const&, AvailableSpace const&) const;
bool is_cross_auto(Box const&) const;
CSSPixels specified_main_min_size(Box const&) const;
CSSPixels specified_cross_min_size(Box const&) const;
CSSPixels specified_main_min_size(Box const&, AvailableSpace const&) const;
CSSPixels specified_cross_min_size(Box const&, AvailableSpace const&) const;
bool has_main_max_size(Box const&) const;
bool has_cross_max_size(Box const&) const;
CSSPixels automatic_minimum_size(FlexItem const&) const;
@ -143,8 +143,8 @@ private:
CSS::Size const& computed_cross_min_size(Box const&) const;
CSS::Size const& computed_cross_max_size(Box const&) const;
CSSPixels get_pixel_width(Box const&, CSS::Size const&) const;
CSSPixels get_pixel_height(Box const&, CSS::Size const&) const;
CSSPixels get_pixel_width(Box const&, AvailableSpace const&, CSS::Size const&) const;
CSSPixels get_pixel_height(Box const&, AvailableSpace const&, CSS::Size const&) const;
bool flex_item_is_stretched(FlexItem const&) const;