mirror of
https://github.com/servo/servo.git
synced 2025-08-07 06:25:32 +01:00
layout: Simplify Table::compute_inline_content_sizes
(#35290)
Signed-off-by: Oriol Brufau <obrufau@igalia.com>
This commit is contained in:
parent
3fe32cc059
commit
eb0382449f
1 changed files with 10 additions and 23 deletions
|
@ -2701,32 +2701,19 @@ impl ComputeInlineContentSizes for Table {
|
||||||
Au::zero(),
|
Au::zero(),
|
||||||
);
|
);
|
||||||
layout.compute_measures(layout_context, writing_mode);
|
layout.compute_measures(layout_context, writing_mode);
|
||||||
let mut table_content_sizes = layout.compute_grid_min_max();
|
|
||||||
|
|
||||||
let mut caption_minimum_inline_size =
|
let grid_content_sizes = layout.compute_grid_min_max();
|
||||||
layout.compute_caption_minimum_inline_size(layout_context);
|
|
||||||
if caption_minimum_inline_size > table_content_sizes.min_content ||
|
// Padding and border should apply to the table grid, but they will be taken into
|
||||||
caption_minimum_inline_size > table_content_sizes.max_content
|
// account when computing the inline content sizes of the table wrapper (our parent), so
|
||||||
{
|
// this code removes their contribution from the inline content size of the caption.
|
||||||
// Padding and border should apply to the table grid, but they will be taken into
|
let caption_content_sizes = ContentSizes::from(
|
||||||
// account when computing the inline content sizes of the table wrapper (our parent), so
|
layout.compute_caption_minimum_inline_size(layout_context) -
|
||||||
// this code removes their contribution from the inline content size of the caption.
|
layout.pbm.padding_border_sums.inline,
|
||||||
let layout_style = self.layout_style(Some(&layout));
|
);
|
||||||
let padding = layout_style
|
|
||||||
.padding(writing_mode)
|
|
||||||
.percentages_relative_to(Au::zero());
|
|
||||||
let border = layout_style.border_width(writing_mode);
|
|
||||||
caption_minimum_inline_size -= padding.inline_sum() + border.inline_sum();
|
|
||||||
table_content_sizes
|
|
||||||
.min_content
|
|
||||||
.max_assign(caption_minimum_inline_size);
|
|
||||||
table_content_sizes
|
|
||||||
.max_content
|
|
||||||
.max_assign(caption_minimum_inline_size);
|
|
||||||
}
|
|
||||||
|
|
||||||
InlineContentSizesResult {
|
InlineContentSizesResult {
|
||||||
sizes: table_content_sizes,
|
sizes: grid_content_sizes.max(caption_content_sizes),
|
||||||
depends_on_block_constraints: false,
|
depends_on_block_constraints: false,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue