aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--components/layout/construct.rs2
-rw-r--r--components/style/properties.mako.rs12
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 {