diff --git a/lib/browser/api/ipc-main.js b/lib/browser/api/ipc-main.js index 0c2592f941..2c2978e973 100644 --- a/lib/browser/api/ipc-main.js +++ b/lib/browser/api/ipc-main.js @@ -1,14 +1,16 @@ const EventEmitter = require('events').EventEmitter -module.exports = new EventEmitter() +const emitter = new EventEmitter() -const removeAllListeners = module.exports.removeAllListeners -module.exports.removeAllListeners = function (...args) { +const removeAllListeners = emitter.removeAllListeners.bind(emitter) +emitter.removeAllListeners = function (...args) { if (args.length === 0) { throw new Error('Removing all listeners from ipcMain will make Electron internals stop working. Please specify a event name') } - removeAllListeners.apply(this, args) + removeAllListeners(...args) } // Do not throw exception when channel name is "error". -module.exports.on('error', () => {}) +emitter.on('error', () => {}) + +module.exports = emitter diff --git a/lib/renderer/api/ipc-renderer-setup.js b/lib/renderer/api/ipc-renderer-setup.js index 2cebc6a9c3..c899452fdd 100644 --- a/lib/renderer/api/ipc-renderer-setup.js +++ b/lib/renderer/api/ipc-renderer-setup.js @@ -30,11 +30,11 @@ module.exports = function (ipcRenderer, binding) { ipcRenderer.send('ELECTRON_BROWSER_SEND_TO', true, webContentsId, channel, ...args) } - const removeAllListeners = ipcRenderer.removeAllListeners + 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.apply(this, args) + removeAllListeners(...args) } }