diff --git a/spec/api-browser-window-spec.coffee b/spec/api-browser-window-spec.coffee index fa7a8ae33a9c..15cd621ba271 100644 --- a/spec/api-browser-window-spec.coffee +++ b/spec/api-browser-window-spec.coffee @@ -182,15 +182,36 @@ describe 'browser-window module', -> assert.equal after[0], size.width assert.equal after[1], size.height - describe '"preload" options', -> - it 'loads the script before other scripts in window', (done) -> - preload = path.join fixtures, 'module', 'set-global.js' - remote.require('ipc').once 'preload', (event, test) -> - assert.equal(test, 'preload') - done() - w.destroy() - w = new BrowserWindow(show: false, width: 400, height: 400, preload: preload) - w.loadUrl 'file://' + path.join(fixtures, 'api', 'preload.html') + describe '"web-preferences" option', -> + afterEach -> + remote.require('ipc').removeAllListeners('answer') + + describe '"preload" option', -> + it 'loads the script before other scripts in window', (done) -> + preload = path.join fixtures, 'module', 'set-global.js' + remote.require('ipc').once 'answer', (event, test) -> + assert.equal(test, 'preload') + done() + w.destroy() + w = new BrowserWindow + show: false + 'web-preferences': + preload: preload + w.loadUrl 'file://' + path.join(fixtures, 'api', 'preload.html') + + describe '"node-integration" option', -> + it 'disables node integration when specified to false', (done) -> + preload = path.join fixtures, 'module', 'send-later.js' + remote.require('ipc').once 'answer', (event, test) -> + assert.equal(test, 'undefined') + done() + w.destroy() + w = new BrowserWindow + show: false + 'web-preferences': + preload: preload + 'node-integration': false + w.loadUrl 'file://' + path.join(fixtures, 'api', 'blank.html') describe 'beforeunload handler', -> it 'returning true would not prevent close', (done) -> diff --git a/spec/fixtures/api/blank.html b/spec/fixtures/api/blank.html new file mode 100644 index 000000000000..accfb421446d --- /dev/null +++ b/spec/fixtures/api/blank.html @@ -0,0 +1,5 @@ + + + diff --git a/spec/fixtures/api/preload.html b/spec/fixtures/api/preload.html index 22dee23444fa..ece481f92413 100644 --- a/spec/fixtures/api/preload.html +++ b/spec/fixtures/api/preload.html @@ -3,7 +3,7 @@ diff --git a/spec/fixtures/module/send-later.js b/spec/fixtures/module/send-later.js new file mode 100644 index 000000000000..fce96b84b787 --- /dev/null +++ b/spec/fixtures/module/send-later.js @@ -0,0 +1,4 @@ +var ipc = require('ipc'); +window.onload = function() { + ipc.send('answer', typeof window.process); +} diff --git a/spec/static/main.js b/spec/static/main.js index 1f6f9325e490..38ba7cc089de 100644 --- a/spec/static/main.js +++ b/spec/static/main.js @@ -2,7 +2,6 @@ var app = require('app'); var ipc = require('ipc'); var dialog = require('dialog'); var BrowserWindow = require('browser-window'); -var Menu = require('menu'); var window = null; process.port = 0; // will be used by crash-reporter spec. @@ -52,93 +51,6 @@ app.on('window-all-closed', function() { }); app.on('ready', function() { - var template = [ - { - label: 'Atom', - submenu: [ - { - label: 'Quit', - accelerator: 'CommandOrControl+Q', - click: function(item, window) { app.quit(); } - }, - ], - }, - { - label: 'Edit', - submenu: [ - { - label: 'Undo', - accelerator: 'CommandOrControl+Z', - selector: 'undo:', - }, - { - label: 'Redo', - accelerator: 'CommandOrControl+Shift+Z', - selector: 'redo:', - }, - { - type: 'separator', - }, - { - label: 'Cut', - accelerator: 'CommandOrControl+X', - selector: 'cut:', - }, - { - label: 'Copy', - accelerator: 'CommandOrControl+C', - selector: 'copy:', - }, - { - label: 'Paste', - accelerator: 'CommandOrControl+V', - selector: 'paste:', - }, - { - label: 'Select All', - accelerator: 'CommandOrControl+A', - selector: 'selectAll:', - }, - ] - }, - { - label: 'View', - submenu: [ - { - label: 'Reload', - accelerator: 'CommandOrControl+R', - click: function(item, window) { window.restart(); } - }, - { - label: 'Enter Fullscreen', - click: function(item, window) { window.setFullScreen(true); } - }, - { - label: 'Toggle DevTools', - accelerator: 'Alt+CommandOrControl+I', - click: function(item, window) { window.toggleDevTools(); } - }, - ] - }, - { - label: 'Window', - submenu: [ - { - label: 'Open', - accelerator: 'CommandOrControl+O', - }, - { - label: 'Close', - accelerator: 'CommandOrControl+W', - click: function(item, window) { window.close(); } - }, - ] - }, - ]; - - var menu = Menu.buildFromTemplate(template); - app.setApplicationMenu(menu); - // Test if using protocol module would crash. require('protocol').registerStringProtocol('test-if-crashes', function() {}); diff --git a/vendor/native_mate b/vendor/native_mate index 8ca005eb4159..b7387da0854b 160000 --- a/vendor/native_mate +++ b/vendor/native_mate @@ -1 +1 @@ -Subproject commit 8ca005eb41591f583ebab804945311903f866ad6 +Subproject commit b7387da0854b20d376fdae0d93a01f83d080668d