Call after_remove_attr before removing the attribute, and rename it before_remove_attr.

This commit is contained in:
Ms2ger 2014-02-25 17:18:47 +01:00
parent fdd17b4139
commit 432e9cb3a7
3 changed files with 12 additions and 12 deletions

View file

@ -290,22 +290,22 @@ impl Element {
match idx { match idx {
None => (), None => (),
Some(idx) => { Some(idx) => {
let removed = self.attrs.remove(idx);
let removed_raw_value = removed.get().Value();
if namespace == namespace::Null { if namespace == namespace::Null {
self.after_remove_attr(abstract_self, local_name, removed_raw_value); let removed_raw_value = self.attrs[idx].get().Value();
self.before_remove_attr(abstract_self, local_name, removed_raw_value);
} }
self.attrs.remove(idx);
} }
}; };
Ok(()) Ok(())
} }
fn after_remove_attr(&mut self, fn before_remove_attr(&mut self,
abstract_self: &JS<Element>, abstract_self: &JS<Element>,
local_name: DOMString, local_name: DOMString,
old_value: DOMString) { old_value: DOMString) {
match local_name.as_slice() { match local_name.as_slice() {
"style" => { "style" => {
self.style_attribute = None self.style_attribute = None
@ -328,11 +328,11 @@ impl Element {
match abstract_self.get().node.type_id { match abstract_self.get().node.type_id {
ElementNodeTypeId(HTMLImageElementTypeId) => { ElementNodeTypeId(HTMLImageElementTypeId) => {
let mut elem: JS<HTMLImageElement> = HTMLImageElementCast::to(abstract_self); let mut elem: JS<HTMLImageElement> = HTMLImageElementCast::to(abstract_self);
elem.get_mut().AfterRemoveAttr(local_name.clone()); elem.get_mut().BeforeRemoveAttr(local_name.clone());
} }
ElementNodeTypeId(HTMLIframeElementTypeId) => { ElementNodeTypeId(HTMLIframeElementTypeId) => {
let mut elem: JS<HTMLIFrameElement> = HTMLIFrameElementCast::to(abstract_self); let mut elem: JS<HTMLIFrameElement> = HTMLIFrameElementCast::to(abstract_self);
elem.get_mut().AfterRemoveAttr(local_name.clone()); elem.get_mut().BeforeRemoveAttr(local_name.clone());
} }
_ => () _ => ()
} }

View file

@ -140,7 +140,7 @@ impl HTMLIFrameElement {
} }
} }
pub fn AfterRemoveAttr(&mut self, name: DOMString) { pub fn BeforeRemoveAttr(&mut self, name: DOMString) {
if "sandbox" == name { if "sandbox" == name {
self.sandbox = None; self.sandbox = None;
} }

View file

@ -96,7 +96,7 @@ impl HTMLImageElement {
} }
} }
pub fn AfterRemoveAttr(&mut self, name: DOMString) { pub fn BeforeRemoveAttr(&mut self, name: DOMString) {
if "src" == name { if "src" == name {
self.update_image(None, None); self.update_image(None, None);
} }