Node integration option is now only true/false

This commit is contained in:
Cheng Zhao 2014-10-25 19:20:04 +08:00
parent 81170d81b3
commit d596a7427e
5 changed files with 14 additions and 10 deletions

View file

@ -16,7 +16,7 @@ app.on('ready', function() {
width: 800, width: 800,
height: 600, height: 600,
resizable: false, resizable: false,
'node-integration': 'disable', 'node-integration': true,
'auto-hide-menu-bar': true, 'auto-hide-menu-bar': true,
'use-content-size': true, 'use-content-size': true,
'web-preferences': { 'web-preferences': {

View file

@ -84,7 +84,7 @@ NativeWindow::NativeWindow(content::WebContents* web_contents,
has_frame_(true), has_frame_(true),
enable_larger_than_screen_(false), enable_larger_than_screen_(false),
is_closed_(false), is_closed_(false),
node_integration_("except-iframe"), node_integration_(true),
has_dialog_attached_(false), has_dialog_attached_(false),
zoom_factor_(1.0), zoom_factor_(1.0),
weak_factory_(this), weak_factory_(this),
@ -94,12 +94,16 @@ NativeWindow::NativeWindow(content::WebContents* web_contents,
options.Get(switches::kFrame, &has_frame_); options.Get(switches::kFrame, &has_frame_);
options.Get(switches::kEnableLargerThanScreen, &enable_larger_than_screen_); options.Get(switches::kEnableLargerThanScreen, &enable_larger_than_screen_);
options.Get(switches::kNodeIntegration, &node_integration_);
// Read icon before window is created. // Read icon before window is created.
options.Get(switches::kIcon, &icon_); options.Get(switches::kIcon, &icon_);
// Read iframe security before any navigation. // Be compatible with old API of "node-integration" option.
options.Get(switches::kNodeIntegration, &node_integration_); std::string old_string_token;
if (options.Get(switches::kNodeIntegration, &old_string_token) &&
old_string_token != "disable")
node_integration_ = true;
// Read the web preferences. // Read the web preferences.
options.Get(switches::kWebPreferences, &web_preferences_); options.Get(switches::kWebPreferences, &web_preferences_);
@ -341,7 +345,7 @@ void NativeWindow::AppendExtraCommandLineSwitches(
base::CommandLine* command_line, int child_process_id) { base::CommandLine* command_line, int child_process_id) {
// Append --node-integration to renderer process. // Append --node-integration to renderer process.
command_line->AppendSwitchASCII(switches::kNodeIntegration, command_line->AppendSwitchASCII(switches::kNodeIntegration,
node_integration_); node_integration_ ? "true" : "false");
// Append --zoom-factor. // Append --zoom-factor.
if (zoom_factor_ != 1.0) if (zoom_factor_ != 1.0)

View file

@ -288,8 +288,8 @@ class NativeWindow : public brightray::DefaultWebContentsDelegate,
// The windows has been closed. // The windows has been closed.
bool is_closed_; bool is_closed_;
// The security token of iframe. // Whether node integration is enabled.
std::string node_integration_; bool node_integration_;
// There is a dialog that has been attached to window. // There is a dialog that has been attached to window.
bool has_dialog_attached_; bool has_dialog_attached_;

View file

@ -22,7 +22,7 @@ require path.resolve(__dirname, '..', '..', 'common', 'lib', 'init.js')
# Process command line arguments. # Process command line arguments.
isGuest = false isGuest = false
nodeIntegration = 'all' nodeIntegration = 'false'
for arg in process.argv for arg in process.argv
if arg is '--guest' if arg is '--guest'
# This is a guest web view. # This is a guest web view.

View file

@ -51,8 +51,8 @@ You can also create a window without chrome by using
* `show` Boolean - Whether window should be shown when created * `show` Boolean - Whether window should be shown when created
* `frame` Boolean - Specify `false` to create a * `frame` Boolean - Specify `false` to create a
[Frameless Window](frameless-window.md) [Frameless Window](frameless-window.md)
* `node-integration` String - Default value is `except-iframe`, can also be * `node-integration` Boolean - Whether node integration is enabled, default
`all`, `manual-enable-iframe` or `disable`. is `true`
* `accept-first-mouse` Boolean - Whether the web view accepts a single * `accept-first-mouse` Boolean - Whether the web view accepts a single
mouse-down event that simultaneously activates the window mouse-down event that simultaneously activates the window
* `auto-hide-menu-bar` Boolean - Auto hide the menu bar unless the `Alt` * `auto-hide-menu-bar` Boolean - Auto hide the menu bar unless the `Alt`