diff options
Diffstat (limited to 'components/script/dom/cssnamespacerule.rs')
-rw-r--r-- | components/script/dom/cssnamespacerule.rs | 60 |
1 files changed, 37 insertions, 23 deletions
diff --git a/components/script/dom/cssnamespacerule.rs b/components/script/dom/cssnamespacerule.rs index 744a8020667..3a15c7d5ffd 100644 --- a/components/script/dom/cssnamespacerule.rs +++ b/components/script/dom/cssnamespacerule.rs @@ -1,30 +1,31 @@ /* This Source Code Form is subject to the terms of the Mozilla Public * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ + * file, You can obtain one at https://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; -use dom::cssrule::{CSSRule, SpecificCSSRule}; -use dom::cssstylesheet::CSSStyleSheet; -use dom::window::Window; +use crate::dom::bindings::codegen::Bindings::CSSNamespaceRuleBinding::CSSNamespaceRuleMethods; +use crate::dom::bindings::reflector::reflect_dom_object; +use crate::dom::bindings::root::DomRoot; +use crate::dom::bindings::str::DOMString; +use crate::dom::cssrule::{CSSRule, SpecificCSSRule}; +use crate::dom::cssstylesheet::CSSStyleSheet; +use crate::dom::window::Window; use dom_struct::dom_struct; -use std::sync::Arc; +use servo_arc::Arc; use style::shared_lock::{Locked, ToCssWithGuard}; use style::stylesheets::NamespaceRule; #[dom_struct] pub struct CSSNamespaceRule { cssrule: CSSRule, - #[ignore_heap_size_of = "Arc"] + #[ignore_malloc_size_of = "Arc"] namespacerule: Arc<Locked<NamespaceRule>>, } impl CSSNamespaceRule { - fn new_inherited(parent_stylesheet: &CSSStyleSheet, namespacerule: Arc<Locked<NamespaceRule>>) - -> CSSNamespaceRule { + fn new_inherited( + parent_stylesheet: &CSSStyleSheet, + namespacerule: Arc<Locked<NamespaceRule>>, + ) -> CSSNamespaceRule { CSSNamespaceRule { cssrule: CSSRule::new_inherited(parent_stylesheet), namespacerule: namespacerule, @@ -32,11 +33,18 @@ impl CSSNamespaceRule { } #[allow(unrooted_must_root)] - pub fn new(window: &Window, parent_stylesheet: &CSSStyleSheet, - namespacerule: Arc<Locked<NamespaceRule>>) -> Root<CSSNamespaceRule> { - reflect_dom_object(box CSSNamespaceRule::new_inherited(parent_stylesheet, namespacerule), - window, - CSSNamespaceRuleBinding::Wrap) + pub fn new( + window: &Window, + parent_stylesheet: &CSSStyleSheet, + namespacerule: Arc<Locked<NamespaceRule>>, + ) -> DomRoot<CSSNamespaceRule> { + reflect_dom_object( + Box::new(CSSNamespaceRule::new_inherited( + parent_stylesheet, + namespacerule, + )), + window, + ) } } @@ -44,26 +52,32 @@ impl CSSNamespaceRuleMethods for CSSNamespaceRule { // https://drafts.csswg.org/cssom/#dom-cssnamespacerule-prefix fn Prefix(&self) -> DOMString { let guard = self.cssrule.shared_lock().read(); - self.namespacerule.read_with(&guard).prefix - .as_ref().map(|s| s.to_string().into()) + self.namespacerule + .read_with(&guard) + .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 { let guard = self.cssrule.shared_lock().read(); - (*self.namespacerule.read_with(&guard).url).into() + (**self.namespacerule.read_with(&guard).url).into() } } impl SpecificCSSRule for CSSNamespaceRule { fn ty(&self) -> u16 { - use dom::bindings::codegen::Bindings::CSSRuleBinding::CSSRuleConstants; + use crate::dom::bindings::codegen::Bindings::CSSRuleBinding::CSSRuleConstants; CSSRuleConstants::NAMESPACE_RULE } fn get_css(&self) -> DOMString { let guard = self.cssrule.shared_lock().read(); - self.namespacerule.read_with(&guard).to_css_string(&guard).into() + self.namespacerule + .read_with(&guard) + .to_css_string(&guard) + .into() } } |