1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-06-01 03:08:13 +00:00

LibWeb: Align calculate_min/max_content_contribution with the spec

This change brings more spec compliant implementation of functions to
calculate min/max contributions of grid items in containing block size.
This commit is contained in:
Aliaksandr Kalenik 2023-05-13 05:51:39 +03:00 committed by Andreas Kling
parent d2cc8baf41
commit 4ef997c47c
2 changed files with 98 additions and 33 deletions

View file

@ -82,6 +82,7 @@ private:
CSS::GridSize min_track_sizing_function;
CSS::GridSize max_track_sizing_function;
CSSPixels base_size { 0 };
bool has_definite_base_size { false };
CSSPixels growth_limit { 0 };
CSSPixels space_to_distribute { 0 };
CSSPixels planned_increase { 0 };
@ -173,7 +174,16 @@ private:
void stretch_auto_tracks(AvailableSize const& available_size, Vector<TemporaryTrack>& tracks);
void run_track_sizing(GridDimension const dimension, AvailableSpace const& available_space, Vector<TemporaryTrack>& tracks);
CSSPixels content_based_minimum_height(GridItem const&);
CSS::Size const& get_item_preferred_size(GridItem const&, GridDimension const) const;
CSSPixels calculate_min_content_size(GridItem const&, GridDimension const) const;
CSSPixels calculate_max_content_size(GridItem const&, GridDimension const) const;
CSSPixels calculate_min_content_contribution(GridItem const&, GridDimension const) const;
CSSPixels calculate_max_content_contribution(GridItem const&, GridDimension const) const;
CSSPixels containing_block_size_for_item(GridItem const&, GridDimension const) const;
AvailableSpace get_available_space_for_item(GridItem const&) const;
};
}