style: Hide -moz- display values from content behind a pref.

Bug: 1288572
Reviewed-by: xidorn
MozReview-Commit-ID: HDQPub043H1
This commit is contained in:
Emilio Cobos Álvarez 2018-06-02 19:35:12 +02:00
parent 1da798e65b
commit cf7b10a32d
No known key found for this signature in database
GPG key ID: 056B727BB9C1027C
2 changed files with 22 additions and 3 deletions

View file

@ -9,8 +9,6 @@
inherited=False,
gecko_name="Display") %>
// TODO(SimonSapin): don't parse `inline-table`, since we don't support it
//
// We allow "display" to apply to placeholders because we need to make the
// placeholder pseudo-element an inline-block in the UA stylesheet in Gecko.
${helpers.predefined_type(
@ -19,7 +17,6 @@ ${helpers.predefined_type(
"computed::Display::inline()",
initial_specified_value="specified::Display::inline()",
animation_value_type="discrete",
needs_context=False,
flags="APPLIES_TO_PLACEHOLDER",
spec="https://drafts.csswg.org/css-display/#propdef-display",
servo_restyle_damage="rebuild_and_reflow"

View file

@ -19,6 +19,17 @@ use values::generics::box_::VerticalAlign as GenericVerticalAlign;
use values::specified::{AllowQuirks, Number};
use values::specified::length::{LengthOrPercentage, NonNegativeLength};
#[cfg(feature = "gecko")]
fn moz_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_display_values_content_enabled
}
}
#[allow(missing_docs)]
#[derive(Clone, Copy, Debug, Eq, Hash, MallocSizeOf, Parse, PartialEq,
SpecifiedValueInfo, ToComputedValue, ToCss)]
@ -69,26 +80,37 @@ pub enum Display {
#[cfg(feature = "gecko")]
WebkitInlineBox,
#[cfg(feature = "gecko")]
#[css(parse_condition = "moz_display_values_enabled")]
MozBox,
#[cfg(feature = "gecko")]
#[css(parse_condition = "moz_display_values_enabled")]
MozInlineBox,
#[cfg(feature = "gecko")]
#[css(parse_condition = "moz_display_values_enabled")]
MozGrid,
#[cfg(feature = "gecko")]
#[css(parse_condition = "moz_display_values_enabled")]
MozInlineGrid,
#[cfg(feature = "gecko")]
#[css(parse_condition = "moz_display_values_enabled")]
MozGridGroup,
#[cfg(feature = "gecko")]
#[css(parse_condition = "moz_display_values_enabled")]
MozGridLine,
#[cfg(feature = "gecko")]
#[css(parse_condition = "moz_display_values_enabled")]
MozStack,
#[cfg(feature = "gecko")]
#[css(parse_condition = "moz_display_values_enabled")]
MozInlineStack,
#[cfg(feature = "gecko")]
#[css(parse_condition = "moz_display_values_enabled")]
MozDeck,
#[cfg(feature = "gecko")]
#[css(parse_condition = "moz_display_values_enabled")]
MozPopup,
#[cfg(feature = "gecko")]
#[css(parse_condition = "moz_display_values_enabled")]
MozGroupbox,
}