diff --git a/components/style/values/computed/resolution.rs b/components/style/values/computed/resolution.rs index 54b03bd475e..28153911809 100644 --- a/components/style/values/computed/resolution.rs +++ b/components/style/values/computed/resolution.rs @@ -36,7 +36,7 @@ impl ToComputedValue for specified::Resolution { #[inline] fn to_computed_value(&self, _: &Context) -> Self::ComputedValue { - Resolution(self.dppx()) + Resolution(crate::values::normalize(self.dppx().max(0.0))) } #[inline] diff --git a/components/style/values/specified/resolution.rs b/components/style/values/specified/resolution.rs index 87284615e63..74f100972a7 100644 --- a/components/style/values/specified/resolution.rs +++ b/components/style/values/specified/resolution.rs @@ -129,7 +129,7 @@ impl Parse for Resolution { match *input.next()? { Token::Dimension { value, ref unit, .. - } => Self::parse_dimension(value, unit) + } if value >= 0. => Self::parse_dimension(value, unit) .map_err(|()| location.new_custom_error(StyleParseErrorKind::UnspecifiedError)), Token::Function(ref name) => { let function = CalcNode::math_function(context, name, location)?;