diff options
author | Simon Sapin <simon.sapin@exyr.org> | 2017-04-14 05:26:51 +0200 |
---|---|---|
committer | Simon Sapin <simon.sapin@exyr.org> | 2017-04-26 13:02:16 +0900 |
commit | d9c2d1a9fb5889cea52731de0695e222f19fe54e (patch) | |
tree | d3b3fd19bc85a6fe8baaa7825d7e9e78d593929e /components/script/dom/csskeyframesrule.rs | |
parent | 4993a80074f1fe3d69c732e65a67480349c48d25 (diff) | |
download | servo-d9c2d1a9fb5889cea52731de0695e222f19fe54e.tar.gz servo-d9c2d1a9fb5889cea52731de0695e222f19fe54e.zip |
Use CustomIdent for animation-name and @keyframes
Diffstat (limited to 'components/script/dom/csskeyframesrule.rs')
-rw-r--r-- | components/script/dom/csskeyframesrule.rs | 14 |
1 files changed, 4 insertions, 10 deletions
diff --git a/components/script/dom/csskeyframesrule.rs b/components/script/dom/csskeyframesrule.rs index 281ccd972a7..5a03dc41658 100644 --- a/components/script/dom/csskeyframesrule.rs +++ b/components/script/dom/csskeyframesrule.rs @@ -16,11 +16,11 @@ use dom::cssrulelist::{CSSRuleList, RulesSource}; use dom::cssstylesheet::CSSStyleSheet; use dom::window::Window; use dom_struct::dom_struct; -use servo_atoms::Atom; use std::sync::Arc; use style::keyframes::{Keyframe, KeyframeSelector}; use style::shared_lock::{Locked, ToCssWithGuard}; use style::stylesheets::KeyframesRule; +use style::values::CustomIdent; #[dom_struct] pub struct CSSKeyframesRule { @@ -107,7 +107,7 @@ impl CSSKeyframesRuleMethods for CSSKeyframesRule { // https://drafts.csswg.org/css-animations/#dom-csskeyframesrule-name fn Name(&self) -> DOMString { let guard = self.cssrule.shared_lock().read(); - DOMString::from(&*self.keyframesrule.read_with(&guard).name) + DOMString::from(&*self.keyframesrule.read_with(&guard).name.0) } // https://drafts.csswg.org/css-animations/#dom-csskeyframesrule-name @@ -115,15 +115,9 @@ impl CSSKeyframesRuleMethods for CSSKeyframesRule { // https://github.com/w3c/csswg-drafts/issues/801 // Setting this property to a CSS-wide keyword or `none` will // throw a Syntax Error. - match_ignore_ascii_case! { &value, - "initial" => return Err(Error::Syntax), - "inherit" => return Err(Error::Syntax), - "unset" => return Err(Error::Syntax), - "none" => return Err(Error::Syntax), - _ => () - } + let name = CustomIdent::from_ident(value.into(), &["none"]).map_err(|()| Error::Syntax)?; let mut guard = self.cssrule.shared_lock().write(); - self.keyframesrule.write_with(&mut guard).name = Atom::from(value); + self.keyframesrule.write_with(&mut guard).name = name; Ok(()) } } |