Propagate column info to rows sequentially

This avoids storing it in the rowgroup (which doesn't need it) and
ensures that it is done sequentially, which will be important when
rowspan support is added to this function.

Note that this does not reduce parallelism in the common case where
all rows are in the same rowgroup.
This commit is contained in:
Matt Brubeck 2016-12-07 18:25:01 -08:00
parent 882d5512bb
commit b77a0a89cf
2 changed files with 8 additions and 25 deletions

View file

@ -726,10 +726,13 @@ pub fn propagate_column_inline_sizes_to_child(
}
FlowClass::TableRowGroup => {
let child_table_rowgroup_flow = child_flow.as_mut_table_rowgroup();
child_table_rowgroup_flow.column_computed_inline_sizes =
column_computed_inline_sizes.to_vec();
child_table_rowgroup_flow.spacing = *border_spacing;
child_table_rowgroup_flow.table_writing_mode = table_writing_mode;
for kid in child_table_rowgroup_flow.block_flow.base.child_iter_mut() {
propagate_column_inline_sizes_to_child(kid,
table_writing_mode,
column_computed_inline_sizes,
border_spacing);
}
}
FlowClass::TableRow => {
let child_table_row_flow = child_flow.as_mut_table_row();