fix: remove ipc wrapper for nativeImage.createThumbnailFromPath (#30728)
This commit is contained in:
parent
352ac21413
commit
aa9da78edb
4 changed files with 4 additions and 14 deletions
|
@ -1,6 +1,6 @@
|
||||||
import { app } from 'electron/main';
|
import { app } from 'electron/main';
|
||||||
import type { WebContents } 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 * as fs from 'fs';
|
||||||
import { ipcMainInternal } from '@electron/internal/browser/ipc-main-internal';
|
import { ipcMainInternal } from '@electron/internal/browser/ipc-main-internal';
|
||||||
import * as ipcMainUtils from '@electron/internal/browser/ipc-main-internal-utils';
|
import * as ipcMainUtils from '@electron/internal/browser/ipc-main-internal-utils';
|
||||||
|
@ -105,7 +105,3 @@ ipcMainUtils.handleSync(IPC_MESSAGES.BROWSER_SANDBOX_LOAD, async function (event
|
||||||
ipcMainInternal.on(IPC_MESSAGES.BROWSER_PRELOAD_ERROR, function (event, preloadPath: string, error: Error) {
|
ipcMainInternal.on(IPC_MESSAGES.BROWSER_PRELOAD_ERROR, function (event, preloadPath: string, error: Error) {
|
||||||
event.sender.emit('preload-error', event, preloadPath, 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));
|
|
||||||
});
|
|
||||||
|
|
|
@ -31,5 +31,4 @@ export const enum IPC_MESSAGES {
|
||||||
INSPECTOR_SELECT_FILE = 'INSPECTOR_SELECT_FILE',
|
INSPECTOR_SELECT_FILE = 'INSPECTOR_SELECT_FILE',
|
||||||
|
|
||||||
DESKTOP_CAPTURER_GET_SOURCES = 'DESKTOP_CAPTURER_GET_SOURCES',
|
DESKTOP_CAPTURER_GET_SOURCES = 'DESKTOP_CAPTURER_GET_SOURCES',
|
||||||
NATIVE_IMAGE_CREATE_THUMBNAIL_FROM_PATH = 'NATIVE_IMAGE_CREATE_THUMBNAIL_FROM_PATH',
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -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');
|
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;
|
export default nativeImage;
|
||||||
|
|
|
@ -9,6 +9,7 @@
|
||||||
#include <thumbcache.h>
|
#include <thumbcache.h>
|
||||||
#include <wrl/client.h>
|
#include <wrl/client.h>
|
||||||
|
|
||||||
|
#include "base/win/scoped_com_initializer.h"
|
||||||
#include "shell/common/gin_converters/image_converter.h"
|
#include "shell/common/gin_converters/image_converter.h"
|
||||||
#include "shell/common/gin_helper/promise.h"
|
#include "shell/common/gin_helper/promise.h"
|
||||||
#include "shell/common/skia_util.h"
|
#include "shell/common/skia_util.h"
|
||||||
|
@ -25,6 +26,8 @@ v8::Local<v8::Promise> NativeImage::CreateThumbnailFromPath(
|
||||||
v8::Isolate* isolate,
|
v8::Isolate* isolate,
|
||||||
const base::FilePath& path,
|
const base::FilePath& path,
|
||||||
const gfx::Size& size) {
|
const gfx::Size& size) {
|
||||||
|
base::win::ScopedCOMInitializer scoped_com_initializer;
|
||||||
|
|
||||||
gin_helper::Promise<gfx::Image> promise(isolate);
|
gin_helper::Promise<gfx::Image> promise(isolate);
|
||||||
v8::Local<v8::Promise> handle = promise.GetHandle();
|
v8::Local<v8::Promise> handle = promise.GetHandle();
|
||||||
HRESULT hr;
|
HRESULT hr;
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue