1234567891011121314151617181920212223242526272829303132333435363738394041424344454647 |
- import { IpcMainImpl } from '@electron/internal/browser/ipc-main-impl';
- import { MessagePortMain } from '@electron/internal/browser/message-port-main';
- const { WebFrameMain, fromId } = process._linkedBinding('electron_browser_web_frame_main');
- Object.defineProperty(WebFrameMain.prototype, 'ipc', {
- get () {
- const ipc = new IpcMainImpl();
- Object.defineProperty(this, 'ipc', { value: ipc });
- return ipc;
- }
- });
- WebFrameMain.prototype.send = function (channel, ...args) {
- if (typeof channel !== 'string') {
- throw new TypeError('Missing required channel argument');
- }
- try {
- return this._send(false /* internal */, channel, args);
- } catch (e) {
- console.error('Error sending from webFrameMain: ', e);
- }
- };
- WebFrameMain.prototype._sendInternal = function (channel, ...args) {
- if (typeof channel !== 'string') {
- throw new TypeError('Missing required channel argument');
- }
- try {
- return this._send(true /* internal */, channel, args);
- } catch (e) {
- console.error('Error sending from webFrameMain: ', e);
- }
- };
- WebFrameMain.prototype.postMessage = function (...args) {
- if (Array.isArray(args[2])) {
- args[2] = args[2].map(o => o instanceof MessagePortMain ? o._internalPort : o);
- }
- this._postMessage(...args);
- };
- export default {
- fromId
- };
|