diff --git a/components/style/values/computed/length_percentage.rs b/components/style/values/computed/length_percentage.rs index 0afa1014d92..cb0fe727015 100644 --- a/components/style/values/computed/length_percentage.rs +++ b/components/style/values/computed/length_percentage.rs @@ -770,7 +770,7 @@ impl specified::CalcLengthPercentage { result } }), - Leaf::Number(..) | Leaf::Angle(..) | Leaf::Time(..) => { + Leaf::Number(..) | Leaf::Angle(..) | Leaf::Time(..) | Leaf::Resolution(..) => { unreachable!("Shouldn't have parsed") }, }); diff --git a/components/style/values/computed/resolution.rs b/components/style/values/computed/resolution.rs index 72580635b81..54b03bd475e 100644 --- a/components/style/values/computed/resolution.rs +++ b/components/style/values/computed/resolution.rs @@ -36,12 +36,12 @@ impl ToComputedValue for specified::Resolution { #[inline] fn to_computed_value(&self, _: &Context) -> Self::ComputedValue { - Resolution(self.to_dppx()) + Resolution(self.dppx()) } #[inline] fn from_computed_value(computed: &Self::ComputedValue) -> Self { - specified::Resolution::Dppx(computed.dppx()) + specified::Resolution::from_dppx(computed.dppx()) } } diff --git a/components/style/values/generics/calc.rs b/components/style/values/generics/calc.rs index a9d8f24f865..fa3b2987a21 100644 --- a/components/style/values/generics/calc.rs +++ b/components/style/values/generics/calc.rs @@ -101,6 +101,7 @@ pub enum SortKey { Cqmin, Cqw, Deg, + Dppx, Dvb, Dvh, Dvi, diff --git a/components/style/values/specified/calc.rs b/components/style/values/specified/calc.rs index 745a46fd43f..1eb601a3dc4 100644 --- a/components/style/values/specified/calc.rs +++ b/components/style/values/specified/calc.rs @@ -11,7 +11,7 @@ use crate::values::generics::calc as generic; use crate::values::generics::calc::{MinMaxOp, ModRemOp, RoundingStrategy, SortKey}; use crate::values::specified::length::{AbsoluteLength, FontRelativeLength, NoCalcLength}; use crate::values::specified::length::{ContainerRelativeLength, ViewportPercentageLength}; -use crate::values::specified::{self, Angle, Time}; +use crate::values::specified::{self, Angle, Resolution, Time}; use crate::values::{CSSFloat, CSSInteger}; use cssparser::{AngleOrNumber, CowRcStr, NumberOrPercentage, Parser, Token}; use smallvec::SmallVec; @@ -107,6 +107,8 @@ pub enum Leaf { Angle(Angle), /// `