Skip to content

Commit

Permalink
layout: Use BoxFragment border widths for display list generation (#…
Browse files Browse the repository at this point in the history
…31292)

Instead of using the border widths from the style, use the ones recorded
by the `BoxFragment`. This is necessary because inline layout can
override these border widths during fragmentation. For instance, when a
box is split across two lines only one fragment should have an inline
start border.
  • Loading branch information
mrobinson committed Feb 8, 2024
1 parent eb6c22f commit f6b81a9
Show file tree
Hide file tree
Showing 75 changed files with 8 additions and 155 deletions.
12 changes: 8 additions & 4 deletions components/layout_2020/display_list/mod.rs
Expand Up @@ -685,11 +685,15 @@ impl<'a> BuilderForBoxFragment<'a> {

fn build_border(&mut self, builder: &mut DisplayListBuilder) {
let border = self.fragment.style.get_border();
let border_widths = self
.fragment
.border
.to_physical(self.fragment.style.writing_mode);
let widths = SideOffsets2D::new(
border.border_top_width.to_f32_px(),
border.border_right_width.to_f32_px(),
border.border_bottom_width.to_f32_px(),
border.border_left_width.to_f32_px(),
border_widths.top.px(),
border_widths.right.px(),
border_widths.bottom.px(),
border_widths.left.px(),
);
if widths == SideOffsets2D::zero() {
return;
Expand Down
5 changes: 0 additions & 5 deletions components/layout_2020/flow/line.rs
Expand Up @@ -302,11 +302,6 @@ impl InlineBoxLineItem {
border.inline_start = Length::zero();
margin.inline_start = Length::zero();
}
if !self.is_last_fragment_of_ib_split {
padding.inline_end = Length::zero();
border.inline_end = Length::zero();
margin.inline_end = Length::zero();
}
let pbm_sums = &(&padding + &border) + &margin;
state.inline_position += pbm_sums.inline_start;

Expand Down
2 changes: 0 additions & 2 deletions tests/wpt/meta/css/CSS2/box/ltr-basic.xht.ini

This file was deleted.

2 changes: 0 additions & 2 deletions tests/wpt/meta/css/CSS2/box/ltr-ib.xht.ini

This file was deleted.

2 changes: 0 additions & 2 deletions tests/wpt/meta/css/CSS2/box/ltr-span-only-ib.xht.ini

This file was deleted.

2 changes: 0 additions & 2 deletions tests/wpt/meta/css/CSS2/box/ltr-span-only.xht.ini

This file was deleted.

2 changes: 0 additions & 2 deletions tests/wpt/meta/css/CSS2/css1/c42-ibx-ht-000.xht.ini

This file was deleted.

2 changes: 0 additions & 2 deletions tests/wpt/meta/css/CSS2/linebox/inline-box-001.xht.ini

This file was deleted.

This file was deleted.

This file was deleted.

This file was deleted.

This file was deleted.

This file was deleted.

This file was deleted.

This file was deleted.

This file was deleted.

This file was deleted.

This file was deleted.

This file was deleted.

This file was deleted.

This file was deleted.

This file was deleted.

This file was deleted.

This file was deleted.

This file was deleted.

This file was deleted.

This file was deleted.

This file was deleted.

This file was deleted.

This file was deleted.

This file was deleted.

This file was deleted.

This file was deleted.

This file was deleted.

This file was deleted.

This file was deleted.

This file was deleted.

This file was deleted.

This file was deleted.

This file was deleted.

This file was deleted.

This file was deleted.

This file was deleted.

This file was deleted.

This file was deleted.

This file was deleted.

This file was deleted.

This file was deleted.

This file was deleted.

This file was deleted.

This file was deleted.

This file was deleted.

This file was deleted.

This file was deleted.

This file was deleted.

This file was deleted.

This file was deleted.

This file was deleted.

This file was deleted.

This file was deleted.

This file was deleted.

This file was deleted.

This file was deleted.

This file was deleted.

This file was deleted.

This file was deleted.

This file was deleted.

This file was deleted.

This file was deleted.

This file was deleted.

This file was deleted.

This file was deleted.

This file was deleted.

This file was deleted.

This file was deleted.

0 comments on commit f6b81a9

Please sign in to comment.