diff --git a/Userland/Libraries/LibWeb/Layout/GridFormattingContext.cpp b/Userland/Libraries/LibWeb/Layout/GridFormattingContext.cpp index b0d2b87f25..321d17149f 100644 --- a/Userland/Libraries/LibWeb/Layout/GridFormattingContext.cpp +++ b/Userland/Libraries/LibWeb/Layout/GridFormattingContext.cpp @@ -45,27 +45,6 @@ size_t GridFormattingContext::count_of_gap_tracks(Vector const& return count; } -CSSPixels GridFormattingContext::resolve_size(CSS::Size const& size, AvailableSize const& available_size) -{ - if (size.is_calculated()) { - if (size.calculated().contains_percentage()) { - if (!available_size.is_definite()) - return 0; - return size.calculated().resolve_length_percentage(grid_container(), CSS::Length::make_px(available_size.to_px())).value_or(CSS::Length::make_auto()).to_px(grid_container()); - } - return size.calculated().resolve_length(grid_container())->to_px(grid_container()); - } - if (size.is_length()) { - return size.length().to_px(grid_container()); - } - if (size.is_percentage()) { - if (!available_size.is_definite()) - return 0; - return available_size.to_px() * size.percentage().as_fraction(); - } - return 0; -} - int GridFormattingContext::get_count_of_tracks(Vector const& track_list, AvailableSpace const& available_space) { auto track_count = 0; @@ -633,12 +612,16 @@ void GridFormattingContext::initialize_grid_tracks(AvailableSpace const& availab // the specified size, which is spanned by any grid items that span across its corresponding grid // line. if (!grid_container().computed_values().column_gap().is_auto()) { - for (int column_index = 1; column_index < (m_occupation_grid.column_count() * 2) - 1; column_index += 2) - m_grid_columns.insert(column_index, TemporaryTrack(resolve_size(grid_container().computed_values().column_gap(), available_space.width), true)); + for (int column_index = 1; column_index < (m_occupation_grid.column_count() * 2) - 1; column_index += 2) { + auto column_gap_width = grid_container().computed_values().column_gap().resolved(grid_container(), CSS::Length::make_px(available_space.width.to_px())); + m_grid_columns.insert(column_index, TemporaryTrack(column_gap_width.to_px(grid_container()), true)); + } } if (!grid_container().computed_values().row_gap().is_auto()) { - for (int row_index = 1; row_index < (m_occupation_grid.row_count() * 2) - 1; row_index += 2) - m_grid_rows.insert(row_index, TemporaryTrack(resolve_size(grid_container().computed_values().row_gap(), available_space.height), true)); + for (int row_index = 1; row_index < (m_occupation_grid.row_count() * 2) - 1; row_index += 2) { + auto column_gap_height = grid_container().computed_values().row_gap().resolved(grid_container(), CSS::Length::make_px(available_space.height.to_px())); + m_grid_rows.insert(row_index, TemporaryTrack(column_gap_height.to_px(grid_container()), true)); + } } } diff --git a/Userland/Libraries/LibWeb/Layout/GridFormattingContext.h b/Userland/Libraries/LibWeb/Layout/GridFormattingContext.h index e91471d665..627931baa0 100644 --- a/Userland/Libraries/LibWeb/Layout/GridFormattingContext.h +++ b/Userland/Libraries/LibWeb/Layout/GridFormattingContext.h @@ -150,7 +150,6 @@ private: int get_line_index_by_line_name(String const& line_name, CSS::GridTrackSizeList); CSSPixels resolve_definite_track_size(CSS::GridSize const&, AvailableSpace const&); size_t count_of_gap_tracks(Vector const& tracks) const; - CSSPixels resolve_size(CSS::Size const&, AvailableSize const&); int count_of_repeated_auto_fill_or_fit_tracks(Vector const& track_list, AvailableSpace const&); int get_count_of_tracks(Vector const&, AvailableSpace const&);