diff options
Diffstat (limited to 'components')
-rw-r--r-- | components/style/keyframes.rs | 21 |
1 files changed, 14 insertions, 7 deletions
diff --git a/components/style/keyframes.rs b/components/style/keyframes.rs index dc4a75806a5..a817d42b076 100644 --- a/components/style/keyframes.rs +++ b/components/style/keyframes.rs @@ -73,6 +73,19 @@ impl KeyframePercentage { /// converted at parse time to percentages. #[derive(Debug, PartialEq)] pub struct KeyframeSelector(Vec<KeyframePercentage>); + +impl ToCss for KeyframeSelector { + fn to_css<W>(&self, dest: &mut W) -> fmt::Result where W: fmt::Write { + let mut iter = self.0.iter(); + iter.next().unwrap().to_css(dest)?; + for percentage in iter { + write!(dest, ", ")?; + percentage.to_css(dest)?; + } + Ok(()) + } +} + impl KeyframeSelector { /// Return the list of percentages this selector contains. #[inline] @@ -108,12 +121,7 @@ pub struct Keyframe { impl ToCssWithGuard for Keyframe { fn to_css<W>(&self, guard: &SharedRwLockReadGuard, dest: &mut W) -> fmt::Result where W: fmt::Write { - let mut iter = self.selector.percentages().iter(); - try!(iter.next().unwrap().to_css(dest)); - for percentage in iter { - try!(write!(dest, ", ")); - try!(percentage.to_css(dest)); - } + self.selector.to_css(dest)?; try!(dest.write_str(" { ")); try!(self.block.read_with(guard).to_css(dest)); try!(dest.write_str(" }")); @@ -121,7 +129,6 @@ impl ToCssWithGuard for Keyframe { } } - impl Keyframe { /// Parse a CSS keyframe. pub fn parse(css: &str, parent_stylesheet: &Stylesheet) |