git: 6b7f384af24c - main - devel/electron43: Update to 43.7.0

From: Hiroki Tagato <tagattie_at_FreeBSD.org>
Date: Fri, 11 Sep 2026 13:57:27 UTC
The branch main has been updated by tagattie:

URL: https://cgit.FreeBSD.org/ports/commit/?id=6b7f384af24c3cef0ef51e2409513b8daee7e2b0

commit 6b7f384af24c3cef0ef51e2409513b8daee7e2b0
Author:     Hiroki Tagato <tagattie@FreeBSD.org>
AuthorDate: 2026-09-11 13:56:14 +0000
Commit:     Hiroki Tagato <tagattie@FreeBSD.org>
CommitDate: 2026-09-11 13:57:20 +0000

    devel/electron43: Update to 43.7.0
    
    Changelog: https://github.com/electron/electron/releases/tag/v43.7.0
    
    Reported by:    GitHub (watch releases)
---
 devel/electron43/Makefile                          |  3 +-
 devel/electron43/Makefile.version                  |  2 +-
 devel/electron43/distinfo                          | 18 +++++-----
 devel/electron43/files/packagejsons/package.json   |  9 ++---
 devel/electron43/files/patch-electron_BUILD.gn     | 19 +++++++---
 .../electron43/files/patch-electron_filenames.gni  |  4 +--
 .../files/patch-electron_lib_browser_rpc-server.ts |  4 +--
 ...ell_browser_api_electron__api__web__contents.cc | 16 ++++-----
 ...hell_browser_api_electron__api__web__contents.h |  4 +--
 ..._shell_browser_ui_inspectable__web__contents.cc |  4 +--
 .../patch-electron_shell_common_node__bindings.cc  | 10 +++---
 .../patch-electron_spec_api-browser-window-spec.ts | 42 +++++++++++-----------
 .../files/patch-electron_spec_api-process-spec.ts  | 15 ++++++--
 .../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 ++---
 ..._command__buffer_service_gles2__cmd__decoder.cc |  4 +--
 .../files/patch-ui_views_focus_focus__manager.cc   |  6 ++--
 ...top__aura_desktop__drag__drop__client__ozone.cc |  4 +--
 20 files changed, 101 insertions(+), 87 deletions(-)

diff --git a/devel/electron43/Makefile b/devel/electron43/Makefile
index 09db9b0d8235..c6ddade5ad89 100644
--- a/devel/electron43/Makefile
+++ b/devel/electron43/Makefile
@@ -1,7 +1,6 @@
 PORTNAME=	electron
 DISTVERSIONPREFIX=	v
 DISTVERSION=	${ELECTRON_VER}
-PORTREVISION=	2
 PULSEMV=	16
 PULSEV=		${PULSEMV}.1
 CATEGORIES=	devel
@@ -229,7 +228,7 @@ SNDIO_VARS_OFF=		GN_ARGS+=use_sndio=false
 # See ${WRKSRC}/electron/DEPS for CHROMIUM_VER
 CHROMIUM_VER=			150.0.7871.250
 # See ${WRKSRC}/electron/DEPS for NODE_VER
-NODE_VER=			24.20.0
+NODE_VER=			24.21.0
 # See ${WRKSRC}/electron/DEPS for NAN_VER
 NAN_VER=			675cefebca42410733da8a454c8d9391fcebfbc2
 # See ${WRKSRC}/electron/DEPS for SQUIRREL_MAC_VER
