refactor: use ipcRendererUtils.invokeSync / ipcMainUtils.handleSync (#16759)
This commit is contained in:
parent
b7d8234a86
commit
4211a9c69f
3 changed files with 14 additions and 36 deletions
|
@ -469,28 +469,20 @@ ipcMainInternal.on('ELECTRON_BROWSER_WINDOW_CLOSE', function (event) {
|
||||||
event.returnValue = null
|
event.returnValue = null
|
||||||
})
|
})
|
||||||
|
|
||||||
const setReturnValue = function (event, getValue) {
|
|
||||||
try {
|
|
||||||
event.returnValue = [null, getValue()]
|
|
||||||
} catch (error) {
|
|
||||||
event.returnValue = [errorUtils.serialize(error)]
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
ipcMainUtils.handleSync('ELECTRON_CRASH_REPORTER_INIT', function (event, options) {
|
ipcMainUtils.handleSync('ELECTRON_CRASH_REPORTER_INIT', function (event, options) {
|
||||||
return crashReporterInit(options)
|
return crashReporterInit(options)
|
||||||
})
|
})
|
||||||
|
|
||||||
ipcMainInternal.on('ELECTRON_BROWSER_GET_LAST_WEB_PREFERENCES', function (event) {
|
ipcMainUtils.handleSync('ELECTRON_BROWSER_GET_LAST_WEB_PREFERENCES', function (event) {
|
||||||
setReturnValue(event, () => event.sender.getLastWebPreferences())
|
return event.sender.getLastWebPreferences()
|
||||||
})
|
})
|
||||||
|
|
||||||
ipcMainInternal.on('ELECTRON_BROWSER_CLIPBOARD_READ_FIND_TEXT', function (event) {
|
ipcMainUtils.handleSync('ELECTRON_BROWSER_CLIPBOARD_READ_FIND_TEXT', function (event) {
|
||||||
setReturnValue(event, () => electron.clipboard.readFindText())
|
return electron.clipboard.readFindText()
|
||||||
})
|
})
|
||||||
|
|
||||||
ipcMainInternal.on('ELECTRON_BROWSER_CLIPBOARD_WRITE_FIND_TEXT', function (event, text) {
|
ipcMainUtils.handleSync('ELECTRON_BROWSER_CLIPBOARD_WRITE_FIND_TEXT', function (event, text) {
|
||||||
setReturnValue(event, () => electron.clipboard.writeFindText(text))
|
return electron.clipboard.writeFindText(text)
|
||||||
})
|
})
|
||||||
|
|
||||||
const getPreloadScript = function (preloadPath) {
|
const getPreloadScript = function (preloadPath) {
|
||||||
|
|
|
@ -10,21 +10,10 @@ if (process.platform === 'linux' && process.type === 'renderer') {
|
||||||
// Read/write to find pasteboard over IPC since only main process is notified
|
// Read/write to find pasteboard over IPC since only main process is notified
|
||||||
// of changes
|
// of changes
|
||||||
if (process.platform === 'darwin' && process.type === 'renderer') {
|
if (process.platform === 'darwin' && process.type === 'renderer') {
|
||||||
const ipcRenderer = require('@electron/internal/renderer/ipc-renderer-internal')
|
const ipcRendererUtils = require('@electron/internal/renderer/ipc-renderer-internal-utils')
|
||||||
const errorUtils = require('@electron/internal/common/error-utils')
|
|
||||||
|
|
||||||
const invoke = function (command, ...args) {
|
clipboard.readFindText = (...args) => ipcRendererUtils.invokeSync('ELECTRON_BROWSER_CLIPBOARD_READ_FIND_TEXT', ...args)
|
||||||
const [ error, result ] = ipcRenderer.sendSync(command, ...args)
|
clipboard.writeFindText = (...args) => ipcRendererUtils.invokeSync('ELECTRON_BROWSER_CLIPBOARD_WRITE_FIND_TEXT', ...args)
|
||||||
|
|
||||||
if (error) {
|
|
||||||
throw errorUtils.deserialize(error)
|
|
||||||
} else {
|
|
||||||
return result
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
clipboard.readFindText = (...args) => invoke('ELECTRON_BROWSER_CLIPBOARD_READ_FIND_TEXT', ...args)
|
|
||||||
clipboard.writeFindText = (...args) => invoke('ELECTRON_BROWSER_CLIPBOARD_WRITE_FIND_TEXT', ...args)
|
|
||||||
}
|
}
|
||||||
|
|
||||||
module.exports = clipboard
|
module.exports = clipboard
|
||||||
|
|
|
@ -264,16 +264,13 @@ const logSecurityWarnings = function (webPreferences, nodeIntegration) {
|
||||||
}
|
}
|
||||||
|
|
||||||
const getWebPreferences = function () {
|
const getWebPreferences = function () {
|
||||||
const ipcRenderer = require('@electron/internal/renderer/ipc-renderer-internal')
|
const ipcRendererUtils = require('@electron/internal/renderer/ipc-renderer-internal-utils')
|
||||||
const errorUtils = require('@electron/internal/common/error-utils')
|
|
||||||
|
|
||||||
const [ error, result ] = ipcRenderer.sendSync('ELECTRON_BROWSER_GET_LAST_WEB_PREFERENCES')
|
try {
|
||||||
|
return ipcRendererUtils.invokeSync('ELECTRON_BROWSER_GET_LAST_WEB_PREFERENCES')
|
||||||
if (error) {
|
} catch (error) {
|
||||||
console.warn(`getLastWebPreferences() failed: ${errorUtils.deserialize(error)}`)
|
console.warn(`getLastWebPreferences() failed: ${error}`)
|
||||||
return null
|
return null
|
||||||
} else {
|
|
||||||
return result
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Add table
Reference in a new issue