git: 6d42f1e2f558 - main - devel/electron43: Update to 43.5.0
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Tue, 01 Sep 2026 09:30:23 UTC
The branch main has been updated by tagattie:
URL: https://cgit.FreeBSD.org/ports/commit/?id=6d42f1e2f5586cb2169b96a8cf3b7deafbaa64f4
commit 6d42f1e2f5586cb2169b96a8cf3b7deafbaa64f4
Author: Hiroki Tagato <tagattie@FreeBSD.org>
AuthorDate: 2026-09-01 09:29:13 +0000
Commit: Hiroki Tagato <tagattie@FreeBSD.org>
CommitDate: 2026-09-01 09:30:15 +0000
devel/electron43: Update to 43.5.0
Changelog: https://github.com/electron/electron/releases/tag/v43.5.0
Reported by: GitHub (watch releases)
---
devel/electron43/Makefile | 18 ++++++---
devel/electron43/Makefile.version | 2 +-
devel/electron43/distinfo | 30 +++++++-------
.../fixtures/api/session-bus-lost/package.json | 4 ++
.../apps/remote-debugging-emulation/package.json | 4 ++
...tch-chrome_browser_process__singleton__posix.cc | 4 +-
...t_render__widget__host__view__event__handler.cc | 4 +-
devel/electron43/files/patch-electron_BUILD.gn | 14 +++----
...-electron_shell_app_electron__main__delegate.cc | 25 ++++++++----
.../files/patch-electron_shell_app_node__main.cc | 8 ++--
...lectron_shell_browser_api_electron__api__app.cc | 16 ++++----
...hell_browser_api_electron__api__base__window.cc | 8 ++--
...shell_browser_api_electron__api__base__window.h | 4 +-
...ell_browser_api_electron__api__web__contents.cc | 16 ++++----
...hell_browser_api_electron__api__web__contents.h | 4 +-
.../files/patch-electron_shell_browser_browser.cc | 4 +-
.../files/patch-electron_shell_browser_browser.h | 4 +-
...shell_browser_electron__browser__main__parts.cc | 37 +++++++++--------
.../patch-electron_shell_browser_native__window.cc | 4 +-
...-electron_shell_browser_native__window__views.h | 10 ++---
..._shell_browser_ui_inspectable__web__contents.cc | 4 +-
...ll_common_api_electron__api__shared__texture.cc | 8 ++--
..._shell_common_gin__converters_osr__converter.cc | 4 +-
.../patch-electron_shell_common_node__bindings.cc | 4 +-
...-electron_shell_common_node__bindings__linux.cc | 15 +++----
.../files/patch-electron_spec_api-app-spec.ts | 47 +++++++++++++---------
.../patch-electron_spec_api-browser-window-spec.ts | 20 ++++-----
.../files/patch-electron_spec_api-protocol-spec.ts | 4 +-
...patch-electron_spec_api-utility-process-spec.ts | 6 +--
.../patch-electron_spec_api-web-contents-spec.ts | 6 +--
.../files/patch-electron_spec_chromium-spec.ts | 8 ++--
.../files/patch-electron_spec_node-spec.ts | 4 +-
...sions_browser_api_messaging_message__service.cc | 4 +-
..._command__buffer_service_gles2__cmd__decoder.cc | 4 +-
...mmand__buffer_service_shared__context__state.cc | 8 ++--
.../files/patch-gpu_ipc_service_gpu__init.cc | 10 ++---
36 files changed, 205 insertions(+), 171 deletions(-)
diff --git a/devel/electron43/Makefile b/devel/electron43/Makefile
index 2ed848aa6e50..accdb241351b 100644
--- a/devel/electron43/Makefile
+++ b/devel/electron43/Makefile
@@ -4,7 +4,7 @@ DISTVERSION= ${ELECTRON_VER}
PULSEMV= 16
PULSEV= ${PULSEMV}.1
CATEGORIES= devel
-MASTER_SITES= https://github.com/tagattie/FreeBSD-Electron/releases/download/v43.4.0/:chromium \
+MASTER_SITES= https://github.com/tagattie/FreeBSD-Electron/releases/download/v43.5.0/:chromium \
https://freedesktop.org/software/pulseaudio/releases/:pulseaudio
PKGNAMESUFFIX= ${ELECTRON_VER_MAJOR}
DISTFILES= chromium-${CHROMIUM_VER}${EXTRACT_SUFX}.0:chromium \
@@ -226,9 +226,9 @@ SNDIO_VARS= GN_ARGS+=use_sndio=true
SNDIO_VARS_OFF= GN_ARGS+=use_sndio=false
# See ${WRKSRC}/electron/DEPS for CHROMIUM_VER
-CHROMIUM_VER= 150.0.7871.224
+CHROMIUM_VER= 150.0.7871.250
# See ${WRKSRC}/electron/DEPS for NODE_VER
-NODE_VER= 24.18.1
+NODE_VER= 24.19.0
# See ${WRKSRC}/electron/DEPS for NAN_VER
NAN_VER= 675cefebca42410733da8a454c8d9391fcebfbc2
# See ${WRKSRC}/electron/DEPS for SQUIRREL_MAC_VER
@@ -346,8 +346,16 @@ post-extract:
pre-patch:
${SH} ${FILESDIR}/apply-electron-patches.sh ${WRKSRC}
- # ${FIND} ${WRKSRC} -type f -name '*.orig' -print -delete
- # ${FIND} ${WRKSRC} -type f -name '*~' -print -delete
+.ifdef MAINTAINER_MODE
+ ${FIND} ${WRKSRC} -type f -name '*.orig' -print -delete
+ ${FIND} ${WRKSRC} -type f -name '*~' -print -delete
+.endif
+
+.ifndef MAINTAINER_MODE
+post-patch:
+ @${REINPLACE_CMD} -e 's|/usr/bin/dbus-daemon|${LOCALBASE}/bin/dbus-daemon|' \
+ ${WRKSRC}/electron/spec/api-app-spec.ts
+.endif
pre-configure:
# We used to remove bundled libraries to be sure that chromium uses
diff --git a/devel/electron43/Makefile.version b/devel/electron43/Makefile.version
index dcae2ad6f0b0..3f1625584a1f 100644
--- a/devel/electron43/Makefile.version
+++ b/devel/electron43/Makefile.version
@@ -1,2 +1,2 @@
-ELECTRON_VER= 43.4.1
+ELECTRON_VER= 43.5.0
ELECTRON_VER_MAJOR= ${ELECTRON_VER:C/\..*//}
diff --git a/devel/electron43/distinfo b/devel/electron43/distinfo
index ba97ceff340f..5d8d1b59b147 100644
--- a/devel/electron43/distinfo
+++ b/devel/electron43/distinfo
@@ -1,10 +1,10 @@
-TIMESTAMP = 1787262291
-SHA256 (electron/chromium-150.0.7871.224.tar.xz.0) = d0341a640489da4f74e3999b4d5d305a20e0cfb9d17cac83164ccf8aa9e3f626
-SIZE (electron/chromium-150.0.7871.224.tar.xz.0) = 2000000000
-SHA256 (electron/chromium-150.0.7871.224.tar.xz.1) = b42aa0c118175230fb550322a26e273e482703823709b152910ee68ac9543b7c
-SIZE (electron/chromium-150.0.7871.224.tar.xz.1) = 2000000000
-SHA256 (electron/chromium-150.0.7871.224.tar.xz.2) = 80d3e90610a60354f8b1c5c0cffa85159373546c4aa41199d5ca2ebec085edfb
-SIZE (electron/chromium-150.0.7871.224.tar.xz.2) = 896181616
+TIMESTAMP = 1788183284
+SHA256 (electron/chromium-150.0.7871.250.tar.xz.0) = ff59b1687c8682c9f6138ae24f0e3b0239c035a585857debd902a5783ebed85c
+SIZE (electron/chromium-150.0.7871.250.tar.xz.0) = 2000000000
+SHA256 (electron/chromium-150.0.7871.250.tar.xz.1) = 44420b00bd86f06de3aa57e555df31c80102042ab214a94d0f090f1d64e80786
+SIZE (electron/chromium-150.0.7871.250.tar.xz.1) = 2000000000
+SHA256 (electron/chromium-150.0.7871.250.tar.xz.2) = 1c1554757c0d4a21721db8d990d995d03080908724a7bde091255c40807eb9f7
+SIZE (electron/chromium-150.0.7871.250.tar.xz.2) = 895887844
SHA256 (electron/pulseaudio-16.1.tar.gz) = 027266c62f2a84422ac45fa721a649508f0f1628fb1fd9242315ac54ce2d7c92
SIZE (electron/pulseaudio-16.1.tar.gz) = 2763111
SHA256 (electron/rust/crates/ahash-0.8.12.crate) = 5a15f179cd60c4584b8a8c596927aadc462e27f2ca70c04e0071964a73ba7a75
@@ -417,14 +417,14 @@ SHA256 (electron/rust/crates/zmij-1.0.21.crate) = b8848ee67ecc8aedbaf3e4122217af
SIZE (electron/rust/crates/zmij-1.0.21.crate) = 26665
SHA256 (electron/yarn-4.12.0.tgz) = bd58d06826ce9542c4cd904fe10bab7bc718ea2cc39a45d9fbd15f2edb45761c
SIZE (electron/yarn-4.12.0.tgz) = 1056794
-SHA256 (electron/electron43-43.4.1-node-modules-arm64.tar.xz) = 6a1a0c39a5b18dcdad561b23b15847660e7b51b3be476595e93256c0f91e017a
-SIZE (electron/electron43-43.4.1-node-modules-arm64.tar.xz) = 62711992
-SHA256 (electron/electron43-43.4.1-node-modules-x64.tar.xz) = f57cf602ff06507d38ed76d09e2ee24c350472f99e451bbfb4bc2b5d2c69c8c0
-SIZE (electron/electron43-43.4.1-node-modules-x64.tar.xz) = 71098213
-SHA256 (electron/electron-electron-v43.4.1_GH0.tar.gz) = e4ca9c47f0be673e593677342614be00dc8dbda9b3f89e99af0ad1f59a185929
-SIZE (electron/electron-electron-v43.4.1_GH0.tar.gz) = 19503916
-SHA256 (electron/nodejs-node-v24.18.1_GH0.tar.gz) = bb8065bf6b8b4a2da85dba16c1f69c0a3ad90c0481b33f1ab4c82e3d2bcc8c77
-SIZE (electron/nodejs-node-v24.18.1_GH0.tar.gz) = 127539215
+SHA256 (electron/electron43-43.5.0-node-modules-arm64.tar.xz) = 6a1a0c39a5b18dcdad561b23b15847660e7b51b3be476595e93256c0f91e017a
+SIZE (electron/electron43-43.5.0-node-modules-arm64.tar.xz) = 62711992
+SHA256 (electron/electron43-43.5.0-node-modules-x64.tar.xz) = f57cf602ff06507d38ed76d09e2ee24c350472f99e451bbfb4bc2b5d2c69c8c0
+SIZE (electron/electron43-43.5.0-node-modules-x64.tar.xz) = 71098213
+SHA256 (electron/electron-electron-v43.5.0_GH0.tar.gz) = c330d659335387e6f5f8c6164e01f09891bd273933fb495badc5cef9e4bd96e2
+SIZE (electron/electron-electron-v43.5.0_GH0.tar.gz) = 19737708
+SHA256 (electron/nodejs-node-v24.19.0_GH0.tar.gz) = f06a13587eab05e24972f39628559a942a495f7140b702ce87d79454e2925bb3
+SIZE (electron/nodejs-node-v24.19.0_GH0.tar.gz) = 127452601
SHA256 (electron/nodejs-nan-675cefebca42410733da8a454c8d9391fcebfbc2_GH0.tar.gz) = 3983c68f19ed75dd37dc228eab385093ae2533132730f253f0c3d19ff10788e3
SIZE (electron/nodejs-nan-675cefebca42410733da8a454c8d9391fcebfbc2_GH0.tar.gz) = 111323
SHA256 (electron/Squirrel-Squirrel.Mac-0e5d146ba13101a1302d59ea6e6e0b3cace4ae38_GH0.tar.gz) = f4ebb40a8d85dbb7ef02aa0571b2f8e22182c6d73b6992484a53c90047779d01
diff --git a/devel/electron43/files/packagejsons/spec/fixtures/api/session-bus-lost/package.json b/devel/electron43/files/packagejsons/spec/fixtures/api/session-bus-lost/package.json
new file mode 100644
index 000000000000..b2ead513c071
--- /dev/null
+++ b/devel/electron43/files/packagejsons/spec/fixtures/api/session-bus-lost/package.json
@@ -0,0 +1,4 @@
+{
+ "name": "session-bus-lost",
+ "main": "main.js"
+}
diff --git a/devel/electron43/files/packagejsons/spec/fixtures/apps/remote-debugging-emulation/package.json b/devel/electron43/files/packagejsons/spec/fixtures/apps/remote-debugging-emulation/package.json
new file mode 100644
index 000000000000..734fa7ffacb5
--- /dev/null
+++ b/devel/electron43/files/packagejsons/spec/fixtures/apps/remote-debugging-emulation/package.json
@@ -0,0 +1,4 @@
+{
+ "name": "remote-debugging-emulation",
+ "main": "main.js"
+}
diff --git a/devel/electron43/files/patch-chrome_browser_process__singleton__posix.cc b/devel/electron43/files/patch-chrome_browser_process__singleton__posix.cc
index 98d9b7d3277d..74d006c4fd26 100644
--- a/devel/electron43/files/patch-chrome_browser_process__singleton__posix.cc
+++ b/devel/electron43/files/patch-chrome_browser_process__singleton__posix.cc
@@ -1,6 +1,6 @@
---- chrome/browser/process_singleton_posix.cc.orig 2026-07-07 05:57:55 UTC
+--- chrome/browser/process_singleton_posix.cc.orig 2026-08-31 13:40:08 UTC
+++ chrome/browser/process_singleton_posix.cc
-@@ -371,7 +371,7 @@ bool DisplayProfileInUseError(const base::FilePath& lo
+@@ -391,7 +391,7 @@ bool DisplayProfileInUseError(const base::FilePath& lo
if (g_disable_prompt)
return g_user_opted_unlock_in_use_profile;
diff --git a/devel/electron43/files/patch-content_browser_renderer__host_render__widget__host__view__event__handler.cc b/devel/electron43/files/patch-content_browser_renderer__host_render__widget__host__view__event__handler.cc
index a5452195a837..81f46b0bc048 100644
--- a/devel/electron43/files/patch-content_browser_renderer__host_render__widget__host__view__event__handler.cc
+++ b/devel/electron43/files/patch-content_browser_renderer__host_render__widget__host__view__event__handler.cc
@@ -1,6 +1,6 @@
---- content/browser/renderer_host/render_widget_host_view_event_handler.cc.orig 2026-07-27 18:15:13 UTC
+--- content/browser/renderer_host/render_widget_host_view_event_handler.cc.orig 2026-08-31 13:40:09 UTC
+++ content/browser/renderer_host/render_widget_host_view_event_handler.cc
-@@ -629,7 +629,7 @@ bool RenderWidgetHostViewEventHandler::CanRendererHand
+@@ -630,7 +630,7 @@ bool RenderWidgetHostViewEventHandler::CanRendererHand
if (event->type() == ui::EventType::kMouseExited) {
if (mouse_locked || selection_popup)
return false;
diff --git a/devel/electron43/files/patch-electron_BUILD.gn b/devel/electron43/files/patch-electron_BUILD.gn
index 53aa72fa874d..29eaa08ef399 100644
--- a/devel/electron43/files/patch-electron_BUILD.gn
+++ b/devel/electron43/files/patch-electron_BUILD.gn
@@ -1,6 +1,6 @@
---- electron/BUILD.gn.orig 2026-08-10 18:14:50 UTC
+--- electron/BUILD.gn.orig 2026-08-31 00:54:38 UTC
+++ electron/BUILD.gn
-@@ -628,7 +628,7 @@ source_set("electron_lib") {
+@@ -629,7 +629,7 @@ source_set("electron_lib") {
defines += [ "GDK_DISABLE_DEPRECATION_WARNINGS" ]
}
@@ -9,7 +9,7 @@
deps += [
"//components/crash/core/app",
"//components/crash/core/browser",
-@@ -742,6 +742,12 @@ source_set("electron_lib") {
+@@ -743,6 +743,12 @@ source_set("electron_lib") {
cflags_objcc = [ "-fobjc-weak" ]
}
}
@@ -22,7 +22,7 @@
if (is_linux) {
libs = [ "xshmfence" ]
deps += [
-@@ -1524,7 +1530,7 @@ if (is_mac) {
+@@ -1547,7 +1553,7 @@ if (is_mac) {
":electron_lib",
":electron_win32_resources",
":packed_resources",
@@ -31,7 +31,7 @@
"//content:sandbox_helper_win",
"//electron/buildflags",
"//third_party/electron_node:libnode",
-@@ -1551,7 +1557,7 @@ if (is_mac) {
+@@ -1574,7 +1580,7 @@ if (is_mac) {
public_deps = [ "//tools/v8_context_snapshot" ]
}
@@ -40,7 +40,7 @@
data_deps += [ "//components/crash/core/app:chrome_crashpad_handler" ]
}
-@@ -1618,7 +1624,7 @@ if (is_mac) {
+@@ -1641,7 +1647,7 @@ if (is_mac) {
configs += [ "//build/config/gcc:rpath_for_built_shared_libraries" ]
}
@@ -49,7 +49,7 @@
deps += [ "//sandbox/linux:chrome_sandbox" ]
}
}
-@@ -1739,7 +1745,9 @@ dist_zip("electron_dist_zip") {
+@@ -1762,7 +1768,9 @@ dist_zip("electron_dist_zip") {
]
}
diff --git a/devel/electron43/files/patch-electron_shell_app_electron__main__delegate.cc b/devel/electron43/files/patch-electron_shell_app_electron__main__delegate.cc
index bafdc398acd2..5145dfcd3632 100644
--- a/devel/electron43/files/patch-electron_shell_app_electron__main__delegate.cc
+++ b/devel/electron43/files/patch-electron_shell_app_electron__main__delegate.cc
@@ -1,4 +1,4 @@
---- electron/shell/app/electron_main_delegate.cc.orig 2026-06-29 20:35:15 UTC
+--- electron/shell/app/electron_main_delegate.cc.orig 2026-08-31 00:54:38 UTC
+++ electron/shell/app/electron_main_delegate.cc
@@ -67,7 +67,7 @@
#include "chrome/child/v8_crashpad_support_win.h"
@@ -7,9 +7,9 @@
-#if BUILDFLAG(IS_LINUX)
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
#include "base/nix/xdg_util.h"
+ #include "ui/gfx/linux/fontconfig_util.h"
#include "ui/linux/display_server_utils.h"
- #include "v8/include/v8-wasm-trap-handler-posix.h"
-@@ -78,7 +78,7 @@
+@@ -79,7 +79,7 @@
#include "ui/ozone/public/ozone_platform.h"
#endif // BUILDFLAG(IS_OZONE)
@@ -18,7 +18,7 @@
#include "components/crash/core/app/crash_switches.h" // nogncheck
#include "components/crash/core/app/crashpad.h" // nogncheck
#include "components/crash/core/common/crash_key.h"
-@@ -218,7 +218,7 @@ std::optional<int> ElectronMainDelegate::BasicStartupC
+@@ -219,7 +219,7 @@ std::optional<int> ElectronMainDelegate::BasicStartupC
base::win::PinUser32();
#endif
@@ -27,7 +27,7 @@
// Check for --no-sandbox parameter when running as root.
if (getuid() == 0 && IsSandboxEnabled(command_line))
LOG(FATAL) << "Running as root without --"
-@@ -268,7 +268,7 @@ void ElectronMainDelegate::PreSandboxStartup() {
+@@ -269,7 +269,7 @@ void ElectronMainDelegate::PreSandboxStartup() {
/* is_preinit = */ IsBrowserProcess() || IsZygoteProcess());
#endif
@@ -36,7 +36,7 @@
crash_reporter::InitializeCrashKeys();
#endif
-@@ -303,7 +303,7 @@ void ElectronMainDelegate::PreSandboxStartup() {
+@@ -304,7 +304,7 @@ void ElectronMainDelegate::PreSandboxStartup() {
}
#endif
@@ -45,7 +45,7 @@
crash_keys::SetCrashKeysFromCommandLine(*command_line);
crash_keys::SetPlatformCrashKey();
#endif
-@@ -322,7 +322,7 @@ void ElectronMainDelegate::PreSandboxStartup() {
+@@ -323,7 +323,7 @@ void ElectronMainDelegate::PreSandboxStartup() {
#if BUILDFLAG(IS_OZONE)
// Initialize Ozone platform and add required feature flags as per
// platform's properties.
@@ -54,7 +54,16 @@
ui::SetOzonePlatformForLinuxIfNeeded(*command_line);
#endif
ui::OzonePlatform::PreSandboxStartup();
-@@ -352,7 +352,7 @@ std::optional<int> ElectronMainDelegate::PreBrowserMai
+@@ -353,7 +353,7 @@ std::optional<int> ElectronMainDelegate::PreBrowserMai
+ InitializeFeatureList();
+ // Initialize mojo core as soon as we have a valid feature list
+ content::InitializeMojoCore();
+-#if BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ // Queued before the browser ThreadPool starts, so FontConfig loads in
+ // parallel with toolkit initialization instead of on first use.
+ gfx::InitializeGlobalFontConfigAsync();
+@@ -361,7 +361,7 @@ std::optional<int> ElectronMainDelegate::PreBrowserMai
#if BUILDFLAG(IS_MAC)
RegisterAtomCrApp();
#endif
diff --git a/devel/electron43/files/patch-electron_shell_app_node__main.cc b/devel/electron43/files/patch-electron_shell_app_node__main.cc
index 563edfc85c2b..069b9cf7cf00 100644
--- a/devel/electron43/files/patch-electron_shell_app_node__main.cc
+++ b/devel/electron43/files/patch-electron_shell_app_node__main.cc
@@ -1,6 +1,6 @@
---- electron/shell/app/node_main.cc.orig 2026-06-29 20:35:15 UTC
+--- electron/shell/app/node_main.cc.orig 2026-08-31 00:54:38 UTC
+++ electron/shell/app/node_main.cc
-@@ -53,7 +53,7 @@
+@@ -54,7 +54,7 @@
#include "shell/common/mac/codesign_util.h"
#endif
@@ -9,7 +9,7 @@
#include "components/crash/core/app/crashpad.h" // nogncheck
#include "shell/app/electron_crash_reporter_client.h"
#include "shell/common/crash_keys.h"
-@@ -105,14 +105,14 @@ bool UnsetHijackableEnvs(base::Environment* env) {
+@@ -106,14 +106,14 @@ bool UnsetHijackableEnvs(base::Environment* env) {
}
#endif
@@ -26,7 +26,7 @@
electron::crash_keys::GetCrashKeys(&keys);
#endif
return gin::ConvertToV8(isolate, keys);
-@@ -294,7 +294,7 @@ int NodeMain() {
+@@ -329,7 +329,7 @@ int NodeMain() {
// Setup process.crashReporter in child node processes
auto reporter = gin_helper::Dictionary::CreateEmpty(isolate);
reporter.SetMethod("getParameters", &GetParameters);
diff --git a/devel/electron43/files/patch-electron_shell_browser_api_electron__api__app.cc b/devel/electron43/files/patch-electron_shell_browser_api_electron__api__app.cc
index 1db605fdd14c..75a999058121 100644
--- a/devel/electron43/files/patch-electron_shell_browser_api_electron__api__app.cc
+++ b/devel/electron43/files/patch-electron_shell_browser_api_electron__api__app.cc
@@ -1,6 +1,6 @@
---- electron/shell/browser/api/electron_api_app.cc.orig 2026-07-21 15:33:01 UTC
+--- electron/shell/browser/api/electron_api_app.cc.orig 2026-08-31 00:54:38 UTC
+++ electron/shell/browser/api/electron_api_app.cc
-@@ -109,7 +109,7 @@
+@@ -110,7 +110,7 @@
#include "ui/base/resource/resource_bundle.h"
#endif
@@ -9,7 +9,7 @@
#include "base/nix/scoped_xdg_activation_token_injector.h"
#include "base/nix/xdg_util.h"
#endif
-@@ -437,7 +437,7 @@ bool NotificationCallbackWrapper(
+@@ -438,7 +438,7 @@ bool NotificationCallbackWrapper(
base::CommandLine cmd,
const base::FilePath& cwd,
const std::vector<uint8_t> additional_data) {
@@ -18,7 +18,7 @@
// Set the global activation token sent as a command line switch by another
// electron app instance. This also removes the switch after use to prevent
// any side effects of leaving it in the command line after this point.
-@@ -622,7 +622,7 @@ void App::OnFinishLaunching(base::DictValue launch_inf
+@@ -623,7 +623,7 @@ void App::OnFinishLaunching(base::DictValue launch_inf
}
void App::OnFinishLaunching(base::DictValue launch_info) {
@@ -27,7 +27,7 @@
// Set the application name for audio streams shown in external
// applications. Only affects pulseaudio currently.
media::AudioManager::SetGlobalAppName(Browser::Get()->GetName());
-@@ -971,7 +971,7 @@ void App::SetDesktopName(const std::string& desktop_na
+@@ -972,7 +972,7 @@ void App::SetDesktopName(const std::string& desktop_na
}
void App::SetDesktopName(const std::string& desktop_name) {
@@ -36,7 +36,7 @@
auto env = base::Environment::Create();
env->SetVar("CHROME_DESKTOP", desktop_name);
#endif
-@@ -1073,7 +1073,7 @@ bool App::RequestSingleInstanceLock(gin::Arguments* ar
+@@ -1074,7 +1074,7 @@ bool App::RequestSingleInstanceLock(gin::Arguments* ar
base::BindRepeating(NotificationCallbackWrapper, cb));
#endif
@@ -45,7 +45,7 @@
// Read the xdg-activation token and set it in the command line for the
// duration of the notification in order to ensure this is propagated to an
// already running electron app instance if it exists.
-@@ -1468,7 +1468,7 @@ std::vector<gin_helper::Dictionary> App::GetAppMetrics
+@@ -1469,7 +1469,7 @@ std::vector<gin_helper::Dictionary> App::GetAppMetrics
pid_dict.Set("name", process_metric.second->name);
}
@@ -54,7 +54,7 @@
auto memory_info = process_metric.second->GetMemoryInfo();
auto memory_dict = gin_helper::Dictionary::CreateEmpty(isolate);
-@@ -1975,7 +1975,7 @@ gin::ObjectTemplateBuilder App::GetObjectTemplateBuild
+@@ -1973,7 +1973,7 @@ gin::ObjectTemplateBuilder App::GetObjectTemplateBuild
.SetMethod("getJumpListSettings", &App::GetJumpListSettings)
.SetMethod("setJumpList", &App::SetJumpList)
#endif
diff --git a/devel/electron43/files/patch-electron_shell_browser_api_electron__api__base__window.cc b/devel/electron43/files/patch-electron_shell_browser_api_electron__api__base__window.cc
index 92f23ad6371f..c199e54bf752 100644
--- a/devel/electron43/files/patch-electron_shell_browser_api_electron__api__base__window.cc
+++ b/devel/electron43/files/patch-electron_shell_browser_api_electron__api__base__window.cc
@@ -1,4 +1,4 @@
---- electron/shell/browser/api/electron_api_base_window.cc.orig 2026-06-29 20:35:15 UTC
+--- electron/shell/browser/api/electron_api_base_window.cc.orig 2026-08-31 00:54:38 UTC
+++ electron/shell/browser/api/electron_api_base_window.cc
@@ -43,7 +43,7 @@
#include "shell/browser/ui/views/win_frame_view.h"
@@ -9,7 +9,7 @@
#include "shell/browser/ui/views/electron_frame_view_linux.h"
#include "ui/gfx/image/image_skia.h"
#endif
-@@ -1043,7 +1043,7 @@ void BaseWindow::SetIconImpl(v8::Isolate* isolate,
+@@ -1063,7 +1063,7 @@ void BaseWindow::SetIconImpl(v8::Isolate* isolate,
static_cast<NativeWindowViews*>(window_.get())
->SetIcon(native_image->GetHICON(GetSystemMetrics(SM_CXSMICON)),
native_image->GetHICON(GetSystemMetrics(SM_CXICON)));
@@ -18,7 +18,7 @@
static_cast<NativeWindowViews*>(window_.get())
->SetIcon(native_image->image().AsImageSkia());
#endif
-@@ -1144,7 +1144,7 @@ v8::Local<v8::Value> BaseWindow::GetAccentColor() cons
+@@ -1164,7 +1164,7 @@ v8::Local<v8::Value> BaseWindow::GetAccentColor() cons
}
#endif
@@ -27,7 +27,7 @@
void BaseWindow::SetTitleBarOverlay(const gin_helper::Dictionary& options,
gin::Arguments* args) {
static_cast<NativeWindowViews*>(window_.get())
-@@ -1326,7 +1326,7 @@ void BaseWindow::BuildPrototype(v8::Isolate* isolate,
+@@ -1346,7 +1346,7 @@ void BaseWindow::BuildPrototype(v8::Isolate* isolate,
.SetMethod("setThumbnailToolTip", &BaseWindow::SetThumbnailToolTip)
.SetMethod("setAppDetails", &BaseWindow::SetAppDetails)
#endif
diff --git a/devel/electron43/files/patch-electron_shell_browser_api_electron__api__base__window.h b/devel/electron43/files/patch-electron_shell_browser_api_electron__api__base__window.h
index 0892dc19e2ba..b90c4b1bef97 100644
--- a/devel/electron43/files/patch-electron_shell_browser_api_electron__api__base__window.h
+++ b/devel/electron43/files/patch-electron_shell_browser_api_electron__api__base__window.h
@@ -1,6 +1,6 @@
---- electron/shell/browser/api/electron_api_base_window.h.orig 2026-05-08 13:54:01 UTC
+--- electron/shell/browser/api/electron_api_base_window.h.orig 2026-08-31 00:54:38 UTC
+++ electron/shell/browser/api/electron_api_base_window.h
-@@ -263,7 +263,7 @@ class BaseWindow : public gin_helper::TrackableObject<
+@@ -265,7 +265,7 @@ class BaseWindow : public gin_helper::TrackableObject<
v8::Local<v8::Value> GetAccentColor() const;
#endif
diff --git a/devel/electron43/files/patch-electron_shell_browser_api_electron__api__web__contents.cc b/devel/electron43/files/patch-electron_shell_browser_api_electron__api__web__contents.cc
index f44b0eee4437..8d96a73bab67 100644
--- a/devel/electron43/files/patch-electron_shell_browser_api_electron__api__web__contents.cc
+++ b/devel/electron43/files/patch-electron_shell_browser_api_electron__api__web__contents.cc
@@ -1,6 +1,6 @@
---- electron/shell/browser/api/electron_api_web_contents.cc.orig 2026-08-18 19:28:27 UTC
+--- electron/shell/browser/api/electron_api_web_contents.cc.orig 2026-08-31 00:54:38 UTC
+++ electron/shell/browser/api/electron_api_web_contents.cc
-@@ -183,11 +183,11 @@
+@@ -182,11 +182,11 @@
#include "ui/base/cocoa/defaults_utils.h"
#endif
@@ -14,7 +14,7 @@
#include "ui/aura/window.h"
#include "ui/gfx/font_render_params.h"
#endif
-@@ -217,7 +217,7 @@
+@@ -216,7 +216,7 @@
#include "content/public/browser/plugin_service.h"
#endif
@@ -23,7 +23,7 @@
#include "chrome/browser/hang_monitor/hang_crash_dump.h" // nogncheck
#endif
-@@ -638,7 +638,7 @@ std::optional<base::TimeDelta> GetCursorBlinkInterval(
+@@ -639,7 +639,7 @@ std::optional<base::TimeDelta> GetCursorBlinkInterval(
ui::TextInsertionCaretBlinkPeriodFromDefaults());
if (system_value)
return *system_value;
@@ -32,7 +32,7 @@
if (auto* native_theme = ui::NativeTheme::GetInstanceForNativeUi())
return native_theme->caret_blink_interval();
#elif BUILDFLAG(IS_WIN)
-@@ -1035,7 +1035,7 @@ void WebContents::InitWithSessionAndOptions(
+@@ -1036,7 +1036,7 @@ void WebContents::InitWithSessionAndOptions(
accept_languages.pop_back();
prefs->accept_languages = accept_languages;
@@ -41,7 +41,7 @@
// Update font settings.
static const gfx::FontRenderParams params(
gfx::GetFontRenderParams(gfx::FontRenderParamsQuery(), nullptr));
-@@ -3112,13 +3112,13 @@ void WebContents::ForcefullyCrashRenderer() {
+@@ -3103,13 +3103,13 @@ void WebContents::ForcefullyCrashRenderer() {
content::RenderProcessHost* rph = rwh->GetProcess();
if (rph) {
@@ -57,7 +57,7 @@
CrashDumpHungChildProcess(rph->GetProcess().Handle());
#endif
rph->Shutdown(content::RESULT_CODE_HUNG);
-@@ -3751,7 +3751,7 @@ void WebContents::Focus() {
+@@ -3746,7 +3746,7 @@ void WebContents::Focus() {
void WebContents::Focus() {
// Focusing on WebContents does not automatically focus the window on macOS
// and Linux, do it manually to match the behavior on Windows.
@@ -66,7 +66,7 @@
if (owner_window())
owner_window()->Focus(true);
#endif
-@@ -4650,7 +4650,7 @@ ui::ImageModel WebContents::GetDevToolsWindowIcon() {
+@@ -4645,7 +4645,7 @@ ui::ImageModel WebContents::GetDevToolsWindowIcon() {
}
#endif
diff --git a/devel/electron43/files/patch-electron_shell_browser_api_electron__api__web__contents.h b/devel/electron43/files/patch-electron_shell_browser_api_electron__api__web__contents.h
index 2c9a4791069e..b49ef1771b3b 100644
--- a/devel/electron43/files/patch-electron_shell_browser_api_electron__api__web__contents.h
+++ b/devel/electron43/files/patch-electron_shell_browser_api_electron__api__web__contents.h
@@ -1,6 +1,6 @@
---- electron/shell/browser/api/electron_api_web_contents.h.orig 2026-08-18 19:28:27 UTC
+--- electron/shell/browser/api/electron_api_web_contents.h.orig 2026-08-31 00:54:38 UTC
+++ electron/shell/browser/api/electron_api_web_contents.h
-@@ -767,7 +767,7 @@ class WebContents final : public ExclusiveAccessContex
+@@ -773,7 +773,7 @@ class WebContents final : public ExclusiveAccessContex
#if defined(TOOLKIT_VIEWS) && !BUILDFLAG(IS_MAC)
ui::ImageModel GetDevToolsWindowIcon() override;
#endif
diff --git a/devel/electron43/files/patch-electron_shell_browser_browser.cc b/devel/electron43/files/patch-electron_shell_browser_browser.cc
index b733f02916c0..390702b99fbf 100644
--- a/devel/electron43/files/patch-electron_shell_browser_browser.cc
+++ b/devel/electron43/files/patch-electron_shell_browser_browser.cc
@@ -1,6 +1,6 @@
---- electron/shell/browser/browser.cc.orig 2026-08-18 19:28:27 UTC
+--- electron/shell/browser/browser.cc.orig 2026-08-31 00:54:38 UTC
+++ electron/shell/browser/browser.cc
-@@ -98,7 +98,7 @@ bool Browser::IsValidProtocolScheme(const std::string&
+@@ -105,7 +105,7 @@ bool Browser::IsValidProtocolScheme(const std::string&
return true;
}
diff --git a/devel/electron43/files/patch-electron_shell_browser_browser.h b/devel/electron43/files/patch-electron_shell_browser_browser.h
index cdb67742fcce..a5e60f29afa6 100644
--- a/devel/electron43/files/patch-electron_shell_browser_browser.h
+++ b/devel/electron43/files/patch-electron_shell_browser_browser.h
@@ -1,6 +1,6 @@
---- electron/shell/browser/browser.h.orig 2026-08-10 18:14:50 UTC
+--- electron/shell/browser/browser.h.orig 2026-08-31 00:54:38 UTC
+++ electron/shell/browser/browser.h
-@@ -296,10 +296,10 @@ class Browser : private WindowListObserver {
+@@ -295,10 +295,10 @@ class Browser : private WindowListObserver {
PCWSTR GetAppUserModelID();
#endif // BUILDFLAG(IS_WIN)
diff --git a/devel/electron43/files/patch-electron_shell_browser_electron__browser__main__parts.cc b/devel/electron43/files/patch-electron_shell_browser_electron__browser__main__parts.cc
index 68112374157f..2e86308ddb6f 100644
--- a/devel/electron43/files/patch-electron_shell_browser_electron__browser__main__parts.cc
+++ b/devel/electron43/files/patch-electron_shell_browser_electron__browser__main__parts.cc
@@ -1,4 +1,4 @@
---- electron/shell/browser/electron_browser_main_parts.cc.orig 2026-08-10 18:14:50 UTC
+--- electron/shell/browser/electron_browser_main_parts.cc.orig 2026-08-31 00:54:38 UTC
+++ electron/shell/browser/electron_browser_main_parts.cc
@@ -81,7 +81,7 @@
#include "ui/wm/core/wm_state.h"
@@ -8,17 +8,17 @@
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
#include "base/environment.h"
#include "chrome/browser/ui/views/dark_mode_manager_linux.h"
- #include "device/bluetooth/bluetooth_adapter_factory.h"
-@@ -138,7 +138,7 @@ namespace {
+ #include "components/dbus/thread_linux/dbus_thread_linux.h"
+@@ -139,7 +139,7 @@ namespace {
namespace {
-#if BUILDFLAG(IS_LINUX)
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
- class LinuxUiGetterImpl : public ui::LinuxUiGetter {
- public:
- LinuxUiGetterImpl() = default;
-@@ -326,7 +326,7 @@ int ElectronBrowserMainParts::PreCreateThreads() {
+ // The display server connection or the session bus is gone: exit like
+ // Chrome's SessionEnding(), with an off-thread watchdog that crashes us if
+ // exiting hangs on the dead connection.
+@@ -356,7 +356,7 @@ int ElectronBrowserMainParts::PreCreateThreads() {
// happen before the ResourceBundle is loaded
if (locale.empty())
l10n_util::OverrideLocaleWithCocoaLocale();
@@ -27,7 +27,7 @@
// l10n_util::GetApplicationLocaleInternal uses g_get_language_names(),
// which keys off of getenv("LC_ALL").
// We must set this env first to make ui::ResourceBundle accept the custom
-@@ -355,7 +355,7 @@ int ElectronBrowserMainParts::PreCreateThreads() {
+@@ -385,7 +385,7 @@ int ElectronBrowserMainParts::PreCreateThreads() {
ElectronBrowserClient::SetApplicationLocale(app_locale);
fake_browser_process_->SetApplicationLocale(app_locale);
@@ -36,16 +36,16 @@
// Reset to the original LC_ALL since we should not be changing it.
if (!locale.empty()) {
if (lc_all)
-@@ -411,7 +411,7 @@ void ElectronBrowserMainParts::ToolkitInitialized() {
+@@ -441,7 +441,7 @@ void ElectronBrowserMainParts::ToolkitInitialized() {
}
void ElectronBrowserMainParts::ToolkitInitialized() {
-#if BUILDFLAG(IS_LINUX)
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
- auto* linux_ui = ui::GetDefaultLinuxUi();
- CHECK(linux_ui);
- linux_ui_getter_ = std::make_unique<LinuxUiGetterImpl>();
-@@ -522,10 +522,10 @@ void ElectronBrowserMainParts::PostCreateMainMessageLo
+ // GTK3's gtk_init() probes the display for OpenGL and loads the GL driver
+ // into this process; nothing here uses GdkGLContext. GDK_GL is read once at
+ // init and only by GTK3 (GTK4 renders with GL itself and ignores it).
+@@ -562,19 +562,23 @@ void ElectronBrowserMainParts::PostCreateMainMessageLo
}
void ElectronBrowserMainParts::PostCreateMainMessageLoop() {
@@ -55,12 +55,11 @@
#endif
-#if BUILDFLAG(IS_LINUX)
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
- // The display server connection is gone (X IO error / compositor lost):
- // exit like Chrome's SessionEnding(), with an off-thread watchdog that
- // crashes us if exiting hangs on the dead display connection.
-@@ -545,9 +545,13 @@ void ElectronBrowserMainParts::PostCreateMainMessageLo
- std::move(shutdown_cb),
+ ui::OzonePlatform::GetInstance()->PostCreateMainMessageLoop(
+ base::BindOnce(&ExitOnSessionLoss),
content::GetUIThreadTaskRunner({content::BrowserTaskType::kUserInput}));
+ dbus_thread_linux::SetDisconnectedCallback(
+ base::BindRepeating(&ExitOnSessionLoss));
+#if BUILDFLAG(IS_LINUX)
if (!bluez::BluezDBusManager::IsInitialized())
@@ -72,7 +71,7 @@
// Set up crypt config. This needs to be done before anything starts the
// network service, as the raw encryption key needs to be shared with the
// network service for encrypted cookie storage.
-@@ -644,7 +648,7 @@ void ElectronBrowserMainParts::PostMainMessageLoopRun(
+@@ -671,7 +675,7 @@ void ElectronBrowserMainParts::PostMainMessageLoopRun(
fake_browser_process_->PostMainMessageLoopRun();
content::DevToolsAgentHost::StopRemoteDebuggingPipeHandler();
diff --git a/devel/electron43/files/patch-electron_shell_browser_native__window.cc b/devel/electron43/files/patch-electron_shell_browser_native__window.cc
index fab2874ddaf6..3c1b38a15bf9 100644
--- a/devel/electron43/files/patch-electron_shell_browser_native__window.cc
+++ b/devel/electron43/files/patch-electron_shell_browser_native__window.cc
@@ -1,4 +1,4 @@
---- electron/shell/browser/native_window.cc.orig 2026-08-18 19:28:27 UTC
+--- electron/shell/browser/native_window.cc.orig 2026-08-31 00:54:38 UTC
+++ electron/shell/browser/native_window.cc
@@ -33,7 +33,7 @@
@@ -9,7 +9,7 @@
#include "shell/browser/ui/views/electron_frame_view_linux.h"
#endif
-@@ -184,7 +184,7 @@ void NativeWindow::InitFromOptions(const gin_helper::D
+@@ -185,7 +185,7 @@ void NativeWindow::InitFromOptions(const gin_helper::D
} else if (bool center; options.Get(options::kCenter, ¢er) && center) {
Center();
}
diff --git a/devel/electron43/files/patch-electron_shell_browser_native__window__views.h b/devel/electron43/files/patch-electron_shell_browser_native__window__views.h
index a05778367b11..68b914c5635b 100644
--- a/devel/electron43/files/patch-electron_shell_browser_native__window__views.h
+++ b/devel/electron43/files/patch-electron_shell_browser_native__window__views.h
@@ -1,4 +1,4 @@
---- electron/shell/browser/native_window_views.h.orig 2026-06-29 20:35:15 UTC
+--- electron/shell/browser/native_window_views.h.orig 2026-08-31 00:54:38 UTC
+++ electron/shell/browser/native_window_views.h
@@ -30,7 +30,7 @@ class Arguments;
class Arguments;
@@ -15,10 +15,10 @@
-#if BUILDFLAG(IS_LINUX)
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
- class NativeFrameViewLinux;
class GlobalMenuBarX11;
#endif
-@@ -187,7 +187,7 @@ class NativeWindowViews : public NativeWindow,
+
+@@ -186,7 +186,7 @@ class NativeWindowViews : public NativeWindow,
LPARAM l_param,
LRESULT* result);
void SetIcon(HICON small_icon, HICON app_icon);
@@ -27,7 +27,7 @@
void SetIcon(const gfx::ImageSkia& icon);
#endif
-@@ -209,7 +209,7 @@ class NativeWindowViews : public NativeWindow,
+@@ -208,7 +208,7 @@ class NativeWindowViews : public NativeWindow,
return overlay_symbol_color_;
}
@@ -36,7 +36,7 @@
views::FrameViewLinux* GetFrameViewLinux() const;
#endif
-@@ -290,7 +290,7 @@ class NativeWindowViews : public NativeWindow,
+@@ -289,7 +289,7 @@ class NativeWindowViews : public NativeWindow,
// events from resizing the window.
extensions::SizeConstraints old_size_constraints_;
diff --git a/devel/electron43/files/patch-electron_shell_browser_ui_inspectable__web__contents.cc b/devel/electron43/files/patch-electron_shell_browser_ui_inspectable__web__contents.cc
index bd184eeefa6f..736c5cba38b5 100644
--- a/devel/electron43/files/patch-electron_shell_browser_ui_inspectable__web__contents.cc
+++ b/devel/electron43/files/patch-electron_shell_browser_ui_inspectable__web__contents.cc
@@ -1,6 +1,6 @@
---- electron/shell/browser/ui/inspectable_web_contents.cc.orig 2026-06-29 04:13:24 UTC
+--- electron/shell/browser/ui/inspectable_web_contents.cc.orig 2026-08-31 00:54:38 UTC
+++ electron/shell/browser/ui/inspectable_web_contents.cc
-@@ -593,7 +593,7 @@ void InspectableWebContents::LoadCompleted() {
+@@ -597,7 +597,7 @@ void InspectableWebContents::LoadCompleted() {
dock_state_ = "right";
}
}
diff --git a/devel/electron43/files/patch-electron_shell_common_api_electron__api__shared__texture.cc b/devel/electron43/files/patch-electron_shell_common_api_electron__api__shared__texture.cc
index 97881136ad5e..9b7699e5998d 100644
--- a/devel/electron43/files/patch-electron_shell_common_api_electron__api__shared__texture.cc
+++ b/devel/electron43/files/patch-electron_shell_common_api_electron__api__shared__texture.cc
@@ -1,4 +1,4 @@
---- electron/shell/common/api/electron_api_shared_texture.cc.orig 2026-08-18 19:28:27 UTC
+--- electron/shell/common/api/electron_api_shared_texture.cc.orig 2026-08-31 00:54:38 UTC
+++ electron/shell/common/api/electron_api_shared_texture.cc
@@ -27,7 +27,7 @@
#include "third_party/blink/renderer/platform/graphics/gpu/shared_gpu_context.h" // nogncheck
@@ -9,7 +9,7 @@
#include "base/posix/eintr_wrapper.h"
#include "base/strings/string_number_conversions.h"
#endif
-@@ -584,7 +584,7 @@ struct ImportSharedTextureInfo {
+@@ -591,7 +591,7 @@ struct ImportSharedTextureInfo {
// On macOS, it is an IOSurfaceRef, this must be a valid IOSurface at the
// current process.
uintptr_t io_surface = 0;
@@ -18,7 +18,7 @@
// On Linux, to be implemented.
std::vector<ImportSharedTextureInfoPlane> planes;
uint64_t modifier = gfx::NativePixmapHandle::kNoModifier;
-@@ -654,7 +654,7 @@ struct Converter<ImportSharedTextureInfo> {
+@@ -661,7 +661,7 @@ struct Converter<ImportSharedTextureInfo> {
GetNativeHandle("ntHandle", &out->nt_handle);
#elif BUILDFLAG(IS_APPLE)
GetNativeHandle("ioSurface", &out->io_surface);
@@ -27,7 +27,7 @@
v8::Local<v8::Object> native_pixmap;
if (shared_texture.Get("nativePixmap", &native_pixmap)) {
gin::Dictionary v8_native_pixmap(isolate, native_pixmap);
-@@ -730,7 +730,7 @@ v8::Local<v8::Value> ImportSharedTexture(v8::Isolate*
+@@ -737,7 +737,7 @@ v8::Local<v8::Value> ImportSharedTexture(v8::Isolate*
auto io_surface_scoped = base::apple::ScopedCFTypeRef<IOSurfaceRef>(
io_surface, base::scoped_policy::RETAIN);
gmb_handle = gfx::GpuMemoryBufferHandle(std::move(io_surface_scoped));
diff --git a/devel/electron43/files/patch-electron_shell_common_gin__converters_osr__converter.cc b/devel/electron43/files/patch-electron_shell_common_gin__converters_osr__converter.cc
index f0a74e42cbd7..f916b35e2147 100644
--- a/devel/electron43/files/patch-electron_shell_common_gin__converters_osr__converter.cc
+++ b/devel/electron43/files/patch-electron_shell_common_gin__converters_osr__converter.cc
@@ -1,4 +1,4 @@
---- electron/shell/common/gin_converters/osr_converter.cc.orig 2026-06-29 20:35:15 UTC
+--- electron/shell/common/gin_converters/osr_converter.cc.orig 2026-08-31 00:54:38 UTC
+++ electron/shell/common/gin_converters/osr_converter.cc
@@ -12,7 +12,7 @@
@@ -9,7 +9,7 @@
#include "base/strings/string_number_conversions.h"
#endif
#include "shell/common/gin_converters/gfx_converter.h"
-@@ -134,7 +134,7 @@ v8::Local<v8::Value> Converter<electron::OffscreenShar
+@@ -131,7 +131,7 @@ v8::Local<v8::Value> Converter<electron::OffscreenShar
electron::Buffer::Copy(
isolate, base::byte_span_from_ref(val.shared_texture_handle))
.ToLocalChecked());
diff --git a/devel/electron43/files/patch-electron_shell_common_node__bindings.cc b/devel/electron43/files/patch-electron_shell_common_node__bindings.cc
index 1f670faa17bf..3f674c8cffc5 100644
--- a/devel/electron43/files/patch-electron_shell_common_node__bindings.cc
+++ b/devel/electron43/files/patch-electron_shell_common_node__bindings.cc
@@ -1,4 +1,4 @@
---- electron/shell/common/node_bindings.cc.orig 2026-08-18 19:28:27 UTC
+--- electron/shell/common/node_bindings.cc.orig 2026-08-31 00:54:38 UTC
+++ electron/shell/common/node_bindings.cc
@@ -55,7 +55,7 @@
#include "third_party/electron_node/src/node_snapshot_builder.h"
@@ -27,7 +27,7 @@
// TryGetCurrent() instead of GetCurrent() to avoid FATAL if no isolate.
v8::Isolate* isolate = v8::Isolate::TryGetCurrent();
electron::v8_oom::RecordErrorDetails(isolate, location, details);
-@@ -679,7 +679,7 @@ void NodeBindings::Initialize(v8::Isolate* const isola
+@@ -653,7 +653,7 @@ void NodeBindings::Initialize(v8::Isolate* const isola
TRACE_EVENT0("electron", "NodeBindings::Initialize");
// Open node's error reporting system for browser process.
diff --git a/devel/electron43/files/patch-electron_shell_common_node__bindings__linux.cc b/devel/electron43/files/patch-electron_shell_common_node__bindings__linux.cc
index 0dabd6390a8d..d1ede4732926 100644
--- a/devel/electron43/files/patch-electron_shell_common_node__bindings__linux.cc
+++ b/devel/electron43/files/patch-electron_shell_common_node__bindings__linux.cc
@@ -1,6 +1,6 @@
---- electron/shell/common/node_bindings_linux.cc.orig 2023-10-20 08:29:17 UTC
+--- electron/shell/common/node_bindings_linux.cc.orig 2026-08-31 00:54:38 UTC
+++ electron/shell/common/node_bindings_linux.cc
-@@ -4,12 +4,25 @@
+@@ -4,13 +4,26 @@
#include "shell/common/node_bindings_linux.h"
@@ -16,17 +16,18 @@
namespace electron {
- NodeBindingsLinux::NodeBindingsLinux(BrowserEnvironment browser_env)
+ NodeBindingsLinux::NodeBindingsLinux(BrowserEnvironment browser_env,
+ uv_loop_t* loop)
+#if !defined(OS_BSD)
- : NodeBindings(browser_env), epoll_(epoll_create(1)) {
+ : NodeBindings(browser_env, loop), epoll_(epoll_create(1)) {
+#else
-+ : NodeBindings(browser_env) {
++ : NodeBindings(browser_env, loop) {
+#endif
+#if !defined(OS_BSD)
auto* const event_loop = uv_loop();
int backend_fd = uv_backend_fd(event_loop);
-@@ -17,11 +30,13 @@ NodeBindingsLinux::NodeBindingsLinux(BrowserEnvironmen
+@@ -18,11 +31,13 @@ NodeBindingsLinux::NodeBindingsLinux(BrowserEnvironmen
ev.events = EPOLLIN;
ev.data.fd = backend_fd;
epoll_ctl(epoll_, EPOLL_CTL_ADD, backend_fd, &ev);
@@ -40,7 +41,7 @@
int timeout = uv_backend_timeout(event_loop);
// Wait for new libuv events.
-@@ -30,6 +45,26 @@ void NodeBindingsLinux::PollEvents() {
+@@ -31,6 +46,26 @@ void NodeBindingsLinux::PollEvents() {
struct epoll_event ev;
r = epoll_wait(epoll_, &ev, 1, timeout);
} while (r == -1 && errno == EINTR);
diff --git a/devel/electron43/files/patch-electron_spec_api-app-spec.ts b/devel/electron43/files/patch-electron_spec_api-app-spec.ts
index 93cff2521196..65a98ac4bfbc 100644
--- a/devel/electron43/files/patch-electron_spec_api-app-spec.ts
+++ b/devel/electron43/files/patch-electron_spec_api-app-spec.ts
@@ -1,4 +1,4 @@
---- electron/spec/api-app-spec.ts.orig 2026-08-18 19:28:27 UTC
+--- electron/spec/api-app-spec.ts.orig 2026-08-31 00:54:38 UTC
+++ electron/spec/api-app-spec.ts
@@ -124,7 +124,7 @@ describe('app module', () => {
});
@@ -23,7 +23,16 @@
const languages = app.getPreferredSystemLanguages();
if (languages.length) {
expect(languages).to.not.include('C');
-@@ -257,7 +257,7 @@ describe('app module', () => {
+@@ -199,7 +199,7 @@ describe('app module', () => {
+ });
+ });
+
+- ifdescribe(process.platform === 'linux' && fs.existsSync('/usr/bin/dbus-daemon'))(
++ ifdescribe((process.platform === 'linux' || process.platform === 'freebsd') && fs.existsSync('/usr/bin/dbus-daemon'))(
+ 'when a D-Bus bus goes away',
+ () => {
+ it('exits cleanly instead of crashing', async () => {
+@@ -290,7 +290,7 @@ describe('app module', () => {
}
});
@@ -32,7 +41,7 @@
const electronPath = process.execPath;
const appPath = path.join(fixturesPath, 'api', 'singleton');
appProcess = cp.spawn(electronPath, [appPath]);
-@@ -441,7 +441,7 @@ describe('app module', () => {
+@@ -488,7 +488,7 @@ describe('app module', () => {
});
// GitHub Actions macOS-13 runners used for x64 seem to have a problem with this test.
@@ -41,7 +50,7 @@
const tempFiles = [
path.join(fixturesPath, 'foo.txt'),
path.join(fixturesPath, 'bar.txt'),
-@@ -570,7 +570,7 @@ describe('app module', () => {
+@@ -617,7 +617,7 @@ describe('app module', () => {
// let w = null
// before(function () {
@@ -50,7 +59,7 @@
// this.skip()
// }
// })
-@@ -683,7 +683,7 @@ describe('app module', () => {
+@@ -730,7 +730,7 @@ describe('app module', () => {
describe('app.badgeCount', () => {
const platformIsNotSupported =
@@ -59,7 +68,7 @@
const expectedBadgeCount = 42;
-@@ -730,7 +730,7 @@ describe('app module', () => {
+@@ -777,7 +777,7 @@ describe('app module', () => {
});
ifdescribe(
@@ -68,7 +77,7 @@
)('app.get/setLoginItemSettings API', function () {
const isMac = process.platform === 'darwin';
const isWin = process.platform === 'win32';
-@@ -1157,7 +1157,7 @@ describe('app module', () => {
+@@ -1204,7 +1204,7 @@ describe('app module', () => {
});
});
@@ -77,7 +86,7 @@
it('is mutable', () => {
const values = [false, true, false];
const setters: Array<(arg: boolean) => void> = [
-@@ -1427,7 +1427,7 @@ describe('app module', () => {
+@@ -1474,7 +1474,7 @@ describe('app module', () => {
});
});
@@ -86,7 +95,7 @@
let w: BrowserWindow;
before(function () {
-@@ -1570,7 +1570,7 @@ describe('app module', () => {
+@@ -1617,7 +1617,7 @@ describe('app module', () => {
describe('getApplicationNameForProtocol()', () => {
// TODO: Linux CI doesn't have registered http & https handlers
@@ -95,7 +104,7 @@
'returns application names for common protocols',
function () {
// We can't expect particular app names here, but these protocols should
-@@ -1587,7 +1587,7 @@ describe('app module', () => {
+@@ -1634,7 +1634,7 @@ describe('app module', () => {
expect(app.getApplicationNameForProtocol('bogus-protocol://')).to.equal('');
});
@@ -104,7 +113,7 @@
const desktopFileId = 'mock-browser.desktop';
const mockDisplayName = 'Mock Browser';
const mockScheme = 'mockproto';
-@@ -1637,7 +1637,7 @@ describe('app module', () => {
+@@ -1684,7 +1684,7 @@ describe('app module', () => {
let xdgBinDir: string;
before(() => {
@@ -113,7 +122,7 @@
return;
}
-@@ -1654,7 +1654,7 @@ describe('app module', () => {
+@@ -1701,7 +1701,7 @@ describe('app module', () => {
});
after(() => {
*** 364 LINES SKIPPED ***