diff --git a/devel/electron43/Makefile.version b/devel/electron43/Makefile.version
index 7321b79239ae..ebbf7f81342f 100644
--- a/devel/electron43/Makefile.version
+++ b/devel/electron43/Makefile.version
@@ -1,2 +1,2 @@
-ELECTRON_VER=		43.6.0
+ELECTRON_VER=		43.7.0
 ELECTRON_VER_MAJOR=	${ELECTRON_VER:C/\..*//}
diff --git a/devel/electron43/distinfo b/devel/electron43/distinfo
index 5f4b96d46ffa..2ad8e14608c7 100644
--- a/devel/electron43/distinfo
+++ b/devel/electron43/distinfo
@@ -1,4 +1,4 @@
-TIMESTAMP = 1788529272
+TIMESTAMP = 1789116812
 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
@@ -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.6.0-node-modules-arm64.tar.xz) = 6a1a0c39a5b18dcdad561b23b15847660e7b51b3be476595e93256c0f91e017a
-SIZE (electron/electron43-43.6.0-node-modules-arm64.tar.xz) = 62711992
-SHA256 (electron/electron43-43.6.0-node-modules-x64.tar.xz) = f57cf602ff06507d38ed76d09e2ee24c350472f99e451bbfb4bc2b5d2c69c8c0
-SIZE (electron/electron43-43.6.0-node-modules-x64.tar.xz) = 71098213
-SHA256 (electron/electron-electron-v43.6.0_GH0.tar.gz) = 037e2b5afcd20f1f456755bcd8c6d60198e888b6f90efab3e54fcdd982405455
-SIZE (electron/electron-electron-v43.6.0_GH0.tar.gz) = 19808200
-SHA256 (electron/nodejs-node-v24.20.0_GH0.tar.gz) = d64f066a3e828f1fcc4d8cc063efd35465604923c16fc64f1e66145bef26ce50
-SIZE (electron/nodejs-node-v24.20.0_GH0.tar.gz) = 129491600
+SHA256 (electron/electron43-43.7.0-node-modules-arm64.tar.xz) = 6a1a0c39a5b18dcdad561b23b15847660e7b51b3be476595e93256c0f91e017a
+SIZE (electron/electron43-43.7.0-node-modules-arm64.tar.xz) = 62711992
+SHA256 (electron/electron43-43.7.0-node-modules-x64.tar.xz) = f57cf602ff06507d38ed76d09e2ee24c350472f99e451bbfb4bc2b5d2c69c8c0
+SIZE (electron/electron43-43.7.0-node-modules-x64.tar.xz) = 71098213
+SHA256 (electron/electron-electron-v43.7.0_GH0.tar.gz) = 0148032452067146437cbdc0316b054bf51afbde7882876f7eb35e4de9b2d75a
+SIZE (electron/electron-electron-v43.7.0_GH0.tar.gz) = 19964393
+SHA256 (electron/nodejs-node-v24.21.0_GH0.tar.gz) = a00e45375fe01977235ddb81ab6ac12f2f90161077cfbc2f77b8aaea4f75f8f9
+SIZE (electron/nodejs-node-v24.21.0_GH0.tar.gz) = 129712318
 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/package.json b/devel/electron43/files/packagejsons/package.json
