diff options
author | bors-servo <lbergstrom+bors@mozilla.com> | 2016-02-29 20:13:11 +0530 |
---|---|---|
committer | bors-servo <lbergstrom+bors@mozilla.com> | 2016-02-29 20:13:11 +0530 |
commit | 7d4276b393fe3df1a04ade010bc345388ac390cd (patch) | |
tree | 26c4c935dc068451c26142245be2a021a6264bf0 /components/script/dom/eventtarget.rs | |
parent | 872ee1953468113a6edda27badf11c2af7d9868a (diff) | |
parent | 587963c6e3f32116fc2bb05ff5b46debbd54bdfc (diff) | |
download | servo-7d4276b393fe3df1a04ade010bc345388ac390cd.tar.gz servo-7d4276b393fe3df1a04ade010bc345388ac390cd.zip |
Auto merge of #9787 - nox:event-invoke, r=Ms2ger
Refactor dispatch_event according to the spec (fixes #9178)
Two new functions invoke and invoke_inner are introduced and some invariants documented.
<!-- Reviewable:start -->
[<img src="https://reviewable.io/review_button.svg" height="40" alt="Review on Reviewable"/>](https://reviewable.io/reviews/servo/servo/9787)
<!-- Reviewable:end -->
Diffstat (limited to 'components/script/dom/eventtarget.rs')
-rw-r--r-- | components/script/dom/eventtarget.rs | 16 |
1 files changed, 6 insertions, 10 deletions
diff --git a/components/script/dom/eventtarget.rs b/components/script/dom/eventtarget.rs index aa49d9a110f..991fc1e9415 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) - -> Option<Vec<CompiledEventListener>> { - self.handlers.borrow_mut().get_mut(type_).map(|listeners| { - listeners.get_listeners(Some(desired_phase), self, type_) + pub fn get_listeners_for(&self, + type_: &Atom, + specific_phase: Option<ListenerPhase>) + -> Vec<CompiledEventListener> { + self.handlers.borrow_mut().get_mut(type_).map_or(vec![], |listeners| { + listeners.get_listeners(specific_phase, self, type_) }) } |