diff --git a/lib/browser/rpc-server.ts b/lib/browser/rpc-server.ts index b81b0df727080..92adc3b83fc9f 100644 --- a/lib/browser/rpc-server.ts +++ b/lib/browser/rpc-server.ts @@ -1,6 +1,6 @@ import { app } from 'electron/main'; import type { WebContents } from 'electron/main'; -import { clipboard, nativeImage } from 'electron/common'; +import { clipboard } from 'electron/common'; import * as fs from 'fs'; import { ipcMainInternal } from '@electron/internal/browser/ipc-main-internal'; import * as ipcMainUtils from '@electron/internal/browser/ipc-main-internal-utils'; @@ -119,7 +119,3 @@ ipcMainInternal.on(IPC_MESSAGES.NAVIGATION_CONTROLLER_LENGTH, function (event) { ipcMainInternal.on(IPC_MESSAGES.BROWSER_PRELOAD_ERROR, function (event, preloadPath: string, error: Error) { event.sender.emit('preload-error', event, preloadPath, error); }); - -ipcMainInternal.handle(IPC_MESSAGES.NATIVE_IMAGE_CREATE_THUMBNAIL_FROM_PATH, async (_, path: string, size: Electron.Size) => { - return typeUtils.serialize(await nativeImage.createThumbnailFromPath(path, size)); -}); diff --git a/lib/common/ipc-messages.ts b/lib/common/ipc-messages.ts index 468e9ad5d40f8..a6c7a94a8f70a 100644 --- a/lib/common/ipc-messages.ts +++ b/lib/common/ipc-messages.ts @@ -39,5 +39,4 @@ export const enum IPC_MESSAGES { INSPECTOR_SELECT_FILE = 'INSPECTOR_SELECT_FILE', DESKTOP_CAPTURER_GET_SOURCES = 'DESKTOP_CAPTURER_GET_SOURCES', - NATIVE_IMAGE_CREATE_THUMBNAIL_FROM_PATH = 'NATIVE_IMAGE_CREATE_THUMBNAIL_FROM_PATH', } diff --git a/lib/renderer/api/native-image.ts b/lib/renderer/api/native-image.ts index 06dcbe8abc7cd..e68d81a132c42 100644 --- a/lib/renderer/api/native-image.ts +++ b/lib/renderer/api/native-image.ts @@ -1,11 +1,3 @@ -import { ipcRendererInternal } from '@electron/internal/renderer/ipc-renderer-internal'; -import { deserialize } from '@electron/internal/common/type-utils'; -import { IPC_MESSAGES } from '@electron/internal/common/ipc-messages'; - const { nativeImage } = process._linkedBinding('electron_common_native_image'); -nativeImage.createThumbnailFromPath = async (path: string, size: Electron.Size) => { - return deserialize(await ipcRendererInternal.invoke(IPC_MESSAGES.NATIVE_IMAGE_CREATE_THUMBNAIL_FROM_PATH, path, size)); -}; - export default nativeImage; diff --git a/shell/common/api/electron_api_native_image_win.cc b/shell/common/api/electron_api_native_image_win.cc index 455b702f2310f..716e3564b7ce7 100644 --- a/shell/common/api/electron_api_native_image_win.cc +++ b/shell/common/api/electron_api_native_image_win.cc @@ -12,6 +12,7 @@ #include #include +#include "base/win/scoped_com_initializer.h" #include "shell/common/gin_converters/image_converter.h" #include "shell/common/gin_helper/promise.h" #include "shell/common/skia_util.h" @@ -26,6 +27,8 @@ v8::Local NativeImage::CreateThumbnailFromPath( v8::Isolate* isolate, const base::FilePath& path, const gfx::Size& size) { + base::win::ScopedCOMInitializer scoped_com_initializer; + gin_helper::Promise promise(isolate); v8::Local handle = promise.GetHandle(); HRESULT hr;