aboutsummaryrefslogtreecommitdiffstats
path: root/src/components/script/dom/element.rs
diff options
context:
space:
mode:
authorbors-servo <release+servo@mozilla.com>2014-04-05 05:01:30 -0400
committerbors-servo <release+servo@mozilla.com>2014-04-05 05:01:30 -0400
commit44e7e365c9a7a7c3acb70010e140f3f11b4f9def (patch)
tree3615e209aa1e2545e08784511583660b4b76b8ca /src/components/script/dom/element.rs
parent2a5f82a76453aebe1ce07f0e0c5b78bead93ed0c (diff)
parent05e793f4fbe3a949deba8aca1d161ce3e0e01a43 (diff)
downloadservo-44e7e365c9a7a7c3acb70010e140f3f11b4f9def.tar.gz
servo-44e7e365c9a7a7c3acb70010e140f3f11b4f9def.zip
auto merge of #2043 : Manishearth/servo/case-insen, r=Ms2ger
(See https://github.com/mozilla/servo/pull/1968)
Diffstat (limited to 'src/components/script/dom/element.rs')
-rw-r--r--src/components/script/dom/element.rs21
1 files changed, 16 insertions, 5 deletions
diff --git a/src/components/script/dom/element.rs b/src/components/script/dom/element.rs
index b64620887d6..11b83684090 100644
--- a/src/components/script/dom/element.rs
+++ b/src/components/script/dom/element.rs
@@ -210,10 +210,17 @@ pub trait BeforeRemoveAttrListener {
impl AttributeHandlers for JS<Element> {
fn get_attribute(&self, namespace: Namespace, name: &str) -> Option<JS<Attr>> {
- self.get().attrs.iter().find(|attr| {
- let attr = attr.get();
- name == attr.local_name && attr.namespace == namespace
- }).map(|x| x.clone())
+ 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| {
+ let attr = attr.get();
+ name == attr.local_name && attr.namespace == namespace
+ }).map(|x| x.clone())
+ }
}
fn set_attr(&mut self, name: DOMString, value: DOMString) -> ErrorResult {
@@ -239,7 +246,11 @@ impl AttributeHandlers for JS<Element> {
// FIXME: reduce the time of `value.clone()`.
let idx = self.get().attrs.iter().position(|attr| {
- attr.get().local_name == local_name
+ 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
+ }
});
match idx {