Set webPrereferences from features tring
authorKevin Sawicki <kevinsawicki@gmail.com>
Wed, 16 Mar 2016 17:59:47 +0000 (10:59 -0700)
committerKevin Sawicki <kevinsawicki@gmail.com>
Thu, 17 Mar 2016 20:37:07 +0000 (13:37 -0700)
lib/renderer/override.js

index 2aceec5..d9e0012 100644 (file)
@@ -101,6 +101,7 @@ window.open = function(url, frameName, features) {
   }
   options = {};
   ints = ['x', 'y', 'width', 'height', 'min-width', 'max-width', 'min-height', 'max-height', 'zoom-factor'];
+  const webPreferences = ['zoom-factor', 'zoomFactor', 'node-integration', 'nodeIntegration', 'preload'];
 
   // Make sure to get rid of excessive whitespace in the property name
   ref1 = features.split(/,\s*/);
@@ -109,7 +110,15 @@ window.open = function(url, frameName, features) {
     ref2 = feature.split(/\s*=/);
     name = ref2[0];
     value = ref2[1];
-    options[name] = value === 'yes' || value === '1' ? true : value === 'no' || value === '0' ? false : value;
+    value = value === 'yes' || value === '1' ? true : value === 'no' || value === '0' ? false : value;
+    if (webPreferences.includes(name)) {
+      if (options.webPreferences == null) {
+        options.webPreferences = {};
+      }
+      options.webPreferences[name] = value;
+    } else {
+      options[name] = value;
+    }
   }
   if (options.left) {
     if (options.x == null) {