mirror of
https://github.com/RGBCube/serenity
synced 2025-07-25 18:07:34 +00:00
LibWeb: Remove available space param from track init methods in GFC
Let's consistently use available space from `m_available_space`. No behavior change expected.
This commit is contained in:
parent
9c72807976
commit
107bfbe283
2 changed files with 27 additions and 27 deletions
|
@ -71,7 +71,7 @@ CSSPixels GridFormattingContext::resolve_definite_track_size(CSS::GridSize const
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
int GridFormattingContext::get_count_of_tracks(Vector<CSS::ExplicitGridTrack> const& track_list, AvailableSpace const& available_space)
|
int GridFormattingContext::get_count_of_tracks(Vector<CSS::ExplicitGridTrack> const& track_list)
|
||||||
{
|
{
|
||||||
auto track_count = 0;
|
auto track_count = 0;
|
||||||
for (auto const& explicit_grid_track : track_list) {
|
for (auto const& explicit_grid_track : track_list) {
|
||||||
|
@ -84,13 +84,13 @@ int GridFormattingContext::get_count_of_tracks(Vector<CSS::ExplicitGridTrack> co
|
||||||
if (track_list.size() == 1
|
if (track_list.size() == 1
|
||||||
&& track_list.first().is_repeat()
|
&& track_list.first().is_repeat()
|
||||||
&& (track_list.first().repeat().is_auto_fill() || track_list.first().repeat().is_auto_fit())) {
|
&& (track_list.first().repeat().is_auto_fill() || track_list.first().repeat().is_auto_fit())) {
|
||||||
track_count = count_of_repeated_auto_fill_or_fit_tracks(track_list, available_space);
|
track_count = count_of_repeated_auto_fill_or_fit_tracks(track_list);
|
||||||
}
|
}
|
||||||
|
|
||||||
return track_count;
|
return track_count;
|
||||||
}
|
}
|
||||||
|
|
||||||
int GridFormattingContext::count_of_repeated_auto_fill_or_fit_tracks(Vector<CSS::ExplicitGridTrack> const& track_list, AvailableSpace const& available_space)
|
int GridFormattingContext::count_of_repeated_auto_fill_or_fit_tracks(Vector<CSS::ExplicitGridTrack> const& track_list)
|
||||||
{
|
{
|
||||||
// https://www.w3.org/TR/css-grid-2/#auto-repeat
|
// https://www.w3.org/TR/css-grid-2/#auto-repeat
|
||||||
// 7.2.3.2. Repeat-to-fill: auto-fill and auto-fit repetitions
|
// 7.2.3.2. Repeat-to-fill: auto-fill and auto-fit repetitions
|
||||||
|
@ -112,22 +112,22 @@ int GridFormattingContext::count_of_repeated_auto_fill_or_fit_tracks(Vector<CSS:
|
||||||
auto track_sizing_function = explicit_grid_track;
|
auto track_sizing_function = explicit_grid_track;
|
||||||
if (track_sizing_function.is_minmax()) {
|
if (track_sizing_function.is_minmax()) {
|
||||||
if (track_sizing_function.minmax().max_grid_size().is_definite() && !track_sizing_function.minmax().min_grid_size().is_definite())
|
if (track_sizing_function.minmax().max_grid_size().is_definite() && !track_sizing_function.minmax().min_grid_size().is_definite())
|
||||||
sum_of_grid_track_sizes += resolve_definite_track_size(track_sizing_function.minmax().max_grid_size(), available_space);
|
sum_of_grid_track_sizes += resolve_definite_track_size(track_sizing_function.minmax().max_grid_size(), *m_available_space);
|
||||||
else if (track_sizing_function.minmax().min_grid_size().is_definite() && !track_sizing_function.minmax().max_grid_size().is_definite())
|
else if (track_sizing_function.minmax().min_grid_size().is_definite() && !track_sizing_function.minmax().max_grid_size().is_definite())
|
||||||
sum_of_grid_track_sizes += resolve_definite_track_size(track_sizing_function.minmax().min_grid_size(), available_space);
|
sum_of_grid_track_sizes += resolve_definite_track_size(track_sizing_function.minmax().min_grid_size(), *m_available_space);
|
||||||
else if (track_sizing_function.minmax().min_grid_size().is_definite() && track_sizing_function.minmax().max_grid_size().is_definite())
|
else if (track_sizing_function.minmax().min_grid_size().is_definite() && track_sizing_function.minmax().max_grid_size().is_definite())
|
||||||
sum_of_grid_track_sizes += min(resolve_definite_track_size(track_sizing_function.minmax().min_grid_size(), available_space), resolve_definite_track_size(track_sizing_function.minmax().max_grid_size(), available_space));
|
sum_of_grid_track_sizes += min(resolve_definite_track_size(track_sizing_function.minmax().min_grid_size(), *m_available_space), resolve_definite_track_size(track_sizing_function.minmax().max_grid_size(), *m_available_space));
|
||||||
} else {
|
} else {
|
||||||
sum_of_grid_track_sizes += min(resolve_definite_track_size(track_sizing_function.grid_size(), available_space), resolve_definite_track_size(track_sizing_function.grid_size(), available_space));
|
sum_of_grid_track_sizes += min(resolve_definite_track_size(track_sizing_function.grid_size(), *m_available_space), resolve_definite_track_size(track_sizing_function.grid_size(), *m_available_space));
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!column_gap.is_auto())
|
if (!column_gap.is_auto())
|
||||||
sum_of_grid_track_sizes += column_gap.to_px(grid_container(), available_space.width.to_px_or_zero());
|
sum_of_grid_track_sizes += column_gap.to_px(grid_container(), m_available_space->width.to_px_or_zero());
|
||||||
}
|
}
|
||||||
|
|
||||||
if (sum_of_grid_track_sizes == 0)
|
if (sum_of_grid_track_sizes == 0)
|
||||||
return 0;
|
return 0;
|
||||||
return max(1, (get_free_space(available_space, GridDimension::Column).to_px_or_zero() / sum_of_grid_track_sizes).to_int());
|
return max(1, (get_free_space(*m_available_space, GridDimension::Column).to_px_or_zero() / sum_of_grid_track_sizes).to_int());
|
||||||
|
|
||||||
// For the purpose of finding the number of auto-repeated tracks in a standalone axis, the UA must
|
// For the purpose of finding the number of auto-repeated tracks in a standalone axis, the UA must
|
||||||
// floor the track size to a UA-specified value to avoid division by zero. It is suggested that this
|
// floor the track size to a UA-specified value to avoid division by zero. It is suggested that this
|
||||||
|
@ -628,9 +628,9 @@ void GridFormattingContext::place_item_with_no_declared_position(Box const& chil
|
||||||
.column_span = column_span });
|
.column_span = column_span });
|
||||||
}
|
}
|
||||||
|
|
||||||
void GridFormattingContext::initialize_grid_tracks_from_definition(AvailableSpace const& available_space, Vector<CSS::ExplicitGridTrack> const& tracks_definition, Vector<GridTrack>& tracks)
|
void GridFormattingContext::initialize_grid_tracks_from_definition(Vector<CSS::ExplicitGridTrack> const& tracks_definition, Vector<GridTrack>& tracks)
|
||||||
{
|
{
|
||||||
auto track_count = get_count_of_tracks(tracks_definition, available_space);
|
auto track_count = get_count_of_tracks(tracks_definition);
|
||||||
for (auto const& track_definition : tracks_definition) {
|
for (auto const& track_definition : tracks_definition) {
|
||||||
auto repeat_count = (track_definition.is_repeat() && track_definition.repeat().is_default()) ? track_definition.repeat().repeat_count() : 1;
|
auto repeat_count = (track_definition.is_repeat() && track_definition.repeat().is_default()) ? track_definition.repeat().repeat_count() : 1;
|
||||||
if (track_definition.is_repeat()) {
|
if (track_definition.is_repeat()) {
|
||||||
|
@ -655,7 +655,7 @@ void GridFormattingContext::initialize_grid_tracks_from_definition(AvailableSpac
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void GridFormattingContext::initialize_grid_tracks_for_columns_and_rows(AvailableSpace const& available_space)
|
void GridFormattingContext::initialize_grid_tracks_for_columns_and_rows()
|
||||||
{
|
{
|
||||||
auto const& grid_computed_values = grid_container().computed_values();
|
auto const& grid_computed_values = grid_container().computed_values();
|
||||||
|
|
||||||
|
@ -672,7 +672,7 @@ void GridFormattingContext::initialize_grid_tracks_for_columns_and_rows(Availabl
|
||||||
}
|
}
|
||||||
implicit_column_index++;
|
implicit_column_index++;
|
||||||
}
|
}
|
||||||
initialize_grid_tracks_from_definition(available_space, grid_computed_values.grid_template_columns().track_list(), m_grid_columns);
|
initialize_grid_tracks_from_definition(grid_computed_values.grid_template_columns().track_list(), m_grid_columns);
|
||||||
for (size_t column_index = m_grid_columns.size(); column_index < m_occupation_grid.column_count(); column_index++) {
|
for (size_t column_index = m_grid_columns.size(); column_index < m_occupation_grid.column_count(); column_index++) {
|
||||||
if (grid_auto_columns.size() > 0) {
|
if (grid_auto_columns.size() > 0) {
|
||||||
auto definition = grid_auto_columns[implicit_column_index % grid_auto_columns.size()];
|
auto definition = grid_auto_columns[implicit_column_index % grid_auto_columns.size()];
|
||||||
|
@ -696,7 +696,7 @@ void GridFormattingContext::initialize_grid_tracks_for_columns_and_rows(Availabl
|
||||||
}
|
}
|
||||||
implicit_row_index++;
|
implicit_row_index++;
|
||||||
}
|
}
|
||||||
initialize_grid_tracks_from_definition(available_space, grid_computed_values.grid_template_rows().track_list(), m_grid_rows);
|
initialize_grid_tracks_from_definition(grid_computed_values.grid_template_rows().track_list(), m_grid_rows);
|
||||||
for (size_t row_index = m_grid_rows.size(); row_index < m_occupation_grid.row_count(); row_index++) {
|
for (size_t row_index = m_grid_rows.size(); row_index < m_occupation_grid.row_count(); row_index++) {
|
||||||
if (grid_auto_rows.size() > 0) {
|
if (grid_auto_rows.size() > 0) {
|
||||||
auto definition = grid_auto_rows[implicit_row_index % grid_auto_rows.size()];
|
auto definition = grid_auto_rows[implicit_row_index % grid_auto_rows.size()];
|
||||||
|
@ -1409,12 +1409,12 @@ void GridFormattingContext::build_grid_areas()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void GridFormattingContext::place_grid_items(AvailableSpace const& available_space)
|
void GridFormattingContext::place_grid_items()
|
||||||
{
|
{
|
||||||
auto grid_template_columns = grid_container().computed_values().grid_template_columns();
|
auto grid_template_columns = grid_container().computed_values().grid_template_columns();
|
||||||
auto grid_template_rows = grid_container().computed_values().grid_template_rows();
|
auto grid_template_rows = grid_container().computed_values().grid_template_rows();
|
||||||
auto column_count = get_count_of_tracks(grid_template_columns.track_list(), available_space);
|
auto column_count = get_count_of_tracks(grid_template_columns.track_list());
|
||||||
auto row_count = get_count_of_tracks(grid_template_rows.track_list(), available_space);
|
auto row_count = get_count_of_tracks(grid_template_rows.track_list());
|
||||||
|
|
||||||
// https://drafts.csswg.org/css-grid/#overview-placement
|
// https://drafts.csswg.org/css-grid/#overview-placement
|
||||||
// 2.2. Placing Items
|
// 2.2. Placing Items
|
||||||
|
@ -1934,12 +1934,12 @@ void GridFormattingContext::run(Box const&, LayoutMode, AvailableSpace const& av
|
||||||
auto const& grid_computed_values = grid_container().computed_values();
|
auto const& grid_computed_values = grid_container().computed_values();
|
||||||
|
|
||||||
// NOTE: We store explicit grid sizes to later use in determining the position of items with negative index.
|
// NOTE: We store explicit grid sizes to later use in determining the position of items with negative index.
|
||||||
m_explicit_columns_line_count = get_count_of_tracks(grid_computed_values.grid_template_columns().track_list(), available_space) + 1;
|
m_explicit_columns_line_count = get_count_of_tracks(grid_computed_values.grid_template_columns().track_list()) + 1;
|
||||||
m_explicit_rows_line_count = get_count_of_tracks(grid_computed_values.grid_template_rows().track_list(), available_space) + 1;
|
m_explicit_rows_line_count = get_count_of_tracks(grid_computed_values.grid_template_rows().track_list()) + 1;
|
||||||
|
|
||||||
place_grid_items(available_space);
|
place_grid_items();
|
||||||
|
|
||||||
initialize_grid_tracks_for_columns_and_rows(available_space);
|
initialize_grid_tracks_for_columns_and_rows();
|
||||||
|
|
||||||
initialize_gap_tracks(available_space);
|
initialize_gap_tracks(available_space);
|
||||||
|
|
||||||
|
@ -2282,7 +2282,7 @@ void GridFormattingContext::init_grid_lines(GridDimension dimension)
|
||||||
} else if (explicit_track.is_repeat()) {
|
} else if (explicit_track.is_repeat()) {
|
||||||
int repeat_count = 0;
|
int repeat_count = 0;
|
||||||
if (explicit_track.repeat().is_auto_fill() || explicit_track.repeat().is_auto_fit())
|
if (explicit_track.repeat().is_auto_fill() || explicit_track.repeat().is_auto_fit())
|
||||||
repeat_count = count_of_repeated_auto_fill_or_fit_tracks(lines_definition.track_list(), *m_available_space);
|
repeat_count = count_of_repeated_auto_fill_or_fit_tracks(lines_definition.track_list());
|
||||||
else
|
else
|
||||||
repeat_count = explicit_track.repeat().repeat_count();
|
repeat_count = explicit_track.repeat().repeat_count();
|
||||||
auto const& repeat_track = explicit_track.repeat();
|
auto const& repeat_track = explicit_track.repeat();
|
||||||
|
|
|
@ -244,19 +244,19 @@ private:
|
||||||
|
|
||||||
Optional<int> get_line_index_by_line_name(GridDimension dimension, String const&);
|
Optional<int> get_line_index_by_line_name(GridDimension dimension, String const&);
|
||||||
CSSPixels resolve_definite_track_size(CSS::GridSize const&, AvailableSpace const&);
|
CSSPixels resolve_definite_track_size(CSS::GridSize const&, AvailableSpace const&);
|
||||||
int count_of_repeated_auto_fill_or_fit_tracks(Vector<CSS::ExplicitGridTrack> const& track_list, AvailableSpace const&);
|
int count_of_repeated_auto_fill_or_fit_tracks(Vector<CSS::ExplicitGridTrack> const& track_list);
|
||||||
int get_count_of_tracks(Vector<CSS::ExplicitGridTrack> const&, AvailableSpace const&);
|
int get_count_of_tracks(Vector<CSS::ExplicitGridTrack> const&);
|
||||||
|
|
||||||
void build_grid_areas();
|
void build_grid_areas();
|
||||||
|
|
||||||
void place_grid_items(AvailableSpace const& available_space);
|
void place_grid_items();
|
||||||
void place_item_with_row_and_column_position(Box const& child_box);
|
void place_item_with_row_and_column_position(Box const& child_box);
|
||||||
void place_item_with_row_position(Box const& child_box);
|
void place_item_with_row_position(Box const& child_box);
|
||||||
void place_item_with_column_position(Box const& child_box, int& auto_placement_cursor_x, int& auto_placement_cursor_y);
|
void place_item_with_column_position(Box const& child_box, int& auto_placement_cursor_x, int& auto_placement_cursor_y);
|
||||||
void place_item_with_no_declared_position(Box const& child_box, int& auto_placement_cursor_x, int& auto_placement_cursor_y);
|
void place_item_with_no_declared_position(Box const& child_box, int& auto_placement_cursor_x, int& auto_placement_cursor_y);
|
||||||
|
|
||||||
void initialize_grid_tracks_from_definition(AvailableSpace const& available_space, Vector<CSS::ExplicitGridTrack> const& tracks_definition, Vector<GridTrack>& tracks);
|
void initialize_grid_tracks_from_definition(Vector<CSS::ExplicitGridTrack> const& tracks_definition, Vector<GridTrack>& tracks);
|
||||||
void initialize_grid_tracks_for_columns_and_rows(AvailableSpace const&);
|
void initialize_grid_tracks_for_columns_and_rows();
|
||||||
void initialize_gap_tracks(AvailableSpace const&);
|
void initialize_gap_tracks(AvailableSpace const&);
|
||||||
|
|
||||||
void collapse_auto_fit_tracks_if_needed(GridDimension const);
|
void collapse_auto_fit_tracks_if_needed(GridDimension const);
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue