Add auxiliary method to EventTargetHelpers for events without target

fixup! Add auxiliary method to EventTargetHelpers for events without target
This commit is contained in:
thiagopnts 2014-12-14 02:38:29 -02:00 committed by Thiago Pontes
parent 1bc2c8a639
commit 79487252ca
7 changed files with 21 additions and 15 deletions

View file

@ -107,7 +107,8 @@ impl EventTarget {
pub trait EventTargetHelpers {
fn dispatch_event_with_target(self,
target: Option<JSRef<EventTarget>>,
event: JSRef<Event>) -> Fallible<bool>;
event: JSRef<Event>) -> bool;
fn dispatch_event(self, event: JSRef<Event>) -> bool;
fn set_inline_event_listener(self,
ty: DOMString,
listener: Option<EventListener>);
@ -128,11 +129,12 @@ pub trait EventTargetHelpers {
impl<'a> EventTargetHelpers for JSRef<'a, EventTarget> {
fn dispatch_event_with_target(self,
target: Option<JSRef<EventTarget>>,
event: JSRef<Event>) -> Fallible<bool> {
if event.dispatching() || !event.initialized() {
return Err(InvalidState);
}
Ok(dispatch_event(self, target, event))
event: JSRef<Event>) -> bool {
dispatch_event(self, target, event)
}
fn dispatch_event(self, event: JSRef<Event>) -> bool {
self.dispatch_event_with_target(None, event)
}
fn set_inline_event_listener(self,
@ -290,7 +292,10 @@ impl<'a> EventTargetMethods for JSRef<'a, EventTarget> {
}
fn DispatchEvent(self, event: JSRef<Event>) -> Fallible<bool> {
self.dispatch_event_with_target(None, event)
if event.dispatching() || !event.initialized() {
return Err(InvalidState);
}
Ok(self.dispatch_event(event))
}
}