feat: expose missing process APIs in sandboxed renderers (#13505)

This commit is contained in:
Milan Burda 2018-08-21 20:05:45 +02:00 committed by Samuel Attard
parent f82f89b2a3
commit fc85d02786
11 changed files with 95 additions and 35 deletions

View file

@ -36,7 +36,7 @@ const loadedModules = new Map([
])
const {
preloadSrc, preloadError, platform, env
preloadSrc, preloadError, process: processProps
} = electron.ipcRenderer.sendSync('ELECTRON_BROWSER_SANDBOX_LOAD')
require('../renderer/web-frame-init')()
@ -49,10 +49,16 @@ preloadProcess.hang = () => binding.hang()
preloadProcess.getHeapStatistics = () => binding.getHeapStatistics()
preloadProcess.getProcessMemoryInfo = () => binding.getProcessMemoryInfo()
preloadProcess.getSystemMemoryInfo = () => binding.getSystemMemoryInfo()
preloadProcess.getCPUUsage = () => binding.getCPUUsage()
preloadProcess.getIOCounters = () => binding.getIOCounters()
preloadProcess.argv = process.argv = binding.getArgv()
preloadProcess.execPath = process.execPath = binding.getExecPath()
preloadProcess.platform = process.platform = platform
preloadProcess.env = process.env = env
preloadProcess.pid = process.pid = binding.getPid()
preloadProcess.resourcesPath = binding.getResourcesPath()
preloadProcess.sandboxed = true
preloadProcess.type = 'renderer'
Object.assign(preloadProcess, processProps)
Object.assign(process, processProps)
process.on('exit', () => preloadProcess.emit('exit'))