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
This commit is contained in:
parent
bc22ee7897
commit
26da3c5d6e
67 changed files with 2103 additions and 298 deletions
17
lib/renderer/ipc-renderer-bindings.ts
Normal file
17
lib/renderer/ipc-renderer-bindings.ts
Normal file
|
@ -0,0 +1,17 @@
|
|||
let ipc: NodeJS.IpcRendererImpl | undefined;
|
||||
|
||||
/**
|
||||
* Get IPCRenderer implementation for the current process.
|
||||
*/
|
||||
export function getIPCRenderer () {
|
||||
if (ipc) return ipc;
|
||||
const ipcBinding = process._linkedBinding('electron_renderer_ipc');
|
||||
switch (process.type) {
|
||||
case 'renderer':
|
||||
return (ipc = ipcBinding.createForRenderFrame());
|
||||
case 'service-worker':
|
||||
return (ipc = ipcBinding.createForServiceWorker());
|
||||
default:
|
||||
throw new Error(`Cannot create IPCRenderer for '${process.type}' process`);
|
||||
}
|
||||
};
|
Loading…
Add table
Add a link
Reference in a new issue