mirror of
https://github.com/servo/servo.git
synced 2025-08-12 08:55:32 +01:00
layout: Allow layouts to customize their used style (#35012)
Some layouts like table need some style overrides. We were handling this in `ComputedValuesExt`, but it was messy, unreliable and too limited. For example, we were assuming that a style with `display: table` would belong to a table wrapper box or table grid box. However, certain HTML elements can ignore their `display` value and generate a different kind of box. I think we aren't doing that yet, but we will need this. Also, resolving the used border of a table needs layout information, which we don't have in `ComputedValuesExt`. This patch will allow to improve border collapsing in a follow-up. Signed-off-by: Oriol Brufau <obrufau@igalia.com>
This commit is contained in:
parent
7e7792dfbd
commit
60dc3b26fb
11 changed files with 368 additions and 238 deletions
|
@ -2244,11 +2244,11 @@ impl<'layout_data> ContentSizesComputation<'layout_data> {
|
|||
let inline_box = inline_box.borrow();
|
||||
let zero = Au::zero();
|
||||
let writing_mode = self.constraint_space.writing_mode;
|
||||
let padding = inline_box
|
||||
.style
|
||||
let layout_style = inline_box.layout_style();
|
||||
let padding = layout_style
|
||||
.padding(writing_mode)
|
||||
.percentages_relative_to(zero);
|
||||
let border = inline_box.style.border_width(writing_mode);
|
||||
let border = layout_style.border_width(writing_mode);
|
||||
let margin = inline_box
|
||||
.style
|
||||
.margin(writing_mode)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue