diff --git a/components/style/properties/longhand/inherited_text.mako.rs b/components/style/properties/longhand/inherited_text.mako.rs index 1ff10a50662..b24cdbbcacf 100644 --- a/components/style/properties/longhand/inherited_text.mako.rs +++ b/components/style/properties/longhand/inherited_text.mako.rs @@ -1076,6 +1076,28 @@ ${helpers.single_keyword("text-align-last", vertical.to_css(dest) } } + + % if product == "gecko": + impl SpecifiedValue { + pub fn from_gecko_keyword(kw: u32) -> Self { + use gecko_bindings::structs; + + let vert = if kw & structs::NS_STYLE_TEXT_EMPHASIS_POSITION_RIGHT != 0 { + VerticalWritingModeValue::Right + } else { + debug_assert!(kw & structs::NS_STYLE_TEXT_EMPHASIS_POSITION_LEFT != 0); + VerticalWritingModeValue::Left + }; + let horiz = if kw & structs::NS_STYLE_TEXT_EMPHASIS_POSITION_OVER != 0 { + HorizontalWritingModeValue::Over + } else { + debug_assert!(kw & structs::NS_STYLE_TEXT_EMPHASIS_POSITION_UNDER != 0); + HorizontalWritingModeValue::Under + }; + SpecifiedValue(horiz, vert) + } + } + % endif ${helpers.predefined_type("text-emphasis-color", "CSSColor", diff --git a/ports/geckolib/glue.rs b/ports/geckolib/glue.rs index 1ce2e02b216..455aaaf41d2 100644 --- a/ports/geckolib/glue.rs +++ b/ports/geckolib/glue.rs @@ -1148,6 +1148,7 @@ pub extern "C" fn Servo_DeclarationBlock_SetKeywordValue(declarations: Float => longhands::float::SpecifiedValue::from_gecko_keyword(value), VerticalAlign => longhands::vertical_align::SpecifiedValue::from_gecko_keyword(value), TextAlign => longhands::text_align::SpecifiedValue::from_gecko_keyword(value), + TextEmphasisPosition => longhands::text_emphasis_position::SpecifiedValue::from_gecko_keyword(value), Clear => longhands::clear::SpecifiedValue::from_gecko_keyword(value), FontSize => { // We rely on Gecko passing in font-size values (0...7) here.