From 52f0fcabad785e0cf1e4dfe9fab716469265e0b5 Mon Sep 17 00:00:00 2001 From: Anthony Ramine Date: Thu, 15 Feb 2018 10:53:41 +0100 Subject: [PATCH] Properly implement ToAnimatedZero for BorderSpacing --- components/style/values/animated/mod.rs | 13 +++++++++++++ components/style/values/computed/border.rs | 8 -------- components/style/values/generics/border.rs | 2 +- components/style/values/generics/size.rs | 2 +- 4 files changed, 15 insertions(+), 10 deletions(-) diff --git a/components/style/values/animated/mod.rs b/components/style/values/animated/mod.rs index 5946168f52f..a118292dd98 100644 --- a/components/style/values/animated/mod.rs +++ b/components/style/values/animated/mod.rs @@ -380,3 +380,16 @@ where } } } + +impl ToAnimatedZero for Size2D +where + T: ToAnimatedZero, +{ + #[inline] + fn to_animated_zero(&self) -> Result { + Ok(Size2D::new( + self.width.to_animated_zero()?, + self.height.to_animated_zero()?, + )) + } +} diff --git a/components/style/values/computed/border.rs b/components/style/values/computed/border.rs index cfef89a62e1..49b9eeda791 100644 --- a/components/style/values/computed/border.rs +++ b/components/style/values/computed/border.rs @@ -69,14 +69,6 @@ impl BorderCornerRadius { } } -impl ToAnimatedZero for BorderSpacing { - #[inline] - fn to_animated_zero(&self) -> Result { - // FIXME(emilio): Why? - Err(()) - } -} - impl ToAnimatedZero for BorderCornerRadius { #[inline] fn to_animated_zero(&self) -> Result { diff --git a/components/style/values/generics/border.rs b/components/style/values/generics/border.rs index 00cfe33ab62..4423d4c50d3 100644 --- a/components/style/values/generics/border.rs +++ b/components/style/values/generics/border.rs @@ -43,7 +43,7 @@ impl BorderCornerRadius { /// A generic value for the `border-spacing` property. #[derive(Animate, Clone, ComputeSquaredDistance, Copy, Debug, MallocSizeOf)] -#[derive(PartialEq, ToAnimatedValue, ToComputedValue, ToCss)] +#[derive(PartialEq, ToAnimatedValue, ToAnimatedZero, ToComputedValue, ToCss)] pub struct BorderSpacing(pub Size); impl BorderSpacing { diff --git a/components/style/values/generics/size.rs b/components/style/values/generics/size.rs index f8c691a9a23..6d0904403ab 100644 --- a/components/style/values/generics/size.rs +++ b/components/style/values/generics/size.rs @@ -14,7 +14,7 @@ use values::animated::ToAnimatedValue; /// A generic size, for `border-*-radius` longhand properties, or /// `border-spacing`. #[derive(Animate, Clone, ComputeSquaredDistance, Copy, Debug)] -#[derive(MallocSizeOf, PartialEq, ToComputedValue)] +#[derive(MallocSizeOf, PartialEq, ToAnimatedZero, ToComputedValue)] pub struct Size(pub Size2D); impl Size {