LibWeb: Improve column width distribution

This commit is contained in:
Aliaksandr Kalenik 2023-01-24 17:20:24 +03:00 committed by Andreas Kling
parent 5966f181f5
commit 025b496616
Notes: sideshowbarker 2024-07-17 02:42:21 +09:00

View file

@ -346,6 +346,20 @@ void TableFormattingContext::distribute_width_to_columns()
if (columns_total_used_width() < available_width) {
expand_columns_to_fill_available_width(ColumnType::Percent);
}
if (columns_total_used_width() < available_width) {
// NOTE: if all columns got their max width and there is still width to distribute left
// it should be assigned to columns proportionally to their max width
CSSPixels grid_max = 0.0f;
for (auto& column : m_columns) {
grid_max += column.max_width;
}
auto width_to_distribute = available_width - columns_total_used_width();
for (auto& column : m_columns) {
column.used_width += width_to_distribute * column.max_width / grid_max;
}
}
}
void TableFormattingContext::determine_intrisic_size_of_table_container(AvailableSpace const& available_space)