Only use unhandledrejection fallback when needed

This commit is contained in:
Pierre Ossman 2017-03-02 15:47:22 +01:00
parent 36653517a5
commit 999b5da753
2 changed files with 20 additions and 16 deletions

View File

@ -1172,15 +1172,17 @@ if (typeof document != 'undefined' && document.getElementsByTagName) {
function handleError(err) { function handleError(err) {
// dispatch an error event so that we can display in errors in browsers // dispatch an error event so that we can display in errors in browsers
// that don't yet support unhandledrejection // that don't yet support unhandledrejection
try { if (window.onunhandledrejection === undefined) {
var evt = new Event('error'); try {
} catch (_eventError) { var evt = new Event('error');
var evt = document.createEvent('Event'); } catch (_eventError) {
evt.initEvent('error', true, true); var evt = document.createEvent('Event');
evt.initEvent('error', true, true);
}
evt.message = err.message;
evt.error = err;
window.dispatchEvent(evt);
} }
evt.message = err.message;
evt.error = err;
window.dispatchEvent(evt);
// throw so it still shows up in the console // throw so it still shows up in the console
throw err; throw err;

View File

@ -12,15 +12,17 @@ if (typeof document != 'undefined' && document.getElementsByTagName) {
function handleError(err) { function handleError(err) {
// dispatch an error event so that we can display in errors in browsers // dispatch an error event so that we can display in errors in browsers
// that don't yet support unhandledrejection // that don't yet support unhandledrejection
try { if (window.onunhandledrejection === undefined) {
var evt = new Event('error'); try {
} catch (_eventError) { var evt = new Event('error');
var evt = document.createEvent('Event'); } catch (_eventError) {
evt.initEvent('error', true, true); var evt = document.createEvent('Event');
evt.initEvent('error', true, true);
}
evt.message = err.message;
evt.error = err;
window.dispatchEvent(evt);
} }
evt.message = err.message;
evt.error = err;
window.dispatchEvent(evt);
// throw so it still shows up in the console // throw so it still shows up in the console
throw err; throw err;