diff options
Diffstat (limited to 'src/components/script/dom/element.rs')
-rw-r--r-- | src/components/script/dom/element.rs | 14 |
1 files changed, 11 insertions, 3 deletions
diff --git a/src/components/script/dom/element.rs b/src/components/script/dom/element.rs index b21bf35b325..5b8bd777468 100644 --- a/src/components/script/dom/element.rs +++ b/src/components/script/dom/element.rs @@ -206,7 +206,9 @@ impl<'a> ElementHelpers for JSRef<'a, Element> { pub trait AttributeHandlers { fn get_attribute(&self, namespace: Namespace, name: &str) -> Option<Temporary<Attr>>; - fn set_attr(&mut self, name: DOMString, value: DOMString) -> ErrorResult; + fn set_attribute_from_parser(&mut self, local_name: DOMString, + value: DOMString, namespace: Namespace, + prefix: Option<DOMString>); fn set_attribute(&mut self, namespace: Namespace, name: DOMString, value: DOMString) -> ErrorResult; fn do_set_attribute(&mut self, local_name: DOMString, value: DOMString, @@ -238,8 +240,14 @@ impl<'a> AttributeHandlers for JSRef<'a, Element> { } } - fn set_attr(&mut self, name: DOMString, value: DOMString) -> ErrorResult { - self.set_attribute(namespace::Null, name, value) + fn set_attribute_from_parser(&mut self, local_name: DOMString, + value: DOMString, namespace: Namespace, + prefix: Option<DOMString>) { + let name = match prefix { + None => local_name.clone(), + Some(ref prefix) => format!("{:s}:{:s}", *prefix, local_name), + }; + self.do_set_attribute(local_name, value, name, namespace, prefix, |_| false) } fn set_attribute(&mut self, namespace: Namespace, name: DOMString, |