diff options
Diffstat (limited to 'components/style/values/computed/mod.rs')
-rw-r--r-- | components/style/values/computed/mod.rs | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/components/style/values/computed/mod.rs b/components/style/values/computed/mod.rs index 49b3f2e7285..9864cd67983 100644 --- a/components/style/values/computed/mod.rs +++ b/components/style/values/computed/mod.rs @@ -4,6 +4,7 @@ use app_units::Au; use euclid::size::Size2D; +use ordered_float::NotNaN; use properties::ComputedValues; use std::fmt; use super::LocalToCss; @@ -241,6 +242,15 @@ impl LengthOrPercentage { Length(_) | Percentage(_) | Calc(_) => false } } + + pub fn to_hash_key(&self) -> (Au, NotNaN<f32>) { + use self::LengthOrPercentage::*; + match *self { + Length(l) => (l, NotNaN::new(0.0).unwrap()), + Percentage(p) => (Au(0), NotNaN::new(p).unwrap()), + Calc(c) => (c.length(), NotNaN::new(c.percentage()).unwrap()), + } + } } impl fmt::Debug for LengthOrPercentage { |