diff options
author | Stephen Lester <stephen@lester.io> | 2016-10-05 07:48:11 -0700 |
---|---|---|
committer | Stephen Lester <stephen@lester.io> | 2016-10-05 07:55:33 -0700 |
commit | 76e04e2acda24cd270cbdf5862343472eeef4303 (patch) | |
tree | dc924c786a9f7ff45ee8889a0b89fe6ed4dae18c /components/script/dom/eventtarget.rs | |
parent | 8a3af9d1b9fe55a802d6463f6e4a5dbf39a1ecff (diff) | |
download | servo-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.rs | 56 |
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); } } } |