diff options
author | Pierre Ossman <ossman@cendio.se> | 2017-03-02 15:46:05 +0100 |
---|---|---|
committer | Pierre Ossman <ossman@cendio.se> | 2017-03-27 16:29:38 +0200 |
commit | 36653517a52f2ea3341f2e6be46a394240ae9d0d (patch) | |
tree | 7072fac1d2c116ec4265b9aef3c7ed54e8fec386 /vendor | |
parent | 732233eda0817dd611dda16e430375be116edfcf (diff) | |
download | novnc-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.js | 51 | ||||
-rw-r--r-- | vendor/browser-es-module-loader/src/browser-es-module-loader.js | 51 |
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); } } } |