Files
codeql/javascript/ql/test/library-tests/frameworks/Electron/electron.js
2019-02-23 21:43:13 +00:00

59 lines
1.2 KiB
JavaScript

const { ipcMain, ipcRenderer, BrowserView, BrowserWindow, ClientRequest, net } = require('electron')
var bw = new BrowserWindow({webPreferences: {}})
var bv = new BrowserView({webPreferences: {}})
function makeClientRequests() {
net.request('https://example.com').end();
var post = new ClientRequest({url: 'https://example.com', method: 'POST'});
post.on('response', (response) => {
response.on('data', (chunk) => {
chunk[0];
});
});
post.on('redirect', (redirect) => {
redirect.statusCode;
post.followRedirect();
});
post.on('login', (authInfo, callback) => {
authInfo.host;
callback('username', 'password');
});
post.on('error', (error) => {
error.something;
});
post.setHeader('referer', 'https://example.com');
post.write('stuff');
post.end('more stuff');
}
function foo(x) {
return x;
}
foo(bw).webContents;
foo(bv).webContents;
ipcMain.on('async', (event, arg) => {
event.sender.send('reply', 'pong');
arg
});
ipcMain.on('sync', (event, arg) => {
event.returnValue = 'pong';
arg
});
ipcRenderer.on('reply', (event, arg) => {
arg
});
ipcRenderer.send('async', 'ping');
ipcRenderer.sendSync('sync', 'ping');