diff --git a/components/script/dom/cssnamespacerule.rs b/components/script/dom/cssnamespacerule.rs index e7de369584d..4e93eea2e1f 100644 --- a/components/script/dom/cssnamespacerule.rs +++ b/components/script/dom/cssnamespacerule.rs @@ -3,6 +3,7 @@ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ use dom::bindings::codegen::Bindings::CSSNamespaceRuleBinding; +use dom::bindings::codegen::Bindings::CSSNamespaceRuleBinding::CSSNamespaceRuleMethods; use dom::bindings::js::Root; use dom::bindings::reflector::reflect_dom_object; use dom::bindings::str::DOMString; @@ -38,6 +39,20 @@ impl CSSNamespaceRule { } } +impl CSSNamespaceRuleMethods for CSSNamespaceRule { + // https://drafts.csswg.org/cssom/#dom-cssnamespacerule-prefix + fn Prefix(&self) -> DOMString { + self.namespacerule.read().prefix + .as_ref().map(|s| s.to_string().into()) + .unwrap_or(DOMString::new()) + } + + // https://drafts.csswg.org/cssom/#dom-cssnamespacerule-namespaceuri + fn NamespaceURI(&self) -> DOMString { + (*self.namespacerule.read().url).into() + } +} + impl SpecificCSSRule for CSSNamespaceRule { fn ty(&self) -> u16 { use dom::bindings::codegen::Bindings::CSSRuleBinding::CSSRuleConstants; diff --git a/components/script/dom/webidls/CSSNamespaceRule.webidl b/components/script/dom/webidls/CSSNamespaceRule.webidl index a8d6b61548f..aa1ce87e289 100644 --- a/components/script/dom/webidls/CSSNamespaceRule.webidl +++ b/components/script/dom/webidls/CSSNamespaceRule.webidl @@ -5,6 +5,6 @@ // https://drafts.csswg.org/cssom/#the-cssnamespacerule-interface [Exposed=Window] interface CSSNamespaceRule : CSSRule { - // readonly attribute DOMString namespaceURI; - // readonly attribute DOMString prefix; + readonly attribute DOMString namespaceURI; + readonly attribute DOMString prefix; }; diff --git a/components/style/keyframes.rs b/components/style/keyframes.rs index b74dd73a4de..884c5fef86b 100644 --- a/components/style/keyframes.rs +++ b/components/style/keyframes.rs @@ -10,9 +10,9 @@ use properties::{Importance, PropertyDeclaration, PropertyDeclarationBlock}; use properties::PropertyDeclarationParseResult; use properties::animated_properties::TransitionProperty; use std::fmt; +use servo_url::ServoUrl; use std::sync::Arc; use stylesheets::{MemoryHoleReporter, Origin}; -use servo_url::ServoUrl; use style_traits::ToCss; /// A number from 1 to 100, indicating the percentage of the animation where