diff options
author | Ms2ger <ms2ger@gmail.com> | 2014-04-26 10:56:01 +0200 |
---|---|---|
committer | Ms2ger <ms2ger@gmail.com> | 2014-04-28 23:06:25 +0200 |
commit | 251e22266e1bccb2a12ece85e42c76db9dd11b61 (patch) | |
tree | d8690a51cc9d3370ea4f64e7a9cf56bdb8188b50 /src | |
parent | 25357434e1c488cc3fd2fdd08cf87114e55244b3 (diff) | |
download | servo-251e22266e1bccb2a12ece85e42c76db9dd11b61.tar.gz servo-251e22266e1bccb2a12ece85e42c76db9dd11b61.zip |
Make EventTarget::handlers store a Vec.
Diffstat (limited to 'src')
-rw-r--r-- | src/components/script/dom/eventtarget.rs | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/src/components/script/dom/eventtarget.rs b/src/components/script/dom/eventtarget.rs index 62057d8e116..f32fc18330e 100644 --- a/src/components/script/dom/eventtarget.rs +++ b/src/components/script/dom/eventtarget.rs @@ -37,7 +37,7 @@ pub struct EventListenerEntry { pub struct EventTarget { pub type_id: EventTargetTypeId, pub reflector_: Reflector, - pub handlers: HashMap<DOMString, ~[EventListenerEntry]>, + pub handlers: HashMap<DOMString, Vec<EventListenerEntry>>, } impl EventTarget { @@ -49,14 +49,14 @@ impl EventTarget { } } - pub fn get_listeners(&self, type_: &str) -> Option<~[EventListener]> { + pub fn get_listeners(&self, type_: &str) -> Option<Vec<EventListener>> { self.handlers.find_equiv(&type_).map(|listeners| { listeners.iter().map(|entry| entry.listener).collect() }) } pub fn get_listeners_for(&self, type_: &str, desired_phase: ListenerPhase) - -> Option<~[EventListener]> { + -> Option<Vec<EventListener>> { self.handlers.find_equiv(&type_).map(|listeners| { let filtered = listeners.iter().filter(|entry| entry.phase == desired_phase); filtered.map(|entry| entry.listener).collect() @@ -68,13 +68,13 @@ impl EventTarget { listener: Option<EventListener>, capture: bool) { for &listener in listener.iter() { - let entry = self.handlers.find_or_insert_with(ty.clone(), |_| ~[]); + let entry = self.handlers.find_or_insert_with(ty.clone(), |_| vec!()); let phase = if capture { Capturing } else { Bubbling }; let new_entry = EventListenerEntry { phase: phase, listener: listener }; - if entry.position_elem(&new_entry).is_none() { + if entry.as_slice().position_elem(&new_entry).is_none() { entry.push(new_entry); } } @@ -92,7 +92,7 @@ impl EventTarget { phase: phase, listener: listener }; - let position = entry.position_elem(&old_entry); + let position = entry.as_slice().position_elem(&old_entry); for &position in position.iter() { entry.remove(position); } |