aboutsummaryrefslogtreecommitdiffstats
path: root/components/script
diff options
context:
space:
mode:
authorAnthony Ramine <n.oxyde@gmail.com>2016-02-29 10:09:45 +0100
committerMs2ger <Ms2ger@gmail.com>2016-02-29 10:41:57 +0100
commit590316a468a0ded9f2004943b9eadc96af6b095c (patch)
treea3a9157633468f5a0684b7ee1d27563523ac3e33 /components/script
parentb3964a89585539082982160f5f4fb4bd05ddac2f (diff)
downloadservo-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.rs6
-rw-r--r--components/script/dom/eventtarget.rs12
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_)
})
}