aboutsummaryrefslogtreecommitdiffstats
path: root/src/components/script/dom/element.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/components/script/dom/element.rs')
-rw-r--r--src/components/script/dom/element.rs31
1 files changed, 16 insertions, 15 deletions
diff --git a/src/components/script/dom/element.rs b/src/components/script/dom/element.rs
index 66027956a65..5fce6ba6903 100644
--- a/src/components/script/dom/element.rs
+++ b/src/components/script/dom/element.rs
@@ -319,8 +319,7 @@ impl<'a> AttributeHandlers for JSRef<'a, Element> {
if namespace == namespace::Null {
let removed_raw_value = self.deref().attrs.borrow().get(idx).root().Value();
- let mut self_alias = self.clone();
- vtable_for(NodeCast::from_mut_ref(&mut self_alias))
+ vtable_for(NodeCast::from_ref(self))
.before_remove_attr(local_name.clone(), removed_raw_value);
}
@@ -715,14 +714,14 @@ pub fn get_attribute_parts(name: DOMString) -> (Option<String>, String) {
}
impl<'a> VirtualMethods for JSRef<'a, Element> {
- fn super_type<'a>(&'a mut self) -> Option<&'a mut VirtualMethods:> {
- let node: &mut JSRef<Node> = NodeCast::from_mut_ref(self);
- Some(node as &mut VirtualMethods:)
+ fn super_type<'a>(&'a self) -> Option<&'a VirtualMethods:> {
+ let node: &JSRef<Node> = NodeCast::from_ref(self);
+ Some(node as &VirtualMethods:)
}
- fn after_set_attr(&mut self, name: DOMString, value: DOMString) {
+ fn after_set_attr(&self, name: DOMString, value: DOMString) {
match self.super_type() {
- Some(ref mut s) => s.after_set_attr(name.clone(), value.clone()),
+ Some(ref s) => s.after_set_attr(name.clone(), value.clone()),
_ => (),
}
@@ -730,7 +729,8 @@ impl<'a> VirtualMethods for JSRef<'a, Element> {
"style" => {
let doc = document_from_node(self).root();
let base_url = doc.deref().url().clone();
- self.deref_mut().style_attribute = Some(style::parse_style_attribute(value.as_slice(), &base_url))
+ let mut self_alias = self.clone();
+ self_alias.deref_mut().style_attribute = Some(style::parse_style_attribute(value.as_slice(), &base_url))
}
"id" => {
let node: &JSRef<Node> = NodeCast::from_ref(self);
@@ -745,15 +745,16 @@ impl<'a> VirtualMethods for JSRef<'a, Element> {
self.notify_attribute_changed(name);
}
- fn before_remove_attr(&mut self, name: DOMString, value: DOMString) {
+ fn before_remove_attr(&self, name: DOMString, value: DOMString) {
match self.super_type() {
- Some(ref mut s) => s.before_remove_attr(name.clone(), value.clone()),
+ Some(ref s) => s.before_remove_attr(name.clone(), value.clone()),
_ => (),
}
match name.as_slice() {
"style" => {
- self.deref_mut().style_attribute = None
+ let mut self_alias = self.clone();
+ self_alias.deref_mut().style_attribute = None
}
"id" => {
let node: &JSRef<Node> = NodeCast::from_ref(self);
@@ -768,9 +769,9 @@ impl<'a> VirtualMethods for JSRef<'a, Element> {
self.notify_attribute_changed(name);
}
- fn bind_to_tree(&mut self) {
+ fn bind_to_tree(&self) {
match self.super_type() {
- Some(ref mut s) => s.bind_to_tree(),
+ Some(ref s) => s.bind_to_tree(),
_ => (),
}
@@ -783,9 +784,9 @@ impl<'a> VirtualMethods for JSRef<'a, Element> {
}
}
- fn unbind_from_tree(&mut self) {
+ fn unbind_from_tree(&self) {
match self.super_type() {
- Some(ref mut s) => s.unbind_from_tree(),
+ Some(ref s) => s.unbind_from_tree(),
_ => (),
}