ipc-renderer-internal.ts 852 B

123456789101112131415161718192021222324
  1. const binding = process.electronBinding('ipc')
  2. const v8Util = process.electronBinding('v8_util')
  3. // Created by init.js.
  4. export const ipcRendererInternal: Electron.IpcRendererInternal = v8Util.getHiddenValue(global, 'ipc-internal')
  5. const internal = true
  6. if (!ipcRendererInternal.send) {
  7. ipcRendererInternal.send = function (channel, ...args) {
  8. return binding.ipc.send(internal, channel, args)
  9. }
  10. ipcRendererInternal.sendSync = function (channel, ...args) {
  11. return binding.ipc.sendSync(internal, channel, args)[0]
  12. }
  13. ipcRendererInternal.sendTo = function (webContentsId, channel, ...args) {
  14. return binding.ipc.sendTo(internal, false, webContentsId, channel, args)
  15. }
  16. ipcRendererInternal.sendToAll = function (webContentsId, channel, ...args) {
  17. return binding.ipc.sendTo(internal, true, webContentsId, channel, args)
  18. }
  19. }