diff --git a/servo/components/style/properties/gecko.mako.rs b/servo/components/style/properties/gecko.mako.rs index 1a35d2f41c38..e45fcb6a23c4 100644 --- a/servo/components/style/properties/gecko.mako.rs +++ b/servo/components/style/properties/gecko.mako.rs @@ -2341,7 +2341,7 @@ fn static_assert() { pub fn calculate_script_level_size(&self, parent: &Self, device: &Device) -> (Au, Au) { use std::cmp; - let delta = self.gecko.mScriptLevel - parent.gecko.mScriptLevel; + let delta = self.gecko.mScriptLevel.saturating_sub(parent.gecko.mScriptLevel); let parent_size = Au(parent.gecko.mSize); let parent_unconstrained_size = Au(parent.gecko.mScriptUnconstrainedSize); diff --git a/servo/components/style/values/animated/mod.rs b/servo/components/style/values/animated/mod.rs index 1972d839aff5..1af8f6409e1e 100644 --- a/servo/components/style/values/animated/mod.rs +++ b/servo/components/style/values/animated/mod.rs @@ -162,7 +162,7 @@ where impl Animate for Au { #[inline] fn animate(&self, other: &Self, procedure: Procedure) -> Result { - Ok(Au(self.0.animate(&other.0, procedure)?)) + Ok(Au::new(self.0.animate(&other.0, procedure)?)) } } diff --git a/servo/components/style/values/specified/length.rs b/servo/components/style/values/specified/length.rs index 3789a5446699..6a0bd08b880f 100644 --- a/servo/components/style/values/specified/length.rs +++ b/servo/components/style/values/specified/length.rs @@ -6,7 +6,7 @@ //! //! [length]: https://drafts.csswg.org/css-values/#lengths -use app_units::Au; +use app_units::{Au, MAX_AU, MIN_AU}; use cssparser::{Parser, Token, BasicParseError}; use euclid::Size2D; use font_metrics::FontMetricsQueryResult; @@ -236,16 +236,12 @@ impl CharacterWidth { } } -/// Same as Gecko -const ABSOLUTE_LENGTH_MAX: i32 = (1 << 30); -const ABSOLUTE_LENGTH_MIN: i32 = - (1 << 30); - /// Helper to convert a floating point length to application units fn to_au_round(length: CSSFloat, au_per_unit: CSSFloat) -> Au { Au( - (length * au_per_unit) - .min(ABSOLUTE_LENGTH_MAX as f32) - .max(ABSOLUTE_LENGTH_MIN as f32) + ((length * au_per_unit) as f64) + .min(MAX_AU.0 as f64) + .max(MIN_AU.0 as f64) .round() as i32 ) }