diff --git a/components/style/values/specified/box.rs b/components/style/values/specified/box.rs index 632c8f9c9d4..cec7c8ccc33 100644 --- a/components/style/values/specified/box.rs +++ b/components/style/values/specified/box.rs @@ -30,6 +30,17 @@ fn moz_display_values_enabled(context: &ParserContext) -> bool { } } +#[cfg(feature = "gecko")] +fn moz_box_display_values_enabled(context: &ParserContext) -> bool { + use gecko_bindings::structs; + use stylesheets::Origin; + context.stylesheet_origin == Origin::UserAgent || + context.chrome_rules_enabled() || + unsafe { + structs::StaticPrefs_sVarCache_layout_css_xul_box_display_values_content_enabled + } +} + #[allow(missing_docs)] #[derive(Clone, Copy, Debug, Eq, Hash, MallocSizeOf, Parse, PartialEq, SpecifiedValueInfo, ToComputedValue, ToCss)] @@ -80,8 +91,10 @@ pub enum Display { #[cfg(feature = "gecko")] WebkitInlineBox, #[cfg(feature = "gecko")] + #[parse(condition = "moz_box_display_values_enabled")] MozBox, #[cfg(feature = "gecko")] + #[parse(condition = "moz_box_display_values_enabled")] MozInlineBox, #[cfg(feature = "gecko")] #[parse(condition = "moz_display_values_enabled")]