diff options
-rw-r--r-- | components/layout/construct.rs | 2 | ||||
-rw-r--r-- | components/style/properties.mako.rs | 12 |
2 files changed, 13 insertions, 1 deletions
diff --git a/components/layout/construct.rs b/components/layout/construct.rs index 6ee484e4c33..8ba85710ae3 100644 --- a/components/layout/construct.rs +++ b/components/layout/construct.rs @@ -973,7 +973,7 @@ impl<'a, ConcreteThreadSafeLayoutNode: ThreadSafeLayoutNode> block_flow)); let fragment = Fragment::from_opaque_node_and_style(node.opaque(), node.get_pseudo_element_type().strip(), - modified_style.clone(), + modified_style, node.selected_style().clone(), node.restyle_damage(), fragment_info); diff --git a/components/style/properties.mako.rs b/components/style/properties.mako.rs index 7ba70b886ae..290e048afdd 100644 --- a/components/style/properties.mako.rs +++ b/components/style/properties.mako.rs @@ -7017,6 +7017,18 @@ pub fn modify_border_style_for_inline_sides(style: &mut Arc<ServoComputedValues> is_first_fragment_of_element: bool, is_last_fragment_of_element: bool) { fn modify_side(style: &mut Arc<ServoComputedValues>, side: PhysicalSide) { + { + let border = &style.border; + let current_style = match side { + PhysicalSide::Left => (border.border_left_width, border.border_left_style), + PhysicalSide::Right => (border.border_right_width, border.border_right_style), + PhysicalSide::Top => (border.border_top_width, border.border_top_style), + PhysicalSide::Bottom => (border.border_bottom_width, border.border_bottom_style), + }; + if current_style == (Au(0), BorderStyle::none) { + return; + } + } let mut style = Arc::make_mut(style); let border = Arc::make_mut(&mut style.border); match side { |