mirror of
https://github.com/LadybirdBrowser/ladybird.git
synced 2025-04-20 19:45:12 +00:00
LibWeb: Move preferred size getter into GridItem method in GFC
No behavior change intended.
This commit is contained in:
parent
c40f88ddcb
commit
2ce40b5687
Notes:
github-actions[bot]
2025-03-21 14:20:52 +00:00
Author: https://github.com/kalenikaliaksandr Commit: https://github.com/LadybirdBrowser/ladybird/commit/2ce40b5687a Pull-request: https://github.com/LadybirdBrowser/ladybird/pull/4028
2 changed files with 10 additions and 14 deletions
|
@ -2369,13 +2369,6 @@ CSSPixels GridFormattingContext::calculate_grid_container_maximum_size(GridDimen
|
|||
return calculate_inner_height(grid_container(), m_available_space.value(), computed_values.max_height());
|
||||
}
|
||||
|
||||
CSS::Size const& GridFormattingContext::get_item_preferred_size(GridItem const& item, GridDimension const dimension) const
|
||||
{
|
||||
if (dimension == GridDimension::Column)
|
||||
return item.box->computed_values().width();
|
||||
return item.box->computed_values().height();
|
||||
}
|
||||
|
||||
CSSPixels GridFormattingContext::calculate_min_content_size(GridItem const& item, GridDimension const dimension) const
|
||||
{
|
||||
if (dimension == GridDimension::Column) {
|
||||
|
@ -2430,7 +2423,7 @@ CSSPixels GridFormattingContext::calculate_min_content_contribution(GridItem con
|
|||
return min(result, maxium_size);
|
||||
}
|
||||
|
||||
auto preferred_size = get_item_preferred_size(item, dimension);
|
||||
auto preferred_size = item.preferred_size(dimension);
|
||||
if (dimension == GridDimension::Column) {
|
||||
auto width = calculate_inner_width(item.box, m_available_space->width, preferred_size);
|
||||
return min(item.add_margin_box_sizes(width, dimension), maxium_size);
|
||||
|
@ -2454,7 +2447,7 @@ CSSPixels GridFormattingContext::calculate_max_content_contribution(GridItem con
|
|||
maxium_size = css_maximum_size.length().to_px(item.box);
|
||||
}
|
||||
|
||||
auto preferred_size = get_item_preferred_size(item, dimension);
|
||||
auto preferred_size = item.preferred_size(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);
|
||||
auto result = item.add_margin_box_sizes(fit_content_size, dimension);
|
||||
|
@ -2535,7 +2528,7 @@ Optional<CSSPixels> GridFormattingContext::specified_size_suggestion(GridItem co
|
|||
if (has_definite_preferred_size) {
|
||||
// FIXME: consider margins, padding and borders because it is outer size.
|
||||
auto containing_block_size = containing_block_size_for_item(item, dimension);
|
||||
return get_item_preferred_size(item, dimension).to_px(item.box, containing_block_size);
|
||||
return item.preferred_size(dimension).to_px(item.box, containing_block_size);
|
||||
}
|
||||
|
||||
return {};
|
||||
|
@ -2551,7 +2544,7 @@ Optional<CSSPixels> GridFormattingContext::transferred_size_suggestion(GridItem
|
|||
return {};
|
||||
}
|
||||
|
||||
CSS::Size const& preferred_size_in_opposite_axis = get_item_preferred_size(item, dimension == GridDimension::Column ? GridDimension::Row : GridDimension::Column);
|
||||
CSS::Size const& preferred_size_in_opposite_axis = item.preferred_size(dimension == GridDimension::Column ? GridDimension::Row : GridDimension::Column);
|
||||
if (preferred_size_in_opposite_axis.is_length()) {
|
||||
auto opposite_axis_size = preferred_size_in_opposite_axis.length().to_px(item.box);
|
||||
// FIXME: Clamp by opposite-axis minimum and maximum sizes if they are definite
|
||||
|
@ -2651,7 +2644,7 @@ CSSPixels GridFormattingContext::calculate_minimum_contribution(GridItem const&
|
|||
// contribution is its min-content contribution. Because the minimum contribution often depends on
|
||||
// the size of the item’s content, it is considered a type of intrinsic size contribution.
|
||||
|
||||
auto preferred_size = get_item_preferred_size(item, dimension);
|
||||
auto preferred_size = item.preferred_size(dimension);
|
||||
auto should_treat_preferred_size_as_auto = [&] {
|
||||
if (dimension == GridDimension::Column)
|
||||
return should_treat_width_as_auto(item.box, get_available_space_for_item(item));
|
||||
|
|
|
@ -83,6 +83,11 @@ struct GridItem {
|
|||
{
|
||||
return dimension == GridDimension::Column ? computed_values().max_width() : computed_values().max_height();
|
||||
}
|
||||
|
||||
CSS::Size const& preferred_size(GridDimension dimension) const
|
||||
{
|
||||
return dimension == GridDimension::Column ? computed_values().width() : computed_values().height();
|
||||
}
|
||||
};
|
||||
|
||||
enum class FoundUnoccupiedPlace {
|
||||
|
@ -333,8 +338,6 @@ private:
|
|||
|
||||
CSSPixels calculate_grid_container_maximum_size(GridDimension const) 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;
|
||||
|
||||
|
|
Loading…
Add table
Reference in a new issue