index b04839eafd85..9b3d33481e42 100644
--- a/devel/electron43/files/packagejsons/package.json
+++ b/devel/electron43/files/packagejsons/package.json
@@ -122,8 +122,7 @@
     ],
     "docs/api/**/*.md": [
       "ts-node script/gen-filenames.ts",
-      "markdownlint-cli2 --config .autofix.markdownlint-cli2.jsonc --fix",
-      "git add filenames.auto.gni"
+      "markdownlint-cli2 --config .autofix.markdownlint-cli2.jsonc --fix"
     ],
     "{*.patch,.patches}": [
       "node script/lint.js --patches --only --",
@@ -132,12 +131,10 @@
     "DEPS": [
       "node script/gen-hunspell-filenames.js",
       "node script/gen-libc++-filenames.js",
-      "node script/gen-siso-revision.js",
-      "git add build/siso_revision"
+      "node script/gen-siso-revision.js"
     ],
     ".github/workflows/pipeline-segment-electron-build.yml": [
-      "node script/copy-pipeline-segment-publish.js",
-      "git add .github/workflows/pipeline-segment-electron-publish.yml"
+      "node script/copy-pipeline-segment-publish.js"
     ]
   },
   "resolutions": {
diff --git a/devel/electron43/files/patch-electron_BUILD.gn b/devel/electron43/files/patch-electron_BUILD.gn
index 29eaa08ef399..4b0385de6804 100644
--- a/devel/electron43/files/patch-electron_BUILD.gn
+++ b/devel/electron43/files/patch-electron_BUILD.gn
@@ -1,4 +1,4 @@
---- electron/BUILD.gn.orig	2026-08-31 00:54:38 UTC
+--- electron/BUILD.gn.orig	2026-09-10 01:17:27 UTC
 +++ electron/BUILD.gn
 @@ -629,7 +629,7 @@ source_set("electron_lib") {
      defines += [ "GDK_DISABLE_DEPRECATION_WARNINGS" ]
@@ -22,7 +22,16 @@
    if (is_linux) {
      libs = [ "xshmfence" ]
      deps += [
-@@ -1547,7 +1553,7 @@ if (is_mac) {
+@@ -1555,7 +1561,7 @@ if (is_mac) {
+     } else if (is_linux) {
+       sources = [
+         "shell/app/electron_main_linux.cc",
+-        "shell/app/environ_linux.cc",
++        # "shell/app/environ_linux.cc",
+         "shell/app/uv_stdio_fix.cc",
+         "shell/app/uv_stdio_fix.h",
+       ]
+@@ -1567,7 +1573,7 @@ if (is_mac) {
        ":electron_lib",
        ":electron_win32_resources",
        ":packed_resources",
@@ -31,7 +40,7 @@
        "//content:sandbox_helper_win",
        "//electron/buildflags",
        "//third_party/electron_node:libnode",
-@@ -1574,7 +1580,7 @@ if (is_mac) {
+@@ -1594,7 +1600,7 @@ if (is_mac) {
        public_deps = [ "//tools/v8_context_snapshot" ]
      }
  
@@ -40,7 +49,7 @@
        data_deps += [ "//components/crash/core/app:chrome_crashpad_handler" ]
      }
  
-@@ -1641,7 +1647,7 @@ if (is_mac) {
+@@ -1661,7 +1667,7 @@ if (is_mac) {
          configs += [ "//build/config/gcc:rpath_for_built_shared_libraries" ]
        }
  
@@ -49,7 +58,7 @@
          deps += [ "//sandbox/linux:chrome_sandbox" ]
        }
      }
-@@ -1762,7 +1768,9 @@ dist_zip("electron_dist_zip") {
+@@ -1782,7 +1788,9 @@ dist_zip("electron_dist_zip") {
        ]
      }
  
diff --git a/devel/electron43/files/patch-electron_filenames.gni b/devel/electron43/files/patch-electron_filenames.gni
index 754c82ca7589..cd4ec747af8f 100644
--- a/devel/electron43/files/patch-electron_filenames.gni
+++ b/devel/electron43/files/patch-electron_filenames.gni
@@ -1,6 +1,6 @@
---- electron/filenames.gni.orig	2026-03-17 08:46:52 UTC
+--- electron/filenames.gni.orig	2026-09-10 01:17:27 UTC
 +++ electron/filenames.gni
-@@ -246,8 +246,8 @@ filenames = {
+@@ -248,8 +248,8 @@ filenames = {
      "shell/app/command_line_args.h",
      "shell/app/electron_content_client.cc",
      "shell/app/electron_content_client.h",
diff --git a/devel/electron43/files/patch-electron_lib_browser_rpc-server.ts b/devel/electron43/files/patch-electron_lib_browser_rpc-server.ts
index e2440444288b..fcf4d11b4be4 100644
--- a/devel/electron43/files/patch-electron_lib_browser_rpc-server.ts
+++ b/devel/electron43/files/patch-electron_lib_browser_rpc-server.ts
@@ -1,6 +1,6 @@
---- electron/lib/browser/rpc-server.ts.orig	2026-06-03 19:18:10 UTC
+--- electron/lib/browser/rpc-server.ts.orig	2026-09-10 01:17:27 UTC
 +++ electron/lib/browser/rpc-server.ts
-@@ -33,7 +33,7 @@ const allowedClipboardMethods = (() => {
+@@ -38,7 +38,7 @@ const allowedClipboardMethods = (() => {
    switch (process.platform) {
      case 'darwin':
        return new Set(['readFindText', 'writeFindText']);
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 8680582388be..a1544f837020 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-09-04 00:15:46 UTC
+--- electron/shell/browser/api/electron_api_web_contents.cc.orig	2026-09-10 01:17:27 UTC
 +++ electron/shell/browser/api/electron_api_web_contents.cc
-@@ -184,11 +184,11 @@
+@@ -188,11 +188,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
-@@ -218,7 +218,7 @@
+@@ -222,7 +222,7 @@
  #include "content/public/browser/plugin_service.h"
  #endif
  
@@ -23,7 +23,7 @@
  #include "chrome/browser/hang_monitor/hang_crash_dump.h"  // nogncheck
  #endif
  
-@@ -653,7 +653,7 @@ std::optional<base::TimeDelta> GetCursorBlinkInterval(
+@@ -657,7 +657,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)
-@@ -1055,7 +1055,7 @@ void WebContents::InitWithSessionAndOptions(
+@@ -1059,7 +1059,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));
-@@ -3170,13 +3170,13 @@ void WebContents::ForcefullyCrashRenderer() {
+@@ -3237,13 +3237,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);
-@@ -3813,7 +3813,7 @@ void WebContents::Focus() {
+@@ -3880,7 +3880,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
-@@ -4712,7 +4712,7 @@ ui::ImageModel WebContents::GetDevToolsWindowIcon() {
+@@ -4792,7 +4792,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 4786b3fdd37e..b155ee281cc2 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-09-04 00:15:46 UTC
+--- electron/shell/browser/api/electron_api_web_contents.h.orig	2026-09-10 01:17:27 UTC
 +++ electron/shell/browser/api/electron_api_web_contents.h
-@@ -777,7 +777,7 @@ class WebContents final : public ExclusiveAccessContex
+@@ -782,7 +782,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_ui_inspectable__web__contents.cc b/devel/electron43/files/patch-electron_shell_browser_ui_inspectable__web__contents.cc
index 736c5cba38b5..eb041b89f001 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-08-31 00:54:38 UTC
+--- electron/shell/browser/ui/inspectable_web_contents.cc.orig	2026-09-10 01:17:27 UTC
 +++ electron/shell/browser/ui/inspectable_web_contents.cc
-@@ -597,7 +597,7 @@ void InspectableWebContents::LoadCompleted() {
+@@ -619,7 +619,7 @@ void InspectableWebContents::LoadCompleted() {
            dock_state_ = "right";
          }
        }
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 3f674c8cffc5..cfb2134855fa 100644
--- a/devel/electron43/files/patch-electron_shell_common_node__bindings.cc
+++ b/devel/electron43/files/patch-electron_shell_common_node__bindings.cc
@@ -1,6 +1,6 @@
---- electron/shell/common/node_bindings.cc.orig	2026-08-31 00:54:38 UTC
+--- electron/shell/common/node_bindings.cc.orig	2026-09-10 01:17:27 UTC
 +++ electron/shell/common/node_bindings.cc
-@@ -55,7 +55,7 @@
+@@ -57,7 +57,7 @@
  #include "third_party/electron_node/src/node_snapshot_builder.h"
  #include "v8/include/v8-statistics.h"
  
@@ -9,7 +9,7 @@
  #include "shell/common/crash_keys.h"
  #include "shell/common/v8_oom_diagnostics.h"
  #endif
-@@ -173,7 +173,7 @@ void V8FatalErrorCallback(const char* location, const 
+@@ -175,7 +175,7 @@ void V8FatalErrorCallback(const char* location, const 
  void V8FatalErrorCallback(const char* location, const char* message) {
    LOG(ERROR) << "Fatal error in V8: " << location << " " << message;
  
@@ -18,7 +18,7 @@
    electron::crash_keys::SetCrashKey("electron.v8-fatal.message", message);
    electron::crash_keys::SetCrashKey("electron.v8-fatal.location", location);
  #endif
-@@ -195,7 +195,7 @@ void V8OOMErrorCallback(const char* location, const v8
+@@ -197,7 +197,7 @@ void V8OOMErrorCallback(const char* location, const v8
      LOG(ERROR) << "OOM detail: " << details.detail;
    }
  
@@ -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);
-@@ -653,7 +653,7 @@ void NodeBindings::Initialize(v8::Isolate* const isola
+@@ -655,7 +655,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_spec_api-browser-window-spec.ts b/devel/electron43/files/patch-electron_spec_api-browser-window-spec.ts
index 7d10a308d8bf..75de60c691c2 100644
--- a/devel/electron43/files/patch-electron_spec_api-browser-window-spec.ts
+++ b/devel/electron43/files/patch-electron_spec_api-browser-window-spec.ts
@@ -1,4 +1,4 @@
---- electron/spec/api-browser-window-spec.ts.orig	2026-08-31 00:54:38 UTC
+--- electron/spec/api-browser-window-spec.ts.orig	2026-09-10 01:17:27 UTC
 +++ electron/spec/api-browser-window-spec.ts
 @@ -100,7 +100,7 @@ describe('BrowserWindow module', () => {
        }).not.to.throw();
@@ -9,7 +9,7 @@
        const appPath = path.join(fixtures, 'apps', 'xwindow-icon');
        const appProcess = childProcess.spawn(process.execPath, [appPath]);
        await once(appProcess, 'exit');
-@@ -365,7 +365,7 @@ describe('BrowserWindow module', () => {
+@@ -395,7 +395,7 @@ describe('BrowserWindow module', () => {
      });
    });
  
@@ -18,7 +18,7 @@
      afterEach(closeAllWindows);
      it('can set content protection', async () => {
        const w = new BrowserWindow({ show: false });
-@@ -1354,7 +1354,7 @@ describe('BrowserWindow module', () => {
+@@ -1384,7 +1384,7 @@ describe('BrowserWindow module', () => {
  
      describe('BrowserWindow.minimize()', () => {
        // TODO(codebytere): Enable for Linux once maximize/minimize events work in CI.
@@ -27,7 +27,7 @@
          const minimize = once(w, 'minimize');
          w.minimize();
          await minimize;
-@@ -1371,7 +1371,7 @@ describe('BrowserWindow module', () => {
+@@ -1401,7 +1401,7 @@ describe('BrowserWindow module', () => {
        });
  
        // TODO(dsanders11): Enable for Linux once CI plays nice with these kinds of tests
@@ -36,7 +36,7 @@
          const maximize = once(w, 'maximize');
          const shown = once(w, 'show');
          w.maximize();
-@@ -1436,7 +1436,7 @@ describe('BrowserWindow module', () => {
+@@ -1466,7 +1466,7 @@ describe('BrowserWindow module', () => {
          expect(w.isFocused()).to.equal(true);
        });
  
@@ -45,7 +45,7 @@
          const w1 = new BrowserWindow({ show: false });
          const w2 = new BrowserWindow({ show: false });
          const w3 = new BrowserWindow({ show: false });
-@@ -1539,7 +1539,7 @@ describe('BrowserWindow module', () => {
+@@ -1571,7 +1571,7 @@ describe('BrowserWindow module', () => {
          expect(w.isFocused()).to.equal(false);
        });
  
@@ -54,7 +54,7 @@
          const w1 = new BrowserWindow({ show: false });
          const w2 = new BrowserWindow({ show: false });
          const w3 = new BrowserWindow({ show: false });
-@@ -2089,7 +2089,7 @@ describe('BrowserWindow module', () => {
+@@ -2121,7 +2121,7 @@ describe('BrowserWindow module', () => {
          });
        });
  
@@ -63,7 +63,7 @@
          it('checks normal bounds when maximized', async () => {
            const bounds = w.getBounds();
            const maximize = once(w, 'maximize');
-@@ -2307,7 +2307,7 @@ describe('BrowserWindow module', () => {
+@@ -2339,7 +2339,7 @@ describe('BrowserWindow module', () => {
          });
        });
  
@@ -72,7 +72,7 @@
          it('checks normal bounds when minimized', async () => {
            const bounds = w.getBounds();
            const minimize = once(w, 'minimize');
-@@ -3415,7 +3415,7 @@ describe('BrowserWindow module', () => {
+@@ -3448,7 +3448,7 @@ describe('BrowserWindow module', () => {
    describe('BrowserWindow.setOpacity(opacity)', () => {
      afterEach(closeAllWindows);
  
@@ -81,7 +81,7 @@
        it('make window with initial opacity', () => {
          const w = new BrowserWindow({ show: false, opacity: 0.5 });
          expect(w.getOpacity()).to.equal(0.5);
-@@ -3441,7 +3441,7 @@ describe('BrowserWindow module', () => {
+@@ -3474,7 +3474,7 @@ describe('BrowserWindow module', () => {
        });
      });
  
@@ -90,7 +90,7 @@
        it('sets 1 regardless of parameter', () => {
          const w = new BrowserWindow({ show: false });
          w.setOpacity(0);
-@@ -3681,7 +3681,7 @@ describe('BrowserWindow module', () => {
+@@ -3714,7 +3714,7 @@ describe('BrowserWindow module', () => {
        expect(overlayRectPreMax.height).to.equal(size);
  
        // 'maximize' event is not emitted on Linux in CI.
@@ -99,7 +99,7 @@
          const maximize = once(w, 'maximize');
          w.show();
          w.maximize();
-@@ -3748,7 +3748,7 @@ describe('BrowserWindow module', () => {
+@@ -3781,7 +3781,7 @@ describe('BrowserWindow module', () => {
          expect(preMaxHeight).to.equal(size);
  
          // 'maximize' event is not emitted on Linux in CI.
@@ -108,7 +108,7 @@
            const maximize = once(w, 'maximize');
            w.show();
            w.maximize();
-@@ -4750,7 +4750,7 @@ describe('BrowserWindow module', () => {
+@@ -4856,7 +4856,7 @@ describe('BrowserWindow module', () => {
          expect(test.nodeTimers).to.equal(true);
          expect(test.nodeUrl).to.equal(true);
  
@@ -117,7 +117,7 @@
            expect(test.creationTime).to.be.null('creation time');
            expect(test.systemMemoryInfo).to.be.null('system memory info');
          } else {
-@@ -5266,7 +5266,7 @@ describe('BrowserWindow module', () => {
+@@ -5372,7 +5372,7 @@ describe('BrowserWindow module', () => {
      });
    });
  
@@ -126,7 +126,7 @@
      afterEach(closeAllWindows);
      it('emits an event when window is maximized', async () => {
        const w = new BrowserWindow({ show: false });
-@@ -5542,7 +5542,7 @@ describe('BrowserWindow module', () => {
+@@ -5648,7 +5648,7 @@ describe('BrowserWindow module', () => {
      // TODO(zcbenz):
      // This test does not run on Linux CI. See:
      // https://github.com/electron/electron/issues/28699
@@ -135,7 +135,7 @@
        'should bring a minimized maximized window back to maximized state',
        async () => {
          const w = new BrowserWindow({});
-@@ -5560,7 +5560,7 @@ describe('BrowserWindow module', () => {
+@@ -5666,7 +5666,7 @@ describe('BrowserWindow module', () => {
        }
      );
  
@@ -144,7 +144,7 @@
        const w = new BrowserWindow({ show: false });
        w.show();
  
-@@ -5583,7 +5583,7 @@ describe('BrowserWindow module', () => {
+@@ -5689,7 +5689,7 @@ describe('BrowserWindow module', () => {
    });
  
    // TODO(dsanders11): Enable once maximize event works on Linux again on CI
@@ -153,7 +153,7 @@
      afterEach(closeAllWindows);
      it('should show the window if it is not currently shown', async () => {
        const w = new BrowserWindow({ show: false });
-@@ -5620,7 +5620,7 @@ describe('BrowserWindow module', () => {
+@@ -5726,7 +5726,7 @@ describe('BrowserWindow module', () => {
  
      // TODO(dsanders11): Enable once minimize event works on Linux again.
      //                   See https://github.com/electron/electron/issues/28699
@@ -162,7 +162,7 @@
        const w = new BrowserWindow();
        const minimize = once(w, 'minimize');
        w.minimize();
-@@ -6133,7 +6133,7 @@ describe('BrowserWindow module', () => {
+@@ -6239,7 +6239,7 @@ describe('BrowserWindow module', () => {
        });
  
        // On Linux there is no "resizable" property of a window.
@@ -171,7 +171,7 @@
          const w = new BrowserWindow({ show: false });
          expect(w.resizable).to.be.true('resizable');
  
-@@ -6374,7 +6374,7 @@ describe('BrowserWindow module', () => {
+@@ -6480,7 +6480,7 @@ describe('BrowserWindow module', () => {
      });
    });
  
@@ -180,7 +180,7 @@
      // Not implemented on Linux.
      afterEach(closeAllWindows);
  
-@@ -7692,7 +7692,7 @@ describe('BrowserWindow module', () => {
+@@ -7802,7 +7802,7 @@ describe('BrowserWindow module', () => {
    describe('"transparent" option', () => {
      afterEach(closeAllWindows);
  
diff --git a/devel/electron43/files/patch-electron_spec_api-process-spec.ts b/devel/electron43/files/patch-electron_spec_api-process-spec.ts
index c58f1d105f58..7ee311cbc56e 100644
--- a/devel/electron43/files/patch-electron_spec_api-process-spec.ts
+++ b/devel/electron43/files/patch-electron_spec_api-process-spec.ts
@@ -1,6 +1,6 @@
---- electron/spec/api-process-spec.ts.orig	2026-08-04 15:35:15 UTC
+--- electron/spec/api-process-spec.ts.orig	2026-09-10 01:17:27 UTC
 +++ electron/spec/api-process-spec.ts
-@@ -41,7 +41,7 @@ describe('process module', () => {
+@@ -43,7 +43,7 @@ describe('process module', () => {
        it('resolves promise successfully with valid data', async () => {
          const memoryInfo = await invoke(() => process.getProcessMemoryInfo());
          expect(memoryInfo).to.be.an('object');
@@ -9,7 +9,7 @@
            expect(memoryInfo.residentSet).to.be.a('number').greaterThan(0);
          }
          expect(memoryInfo.private).to.be.a('number').greaterThan(0);
-@@ -55,7 +55,7 @@ describe('process module', () => {
+@@ -57,7 +57,7 @@ describe('process module', () => {
          const systemMemoryInfo = await invoke(() => process.getSystemMemoryInfo());
          expect(systemMemoryInfo.free).to.be.a('number');
          expect(systemMemoryInfo.total).to.be.a('number');
@@ -18,3 +18,12 @@
            expect(systemMemoryInfo.available).to.be.a('number').greaterThan(0);
          }
        });
+@@ -136,7 +136,7 @@ describe('process module', () => {
+     generateSpecs((fn, ...args) => fn(...args));
+   });
+ 
+-  ifdescribe(process.platform === 'linux')('process.env', () => {
++  ifdescribe(process.platform === 'linux' || process.platform === 'freebsd')('process.env', () => {
+     it('can add variables while another thread reads the environment', async () => {
+       const fixture = path.join(__dirname, 'fixtures', 'api', 'environ-write-race.js');
+       const child = cp.spawn(process.execPath, [fixture], { stdio: ['ignore', 'pipe', 'inherit'] });
diff --git a/devel/electron43/files/patch-electron_spec_api-protocol-spec.ts b/devel/electron43/files/patch-electron_spec_api-protocol-spec.ts
index ec319b6cb3c6..4fce9447ba52 100644
--- a/devel/electron43/files/patch-electron_spec_api-protocol-spec.ts
+++ b/devel/electron43/files/patch-electron_spec_api-protocol-spec.ts
@@ -1,6 +1,6 @@
---- electron/spec/api-protocol-spec.ts.orig	2026-08-31 00:54:38 UTC
+--- electron/spec/api-protocol-spec.ts.orig	2026-09-10 01:17:27 UTC
 +++ electron/spec/api-protocol-spec.ts
-@@ -2259,7 +2259,7 @@ describe('protocol module', () => {
+@@ -2282,7 +2282,7 @@ describe('protocol module', () => {
  
      // TODO(nornagon): this test doesn't pass on Linux currently, investigate.
      // test is also flaky on CI on macOS so it is currently disabled there as well.
diff --git a/devel/electron43/files/patch-electron_spec_api-utility-process-spec.ts b/devel/electron43/files/patch-electron_spec_api-utility-process-spec.ts
index 91a25ac4695d..7e6c759dbcc8 100644
--- a/devel/electron43/files/patch-electron_spec_api-utility-process-spec.ts
+++ b/devel/electron43/files/patch-electron_spec_api-utility-process-spec.ts
@@ -1,6 +1,6 @@
---- electron/spec/api-utility-process-spec.ts.orig	2026-09-04 00:15:46 UTC
+--- electron/spec/api-utility-process-spec.ts.orig	2026-09-10 01:17:27 UTC
 +++ electron/spec/api-utility-process-spec.ts
-@@ -600,7 +600,7 @@ describe('utilityProcess module', () => {
+@@ -596,7 +596,7 @@ describe('utilityProcess module', () => {
        expect(output).to.include(result);
      });
  
@@ -9,7 +9,7 @@
        const message = 'Message from utility process';
        const child = utilityProcess.fork(path.join(fixturesPath, 'expose-main-process-module.js'));
        await once(child, 'spawn');
-@@ -637,7 +637,7 @@ describe('utilityProcess module', () => {
+@@ -633,7 +633,7 @@ describe('utilityProcess module', () => {
        await closeWindow(w);
      });
  
diff --git a/devel/electron43/files/patch-electron_spec_api-web-contents-spec.ts b/devel/electron43/files/patch-electron_spec_api-web-contents-spec.ts
index 52d167fbf237..c5a4b00f7362 100644
--- a/devel/electron43/files/patch-electron_spec_api-web-contents-spec.ts
+++ b/devel/electron43/files/patch-electron_spec_api-web-contents-spec.ts
@@ -1,6 +1,6 @@
---- electron/spec/api-web-contents-spec.ts.orig	2026-09-04 00:15:46 UTC
+--- electron/spec/api-web-contents-spec.ts.orig	2026-09-10 01:17:27 UTC
 +++ electron/spec/api-web-contents-spec.ts
-@@ -1579,7 +1579,7 @@ describe('webContents module', () => {
+@@ -1608,7 +1608,7 @@ describe('webContents module', () => {
      // back to OpenFolder() which does a blocking DirectoryExists() on the UI
      // thread (pre-existing behavior). Workspace-gating is covered by the test
      // above.
@@ -9,7 +9,7 @@
        'reveals paths under a registered workspace folder without executing them',
        async () => {
          const w = new BrowserWindow({ show: false });
-@@ -3965,7 +3965,7 @@ describe('webContents module', () => {
+@@ -4028,7 +4028,7 @@ describe('webContents module', () => {
      });
  
      // TODO(codebytere): OOPIF printing is disabled on Linux at the moment due to crashes.
diff --git a/devel/electron43/files/patch-electron_spec_chromium-spec.ts b/devel/electron43/files/patch-electron_spec_chromium-spec.ts
index b5ed46d21863..f930cad8875f 100644
--- a/devel/electron43/files/patch-electron_spec_chromium-spec.ts
+++ b/devel/electron43/files/patch-electron_spec_chromium-spec.ts
@@ -1,6 +1,6 @@
---- electron/spec/chromium-spec.ts.orig	2026-08-31 00:54:38 UTC
+--- electron/spec/chromium-spec.ts.orig	2026-09-10 01:17:27 UTC
 +++ electron/spec/chromium-spec.ts
-@@ -603,15 +603,15 @@ describe('command line switches', () => {
+@@ -604,15 +604,15 @@ describe('command line switches', () => {
        testLocale('asdfkl', `${currentLocale}|${currentSystemLocale}|${currentPreferredLanguages}`));
  
      const lcAll = String(process.env.LC_ALL);
@@ -20,7 +20,7 @@
        testLocale('', lcAll, true)
      );
    });
-@@ -4011,12 +4011,12 @@ describe('font fallback', () => {
+@@ -4230,12 +4230,12 @@ describe('font fallback', () => {
        expect(fonts[0].familyName).to.equal('Arial');
      } else if (process.platform === 'darwin') {
        expect(fonts[0].familyName).to.equal('Helvetica');
@@ -35,7 +35,7 @@
      'should fall back to Japanese font for sans-serif Japanese script',
      async function () {
        const html = `
-@@ -4583,7 +4583,7 @@ describe('paste execCommand', () => {
+@@ -4924,7 +4924,7 @@ describe('paste execCommand', () => {
    });
  });
  
diff --git a/devel/electron43/files/patch-gpu_command__buffer_service_gles2__cmd__decoder.cc b/devel/electron43/files/patch-gpu_command__buffer_service_gles2__cmd__decoder.cc
index 1c6f1cf78521..b9cee8b552e1 100644
--- a/devel/electron43/files/patch-gpu_command__buffer_service_gles2__cmd__decoder.cc
+++ b/devel/electron43/files/patch-gpu_command__buffer_service_gles2__cmd__decoder.cc
@@ -1,6 +1,6 @@
---- gpu/command_buffer/service/gles2_cmd_decoder.cc.orig	2026-08-31 13:40:09 UTC
+--- gpu/command_buffer/service/gles2_cmd_decoder.cc.orig	2026-09-11 08:56:09 UTC
 +++ gpu/command_buffer/service/gles2_cmd_decoder.cc
-@@ -3012,7 +3012,7 @@ std::unique_ptr<GLES2Decoder> GLES2Decoder::Create(
+@@ -3013,7 +3013,7 @@ std::unique_ptr<GLES2Decoder> GLES2Decoder::Create(
    }
  
  // Allow linux to run fuzzers.
diff --git a/devel/electron43/files/patch-ui_views_focus_focus__manager.cc b/devel/electron43/files/patch-ui_views_focus_focus__manager.cc
index e75ff5b401c7..2f2c83ba7b89 100644
--- a/devel/electron43/files/patch-ui_views_focus_focus__manager.cc
+++ b/devel/electron43/files/patch-ui_views_focus_focus__manager.cc
@@ -1,6 +1,6 @@
---- ui/views/focus/focus_manager.cc.orig	2026-07-07 17:43:50 UTC
+--- ui/views/focus/focus_manager.cc.orig	2026-09-11 08:56:09 UTC
 +++ ui/views/focus/focus_manager.cc
-@@ -623,7 +623,7 @@ bool FocusManager::RedirectAcceleratorToParentWidget(
+@@ -630,7 +630,7 @@ bool FocusManager::RedirectAcceleratorToParentWidget(
      return false;
    }
  
@@ -9,7 +9,7 @@
    // Processing an accelerator can delete things. Because we
    // need these objects afterwards on Linux, save widget_ as weak pointer and
    // save the close_on_deactivate property value of widget_delegate in a
-@@ -641,7 +641,7 @@ bool FocusManager::RedirectAcceleratorToParentWidget(
+@@ -648,7 +648,7 @@ bool FocusManager::RedirectAcceleratorToParentWidget(
    const bool accelerator_processed =
        focus_manager->ProcessAccelerator(accelerator);
  
diff --git a/devel/electron43/files/patch-ui_views_widget_desktop__aura_desktop__drag__drop__client__ozone.cc b/devel/electron43/files/patch-ui_views_widget_desktop__aura_desktop__drag__drop__client__ozone.cc
index e508e0feb217..6407c2d8543a 100644
--- a/devel/electron43/files/patch-ui_views_widget_desktop__aura_desktop__drag__drop__client__ozone.cc
+++ b/devel/electron43/files/patch-ui_views_widget_desktop__aura_desktop__drag__drop__client__ozone.cc
@@ -1,6 +1,6 @@
---- ui/views/widget/desktop_aura/desktop_drag_drop_client_ozone.cc.orig	2026-06-10 20:03:19 UTC
+--- ui/views/widget/desktop_aura/desktop_drag_drop_client_ozone.cc.orig	2026-09-11 08:56:09 UTC
 +++ ui/views/widget/desktop_aura/desktop_drag_drop_client_ozone.cc
-@@ -225,7 +225,7 @@ DragOperation DesktopDragDropClientOzone::StartDragAnd
+@@ -228,7 +228,7 @@ DragOperation DesktopDragDropClientOzone::StartDragAnd
    return selected_operation_;
  }