diff options
author | Anthony Ramine <n.oxyde@gmail.com> | 2016-02-29 10:09:45 +0100 |
---|---|---|
committer | Ms2ger <Ms2ger@gmail.com> | 2016-02-29 10:41:57 +0100 |
commit | 590316a468a0ded9f2004943b9eadc96af6b095c (patch) | |
tree | a3a9157633468f5a0684b7ee1d27563523ac3e33 /components/script | |
parent | b3964a89585539082982160f5f4fb4bd05ddac2f (diff) | |
download | servo-590316a468a0ded9f2004943b9eadc96af6b095c.tar.gz servo-590316a468a0ded9f2004943b9eadc96af6b095c.zip |
Merge EventTarget::{get_listeners, get_listeners_for}
Diffstat (limited to 'components/script')
-rw-r--r-- | components/script/dom/eventdispatcher.rs | 6 | ||||
-rw-r--r-- | components/script/dom/eventtarget.rs | 12 |
2 files changed, 7 insertions, 11 deletions
diff --git a/components/script/dom/eventdispatcher.rs b/components/script/dom/eventdispatcher.rs index f80a217658b..966314062b5 100644 --- a/components/script/dom/eventdispatcher.rs +++ b/components/script/dom/eventdispatcher.rs @@ -67,7 +67,7 @@ fn dispatch_to_listeners(event: &Event, target: &EventTarget, chain: &[&EventTar /* capturing */ event.set_phase(EventPhase::Capturing); for cur_target in chain.iter().rev() { - if let Some(listeners) = cur_target.get_listeners_for(&type_, ListenerPhase::Capturing) { + if let Some(listeners) = cur_target.get_listeners_for(&type_, Some(ListenerPhase::Capturing)) { event.set_current_target(cur_target); for listener in &listeners { handle_event(window.r(), listener, *cur_target, event); @@ -90,7 +90,7 @@ fn dispatch_to_listeners(event: &Event, target: &EventTarget, chain: &[&EventTar event.set_phase(EventPhase::AtTarget); event.set_current_target(target); - if let Some(listeners) = target.get_listeners(&type_) { + if let Some(listeners) = target.get_listeners_for(&type_, None) { for listener in listeners { handle_event(window.r(), &listener, target, event); @@ -113,7 +113,7 @@ fn dispatch_to_listeners(event: &Event, target: &EventTarget, chain: &[&EventTar event.set_phase(EventPhase::Bubbling); for cur_target in chain { - if let Some(listeners) = cur_target.get_listeners_for(&type_, ListenerPhase::Bubbling) { + if let Some(listeners) = cur_target.get_listeners_for(&type_, Some(ListenerPhase::Bubbling)) { event.set_current_target(cur_target); for listener in &listeners { handle_event(window.r(), listener, *cur_target, event); diff --git a/components/script/dom/eventtarget.rs b/components/script/dom/eventtarget.rs index aa49d9a110f..8c4df94a64d 100644 --- a/components/script/dom/eventtarget.rs +++ b/components/script/dom/eventtarget.rs @@ -301,16 +301,12 @@ impl EventTarget { } } - pub fn get_listeners(&self, type_: &Atom) -> Option<Vec<CompiledEventListener>> { - self.handlers.borrow_mut().get_mut(type_).map(|listeners| { - listeners.get_listeners(None, self, type_) - }) - } - - pub fn get_listeners_for(&self, type_: &Atom, desired_phase: ListenerPhase) + pub fn get_listeners_for(&self, + type_: &Atom, + desired_phase: Option<ListenerPhase>) -> Option<Vec<CompiledEventListener>> { self.handlers.borrow_mut().get_mut(type_).map(|listeners| { - listeners.get_listeners(Some(desired_phase), self, type_) + listeners.get_listeners(desired_phase, self, type_) }) } |