summaryrefslogtreecommitdiff
path: root/vendor
diff options
context:
space:
mode:
authorPierre Ossman <ossman@cendio.se>2017-03-02 15:46:05 +0100
committerPierre Ossman <ossman@cendio.se>2017-03-27 16:29:38 +0200
commit36653517a52f2ea3341f2e6be46a394240ae9d0d (patch)
tree7072fac1d2c116ec4265b9aef3c7ed54e8fec386 /vendor
parent732233eda0817dd611dda16e430375be116edfcf (diff)
downloadnovnc-36653517a52f2ea3341f2e6be46a394240ae9d0d.tar.gz
Use common code to handle Promise errors
Diffstat (limited to 'vendor')
-rw-r--r--vendor/browser-es-module-loader/dist/browser-es-module-loader.js51
-rw-r--r--vendor/browser-es-module-loader/src/browser-es-module-loader.js51
2 files changed, 38 insertions, 64 deletions
diff --git a/vendor/browser-es-module-loader/dist/browser-es-module-loader.js b/vendor/browser-es-module-loader/dist/browser-es-module-loader.js
index f191d1a..9ff4f15 100644
--- a/vendor/browser-es-module-loader/dist/browser-es-module-loader.js
+++ b/vendor/browser-es-module-loader/dist/browser-es-module-loader.js
@@ -1169,6 +1169,23 @@ var loader;
// <script type="module"> support
var anonSources = {};
if (typeof document != 'undefined' && document.getElementsByTagName) {
+ function handleError(err) {
+ // dispatch an error event so that we can display in errors in browsers
+ // that don't yet support unhandledrejection
+ try {
+ var evt = new Event('error');
+ } catch (_eventError) {
+ var evt = document.createEvent('Event');
+ evt.initEvent('error', true, true);
+ }
+ evt.message = err.message;
+ evt.error = err;
+ window.dispatchEvent(evt);
+
+ // throw so it still shows up in the console
+ throw err;
+ }
+
function ready() {
document.removeEventListener('DOMContentLoaded', ready, false );
@@ -1180,22 +1197,7 @@ if (typeof document != 'undefined' && document.getElementsByTagName) {
if (script.type == 'module' && !script.loaded) {
script.loaded = true;
if (script.src) {
- loader.import(script.src).catch(function(err) {
- // dispatch an error event so that we can display in errors in browsers
- // that don't yet support unhandledrejection
- try {
- var evt = new Event('error');
- } catch (_eventError) {
- var evt = document.createEvent('Event');
- evt.initEvent('error', true, true);
- }
- evt.message = err.message;
- evt.error = err;
- window.dispatchEvent(evt);
-
- // throw so it still shows up in the console
- throw err;
- });
+ loader.import(script.src).catch(handleError);
}
// anonymous modules supported via a custom naming scheme and registry
else {
@@ -1206,22 +1208,7 @@ if (typeof document != 'undefined' && document.getElementsByTagName) {
var anonName = resolveIfNotPlain(uri, baseURI);
anonSources[anonName] = script.innerHTML;
- loader.import(anonName).catch(function(err) {
- // dispatch an error event so that we can display in errors in browsers
- // that don't yet support unhandledrejection
- try {
- var evt = new Event('error');
- } catch (_eventError) {
- var evt = document.createEvent('Event');
- evt.initEvent('error', true, true);
- }
- evt.message = err.message;
- evt.error = err;
- window.dispatchEvent(evt);
-
- // throw so it still shows up in the console
- throw err;
- });
+ loader.import(anonName).catch(handleError);
}
}
}
diff --git a/vendor/browser-es-module-loader/src/browser-es-module-loader.js b/vendor/browser-es-module-loader/src/browser-es-module-loader.js
index 4b968eb..4df849d 100644
--- a/vendor/browser-es-module-loader/src/browser-es-module-loader.js
+++ b/vendor/browser-es-module-loader/src/browser-es-module-loader.js
@@ -9,6 +9,23 @@ var loader;
// <script type="module"> support
var anonSources = {};
if (typeof document != 'undefined' && document.getElementsByTagName) {
+ function handleError(err) {
+ // dispatch an error event so that we can display in errors in browsers
+ // that don't yet support unhandledrejection
+ try {
+ var evt = new Event('error');
+ } catch (_eventError) {
+ var evt = document.createEvent('Event');
+ evt.initEvent('error', true, true);
+ }
+ evt.message = err.message;
+ evt.error = err;
+ window.dispatchEvent(evt);
+
+ // throw so it still shows up in the console
+ throw err;
+ }
+
function ready() {
document.removeEventListener('DOMContentLoaded', ready, false );
@@ -20,22 +37,7 @@ if (typeof document != 'undefined' && document.getElementsByTagName) {
if (script.type == 'module' && !script.loaded) {
script.loaded = true;
if (script.src) {
- loader.import(script.src).catch(function(err) {
- // dispatch an error event so that we can display in errors in browsers
- // that don't yet support unhandledrejection
- try {
- var evt = new Event('error');
- } catch (_eventError) {
- var evt = document.createEvent('Event');
- evt.initEvent('error', true, true);
- }
- evt.message = err.message;
- evt.error = err;
- window.dispatchEvent(evt);
-
- // throw so it still shows up in the console
- throw err;
- });
+ loader.import(script.src).catch(handleError);
}
// anonymous modules supported via a custom naming scheme and registry
else {
@@ -46,22 +48,7 @@ if (typeof document != 'undefined' && document.getElementsByTagName) {
var anonName = resolveIfNotPlain(uri, baseURI);
anonSources[anonName] = script.innerHTML;
- loader.import(anonName).catch(function(err) {
- // dispatch an error event so that we can display in errors in browsers
- // that don't yet support unhandledrejection
- try {
- var evt = new Event('error');
- } catch (_eventError) {
- var evt = document.createEvent('Event');
- evt.initEvent('error', true, true);
- }
- evt.message = err.message;
- evt.error = err;
- window.dispatchEvent(evt);
-
- // throw so it still shows up in the console
- throw err;
- });
+ loader.import(anonName).catch(handleError);
}
}
}