electron/spec/fixtures/module/preload-sandbox.js
Jeremy Rose db7c92fd57
test: drop now-empty remote runner (#35343)
* test: drop the now-empty remote runner from CI

* move fixtures to spec-main

* remove remote runner

* fix stuff

* remove global-paths hack

* move ts-smoke to spec/

* fix test after merge

* rename spec-main to spec

* no need to ignore spec/node_modules twice

* simplify spec-runner a little

* no need to hash pj/yl twice

* undo lint change to verify-mksnapshot.py

* excessive ..

* update electron_woa_testing.yml

* don't search for test-results-remote.xml

it is never produced now
2022-08-16 15:23:13 -04:00

64 lines
2.2 KiB
JavaScript

(function () {
const { setImmediate } = require('timers');
const { ipcRenderer } = require('electron');
window.ipcRenderer = ipcRenderer;
window.setImmediate = setImmediate;
window.require = require;
function invoke (code) {
try {
return code();
} catch {
return null;
}
}
process.once('loaded', () => {
ipcRenderer.send('process-loaded');
});
if (location.protocol === 'file:') {
window.test = 'preload';
window.process = process;
if (process.env.sandboxmain) {
window.test = {
osSandbox: !process.argv.includes('--no-sandbox'),
hasCrash: typeof process.crash === 'function',
hasHang: typeof process.hang === 'function',
creationTime: invoke(() => process.getCreationTime()),
heapStatistics: invoke(() => process.getHeapStatistics()),
blinkMemoryInfo: invoke(() => process.getBlinkMemoryInfo()),
processMemoryInfo: invoke(() => process.getProcessMemoryInfo() ? {} : null),
systemMemoryInfo: invoke(() => process.getSystemMemoryInfo()),
systemVersion: invoke(() => process.getSystemVersion()),
cpuUsage: invoke(() => process.getCPUUsage()),
ioCounters: invoke(() => process.getIOCounters()),
uptime: invoke(() => process.uptime()),
env: process.env,
execPath: process.execPath,
pid: process.pid,
arch: process.arch,
platform: process.platform,
sandboxed: process.sandboxed,
contextIsolated: process.contextIsolated,
type: process.type,
version: process.version,
versions: process.versions,
contextId: process.contextId
};
}
} else if (location.href !== 'about:blank') {
addEventListener('DOMContentLoaded', () => {
ipcRenderer.on('touch-the-opener', () => {
let errorMessage = null;
try {
const openerDoc = opener.document; // eslint-disable-line no-unused-vars
} catch (error) {
errorMessage = error.message;
}
ipcRenderer.send('answer', errorMessage);
});
ipcRenderer.send('child-loaded', window.opener == null, document.body.innerHTML, location.href);
});
}
})();