aboutsummaryrefslogtreecommitdiffstats
path: root/components/script/dom/eventtarget.rs
diff options
context:
space:
mode:
authorStephen Lester <stephen@lester.io>2016-10-05 07:48:11 -0700
committerStephen Lester <stephen@lester.io>2016-10-05 07:55:33 -0700
commit76e04e2acda24cd270cbdf5862343472eeef4303 (patch)
treedc924c786a9f7ff45ee8889a0b89fe6ed4dae18c /components/script/dom/eventtarget.rs
parent8a3af9d1b9fe55a802d6463f6e4a5dbf39a1ecff (diff)
downloadservo-76e04e2acda24cd270cbdf5862343472eeef4303.tar.gz
servo-76e04e2acda24cd270cbdf5862343472eeef4303.zip
Invert conditional and return early for AddEventListener/RemoveEventListener
Diffstat (limited to 'components/script/dom/eventtarget.rs')
-rw-r--r--components/script/dom/eventtarget.rs56
1 files changed, 30 insertions, 26 deletions
diff --git a/components/script/dom/eventtarget.rs b/components/script/dom/eventtarget.rs
index 1d3efd59b19..9bdaac20288 100644
--- a/components/script/dom/eventtarget.rs
+++ b/components/script/dom/eventtarget.rs
@@ -515,21 +515,23 @@ impl EventTargetMethods for EventTarget {
ty: DOMString,
listener: Option<Rc<EventListener>>,
capture: bool) {
- if let Some(listener) = listener {
- let mut handlers = self.handlers.borrow_mut();
- let entry = match handlers.entry(Atom::from(ty)) {
- Occupied(entry) => entry.into_mut(),
- Vacant(entry) => entry.insert(EventListeners(vec!())),
- };
+ let listener = match listener {
+ Some(l) => l,
+ None => return,
+ };
+ let mut handlers = self.handlers.borrow_mut();
+ let entry = match handlers.entry(Atom::from(ty)) {
+ Occupied(entry) => entry.into_mut(),
+ Vacant(entry) => entry.insert(EventListeners(vec!())),
+ };
- let phase = if capture { ListenerPhase::Capturing } else { ListenerPhase::Bubbling };
- let new_entry = EventListenerEntry {
- phase: phase,
- listener: EventListenerType::Additive(listener)
- };
- if !entry.contains(&new_entry) {
- entry.push(new_entry);
- }
+ let phase = if capture { ListenerPhase::Capturing } else { ListenerPhase::Bubbling };
+ let new_entry = EventListenerEntry {
+ phase: phase,
+ listener: EventListenerType::Additive(listener)
+ };
+ if !entry.contains(&new_entry) {
+ entry.push(new_entry);
}
}
@@ -538,18 +540,20 @@ impl EventTargetMethods for EventTarget {
ty: DOMString,
listener: Option<Rc<EventListener>>,
capture: bool) {
- if let Some(ref listener) = listener {
- let mut handlers = self.handlers.borrow_mut();
- let entry = handlers.get_mut(&Atom::from(ty));
- for entry in entry {
- let phase = if capture { ListenerPhase::Capturing } else { ListenerPhase::Bubbling };
- let old_entry = EventListenerEntry {
- phase: phase,
- listener: EventListenerType::Additive(listener.clone())
- };
- if let Some(position) = entry.iter().position(|e| *e == old_entry) {
- entry.remove(position);
- }
+ let ref listener = match listener {
+ Some(l) => l,
+ None => return,
+ };
+ let mut handlers = self.handlers.borrow_mut();
+ let entry = handlers.get_mut(&Atom::from(ty));
+ for entry in entry {
+ let phase = if capture { ListenerPhase::Capturing } else { ListenerPhase::Bubbling };
+ let old_entry = EventListenerEntry {
+ phase: phase,
+ listener: EventListenerType::Additive(listener.clone())
+ };
+ if let Some(position) = entry.iter().position(|e| *e == old_entry) {
+ entry.remove(position);
}
}
}