From 29be9bff050c23d3b69a19310f20519e26f5b123 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Daniel=20Garc=C3=ADa?= Date: Thu, 16 Nov 2023 11:41:56 +0100 Subject: [PATCH] [PM-3686] Remove ipcRenderer from native-message-handler (#6839) --- apps/desktop/src/platform/preload.ts | 8 ++++++++ .../src/services/native-message-handler.service.ts | 3 +-- 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/apps/desktop/src/platform/preload.ts b/apps/desktop/src/platform/preload.ts index f1a70588a0..f81ad4c3fb 100644 --- a/apps/desktop/src/platform/preload.ts +++ b/apps/desktop/src/platform/preload.ts @@ -2,6 +2,7 @@ import { ipcRenderer } from "electron"; import { DeviceType, ThemeType, KeySuffixOptions } from "@bitwarden/common/enums"; +import { EncryptedMessageResponse, UnencryptedMessageResponse } from "../models/native-messaging"; import { BiometricMessage, BiometricAction } from "../types/biometric-message"; import { isDev, isWindowsStore } from "../utils"; @@ -51,6 +52,12 @@ const clipboard = { write: (message: ClipboardWriteMessage) => ipcRenderer.invoke("clipboard.write", message), }; +const nativeMessaging = { + sendReply: (message: EncryptedMessageResponse | UnencryptedMessageResponse) => { + ipcRenderer.send("nativeMessagingReply", message); + }, +}; + export default { versions: { app: (): Promise => ipcRenderer.invoke("appVersion"), @@ -93,6 +100,7 @@ export default { passwords, biometric, clipboard, + nativeMessaging, }; function deviceType(): DeviceType { diff --git a/apps/desktop/src/services/native-message-handler.service.ts b/apps/desktop/src/services/native-message-handler.service.ts index 6779195c3f..e77e0b4183 100644 --- a/apps/desktop/src/services/native-message-handler.service.ts +++ b/apps/desktop/src/services/native-message-handler.service.ts @@ -1,5 +1,4 @@ import { Injectable } from "@angular/core"; -import { ipcRenderer } from "electron"; import { firstValueFrom } from "rxjs"; import { NativeMessagingVersion } from "@bitwarden/common/enums"; @@ -225,7 +224,7 @@ export class NativeMessageHandlerService { } private sendResponse(response: EncryptedMessageResponse | UnencryptedMessageResponse) { - ipcRenderer.send("nativeMessagingReply", response); + ipc.platform.nativeMessaging.sendReply(response); } // Trim all null bytes padded at the end of messages. This happens with C encryption libraries.