Compare commits

...

1 Commits

Author SHA1 Message Date
Florian Rappl
10bf461b51 Prepare for Blazor support 2025-11-14 17:38:55 +01:00
20 changed files with 1504 additions and 1232 deletions

View File

@@ -1,3 +1,9 @@
# 0.2.0
## ElectronNET.Core
- Added `IsRunningBlazor` option to `BrowserWindowOptions` (#926)
# 0.1.0
## ElectronNET.Core

View File

@@ -58,22 +58,22 @@ To do so, use the `UseElectron` extension method on a `WebApplicationBuilder`, a
using ElectronNET.API;
using ElectronNET.API.Entities;
public static void Main(string[] args)
{
WebHost.CreateDefaultBuilder(args)
.UseElectron(args, ElectronAppReady)
.UseStartup<Startup>()
.Build()
.Run();
}
public static void Main(string[] args)
{
WebHost.CreateDefaultBuilder(args)
.UseElectron(args, ElectronAppReady)
.UseStartup<Startup>()
.Build()
.Run();
}
public static async Task ElectronAppReady()
{
var browserWindow = await Electron.WindowManager.CreateWindowAsync(
new BrowserWindowOptions { Show = false });
public static async Task ElectronAppReady()
{
var browserWindow = await Electron.WindowManager.CreateWindowAsync(
new BrowserWindowOptions { Show = false });
browserWindow.OnReadyToShow += () => browserWindow.Show();
}
browserWindow.OnReadyToShow += () => browserWindow.Show();
}
```
### Minimal API Example
@@ -113,6 +113,56 @@ app.MapRazorPages();
app.Run();
```
### Blazor
For a project with Blazor you can use:
```cs
using ElectronNET.API;
using ElectronNET.API.Entities;
var builder = WebApplication.CreateBuilder(args);
builder.Services
.AddRazorComponents()
.AddInteractiveWebAssemblyComponents();
builder.Services.AddElectron(); // <-- might be useful to set up DI
builder.UseElectron(args, async () =>
{
var options = new BrowserWindowOptions {
Show = false,
AutoHideMenuBar = true,
IsRunningBlazor = true, // <-- crucial
};
var browserWindow = await Electron.WindowManager.CreateWindowAsync(options);
browserWindow.OnReadyToShow += () => browserWindow.Show();
});
var app = builder.Build();
// Configure the HTTP request pipeline.
if (app.Environment.IsDevelopment())
{
app.UseWebAssemblyDebugging();
}
else
{
app.UseExceptionHandler("/Error", createScopeForErrors: true);
}
app.UseStaticFiles();
app.UseAntiforgery();
app.MapRazorComponents<BlazorApp.Components.App>()
.AddInteractiveWebAssemblyRenderMode();
app.Run();
```
The `IsRunningBlazor` option makes sure to set up the renderer in a way that Blazor can just run without any interference. This includes things such as HMR for development.
## 🚀 Starting and Debugging the Application
Just press `F5` in Visual Studio or use dotnet for debugging.

View File

@@ -54,7 +54,7 @@ Add the Electron.NET configuration to your `.csproj` file:
</PropertyGroup>
<ItemGroup>
<PackageReference Include="ElectronNET.Core" Version="0.1.0" />
<PackageReference Include="ElectronNET.Core" Version="0.2.0" />
</ItemGroup>
```

View File

@@ -126,6 +126,11 @@ namespace ElectronNET.API.Entities
/// </summary>
public bool SkipTaskbar { get; set; }
/// <summary>
/// Determines if Blazor is used. Will disable "module" and "process" globals. Default is false.
/// </summary>
public bool IsRunningBlazor { get; set; }
/// <summary>
/// The kiosk mode. Default is false.
/// </summary>

View File

@@ -69,7 +69,7 @@
<ProjectReference Include="..\ElectronNET.API\ElectronNET.API.csproj" Condition="$(ElectronNetDevMode)" />
</ItemGroup>
<ItemGroup>
<PackageReference Include="ElectronNET.Core" Version="0.1.0" Condition="'$(ElectronNetDevMode)' != 'true'" />
<PackageReference Include="ElectronNET.Core" Version="0.2.0" Condition="'$(ElectronNetDevMode)' != 'true'" />
</ItemGroup>
<Import Project="..\ElectronNET\build\ElectronNET.targets" Condition="$(ElectronNetDevMode)" />

View File

@@ -1 +1 @@
{"version":3,"file":"autoUpdater.js","sourceRoot":"","sources":["autoUpdater.ts"],"names":[],"mappings":"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"}
{"version":3,"file":"autoUpdater.js","sourceRoot":"","sources":["autoUpdater.ts"],"names":[],"mappings":"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"}

View File

@@ -1 +1 @@
{"version":3,"file":"browserView.js","sourceRoot":"","sources":["browserView.ts"],"names":[],"mappings":"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"}
{"version":3,"file":"browserView.js","sourceRoot":"","sources":["browserView.ts"],"names":[],"mappings":"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"}

View File

@@ -1,179 +1,197 @@
"use strict";
const electron_1 = require("electron");
const browserView_1 = require("./browserView");
const path = require('path');
const windows = (global['browserWindows'] = global['browserWindows'] || []);
const path = require("path");
const windows = (global["browserWindows"] =
global["browserWindows"] || []);
let readyToShowWindowsIds = [];
let window, lastOptions, electronSocket;
let mainWindowURL;
const proxyToCredentialsMap = (global['proxyToCredentialsMap'] = global['proxyToCredentialsMap'] || []);
const proxyToCredentialsMap = (global["proxyToCredentialsMap"] = global["proxyToCredentialsMap"] || []);
module.exports = (socket, app) => {
electronSocket = socket;
app.on('login', (event, webContents, request, authInfo, callback) => {
app.on("login", (event, webContents, request, authInfo, callback) => {
if (authInfo.isProxy) {
let proxy = `${authInfo.host}:${authInfo.port}`;
if (proxy in proxyToCredentialsMap && proxyToCredentialsMap[proxy].split(':').length === 2) {
if (proxy in proxyToCredentialsMap &&
proxyToCredentialsMap[proxy].split(":").length === 2) {
event.preventDefault();
let user = proxyToCredentialsMap[proxy].split(':')[0];
let pass = proxyToCredentialsMap[proxy].split(':')[1];
let user = proxyToCredentialsMap[proxy].split(":")[0];
let pass = proxyToCredentialsMap[proxy].split(":")[1];
callback(user, pass);
}
}
});
socket.on('register-browserWindow-ready-to-show', (id) => {
socket.on("register-browserWindow-ready-to-show", (id) => {
if (readyToShowWindowsIds.includes(id)) {
readyToShowWindowsIds = readyToShowWindowsIds.filter(value => value !== id);
electronSocket.emit('browserWindow-ready-to-show' + id);
readyToShowWindowsIds = readyToShowWindowsIds.filter((value) => value !== id);
electronSocket.emit("browserWindow-ready-to-show" + id);
}
getWindowById(id).on('ready-to-show', () => {
getWindowById(id).on("ready-to-show", () => {
readyToShowWindowsIds.push(id);
electronSocket.emit('browserWindow-ready-to-show' + id);
electronSocket.emit("browserWindow-ready-to-show" + id);
});
});
socket.on('register-browserWindow-page-title-updated', (id) => {
getWindowById(id).on('page-title-updated', (event, title) => {
electronSocket.emit('browserWindow-page-title-updated' + id, title);
socket.on("register-browserWindow-page-title-updated", (id) => {
getWindowById(id).on("page-title-updated", (event, title) => {
electronSocket.emit("browserWindow-page-title-updated" + id, title);
});
});
socket.on('register-browserWindow-close', (id) => {
getWindowById(id).on('close', () => {
electronSocket.emit('browserWindow-close' + id);
socket.on("register-browserWindow-close", (id) => {
getWindowById(id).on("close", () => {
electronSocket.emit("browserWindow-close" + id);
});
});
socket.on('register-browserWindow-closed', (id) => {
getWindowById(id).on('closed', () => {
electronSocket.emit('browserWindow-closed' + id);
socket.on("register-browserWindow-closed", (id) => {
getWindowById(id).on("closed", () => {
electronSocket.emit("browserWindow-closed" + id);
});
});
socket.on('register-browserWindow-session-end', (id) => {
getWindowById(id).on('session-end', () => {
electronSocket.emit('browserWindow-session-end' + id);
socket.on("register-browserWindow-session-end", (id) => {
getWindowById(id).on("session-end", () => {
electronSocket.emit("browserWindow-session-end" + id);
});
});
socket.on('register-browserWindow-unresponsive', (id) => {
getWindowById(id).on('unresponsive', () => {
electronSocket.emit('browserWindow-unresponsive' + id);
socket.on("register-browserWindow-unresponsive", (id) => {
getWindowById(id).on("unresponsive", () => {
electronSocket.emit("browserWindow-unresponsive" + id);
});
});
socket.on('register-browserWindow-responsive', (id) => {
getWindowById(id).on('responsive', () => {
electronSocket.emit('browserWindow-responsive' + id);
socket.on("register-browserWindow-responsive", (id) => {
getWindowById(id).on("responsive", () => {
electronSocket.emit("browserWindow-responsive" + id);
});
});
socket.on('register-browserWindow-blur', (id) => {
getWindowById(id).on('blur', () => {
electronSocket.emit('browserWindow-blur' + id);
socket.on("register-browserWindow-blur", (id) => {
getWindowById(id).on("blur", () => {
electronSocket.emit("browserWindow-blur" + id);
});
});
socket.on('register-browserWindow-focus', (id) => {
getWindowById(id).on('focus', () => {
electronSocket.emit('browserWindow-focus' + id);
socket.on("register-browserWindow-focus", (id) => {
getWindowById(id).on("focus", () => {
electronSocket.emit("browserWindow-focus" + id);
});
});
socket.on('register-browserWindow-show', (id) => {
getWindowById(id).on('show', () => {
electronSocket.emit('browserWindow-show' + id);
socket.on("register-browserWindow-show", (id) => {
getWindowById(id).on("show", () => {
electronSocket.emit("browserWindow-show" + id);
});
});
socket.on('register-browserWindow-hide', (id) => {
getWindowById(id).on('hide', () => {
electronSocket.emit('browserWindow-hide' + id);
socket.on("register-browserWindow-hide", (id) => {
getWindowById(id).on("hide", () => {
electronSocket.emit("browserWindow-hide" + id);
});
});
socket.on('register-browserWindow-maximize', (id) => {
getWindowById(id).on('maximize', () => {
electronSocket.emit('browserWindow-maximize' + id);
socket.on("register-browserWindow-maximize", (id) => {
getWindowById(id).on("maximize", () => {
electronSocket.emit("browserWindow-maximize" + id);
});
});
socket.on('register-browserWindow-unmaximize', (id) => {
getWindowById(id).on('unmaximize', () => {
electronSocket.emit('browserWindow-unmaximize' + id);
socket.on("register-browserWindow-unmaximize", (id) => {
getWindowById(id).on("unmaximize", () => {
electronSocket.emit("browserWindow-unmaximize" + id);
});
});
socket.on('register-browserWindow-minimize', (id) => {
getWindowById(id).on('minimize', () => {
electronSocket.emit('browserWindow-minimize' + id);
socket.on("register-browserWindow-minimize", (id) => {
getWindowById(id).on("minimize", () => {
electronSocket.emit("browserWindow-minimize" + id);
});
});
socket.on('register-browserWindow-restore', (id) => {
getWindowById(id).on('restore', () => {
electronSocket.emit('browserWindow-restore' + id);
socket.on("register-browserWindow-restore", (id) => {
getWindowById(id).on("restore", () => {
electronSocket.emit("browserWindow-restore" + id);
});
});
socket.on('register-browserWindow-resize', (id) => {
getWindowById(id).on('resize', () => {
electronSocket.emit('browserWindow-resize' + id);
socket.on("register-browserWindow-resize", (id) => {
getWindowById(id).on("resize", () => {
electronSocket.emit("browserWindow-resize" + id);
});
});
socket.on('register-browserWindow-move', (id) => {
getWindowById(id).on('move', () => {
electronSocket.emit('browserWindow-move' + id);
socket.on("register-browserWindow-move", (id) => {
getWindowById(id).on("move", () => {
electronSocket.emit("browserWindow-move" + id);
});
});
socket.on('register-browserWindow-moved', (id) => {
getWindowById(id).on('moved', () => {
electronSocket.emit('browserWindow-moved' + id);
socket.on("register-browserWindow-moved", (id) => {
getWindowById(id).on("moved", () => {
electronSocket.emit("browserWindow-moved" + id);
});
});
socket.on('register-browserWindow-enter-full-screen', (id) => {
getWindowById(id).on('enter-full-screen', () => {
electronSocket.emit('browserWindow-enter-full-screen' + id);
socket.on("register-browserWindow-enter-full-screen", (id) => {
getWindowById(id).on("enter-full-screen", () => {
electronSocket.emit("browserWindow-enter-full-screen" + id);
});
});
socket.on('register-browserWindow-leave-full-screen', (id) => {
getWindowById(id).on('leave-full-screen', () => {
electronSocket.emit('browserWindow-leave-full-screen' + id);
socket.on("register-browserWindow-leave-full-screen", (id) => {
getWindowById(id).on("leave-full-screen", () => {
electronSocket.emit("browserWindow-leave-full-screen" + id);
});
});
socket.on('register-browserWindow-enter-html-full-screen', (id) => {
getWindowById(id).on('enter-html-full-screen', () => {
electronSocket.emit('browserWindow-enter-html-full-screen' + id);
socket.on("register-browserWindow-enter-html-full-screen", (id) => {
getWindowById(id).on("enter-html-full-screen", () => {
electronSocket.emit("browserWindow-enter-html-full-screen" + id);
});
});
socket.on('register-browserWindow-leave-html-full-screen', (id) => {
getWindowById(id).on('leave-html-full-screen', () => {
electronSocket.emit('browserWindow-leave-html-full-screen' + id);
socket.on("register-browserWindow-leave-html-full-screen", (id) => {
getWindowById(id).on("leave-html-full-screen", () => {
electronSocket.emit("browserWindow-leave-html-full-screen" + id);
});
});
socket.on('register-browserWindow-app-command', (id) => {
getWindowById(id).on('app-command', (event, command) => {
electronSocket.emit('browserWindow-app-command' + id, command);
socket.on("register-browserWindow-app-command", (id) => {
getWindowById(id).on("app-command", (event, command) => {
electronSocket.emit("browserWindow-app-command" + id, command);
});
});
socket.on('register-browserWindow-swipe', (id) => {
getWindowById(id).on('swipe', (event, direction) => {
electronSocket.emit('browserWindow-swipe' + id, direction);
socket.on("register-browserWindow-swipe", (id) => {
getWindowById(id).on("swipe", (event, direction) => {
electronSocket.emit("browserWindow-swipe" + id, direction);
});
});
socket.on('register-browserWindow-sheet-begin', (id) => {
getWindowById(id).on('sheet-begin', () => {
electronSocket.emit('browserWindow-sheet-begin' + id);
socket.on("register-browserWindow-sheet-begin", (id) => {
getWindowById(id).on("sheet-begin", () => {
electronSocket.emit("browserWindow-sheet-begin" + id);
});
});
socket.on('register-browserWindow-sheet-end', (id) => {
getWindowById(id).on('sheet-end', () => {
electronSocket.emit('browserWindow-sheet-end' + id);
socket.on("register-browserWindow-sheet-end", (id) => {
getWindowById(id).on("sheet-end", () => {
electronSocket.emit("browserWindow-sheet-end" + id);
});
});
socket.on('register-browserWindow-new-window-for-tab', (id) => {
getWindowById(id).on('new-window-for-tab', () => {
electronSocket.emit('browserWindow-new-window-for-tab' + id);
socket.on("register-browserWindow-new-window-for-tab", (id) => {
getWindowById(id).on("new-window-for-tab", () => {
electronSocket.emit("browserWindow-new-window-for-tab" + id);
});
});
socket.on('createBrowserWindow', (options, loadUrl) => {
if (options.webPreferences && !('nodeIntegration' in options.webPreferences)) {
options = { ...options, webPreferences: { ...options.webPreferences, nodeIntegration: true, contextIsolation: false } };
socket.on("createBrowserWindow", (options, loadUrl) => {
if (options.webPreferences &&
!("nodeIntegration" in options.webPreferences)) {
options = {
...options,
webPreferences: {
...options.webPreferences,
nodeIntegration: true,
contextIsolation: false,
},
};
}
else if (!options.webPreferences) {
options = { ...options, webPreferences: { nodeIntegration: true, contextIsolation: false } };
options = {
...options,
webPreferences: { nodeIntegration: true, contextIsolation: false },
};
}
if (options.isRunningBlazor) {
options.webPreferences["preload"] = path.join(__dirname, "..", "scripts", "blazor-preload.js");
}
delete options.isRunningBlazor;
// we dont want to recreate the window when watch is ready.
if (app.commandLine.hasSwitch('watch') && app['mainWindowURL'] === loadUrl) {
window = app['mainWindow'];
if (app.commandLine.hasSwitch("watch") &&
app["mainWindowURL"] === loadUrl) {
window = app["mainWindow"];
if (window) {
window.reload();
windows.push(window);
electronSocket.emit('BrowserWindowCreated', window.id);
electronSocket.emit("BrowserWindowCreated", window.id);
return;
}
}
@@ -186,32 +204,32 @@ module.exports = (socket, app) => {
if (options.proxy && options.proxyCredentials) {
proxyToCredentialsMap[options.proxy] = options.proxyCredentials;
}
window.on('ready-to-show', () => {
window.on("ready-to-show", () => {
if (readyToShowWindowsIds.includes(window.id)) {
readyToShowWindowsIds = readyToShowWindowsIds.filter(value => value !== window.id);
readyToShowWindowsIds = readyToShowWindowsIds.filter((value) => value !== window.id);
}
else {
readyToShowWindowsIds.push(window.id);
}
});
lastOptions = options;
window.on('closed', (sender) => {
window.on("closed", (sender) => {
for (let index = 0; index < windows.length; index++) {
const windowItem = windows[index];
try {
windowItem.id;
}
catch (error) {
if (error.message === 'Object has been destroyed') {
if (error.message === "Object has been destroyed") {
windows.splice(index, 1);
const ids = [];
windows.forEach(x => ids.push(x.id));
electronSocket.emit('BrowserWindowClosed', ids);
windows.forEach((x) => ids.push(x.id));
electronSocket.emit("BrowserWindowClosed", ids);
}
}
}
});
app.on('activate', () => {
app.on("activate", () => {
// On macOS it's common to re-create a window in the app when the
// dock icon is clicked and there are no other windows open.
if (window === null && lastOptions) {
@@ -221,204 +239,204 @@ module.exports = (socket, app) => {
if (loadUrl) {
window.loadURL(loadUrl);
}
if (app.commandLine.hasSwitch('clear-cache') &&
app.commandLine.getSwitchValue('clear-cache')) {
if (app.commandLine.hasSwitch("clear-cache") &&
app.commandLine.getSwitchValue("clear-cache")) {
window.webContents.session.clearCache();
console.log('auto clear-cache active for new window.');
console.log("auto clear-cache active for new window.");
}
// set main window url
if (app['mainWindowURL'] == undefined || app['mainWindowURL'] == "") {
app['mainWindowURL'] = loadUrl;
app['mainWindow'] = window;
if (app["mainWindowURL"] == undefined || app["mainWindowURL"] == "") {
app["mainWindowURL"] = loadUrl;
app["mainWindow"] = window;
}
windows.push(window);
electronSocket.emit('BrowserWindowCreated', window.id);
electronSocket.emit("BrowserWindowCreated", window.id);
});
socket.on('browserWindowDestroy', (id) => {
socket.on("browserWindowDestroy", (id) => {
getWindowById(id).destroy();
});
socket.on('browserWindowClose', (id) => {
socket.on("browserWindowClose", (id) => {
getWindowById(id).close();
});
socket.on('browserWindowFocus', (id) => {
socket.on("browserWindowFocus", (id) => {
getWindowById(id).focus();
});
socket.on('browserWindowBlur', (id) => {
socket.on("browserWindowBlur", (id) => {
getWindowById(id).blur();
});
socket.on('browserWindowIsFocused', (id) => {
socket.on("browserWindowIsFocused", (id) => {
const isFocused = getWindowById(id).isFocused();
electronSocket.emit('browserWindow-isFocused-completed', isFocused);
electronSocket.emit("browserWindow-isFocused-completed", isFocused);
});
socket.on('browserWindowIsDestroyed', (id) => {
socket.on("browserWindowIsDestroyed", (id) => {
const isDestroyed = getWindowById(id).isDestroyed();
electronSocket.emit('browserWindow-isDestroyed-completed', isDestroyed);
electronSocket.emit("browserWindow-isDestroyed-completed", isDestroyed);
});
socket.on('browserWindowShow', (id) => {
socket.on("browserWindowShow", (id) => {
getWindowById(id).show();
});
socket.on('browserWindowShowInactive', (id) => {
socket.on("browserWindowShowInactive", (id) => {
getWindowById(id).showInactive();
});
socket.on('browserWindowHide', (id) => {
socket.on("browserWindowHide", (id) => {
getWindowById(id).hide();
});
socket.on('browserWindowIsVisible', (id) => {
socket.on("browserWindowIsVisible", (id) => {
const isVisible = getWindowById(id).isVisible();
electronSocket.emit('browserWindow-isVisible-completed', isVisible);
electronSocket.emit("browserWindow-isVisible-completed", isVisible);
});
socket.on('browserWindowIsModal', (id) => {
socket.on("browserWindowIsModal", (id) => {
const isModal = getWindowById(id).isModal();
electronSocket.emit('browserWindow-isModal-completed', isModal);
electronSocket.emit("browserWindow-isModal-completed", isModal);
});
socket.on('browserWindowMaximize', (id) => {
socket.on("browserWindowMaximize", (id) => {
getWindowById(id).maximize();
});
socket.on('browserWindowUnmaximize', (id) => {
socket.on("browserWindowUnmaximize", (id) => {
getWindowById(id).unmaximize();
});
socket.on('browserWindowIsMaximized', (id) => {
socket.on("browserWindowIsMaximized", (id) => {
const isMaximized = getWindowById(id).isMaximized();
electronSocket.emit('browserWindow-isMaximized-completed', isMaximized);
electronSocket.emit("browserWindow-isMaximized-completed", isMaximized);
});
socket.on('browserWindowMinimize', (id) => {
socket.on("browserWindowMinimize", (id) => {
getWindowById(id).minimize();
});
socket.on('browserWindowRestore', (id) => {
socket.on("browserWindowRestore", (id) => {
getWindowById(id).restore();
});
socket.on('browserWindowIsMinimized', (id) => {
socket.on("browserWindowIsMinimized", (id) => {
const isMinimized = getWindowById(id).isMinimized();
electronSocket.emit('browserWindow-isMinimized-completed', isMinimized);
electronSocket.emit("browserWindow-isMinimized-completed", isMinimized);
});
socket.on('browserWindowSetFullScreen', (id, fullscreen) => {
socket.on("browserWindowSetFullScreen", (id, fullscreen) => {
getWindowById(id).setFullScreen(fullscreen);
});
socket.on('browserWindowIsFullScreen', (id) => {
socket.on("browserWindowIsFullScreen", (id) => {
const isFullScreen = getWindowById(id).isFullScreen();
electronSocket.emit('browserWindow-isFullScreen-completed', isFullScreen);
electronSocket.emit("browserWindow-isFullScreen-completed", isFullScreen);
});
socket.on('browserWindowSetAspectRatio', (id, aspectRatio, extraSize) => {
socket.on("browserWindowSetAspectRatio", (id, aspectRatio, extraSize) => {
getWindowById(id).setAspectRatio(aspectRatio, extraSize);
});
socket.on('browserWindowPreviewFile', (id, path, displayname) => {
socket.on("browserWindowPreviewFile", (id, path, displayname) => {
getWindowById(id).previewFile(path, displayname);
});
socket.on('browserWindowCloseFilePreview', (id) => {
socket.on("browserWindowCloseFilePreview", (id) => {
getWindowById(id).closeFilePreview();
});
socket.on('browserWindowSetBounds', (id, bounds, animate) => {
socket.on("browserWindowSetBounds", (id, bounds, animate) => {
getWindowById(id).setBounds(bounds, animate);
});
socket.on('browserWindowGetBounds', (id) => {
socket.on("browserWindowGetBounds", (id) => {
const rectangle = getWindowById(id).getBounds();
electronSocket.emit('browserWindow-getBounds-completed', rectangle);
electronSocket.emit("browserWindow-getBounds-completed", rectangle);
});
socket.on('browserWindowSetContentBounds', (id, bounds, animate) => {
socket.on("browserWindowSetContentBounds", (id, bounds, animate) => {
getWindowById(id).setContentBounds(bounds, animate);
});
socket.on('browserWindowGetContentBounds', (id) => {
socket.on("browserWindowGetContentBounds", (id) => {
const rectangle = getWindowById(id).getContentBounds();
electronSocket.emit('browserWindow-getContentBounds-completed', rectangle);
electronSocket.emit("browserWindow-getContentBounds-completed", rectangle);
});
socket.on('browserWindowSetSize', (id, width, height, animate) => {
socket.on("browserWindowSetSize", (id, width, height, animate) => {
getWindowById(id).setSize(width, height, animate);
});
socket.on('browserWindowGetSize', (id) => {
socket.on("browserWindowGetSize", (id) => {
const size = getWindowById(id).getSize();
electronSocket.emit('browserWindow-getSize-completed', size);
electronSocket.emit("browserWindow-getSize-completed", size);
});
socket.on('browserWindowSetContentSize', (id, width, height, animate) => {
socket.on("browserWindowSetContentSize", (id, width, height, animate) => {
getWindowById(id).setContentSize(width, height, animate);
});
socket.on('browserWindowGetContentSize', (id) => {
socket.on("browserWindowGetContentSize", (id) => {
const size = getWindowById(id).getContentSize();
electronSocket.emit('browserWindow-getContentSize-completed', size);
electronSocket.emit("browserWindow-getContentSize-completed", size);
});
socket.on('browserWindowSetMinimumSize', (id, width, height) => {
socket.on("browserWindowSetMinimumSize", (id, width, height) => {
getWindowById(id).setMinimumSize(width, height);
});
socket.on('browserWindowGetMinimumSize', (id) => {
socket.on("browserWindowGetMinimumSize", (id) => {
const size = getWindowById(id).getMinimumSize();
electronSocket.emit('browserWindow-getMinimumSize-completed', size);
electronSocket.emit("browserWindow-getMinimumSize-completed", size);
});
socket.on('browserWindowSetMaximumSize', (id, width, height) => {
socket.on("browserWindowSetMaximumSize", (id, width, height) => {
getWindowById(id).setMaximumSize(width, height);
});
socket.on('browserWindowGetMaximumSize', (id) => {
socket.on("browserWindowGetMaximumSize", (id) => {
const size = getWindowById(id).getMaximumSize();
electronSocket.emit('browserWindow-getMaximumSize-completed', size);
electronSocket.emit("browserWindow-getMaximumSize-completed", size);
});
socket.on('browserWindowSetResizable', (id, resizable) => {
socket.on("browserWindowSetResizable", (id, resizable) => {
getWindowById(id).setResizable(resizable);
});
socket.on('browserWindowIsResizable', (id) => {
socket.on("browserWindowIsResizable", (id) => {
const resizable = getWindowById(id).isResizable();
electronSocket.emit('browserWindow-isResizable-completed', resizable);
electronSocket.emit("browserWindow-isResizable-completed", resizable);
});
socket.on('browserWindowSetMovable', (id, movable) => {
socket.on("browserWindowSetMovable", (id, movable) => {
getWindowById(id).setMovable(movable);
});
socket.on('browserWindowIsMovable', (id) => {
socket.on("browserWindowIsMovable", (id) => {
const movable = getWindowById(id).isMovable();
electronSocket.emit('browserWindow-isMovable-completed', movable);
electronSocket.emit("browserWindow-isMovable-completed", movable);
});
socket.on('browserWindowSetMinimizable', (id, minimizable) => {
socket.on("browserWindowSetMinimizable", (id, minimizable) => {
getWindowById(id).setMinimizable(minimizable);
});
socket.on('browserWindowIsMinimizable', (id) => {
socket.on("browserWindowIsMinimizable", (id) => {
const minimizable = getWindowById(id).isMinimizable();
electronSocket.emit('browserWindow-isMinimizable-completed', minimizable);
electronSocket.emit("browserWindow-isMinimizable-completed", minimizable);
});
socket.on('browserWindowSetMaximizable', (id, maximizable) => {
socket.on("browserWindowSetMaximizable", (id, maximizable) => {
getWindowById(id).setMaximizable(maximizable);
});
socket.on('browserWindowIsMaximizable', (id) => {
socket.on("browserWindowIsMaximizable", (id) => {
const maximizable = getWindowById(id).isMaximizable();
electronSocket.emit('browserWindow-isMaximizable-completed', maximizable);
electronSocket.emit("browserWindow-isMaximizable-completed", maximizable);
});
socket.on('browserWindowSetFullScreenable', (id, fullscreenable) => {
socket.on("browserWindowSetFullScreenable", (id, fullscreenable) => {
getWindowById(id).setFullScreenable(fullscreenable);
});
socket.on('browserWindowIsFullScreenable', (id) => {
socket.on("browserWindowIsFullScreenable", (id) => {
const fullscreenable = getWindowById(id).isFullScreenable();
electronSocket.emit('browserWindow-isFullScreenable-completed', fullscreenable);
electronSocket.emit("browserWindow-isFullScreenable-completed", fullscreenable);
});
socket.on('browserWindowSetClosable', (id, closable) => {
socket.on("browserWindowSetClosable", (id, closable) => {
getWindowById(id).setClosable(closable);
});
socket.on('browserWindowIsClosable', (id) => {
socket.on("browserWindowIsClosable", (id) => {
const closable = getWindowById(id).isClosable();
electronSocket.emit('browserWindow-isClosable-completed', closable);
electronSocket.emit("browserWindow-isClosable-completed", closable);
});
socket.on('browserWindowSetAlwaysOnTop', (id, flag, level, relativeLevel) => {
socket.on("browserWindowSetAlwaysOnTop", (id, flag, level, relativeLevel) => {
getWindowById(id).setAlwaysOnTop(flag, level, relativeLevel);
});
socket.on('browserWindowIsAlwaysOnTop', (id) => {
socket.on("browserWindowIsAlwaysOnTop", (id) => {
const isAlwaysOnTop = getWindowById(id).isAlwaysOnTop();
electronSocket.emit('browserWindow-isAlwaysOnTop-completed', isAlwaysOnTop);
electronSocket.emit("browserWindow-isAlwaysOnTop-completed", isAlwaysOnTop);
});
socket.on('browserWindowCenter', (id) => {
socket.on("browserWindowCenter", (id) => {
getWindowById(id).center();
});
socket.on('browserWindowSetPosition', (id, x, y, animate) => {
socket.on("browserWindowSetPosition", (id, x, y, animate) => {
getWindowById(id).setPosition(x, y, animate);
});
socket.on('browserWindowGetPosition', (id) => {
socket.on("browserWindowGetPosition", (id) => {
const position = getWindowById(id).getPosition();
electronSocket.emit('browserWindow-getPosition-completed', position);
electronSocket.emit("browserWindow-getPosition-completed", position);
});
socket.on('browserWindowSetTitle', (id, title) => {
socket.on("browserWindowSetTitle", (id, title) => {
getWindowById(id).setTitle(title);
});
socket.on('browserWindowGetTitle', (id) => {
socket.on("browserWindowGetTitle", (id) => {
const title = getWindowById(id).getTitle();
electronSocket.emit('browserWindow-getTitle-completed', title);
electronSocket.emit("browserWindow-getTitle-completed", title);
});
socket.on('browserWindowSetTitle', (id, title) => {
socket.on("browserWindowSetTitle", (id, title) => {
getWindowById(id).setTitle(title);
});
socket.on('browserWindowSetSheetOffset', (id, offsetY, offsetX) => {
socket.on("browserWindowSetSheetOffset", (id, offsetY, offsetX) => {
if (offsetX) {
getWindowById(id).setSheetOffset(offsetY, offsetX);
}
@@ -426,77 +444,80 @@ module.exports = (socket, app) => {
getWindowById(id).setSheetOffset(offsetY);
}
});
socket.on('browserWindowFlashFrame', (id, flag) => {
socket.on("browserWindowFlashFrame", (id, flag) => {
getWindowById(id).flashFrame(flag);
});
socket.on('browserWindowSetSkipTaskbar', (id, skip) => {
socket.on("browserWindowSetSkipTaskbar", (id, skip) => {
getWindowById(id).setSkipTaskbar(skip);
});
socket.on('browserWindowSetKiosk', (id, flag) => {
socket.on("browserWindowSetKiosk", (id, flag) => {
getWindowById(id).setKiosk(flag);
});
socket.on('browserWindowIsKiosk', (id) => {
socket.on("browserWindowIsKiosk", (id) => {
const isKiosk = getWindowById(id).isKiosk();
electronSocket.emit('browserWindow-isKiosk-completed', isKiosk);
electronSocket.emit("browserWindow-isKiosk-completed", isKiosk);
});
socket.on('browserWindowGetNativeWindowHandle', (id) => {
const nativeWindowHandle = getWindowById(id).getNativeWindowHandle().readInt32LE(0).toString(16);
electronSocket.emit('browserWindow-getNativeWindowHandle-completed', nativeWindowHandle);
socket.on("browserWindowGetNativeWindowHandle", (id) => {
const nativeWindowHandle = getWindowById(id)
.getNativeWindowHandle()
.readInt32LE(0)
.toString(16);
electronSocket.emit("browserWindow-getNativeWindowHandle-completed", nativeWindowHandle);
});
socket.on('browserWindowSetRepresentedFilename', (id, filename) => {
socket.on("browserWindowSetRepresentedFilename", (id, filename) => {
const win = getWindowById(id);
try {
if (win && typeof win.setRepresentedFilename === 'function') {
if (win && typeof win.setRepresentedFilename === "function") {
win.setRepresentedFilename(filename);
}
}
catch (e) {
console.warn('setRepresentedFilename failed (likely unsupported platform):', e);
console.warn("setRepresentedFilename failed (likely unsupported platform):", e);
}
});
socket.on('browserWindowGetRepresentedFilename', (id) => {
socket.on("browserWindowGetRepresentedFilename", (id) => {
const win = getWindowById(id);
let pathname = '';
let pathname = "";
try {
if (win && typeof win.getRepresentedFilename === 'function') {
pathname = win.getRepresentedFilename() || '';
if (win && typeof win.getRepresentedFilename === "function") {
pathname = win.getRepresentedFilename() || "";
}
}
catch (e) {
console.warn('getRepresentedFilename failed (likely unsupported platform):', e);
console.warn("getRepresentedFilename failed (likely unsupported platform):", e);
}
electronSocket.emit('browserWindow-getRepresentedFilename-completed', pathname);
electronSocket.emit("browserWindow-getRepresentedFilename-completed", pathname);
});
socket.on('browserWindowSetDocumentEdited', (id, edited) => {
socket.on("browserWindowSetDocumentEdited", (id, edited) => {
getWindowById(id).setDocumentEdited(edited);
});
socket.on('browserWindowIsDocumentEdited', (id) => {
socket.on("browserWindowIsDocumentEdited", (id) => {
const edited = getWindowById(id).isDocumentEdited();
electronSocket.emit('browserWindow-isDocumentEdited-completed', edited);
electronSocket.emit("browserWindow-isDocumentEdited-completed", edited);
});
socket.on('browserWindowFocusOnWebView', (id) => {
socket.on("browserWindowFocusOnWebView", (id) => {
getWindowById(id).focusOnWebView();
});
socket.on('browserWindowBlurWebView', (id) => {
socket.on("browserWindowBlurWebView", (id) => {
getWindowById(id).blurWebView();
});
socket.on('browserWindowLoadURL', (id, url, options) => {
socket.on("browserWindowLoadURL", (id, url, options) => {
getWindowById(id).loadURL(url, options);
});
socket.on('browserWindowReload', (id) => {
socket.on("browserWindowReload", (id) => {
getWindowById(id).reload();
});
socket.on('browserWindowSetMenu', (id, menuItems) => {
socket.on("browserWindowSetMenu", (id, menuItems) => {
let menu = null;
if (menuItems) {
menu = electron_1.Menu.buildFromTemplate(menuItems);
addMenuItemClickConnector(menu.items, (id) => {
electronSocket.emit('windowMenuItemClicked', id);
electronSocket.emit("windowMenuItemClicked", id);
});
}
getWindowById(id).setMenu(menu);
});
socket.on('browserWindowRemoveMenu', (id) => {
socket.on("browserWindowRemoveMenu", (id) => {
getWindowById(id).removeMenu();
});
function addMenuItemClickConnector(menuItems, callback) {
@@ -504,34 +525,36 @@ module.exports = (socket, app) => {
if (item.submenu && item.submenu.items.length > 0) {
addMenuItemClickConnector(item.submenu.items, callback);
}
if ('id' in item && item.id) {
item.click = () => { callback(item.id); };
if ("id" in item && item.id) {
item.click = () => {
callback(item.id);
};
}
});
}
socket.on('browserWindowSetProgressBar', (id, progress) => {
socket.on("browserWindowSetProgressBar", (id, progress) => {
getWindowById(id).setProgressBar(progress);
});
socket.on('browserWindowSetProgressBar', (id, progress, options) => {
socket.on("browserWindowSetProgressBar", (id, progress, options) => {
getWindowById(id).setProgressBar(progress, options);
});
socket.on('browserWindowSetHasShadow', (id, hasShadow) => {
socket.on("browserWindowSetHasShadow", (id, hasShadow) => {
getWindowById(id).setHasShadow(hasShadow);
});
socket.on('browserWindowHasShadow', (id) => {
socket.on("browserWindowHasShadow", (id) => {
const hasShadow = getWindowById(id).hasShadow();
electronSocket.emit('browserWindow-hasShadow-completed', hasShadow);
electronSocket.emit("browserWindow-hasShadow-completed", hasShadow);
});
socket.on('browserWindowSetThumbarButtons', (id, thumbarButtons) => {
thumbarButtons.forEach(thumbarButton => {
socket.on("browserWindowSetThumbarButtons", (id, thumbarButtons) => {
thumbarButtons.forEach((thumbarButton) => {
const originalIconPath = thumbarButton.icon.toString();
const path = require('path');
const fs = require('fs');
const path = require("path");
const fs = require("fs");
let imagePath = originalIconPath;
if (!path.isAbsolute(originalIconPath)) {
imagePath = path.join(__dirname.replace('api', ''), 'bin', originalIconPath);
imagePath = path.join(__dirname.replace("api", ""), "bin", originalIconPath);
}
const { nativeImage } = require('electron');
const { nativeImage } = require("electron");
if (fs.existsSync(imagePath)) {
thumbarButton.icon = nativeImage.createFromPath(imagePath);
}
@@ -540,55 +563,55 @@ module.exports = (socket, app) => {
thumbarButton.icon = nativeImage.createEmpty();
}
thumbarButton.click = () => {
electronSocket.emit('thumbarButtonClicked', thumbarButton['id']);
electronSocket.emit("thumbarButtonClicked", thumbarButton["id"]);
};
});
const success = getWindowById(id).setThumbarButtons(thumbarButtons);
electronSocket.emit('browserWindowSetThumbarButtons-completed', success);
electronSocket.emit("browserWindowSetThumbarButtons-completed", success);
});
socket.on('browserWindowSetThumbnailClip', (id, rectangle) => {
socket.on("browserWindowSetThumbnailClip", (id, rectangle) => {
getWindowById(id).setThumbnailClip(rectangle);
});
socket.on('browserWindowSetThumbnailToolTip', (id, toolTip) => {
socket.on("browserWindowSetThumbnailToolTip", (id, toolTip) => {
getWindowById(id).setThumbnailToolTip(toolTip);
});
socket.on('browserWindowSetAppDetails', (id, options) => {
socket.on("browserWindowSetAppDetails", (id, options) => {
getWindowById(id).setAppDetails(options);
});
socket.on('browserWindowShowDefinitionForSelection', (id) => {
socket.on("browserWindowShowDefinitionForSelection", (id) => {
getWindowById(id).showDefinitionForSelection();
});
socket.on('browserWindowSetAutoHideMenuBar', (id, hide) => {
socket.on("browserWindowSetAutoHideMenuBar", (id, hide) => {
getWindowById(id).setAutoHideMenuBar(hide);
});
socket.on('browserWindowIsMenuBarAutoHide', (id) => {
socket.on("browserWindowIsMenuBarAutoHide", (id) => {
const isMenuBarAutoHide = getWindowById(id).isMenuBarAutoHide();
electronSocket.emit('browserWindow-isMenuBarAutoHide-completed', isMenuBarAutoHide);
electronSocket.emit("browserWindow-isMenuBarAutoHide-completed", isMenuBarAutoHide);
});
socket.on('browserWindowSetMenuBarVisibility', (id, visible) => {
socket.on("browserWindowSetMenuBarVisibility", (id, visible) => {
getWindowById(id).setMenuBarVisibility(visible);
});
socket.on('browserWindowIsMenuBarVisible', (id) => {
socket.on("browserWindowIsMenuBarVisible", (id) => {
const isMenuBarVisible = getWindowById(id).isMenuBarVisible();
electronSocket.emit('browserWindow-isMenuBarVisible-completed', isMenuBarVisible);
electronSocket.emit("browserWindow-isMenuBarVisible-completed", isMenuBarVisible);
});
socket.on('browserWindowSetVisibleOnAllWorkspaces', (id, visible) => {
socket.on("browserWindowSetVisibleOnAllWorkspaces", (id, visible) => {
getWindowById(id).setVisibleOnAllWorkspaces(visible);
});
socket.on('browserWindowIsVisibleOnAllWorkspaces', (id) => {
socket.on("browserWindowIsVisibleOnAllWorkspaces", (id) => {
const isVisibleOnAllWorkspaces = getWindowById(id).isVisibleOnAllWorkspaces();
electronSocket.emit('browserWindow-isVisibleOnAllWorkspaces-completed', isVisibleOnAllWorkspaces);
electronSocket.emit("browserWindow-isVisibleOnAllWorkspaces-completed", isVisibleOnAllWorkspaces);
});
socket.on('browserWindowSetIgnoreMouseEvents', (id, ignore) => {
socket.on("browserWindowSetIgnoreMouseEvents", (id, ignore) => {
getWindowById(id).setIgnoreMouseEvents(ignore);
});
socket.on('browserWindowSetContentProtection', (id, enable) => {
socket.on("browserWindowSetContentProtection", (id, enable) => {
getWindowById(id).setContentProtection(enable);
});
socket.on('browserWindowSetFocusable', (id, focusable) => {
socket.on("browserWindowSetFocusable", (id, focusable) => {
getWindowById(id).setFocusable(focusable);
});
socket.on('browserWindowSetParentWindow', (id, parent) => {
socket.on("browserWindowSetParentWindow", (id, parent) => {
const child = getWindowById(id);
if (!parent) {
// Clear parent: make this window top-level
@@ -598,25 +621,25 @@ module.exports = (socket, app) => {
const browserWindow = electron_1.BrowserWindow.fromId(parent.id);
child.setParentWindow(browserWindow);
});
socket.on('browserWindowGetParentWindow', (id) => {
socket.on("browserWindowGetParentWindow", (id) => {
const browserWindow = getWindowById(id).getParentWindow();
electronSocket.emit('browserWindow-getParentWindow-completed', browserWindow.id);
electronSocket.emit("browserWindow-getParentWindow-completed", browserWindow.id);
});
socket.on('browserWindowGetChildWindows', (id) => {
socket.on("browserWindowGetChildWindows", (id) => {
const browserWindows = getWindowById(id).getChildWindows();
const ids = [];
browserWindows.forEach(x => {
browserWindows.forEach((x) => {
ids.push(x.id);
});
electronSocket.emit('browserWindow-getChildWindows-completed', ids);
electronSocket.emit("browserWindow-getChildWindows-completed", ids);
});
socket.on('browserWindowSetAutoHideCursor', (id, autoHide) => {
socket.on("browserWindowSetAutoHideCursor", (id, autoHide) => {
getWindowById(id).setAutoHideCursor(autoHide);
});
socket.on('browserWindowSetVibrancy', (id, type) => {
socket.on("browserWindowSetVibrancy", (id, type) => {
getWindowById(id).setVibrancy(type);
});
socket.on('browserWindow-setBrowserView', (id, browserViewId) => {
socket.on("browserWindow-setBrowserView", (id, browserViewId) => {
getWindowById(id).setBrowserView((0, browserView_1.browserViewMediateService)(browserViewId));
});
function getWindowById(id) {

File diff suppressed because one or more lines are too long

File diff suppressed because it is too large Load Diff

View File

@@ -1 +1 @@
{"version":3,"file":"nativeTheme.js","sourceRoot":"","sources":["nativeTheme.ts"],"names":[],"mappings":";AACA,uCAAuC;AACvC,IAAI,cAAc,CAAC;AAEnB,iBAAS,CAAC,MAAc,EAAE,EAAE;IACxB,cAAc,GAAG,MAAM,CAAC;IAExB,MAAM,CAAC,EAAE,CAAC,iCAAiC,EAAE,GAAG,EAAE;QAC9C,MAAM,mBAAmB,GAAG,sBAAW,CAAC,mBAAmB,CAAC;QAE5D,cAAc,CAAC,IAAI,CAAC,2CAA2C,EAAE,mBAAmB,CAAC,CAAC;IAC1F,CAAC,CAAC,CAAC;IAEH,MAAM,CAAC,EAAE,CAAC,yCAAyC,EAAE,GAAG,EAAE;QACtD,MAAM,2BAA2B,GAAG,sBAAW,CAAC,2BAA2B,CAAC;QAE5E,cAAc,CAAC,IAAI,CAAC,mDAAmD,EAAE,2BAA2B,CAAC,CAAC;IAC1G,CAAC,CAAC,CAAC;IAEH,MAAM,CAAC,EAAE,CAAC,0CAA0C,EAAE,GAAG,EAAE;QACvD,MAAM,4BAA4B,GAAG,sBAAW,CAAC,4BAA4B,CAAC;QAE9E,cAAc,CAAC,IAAI,CAAC,oDAAoD,EAAE,4BAA4B,CAAC,CAAC;IAC5G,CAAC,CAAC,CAAC;IAEH,MAAM,CAAC,EAAE,CAAC,6BAA6B,EAAE,GAAG,EAAE;QAC1C,MAAM,WAAW,GAAG,sBAAW,CAAC,WAAW,CAAC;QAE5C,cAAc,CAAC,IAAI,CAAC,sCAAsC,EAAE,WAAW,CAAC,CAAC;IAC7E,CAAC,CAAC,CAAC;IAEH,MAAM,CAAC,EAAE,CAAC,yBAAyB,EAAE,CAAC,WAAW,EAAE,EAAE;QACjD,sBAAW,CAAC,WAAW,GAAG,WAAW,CAAC;IAC1C,CAAC,CAAC,CAAC;IAEH,MAAM,CAAC,EAAE,CAAC,8BAA8B,EAAE,CAAC,EAAE,EAAE,EAAE;QAC7C,sBAAW,CAAC,EAAE,CAAC,SAAS,EAAE,GAAG,EAAE;YAC3B,cAAc,CAAC,IAAI,CAAC,qBAAqB,GAAG,EAAE,CAAC,CAAC;QACpD,CAAC,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;AACP,CAAC,CAAC"}
{"version":3,"file":"nativeTheme.js","sourceRoot":"","sources":["nativeTheme.ts"],"names":[],"mappings":";AACA,uCAAuC;AACvC,IAAI,cAAc,CAAC;AAEnB,iBAAS,CAAC,MAAc,EAAE,EAAE;IACxB,cAAc,GAAG,MAAM,CAAC;IAExB,MAAM,CAAC,EAAE,CAAC,iCAAiC,EAAE,GAAG,EAAE;QAC9C,MAAM,mBAAmB,GAAG,sBAAW,CAAC,mBAAmB,CAAC;QAE5D,cAAc,CAAC,IAAI,CAAC,2CAA2C,EAAE,mBAAmB,CAAC,CAAC;IAC1F,CAAC,CAAC,CAAC;IAEH,MAAM,CAAC,EAAE,CAAC,yCAAyC,EAAE,GAAG,EAAE;QACtD,MAAM,2BAA2B,GAAG,sBAAW,CAAC,2BAA2B,CAAC;QAE5E,cAAc,CAAC,IAAI,CAAC,mDAAmD,EAAE,2BAA2B,CAAC,CAAC;IAC1G,CAAC,CAAC,CAAC;IAEH,MAAM,CAAC,EAAE,CAAC,0CAA0C,EAAE,GAAG,EAAE;QACvD,MAAM,4BAA4B,GAAG,sBAAW,CAAC,4BAA4B,CAAC;QAE9E,cAAc,CAAC,IAAI,CAAC,oDAAoD,EAAE,4BAA4B,CAAC,CAAC;IAC5G,CAAC,CAAC,CAAC;IAEH,MAAM,CAAC,EAAE,CAAC,4BAA4B,EAAE,GAAG,EAAE;QACzC,MAAM,WAAW,GAAG,sBAAW,CAAC,WAAW,CAAC;QAE5C,cAAc,CAAC,IAAI,CAAC,sCAAsC,EAAE,WAAW,CAAC,CAAC;IAC7E,CAAC,CAAC,CAAC;IAEH,MAAM,CAAC,EAAE,CAAC,yBAAyB,EAAE,CAAC,WAAW,EAAE,EAAE;QACjD,sBAAW,CAAC,WAAW,GAAG,WAAW,CAAC;IAC1C,CAAC,CAAC,CAAC;IAEH,MAAM,CAAC,EAAE,CAAC,8BAA8B,EAAE,CAAC,EAAE,EAAE,EAAE;QAC7C,sBAAW,CAAC,EAAE,CAAC,SAAS,EAAE,GAAG,EAAE;YAC3B,cAAc,CAAC,IAAI,CAAC,qBAAqB,GAAG,EAAE,CAAC,CAAC;QACpD,CAAC,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;AACP,CAAC,CAAC"}

View File

@@ -1 +1 @@
{"version":3,"file":"notification.js","sourceRoot":"","sources":["notification.ts"],"names":[],"mappings":";AACA,uCAAwC;AACxC,MAAM,aAAa,GAA4B,CAAC,MAAM,CAAC,eAAe,CAAC,GAAG,MAAM,CAAC,eAAe,CAAC,IAAI,EAAE,CAA4B,CAAC;AACpI,IAAI,cAAc,CAAC;AAEnB,iBAAS,CAAC,MAAc,EAAE,EAAE;IACxB,cAAc,GAAG,MAAM,CAAC;IACxB,MAAM,CAAC,EAAE,CAAC,oBAAoB,EAAE,CAAC,OAAO,EAAE,EAAE;QACxC,MAAM,YAAY,GAAG,IAAI,uBAAY,CAAC,OAAO,CAAC,CAAC;QAC/C,IAAI,SAAS,GAAG,KAAK,CAAC;QAEtB,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;YACjB,SAAS,GAAG,IAAI,CAAC;YACjB,YAAY,CAAC,EAAE,CAAC,MAAM,EAAE,GAAG,EAAE;gBACzB,cAAc,CAAC,IAAI,CAAC,uBAAuB,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;YACjE,CAAC,CAAC,CAAC;QACP,CAAC;QAED,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;YAClB,SAAS,GAAG,IAAI,CAAC;YACjB,YAAY,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE;gBAC1B,cAAc,CAAC,IAAI,CAAC,wBAAwB,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC;YACnE,CAAC,CAAC,CAAC;QACP,CAAC;QAED,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;YAClB,SAAS,GAAG,IAAI,CAAC;YACjB,YAAY,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE;gBAC1B,cAAc,CAAC,IAAI,CAAC,wBAAwB,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC;YACnE,CAAC,CAAC,CAAC;QACP,CAAC;QAED,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;YAClB,SAAS,GAAG,IAAI,CAAC;YACjB,YAAY,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE;gBACtC,cAAc,CAAC,IAAI,CAAC,wBAAwB,EAAE,CAAC,OAAO,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC;YAC5E,CAAC,CAAC,CAAC;QACP,CAAC;QAED,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC;YACnB,SAAS,GAAG,IAAI,CAAC;YACjB,YAAY,CAAC,EAAE,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE;gBACvC,cAAc,CAAC,IAAI,CAAC,yBAAyB,EAAE,CAAC,OAAO,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC,CAAC;YAC9E,CAAC,CAAC,CAAC;QACP,CAAC;QAED,IAAI,SAAS,EAAE,CAAC;YACZ,aAAa,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QACrC,CAAC;QAED,YAAY,CAAC,IAAI,EAAE,CAAC;IACxB,CAAC,CAAC,CAAC;IAEH,MAAM,CAAC,EAAE,CAAC,yBAAyB,EAAE,GAAG,EAAE;QACtC,MAAM,WAAW,GAAG,uBAAY,CAAC,WAAW,EAAE,CAAC;QAC/C,cAAc,CAAC,IAAI,CAAC,iCAAiC,EAAE,WAAW,CAAC,CAAC;IACxE,CAAC,CAAC,CAAC;AACP,CAAC,CAAC"}
{"version":3,"file":"notification.js","sourceRoot":"","sources":["notification.ts"],"names":[],"mappings":";AACA,uCAAwC;AACxC,MAAM,aAAa,GAA4B,CAAC,MAAM,CAAC,eAAe,CAAC,GAAG,MAAM,CAAC,eAAe,CAAC,IAAI,EAAE,CAA4B,CAAC;AACpI,IAAI,cAAc,CAAC;AAEnB,iBAAS,CAAC,MAAc,EAAE,EAAE;IACxB,cAAc,GAAG,MAAM,CAAC;IACxB,MAAM,CAAC,EAAE,CAAC,oBAAoB,EAAE,CAAC,OAAO,EAAE,EAAE;QACxC,MAAM,YAAY,GAAG,IAAI,uBAAY,CAAC,OAAO,CAAC,CAAC;QAC/C,IAAI,SAAS,GAAG,KAAK,CAAC;QAEtB,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;YACjB,SAAS,GAAG,IAAI,CAAC;YACjB,YAAY,CAAC,EAAE,CAAC,MAAM,EAAE,GAAG,EAAE;gBACzB,cAAc,CAAC,IAAI,CAAC,uBAAuB,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;YACjE,CAAC,CAAC,CAAC;QACP,CAAC;QAED,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;YAClB,SAAS,GAAG,IAAI,CAAC;YACjB,YAAY,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE;gBAC1B,cAAc,CAAC,IAAI,CAAC,wBAAwB,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC;YACnE,CAAC,CAAC,CAAC;QACP,CAAC;QAED,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;YAClB,SAAS,GAAG,IAAI,CAAC;YACjB,YAAY,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE;gBAC1B,cAAc,CAAC,IAAI,CAAC,wBAAwB,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC;YACnE,CAAC,CAAC,CAAC;QACP,CAAC;QAED,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;YAClB,SAAS,GAAG,IAAI,CAAC;YACjB,YAAY,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE;gBACtC,cAAc,CAAC,IAAI,CAAC,wBAAwB,EAAE,CAAC,OAAO,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC;YAC5E,CAAC,CAAC,CAAC;QACP,CAAC;QAED,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC;YACnB,SAAS,GAAG,IAAI,CAAC;YACjB,YAAY,CAAC,EAAE,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE;gBACvC,cAAc,CAAC,IAAI,CAAC,yBAAyB,EAAE,CAAC,OAAO,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC,CAAC;YAC9E,CAAC,CAAC,CAAC;QACP,CAAC;QAED,IAAI,SAAS,EAAE,CAAC;YACZ,aAAa,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QACrC,CAAC;QAED,YAAY,CAAC,IAAI,EAAE,CAAC;IACxB,CAAC,CAAC,CAAC;IAEH,MAAM,CAAC,EAAE,CAAC,yBAAyB,EAAE,GAAG,EAAE;QACtC,MAAM,WAAW,GAAG,uBAAY,CAAC,WAAW,EAAE,CAAC;QAC/C,cAAc,CAAC,IAAI,CAAC,kCAAkC,EAAE,WAAW,CAAC,CAAC;IACzE,CAAC,CAAC,CAAC;AACP,CAAC,CAAC"}

View File

@@ -1 +1 @@
{"version":3,"file":"powerMonitor.js","sourceRoot":"","sources":["powerMonitor.ts"],"names":[],"mappings":";AACA,uCAAwC;AACxC,IAAI,cAAc,CAAC;AAEnB,iBAAS,CAAC,MAAc,EAAE,EAAE;IACxB,cAAc,GAAG,MAAM,CAAC;IACxB,MAAM,CAAC,EAAE,CAAC,yBAAyB,EAAE,GAAG,EAAE;QACtC,uBAAY,CAAC,EAAE,CAAC,aAAa,EAAE,GAAG,EAAE;YAChC,cAAc,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;QAC1C,CAAC,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;IACH,MAAM,CAAC,EAAE,CAAC,2BAA2B,EAAE,GAAG,EAAE;QACxC,uBAAY,CAAC,EAAE,CAAC,eAAe,EAAE,GAAG,EAAE;YAClC,cAAc,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;QAC5C,CAAC,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;IACH,MAAM,CAAC,EAAE,CAAC,qBAAqB,EAAE,GAAG,EAAE;QAClC,uBAAY,CAAC,EAAE,CAAC,SAAS,EAAE,GAAG,EAAE;YAC5B,cAAc,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QACtC,CAAC,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;IACH,MAAM,CAAC,EAAE,CAAC,oBAAoB,EAAE,GAAG,EAAE;QACjC,uBAAY,CAAC,EAAE,CAAC,QAAQ,EAAE,GAAG,EAAE;YAC3B,cAAc,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QACrC,CAAC,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;IACH,MAAM,CAAC,EAAE,CAAC,mBAAmB,EAAE,GAAG,EAAE;QAChC,uBAAY,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE;YAC1B,cAAc,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QACpC,CAAC,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;IACH,MAAM,CAAC,EAAE,CAAC,wBAAwB,EAAE,GAAG,EAAE;QACrC,uBAAY,CAAC,EAAE,CAAC,YAAY,EAAE,GAAG,EAAE;YAC/B,cAAc,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;QACzC,CAAC,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;IACH,MAAM,CAAC,EAAE,CAAC,sBAAsB,EAAE,GAAG,EAAE;QACnC,uBAAY,CAAC,EAAE,CAAC,UAAU,EAAE,GAAG,EAAE;YAC7B,cAAc,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QACvC,CAAC,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;AACP,CAAC,CAAC"}
{"version":3,"file":"powerMonitor.js","sourceRoot":"","sources":["powerMonitor.ts"],"names":[],"mappings":";AACA,uCAAwC;AACxC,IAAI,cAAc,CAAC;AAEnB,iBAAS,CAAC,MAAc,EAAE,EAAE;IACxB,cAAc,GAAG,MAAM,CAAC;IACxB,MAAM,CAAC,EAAE,CAAC,mCAAmC,EAAE,GAAG,EAAE;QAChD,uBAAY,CAAC,EAAE,CAAC,aAAa,EAAE,GAAG,EAAE;YAChC,cAAc,CAAC,IAAI,CAAC,0BAA0B,CAAC,CAAC;QACpD,CAAC,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;IACH,MAAM,CAAC,EAAE,CAAC,qCAAqC,EAAE,GAAG,EAAE;QAClD,uBAAY,CAAC,EAAE,CAAC,eAAe,EAAE,GAAG,EAAE;YAClC,cAAc,CAAC,IAAI,CAAC,4BAA4B,CAAC,CAAC;QACtD,CAAC,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;IACH,MAAM,CAAC,EAAE,CAAC,+BAA+B,EAAE,GAAG,EAAE;QAC5C,uBAAY,CAAC,EAAE,CAAC,SAAS,EAAE,GAAG,EAAE;YAC5B,cAAc,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC;QAChD,CAAC,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;IACH,MAAM,CAAC,EAAE,CAAC,8BAA8B,EAAE,GAAG,EAAE;QAC3C,uBAAY,CAAC,EAAE,CAAC,QAAQ,EAAE,GAAG,EAAE;YAC3B,cAAc,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC;QAC/C,CAAC,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;IACH,MAAM,CAAC,EAAE,CAAC,0BAA0B,EAAE,GAAG,EAAE;QACvC,uBAAY,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE;YAC1B,cAAc,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;QAC3C,CAAC,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;IACH,MAAM,CAAC,EAAE,CAAC,+BAA+B,EAAE,GAAG,EAAE;QAC5C,uBAAY,CAAC,EAAE,CAAC,YAAY,EAAE,GAAG,EAAE;YAC/B,cAAc,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC;QAChD,CAAC,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;IACH,MAAM,CAAC,EAAE,CAAC,gCAAgC,EAAE,GAAG,EAAE;QAC7C,uBAAY,CAAC,EAAE,CAAC,UAAU,EAAE,GAAG,EAAE;YAC7B,cAAc,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC;QACjD,CAAC,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;AACP,CAAC,CAAC"}

View File

@@ -1 +1 @@
{"version":3,"file":"screen.js","sourceRoot":"","sources":["screen.ts"],"names":[],"mappings":";AACA,uCAAkC;AAClC,IAAI,cAAc,CAAC;AAEnB,iBAAS,CAAC,MAAc,EAAE,EAAE;IACxB,cAAc,GAAG,MAAM,CAAC;IAExB,MAAM,CAAC,EAAE,CAAC,+BAA+B,EAAE,CAAC,EAAE,EAAE,EAAE;QAC9C,iBAAM,CAAC,EAAE,CAAC,eAAe,EAAE,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE;YAC1C,cAAc,CAAC,IAAI,CAAC,sBAAsB,GAAG,EAAE,EAAE,OAAO,CAAC,CAAC;QAC9D,CAAC,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;IAEH,MAAM,CAAC,EAAE,CAAC,iCAAiC,EAAE,CAAC,EAAE,EAAE,EAAE;QAChD,iBAAM,CAAC,EAAE,CAAC,iBAAiB,EAAE,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE;YAC5C,cAAc,CAAC,IAAI,CAAC,wBAAwB,GAAG,EAAE,EAAE,OAAO,CAAC,CAAC;QAChE,CAAC,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;IAEH,MAAM,CAAC,EAAE,CAAC,yCAAyC,EAAE,CAAC,EAAE,EAAE,EAAE;QACxD,iBAAM,CAAC,EAAE,CAAC,yBAAyB,EAAE,CAAC,KAAK,EAAE,OAAO,EAAE,cAAc,EAAE,EAAE;YACpE,cAAc,CAAC,IAAI,CAAC,gCAAgC,GAAG,EAAE,EAAE,CAAC,OAAO,EAAE,cAAc,CAAC,CAAC,CAAC;QAC1F,CAAC,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;IAEH,MAAM,CAAC,EAAE,CAAC,6BAA6B,EAAE,GAAG,EAAE;QAC1C,MAAM,KAAK,GAAG,iBAAM,CAAC,oBAAoB,EAAE,CAAC;QAC5C,cAAc,CAAC,IAAI,CAAC,sCAAsC,EAAE,KAAK,CAAC,CAAC;IACvE,CAAC,CAAC,CAAC;IAEH,MAAM,CAAC,EAAE,CAAC,yBAAyB,EAAE,GAAG,EAAE;QACtC,MAAM,MAAM,GAAG,iBAAM,CAAC,iBAAiB,EAAE,CAAC,QAAQ,CAAC;QACnD,cAAc,CAAC,IAAI,CAAC,kCAAkC,EAAE,MAAM,CAAC,CAAC;IACpE,CAAC,CAAC,CAAC;IAEH,MAAM,CAAC,EAAE,CAAC,0BAA0B,EAAE,GAAG,EAAE;QACvC,MAAM,OAAO,GAAG,iBAAM,CAAC,iBAAiB,EAAE,CAAC;QAC3C,cAAc,CAAC,IAAI,CAAC,mCAAmC,EAAE,OAAO,CAAC,CAAC;IACtE,CAAC,CAAC,CAAC;IAEH,MAAM,CAAC,EAAE,CAAC,uBAAuB,EAAE,GAAG,EAAE;QACpC,MAAM,OAAO,GAAG,iBAAM,CAAC,cAAc,EAAE,CAAC;QACxC,cAAc,CAAC,IAAI,CAAC,gCAAgC,EAAE,OAAO,CAAC,CAAC;IACnE,CAAC,CAAC,CAAC;IAEH,MAAM,CAAC,EAAE,CAAC,+BAA+B,EAAE,CAAC,KAAK,EAAE,EAAE;QACjD,MAAM,OAAO,GAAG,iBAAM,CAAC,sBAAsB,CAAC,KAAK,CAAC,CAAC;QACrD,cAAc,CAAC,IAAI,CAAC,wCAAwC,EAAE,OAAO,CAAC,CAAC;IAC3E,CAAC,CAAC,CAAC;IAEH,MAAM,CAAC,EAAE,CAAC,2BAA2B,EAAE,CAAC,SAAS,EAAE,EAAE;QACjD,MAAM,OAAO,GAAG,iBAAM,CAAC,kBAAkB,CAAC,SAAS,CAAC,CAAC;QACrD,cAAc,CAAC,IAAI,CAAC,oCAAoC,EAAE,OAAO,CAAC,CAAC;IACvE,CAAC,CAAC,CAAC;AACP,CAAC,CAAC"}
{"version":3,"file":"screen.js","sourceRoot":"","sources":["screen.ts"],"names":[],"mappings":";AACA,uCAAkC;AAClC,IAAI,cAAc,CAAC;AAEnB,iBAAS,CAAC,MAAc,EAAE,EAAE;IACxB,cAAc,GAAG,MAAM,CAAC;IAExB,MAAM,CAAC,EAAE,CAAC,+BAA+B,EAAE,CAAC,EAAE,EAAE,EAAE;QAC9C,iBAAM,CAAC,EAAE,CAAC,eAAe,EAAE,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE;YAC1C,cAAc,CAAC,IAAI,CAAC,sBAAsB,GAAG,EAAE,EAAE,OAAO,CAAC,CAAC;QAC9D,CAAC,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;IAEH,MAAM,CAAC,EAAE,CAAC,iCAAiC,EAAE,CAAC,EAAE,EAAE,EAAE;QAChD,iBAAM,CAAC,EAAE,CAAC,iBAAiB,EAAE,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE;YAC5C,cAAc,CAAC,IAAI,CAAC,wBAAwB,GAAG,EAAE,EAAE,OAAO,CAAC,CAAC;QAChE,CAAC,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;IAEH,MAAM,CAAC,EAAE,CAAC,yCAAyC,EAAE,CAAC,EAAE,EAAE,EAAE;QACxD,iBAAM,CAAC,EAAE,CAAC,yBAAyB,EAAE,CAAC,KAAK,EAAE,OAAO,EAAE,cAAc,EAAE,EAAE;YACpE,cAAc,CAAC,IAAI,CAAC,gCAAgC,GAAG,EAAE,EAAE,CAAC,OAAO,EAAE,cAAc,CAAC,CAAC,CAAC;QAC1F,CAAC,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;IAEH,MAAM,CAAC,EAAE,CAAC,6BAA6B,EAAE,GAAG,EAAE;QAC1C,MAAM,KAAK,GAAG,iBAAM,CAAC,oBAAoB,EAAE,CAAC;QAC5C,cAAc,CAAC,IAAI,CAAC,uCAAuC,EAAE,KAAK,CAAC,CAAC;IACxE,CAAC,CAAC,CAAC;IAEH,MAAM,CAAC,EAAE,CAAC,2BAA2B,EAAE,GAAG,EAAE;QACxC,MAAM,MAAM,GAAG,iBAAM,CAAC,iBAAiB,EAAE,CAAC,QAAQ,CAAC;QACnD,cAAc,CAAC,IAAI,CAAC,qCAAqC,EAAE,MAAM,CAAC,CAAC;IACvE,CAAC,CAAC,CAAC;IAEH,MAAM,CAAC,EAAE,CAAC,0BAA0B,EAAE,GAAG,EAAE;QACvC,MAAM,OAAO,GAAG,iBAAM,CAAC,iBAAiB,EAAE,CAAC;QAC3C,cAAc,CAAC,IAAI,CAAC,oCAAoC,EAAE,OAAO,CAAC,CAAC;IACvE,CAAC,CAAC,CAAC;IAEH,MAAM,CAAC,EAAE,CAAC,uBAAuB,EAAE,GAAG,EAAE;QACpC,MAAM,OAAO,GAAG,iBAAM,CAAC,cAAc,EAAE,CAAC;QACxC,cAAc,CAAC,IAAI,CAAC,iCAAiC,EAAE,OAAO,CAAC,CAAC;IACpE,CAAC,CAAC,CAAC;IAEH,MAAM,CAAC,EAAE,CAAC,+BAA+B,EAAE,CAAC,KAAK,EAAE,EAAE;QACjD,MAAM,OAAO,GAAG,iBAAM,CAAC,sBAAsB,CAAC,KAAK,CAAC,CAAC;QACrD,cAAc,CAAC,IAAI,CAAC,yCAAyC,EAAE,OAAO,CAAC,CAAC;IAC5E,CAAC,CAAC,CAAC;IAEH,MAAM,CAAC,EAAE,CAAC,2BAA2B,EAAE,CAAC,SAAS,EAAE,EAAE;QACjD,MAAM,OAAO,GAAG,iBAAM,CAAC,kBAAkB,CAAC,SAAS,CAAC,CAAC;QACrD,cAAc,CAAC,IAAI,CAAC,qCAAqC,EAAE,OAAO,CAAC,CAAC;IACxE,CAAC,CAAC,CAAC;AACP,CAAC,CAAC"}

View File

@@ -1,78 +1,84 @@
"use strict";
const electron_1 = require("electron");
const browserView_1 = require("./browserView");
const fs = require('fs');
const fs = require("fs");
let electronSocket;
module.exports = (socket) => {
electronSocket = socket;
// The crashed event has been removed in Electron 29
socket.on('register-webContents-crashed', (id) => {
socket.on("register-webContents-crashed", (id) => {
const browserWindow = getWindowById(id);
browserWindow.webContents.removeAllListeners('crashed');
browserWindow.webContents.removeAllListeners("crashed");
// @ts-expect-error No overload matches this call
browserWindow.webContents.on('crashed', (event, killed) => {
electronSocket.emit('webContents-crashed' + id, killed);
browserWindow.webContents.on("crashed", (event, killed) => {
electronSocket.emit("webContents-crashed" + id, killed);
});
});
socket.on('register-webContents-didFinishLoad', (id) => {
socket.on("register-webContents-didFinishLoad", (id) => {
const browserWindow = getWindowById(id);
browserWindow.webContents.removeAllListeners('did-finish-load');
browserWindow.webContents.on('did-finish-load', () => {
electronSocket.emit('webContents-didFinishLoad' + id);
browserWindow.webContents.removeAllListeners("did-finish-load");
browserWindow.webContents.on("did-finish-load", () => {
electronSocket.emit("webContents-didFinishLoad" + id);
});
});
socket.on('register-webContents-didStartNavigation', (id) => {
socket.on("register-webContents-didStartNavigation", (id) => {
const browserWindow = getWindowById(id);
browserWindow.webContents.removeAllListeners('did-start-navigation');
browserWindow.webContents.on('did-start-navigation', (_, url) => {
electronSocket.emit('webContents-didStartNavigation' + id, url);
browserWindow.webContents.removeAllListeners("did-start-navigation");
browserWindow.webContents.on("did-start-navigation", (_, url) => {
electronSocket.emit("webContents-didStartNavigation" + id, url);
});
});
socket.on('register-webContents-didNavigate', (id) => {
socket.on("register-webContents-didNavigate", (id) => {
const browserWindow = getWindowById(id);
browserWindow.webContents.removeAllListeners('did-navigate');
browserWindow.webContents.on('did-navigate', (_, url, httpResponseCode) => {
electronSocket.emit('webContents-didNavigate' + id, { url, httpResponseCode });
browserWindow.webContents.removeAllListeners("did-navigate");
browserWindow.webContents.on("did-navigate", (_, url, httpResponseCode) => {
electronSocket.emit("webContents-didNavigate" + id, {
url,
httpResponseCode,
});
});
});
socket.on('register-webContents-willRedirect', (id) => {
socket.on("register-webContents-willRedirect", (id) => {
const browserWindow = getWindowById(id);
browserWindow.webContents.removeAllListeners('will-redirect');
browserWindow.webContents.on('will-redirect', (_, url) => {
electronSocket.emit('webContents-willRedirect' + id, url);
browserWindow.webContents.removeAllListeners("will-redirect");
browserWindow.webContents.on("will-redirect", (_, url) => {
electronSocket.emit("webContents-willRedirect" + id, url);
});
});
socket.on('register-webContents-didFailLoad', (id) => {
socket.on("register-webContents-didFailLoad", (id) => {
const browserWindow = getWindowById(id);
browserWindow.webContents.removeAllListeners('did-fail-load');
browserWindow.webContents.on('did-fail-load', (_, errorCode, validatedUrl) => {
electronSocket.emit('webContents-didFailLoad' + id, { errorCode, validatedUrl });
browserWindow.webContents.removeAllListeners("did-fail-load");
browserWindow.webContents.on("did-fail-load", (_, errorCode, validatedUrl) => {
electronSocket.emit("webContents-didFailLoad" + id, {
errorCode,
validatedUrl,
});
});
});
socket.on('register-webContents-didRedirectNavigation', (id) => {
socket.on("register-webContents-didRedirectNavigation", (id) => {
const browserWindow = getWindowById(id);
browserWindow.webContents.removeAllListeners('did-redirect-navigation');
browserWindow.webContents.on('did-redirect-navigation', (_, url) => {
electronSocket.emit('webContents-didRedirectNavigation' + id, url);
browserWindow.webContents.removeAllListeners("did-redirect-navigation");
browserWindow.webContents.on("did-redirect-navigation", (_, url) => {
electronSocket.emit("webContents-didRedirectNavigation" + id, url);
});
});
socket.on('register-webContents-input-event', (id) => {
socket.on("register-webContents-input-event", (id) => {
const browserWindow = getWindowById(id);
browserWindow.webContents.removeAllListeners('input-event');
browserWindow.webContents.on('input-event', (_, eventArgs) => {
if (eventArgs.type !== 'char') {
electronSocket.emit('webContents-input-event' + id, eventArgs);
browserWindow.webContents.removeAllListeners("input-event");
browserWindow.webContents.on("input-event", (_, eventArgs) => {
if (eventArgs.type !== "char") {
electronSocket.emit("webContents-input-event" + id, eventArgs);
}
});
});
socket.on('register-webContents-domReady', (id) => {
socket.on("register-webContents-domReady", (id) => {
const browserWindow = getWindowById(id);
browserWindow.webContents.removeAllListeners('dom-ready');
browserWindow.webContents.on('dom-ready', () => {
electronSocket.emit('webContents-domReady' + id);
browserWindow.webContents.removeAllListeners("dom-ready");
browserWindow.webContents.on("dom-ready", () => {
electronSocket.emit("webContents-domReady" + id);
});
});
socket.on('webContentsOpenDevTools', (id, options) => {
socket.on("webContentsOpenDevTools", (id, options) => {
if (options) {
getWindowById(id).webContents.openDevTools(options);
}
@@ -80,38 +86,38 @@ module.exports = (socket) => {
getWindowById(id).webContents.openDevTools();
}
});
socket.on('webContents-getPrinters', async (id) => {
socket.on("webContents-getPrinters", async (id) => {
const printers = await getWindowById(id).webContents.getPrintersAsync();
electronSocket.emit('webContents-getPrinters-completed', printers);
electronSocket.emit("webContents-getPrinters-completed", printers);
});
socket.on('webContents-print', async (id, options = {}) => {
socket.on("webContents-print", async (id, options = {}) => {
await getWindowById(id).webContents.print(options);
electronSocket.emit('webContents-print-completed', true);
electronSocket.emit("webContents-print-completed", true);
});
socket.on('webContents-printToPDF', async (id, options = {}, path) => {
socket.on("webContents-printToPDF", async (id, options = {}, path) => {
const buffer = await getWindowById(id).webContents.printToPDF(options);
fs.writeFile(path, buffer, (error) => {
if (error) {
electronSocket.emit('webContents-printToPDF-completed', false);
electronSocket.emit("webContents-printToPDF-completed", false);
}
else {
electronSocket.emit('webContents-printToPDF-completed', true);
electronSocket.emit("webContents-printToPDF-completed", true);
}
});
});
socket.on('webContents-executeJavaScript', async (id, code, userGesture = false) => {
socket.on("webContents-executeJavaScript", async (id, code, userGesture = false) => {
const result = await getWindowById(id).webContents.executeJavaScript(code, userGesture);
electronSocket.emit('webContents-executeJavaScript-completed', result);
electronSocket.emit("webContents-executeJavaScript-completed", result);
});
socket.on('webContents-getUrl', function (id) {
socket.on("webContents-getUrl", function (id) {
const browserWindow = getWindowById(id);
electronSocket.emit('webContents-getUrl' + id, browserWindow.webContents.getURL());
electronSocket.emit("webContents-getUrl" + id, browserWindow.webContents.getURL());
});
socket.on('webContents-session-allowNTLMCredentialsForDomains', (id, domains) => {
socket.on("webContents-session-allowNTLMCredentialsForDomains", (id, domains) => {
const browserWindow = getWindowById(id);
browserWindow.webContents.session.allowNTLMCredentialsForDomains(domains);
});
socket.on('webContents-session-clearAuthCache', async (...args) => {
socket.on("webContents-session-clearAuthCache", async (...args) => {
// Overload support: (id, guid) OR (id, options, guid)
const browserWindow = getWindowById(args[0]);
let guid;
@@ -124,6 +130,7 @@ module.exports = (socket) => {
const options = args[1];
guid = args[2];
try {
// @ts-ignore
await browserWindow.webContents.session.clearAuthCache(options);
}
catch {
@@ -134,87 +141,87 @@ module.exports = (socket) => {
else {
return; // invalid invocation
}
electronSocket.emit('webContents-session-clearAuthCache-completed' + guid);
electronSocket.emit("webContents-session-clearAuthCache-completed" + guid);
});
socket.on('webContents-session-clearCache', async (id, guid) => {
socket.on("webContents-session-clearCache", async (id, guid) => {
const browserWindow = getWindowById(id);
await browserWindow.webContents.session.clearCache();
electronSocket.emit('webContents-session-clearCache-completed' + guid);
electronSocket.emit("webContents-session-clearCache-completed" + guid);
});
socket.on('webContents-session-clearHostResolverCache', async (id, guid) => {
socket.on("webContents-session-clearHostResolverCache", async (id, guid) => {
const browserWindow = getWindowById(id);
await browserWindow.webContents.session.clearHostResolverCache();
electronSocket.emit('webContents-session-clearHostResolverCache-completed' + guid);
electronSocket.emit("webContents-session-clearHostResolverCache-completed" + guid);
});
socket.on('webContents-session-clearStorageData', async (id, guid) => {
socket.on("webContents-session-clearStorageData", async (id, guid) => {
const browserWindow = getWindowById(id);
await browserWindow.webContents.session.clearStorageData({});
electronSocket.emit('webContents-session-clearStorageData-completed' + guid);
electronSocket.emit("webContents-session-clearStorageData-completed" + guid);
});
socket.on('webContents-session-clearStorageData-options', async (id, options, guid) => {
socket.on("webContents-session-clearStorageData-options", async (id, options, guid) => {
const browserWindow = getWindowById(id);
await browserWindow.webContents.session.clearStorageData(options);
electronSocket.emit('webContents-session-clearStorageData-options-completed' + guid);
electronSocket.emit("webContents-session-clearStorageData-options-completed" + guid);
});
socket.on('webContents-session-createInterruptedDownload', (id, options) => {
socket.on("webContents-session-createInterruptedDownload", (id, options) => {
const browserWindow = getWindowById(id);
browserWindow.webContents.session.createInterruptedDownload(options);
});
socket.on('webContents-session-disableNetworkEmulation', (id) => {
socket.on("webContents-session-disableNetworkEmulation", (id) => {
const browserWindow = getWindowById(id);
browserWindow.webContents.session.disableNetworkEmulation();
});
socket.on('webContents-session-enableNetworkEmulation', (id, options) => {
socket.on("webContents-session-enableNetworkEmulation", (id, options) => {
const browserWindow = getWindowById(id);
browserWindow.webContents.session.enableNetworkEmulation(options);
});
socket.on('webContents-session-flushStorageData', (id) => {
socket.on("webContents-session-flushStorageData", (id) => {
const browserWindow = getWindowById(id);
browserWindow.webContents.session.flushStorageData();
});
socket.on('webContents-session-getBlobData', async (id, identifier, guid) => {
socket.on("webContents-session-getBlobData", async (id, identifier, guid) => {
const browserWindow = getWindowById(id);
const buffer = await browserWindow.webContents.session.getBlobData(identifier);
electronSocket.emit('webContents-session-getBlobData-completed' + guid, buffer.buffer);
electronSocket.emit("webContents-session-getBlobData-completed" + guid, buffer.buffer);
});
socket.on('webContents-session-getCacheSize', async (id, guid) => {
socket.on("webContents-session-getCacheSize", async (id, guid) => {
const browserWindow = getWindowById(id);
const size = await browserWindow.webContents.session.getCacheSize();
electronSocket.emit('webContents-session-getCacheSize-completed' + guid, size);
electronSocket.emit("webContents-session-getCacheSize-completed" + guid, size);
});
socket.on('webContents-session-getPreloads', (id, guid) => {
socket.on("webContents-session-getPreloads", (id, guid) => {
const browserWindow = getWindowById(id);
const preloads = browserWindow.webContents.session.getPreloads();
electronSocket.emit('webContents-session-getPreloads-completed' + guid, preloads);
electronSocket.emit("webContents-session-getPreloads-completed" + guid, preloads);
});
socket.on('webContents-session-getUserAgent', (id, guid) => {
socket.on("webContents-session-getUserAgent", (id, guid) => {
const browserWindow = getWindowById(id);
const userAgent = browserWindow.webContents.session.getUserAgent();
electronSocket.emit('webContents-session-getUserAgent-completed' + guid, userAgent);
electronSocket.emit("webContents-session-getUserAgent-completed" + guid, userAgent);
});
socket.on('webContents-session-resolveProxy', async (id, url, guid) => {
socket.on("webContents-session-resolveProxy", async (id, url, guid) => {
const browserWindow = getWindowById(id);
const proxy = await browserWindow.webContents.session.resolveProxy(url);
electronSocket.emit('webContents-session-resolveProxy-completed' + guid, proxy);
electronSocket.emit("webContents-session-resolveProxy-completed" + guid, proxy);
});
socket.on('webContents-session-setDownloadPath', (id, path) => {
socket.on("webContents-session-setDownloadPath", (id, path) => {
const browserWindow = getWindowById(id);
browserWindow.webContents.session.setDownloadPath(path);
});
socket.on('webContents-session-setPreloads', (id, preloads) => {
socket.on("webContents-session-setPreloads", (id, preloads) => {
const browserWindow = getWindowById(id);
browserWindow.webContents.session.setPreloads(preloads);
});
socket.on('webContents-session-setProxy', async (id, configuration, guid) => {
socket.on("webContents-session-setProxy", async (id, configuration, guid) => {
const browserWindow = getWindowById(id);
await browserWindow.webContents.session.setProxy(configuration);
electronSocket.emit('webContents-session-setProxy-completed' + guid);
electronSocket.emit("webContents-session-setProxy-completed" + guid);
});
socket.on('webContents-session-setUserAgent', (id, userAgent, acceptLanguages) => {
socket.on("webContents-session-setUserAgent", (id, userAgent, acceptLanguages) => {
const browserWindow = getWindowById(id);
browserWindow.webContents.session.setUserAgent(userAgent, acceptLanguages);
});
socket.on('register-webContents-session-webRequest-onBeforeRequest', (id, filter) => {
socket.on("register-webContents-session-webRequest-onBeforeRequest", (id, filter) => {
const browserWindow = getWindowById(id);
const session = browserWindow.webContents.session;
session.webRequest.onBeforeRequest(filter, (details, callback) => {
@@ -225,83 +232,88 @@ module.exports = (socket) => {
});
});
});
socket.on('register-webContents-session-cookies-changed', (id) => {
socket.on("register-webContents-session-cookies-changed", (id) => {
const browserWindow = getWindowById(id);
browserWindow.webContents.session.cookies.removeAllListeners('changed');
browserWindow.webContents.session.cookies.on('changed', (event, cookie, cause, removed) => {
electronSocket.emit('webContents-session-cookies-changed' + id, [cookie, cause, removed]);
browserWindow.webContents.session.cookies.removeAllListeners("changed");
browserWindow.webContents.session.cookies.on("changed", (event, cookie, cause, removed) => {
electronSocket.emit("webContents-session-cookies-changed" + id, [
cookie,
cause,
removed,
]);
});
});
socket.on('webContents-session-cookies-get', async (id, filter, guid) => {
socket.on("webContents-session-cookies-get", async (id, filter, guid) => {
const browserWindow = getWindowById(id);
const cookies = await browserWindow.webContents.session.cookies.get(filter);
electronSocket.emit('webContents-session-cookies-get-completed' + guid, cookies);
electronSocket.emit("webContents-session-cookies-get-completed" + guid, cookies);
});
socket.on('webContents-session-cookies-set', async (id, details, guid) => {
socket.on("webContents-session-cookies-set", async (id, details, guid) => {
const browserWindow = getWindowById(id);
await browserWindow.webContents.session.cookies.set(details);
electronSocket.emit('webContents-session-cookies-set-completed' + guid);
electronSocket.emit("webContents-session-cookies-set-completed" + guid);
});
socket.on('webContents-session-cookies-remove', async (id, url, name, guid) => {
socket.on("webContents-session-cookies-remove", async (id, url, name, guid) => {
const browserWindow = getWindowById(id);
await browserWindow.webContents.session.cookies.remove(url, name);
electronSocket.emit('webContents-session-cookies-remove-completed' + guid);
electronSocket.emit("webContents-session-cookies-remove-completed" + guid);
});
socket.on('webContents-session-cookies-flushStore', async (id, guid) => {
socket.on("webContents-session-cookies-flushStore", async (id, guid) => {
const browserWindow = getWindowById(id);
await browserWindow.webContents.session.cookies.flushStore();
electronSocket.emit('webContents-session-cookies-flushStore-completed' + guid);
electronSocket.emit("webContents-session-cookies-flushStore-completed" + guid);
});
socket.on('webContents-loadURL', (id, url, options) => {
socket.on("webContents-loadURL", (id, url, options) => {
const browserWindow = getWindowById(id);
browserWindow.webContents
.loadURL(url, options)
.then(() => {
electronSocket.emit('webContents-loadURL-complete' + id);
electronSocket.emit("webContents-loadURL-complete" + id);
})
.catch((error) => {
console.error(error);
electronSocket.emit('webContents-loadURL-error' + id, error);
electronSocket.emit("webContents-loadURL-error" + id, error);
});
});
socket.on('webContents-insertCSS', (id, isBrowserWindow, path) => {
socket.on("webContents-insertCSS", (id, isBrowserWindow, path) => {
if (isBrowserWindow) {
const browserWindow = getWindowById(id);
if (browserWindow) {
browserWindow.webContents.insertCSS(fs.readFileSync(path, 'utf8'));
browserWindow.webContents.insertCSS(fs.readFileSync(path, "utf8"));
}
}
else {
const browserViews = (global['browserViews'] = global['browserViews'] || []);
const browserViews = (global["browserViews"] =
global["browserViews"] || []);
let view = null;
for (let i = 0; i < browserViews.length; i++) {
if (browserViews[i]['id'] + 1000 === id) {
if (browserViews[i]["id"] + 1000 === id) {
view = browserViews[i];
break;
}
}
if (view) {
view.webContents.insertCSS(fs.readFileSync(path, 'utf8'));
view.webContents.insertCSS(fs.readFileSync(path, "utf8"));
}
}
});
socket.on('webContents-session-getAllExtensions', (id) => {
socket.on("webContents-session-getAllExtensions", (id) => {
const browserWindow = getWindowById(id);
const extensionsList = browserWindow.webContents.session.getAllExtensions();
const chromeExtensionInfo = [];
Object.keys(extensionsList).forEach((key) => {
chromeExtensionInfo.push(extensionsList[key]);
});
electronSocket.emit('webContents-session-getAllExtensions-completed', chromeExtensionInfo);
electronSocket.emit("webContents-session-getAllExtensions-completed", chromeExtensionInfo);
});
socket.on('webContents-session-removeExtension', (id, name) => {
socket.on("webContents-session-removeExtension", (id, name) => {
const browserWindow = getWindowById(id);
browserWindow.webContents.session.removeExtension(name);
});
socket.on('webContents-session-loadExtension', async (id, path, allowFileAccess = false) => {
socket.on("webContents-session-loadExtension", async (id, path, allowFileAccess = false) => {
const browserWindow = getWindowById(id);
const extension = await browserWindow.webContents.session.loadExtension(path, { allowFileAccess: allowFileAccess });
electronSocket.emit('webContents-session-loadExtension-completed', extension);
electronSocket.emit("webContents-session-loadExtension-completed", extension);
});
function getWindowById(id) {
if (id >= 1000) {

File diff suppressed because one or more lines are too long

View File

@@ -1,98 +1,107 @@
import { Socket } from 'net';
import { BrowserWindow, BrowserView } from 'electron';
import { browserViewMediateService } from './browserView';
const fs = require('fs');
import { Socket } from "net";
import { BrowserWindow, BrowserView } from "electron";
import { browserViewMediateService } from "./browserView";
const fs = require("fs");
let electronSocket;
export = (socket: Socket) => {
electronSocket = socket;
// The crashed event has been removed in Electron 29
socket.on('register-webContents-crashed', (id) => {
socket.on("register-webContents-crashed", (id) => {
const browserWindow = getWindowById(id);
browserWindow.webContents.removeAllListeners('crashed');
browserWindow.webContents.removeAllListeners("crashed");
// @ts-expect-error No overload matches this call
browserWindow.webContents.on('crashed', (event, killed) => {
electronSocket.emit('webContents-crashed' + id, killed);
browserWindow.webContents.on("crashed", (event, killed) => {
electronSocket.emit("webContents-crashed" + id, killed);
});
});
socket.on('register-webContents-didFinishLoad', (id) => {
socket.on("register-webContents-didFinishLoad", (id) => {
const browserWindow = getWindowById(id);
browserWindow.webContents.removeAllListeners('did-finish-load');
browserWindow.webContents.on('did-finish-load', () => {
electronSocket.emit('webContents-didFinishLoad' + id);
browserWindow.webContents.removeAllListeners("did-finish-load");
browserWindow.webContents.on("did-finish-load", () => {
electronSocket.emit("webContents-didFinishLoad" + id);
});
});
socket.on('register-webContents-didStartNavigation', (id) => {
socket.on("register-webContents-didStartNavigation", (id) => {
const browserWindow = getWindowById(id);
browserWindow.webContents.removeAllListeners('did-start-navigation');
browserWindow.webContents.on('did-start-navigation', (_, url) => {
electronSocket.emit('webContents-didStartNavigation' + id, url);
browserWindow.webContents.removeAllListeners("did-start-navigation");
browserWindow.webContents.on("did-start-navigation", (_, url) => {
electronSocket.emit("webContents-didStartNavigation" + id, url);
});
});
socket.on('register-webContents-didNavigate', (id) => {
socket.on("register-webContents-didNavigate", (id) => {
const browserWindow = getWindowById(id);
browserWindow.webContents.removeAllListeners('did-navigate');
browserWindow.webContents.on('did-navigate', (_, url, httpResponseCode) => {
electronSocket.emit('webContents-didNavigate' + id, {url, httpResponseCode});
browserWindow.webContents.removeAllListeners("did-navigate");
browserWindow.webContents.on("did-navigate", (_, url, httpResponseCode) => {
electronSocket.emit("webContents-didNavigate" + id, {
url,
httpResponseCode,
});
});
});
socket.on('register-webContents-willRedirect', (id) => {
socket.on("register-webContents-willRedirect", (id) => {
const browserWindow = getWindowById(id);
browserWindow.webContents.removeAllListeners('will-redirect');
browserWindow.webContents.on('will-redirect', (_, url) => {
electronSocket.emit('webContents-willRedirect' + id, url);
browserWindow.webContents.removeAllListeners("will-redirect");
browserWindow.webContents.on("will-redirect", (_, url) => {
electronSocket.emit("webContents-willRedirect" + id, url);
});
});
socket.on('register-webContents-didFailLoad', (id) => {
socket.on("register-webContents-didFailLoad", (id) => {
const browserWindow = getWindowById(id);
browserWindow.webContents.removeAllListeners('did-fail-load');
browserWindow.webContents.on('did-fail-load', (_, errorCode, validatedUrl) => {
electronSocket.emit('webContents-didFailLoad' + id, {errorCode, validatedUrl});
browserWindow.webContents.removeAllListeners("did-fail-load");
browserWindow.webContents.on(
"did-fail-load",
(_, errorCode, validatedUrl) => {
electronSocket.emit("webContents-didFailLoad" + id, {
errorCode,
validatedUrl,
});
}
);
});
socket.on("register-webContents-didRedirectNavigation", (id) => {
const browserWindow = getWindowById(id);
browserWindow.webContents.removeAllListeners("did-redirect-navigation");
browserWindow.webContents.on("did-redirect-navigation", (_, url) => {
electronSocket.emit("webContents-didRedirectNavigation" + id, url);
});
});
socket.on('register-webContents-didRedirectNavigation', (id) => {
socket.on("register-webContents-input-event", (id) => {
const browserWindow = getWindowById(id);
browserWindow.webContents.removeAllListeners('did-redirect-navigation');
browserWindow.webContents.on('did-redirect-navigation', (_, url) => {
electronSocket.emit('webContents-didRedirectNavigation' + id, url);
});
});
socket.on('register-webContents-input-event', (id) => {
const browserWindow = getWindowById(id);
browserWindow.webContents.removeAllListeners('input-event');
browserWindow.webContents.on('input-event', (_, eventArgs) => {
if (eventArgs.type !== 'char') {
electronSocket.emit('webContents-input-event' + id, eventArgs);
browserWindow.webContents.removeAllListeners("input-event");
browserWindow.webContents.on("input-event", (_, eventArgs) => {
if (eventArgs.type !== "char") {
electronSocket.emit("webContents-input-event" + id, eventArgs);
}
});
});
socket.on('register-webContents-domReady', (id) => {
socket.on("register-webContents-domReady", (id) => {
const browserWindow = getWindowById(id);
browserWindow.webContents.removeAllListeners('dom-ready');
browserWindow.webContents.on('dom-ready', () => {
electronSocket.emit('webContents-domReady' + id);
browserWindow.webContents.removeAllListeners("dom-ready");
browserWindow.webContents.on("dom-ready", () => {
electronSocket.emit("webContents-domReady" + id);
});
});
socket.on('webContentsOpenDevTools', (id, options) => {
socket.on("webContentsOpenDevTools", (id, options) => {
if (options) {
getWindowById(id).webContents.openDevTools(options);
} else {
@@ -100,55 +109,68 @@ export = (socket: Socket) => {
}
});
socket.on('webContents-getPrinters', async (id) => {
socket.on("webContents-getPrinters", async (id) => {
const printers = await getWindowById(id).webContents.getPrintersAsync();
electronSocket.emit('webContents-getPrinters-completed', printers);
electronSocket.emit("webContents-getPrinters-completed", printers);
});
socket.on('webContents-print', async (id, options = {}) => {
socket.on("webContents-print", async (id, options = {}) => {
await getWindowById(id).webContents.print(options);
electronSocket.emit('webContents-print-completed', true);
electronSocket.emit("webContents-print-completed", true);
});
socket.on('webContents-printToPDF', async (id, options = {}, path) => {
socket.on("webContents-printToPDF", async (id, options = {}, path) => {
const buffer = await getWindowById(id).webContents.printToPDF(options);
fs.writeFile(path, buffer, (error) => {
if (error) {
electronSocket.emit('webContents-printToPDF-completed', false);
electronSocket.emit("webContents-printToPDF-completed", false);
} else {
electronSocket.emit('webContents-printToPDF-completed', true);
electronSocket.emit("webContents-printToPDF-completed", true);
}
});
});
socket.on('webContents-executeJavaScript', async (id, code, userGesture = false) => {
const result = await getWindowById(id).webContents.executeJavaScript(code, userGesture);
electronSocket.emit('webContents-executeJavaScript-completed', result);
});
socket.on(
"webContents-executeJavaScript",
async (id, code, userGesture = false) => {
const result = await getWindowById(id).webContents.executeJavaScript(
code,
userGesture
);
electronSocket.emit("webContents-executeJavaScript-completed", result);
}
);
socket.on('webContents-getUrl', function (id) {
socket.on("webContents-getUrl", function (id) {
const browserWindow = getWindowById(id);
electronSocket.emit('webContents-getUrl' + id, browserWindow.webContents.getURL());
electronSocket.emit(
"webContents-getUrl" + id,
browserWindow.webContents.getURL()
);
});
socket.on('webContents-session-allowNTLMCredentialsForDomains', (id, domains) => {
const browserWindow = getWindowById(id);
browserWindow.webContents.session.allowNTLMCredentialsForDomains(domains);
});
socket.on(
"webContents-session-allowNTLMCredentialsForDomains",
(id, domains) => {
const browserWindow = getWindowById(id);
browserWindow.webContents.session.allowNTLMCredentialsForDomains(domains);
}
);
socket.on('webContents-session-clearAuthCache', async (...args) => {
socket.on("webContents-session-clearAuthCache", async (...args) => {
// Overload support: (id, guid) OR (id, options, guid)
const browserWindow = getWindowById(args[0]);
let guid: string;
if (args.length ===2) {
if (args.length === 2) {
// No options
guid = args[1];
await browserWindow.webContents.session.clearAuthCache();
} else if (args.length ===3) {
} else if (args.length === 3) {
const options = args[1];
guid = args[2];
try {
// @ts-ignore
await browserWindow.webContents.session.clearAuthCache(options);
} catch {
// Fallback to clearing without options if Electron version rejects custom options
@@ -157,199 +179,258 @@ export = (socket: Socket) => {
} else {
return; // invalid invocation
}
electronSocket.emit('webContents-session-clearAuthCache-completed' + guid);
electronSocket.emit("webContents-session-clearAuthCache-completed" + guid);
});
socket.on('webContents-session-clearCache', async (id, guid) => {
socket.on("webContents-session-clearCache", async (id, guid) => {
const browserWindow = getWindowById(id);
await browserWindow.webContents.session.clearCache();
electronSocket.emit('webContents-session-clearCache-completed' + guid);
electronSocket.emit("webContents-session-clearCache-completed" + guid);
});
socket.on('webContents-session-clearHostResolverCache', async (id, guid) => {
socket.on("webContents-session-clearHostResolverCache", async (id, guid) => {
const browserWindow = getWindowById(id);
await browserWindow.webContents.session.clearHostResolverCache();
electronSocket.emit('webContents-session-clearHostResolverCache-completed' + guid);
electronSocket.emit(
"webContents-session-clearHostResolverCache-completed" + guid
);
});
socket.on('webContents-session-clearStorageData', async (id, guid) => {
socket.on("webContents-session-clearStorageData", async (id, guid) => {
const browserWindow = getWindowById(id);
await browserWindow.webContents.session.clearStorageData({});
electronSocket.emit('webContents-session-clearStorageData-completed' + guid);
electronSocket.emit(
"webContents-session-clearStorageData-completed" + guid
);
});
socket.on('webContents-session-clearStorageData-options', async (id, options, guid) => {
const browserWindow = getWindowById(id);
await browserWindow.webContents.session.clearStorageData(options);
socket.on(
"webContents-session-clearStorageData-options",
async (id, options, guid) => {
const browserWindow = getWindowById(id);
await browserWindow.webContents.session.clearStorageData(options);
electronSocket.emit('webContents-session-clearStorageData-options-completed' + guid);
});
electronSocket.emit(
"webContents-session-clearStorageData-options-completed" + guid
);
}
);
socket.on('webContents-session-createInterruptedDownload', (id, options) => {
socket.on("webContents-session-createInterruptedDownload", (id, options) => {
const browserWindow = getWindowById(id);
browserWindow.webContents.session.createInterruptedDownload(options);
});
socket.on('webContents-session-disableNetworkEmulation', (id) => {
socket.on("webContents-session-disableNetworkEmulation", (id) => {
const browserWindow = getWindowById(id);
browserWindow.webContents.session.disableNetworkEmulation();
});
socket.on('webContents-session-enableNetworkEmulation', (id, options) => {
socket.on("webContents-session-enableNetworkEmulation", (id, options) => {
const browserWindow = getWindowById(id);
browserWindow.webContents.session.enableNetworkEmulation(options);
});
socket.on('webContents-session-flushStorageData', (id) => {
socket.on("webContents-session-flushStorageData", (id) => {
const browserWindow = getWindowById(id);
browserWindow.webContents.session.flushStorageData();
});
socket.on('webContents-session-getBlobData', async (id, identifier, guid) => {
socket.on("webContents-session-getBlobData", async (id, identifier, guid) => {
const browserWindow = getWindowById(id);
const buffer = await browserWindow.webContents.session.getBlobData(identifier);
const buffer = await browserWindow.webContents.session.getBlobData(
identifier
);
electronSocket.emit('webContents-session-getBlobData-completed' + guid, buffer.buffer);
electronSocket.emit(
"webContents-session-getBlobData-completed" + guid,
buffer.buffer
);
});
socket.on('webContents-session-getCacheSize', async (id, guid) => {
socket.on("webContents-session-getCacheSize", async (id, guid) => {
const browserWindow = getWindowById(id);
const size = await browserWindow.webContents.session.getCacheSize();
electronSocket.emit('webContents-session-getCacheSize-completed' + guid, size);
electronSocket.emit(
"webContents-session-getCacheSize-completed" + guid,
size
);
});
socket.on('webContents-session-getPreloads', (id, guid) => {
socket.on("webContents-session-getPreloads", (id, guid) => {
const browserWindow = getWindowById(id);
const preloads = browserWindow.webContents.session.getPreloads();
electronSocket.emit('webContents-session-getPreloads-completed' + guid, preloads);
electronSocket.emit(
"webContents-session-getPreloads-completed" + guid,
preloads
);
});
socket.on('webContents-session-getUserAgent', (id, guid) => {
socket.on("webContents-session-getUserAgent", (id, guid) => {
const browserWindow = getWindowById(id);
const userAgent = browserWindow.webContents.session.getUserAgent();
electronSocket.emit('webContents-session-getUserAgent-completed' + guid, userAgent);
electronSocket.emit(
"webContents-session-getUserAgent-completed" + guid,
userAgent
);
});
socket.on('webContents-session-resolveProxy', async (id, url, guid) => {
socket.on("webContents-session-resolveProxy", async (id, url, guid) => {
const browserWindow = getWindowById(id);
const proxy = await browserWindow.webContents.session.resolveProxy(url);
electronSocket.emit('webContents-session-resolveProxy-completed' + guid, proxy);
electronSocket.emit(
"webContents-session-resolveProxy-completed" + guid,
proxy
);
});
socket.on('webContents-session-setDownloadPath', (id, path) => {
socket.on("webContents-session-setDownloadPath", (id, path) => {
const browserWindow = getWindowById(id);
browserWindow.webContents.session.setDownloadPath(path);
});
socket.on('webContents-session-setPreloads', (id, preloads) => {
socket.on("webContents-session-setPreloads", (id, preloads) => {
const browserWindow = getWindowById(id);
browserWindow.webContents.session.setPreloads(preloads);
});
socket.on('webContents-session-setProxy', async (id, configuration, guid) => {
socket.on("webContents-session-setProxy", async (id, configuration, guid) => {
const browserWindow = getWindowById(id);
await browserWindow.webContents.session.setProxy(configuration);
electronSocket.emit('webContents-session-setProxy-completed' + guid);
electronSocket.emit("webContents-session-setProxy-completed" + guid);
});
socket.on('webContents-session-setUserAgent', (id, userAgent, acceptLanguages) => {
const browserWindow = getWindowById(id);
browserWindow.webContents.session.setUserAgent(userAgent, acceptLanguages);
});
socket.on(
"webContents-session-setUserAgent",
(id, userAgent, acceptLanguages) => {
const browserWindow = getWindowById(id);
browserWindow.webContents.session.setUserAgent(
userAgent,
acceptLanguages
);
}
);
socket.on('register-webContents-session-webRequest-onBeforeRequest', (id, filter) => {
socket.on(
"register-webContents-session-webRequest-onBeforeRequest",
(id, filter) => {
const browserWindow = getWindowById(id);
const session = browserWindow.webContents.session;
session.webRequest.onBeforeRequest(filter, (details, callback) => {
socket.emit(`webContents-session-webRequest-onBeforeRequest${id}`, details);
// Listen for a response from C# to continue the request
electronSocket.once(`webContents-session-webRequest-onBeforeRequest-response${id}`, (response) => {
callback(response);
});
socket.emit(
`webContents-session-webRequest-onBeforeRequest${id}`,
details
);
// Listen for a response from C# to continue the request
electronSocket.once(
`webContents-session-webRequest-onBeforeRequest-response${id}`,
(response) => {
callback(response);
}
);
});
});
}
);
socket.on('register-webContents-session-cookies-changed', (id) => {
socket.on("register-webContents-session-cookies-changed", (id) => {
const browserWindow = getWindowById(id);
browserWindow.webContents.session.cookies.removeAllListeners('changed');
browserWindow.webContents.session.cookies.on('changed', (event, cookie, cause, removed) => {
electronSocket.emit('webContents-session-cookies-changed' + id, [cookie, cause, removed]);
});
browserWindow.webContents.session.cookies.removeAllListeners("changed");
browserWindow.webContents.session.cookies.on(
"changed",
(event, cookie, cause, removed) => {
electronSocket.emit("webContents-session-cookies-changed" + id, [
cookie,
cause,
removed,
]);
}
);
});
socket.on('webContents-session-cookies-get', async (id, filter, guid) => {
socket.on("webContents-session-cookies-get", async (id, filter, guid) => {
const browserWindow = getWindowById(id);
const cookies = await browserWindow.webContents.session.cookies.get(filter);
electronSocket.emit('webContents-session-cookies-get-completed' + guid, cookies);
electronSocket.emit(
"webContents-session-cookies-get-completed" + guid,
cookies
);
});
socket.on('webContents-session-cookies-set', async (id, details, guid) => {
socket.on("webContents-session-cookies-set", async (id, details, guid) => {
const browserWindow = getWindowById(id);
await browserWindow.webContents.session.cookies.set(details);
electronSocket.emit('webContents-session-cookies-set-completed' + guid);
electronSocket.emit("webContents-session-cookies-set-completed" + guid);
});
socket.on('webContents-session-cookies-remove', async (id, url, name, guid) => {
const browserWindow = getWindowById(id);
await browserWindow.webContents.session.cookies.remove(url, name);
socket.on(
"webContents-session-cookies-remove",
async (id, url, name, guid) => {
const browserWindow = getWindowById(id);
await browserWindow.webContents.session.cookies.remove(url, name);
electronSocket.emit('webContents-session-cookies-remove-completed' + guid);
});
electronSocket.emit(
"webContents-session-cookies-remove-completed" + guid
);
}
);
socket.on('webContents-session-cookies-flushStore', async (id, guid) => {
socket.on("webContents-session-cookies-flushStore", async (id, guid) => {
const browserWindow = getWindowById(id);
await browserWindow.webContents.session.cookies.flushStore();
electronSocket.emit('webContents-session-cookies-flushStore-completed' + guid);
electronSocket.emit(
"webContents-session-cookies-flushStore-completed" + guid
);
});
socket.on('webContents-loadURL', (id, url, options) => {
socket.on("webContents-loadURL", (id, url, options) => {
const browserWindow = getWindowById(id);
browserWindow.webContents
.loadURL(url, options)
.then(() => {
electronSocket.emit('webContents-loadURL-complete' + id);
electronSocket.emit("webContents-loadURL-complete" + id);
})
.catch((error) => {
console.error(error);
electronSocket.emit('webContents-loadURL-error' + id, error);
electronSocket.emit("webContents-loadURL-error" + id, error);
});
});
socket.on('webContents-insertCSS', (id, isBrowserWindow, path) => {
socket.on("webContents-insertCSS", (id, isBrowserWindow, path) => {
if (isBrowserWindow) {
const browserWindow = getWindowById(id);
if (browserWindow) {
browserWindow.webContents.insertCSS(fs.readFileSync(path, 'utf8'));
browserWindow.webContents.insertCSS(fs.readFileSync(path, "utf8"));
}
} else {
const browserViews: BrowserView[] = (global['browserViews'] = global['browserViews'] || []) as BrowserView[];
const browserViews: BrowserView[] = (global["browserViews"] =
global["browserViews"] || []) as BrowserView[];
let view: BrowserView = null;
for (let i = 0; i < browserViews.length; i++) {
if (browserViews[i]['id'] + 1000 === id) {
if (browserViews[i]["id"] + 1000 === id) {
view = browserViews[i];
break;
}
}
if (view) {
view.webContents.insertCSS(fs.readFileSync(path, 'utf8'));
view.webContents.insertCSS(fs.readFileSync(path, "utf8"));
}
}
});
socket.on('webContents-session-getAllExtensions', (id) => {
socket.on("webContents-session-getAllExtensions", (id) => {
const browserWindow = getWindowById(id);
const extensionsList = browserWindow.webContents.session.getAllExtensions();
const chromeExtensionInfo = [];
@@ -358,22 +439,36 @@ export = (socket: Socket) => {
chromeExtensionInfo.push(extensionsList[key]);
});
electronSocket.emit('webContents-session-getAllExtensions-completed', chromeExtensionInfo);
electronSocket.emit(
"webContents-session-getAllExtensions-completed",
chromeExtensionInfo
);
});
socket.on('webContents-session-removeExtension', (id, name) => {
socket.on("webContents-session-removeExtension", (id, name) => {
const browserWindow = getWindowById(id);
browserWindow.webContents.session.removeExtension(name);
});
socket.on('webContents-session-loadExtension', async (id, path, allowFileAccess = false) => {
const browserWindow = getWindowById(id);
const extension = await browserWindow.webContents.session.loadExtension(path, { allowFileAccess: allowFileAccess });
socket.on(
"webContents-session-loadExtension",
async (id, path, allowFileAccess = false) => {
const browserWindow = getWindowById(id);
const extension = await browserWindow.webContents.session.loadExtension(
path,
{ allowFileAccess: allowFileAccess }
);
electronSocket.emit('webContents-session-loadExtension-completed', extension);
});
electronSocket.emit(
"webContents-session-loadExtension-completed",
extension
);
}
);
function getWindowById(id: number): Electron.BrowserWindow | Electron.BrowserView {
function getWindowById(
id: number
): Electron.BrowserWindow | Electron.BrowserView {
if (id >= 1000) {
return browserViewMediateService(id - 1000);
}

View File

@@ -0,0 +1,2 @@
global.process = undefined;
global.module = undefined;

View File

@@ -71,8 +71,8 @@
<ProjectReference Include="..\ElectronNET.AspNet\ElectronNET.AspNet.csproj" Condition="$(ElectronNetDevMode)" />
</ItemGroup>
<ItemGroup>
<PackageReference Include="ElectronNET.Core" Version="0.1.0" Condition="'$(ElectronNetDevMode)' != 'true'" />
<PackageReference Include="ElectronNET.Core.AspNet" Version="0.1.0" Condition="'$(ElectronNetDevMode)' != 'true'" />
<PackageReference Include="ElectronNET.Core" Version="0.2.0" Condition="'$(ElectronNetDevMode)' != 'true'" />
<PackageReference Include="ElectronNET.Core.AspNet" Version="0.2.0" Condition="'$(ElectronNetDevMode)' != 'true'" />
<PackageReference Include="Microsoft.TypeScript.MSBuild" Version="5.9.3" />
</ItemGroup>

View File

@@ -1,6 +1,6 @@
<Project>
<PropertyGroup>
<Version>0.1.0</Version>
<Version>0.2.0</Version>
<PackageNamePrefix>ElectronNET.Core</PackageNamePrefix>
<Authors>Gregor Biswanger, Florian Rappl, softworkz</Authors>
<Product>Electron.NET</Product>