diff --git a/lib/browser/remote/server.ts b/lib/browser/remote/server.ts index 3fea88c25adb5..f6c373036a383 100644 --- a/lib/browser/remote/server.ts +++ b/lib/browser/remote/server.ts @@ -31,7 +31,7 @@ const finalizationRegistry = new (globalThis as any).FinalizationRegistry((fi: F const ref = rendererFunctionCache.get(mapKey); if (ref !== undefined && ref.deref() === undefined) { rendererFunctionCache.delete(mapKey); - if (!fi.webContents.isDestroyed()) { fi.webContents.sendToFrame(fi.frameId, 'ELECTRON_RENDERER_RELEASE_CALLBACK', fi.id[0], fi.id[1]); } + if (!fi.webContents.isDestroyed()) { fi.webContents._sendToFrameInternal(fi.frameId, 'ELECTRON_RENDERER_RELEASE_CALLBACK', fi.id[0], fi.id[1]); } } }); @@ -263,7 +263,7 @@ const unwrapArgs = function (sender: electron.WebContents, frameId: number, cont const callIntoRenderer = function (this: any, ...args: any[]) { let succeed = false; if (!sender.isDestroyed()) { - succeed = (sender as any)._sendToFrameInternal(frameId, 'ELECTRON_RENDERER_CALLBACK', contextId, meta.id, valueToMeta(sender, contextId, args)); + succeed = sender._sendToFrameInternal(frameId, 'ELECTRON_RENDERER_CALLBACK', contextId, meta.id, valueToMeta(sender, contextId, args)); } if (!succeed) { removeRemoteListenersAndLogWarning(this, callIntoRenderer); diff --git a/typings/internal-electron.d.ts b/typings/internal-electron.d.ts index b249ec456a593..8746f35f307a5 100644 --- a/typings/internal-electron.d.ts +++ b/typings/internal-electron.d.ts @@ -57,6 +57,7 @@ declare namespace Electron { _getPreloadPaths(): string[]; equal(other: WebContents): boolean; _initiallyShown: boolean; + _sendToFrameInternal(frameId: number, channel: string, ...args: any[]): boolean; } interface WebPreferences { @@ -112,7 +113,6 @@ declare namespace Electron { interface WebContentsInternal extends Electron.WebContents { _send(internal: boolean, sendToAll: boolean, channel: string, args: any): boolean; _sendToFrame(internal: boolean, sendToAll: boolean, frameId: number, channel: string, args: any): boolean; - _sendToFrameInternal(frameId: number, channel: string, args: any): boolean; _postMessage(channel: string, message: any, transfer?: any[]): void; _sendInternal(channel: string, ...args: any[]): void; _sendInternalToAll(channel: string, ...args: any[]): void;