aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorCameron Zwarich <zwarich@mozilla.com>2014-06-04 17:05:50 -0700
committerCameron Zwarich <zwarich@mozilla.com>2014-06-04 17:05:50 -0700
commit7a18ab59c83e74b12ce26f072e908595aba2f634 (patch)
treee0c1880e7db66a1bfd24a4558d48484605738f7c
parent473b9e488bf7354e4bed434ca99039328ddd5823 (diff)
downloadservo-7a18ab59c83e74b12ce26f072e908595aba2f634.tar.gz
servo-7a18ab59c83e74b12ce26f072e908595aba2f634.zip
Drop event listener exceptions on the floor.
We get a lot of failures from assertions that event listeners haven't thrown exceptions. As the FIXME above these assertions suggests, we should just drop them on the floor.
-rw-r--r--src/components/script/dom/eventdispatcher.rs16
1 files changed, 7 insertions, 9 deletions
diff --git a/src/components/script/dom/eventdispatcher.rs b/src/components/script/dom/eventdispatcher.rs
index 819bd135bf6..2dc2b3a8c1d 100644
--- a/src/components/script/dom/eventdispatcher.rs
+++ b/src/components/script/dom/eventdispatcher.rs
@@ -48,9 +48,8 @@ pub fn dispatch_event<'a, 'b>(target: &JSRef<'a, EventTarget>,
Some(listeners) => {
event.current_target.assign(Some(cur_target.deref().clone()));
for listener in listeners.iter() {
- //FIXME: this should have proper error handling, or explicitly
- // drop the exception on the floor
- assert!(listener.HandleEvent_(&**cur_target, event, ReportExceptions).is_ok());
+ // Explicitly drop any exception on the floor.
+ let _ = listener.HandleEvent_(&**cur_target, event, ReportExceptions);
if event.deref().stop_immediate {
break;
@@ -78,9 +77,9 @@ pub fn dispatch_event<'a, 'b>(target: &JSRef<'a, EventTarget>,
let opt_listeners = target.deref().get_listeners(type_);
for listeners in opt_listeners.iter() {
for listener in listeners.iter() {
- //FIXME: this should have proper error handling, or explicitly drop the
- // exception on the floor.
- assert!(listener.HandleEvent_(target, event, ReportExceptions).is_ok());
+ // Explicitly drop any exception on the floor.
+ let _ = listener.HandleEvent_(target, event, ReportExceptions);
+
if event.deref().stop_immediate {
break;
}
@@ -97,9 +96,8 @@ pub fn dispatch_event<'a, 'b>(target: &JSRef<'a, EventTarget>,
Some(listeners) => {
event.deref_mut().current_target.assign(Some(cur_target.deref().clone()));
for listener in listeners.iter() {
- //FIXME: this should have proper error handling or explicitly
- // drop exceptions on the floor.
- assert!(listener.HandleEvent_(&**cur_target, event, ReportExceptions).is_ok());
+ // Explicitly drop any exception on the floor.
+ let _ = listener.HandleEvent_(&**cur_target, event, ReportExceptions);
if event.deref().stop_immediate {
break;