git: 3492dd020d70 - 2026Q3 - devel/electron42: Update to 42.9.3
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Thu, 03 Sep 2026 18:43:35 UTC
The branch 2026Q3 has been updated by tagattie:
URL: https://cgit.FreeBSD.org/ports/commit/?id=3492dd020d70010d731fa8066ee89f7ad150219e
commit 3492dd020d70010d731fa8066ee89f7ad150219e
Author: Hiroki Tagato <tagattie@FreeBSD.org>
AuthorDate: 2026-08-20 17:57:22 +0000
Commit: Hiroki Tagato <tagattie@FreeBSD.org>
CommitDate: 2026-09-03 18:43:18 +0000
devel/electron42: Update to 42.9.3
Changelog:
- https://github.com/electron/electron/releases/tag/v42.9.1
- https://github.com/electron/electron/releases/tag/v42.9.2
- https://github.com/electron/electron/releases/tag/v42.9.3
Reported by: GitHub (watch releases)
(cherry picked from commit 49ce10da799eaff13ee9978a99b3d11b0daf3722)
---
devel/electron42/Makefile.version | 2 +-
devel/electron42/distinfo | 14 +++----
.../files/patch-content_app_content__main.cc | 6 +--
...patch-content_browser_gpu_gpu__process__host.cc | 6 +--
...ell_browser_api_electron__api__web__contents.cc | 16 ++++----
...hell_browser_api_electron__api__web__contents.h | 4 +-
...electron_shell_browser_native__window__views.cc | 46 +++++++++++-----------
...patch-electron_spec_api-content-tracing-spec.ts | 6 +--
.../files/patch-electron_spec_api-protocol-spec.ts | 4 +-
.../patch-electron_spec_api-web-contents-spec.ts | 4 +-
.../electron42/files/patch-electron_spec_index.js | 4 +-
..._command__buffer_service_gles2__cmd__decoder.cc | 4 +-
.../files/patch-ui_base_cursor_cursor__factory.cc | 8 ++--
.../files/patch-ui_base_cursor_cursor__factory.h | 6 +--
.../files/patch-ui_base_cursor_cursor__unittest.cc | 11 ++++++
.../patch-ui_base_resource_resource__bundle.cc | 4 +-
.../files/patch-ui_base_x_x11__cursor__loader.cc | 10 ++---
.../files/patch-ui_base_x_x11__shm__image__pool.cc | 6 +--
18 files changed, 86 insertions(+), 75 deletions(-)
diff --git a/devel/electron42/Makefile.version b/devel/electron42/Makefile.version
index ea958a6c7d89..226dfa67925d 100644
--- a/devel/electron42/Makefile.version
+++ b/devel/electron42/Makefile.version
@@ -1,2 +1,2 @@
-ELECTRON_VER= 42.9.0
+ELECTRON_VER= 42.9.3
ELECTRON_VER_MAJOR= ${ELECTRON_VER:C/\..*//}
diff --git a/devel/electron42/distinfo b/devel/electron42/distinfo
index 3f83f85ae031..93596b64e557 100644
--- a/devel/electron42/distinfo
+++ b/devel/electron42/distinfo
@@ -1,4 +1,4 @@
-TIMESTAMP = 1786769004
+TIMESTAMP = 1787181243
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,12 +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.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/electron42-42.9.3-node-modules-arm64.tar.xz) = 6baba78a49cb9d05aaf307ef35030f2d5ee218fc3121d72fe4f225e10a94fdf0
+SIZE (electron/electron42-42.9.3-node-modules-arm64.tar.xz) = 62590395
+SHA256 (electron/electron42-42.9.3-node-modules-x64.tar.xz) = 73224ef31205c29739c6d35f93129f0ab290bf714d59e1461fc675c070aac933
+SIZE (electron/electron42-42.9.3-node-modules-x64.tar.xz) = 71097369
+SHA256 (electron/electron-electron-v42.9.3_GH0.tar.gz) = 07a2a27021a0b95649aefec385b1d32242716090db94d3920bf590eb2eb88dbb
+SIZE (electron/electron-electron-v42.9.3_GH0.tar.gz) = 19686775
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-content_app_content__main.cc b/devel/electron42/files/patch-content_app_content__main.cc
index 02005b90b300..d063cd03969c 100644
--- a/devel/electron42/files/patch-content_app_content__main.cc
+++ b/devel/electron42/files/patch-content_app_content__main.cc
@@ -1,6 +1,6 @@
---- content/app/content_main.cc.orig 2026-03-21 03:23:28 UTC
+--- content/app/content_main.cc.orig 2026-08-19 23:17:14 UTC
+++ content/app/content_main.cc
-@@ -230,7 +230,7 @@ NO_STACK_PROTECTOR int RunContentProcess(
+@@ -236,7 +236,7 @@ NO_STACK_PROTECTOR int RunContentProcess(
base::EnableTerminationOnOutOfMemory();
logging::RegisterAbslAbortHook();
@@ -9,7 +9,7 @@
// The various desktop environments set this environment variable that
// allows the dbus client library to connect directly to the bus. When this
// variable is not set (test environments like xvfb-run), the dbus client
-@@ -324,7 +324,7 @@ NO_STACK_PROTECTOR int RunContentProcess(
+@@ -330,7 +330,7 @@ NO_STACK_PROTECTOR int RunContentProcess(
#endif
#endif
diff --git a/devel/electron42/files/patch-content_browser_gpu_gpu__process__host.cc b/devel/electron42/files/patch-content_browser_gpu_gpu__process__host.cc
index 92cc9c3c31a4..f26ed9dcaeb4 100644
--- a/devel/electron42/files/patch-content_browser_gpu_gpu__process__host.cc
+++ b/devel/electron42/files/patch-content_browser_gpu_gpu__process__host.cc
@@ -1,6 +1,6 @@
---- content/browser/gpu/gpu_process_host.cc.orig 2026-05-26 20:44:49 UTC
+--- content/browser/gpu/gpu_process_host.cc.orig 2026-08-19 23:17:14 UTC
+++ content/browser/gpu/gpu_process_host.cc
-@@ -282,6 +282,7 @@ static const char* const kSwitchNames[] = {
+@@ -284,6 +284,7 @@ static const char* const kSwitchNames[] = {
switches::kDisableSkiaGraphite,
switches::kDisableSkiaGraphitePrecompilation,
switches::kDisableLowEndDeviceMode,
@@ -8,7 +8,7 @@
switches::kProfilingAtStart,
switches::kProfilingFile,
switches::kProfilingFlush,
-@@ -306,7 +307,7 @@ static const char* const kSwitchNames[] = {
+@@ -308,7 +309,7 @@ static const char* const kSwitchNames[] = {
switches::kEnableNativeGpuMemoryBuffers,
switches::kRenderNodeOverride,
#endif
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 ea4884962af6..d15c1145694c 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-10 18:14:56 UTC
+--- electron/shell/browser/api/electron_api_web_contents.cc.orig 2026-08-17 14:38:13 UTC
+++ electron/shell/browser/api/electron_api_web_contents.cc
-@@ -174,11 +174,11 @@
+@@ -175,11 +175,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
-@@ -208,7 +208,7 @@
+@@ -209,7 +209,7 @@
#include "content/public/browser/plugin_service.h"
#endif
@@ -23,7 +23,7 @@
#include "chrome/browser/hang_monitor/hang_crash_dump.h" // nogncheck
#endif
-@@ -629,7 +629,7 @@ std::optional<base::TimeDelta> GetCursorBlinkInterval(
+@@ -630,7 +630,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)
-@@ -1014,7 +1014,7 @@ void WebContents::InitWithSessionAndOptions(
+@@ -1015,7 +1015,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));
-@@ -2993,13 +2993,13 @@ void WebContents::ForcefullyCrashRenderer() {
+@@ -3040,13 +3040,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);
-@@ -3632,7 +3632,7 @@ void WebContents::Focus() {
+@@ -3679,7 +3679,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
-@@ -4533,7 +4533,7 @@ ui::ImageModel WebContents::GetDevToolsWindowIcon() {
+@@ -4580,7 +4580,7 @@ ui::ImageModel WebContents::GetDevToolsWindowIcon() {
}
#endif
diff --git a/devel/electron42/files/patch-electron_shell_browser_api_electron__api__web__contents.h b/devel/electron42/files/patch-electron_shell_browser_api_electron__api__web__contents.h
index 4eb3a6322f3b..cf038accd5fb 100644
--- a/devel/electron42/files/patch-electron_shell_browser_api_electron__api__web__contents.h
+++ b/devel/electron42/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-06-09 06:05:33 UTC
+--- electron/shell/browser/api/electron_api_web_contents.h.orig 2026-08-17 14:38:13 UTC
+++ electron/shell/browser/api/electron_api_web_contents.h
-@@ -761,7 +761,7 @@ class WebContents final : public ExclusiveAccessContex
+@@ -764,7 +764,7 @@ class WebContents final : public ExclusiveAccessContex
#if defined(TOOLKIT_VIEWS) && !BUILDFLAG(IS_MAC)
ui::ImageModel GetDevToolsWindowIcon() override;
#endif
diff --git a/devel/electron42/files/patch-electron_shell_browser_native__window__views.cc b/devel/electron42/files/patch-electron_shell_browser_native__window__views.cc
index a60130f933cf..2e12b4e783b7 100644
--- a/devel/electron42/files/patch-electron_shell_browser_native__window__views.cc
+++ b/devel/electron42/files/patch-electron_shell_browser_native__window__views.cc
@@ -1,7 +1,7 @@
---- electron/shell/browser/native_window_views.cc.orig 2026-08-04 15:02:58 UTC
+--- electron/shell/browser/native_window_views.cc.orig 2026-08-17 14:38:13 UTC
+++ electron/shell/browser/native_window_views.cc
-@@ -58,7 +58,7 @@
- #include "ui/wm/core/shadow_types.h"
+@@ -57,7 +57,7 @@
+ #include "ui/views/window/non_client_view.h"
#include "ui/wm/core/window_util.h"
-#if BUILDFLAG(IS_LINUX)
@@ -9,7 +9,7 @@
#include "base/notimplemented.h"
#include "shell/browser/browser.h"
#include "shell/browser/linux/unity_service.h"
-@@ -300,7 +300,7 @@ NativeWindowViews::NativeWindowViews(const int32_t bas
+@@ -299,7 +299,7 @@ NativeWindowViews::NativeWindowViews(const int32_t bas
params.parent = parent->GetNativeWindow();
params.native_widget = new ElectronDesktopNativeWidgetAura{this, widget()};
@@ -18,7 +18,7 @@
// Set the WM_CLASS and XDG App ID to the same value
// for best compatibility with both X11 and Wayland.
const auto app_id = platform_util::GetXdgAppId();
-@@ -330,7 +330,7 @@ NativeWindowViews::NativeWindowViews(const int32_t bas
+@@ -329,7 +329,7 @@ NativeWindowViews::NativeWindowViews(const int32_t bas
std::string window_type;
options.Get(options::kType, &window_type);
@@ -27,7 +27,7 @@
// Set _GTK_THEME_VARIANT to dark if we have "dark-theme" option set.
if (options.ValueOrDefault(options::kDarkTheme, false))
SetGTKDarkThemeEnabled(true);
-@@ -522,7 +522,7 @@ void NativeWindowViews::SetGTKDarkThemeEnabled(bool us
+@@ -521,7 +521,7 @@ void NativeWindowViews::SetGTKDarkThemeEnabled(bool us
}
void NativeWindowViews::SetGTKDarkThemeEnabled(bool use_dark_theme) {
@@ -36,7 +36,7 @@
if (x11_util::IsX11()) {
const std::string color = use_dark_theme ? "dark" : "light";
auto* connection = x11::Connection::Get();
-@@ -583,7 +583,7 @@ void NativeWindowViews::Show() {
+@@ -587,7 +587,7 @@ void NativeWindowViews::Show() {
NotifyWindowShow();
@@ -45,7 +45,7 @@
if (global_menu_bar_)
global_menu_bar_->OnWindowMapped();
-@@ -599,7 +599,7 @@ void NativeWindowViews::ShowInactive() {
+@@ -603,7 +603,7 @@ void NativeWindowViews::ShowInactive() {
NotifyWindowShow();
@@ -54,7 +54,7 @@
if (global_menu_bar_)
global_menu_bar_->OnWindowMapped();
-@@ -618,7 +618,7 @@ void NativeWindowViews::Hide() {
+@@ -622,7 +622,7 @@ void NativeWindowViews::Hide() {
NotifyWindowHide();
@@ -63,7 +63,7 @@
if (global_menu_bar_)
global_menu_bar_->OnWindowUnmapped();
#endif
-@@ -649,7 +649,7 @@ bool NativeWindowViews::IsEnabled() const {
+@@ -653,7 +653,7 @@ bool NativeWindowViews::IsEnabled() const {
bool NativeWindowViews::IsEnabled() const {
#if BUILDFLAG(IS_WIN)
return ::IsWindowEnabled(GetAcceleratedWidget());
@@ -72,7 +72,7 @@
if (x11_util::IsX11())
return !event_disabler_.get();
NOTIMPLEMENTED();
-@@ -874,7 +874,7 @@ void NativeWindowViews::SetBounds(const gfx::Rect& bou
+@@ -878,7 +878,7 @@ void NativeWindowViews::SetBounds(const gfx::Rect& bou
}
#endif
@@ -81,7 +81,7 @@
// On Linux and Windows the minimum and maximum size should be updated with
// window size when window is not resizable.
if (!CanResize()) {
-@@ -929,7 +929,7 @@ void NativeWindowViews::SetContentSizeConstraints(
+@@ -933,7 +933,7 @@ void NativeWindowViews::SetContentSizeConstraints(
// of this to determine whether native widget has initialized.
if (widget() && widget()->widget_delegate())
widget()->OnSizeConstraintsChanged();
@@ -90,7 +90,7 @@
if (resizable_)
old_size_constraints_ = GetSizeConstraints();
#endif
-@@ -1149,7 +1149,7 @@ bool NativeWindowViews::IsClosable() const {
+@@ -1153,7 +1153,7 @@ bool NativeWindowViews::IsClosable() const {
return false;
}
return !(info.fState & MFS_DISABLED);
@@ -99,7 +99,7 @@
return true;
#endif
}
-@@ -1289,7 +1289,7 @@ void NativeWindowViews::SetBackgroundColor(SkColor bac
+@@ -1293,7 +1293,7 @@ void NativeWindowViews::SetBackgroundColor(SkColor bac
InvalidateRect(GetAcceleratedWidget(), nullptr, 1);
#endif
@@ -108,7 +108,7 @@
// Widget and root view need to be transparent for CSD to draw shadow regions
// and custom edges and corners. The web contents view will still be
// painted with the true background color, which is cached in state.
-@@ -1419,7 +1419,7 @@ void NativeWindowViews::SetMenu(ElectronMenuModel* men
+@@ -1423,7 +1423,7 @@ void NativeWindowViews::SetMenu(ElectronMenuModel* men
}
void NativeWindowViews::SetMenu(ElectronMenuModel* menu_model) {
@@ -117,7 +117,7 @@
// Remove global menu bar.
if (global_menu_bar_ && menu_model == nullptr) {
global_menu_bar_.reset();
-@@ -1475,7 +1475,7 @@ void NativeWindowViews::SetParentWindow(NativeWindow*
+@@ -1479,7 +1479,7 @@ void NativeWindowViews::SetParentWindow(NativeWindow*
void NativeWindowViews::SetParentWindow(NativeWindow* parent) {
NativeWindow::SetParentWindow(parent);
@@ -126,7 +126,7 @@
if (x11_util::IsX11()) {
auto* connection = x11::Connection::Get();
connection->SetProperty(
-@@ -1537,7 +1537,7 @@ void NativeWindowViews::SetProgressBar(double progress
+@@ -1541,7 +1541,7 @@ void NativeWindowViews::SetProgressBar(double progress
NativeWindow::ProgressState state) {
#if BUILDFLAG(IS_WIN)
taskbar_host_.SetProgressBar(GetAcceleratedWidget(), progress, state);
@@ -135,7 +135,7 @@
if (unity::IsRunning()) {
unity::SetProgressFraction(progress);
}
-@@ -1663,7 +1663,7 @@ content::DesktopMediaID NativeWindowViews::GetDesktopM
+@@ -1667,7 +1667,7 @@ content::DesktopMediaID NativeWindowViews::GetDesktopM
#if BUILDFLAG(IS_WIN)
window_handle =
reinterpret_cast<content::DesktopMediaID::Id>(accelerated_widget);
@@ -144,7 +144,7 @@
window_handle = static_cast<uint32_t>(accelerated_widget);
#endif
aura::WindowTreeHost* const host =
-@@ -1793,7 +1793,7 @@ void NativeWindowViews::SetIcon(HICON window_icon, HIC
+@@ -1797,7 +1797,7 @@ void NativeWindowViews::SetIcon(HICON window_icon, HIC
SendMessage(hwnd, WM_SETICON, ICON_BIG,
reinterpret_cast<LPARAM>(app_icon_.get()));
}
@@ -153,7 +153,7 @@
void NativeWindowViews::SetIcon(const gfx::ImageSkia& icon) {
auto* tree_host = views::DesktopWindowTreeHostLinux::GetHostForWidget(
GetAcceleratedWidget());
-@@ -1914,7 +1914,7 @@ bool NativeWindowViews::CanMinimize() const {
+@@ -1918,7 +1918,7 @@ bool NativeWindowViews::CanMinimize() const {
bool NativeWindowViews::CanMinimize() const {
#if BUILDFLAG(IS_WIN)
return minimizable_;
@@ -162,7 +162,7 @@
return true;
#endif
}
-@@ -1948,7 +1948,7 @@ std::unique_ptr<views::FrameView> NativeWindowViews::C
+@@ -1952,7 +1952,7 @@ std::unique_ptr<views::FrameView> NativeWindowViews::C
#endif
}
@@ -171,7 +171,7 @@
LinuxFrameLayout* NativeWindowViews::GetLinuxFrameLayout() {
auto* ncv = widget()->non_client_view();
if (!ncv)
-@@ -1968,7 +1968,7 @@ void NativeWindowViews::HandleKeyboardEvent(
+@@ -1972,7 +1972,7 @@ void NativeWindowViews::HandleKeyboardEvent(
if (widget_destroyed_)
return;
@@ -180,7 +180,7 @@
if (event.windows_key_code == ui::VKEY_BROWSER_BACK)
NotifyWindowExecuteAppCommand(kBrowserBackward);
else if (event.windows_key_code == ui::VKEY_BROWSER_FORWARD)
-@@ -1987,7 +1987,7 @@ void NativeWindowViews::OnMouseEvent(ui::MouseEvent* e
+@@ -1991,7 +1991,7 @@ void NativeWindowViews::OnMouseEvent(ui::MouseEvent* e
// Alt+Click should not toggle menu bar.
root_view_.ResetAltState();
diff --git a/devel/electron42/files/patch-electron_spec_api-content-tracing-spec.ts b/devel/electron42/files/patch-electron_spec_api-content-tracing-spec.ts
index 8af02ae4a2ab..9965e2ffd59a 100644
--- a/devel/electron42/files/patch-electron_spec_api-content-tracing-spec.ts
+++ b/devel/electron42/files/patch-electron_spec_api-content-tracing-spec.ts
@@ -1,6 +1,6 @@
---- electron/spec/api-content-tracing-spec.ts.orig 2026-05-07 20:19:20 UTC
+--- electron/spec/api-content-tracing-spec.ts.orig 2026-08-17 14:38:13 UTC
+++ electron/spec/api-content-tracing-spec.ts
-@@ -13,7 +13,7 @@ const fixturesPath = path.resolve(__dirname, 'fixtures
+@@ -14,7 +14,7 @@ const fixturesPath = path.resolve(__dirname, 'fixtures
const fixturesPath = path.resolve(__dirname, 'fixtures');
// FIXME: The tests are skipped on linux arm/arm64
@@ -9,7 +9,7 @@
const record = async (
options: TraceConfig | TraceCategoriesAndOptions,
outputFilePath: string | undefined,
-@@ -99,7 +99,7 @@ ifdescribe(!['arm', 'arm64'].includes(process.arch) ||
+@@ -105,7 +105,7 @@ ifdescribe(!['arm', 'arm64'].includes(process.arch) ||
});
});
diff --git a/devel/electron42/files/patch-electron_spec_api-protocol-spec.ts b/devel/electron42/files/patch-electron_spec_api-protocol-spec.ts
index 4abbcd6201cc..d00125fad169 100644
--- a/devel/electron42/files/patch-electron_spec_api-protocol-spec.ts
+++ b/devel/electron42/files/patch-electron_spec_api-protocol-spec.ts
@@ -1,6 +1,6 @@
---- electron/spec/api-protocol-spec.ts.orig 2026-08-04 15:02:58 UTC
+--- electron/spec/api-protocol-spec.ts.orig 2026-08-17 14:38:13 UTC
+++ electron/spec/api-protocol-spec.ts
-@@ -2178,7 +2178,7 @@ describe('protocol module', () => {
+@@ -2217,7 +2217,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/electron42/files/patch-electron_spec_api-web-contents-spec.ts b/devel/electron42/files/patch-electron_spec_api-web-contents-spec.ts
index ba2eba98a10e..833b6ba87d4c 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-08-10 18:14:56 UTC
+--- electron/spec/api-web-contents-spec.ts.orig 2026-08-17 14:38:13 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 });
-@@ -3179,7 +3179,7 @@ describe('webContents module', () => {
+@@ -3218,7 +3218,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_index.js b/devel/electron42/files/patch-electron_spec_index.js
index 9f821cc0d207..8acfe020a7dd 100644
--- a/devel/electron42/files/patch-electron_spec_index.js
+++ b/devel/electron42/files/patch-electron_spec_index.js
@@ -1,6 +1,6 @@
---- electron/spec/index.js.orig 2026-05-19 01:17:05 UTC
+--- electron/spec/index.js.orig 2026-08-17 14:38:13 UTC
+++ electron/spec/index.js
-@@ -179,7 +179,7 @@ async function killOrphanedElectronProcesses(suiteName
+@@ -181,7 +181,7 @@ async function killOrphanedElectronProcesses(suiteName
try {
// On Linux, skip any process that is a descendant of the current
// Electron instance (GPU, renderer, zygote, crashpad, etc.).
diff --git a/devel/electron42/files/patch-gpu_command__buffer_service_gles2__cmd__decoder.cc b/devel/electron42/files/patch-gpu_command__buffer_service_gles2__cmd__decoder.cc
index df30e4d5e34b..963fd91717d0 100644
--- a/devel/electron42/files/patch-gpu_command__buffer_service_gles2__cmd__decoder.cc
+++ b/devel/electron42/files/patch-gpu_command__buffer_service_gles2__cmd__decoder.cc
@@ -1,6 +1,6 @@
---- gpu/command_buffer/service/gles2_cmd_decoder.cc.orig 2026-07-06 11:02:38 UTC
+--- gpu/command_buffer/service/gles2_cmd_decoder.cc.orig 2026-08-19 23:17:14 UTC
+++ gpu/command_buffer/service/gles2_cmd_decoder.cc
-@@ -3018,7 +3018,7 @@ std::unique_ptr<GLES2Decoder> GLES2Decoder::Create(
+@@ -3033,7 +3033,7 @@ std::unique_ptr<GLES2Decoder> GLES2Decoder::Create(
}
// Allow linux to run fuzzers.
diff --git a/devel/electron42/files/patch-ui_base_cursor_cursor__factory.cc b/devel/electron42/files/patch-ui_base_cursor_cursor__factory.cc
index 1cd200a1ef80..693532a4b5e4 100644
--- a/devel/electron42/files/patch-ui_base_cursor_cursor__factory.cc
+++ b/devel/electron42/files/patch-ui_base_cursor_cursor__factory.cc
@@ -1,11 +1,11 @@
---- ui/base/cursor/cursor_factory.cc.orig 2025-08-26 20:49:50 UTC
+--- ui/base/cursor/cursor_factory.cc.orig 2026-08-19 23:17:14 UTC
+++ ui/base/cursor/cursor_factory.cc
-@@ -97,7 +97,7 @@ void CursorFactory::ObserveThemeChanges() {
+@@ -98,7 +98,7 @@ void CursorFactory::ObserveThemeChanges() {
NOTIMPLEMENTED();
}
-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
- // Returns a cursor name compatible with either X11 or the FreeDesktop.org
- // cursor spec ([1] and [2]), followed by fallbacks that can work as
+ bool IsValidCursorThemeName(std::string_view name) {
+ if (name.empty() || name == ".") {
diff --git a/devel/electron42/files/patch-ui_base_cursor_cursor__factory.h b/devel/electron42/files/patch-ui_base_cursor_cursor__factory.h
index e7cc32bce26e..cd6259f204ea 100644
--- a/devel/electron42/files/patch-ui_base_cursor_cursor__factory.h
+++ b/devel/electron42/files/patch-ui_base_cursor_cursor__factory.h
@@ -1,6 +1,6 @@
---- ui/base/cursor/cursor_factory.h.orig 2023-10-19 19:59:21 UTC
+--- ui/base/cursor/cursor_factory.h.orig 2026-08-19 23:17:14 UTC
+++ ui/base/cursor/cursor_factory.h
-@@ -93,7 +93,7 @@ class COMPONENT_EXPORT(UI_BASE_CURSOR) CursorFactory {
+@@ -94,7 +94,7 @@ class COMPONENT_EXPORT(UI_BASE_CURSOR) CursorFactory {
base::ObserverList<CursorFactoryObserver>::Unchecked observers_;
};
@@ -8,4 +8,4 @@
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
COMPONENT_EXPORT(UI_BASE_CURSOR)
std::vector<std::string> CursorNamesFromType(mojom::CursorType type);
- #endif
+
diff --git a/devel/electron42/files/patch-ui_base_cursor_cursor__unittest.cc b/devel/electron42/files/patch-ui_base_cursor_cursor__unittest.cc
new file mode 100644
index 000000000000..3f8093fe85e5
--- /dev/null
+++ b/devel/electron42/files/patch-ui_base_cursor_cursor__unittest.cc
@@ -0,0 +1,11 @@
+--- ui/base/cursor/cursor_unittest.cc.orig 2026-08-19 23:18:56 UTC
++++ ui/base/cursor/cursor_unittest.cc
+@@ -72,7 +72,7 @@ TEST(CursorTest, ClampHotspot) {
+ EXPECT_EQ(gfx::Point(4, 6), cursor.custom_hotspot());
+ }
+
+-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
+ TEST(CursorTest, IsValidCursorThemeName) {
+ EXPECT_TRUE(IsValidCursorThemeName("Adwaita"));
+ EXPECT_TRUE(IsValidCursorThemeName("DMZ-White"));
diff --git a/devel/electron42/files/patch-ui_base_resource_resource__bundle.cc b/devel/electron42/files/patch-ui_base_resource_resource__bundle.cc
index a3756b9888de..f87e68d8aaac 100644
--- a/devel/electron42/files/patch-ui_base_resource_resource__bundle.cc
+++ b/devel/electron42/files/patch-ui_base_resource_resource__bundle.cc
@@ -1,6 +1,6 @@
---- ui/base/resource/resource_bundle.cc.orig 2026-01-07 00:52:53 UTC
+--- ui/base/resource/resource_bundle.cc.orig 2026-08-19 23:17:14 UTC
+++ ui/base/resource/resource_bundle.cc
-@@ -996,7 +996,7 @@ ResourceScaleFactor ResourceBundle::GetMaxResourceScal
+@@ -999,7 +999,7 @@ ResourceScaleFactor ResourceBundle::GetMaxResourceScal
}
ResourceScaleFactor ResourceBundle::GetMaxResourceScaleFactor() const {
diff --git a/devel/electron42/files/patch-ui_base_x_x11__cursor__loader.cc b/devel/electron42/files/patch-ui_base_x_x11__cursor__loader.cc
index 81ed475d0a20..d711be8c8bbf 100644
--- a/devel/electron42/files/patch-ui_base_x_x11__cursor__loader.cc
+++ b/devel/electron42/files/patch-ui_base_x_x11__cursor__loader.cc
@@ -1,6 +1,6 @@
---- ui/base/x/x11_cursor_loader.cc.orig 2026-06-10 20:03:19 UTC
+--- ui/base/x/x11_cursor_loader.cc.orig 2026-08-19 23:17:14 UTC
+++ ui/base/x/x11_cursor_loader.cc
-@@ -37,7 +37,7 @@
+@@ -38,7 +38,7 @@
#include "ui/gfx/x/connection.h"
#include "ui/gfx/x/xproto.h"
@@ -9,7 +9,7 @@
#include "ui/linux/linux_ui.h"
#endif
-@@ -79,7 +79,11 @@ std::string CursorPathFromLibXcursor() {
+@@ -80,7 +80,11 @@ std::string CursorPathFromLibXcursor() {
void operator()(void* ptr) const { dlclose(ptr); }
};
@@ -21,7 +21,7 @@
if (!lib)
return "";
-@@ -234,7 +238,7 @@ scoped_refptr<base::RefCountedMemory> ReadCursorFile(
+@@ -233,7 +237,7 @@ scoped_refptr<base::RefCountedMemory> ReadCursorFile(
const std::string& rm_xcursor_theme) {
constexpr const char kDefaultTheme[] = "default";
std::string themes[] = {
@@ -30,7 +30,7 @@
// The toolkit theme has the highest priority.
LinuxUi::instance() ? LinuxUi::instance()->GetCursorThemeName()
: std::string(),
-@@ -428,7 +432,7 @@ uint32_t XCursorLoader::GetPreferredCursorSize() const
+@@ -427,7 +431,7 @@ uint32_t XCursorLoader::GetPreferredCursorSize() const
return size;
}
diff --git a/devel/electron42/files/patch-ui_base_x_x11__shm__image__pool.cc b/devel/electron42/files/patch-ui_base_x_x11__shm__image__pool.cc
index c3f090548a87..f7de85b80e6a 100644
--- a/devel/electron42/files/patch-ui_base_x_x11__shm__image__pool.cc
+++ b/devel/electron42/files/patch-ui_base_x_x11__shm__image__pool.cc
@@ -1,4 +1,4 @@
---- ui/base/x/x11_shm_image_pool.cc.orig 2025-01-27 17:37:37 UTC
+--- ui/base/x/x11_shm_image_pool.cc.orig 2026-08-19 23:17:14 UTC
+++ ui/base/x/x11_shm_image_pool.cc
@@ -16,6 +16,7 @@
#include "base/functional/callback.h"
@@ -51,7 +51,7 @@
}
#endif // !BUILDFLAG(IS_CHROMEOS)
-@@ -182,7 +193,7 @@ bool XShmImagePool::Resize(const gfx::Size& pixel_size
+@@ -191,7 +202,7 @@ bool XShmImagePool::Resize(const gfx::Size& pixel_size
shmctl(state.shmid, IPC_RMID, nullptr);
return false;
}
@@ -60,7 +60,7 @@
// On Linux, a shmid can still be attached after IPC_RMID if otherwise
// kept alive. Detach before XShmAttach to prevent a memory leak in case
// the process dies.
-@@ -201,7 +212,7 @@ bool XShmImagePool::Resize(const gfx::Size& pixel_size
+@@ -210,7 +221,7 @@ bool XShmImagePool::Resize(const gfx::Size& pixel_size
return false;
state.shmseg = shmseg;
state.shmem_attached_to_server = true;