From 16252633bdfe2d3bdea1fbc32d58134aff030d3a Mon Sep 17 00:00:00 2001 From: Boris Zbarsky Date: Fri, 24 Mar 2017 14:21:46 -0400 Subject: [PATCH] Fix writing-mode display fixup to check the right condition. It should be checking the value of the 'writing-mode' property, not the value of the "writing mode" concept. The latter is influenced by other properties like 'direction' and whatnot. That was causing this code to convert inlines to inline-blocks if they just had a different direction from their parent, which is not correct --- components/style/properties/properties.mako.rs | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/components/style/properties/properties.mako.rs b/components/style/properties/properties.mako.rs index ed200e2d73d..9fde5fb40b0 100644 --- a/components/style/properties/properties.mako.rs +++ b/components/style/properties/properties.mako.rs @@ -2178,7 +2178,9 @@ pub fn apply_declarations<'a, F, I>(device: &Device, // // www-style mail regarding above spec: https://lists.w3.org/Archives/Public/www-style/2017Mar/0045.html // See https://github.com/servo/servo/issues/15754 - if context.layout_parent_style.writing_mode != style.writing_mode && + let our_writing_mode = style.get_inheritedbox().clone_writing_mode(); + let parent_writing_mode = context.layout_parent_style.get_inheritedbox().clone_writing_mode(); + if our_writing_mode != parent_writing_mode && style.get_box().clone_display() == display::inline { style.mutate_box().set_display(display::inline_block); }