12345678910111213141516171819202122232425262728293031 |
- 'use strict'
- if (process.platform === 'linux' && process.type === 'renderer') {
- // On Linux we could not access clipboard in renderer process.
- const { getRemoteForUsage } = require('@electron/internal/renderer/remote')
- module.exports = getRemoteForUsage('clipboard').clipboard
- } else {
- const clipboard = process.atomBinding('clipboard')
- // Read/write to find pasteboard over IPC since only main process is notified
- // of changes
- if (process.platform === 'darwin' && process.type === 'renderer') {
- const ipcRenderer = require('@electron/internal/renderer/ipc-renderer-internal')
- const errorUtils = require('@electron/internal/common/error-utils')
- const invoke = function (command, ...args) {
- const [ error, result ] = ipcRenderer.sendSync(command, ...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
- }
|