Remove nodeIntegration warning of webview in BrowserWindow
nodeintegration attribute is ignored in React because it's unknown. So fortunately the integration is not working. New 'will-attach-webview' allows us to set nodeIntegration = false.
This commit is contained in:
parent
67c58ac074
commit
b1d586e9da
|
@ -233,7 +233,6 @@ const MattermostView = React.createClass({
|
|||
preload={preloadJS}
|
||||
src={this.props.src}
|
||||
ref='webview'
|
||||
nodeintegration='false'
|
||||
/>
|
||||
</div>);
|
||||
}
|
||||
|
|
|
@ -466,6 +466,10 @@ app.on('ready', () => {
|
|||
console.log('The application has crashed.');
|
||||
});
|
||||
|
||||
mainWindow.webContents.on('will-attach-webview', (event, webPreferences) => {
|
||||
webPreferences.nodeIntegration = false;
|
||||
});
|
||||
|
||||
mainWindow.on('unresponsive', () => {
|
||||
console.log('The application has become unresponsive.');
|
||||
});
|
||||
|
|
|
@ -51,17 +51,18 @@ describe('application', function desc() {
|
|||
|
||||
it('should NOT be able to call Node.js API in webview', () => {
|
||||
env.addClientCommands(this.app.client);
|
||||
|
||||
// webview is handled as a window by chromedriver.
|
||||
return this.app.client.
|
||||
windowByIndex(1).isNodeEnabled().should.eventually.be.false.
|
||||
windowByIndex(2).isNodeEnabled().should.eventually.be.false.
|
||||
windowByIndex(0).
|
||||
getAttribute('webview', 'nodeintegration').then((nodeintegration) => {
|
||||
// nodeintegration is an array of string
|
||||
nodeintegration.forEach((n) => {
|
||||
n.should.equal('false');
|
||||
});
|
||||
}).
|
||||
|
||||
// webview is handled as a window by chromedriver.
|
||||
windowByIndex(1).isNodeEnabled().should.eventually.be.false.
|
||||
windowByIndex(2).isNodeEnabled().should.eventually.be.false;
|
||||
});
|
||||
});
|
||||
|
||||
it('should NOT be able to call Node.js API in a new window', () => {
|
||||
|
|
Loading…
Reference in a new issue