diff options
author | Ms2ger <ms2ger@gmail.com> | 2014-08-16 12:32:19 +0200 |
---|---|---|
committer | Ms2ger <ms2ger@gmail.com> | 2014-08-16 12:32:19 +0200 |
commit | 1b543144f19372476d50b9b1a1730c276f2b462c (patch) | |
tree | 2a46f191eec1bd4f57e445a49d20b8d1c5acb191 /src/components/script/dom | |
parent | 9501d2e4513c176aa7dbfae6ebf945931ddd00e5 (diff) | |
download | servo-1b543144f19372476d50b9b1a1730c276f2b462c.tar.gz servo-1b543144f19372476d50b9b1a1730c276f2b462c.zip |
Pass an Atom to before_remove_attr and after_set_attr.
Diffstat (limited to 'src/components/script/dom')
19 files changed, 107 insertions, 72 deletions
diff --git a/src/components/script/dom/attr.rs b/src/components/script/dom/attr.rs index a97f873e6af..b5f2717697d 100644 --- a/src/components/script/dom/attr.rs +++ b/src/components/script/dom/attr.rs @@ -116,7 +116,7 @@ impl Attr { ReplacedAttr => { if namespace_is_null { vtable_for(node).before_remove_attr( - self.local_name().as_slice().to_string(), + self.local_name(), self.value.deref().borrow().as_slice().to_string()); } } @@ -127,7 +127,7 @@ impl Attr { if namespace_is_null { vtable_for(node).after_set_attr( - self.local_name().as_slice().to_string(), + self.local_name(), self.value.deref().borrow().as_slice().to_string()); } } diff --git a/src/components/script/dom/element.rs b/src/components/script/dom/element.rs index 0ddcec35a17..df897d55ecc 100644 --- a/src/components/script/dom/element.rs +++ b/src/components/script/dom/element.rs @@ -252,7 +252,7 @@ pub trait AttributeHandlers { value: DOMString) -> AttrValue; fn remove_attribute(&self, namespace: Namespace, name: &str); - fn notify_attribute_changed(&self, local_name: DOMString); + fn notify_attribute_changed(&self, local_name: &Atom); fn has_class(&self, name: &str) -> bool; fn set_atomic_attribute(&self, name: &str, value: DOMString); @@ -356,7 +356,7 @@ impl<'a> AttributeHandlers for JSRef<'a, Element> { if namespace == namespace::Null { let removed_raw_value = (*self.deref().attrs.borrow())[idx].root().Value(); vtable_for(NodeCast::from_ref(self)) - .before_remove_attr(local_name.as_slice().to_string(), + .before_remove_attr(&local_name, removed_raw_value); } @@ -365,7 +365,7 @@ impl<'a> AttributeHandlers for JSRef<'a, Element> { }; } - fn notify_attribute_changed(&self, local_name: DOMString) { + fn notify_attribute_changed(&self, local_name: &Atom) { let node: &JSRef<Node> = NodeCast::from_ref(self); if node.is_in_doc() { let damage = match local_name.as_slice() { @@ -816,9 +816,9 @@ impl<'a> VirtualMethods for JSRef<'a, Element> { Some(node as &VirtualMethods) } - fn after_set_attr(&self, name: DOMString, value: DOMString) { + fn after_set_attr(&self, name: &Atom, value: DOMString) { match self.super_type() { - Some(ref s) => s.after_set_attr(name.clone(), value.clone()), + Some(ref s) => s.after_set_attr(name, value.clone()), _ => (), } @@ -842,9 +842,9 @@ impl<'a> VirtualMethods for JSRef<'a, Element> { self.notify_attribute_changed(name); } - fn before_remove_attr(&self, name: DOMString, value: DOMString) { + fn before_remove_attr(&self, name: &Atom, value: DOMString) { match self.super_type() { - Some(ref s) => s.before_remove_attr(name.clone(), value.clone()), + Some(ref s) => s.before_remove_attr(name, value.clone()), _ => (), } diff --git a/src/components/script/dom/htmlanchorelement.rs b/src/components/script/dom/htmlanchorelement.rs index b69536a3303..1983548809d 100644 --- a/src/components/script/dom/htmlanchorelement.rs +++ b/src/components/script/dom/htmlanchorelement.rs @@ -16,6 +16,8 @@ use dom::eventtarget::{EventTarget, NodeTargetTypeId}; use dom::htmlelement::HTMLElement; use dom::node::{Node, NodeHelpers, ElementNodeTypeId}; use dom::virtualmethods::VirtualMethods; + +use servo_util::atom::Atom; use servo_util::namespace::Null; use servo_util::str::DOMString; @@ -72,9 +74,9 @@ impl<'a> VirtualMethods for JSRef<'a, HTMLAnchorElement> { Some(htmlelement as &VirtualMethods) } - fn after_set_attr(&self, name: DOMString, value: DOMString) { + fn after_set_attr(&self, name: &Atom, value: DOMString) { match self.super_type() { - Some(ref s) => s.after_set_attr(name.clone(), value.clone()), + Some(ref s) => s.after_set_attr(name, value.clone()), _ => (), } @@ -85,9 +87,9 @@ impl<'a> VirtualMethods for JSRef<'a, HTMLAnchorElement> { } } - fn before_remove_attr(&self, name: DOMString, value: DOMString) { + fn before_remove_attr(&self, name: &Atom, value: DOMString) { match self.super_type() { - Some(ref s) => s.before_remove_attr(name.clone(), value.clone()), + Some(ref s) => s.before_remove_attr(name, value.clone()), _ => (), } diff --git a/src/components/script/dom/htmlareaelement.rs b/src/components/script/dom/htmlareaelement.rs index 339355c844f..3de80a21802 100644 --- a/src/components/script/dom/htmlareaelement.rs +++ b/src/components/script/dom/htmlareaelement.rs @@ -13,6 +13,8 @@ use dom::eventtarget::{EventTarget, NodeTargetTypeId}; use dom::htmlelement::HTMLElement; use dom::node::{Node, NodeHelpers, ElementNodeTypeId}; use dom::virtualmethods::VirtualMethods; + +use servo_util::atom::Atom; use servo_util::str::DOMString; #[deriving(Encodable)] @@ -45,9 +47,9 @@ impl<'a> VirtualMethods for JSRef<'a, HTMLAreaElement> { Some(htmlelement as &VirtualMethods) } - fn after_set_attr(&self, name: DOMString, value: DOMString) { + fn after_set_attr(&self, name: &Atom, value: DOMString) { match self.super_type() { - Some(ref s) => s.after_set_attr(name.clone(), value.clone()), + Some(ref s) => s.after_set_attr(name, value.clone()), _ => (), } @@ -58,9 +60,9 @@ impl<'a> VirtualMethods for JSRef<'a, HTMLAreaElement> { } } - fn before_remove_attr(&self, name: DOMString, value: DOMString) { + fn before_remove_attr(&self, name: &Atom, value: DOMString) { match self.super_type() { - Some(ref s) => s.before_remove_attr(name.clone(), value.clone()), + Some(ref s) => s.before_remove_attr(name, value.clone()), _ => (), } diff --git a/src/components/script/dom/htmlbodyelement.rs b/src/components/script/dom/htmlbodyelement.rs index 64abfc39eac..b7bb35e618a 100644 --- a/src/components/script/dom/htmlbodyelement.rs +++ b/src/components/script/dom/htmlbodyelement.rs @@ -16,6 +16,8 @@ use dom::eventtarget::{EventTarget, NodeTargetTypeId, EventTargetHelpers}; use dom::htmlelement::HTMLElement; use dom::node::{Node, ElementNodeTypeId, window_from_node}; use dom::virtualmethods::VirtualMethods; + +use servo_util::atom::Atom; use servo_util::str::DOMString; #[deriving(Encodable)] @@ -60,9 +62,9 @@ impl<'a> VirtualMethods for JSRef<'a, HTMLBodyElement> { Some(element as &VirtualMethods) } - fn after_set_attr(&self, name: DOMString, value: DOMString) { + fn after_set_attr(&self, name: &Atom, value: DOMString) { match self.super_type() { - Some(ref s) => s.after_set_attr(name.clone(), value.clone()), + Some(ref s) => s.after_set_attr(name, value.clone()), _ => (), } diff --git a/src/components/script/dom/htmlbuttonelement.rs b/src/components/script/dom/htmlbuttonelement.rs index d0fb4bb16a6..f57b8fdbdfd 100644 --- a/src/components/script/dom/htmlbuttonelement.rs +++ b/src/components/script/dom/htmlbuttonelement.rs @@ -15,6 +15,8 @@ use dom::htmlelement::HTMLElement; use dom::node::{DisabledStateHelpers, Node, NodeHelpers, ElementNodeTypeId, window_from_node}; use dom::validitystate::ValidityState; use dom::virtualmethods::VirtualMethods; + +use servo_util::atom::Atom; use servo_util::str::DOMString; #[deriving(Encodable)] @@ -66,9 +68,9 @@ impl<'a> VirtualMethods for JSRef<'a, HTMLButtonElement> { Some(htmlelement as &VirtualMethods) } - fn after_set_attr(&self, name: DOMString, value: DOMString) { + fn after_set_attr(&self, name: &Atom, value: DOMString) { match self.super_type() { - Some(ref s) => s.after_set_attr(name.clone(), value.clone()), + Some(ref s) => s.after_set_attr(name, value.clone()), _ => (), } @@ -82,9 +84,9 @@ impl<'a> VirtualMethods for JSRef<'a, HTMLButtonElement> { } } - fn before_remove_attr(&self, name: DOMString, value: DOMString) { + fn before_remove_attr(&self, name: &Atom, value: DOMString) { match self.super_type() { - Some(ref s) => s.before_remove_attr(name.clone(), value), + Some(ref s) => s.before_remove_attr(name, value), _ => (), } diff --git a/src/components/script/dom/htmlcanvaselement.rs b/src/components/script/dom/htmlcanvaselement.rs index 4267a5df452..50198b197ee 100644 --- a/src/components/script/dom/htmlcanvaselement.rs +++ b/src/components/script/dom/htmlcanvaselement.rs @@ -18,6 +18,7 @@ use dom::htmlelement::HTMLElement; use dom::node::{Node, ElementNodeTypeId, window_from_node}; use dom::virtualmethods::VirtualMethods; +use servo_util::atom::Atom; use servo_util::str::DOMString; use geom::size::Size2D; @@ -98,9 +99,9 @@ impl<'a> VirtualMethods for JSRef<'a, HTMLCanvasElement> { Some(element as &VirtualMethods) } - fn before_remove_attr(&self, name: DOMString, value: DOMString) { + fn before_remove_attr(&self, name: &Atom, value: DOMString) { match self.super_type() { - Some(ref s) => s.before_remove_attr(name.clone(), value.clone()), + Some(ref s) => s.before_remove_attr(name, value.clone()), _ => (), } @@ -125,9 +126,9 @@ impl<'a> VirtualMethods for JSRef<'a, HTMLCanvasElement> { } } - fn after_set_attr(&self, name: DOMString, value: DOMString) { + fn after_set_attr(&self, name: &Atom, value: DOMString) { match self.super_type() { - Some(ref s) => s.after_set_attr(name.clone(), value.clone()), + Some(ref s) => s.after_set_attr(name, value.clone()), _ => (), } diff --git a/src/components/script/dom/htmlelement.rs b/src/components/script/dom/htmlelement.rs index 6633e54d065..076ba5fddce 100644 --- a/src/components/script/dom/htmlelement.rs +++ b/src/components/script/dom/htmlelement.rs @@ -16,6 +16,8 @@ use dom::element::{Element, ElementTypeId, HTMLElementTypeId}; use dom::eventtarget::{EventTarget, EventTargetHelpers, NodeTargetTypeId}; use dom::node::{Node, ElementNodeTypeId, window_from_node}; use dom::virtualmethods::VirtualMethods; + +use servo_util::atom::Atom; use servo_util::namespace; use servo_util::str::DOMString; @@ -92,9 +94,9 @@ impl<'a> VirtualMethods for JSRef<'a, HTMLElement> { Some(element as &VirtualMethods) } - fn after_set_attr(&self, name: DOMString, value: DOMString) { + fn after_set_attr(&self, name: &Atom, value: DOMString) { match self.super_type() { - Some(ref s) => s.after_set_attr(name.clone(), value.clone()), + Some(ref s) => s.after_set_attr(name, value.clone()), _ => (), } diff --git a/src/components/script/dom/htmlfieldsetelement.rs b/src/components/script/dom/htmlfieldsetelement.rs index 73001d56ddd..6d5bc5a5aec 100644 --- a/src/components/script/dom/htmlfieldsetelement.rs +++ b/src/components/script/dom/htmlfieldsetelement.rs @@ -17,6 +17,8 @@ use dom::htmlelement::HTMLElement; use dom::node::{DisabledStateHelpers, Node, NodeHelpers, ElementNodeTypeId, window_from_node}; use dom::validitystate::ValidityState; use dom::virtualmethods::VirtualMethods; + +use servo_util::atom::Atom; use servo_util::str::{DOMString, StaticStringVec}; #[deriving(Encodable)] @@ -85,9 +87,9 @@ impl<'a> VirtualMethods for JSRef<'a, HTMLFieldSetElement> { Some(htmlelement as &VirtualMethods) } - fn after_set_attr(&self, name: DOMString, value: DOMString) { + fn after_set_attr(&self, name: &Atom, value: DOMString) { match self.super_type() { - Some(ref s) => s.after_set_attr(name.clone(), value.clone()), + Some(ref s) => s.after_set_attr(name, value.clone()), _ => (), } @@ -117,9 +119,9 @@ impl<'a> VirtualMethods for JSRef<'a, HTMLFieldSetElement> { } } - fn before_remove_attr(&self, name: DOMString, value: DOMString) { + fn before_remove_attr(&self, name: &Atom, value: DOMString) { match self.super_type() { - Some(ref s) => s.before_remove_attr(name.clone(), value), + Some(ref s) => s.before_remove_attr(name, value), _ => (), } diff --git a/src/components/script/dom/htmliframeelement.rs b/src/components/script/dom/htmliframeelement.rs index 5be30eceb2e..b2d2c05f728 100644 --- a/src/components/script/dom/htmliframeelement.rs +++ b/src/components/script/dom/htmliframeelement.rs @@ -18,9 +18,11 @@ use dom::node::{Node, NodeHelpers, ElementNodeTypeId, window_from_node}; use dom::virtualmethods::VirtualMethods; use dom::window::Window; use page::IterablePage; + use servo_msg::constellation_msg::{PipelineId, SubpageId}; use servo_msg::constellation_msg::{IFrameSandboxed, IFrameUnsandboxed}; use servo_msg::constellation_msg::{ConstellationChan, LoadIframeUrlMsg}; +use servo_util::atom::Atom; use servo_util::namespace::Null; use servo_util::str::DOMString; @@ -163,9 +165,9 @@ impl<'a> VirtualMethods for JSRef<'a, HTMLIFrameElement> { Some(htmlelement as &VirtualMethods) } - fn after_set_attr(&self, name: DOMString, value: DOMString) { + fn after_set_attr(&self, name: &Atom, value: DOMString) { match self.super_type() { - Some(ref s) => s.after_set_attr(name.clone(), value.clone()), + Some(ref s) => s.after_set_attr(name, value.clone()), _ => (), } @@ -193,9 +195,9 @@ impl<'a> VirtualMethods for JSRef<'a, HTMLIFrameElement> { } } - fn before_remove_attr(&self, name: DOMString, value: DOMString) { + fn before_remove_attr(&self, name: &Atom, value: DOMString) { match self.super_type() { - Some(ref s) => s.before_remove_attr(name.clone(), value), + Some(ref s) => s.before_remove_attr(name, value), _ => (), } diff --git a/src/components/script/dom/htmlimageelement.rs b/src/components/script/dom/htmlimageelement.rs index 21c109195a3..73fc3d07646 100644 --- a/src/components/script/dom/htmlimageelement.rs +++ b/src/components/script/dom/htmlimageelement.rs @@ -16,12 +16,16 @@ use dom::eventtarget::{EventTarget, NodeTargetTypeId}; use dom::htmlelement::HTMLElement; use dom::node::{Node, ElementNodeTypeId, NodeHelpers, window_from_node}; use dom::virtualmethods::VirtualMethods; -use servo_util::geometry::to_px; + use servo_net::image_cache_task; +use servo_util::atom::Atom; +use servo_util::geometry::to_px; use servo_util::str::DOMString; -use std::cell::RefCell; + use url::{Url, UrlParser}; +use std::cell::RefCell; + #[deriving(Encodable)] pub struct HTMLImageElement { pub htmlelement: HTMLElement, @@ -221,9 +225,9 @@ impl<'a> VirtualMethods for JSRef<'a, HTMLImageElement> { Some(htmlelement as &VirtualMethods) } - fn after_set_attr(&self, name: DOMString, value: DOMString) { + fn after_set_attr(&self, name: &Atom, value: DOMString) { match self.super_type() { - Some(ref s) => s.after_set_attr(name.clone(), value.clone()), + Some(ref s) => s.after_set_attr(name, value.clone()), _ => (), } @@ -234,9 +238,9 @@ impl<'a> VirtualMethods for JSRef<'a, HTMLImageElement> { } } - fn before_remove_attr(&self, name: DOMString, value: DOMString) { + fn before_remove_attr(&self, name: &Atom, value: DOMString) { match self.super_type() { - Some(ref s) => s.before_remove_attr(name.clone(), value.clone()), + Some(ref s) => s.before_remove_attr(name, value.clone()), _ => (), } diff --git a/src/components/script/dom/htmlinputelement.rs b/src/components/script/dom/htmlinputelement.rs index 9701ef384be..32997a507f1 100644 --- a/src/components/script/dom/htmlinputelement.rs +++ b/src/components/script/dom/htmlinputelement.rs @@ -14,6 +14,8 @@ use dom::eventtarget::{EventTarget, NodeTargetTypeId}; use dom::htmlelement::HTMLElement; use dom::node::{DisabledStateHelpers, Node, NodeHelpers, ElementNodeTypeId}; use dom::virtualmethods::VirtualMethods; + +use servo_util::atom::Atom; use servo_util::str::DOMString; #[deriving(Encodable)] @@ -60,9 +62,9 @@ impl<'a> VirtualMethods for JSRef<'a, HTMLInputElement> { Some(htmlelement as &VirtualMethods) } - fn after_set_attr(&self, name: DOMString, value: DOMString) { + fn after_set_attr(&self, name: &Atom, value: DOMString) { match self.super_type() { - Some(ref s) => s.after_set_attr(name.clone(), value.clone()), + Some(ref s) => s.after_set_attr(name, value.clone()), _ => (), } @@ -76,9 +78,9 @@ impl<'a> VirtualMethods for JSRef<'a, HTMLInputElement> { } } - fn before_remove_attr(&self, name: DOMString, value: DOMString) { + fn before_remove_attr(&self, name: &Atom, value: DOMString) { match self.super_type() { - Some(ref s) => s.before_remove_attr(name.clone(), value), + Some(ref s) => s.before_remove_attr(name, value), _ => (), } diff --git a/src/components/script/dom/htmllinkelement.rs b/src/components/script/dom/htmllinkelement.rs index 3d3a46d28c4..fae89c1c520 100644 --- a/src/components/script/dom/htmllinkelement.rs +++ b/src/components/script/dom/htmllinkelement.rs @@ -13,6 +13,8 @@ use dom::eventtarget::{EventTarget, NodeTargetTypeId}; use dom::htmlelement::HTMLElement; use dom::node::{Node, NodeHelpers, ElementNodeTypeId}; use dom::virtualmethods::VirtualMethods; + +use servo_util::atom::Atom; use servo_util::str::DOMString; #[deriving(Encodable)] @@ -45,9 +47,9 @@ impl<'a> VirtualMethods for JSRef<'a, HTMLLinkElement> { Some(htmlelement as &VirtualMethods) } - fn after_set_attr(&self, name: DOMString, value: DOMString) { + fn after_set_attr(&self, name: &Atom, value: DOMString) { match self.super_type() { - Some(ref s) => s.after_set_attr(name.clone(), value.clone()), + Some(ref s) => s.after_set_attr(name, value.clone()), _ => (), } @@ -58,9 +60,9 @@ impl<'a> VirtualMethods for JSRef<'a, HTMLLinkElement> { } } - fn before_remove_attr(&self, name: DOMString, value: DOMString) { + fn before_remove_attr(&self, name: &Atom, value: DOMString) { match self.super_type() { - Some(ref s) => s.before_remove_attr(name.clone(), value.clone()), + Some(ref s) => s.before_remove_attr(name, value.clone()), _ => (), } diff --git a/src/components/script/dom/htmlobjectelement.rs b/src/components/script/dom/htmlobjectelement.rs index 3dd88ff49f4..94c87719563 100644 --- a/src/components/script/dom/htmlobjectelement.rs +++ b/src/components/script/dom/htmlobjectelement.rs @@ -17,11 +17,13 @@ use dom::htmlelement::HTMLElement; use dom::node::{Node, ElementNodeTypeId, NodeHelpers, window_from_node}; use dom::validitystate::ValidityState; use dom::virtualmethods::VirtualMethods; -use servo_util::str::DOMString; use servo_net::image_cache_task; use servo_net::image_cache_task::ImageCacheTask; +use servo_util::atom::Atom; use servo_util::namespace::Null; +use servo_util::str::DOMString; + use url::Url; #[deriving(Encodable)] @@ -91,9 +93,9 @@ impl<'a> VirtualMethods for JSRef<'a, HTMLObjectElement> { Some(htmlelement as &VirtualMethods) } - fn after_set_attr(&self, name: DOMString, value: DOMString) { + fn after_set_attr(&self, name: &Atom, value: DOMString) { match self.super_type() { - Some(ref s) => s.after_set_attr(name.clone(), value), + Some(ref s) => s.after_set_attr(name, value), _ => (), } diff --git a/src/components/script/dom/htmloptgroupelement.rs b/src/components/script/dom/htmloptgroupelement.rs index 4eda6938610..eee7c80f27b 100644 --- a/src/components/script/dom/htmloptgroupelement.rs +++ b/src/components/script/dom/htmloptgroupelement.rs @@ -14,6 +14,8 @@ use dom::eventtarget::{EventTarget, NodeTargetTypeId}; use dom::htmlelement::HTMLElement; use dom::node::{DisabledStateHelpers, Node, NodeHelpers, ElementNodeTypeId}; use dom::virtualmethods::VirtualMethods; + +use servo_util::atom::Atom; use servo_util::str::DOMString; #[deriving(Encodable)] @@ -60,9 +62,9 @@ impl<'a> VirtualMethods for JSRef<'a, HTMLOptGroupElement> { Some(htmlelement as &VirtualMethods) } - fn after_set_attr(&self, name: DOMString, value: DOMString) { + fn after_set_attr(&self, name: &Atom, value: DOMString) { match self.super_type() { - Some(ref s) => s.after_set_attr(name.clone(), value.clone()), + Some(ref s) => s.after_set_attr(name, value.clone()), _ => (), } @@ -80,9 +82,9 @@ impl<'a> VirtualMethods for JSRef<'a, HTMLOptGroupElement> { } } - fn before_remove_attr(&self, name: DOMString, value: DOMString) { + fn before_remove_attr(&self, name: &Atom, value: DOMString) { match self.super_type() { - Some(ref s) => s.before_remove_attr(name.clone(), value), + Some(ref s) => s.before_remove_attr(name, value), _ => (), } diff --git a/src/components/script/dom/htmloptionelement.rs b/src/components/script/dom/htmloptionelement.rs index a0c4f9e4067..ac0502eb0eb 100644 --- a/src/components/script/dom/htmloptionelement.rs +++ b/src/components/script/dom/htmloptionelement.rs @@ -14,6 +14,8 @@ use dom::eventtarget::{EventTarget, NodeTargetTypeId}; use dom::htmlelement::HTMLElement; use dom::node::{DisabledStateHelpers, Node, NodeHelpers, ElementNodeTypeId}; use dom::virtualmethods::VirtualMethods; + +use servo_util::atom::Atom; use servo_util::str::DOMString; #[deriving(Encodable)] @@ -60,9 +62,9 @@ impl<'a> VirtualMethods for JSRef<'a, HTMLOptionElement> { Some(htmlelement as &VirtualMethods) } - fn after_set_attr(&self, name: DOMString, value: DOMString) { + fn after_set_attr(&self, name: &Atom, value: DOMString) { match self.super_type() { - Some(ref s) => s.after_set_attr(name.clone(), value.clone()), + Some(ref s) => s.after_set_attr(name, value.clone()), _ => (), } @@ -76,9 +78,9 @@ impl<'a> VirtualMethods for JSRef<'a, HTMLOptionElement> { } } - fn before_remove_attr(&self, name: DOMString, value: DOMString) { + fn before_remove_attr(&self, name: &Atom, value: DOMString) { match self.super_type() { - Some(ref s) => s.before_remove_attr(name.clone(), value), + Some(ref s) => s.before_remove_attr(name, value), _ => (), } diff --git a/src/components/script/dom/htmlselectelement.rs b/src/components/script/dom/htmlselectelement.rs index 518bcbeb03c..93717fc9265 100644 --- a/src/components/script/dom/htmlselectelement.rs +++ b/src/components/script/dom/htmlselectelement.rs @@ -17,6 +17,8 @@ use dom::htmlelement::HTMLElement; use dom::node::{DisabledStateHelpers, Node, NodeHelpers, ElementNodeTypeId, window_from_node}; use dom::validitystate::ValidityState; use dom::virtualmethods::VirtualMethods; + +use servo_util::atom::Atom; use servo_util::str::DOMString; #[deriving(Encodable)] @@ -72,9 +74,9 @@ impl<'a> VirtualMethods for JSRef<'a, HTMLSelectElement> { Some(htmlelement as &VirtualMethods) } - fn after_set_attr(&self, name: DOMString, value: DOMString) { + fn after_set_attr(&self, name: &Atom, value: DOMString) { match self.super_type() { - Some(ref s) => s.after_set_attr(name.clone(), value.clone()), + Some(ref s) => s.after_set_attr(name, value.clone()), _ => (), } @@ -88,9 +90,9 @@ impl<'a> VirtualMethods for JSRef<'a, HTMLSelectElement> { } } - fn before_remove_attr(&self, name: DOMString, value: DOMString) { + fn before_remove_attr(&self, name: &Atom, value: DOMString) { match self.super_type() { - Some(ref s) => s.before_remove_attr(name.clone(), value), + Some(ref s) => s.before_remove_attr(name, value), _ => (), } diff --git a/src/components/script/dom/htmltextareaelement.rs b/src/components/script/dom/htmltextareaelement.rs index ac96c0789eb..7e607f131dd 100644 --- a/src/components/script/dom/htmltextareaelement.rs +++ b/src/components/script/dom/htmltextareaelement.rs @@ -14,6 +14,8 @@ use dom::eventtarget::{EventTarget, NodeTargetTypeId}; use dom::htmlelement::HTMLElement; use dom::node::{DisabledStateHelpers, Node, NodeHelpers, ElementNodeTypeId}; use dom::virtualmethods::VirtualMethods; + +use servo_util::atom::Atom; use servo_util::str::DOMString; #[deriving(Encodable)] @@ -60,9 +62,9 @@ impl<'a> VirtualMethods for JSRef<'a, HTMLTextAreaElement> { Some(htmlelement as &VirtualMethods) } - fn after_set_attr(&self, name: DOMString, value: DOMString) { + fn after_set_attr(&self, name: &Atom, value: DOMString) { match self.super_type() { - Some(ref s) => s.after_set_attr(name.clone(), value.clone()), + Some(ref s) => s.after_set_attr(name, value.clone()), _ => (), } @@ -76,9 +78,9 @@ impl<'a> VirtualMethods for JSRef<'a, HTMLTextAreaElement> { } } - fn before_remove_attr(&self, name: DOMString, value: DOMString) { + fn before_remove_attr(&self, name: &Atom, value: DOMString) { match self.super_type() { - Some(ref s) => s.before_remove_attr(name.clone(), value), + Some(ref s) => s.before_remove_attr(name, value), _ => (), } diff --git a/src/components/script/dom/virtualmethods.rs b/src/components/script/dom/virtualmethods.rs index c050d2e5449..9ce38c4908b 100644 --- a/src/components/script/dom/virtualmethods.rs +++ b/src/components/script/dom/virtualmethods.rs @@ -59,6 +59,8 @@ use dom::htmlselectelement::HTMLSelectElement; use dom::htmlstyleelement::HTMLStyleElement; use dom::htmltextareaelement::HTMLTextAreaElement; use dom::node::{Node, NodeHelpers, ElementNodeTypeId}; + +use servo_util::atom::Atom; use servo_util::str::DOMString; /// Trait to allow DOM nodes to opt-in to overriding (or adding to) common @@ -70,7 +72,7 @@ pub trait VirtualMethods { /// Called when changing or adding attributes, after the attribute's value /// has been updated. - fn after_set_attr(&self, name: DOMString, value: DOMString) { + fn after_set_attr(&self, name: &Atom, value: DOMString) { match self.super_type() { Some(ref s) => s.after_set_attr(name, value), _ => (), @@ -79,7 +81,7 @@ pub trait VirtualMethods { /// Called when changing or removing attributes, before any modification /// has taken place. - fn before_remove_attr(&self, name: DOMString, value: DOMString) { + fn before_remove_attr(&self, name: &Atom, value: DOMString) { match self.super_type() { Some(ref s) => s.before_remove_attr(name, value), _ => (), |