diff options
Diffstat (limited to 'components')
-rw-r--r-- | components/script/dom/element.rs | 2 | ||||
-rw-r--r-- | components/script/dom/macros.rs | 17 |
2 files changed, 8 insertions, 11 deletions
diff --git a/components/script/dom/element.rs b/components/script/dom/element.rs index 3cec88f148f..a5897ed80ac 100644 --- a/components/script/dom/element.rs +++ b/components/script/dom/element.rs @@ -1095,7 +1095,7 @@ impl Element { assert!(local_name.chars().all(|ch| { !ch.is_ascii() || ch.to_ascii_lowercase() == ch })); - let attribute = self.get_attribute(&ns!(""), local_name); + let attribute = self.get_attribute(&ns!(), local_name); match attribute { Some(ref attribute) => { diff --git a/components/script/dom/macros.rs b/components/script/dom/macros.rs index a292737ac47..8029bb85b2f 100644 --- a/components/script/dom/macros.rs +++ b/components/script/dom/macros.rs @@ -28,21 +28,18 @@ macro_rules! make_bool_getter( #[macro_export] macro_rules! make_int_getter( - ($attr:ident, $htmlname:expr, $default:expr) => ( + ($attr:ident, $htmlname:tt, $default:expr) => ( fn $attr(&self) -> i32 { - use dom::bindings::codegen::InheritTypes::ElementCast; - use string_cache::Atom; - let element = ElementCast::from_ref(self); - // FIXME(pcwalton): Do this at compile time, not runtime. - element.get_int_attribute(&Atom::from_slice($htmlname), $default) + use dom::bindings::inheritance::Castable; + use dom::element::Element; + let element = self.upcast::<Element>(); + element.get_int_attribute(&atom!($htmlname), $default) } ); - ($attr:ident, $htmlname:expr) => { + + ($attr:ident, $htmlname:tt) => { make_int_getter!($attr, $htmlname, 0); }; - ($attr:ident) => { - make_int_getter!($attr, to_lower!(stringify!($attr))); - } ); #[macro_export] |