Jelajahi Sumber

fix: cache init function ASAP

close #403
Gerald 7 tahun lalu
induk
melakukan
1193d16a5f
1 mengubah file dengan 4 tambahan dan 2 penghapusan
  1. 4 2
      src/injected/index.js

+ 4 - 2
src/injected/index.js

@@ -7,6 +7,9 @@ import initialize from './content';
   if (window.VM) return;
   window.VM = 1;
 
+  // Firefox bug: https://bugzilla.mozilla.org/show_bug.cgi?id=1408996
+  const VMInitInjection = window[process.env.INIT_FUNC_NAME];
+
   function initBridge() {
     const contentId = getUniqId();
     const webId = getUniqId();
@@ -30,9 +33,8 @@ import initialize from './content';
       contentId,
       Object.keys(props),
     ];
-    const init = window[process.env.INIT_FUNC_NAME];
     // Avoid using Function::apply in case it is shimmed
-    inject(`(${init.toString()}())(${args.map(arg => JSON.stringify(arg)).join(',')})`);
+    inject(`(${VMInitInjection.toString()}())(${args.map(arg => JSON.stringify(arg)).join(',')})`);
   }
 
   initBridge();