diff --git a/components/style/properties/longhand/position.mako.rs b/components/style/properties/longhand/position.mako.rs index cd42e56fcf2..6b0551fcc1a 100644 --- a/components/style/properties/longhand/position.mako.rs +++ b/components/style/properties/longhand/position.mako.rs @@ -201,7 +201,14 @@ ${helpers.predefined_type("flex-basis", ${MinMax}Length::${initial} } fn parse(context: &ParserContext, input: &mut Parser) -> Result { - ${MinMax}Length::parse(context, input).map(SpecifiedValue) + let ret = ${MinMax}Length::parse(context, input); + // Keyword values don't make sense in the block direction; don't parse them + % if "block" in size: + if let Ok(${MinMax}Length::ExtremumLength(..)) = ret { + return Err(()) + } + % endif + ret.map(SpecifiedValue) } impl ToCss for SpecifiedValue { diff --git a/components/style/values/mod.rs b/components/style/values/mod.rs index f5c5186ca5d..f3dd7089830 100644 --- a/components/style/values/mod.rs +++ b/components/style/values/mod.rs @@ -192,7 +192,7 @@ impl ToComputedValue for Either { // A type for possible values for min- and max- flavors of width, // height, block-size, and inline-size. define_css_keyword_enum!(ExtremumLength: - "max-content" => MaxContent, - "min-content" => MinContent, - "fit-content" => FitContent, - "fill-available" => FillAvailable); + "-moz-max-content" => MaxContent, + "-moz-min-content" => MinContent, + "-moz-fit-content" => FitContent, + "-moz-available" => FillAvailable);