aboutsummaryrefslogtreecommitdiffstats
path: root/components/script/dom/eventtarget.rs
diff options
context:
space:
mode:
Diffstat (limited to 'components/script/dom/eventtarget.rs')
-rw-r--r--components/script/dom/eventtarget.rs11
1 files changed, 7 insertions, 4 deletions
diff --git a/components/script/dom/eventtarget.rs b/components/script/dom/eventtarget.rs
index c941eb8e20e..1d3efd59b19 100644
--- a/components/script/dom/eventtarget.rs
+++ b/components/script/dom/eventtarget.rs
@@ -23,7 +23,7 @@ use dom::bindings::str::DOMString;
use dom::element::Element;
use dom::errorevent::ErrorEvent;
use dom::event::{Event, EventBubbles, EventCancelable};
-use dom::eventdispatcher::dispatch_event;
+use dom::eventdispatcher::{EventStatus, dispatch_event};
use dom::node::document_from_node;
use dom::virtualmethods::VirtualMethods;
use dom::window::Window;
@@ -300,11 +300,11 @@ impl EventTarget {
pub fn dispatch_event_with_target(&self,
target: &EventTarget,
- event: &Event) -> bool {
+ event: &Event) -> EventStatus {
dispatch_event(self, Some(target), event)
}
- pub fn dispatch_event(&self, event: &Event) -> bool {
+ pub fn dispatch_event(&self, event: &Event) -> EventStatus {
dispatch_event(self, None, event)
}
@@ -560,7 +560,10 @@ impl EventTargetMethods for EventTarget {
return Err(Error::InvalidState);
}
event.set_trusted(false);
- Ok(self.dispatch_event(event))
+ Ok(match self.dispatch_event(event) {
+ EventStatus::Canceled => false,
+ EventStatus::NotCanceled => true
+ })
}
}