auto merge of #2043 : Manishearth/servo/case-insen, r=Ms2ger

(See https://github.com/mozilla/servo/pull/1968)
This commit is contained in:
bors-servo 2014-04-05 05:01:30 -04:00
commit 44e7e365c9

View file

@ -210,11 +210,18 @@ pub trait BeforeRemoveAttrListener {
impl AttributeHandlers for JS<Element> { impl AttributeHandlers for JS<Element> {
fn get_attribute(&self, namespace: Namespace, name: &str) -> Option<JS<Attr>> { fn get_attribute(&self, namespace: Namespace, name: &str) -> Option<JS<Attr>> {
if self.get().html_element_in_html_document() {
self.get().attrs.iter().find(|attr| {
let attr = attr.get();
name.to_ascii_lower() == attr.local_name && attr.namespace == namespace
}).map(|x| x.clone())
} else {
self.get().attrs.iter().find(|attr| { self.get().attrs.iter().find(|attr| {
let attr = attr.get(); let attr = attr.get();
name == attr.local_name && attr.namespace == namespace name == attr.local_name && attr.namespace == namespace
}).map(|x| x.clone()) }).map(|x| x.clone())
} }
}
fn set_attr(&mut self, name: DOMString, value: DOMString) -> ErrorResult { fn set_attr(&mut self, name: DOMString, value: DOMString) -> ErrorResult {
self.set_attribute(namespace::Null, name, value) self.set_attribute(namespace::Null, name, value)
@ -239,7 +246,11 @@ impl AttributeHandlers for JS<Element> {
// FIXME: reduce the time of `value.clone()`. // FIXME: reduce the time of `value.clone()`.
let idx = self.get().attrs.iter().position(|attr| { let idx = self.get().attrs.iter().position(|attr| {
if self.get().html_element_in_html_document() {
attr.get().local_name.eq_ignore_ascii_case(local_name)
} else {
attr.get().local_name == local_name attr.get().local_name == local_name
}
}); });
match idx { match idx {