chore: simplify main world setup of contextIsolation (#16046)

This commit is contained in:
Cheng Zhao 2018-12-14 06:25:12 +09:00 committed by John Kleinschmidt
parent d6d245d0c3
commit 897c6e93cb
7 changed files with 34 additions and 49 deletions

View file

@ -1,25 +1,11 @@
'use strict'
/* global binding */
/* global nodeProcess, isolatedWorld */
const { send, sendSync } = binding
// Note: Don't use "process", as it will be replaced by browserify's one.
const v8Util = nodeProcess.atomBinding('v8_util')
const ipcRenderer = {
send (...args) {
return send('ipc-internal-message', args)
},
const isolatedWorldArgs = v8Util.getHiddenValue(isolatedWorld, 'isolated-world-args')
const { ipcRenderer, guestInstanceId, hiddenPage, openerId, usesNativeWindowOpen } = isolatedWorldArgs
sendSync (...args) {
return sendSync('ipc-internal-message-sync', args)[0]
},
// No-ops since events aren't received
on () {},
once () {}
}
let { guestInstanceId, hiddenPage, openerId, nativeWindowOpen } = binding
if (guestInstanceId != null) guestInstanceId = parseInt(guestInstanceId)
if (openerId != null) openerId = parseInt(openerId)
require('@electron/internal/renderer/window-setup')(ipcRenderer, guestInstanceId, openerId, hiddenPage, nativeWindowOpen)
require('@electron/internal/renderer/window-setup')(ipcRenderer, guestInstanceId, openerId, hiddenPage, usesNativeWindowOpen)