diff --git a/components/style/properties/helpers.mako.rs b/components/style/properties/helpers.mako.rs index 7a25b2569eae..7bfbed8b803e 100644 --- a/components/style/properties/helpers.mako.rs +++ b/components/style/properties/helpers.mako.rs @@ -707,7 +707,8 @@ <%def name="single_keyword(name, values, vector=False, - extra_specified=None, needs_conversion=False, **kwargs)"> + extra_specified=None, needs_conversion=False, + gecko_pref_controlled_initial_value=None, **kwargs)"> <% keyword_kwargs = {a: kwargs.pop(a, None) for a in [ 'gecko_constant_prefix', @@ -724,7 +725,8 @@ ]} %> - <%def name="inner_body(keyword, extra_specified=None, needs_conversion=False)"> + <%def name="inner_body(keyword, extra_specified=None, needs_conversion=False, + gecko_pref_controlled_initial_value=None)"> <%def name="variants(variants, include_aliases)"> % for variant in variants: % if include_aliases: @@ -773,10 +775,20 @@ } #[inline] pub fn get_initial_value() -> computed_value::T { + % if engine == "gecko" and gecko_pref_controlled_initial_value: + if static_prefs::pref!("${gecko_pref_controlled_initial_value.split('=')[0]}") { + return computed_value::T::${to_camel_case(gecko_pref_controlled_initial_value.split('=')[1])}; + } + % endif computed_value::T::${to_camel_case(values.split()[0])} } #[inline] pub fn get_initial_specified_value() -> SpecifiedValue { + % if engine == "gecko" and gecko_pref_controlled_initial_value: + if static_prefs::pref!("${gecko_pref_controlled_initial_value.split('=')[0]}") { + return SpecifiedValue::${to_camel_case(gecko_pref_controlled_initial_value.split('=')[1])}; + } + % endif SpecifiedValue::${to_camel_case(values.split()[0])} } #[inline] @@ -805,7 +817,8 @@ % else: <%call expr="longhand(name, keyword=Keyword(name, values, **keyword_kwargs), **kwargs)"> ${inner_body(Keyword(name, values, **keyword_kwargs), - extra_specified=extra_specified, needs_conversion=needs_conversion)} + extra_specified=extra_specified, needs_conversion=needs_conversion, + gecko_pref_controlled_initial_value=gecko_pref_controlled_initial_value)} % if caller: ${caller.body()} % endif