aboutsummaryrefslogtreecommitdiffstats
path: root/src/components/script/dom
diff options
context:
space:
mode:
authorJosh Matthews <josh@joshmatthews.net>2013-11-07 14:45:12 -0500
committerJosh Matthews <josh@joshmatthews.net>2013-11-07 14:46:18 -0500
commit9e99b0772342875c316b9a523eb9493fb21140ec (patch)
tree5202f57c6c539915dbd9586ef5d5cbd2beb9cd9a /src/components/script/dom
parent651b2f072ba7393d6dc7e8710ec67f2e9a898b94 (diff)
downloadservo-9e99b0772342875c316b9a523eb9493fb21140ec.tar.gz
servo-9e99b0772342875c316b9a523eb9493fb21140ec.zip
Remove unneeded clones.
Diffstat (limited to 'src/components/script/dom')
-rw-r--r--src/components/script/dom/eventdispatcher.rs8
-rw-r--r--src/components/script/dom/eventtarget.rs4
2 files changed, 5 insertions, 7 deletions
diff --git a/src/components/script/dom/eventdispatcher.rs b/src/components/script/dom/eventdispatcher.rs
index ba8e06795f5..2c3ccc0da32 100644
--- a/src/components/script/dom/eventdispatcher.rs
+++ b/src/components/script/dom/eventdispatcher.rs
@@ -34,8 +34,7 @@ pub fn dispatch_event(target: AbstractEventTarget, event: AbstractEvent) -> bool
/* capturing */
for &cur_target in chain.rev_iter() {
- //XXX bad clone
- let stopped = match cur_target.eventtarget().get_listeners_for(type_.clone(), Capturing) {
+ let stopped = match cur_target.eventtarget().get_listeners_for(type_, Capturing) {
Some(listeners) => {
event.mut_event().current_target = Some(cur_target);
for listener in listeners.iter() {
@@ -64,7 +63,7 @@ pub fn dispatch_event(target: AbstractEventTarget, event: AbstractEvent) -> bool
event.current_target = Some(target);
}
- let opt_listeners = target.eventtarget().get_listeners(type_.clone());
+ let opt_listeners = target.eventtarget().get_listeners(type_);
for listeners in opt_listeners.iter() {
for listener in listeners.iter() {
listener.HandleEvent__(event, eReportExceptions);
@@ -80,8 +79,7 @@ pub fn dispatch_event(target: AbstractEventTarget, event: AbstractEvent) -> bool
event.mut_event().phase = Phase_Bubbling;
for &cur_target in chain.iter() {
- //XXX bad clone
- let stopped = match cur_target.eventtarget().get_listeners_for(type_.clone(), Bubbling) {
+ let stopped = match cur_target.eventtarget().get_listeners_for(type_, Bubbling) {
Some(listeners) => {
event.mut_event().current_target = Some(cur_target);
for listener in listeners.iter() {
diff --git a/src/components/script/dom/eventtarget.rs b/src/components/script/dom/eventtarget.rs
index 26df47ef585..ae87a5d73ac 100644
--- a/src/components/script/dom/eventtarget.rs
+++ b/src/components/script/dom/eventtarget.rs
@@ -112,13 +112,13 @@ impl EventTarget {
}
}
- pub fn get_listeners(&self, type_: ~str) -> Option<~[EventListener]> {
+ pub fn get_listeners(&self, type_: &str) -> Option<~[EventListener]> {
do self.handlers.find_equiv(&type_).map |listeners| {
listeners.iter().map(|entry| entry.listener).collect()
}
}
- pub fn get_listeners_for(&self, type_: ~str, desired_phase: ListenerPhase)
+ pub fn get_listeners_for(&self, type_: &str, desired_phase: ListenerPhase)
-> Option<~[EventListener]> {
do self.handlers.find_equiv(&type_).map |listeners| {
let filtered = listeners.iter().filter(|entry| entry.phase == desired_phase);