
feat: service worker preload scripts for improved extensions support (#44411) * feat: preload scripts for service workers * feat: service worker IPC * test: service worker preload scripts and ipc
14 lines
582 B
TypeScript
14 lines
582 B
TypeScript
import { ipcRendererInternal } from '@electron/internal/renderer/ipc-renderer-internal';
|
|
|
|
import { ipcRenderer } from 'electron/renderer';
|
|
|
|
const v8Util = process._linkedBinding('electron_common_v8_util');
|
|
|
|
// ElectronApiServiceImpl will look for the "ipcNative" hidden object when
|
|
// invoking the 'onMessage' callback.
|
|
v8Util.setHiddenValue(globalThis, 'ipcNative', {
|
|
onMessage (internal: boolean, channel: string, ports: MessagePort[], args: any[]) {
|
|
const sender = internal ? ipcRendererInternal : ipcRenderer;
|
|
sender.emit(channel, { sender, ports }, ...args);
|
|
}
|
|
});
|