aboutsummaryrefslogtreecommitdiffstats
path: root/components
diff options
context:
space:
mode:
Diffstat (limited to 'components')
-rw-r--r--components/style/keyframes.rs21
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)