git: 07fff6c828e8 - 2026Q3 - devel/electron42: Update to 42.9.0
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Thu, 03 Sep 2026 18:43:34 UTC
The branch 2026Q3 has been updated by tagattie:
URL: https://cgit.FreeBSD.org/ports/commit/?id=07fff6c828e87e792c425507d77785e96d12f9c0
commit 07fff6c828e87e792c425507d77785e96d12f9c0
Author: Hiroki Tagato <tagattie@FreeBSD.org>
AuthorDate: 2026-08-16 04:48:06 +0000
Commit: Hiroki Tagato <tagattie@FreeBSD.org>
CommitDate: 2026-09-03 18:43:18 +0000
devel/electron42: Update to 42.9.0
While here, prepare node modules archives for amd64 and aarch64
separately.
Changelog: https://github.com/electron/electron/releases/tag/v42.9.0
(cherry picked from commit e25bed0a6ecccf59a2fe82b0faa7b515212f6e4d)
---
devel/electron42/Makefile | 1 +
devel/electron42/Makefile.version | 2 +-
devel/electron42/distinfo | 12 +++++----
...d__manager_chrome__password__manager__client.cc | 6 ++---
devel/electron42/files/patch-electron_BUILD.gn | 10 ++++----
...ell_browser_api_electron__api__web__contents.cc | 16 ++++++------
.../files/patch-electron_shell_browser_browser.h | 4 +--
...shell_browser_electron__browser__main__parts.cc | 30 ++++++++++++++--------
.../patch-electron_shell_common_node__bindings.cc | 16 ++++++------
...h-electron_shell_common_v8__oom__diagnostics.cc | 19 ++++++++++++++
...ch-electron_shell_renderer_oom__stack__trace.cc | 29 ---------------------
.../patch-electron_spec_api-web-contents-spec.ts | 4 +--
.../patch-electron_spec_api-web-frame-main-spec.ts | 4 +--
13 files changed, 77 insertions(+), 76 deletions(-)
diff --git a/devel/electron42/Makefile b/devel/electron42/Makefile
index e43bad012b6b..a12df701810e 100644
--- a/devel/electron42/Makefile
+++ b/devel/electron42/Makefile
@@ -90,6 +90,7 @@ USE_GNOME= atk cairo gdkpixbuf gtk30 libxml2 libxslt pango
USE_XORG= x11 xcb xcomposite xcursor xdamage xext xfixes xi xrandr \
xrender xscrnsaver xtst
USE_QT= buildtools:build core:build widgets:build
+NPM_PREFETCH_ARCHS= aarch64 amd64
NPM_EXTRACT_WRKSRC= ${WRKDIR}/${PORTNAME}-${ELECTRON_VER}
SHEBANG_FILES= chrome/tools/build/linux/chrome-wrapper buildtools/linux64/clang-format
diff --git a/devel/electron42/Makefile.version b/devel/electron42/Makefile.version
index f00dbb3dc7c1..ea958a6c7d89 100644
--- a/devel/electron42/Makefile.version
+++ b/devel/electron42/Makefile.version
@@ -1,2 +1,2 @@
-ELECTRON_VER= 42.8.1
+ELECTRON_VER= 42.9.0
ELECTRON_VER_MAJOR= ${ELECTRON_VER:C/\..*//}
diff --git a/devel/electron42/distinfo b/devel/electron42/distinfo
index ab9f34ac0bea..3f83f85ae031 100644
--- a/devel/electron42/distinfo
+++ b/devel/electron42/distinfo
@@ -1,4 +1,4 @@
-TIMESTAMP = 1786019209
+TIMESTAMP = 1786769004
SHA256 (electron/chromium-148.0.7778.280.tar.xz.0) = cddbfeba5a50d950693590399df8df3a8ef5910eee367c76aec2541444c59dea
SIZE (electron/chromium-148.0.7778.280.tar.xz.0) = 2000000000
SHA256 (electron/chromium-148.0.7778.280.tar.xz.1) = cd2f2c3740c05eb549878ab6c6571f7858456c2c56cf798e60ffbaf7e651429f
@@ -341,10 +341,12 @@ SHA256 (electron/rust/crates/zerocopy-derive-0.7.35.crate) = fa4f8080344d4671fb4
SIZE (electron/rust/crates/zerocopy-derive-0.7.35.crate) = 37829
SHA256 (electron/yarn-4.12.0.tgz) = bd58d06826ce9542c4cd904fe10bab7bc718ea2cc39a45d9fbd15f2edb45761c
SIZE (electron/yarn-4.12.0.tgz) = 1056794
-SHA256 (electron/electron42-42.8.1-node-modules.tar.xz) = 73224ef31205c29739c6d35f93129f0ab290bf714d59e1461fc675c070aac933
-SIZE (electron/electron42-42.8.1-node-modules.tar.xz) = 71097369
-SHA256 (electron/electron-electron-v42.8.1_GH0.tar.gz) = 65ff10d9fd34dc92d4d2c39268eb96707e90a4b50b7dd1b3f5fe3598e4bdb228
-SIZE (electron/electron-electron-v42.8.1_GH0.tar.gz) = 19402246
+SHA256 (electron/electron42-42.9.0-node-modules-arm64.tar.xz) = 6baba78a49cb9d05aaf307ef35030f2d5ee218fc3121d72fe4f225e10a94fdf0
+SIZE (electron/electron42-42.9.0-node-modules-arm64.tar.xz) = 62590395
+SHA256 (electron/electron42-42.9.0-node-modules-x64.tar.xz) = 73224ef31205c29739c6d35f93129f0ab290bf714d59e1461fc675c070aac933
+SIZE (electron/electron42-42.9.0-node-modules-x64.tar.xz) = 71097369
+SHA256 (electron/electron-electron-v42.9.0_GH0.tar.gz) = aabff8a37769bb6ac335ca56282627ef5774247278fef101e56e4dd12be22c2a
+SIZE (electron/electron-electron-v42.9.0_GH0.tar.gz) = 19511989
SHA256 (electron/nodejs-node-v24.18.1_GH0.tar.gz) = bb8065bf6b8b4a2da85dba16c1f69c0a3ad90c0481b33f1ab4c82e3d2bcc8c77
SIZE (electron/nodejs-node-v24.18.1_GH0.tar.gz) = 127539215
SHA256 (electron/nodejs-nan-675cefebca42410733da8a454c8d9391fcebfbc2_GH0.tar.gz) = 3983c68f19ed75dd37dc228eab385093ae2533132730f253f0c3d19ff10788e3
diff --git a/devel/electron42/files/patch-chrome_browser_password__manager_chrome__password__manager__client.cc b/devel/electron42/files/patch-chrome_browser_password__manager_chrome__password__manager__client.cc
index c07d304b049e..6a0c4a06d29d 100644
--- a/devel/electron42/files/patch-chrome_browser_password__manager_chrome__password__manager__client.cc
+++ b/devel/electron42/files/patch-chrome_browser_password__manager_chrome__password__manager__client.cc
@@ -1,4 +1,4 @@
---- chrome/browser/password_manager/chrome_password_manager_client.cc.orig 2026-06-02 17:55:02 UTC
+--- chrome/browser/password_manager/chrome_password_manager_client.cc.orig 2026-08-15 04:49:03 UTC
+++ chrome/browser/password_manager/chrome_password_manager_client.cc
@@ -703,7 +703,7 @@ bool ChromePasswordManagerClient::IsReauthBeforeFillin
bool ChromePasswordManagerClient::IsReauthBeforeFillingRequired(
@@ -18,7 +18,7 @@
PasswordsClientUIDelegate* manage_passwords_ui_controller =
PasswordsClientUIDelegateFromWebContents(web_contents());
if (manage_passwords_ui_controller) {
-@@ -2043,7 +2043,7 @@ bool ChromePasswordManagerClient::IsPasswordManagement
+@@ -2044,7 +2044,7 @@ bool ChromePasswordManagerClient::IsPasswordManagement
bool ChromePasswordManagerClient::IsPasswordManagementEnabledForCurrentPage(
const GURL& url) const {
#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || \
@@ -27,7 +27,7 @@
if (IsPasswordManagerForUrlDisallowedByPolicy(url)) {
return false;
}
-@@ -2082,7 +2082,7 @@ bool ChromePasswordManagerClient::IsPasswordManagement
+@@ -2083,7 +2083,7 @@ bool ChromePasswordManagerClient::IsPasswordManagement
}
#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || \
diff --git a/devel/electron42/files/patch-electron_BUILD.gn b/devel/electron42/files/patch-electron_BUILD.gn
index fc5453a840df..401c6a9d6d71 100644
--- a/devel/electron42/files/patch-electron_BUILD.gn
+++ b/devel/electron42/files/patch-electron_BUILD.gn
@@ -1,4 +1,4 @@
---- electron/BUILD.gn.orig 2026-07-02 19:37:32 UTC
+--- electron/BUILD.gn.orig 2026-08-10 18:14:56 UTC
+++ electron/BUILD.gn
@@ -609,7 +609,7 @@ source_set("electron_lib") {
defines += [ "GDK_DISABLE_DEPRECATION_WARNINGS" ]
@@ -22,7 +22,7 @@
if (is_linux) {
libs = [ "xshmfence" ]
deps += [
-@@ -1503,7 +1509,7 @@ if (is_mac) {
+@@ -1505,7 +1511,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",
-@@ -1530,7 +1536,7 @@ if (is_mac) {
+@@ -1532,7 +1538,7 @@ if (is_mac) {
public_deps = [ "//tools/v8_context_snapshot" ]
}
@@ -40,7 +40,7 @@
data_deps += [ "//components/crash/core/app:chrome_crashpad_handler" ]
}
-@@ -1597,7 +1603,7 @@ if (is_mac) {
+@@ -1599,7 +1605,7 @@ if (is_mac) {
configs += [ "//build/config/gcc:rpath_for_built_shared_libraries" ]
}
@@ -49,7 +49,7 @@
deps += [ "//sandbox/linux:chrome_sandbox" ]
}
}
-@@ -1718,7 +1724,9 @@ dist_zip("electron_dist_zip") {
+@@ -1720,7 +1726,9 @@ dist_zip("electron_dist_zip") {
]
}
diff --git a/devel/electron42/files/patch-electron_shell_browser_api_electron__api__web__contents.cc b/devel/electron42/files/patch-electron_shell_browser_api_electron__api__web__contents.cc
index b9f5c99b3836..ea4884962af6 100644
--- a/devel/electron42/files/patch-electron_shell_browser_api_electron__api__web__contents.cc
+++ b/devel/electron42/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-04 15:02:58 UTC
+--- electron/shell/browser/api/electron_api_web_contents.cc.orig 2026-08-10 18:14:56 UTC
+++ electron/shell/browser/api/electron_api_web_contents.cc
-@@ -175,11 +175,11 @@
+@@ -174,11 +174,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
-@@ -211,7 +211,7 @@
+@@ -208,7 +208,7 @@
#include "content/public/browser/plugin_service.h"
#endif
@@ -23,7 +23,7 @@
#include "chrome/browser/hang_monitor/hang_crash_dump.h" // nogncheck
#endif
-@@ -648,7 +648,7 @@ std::optional<base::TimeDelta> GetCursorBlinkInterval(
+@@ -629,7 +629,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)
-@@ -1033,7 +1033,7 @@ void WebContents::InitWithSessionAndOptions(
+@@ -1014,7 +1014,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));
-@@ -3012,13 +3012,13 @@ void WebContents::ForcefullyCrashRenderer() {
+@@ -2993,13 +2993,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);
-@@ -3728,7 +3728,7 @@ void WebContents::Focus() {
+@@ -3632,7 +3632,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
-@@ -4629,7 +4629,7 @@ ui::ImageModel WebContents::GetDevToolsWindowIcon() {
+@@ -4533,7 +4533,7 @@ ui::ImageModel WebContents::GetDevToolsWindowIcon() {
}
#endif
diff --git a/devel/electron42/files/patch-electron_shell_browser_browser.h b/devel/electron42/files/patch-electron_shell_browser_browser.h
index ff27b71532cd..70dbc36b1fbb 100644
--- a/devel/electron42/files/patch-electron_shell_browser_browser.h
+++ b/devel/electron42/files/patch-electron_shell_browser_browser.h
@@ -1,6 +1,6 @@
---- electron/shell/browser/browser.h.orig 2026-05-26 16:24:13 UTC
+--- electron/shell/browser/browser.h.orig 2026-08-10 18:14:56 UTC
+++ electron/shell/browser/browser.h
-@@ -284,10 +284,10 @@ class Browser : private WindowListObserver {
+@@ -287,10 +287,10 @@ class Browser : private WindowListObserver {
PCWSTR GetAppUserModelID();
#endif // BUILDFLAG(IS_WIN)
diff --git a/devel/electron42/files/patch-electron_shell_browser_electron__browser__main__parts.cc b/devel/electron42/files/patch-electron_shell_browser_electron__browser__main__parts.cc
index f485159d9626..1c53a0adb9cf 100644
--- a/devel/electron42/files/patch-electron_shell_browser_electron__browser__main__parts.cc
+++ b/devel/electron42/files/patch-electron_shell_browser_electron__browser__main__parts.cc
@@ -1,6 +1,6 @@
---- electron/shell/browser/electron_browser_main_parts.cc.orig 2026-06-03 19:18:10 UTC
+--- electron/shell/browser/electron_browser_main_parts.cc.orig 2026-08-10 18:14:56 UTC
+++ electron/shell/browser/electron_browser_main_parts.cc
-@@ -78,7 +78,7 @@
+@@ -81,7 +81,7 @@
#include "ui/wm/core/wm_state.h"
#endif
@@ -9,7 +9,7 @@
#include "base/environment.h"
#include "chrome/browser/ui/views/dark_mode_manager_linux.h"
#include "device/bluetooth/bluetooth_adapter_factory.h"
-@@ -135,7 +135,7 @@ namespace {
+@@ -138,7 +138,7 @@ namespace {
namespace {
@@ -18,7 +18,7 @@
class LinuxUiGetterImpl : public ui::LinuxUiGetter {
public:
LinuxUiGetterImpl() = default;
-@@ -217,7 +217,7 @@ int ElectronBrowserMainParts::PreEarlyInitialization()
+@@ -220,7 +220,7 @@ int ElectronBrowserMainParts::PreEarlyInitialization()
#if BUILDFLAG(IS_OZONE)
// Initialize Ozone platform and add required feature flags as per platform's
// properties.
@@ -27,7 +27,7 @@
ui::SetOzonePlatformForLinuxIfNeeded(*base::CommandLine::ForCurrentProcess());
#endif
ui::OzonePlatform::PreEarlyInitialization();
-@@ -331,7 +331,7 @@ int ElectronBrowserMainParts::PreCreateThreads() {
+@@ -334,7 +334,7 @@ int ElectronBrowserMainParts::PreCreateThreads() {
// happen before the ResourceBundle is loaded
if (locale.empty())
l10n_util::OverrideLocaleWithCocoaLocale();
@@ -36,7 +36,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
-@@ -360,7 +360,7 @@ int ElectronBrowserMainParts::PreCreateThreads() {
+@@ -363,7 +363,7 @@ int ElectronBrowserMainParts::PreCreateThreads() {
ElectronBrowserClient::SetApplicationLocale(app_locale);
fake_browser_process_->SetApplicationLocale(app_locale);
@@ -45,7 +45,7 @@
// Reset to the original LC_ALL since we should not be changing it.
if (!locale.empty()) {
if (lc_all)
-@@ -416,7 +416,7 @@ void ElectronBrowserMainParts::ToolkitInitialized() {
+@@ -419,7 +419,7 @@ void ElectronBrowserMainParts::ToolkitInitialized() {
}
void ElectronBrowserMainParts::ToolkitInitialized() {
@@ -54,7 +54,7 @@
auto* linux_ui = ui::GetDefaultLinuxUi();
CHECK(linux_ui);
linux_ui_getter_ = std::make_unique<LinuxUiGetterImpl>();
-@@ -527,7 +527,7 @@ void ElectronBrowserMainParts::PostCreateMainMessageLo
+@@ -530,10 +530,10 @@ void ElectronBrowserMainParts::PostCreateMainMessageLo
}
void ElectronBrowserMainParts::PostCreateMainMessageLoop() {
@@ -62,18 +62,26 @@
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD)
std::string app_name = electron::Browser::Get()->GetName();
#endif
- #if BUILDFLAG(IS_LINUX)
-@@ -539,7 +539,9 @@ void ElectronBrowserMainParts::PostCreateMainMessageLo
+-#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.
+@@ -553,9 +553,13 @@ void ElectronBrowserMainParts::PostCreateMainMessageLo
+ std::move(shutdown_cb),
+ content::GetUIThreadTaskRunner({content::BrowserTaskType::kUserInput}));
++#if BUILDFLAG(IS_LINUX)
if (!bluez::BluezDBusManager::IsInitialized())
bluez::DBusBluezManagerWrapperLinux::Initialize();
+#endif
++#endif
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
// 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.
-@@ -636,7 +638,7 @@ void ElectronBrowserMainParts::PostMainMessageLoopRun(
+@@ -652,7 +656,7 @@ void ElectronBrowserMainParts::PostMainMessageLoopRun(
fake_browser_process_->PostMainMessageLoopRun();
content::DevToolsAgentHost::StopRemoteDebuggingPipeHandler();
diff --git a/devel/electron42/files/patch-electron_shell_common_node__bindings.cc b/devel/electron42/files/patch-electron_shell_common_node__bindings.cc
index 1d3404194d7a..b42bb5aac2e9 100644
--- a/devel/electron42/files/patch-electron_shell_common_node__bindings.cc
+++ b/devel/electron42/files/patch-electron_shell_common_node__bindings.cc
@@ -1,4 +1,4 @@
---- electron/shell/common/node_bindings.cc.orig 2026-06-03 19:18:10 UTC
+--- electron/shell/common/node_bindings.cc.orig 2026-08-10 18:14:56 UTC
+++ electron/shell/common/node_bindings.cc
@@ -55,7 +55,7 @@
#include "third_party/electron_node/src/node_snapshot_builder.h"
@@ -7,9 +7,9 @@
-#if !IS_MAS_BUILD()
+#if !IS_MAS_BUILD() && !BUILDFLAG(IS_BSD)
#include "shell/common/crash_keys.h"
+ #include "shell/common/v8_oom_diagnostics.h"
#endif
-
-@@ -172,7 +172,7 @@ void V8FatalErrorCallback(const char* location, const
+@@ -173,7 +173,7 @@ void V8FatalErrorCallback(const char* location, const
void V8FatalErrorCallback(const char* location, const char* message) {
LOG(ERROR) << "Fatal error in V8: " << location << " " << message;
@@ -18,16 +18,16 @@
electron::crash_keys::SetCrashKey("electron.v8-fatal.message", message);
electron::crash_keys::SetCrashKey("electron.v8-fatal.location", location);
#endif
-@@ -194,7 +194,7 @@ void V8OOMErrorCallback(const char* location, const v8
+@@ -195,7 +195,7 @@ void V8OOMErrorCallback(const char* location, const v8
LOG(ERROR) << "OOM detail: " << details.detail;
}
-#if !IS_MAS_BUILD()
+#if !IS_MAS_BUILD() && !BUILDFLAG(IS_BSD)
- electron::crash_keys::SetCrashKey("electron.v8-oom.is_heap_oom",
- base::NumberToString(details.is_heap_oom));
- if (location) {
-@@ -686,7 +686,7 @@ void NodeBindings::Initialize(v8::Isolate* const isola
+ // TryGetCurrent() instead of GetCurrent() to avoid FATAL if no isolate.
+ v8::Isolate* isolate = v8::Isolate::TryGetCurrent();
+ electron::v8_oom::RecordErrorDetails(isolate, location, details);
+@@ -664,7 +664,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/electron42/files/patch-electron_shell_common_v8__oom__diagnostics.cc b/devel/electron42/files/patch-electron_shell_common_v8__oom__diagnostics.cc
new file mode 100644
index 000000000000..125af06b9e91
--- /dev/null
+++ b/devel/electron42/files/patch-electron_shell_common_v8__oom__diagnostics.cc
@@ -0,0 +1,19 @@
+--- electron/shell/common/v8_oom_diagnostics.cc.orig 2026-08-15 04:56:22 UTC
++++ electron/shell/common/v8_oom_diagnostics.cc
+@@ -15,7 +15,7 @@ namespace electron::v8_oom {
+
+ namespace electron::v8_oom {
+
+-#if !IS_MAS_BUILD()
++#if !IS_MAS_BUILD() && !BUILDFLAG(IS_BSD)
+
+ namespace {
+
+@@ -140,6 +140,6 @@ void RecordJsStack(v8::Isolate*, std::string_view) {}
+ void RecordErrorDetails(v8::Isolate*, const char*, const v8::OOMDetails&) {}
+ void RecordJsStack(v8::Isolate*, std::string_view) {}
+
+-#endif // !IS_MAS_BUILD()
++#endif // !IS_MAS_BUILD() && !BUILDFLAG(IS_BSD)
+
+ } // namespace electron::v8_oom
diff --git a/devel/electron42/files/patch-electron_shell_renderer_oom__stack__trace.cc b/devel/electron42/files/patch-electron_shell_renderer_oom__stack__trace.cc
deleted file mode 100644
index 66881557eb1c..000000000000
--- a/devel/electron42/files/patch-electron_shell_renderer_oom__stack__trace.cc
+++ /dev/null
@@ -1,29 +0,0 @@
---- electron/shell/renderer/oom_stack_trace.cc.orig 2026-05-12 21:06:23 UTC
-+++ electron/shell/renderer/oom_stack_trace.cc
-@@ -119,7 +119,7 @@ void CaptureStackOnInterrupt(v8::Isolate* isolate, voi
-
- std::string js_stack = FormatStackTrace(isolate, stack);
- if (!js_stack.empty()) {
--#if !IS_MAS_BUILD()
-+#if !IS_MAS_BUILD() && !BUILDFLAG(IS_BSD)
- crash_keys::SetCrashKey("electron.v8-oom.stack", js_stack);
- #endif
- LOG(ERROR) << "\n<--- JS stacktrace (captured at safe point) --->\n"
-@@ -150,7 +150,7 @@ size_t NearHeapLimitCallback(void* data,
- stats.heap_size_limit() / 1048576.0);
- LOG(ERROR) << "\n<--- Near heap limit --->\n" << heap_info;
-
--#if !IS_MAS_BUILD()
-+#if !IS_MAS_BUILD() && !BUILDFLAG(IS_BSD)
- crash_keys::SetCrashKey("electron.v8-oom.stack",
- heap_info + " (stack pending)");
-
-@@ -226,7 +226,7 @@ size_t NearHeapLimitCallback(void* data,
- if (current_heap_limit >= kCageLimit - kHeapBump) {
- // The bump will be clamped by V8 to the cage ceiling, leaving no
- // headroom for the interrupt to fire. Record what we can now.
--#if !IS_MAS_BUILD()
-+#if !IS_MAS_BUILD() && !BUILDFLAG(IS_BSD)
- crash_keys::SetCrashKey("electron.v8-oom.stack",
- heap_info + " (at cage limit, stack unavailable)");
- #endif
diff --git a/devel/electron42/files/patch-electron_spec_api-web-contents-spec.ts b/devel/electron42/files/patch-electron_spec_api-web-contents-spec.ts
index ea77e5266e97..ba2eba98a10e 100644
--- a/devel/electron42/files/patch-electron_spec_api-web-contents-spec.ts
+++ b/devel/electron42/files/patch-electron_spec_api-web-contents-spec.ts
@@ -1,4 +1,4 @@
---- electron/spec/api-web-contents-spec.ts.orig 2026-06-09 06:05:33 UTC
+--- electron/spec/api-web-contents-spec.ts.orig 2026-08-10 18:14:56 UTC
+++ electron/spec/api-web-contents-spec.ts
@@ -1337,7 +1337,7 @@ describe('webContents module', () => {
// back to OpenFolder() which does a blocking DirectoryExists() on the UI
@@ -9,7 +9,7 @@
'reveals paths under a registered workspace folder without executing them',
async () => {
const w = new BrowserWindow({ show: false });
-@@ -3215,7 +3215,7 @@ describe('webContents module', () => {
+@@ -3179,7 +3179,7 @@ describe('webContents module', () => {
});
// TODO(codebytere): OOPIF printing is disabled on Linux at the moment due to crashes.
diff --git a/devel/electron42/files/patch-electron_spec_api-web-frame-main-spec.ts b/devel/electron42/files/patch-electron_spec_api-web-frame-main-spec.ts
index 95b5971ca738..cf732ac1b59c 100644
--- a/devel/electron42/files/patch-electron_spec_api-web-frame-main-spec.ts
+++ b/devel/electron42/files/patch-electron_spec_api-web-frame-main-spec.ts
@@ -1,6 +1,6 @@
---- electron/spec/api-web-frame-main-spec.ts.orig 2026-05-07 20:19:20 UTC
+--- electron/spec/api-web-frame-main-spec.ts.orig 2026-08-10 18:14:56 UTC
+++ electron/spec/api-web-frame-main-spec.ts
-@@ -307,7 +307,7 @@ describe('webFrameMain module', () => {
+@@ -310,7 +310,7 @@ describe('webFrameMain module', () => {
afterEach(closeAllWindows);
// TODO(jkleinsc) fix this flaky test on linux