about summary refs log tree commit diff
path: root/app/javascript/packs/application.js
diff options
context:
space:
mode:
authorNolan Lawson <nolan@nolanlawson.com>2017-05-30 06:11:15 -0700
committerEugen Rochko <eugen@zeonfederated.com>2017-05-30 15:11:15 +0200
commitb42bdd80e8a25f0ea5d121431265b428a34d1a65 (patch)
tree1e6cc6b07e9842924d5c704a79cf236a4c42d672 /app/javascript/packs/application.js
parent76fa9d24882784343476b93769c920bf83e75c2a (diff)
Extract polyfill loading into single module (#3421)
Diffstat (limited to 'app/javascript/packs/application.js')
-rw-r--r--app/javascript/packs/application.js34
1 files changed, 4 insertions, 30 deletions
diff --git a/app/javascript/packs/application.js b/app/javascript/packs/application.js
index be40726c6..8932dc513 100644
--- a/app/javascript/packs/application.js
+++ b/app/javascript/packs/application.js
@@ -1,32 +1,6 @@
 import main from '../mastodon/main';
+import loadPolyfills from '../mastodon/load_polyfills';
 
-const needsBasePolyfills = !(
-  window.Intl &&
-  Object.assign &&
-  Number.isNaN &&
-  window.Symbol &&
-  Array.prototype.includes
-);
-
-const needsExtraPolyfills = !(
-  window.IntersectionObserver &&
-  window.requestIdleCallback
-);
-
-// Latest version of Firefox and Safari do not have IntersectionObserver.
-// Edge does not have requestIdleCallback.
-// This avoids shipping them all the polyfills.
-if (needsBasePolyfills) {
-  Promise.all([
-    import(/* webpackChunkName: "base_polyfills" */ '../mastodon/base_polyfills'),
-    import(/* webpackChunkName: "extra_polyfills" */ '../mastodon/extra_polyfills'),
-  ]).then(main).catch(e => {
-    console.error(e); // eslint-disable-line no-console
-  });
-} else if (needsExtraPolyfills) {
-  import(/* webpackChunkName: "extra_polyfills" */ '../mastodon/extra_polyfills').then(main).catch(e => {
-    console.error(e); // eslint-disable-line no-console
-  });
-} else {
-  main();
-}
+loadPolyfills().then(main).catch(e => {
+  console.error(e); // eslint-disable-line no-console
+});