From 91e12563eb27e80f721af42825a6d94ebd26f670 Mon Sep 17 00:00:00 2001 From: Anthony Ramine Date: Thu, 8 Mar 2018 11:14:02 +0100 Subject: [PATCH] Derive ToCss for Transform Now that #[derive(ToCss)] unconditionally bounds type params, we can derive the trait for Transform. --- components/style/values/generics/transform.rs | 28 ++----------------- 1 file changed, 2 insertions(+), 26 deletions(-) diff --git a/components/style/values/generics/transform.rs b/components/style/values/generics/transform.rs index 400ce823518..816d8cc4cfd 100644 --- a/components/style/values/generics/transform.rs +++ b/components/style/values/generics/transform.rs @@ -7,8 +7,6 @@ use app_units::Au; use euclid::{self, Rect, Transform3D}; use num_traits::Zero; -use std::fmt::{self, Write}; -use style_traits::{CssWriter, ToCss}; use values::{computed, CSSFloat}; use values::computed::length::Length as ComputedLength; use values::computed::length::LengthOrPercentage as ComputedLengthOrPercentage; @@ -300,10 +298,9 @@ pub enum TransformOperation }, } -#[derive(Animate, ToComputedValue)] -#[derive(Clone, Debug, MallocSizeOf, PartialEq)] +#[derive(Animate, Clone, Debug, MallocSizeOf, PartialEq, ToComputedValue, ToCss)] /// A value of the `transform` property -pub struct Transform(pub Vec); +pub struct Transform(#[css(if_empty = "none", iterable)] pub Vec); impl TransformOperation { @@ -511,27 +508,6 @@ where } } -impl ToCss for Transform { - fn to_css(&self, dest: &mut CssWriter) -> fmt::Result - where - W: Write, - { - if self.0.is_empty() { - return dest.write_str("none"); - } - - let mut first = true; - for operation in &self.0 { - if !first { - dest.write_str(" ")?; - } - first = false; - operation.to_css(dest)? - } - Ok(()) - } -} - impl Transform { /// `none` pub fn none() -> Self {