diff --git a/components/style/properties/helpers.mako.rs b/components/style/properties/helpers.mako.rs index cfb7fbbfa45..5e90fc06394 100644 --- a/components/style/properties/helpers.mako.rs +++ b/components/style/properties/helpers.mako.rs @@ -930,12 +930,6 @@ use values::specified::length::LengthOrPercentageOrAuto; SpecifiedValue(MozLength::LengthOrPercentageOrAuto(LengthOrPercentageOrAuto::zero())) } - - /// Returns a value representing a `0%` length. - pub fn zero_percent() -> Self { - use values::specified::length::LengthOrPercentageOrAuto; - SpecifiedValue(MozLength::LengthOrPercentageOrAuto(LengthOrPercentageOrAuto::zero_percent())) - } } % endif diff --git a/components/style/properties/longhand/position.mako.rs b/components/style/properties/longhand/position.mako.rs index cfc54d2d00c..795aa7513e4 100644 --- a/components/style/properties/longhand/position.mako.rs +++ b/components/style/properties/longhand/position.mako.rs @@ -167,11 +167,18 @@ ${helpers.predefined_type("order", "Integer", "0", // and should be converted to just LengthOrPercentage. % if product == "gecko": // FIXME: Gecko doesn't support content value yet. - ${helpers.gecko_size_type("flex-basis", "MozLength", "auto()", - logical=False, - spec="https://drafts.csswg.org/css-flexbox/#flex-basis-property", - extra_prefixes="webkit", - animation_value_type="MozLength")} + // + // FIXME(emilio): I suspect this property shouldn't allow quirks, and this + // was just a mistake. + ${helpers.predefined_type( + "flex-basis", + "MozLength", + "computed::MozLength::auto()", + extra_prefixes="webkit", + animation_value_type="ComputedValue", + allow_quirks=True, + spec="https://drafts.csswg.org/css-flexbox/#flex-basis-property" + )} % else: // FIXME: This property should be animatable. ${helpers.predefined_type("flex-basis", diff --git a/components/style/values/specified/length.rs b/components/style/values/specified/length.rs index b1d7a19e2c5..1e669e5b8c8 100644 --- a/components/style/values/specified/length.rs +++ b/components/style/values/specified/length.rs @@ -933,6 +933,7 @@ impl LengthOrPercentageOrAuto { } /// Returns a value representing `0%`. + #[inline] pub fn zero_percent() -> Self { LengthOrPercentageOrAuto::Percentage(computed::Percentage::zero()) } @@ -1142,6 +1143,18 @@ impl MozLength { )?; Ok(MozLength::LengthOrPercentageOrAuto(length)) } + + /// Returns `auto`. + #[inline] + pub fn auto() -> Self { + MozLength::LengthOrPercentageOrAuto(LengthOrPercentageOrAuto::auto()) + } + + /// Returns `0%`. + #[inline] + pub fn zero_percent() -> Self { + MozLength::LengthOrPercentageOrAuto(LengthOrPercentageOrAuto::zero_percent()) + } } /// A value suitable for a `max-width` or `max-height` property.