2016-09-26 17:40:45 -03:00
|
|
|
(function () {
|
2023-06-15 16:42:27 +02:00
|
|
|
const { setImmediate } = require('node:timers');
|
2020-03-20 13:28:31 -07:00
|
|
|
const { ipcRenderer } = require('electron');
|
|
|
|
window.ipcRenderer = ipcRenderer;
|
|
|
|
window.setImmediate = setImmediate;
|
|
|
|
window.require = require;
|
2019-03-01 07:24:18 +01:00
|
|
|
|
|
|
|
function invoke (code) {
|
|
|
|
try {
|
2020-03-20 13:28:31 -07:00
|
|
|
return code();
|
2019-03-01 07:24:18 +01:00
|
|
|
} catch {
|
2020-03-20 13:28:31 -07:00
|
|
|
return null;
|
2019-03-01 07:24:18 +01:00
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2019-04-04 20:35:06 +02:00
|
|
|
process.once('loaded', () => {
|
2020-03-20 13:28:31 -07:00
|
|
|
ipcRenderer.send('process-loaded');
|
|
|
|
});
|
2019-04-04 20:35:06 +02:00
|
|
|
|
2016-09-26 17:40:45 -03:00
|
|
|
if (location.protocol === 'file:') {
|
2020-03-20 13:28:31 -07:00
|
|
|
window.test = 'preload';
|
|
|
|
window.process = process;
|
2018-03-13 20:01:40 -07:00
|
|
|
if (process.env.sandboxmain) {
|
2018-07-30 03:13:42 +02:00
|
|
|
window.test = {
|
2019-03-01 07:24:18 +01:00
|
|
|
osSandbox: !process.argv.includes('--no-sandbox'),
|
|
|
|
hasCrash: typeof process.crash === 'function',
|
|
|
|
hasHang: typeof process.hang === 'function',
|
|
|
|
creationTime: invoke(() => process.getCreationTime()),
|
|
|
|
heapStatistics: invoke(() => process.getHeapStatistics()),
|
2019-05-30 11:50:35 +02:00
|
|
|
blinkMemoryInfo: invoke(() => process.getBlinkMemoryInfo()),
|
2019-10-09 10:59:08 -07:00
|
|
|
processMemoryInfo: invoke(() => process.getProcessMemoryInfo() ? {} : null),
|
2019-03-01 07:24:18 +01:00
|
|
|
systemMemoryInfo: invoke(() => process.getSystemMemoryInfo()),
|
|
|
|
systemVersion: invoke(() => process.getSystemVersion()),
|
|
|
|
cpuUsage: invoke(() => process.getCPUUsage()),
|
2020-11-30 08:49:18 +01:00
|
|
|
uptime: invoke(() => process.uptime()),
|
2023-06-15 16:42:27 +02:00
|
|
|
// eslint-disable-next-line unicorn/prefer-node-protocol
|
2023-06-10 20:36:16 +02:00
|
|
|
nodeEvents: invoke(() => require('events') === require('node:events')),
|
2023-06-15 16:42:27 +02:00
|
|
|
// eslint-disable-next-line unicorn/prefer-node-protocol
|
2023-06-10 20:36:16 +02:00
|
|
|
nodeTimers: invoke(() => require('timers') === require('node:timers')),
|
2023-06-15 16:42:27 +02:00
|
|
|
// eslint-disable-next-line unicorn/prefer-node-protocol
|
2023-06-10 20:36:16 +02:00
|
|
|
nodeUrl: invoke(() => require('url') === require('node:url')),
|
2018-07-30 03:13:42 +02:00
|
|
|
env: process.env,
|
|
|
|
execPath: process.execPath,
|
2018-08-21 20:05:45 +02:00
|
|
|
pid: process.pid,
|
|
|
|
arch: process.arch,
|
|
|
|
platform: process.platform,
|
|
|
|
sandboxed: process.sandboxed,
|
2021-03-18 14:00:19 -07:00
|
|
|
contextIsolated: process.contextIsolated,
|
2018-08-21 20:05:45 +02:00
|
|
|
type: process.type,
|
|
|
|
version: process.version,
|
2021-03-17 19:23:03 +01:00
|
|
|
versions: process.versions,
|
|
|
|
contextId: process.contextId
|
2020-03-20 13:28:31 -07:00
|
|
|
};
|
2018-03-13 20:01:40 -07:00
|
|
|
}
|
2016-09-26 17:40:45 -03:00
|
|
|
} else if (location.href !== 'about:blank') {
|
|
|
|
addEventListener('DOMContentLoaded', () => {
|
2018-12-05 09:03:39 +01:00
|
|
|
ipcRenderer.on('touch-the-opener', () => {
|
2020-03-20 13:28:31 -07:00
|
|
|
let errorMessage = null;
|
2018-12-05 09:03:39 +01:00
|
|
|
try {
|
2023-06-26 11:51:54 +02:00
|
|
|
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
2023-05-25 03:09:17 +02:00
|
|
|
const openerDoc = opener.document;
|
2018-12-05 09:03:39 +01:00
|
|
|
} catch (error) {
|
2020-03-20 13:28:31 -07:00
|
|
|
errorMessage = error.message;
|
2018-12-05 09:03:39 +01:00
|
|
|
}
|
2020-03-20 13:28:31 -07:00
|
|
|
ipcRenderer.send('answer', errorMessage);
|
|
|
|
});
|
|
|
|
ipcRenderer.send('child-loaded', window.opener == null, document.body.innerHTML, location.href);
|
|
|
|
});
|
2016-09-26 17:40:45 -03:00
|
|
|
}
|
2020-03-20 13:28:31 -07:00
|
|
|
})();
|