diff options
author | Cameron Zwarich <zwarich@mozilla.com> | 2014-06-04 17:05:50 -0700 |
---|---|---|
committer | Cameron Zwarich <zwarich@mozilla.com> | 2014-06-04 17:05:50 -0700 |
commit | 7a18ab59c83e74b12ce26f072e908595aba2f634 (patch) | |
tree | e0c1880e7db66a1bfd24a4558d48484605738f7c | |
parent | 473b9e488bf7354e4bed434ca99039328ddd5823 (diff) | |
download | servo-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.rs | 16 |
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; |