refactor: use separate ipc-renderer-internal / ipc-main-internal APIs for Electron internals (#13940)
This commit is contained in:
parent
f7122610cc
commit
b50f86ef43
49 changed files with 322 additions and 133 deletions
12
lib/renderer/api/crash-reporter.js
Normal file
12
lib/renderer/api/crash-reporter.js
Normal file
|
@ -0,0 +1,12 @@
|
|||
'use strict'
|
||||
|
||||
const CrashReporter = require('@electron/internal/common/crash-reporter')
|
||||
const ipcRenderer = require('@electron/internal/renderer/ipc-renderer-internal')
|
||||
|
||||
class CrashReporterRenderer extends CrashReporter {
|
||||
sendSync (channel, ...args) {
|
||||
return ipcRenderer.sendSync(channel, ...args)
|
||||
}
|
||||
}
|
||||
|
||||
module.exports = new CrashReporterRenderer()
|
|
@ -1,6 +1,7 @@
|
|||
'use strict'
|
||||
|
||||
const { ipcRenderer, nativeImage } = require('electron')
|
||||
const { nativeImage } = require('electron')
|
||||
const ipcRenderer = require('@electron/internal/renderer/ipc-renderer-internal')
|
||||
|
||||
const includes = [].includes
|
||||
let currentId = 0
|
||||
|
|
|
@ -5,6 +5,7 @@ const v8Util = process.atomBinding('v8_util')
|
|||
|
||||
// Created by init.js.
|
||||
const ipcRenderer = v8Util.getHiddenValue(global, 'ipc')
|
||||
const internal = false
|
||||
|
||||
ipcRenderer.send = function (...args) {
|
||||
return binding.send('ipc-message', args)
|
||||
|
@ -19,19 +20,11 @@ ipcRenderer.sendToHost = function (...args) {
|
|||
}
|
||||
|
||||
ipcRenderer.sendTo = function (webContentsId, channel, ...args) {
|
||||
return binding.sendTo(false, webContentsId, channel, args)
|
||||
return binding.sendTo(internal, false, webContentsId, channel, args)
|
||||
}
|
||||
|
||||
ipcRenderer.sendToAll = function (webContentsId, channel, ...args) {
|
||||
return binding.sendTo(true, webContentsId, channel, args)
|
||||
}
|
||||
|
||||
const removeAllListeners = ipcRenderer.removeAllListeners.bind(ipcRenderer)
|
||||
ipcRenderer.removeAllListeners = function (...args) {
|
||||
if (args.length === 0) {
|
||||
throw new Error('Removing all listeners from ipcRenderer will make Electron internals stop working. Please specify a event name')
|
||||
}
|
||||
removeAllListeners(...args)
|
||||
return binding.sendTo(internal, true, webContentsId, channel, args)
|
||||
}
|
||||
|
||||
module.exports = ipcRenderer
|
||||
|
|
|
@ -5,6 +5,7 @@ const features = process.atomBinding('features')
|
|||
// Renderer side modules, please sort alphabetically.
|
||||
// A module is `enabled` if there is no explicit condition defined.
|
||||
module.exports = [
|
||||
{ name: 'crashReporter', file: 'crash-reporter', enabled: true },
|
||||
{
|
||||
name: 'desktopCapturer',
|
||||
file: 'desktop-capturer',
|
||||
|
|
|
@ -1,12 +1,13 @@
|
|||
'use strict'
|
||||
|
||||
const v8Util = process.atomBinding('v8_util')
|
||||
const { ipcRenderer, isPromise } = require('electron')
|
||||
const { isPromise } = require('electron')
|
||||
const resolvePromise = Promise.resolve.bind(Promise)
|
||||
|
||||
const CallbacksRegistry = require('@electron/internal/renderer/callbacks-registry')
|
||||
const bufferUtils = require('@electron/internal/common/buffer-utils')
|
||||
const errorUtils = require('@electron/internal/common/error-utils')
|
||||
const ipcRenderer = require('@electron/internal/renderer/ipc-renderer-internal')
|
||||
|
||||
const callbacksRegistry = new CallbacksRegistry()
|
||||
const remoteObjectCache = v8Util.createIDWeakMap()
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue