Files
actual/packages/desktop-electron/security.js
2024-01-19 23:02:21 +00:00

39 lines
1.0 KiB
JavaScript

const electron = require('electron');
electron.app.on('web-contents-created', function (event, contents) {
contents.on('will-attach-webview', function (event, webPreferences) {
delete webPreferences.preloadURL;
delete webPreferences.preload;
webPreferences.nodeIntegration = false;
webPreferences.webSecurity = true;
webPreferences.allowRunningInsecureContent = false;
webPreferences.experimentalFeatures = false;
webPreferences.enableBlinkFeatures = false;
// For now, we never use <webview>. Just disable it entirely.
event.preventDefault();
});
contents.on('will-navigate', event => {
event.preventDefault();
});
contents.on('new-window', event => {
event.preventDefault();
});
});
electron.app.on('ready', function () {
electron.session.defaultSession.setPermissionRequestHandler(
function (webContents, permission, callback) {
const url = webContents.getURL();
if (url.startsWith('file://')) {
callback(true);
} else {
callback(false);
}
},
);
});