git: b632e17d745c - main - devel/electron44: Update to 44.4.3
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Sun, 20 Sep 2026 12:34:44 UTC
The branch main has been updated by tagattie:
URL: https://cgit.FreeBSD.org/ports/commit/?id=b632e17d745cbe5c4a1ea411cf8f88043058aae0
commit b632e17d745cbe5c4a1ea411cf8f88043058aae0
Author: Hiroki Tagato <tagattie@FreeBSD.org>
AuthorDate: 2026-09-20 12:33:43 +0000
Commit: Hiroki Tagato <tagattie@FreeBSD.org>
CommitDate: 2026-09-20 12:34:36 +0000
devel/electron44: Update to 44.4.3
Changelog:
- https://github.com/electron/electron/releases/tag/v44.4.2
- https://github.com/electron/electron/releases/tag/v44.4.3
Reported by: GitHub (watch releases)
---
devel/electron44/Makefile | 18 +++++++++--
devel/electron44/Makefile.version | 2 +-
devel/electron44/distinfo | 22 +++++++------
...nt_browser_web__contents_web__contents__impl.cc | 8 ++---
...ctron_shell_browser_osr_osr__video__consumer.cc | 13 ++++++--
.../files/patch-electron_spec_api-app-spec.ts | 32 +++++++++----------
.../patch-electron_spec_api-browser-window-spec.ts | 36 +++++++++++-----------
.../files/patch-electron_spec_api-net-spec.ts | 4 +--
.../files/patch-electron_spec_api-protocol-spec.ts | 11 -------
.../files/patch-electron_spec_chromium-spec.ts | 4 +--
...mmand__buffer_service_shared__context__state.cc | 8 ++---
.../patch-third__party_blink_common_features.cc | 4 +--
...blink_renderer_core_exported_web__view__impl.cc | 8 ++---
...derer_platform_runtime__enabled__features.json5 | 8 ++---
14 files changed, 96 insertions(+), 82 deletions(-)
diff --git a/devel/electron44/Makefile b/devel/electron44/Makefile
index 9b0e36767bc9..0202afe7ac44 100644
--- a/devel/electron44/Makefile
+++ b/devel/electron44/Makefile
@@ -4,12 +4,15 @@ DISTVERSION= ${ELECTRON_VER}
PULSEMV= 16
PULSEV= ${PULSEMV}.1
CATEGORIES= devel
-MASTER_SITES= https://commondatastorage.googleapis.com/chromium-browser-official/:chromium \
+MASTER_SITES= https://github.com/tagattie/FreeBSD-Electron/releases/download/v44.4.3/:chromium \
https://freedesktop.org/software/pulseaudio/releases/:pulseaudio
PKGNAMESUFFIX= ${ELECTRON_VER_MAJOR}
-DISTFILES= chromium-${CHROMIUM_VER}-lite${EXTRACT_SUFX}:chromium \
+DISTFILES= chromium-${CHROMIUM_VER}${EXTRACT_SUFX}.0:chromium \
+ chromium-${CHROMIUM_VER}${EXTRACT_SUFX}.1:chromium \
+ chromium-${CHROMIUM_VER}${EXTRACT_SUFX}.2:chromium \
pulseaudio-${PULSEV}.tar.gz:pulseaudio
DIST_SUBDIR= ${PORTNAME}
+EXTRACT_ONLY= ${DISTFILES:C/:[^:]+$//:C/chromium-${CHROMIUM_VER}${EXTRACT_SUFX}\.[0-9]//}
.if make(makesum)
MASTER_SITES+= https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-${ESBUILD_VER}.tgz?dummy=/:esbuild_arm64 \
@@ -232,7 +235,7 @@ SNDIO_VARS= GN_ARGS+=use_sndio=true
SNDIO_VARS_OFF= GN_ARGS+=use_sndio=false
# See ${WRKSRC}/electron/DEPS for CHROMIUM_VER
-CHROMIUM_VER= 152.0.7977.78
+CHROMIUM_VER= 152.0.7977.130
# See ${WRKSRC}/electron/DEPS for NODE_VER
NODE_VER= 24.21.0
# See ${WRKSRC}/electron/DEPS for NAN_VER
@@ -307,6 +310,15 @@ pre-everything::
@${ECHO_MSG} "and around ${WANTSPACE} of free disk space."
@${ECHO_MSG}
+pre-extract:
+# Chromium source tarball is splitted into multiple fragments. Concatenate them
+# into a single one and manually extract it into WRKDIR.
+ @${CAT} ${DISTDIR}/${DIST_SUBDIR}/chromium-${CHROMIUM_VER}${EXTRACT_SUFX}.? > \
+ ${WRKDIR}/chromium-${CHROMIUM_VER}${EXTRACT_SUFX}
+ @cd ${WRKDIR} && \
+ ${EXTRACT_CMD} ${EXTRACT_BEFORE_ARGS} \
+ chromium-${CHROMIUM_VER}${EXTRACT_SUFX} ${EXTRACT_AFTER_ARGS}
+
post-extract:
# Move extracted sources to appropriate locations
${MV} ${WRKDIR}/chromium-${CHROMIUM_VER} \
diff --git a/devel/electron44/Makefile.version b/devel/electron44/Makefile.version
index d1dcf4c0b6d8..8b066b011c71 100644
--- a/devel/electron44/Makefile.version
+++ b/devel/electron44/Makefile.version
@@ -1,2 +1,2 @@
-ELECTRON_VER= 44.4.1
+ELECTRON_VER= 44.4.3
ELECTRON_VER_MAJOR= ${ELECTRON_VER:C/\..*//}
diff --git a/devel/electron44/distinfo b/devel/electron44/distinfo
index 80759840e789..3f1bad6ee941 100644
--- a/devel/electron44/distinfo
+++ b/devel/electron44/distinfo
@@ -1,6 +1,10 @@
-TIMESTAMP = 1789606446
-SHA256 (electron/chromium-152.0.7977.78-lite.tar.xz) = 8280281120d8306f97905fcb49ff63efd4ecdccbae76e4e37c5315b48b354baf
-SIZE (electron/chromium-152.0.7977.78-lite.tar.xz) = 1774874760
+TIMESTAMP = 1789817482
+SHA256 (electron/chromium-152.0.7977.130.tar.xz.0) = 42a48cd19ce2b96ff5ec89469f8e900720ff6ea62cdac01a5a386dd136b66f9b
+SIZE (electron/chromium-152.0.7977.130.tar.xz.0) = 2000000000
+SHA256 (electron/chromium-152.0.7977.130.tar.xz.1) = 4fe0c299ecc9806c89e7843a63ddafef896a745592906b39a583777ed18d7078
+SIZE (electron/chromium-152.0.7977.130.tar.xz.1) = 2000000000
+SHA256 (electron/chromium-152.0.7977.130.tar.xz.2) = 5c97b3d57a3d07121dfb1e13297341e987e3fc5f93122cdd7b39a5820d1c462e
+SIZE (electron/chromium-152.0.7977.130.tar.xz.2) = 981056244
SHA256 (electron/pulseaudio-16.1.tar.gz) = 027266c62f2a84422ac45fa721a649508f0f1628fb1fd9242315ac54ce2d7c92
SIZE (electron/pulseaudio-16.1.tar.gz) = 2763111
SHA256 (electron/esbuild-freebsd-arm64-0.25.1.tgz) = ef95ca9f5d3e7406d93912b4d8d063222a662a34ca24d45110d7e9d49b79c31b
@@ -417,12 +421,12 @@ 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/electron44-44.4.1-node-modules-arm64.tar.xz) = a2817712b31e19cf0ea6504354ede4a32a30c60f3b917cbee3544566a2444ba8
-SIZE (electron/electron44-44.4.1-node-modules-arm64.tar.xz) = 75455077
-SHA256 (electron/electron44-44.4.1-node-modules-x64.tar.xz) = c2e61dbb16cd4cac6a6fddf6a3e09b7ad693be606371cf29322bc63842fb04d0
-SIZE (electron/electron44-44.4.1-node-modules-x64.tar.xz) = 83829057
-SHA256 (electron/electron-electron-v44.4.1_GH0.tar.gz) = 17ef01a20540b008a24fa92baecf7218bf95e41dc8e7b8e7e4f1207587e8f977
-SIZE (electron/electron-electron-v44.4.1_GH0.tar.gz) = 19768064
+SHA256 (electron/electron44-44.4.3-node-modules-arm64.tar.xz) = a2817712b31e19cf0ea6504354ede4a32a30c60f3b917cbee3544566a2444ba8
+SIZE (electron/electron44-44.4.3-node-modules-arm64.tar.xz) = 75455077
+SHA256 (electron/electron44-44.4.3-node-modules-x64.tar.xz) = c2e61dbb16cd4cac6a6fddf6a3e09b7ad693be606371cf29322bc63842fb04d0
+SIZE (electron/electron44-44.4.3-node-modules-x64.tar.xz) = 83829057
+SHA256 (electron/electron-electron-v44.4.3_GH0.tar.gz) = eba00fb67adf7e4aa7923a74170253271c7d7a31b7bcb09d329e7eaa53e181d2
+SIZE (electron/electron-electron-v44.4.3_GH0.tar.gz) = 19772949
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
diff --git a/devel/electron44/files/patch-content_browser_web__contents_web__contents__impl.cc b/devel/electron44/files/patch-content_browser_web__contents_web__contents__impl.cc
index b82521f3e419..f8cd48cb0077 100644
--- a/devel/electron44/files/patch-content_browser_web__contents_web__contents__impl.cc
+++ b/devel/electron44/files/patch-content_browser_web__contents_web__contents__impl.cc
@@ -1,6 +1,6 @@
---- content/browser/web_contents/web_contents_impl.cc.orig 2026-09-01 23:50:56 UTC
+--- content/browser/web_contents/web_contents_impl.cc.orig 2026-09-19 11:36:54 UTC
+++ content/browser/web_contents/web_contents_impl.cc
-@@ -1372,7 +1372,7 @@ WebContentsImpl::WebContentsImpl(BrowserContext* brows
+@@ -1379,7 +1379,7 @@ WebContentsImpl::WebContentsImpl(BrowserContext* brows
SlowWebPreferenceCache::GetInstance());
renderer_preferences_.caret_blink_interval =
native_theme->caret_blink_interval();
@@ -9,7 +9,7 @@
renderer_preferences_.use_overlay_scrollbar =
native_theme->use_overlay_scrollbar();
#endif
-@@ -12479,7 +12479,7 @@ void WebContentsImpl::OnNativeThemeUpdated(ui::NativeT
+@@ -12486,7 +12486,7 @@ void WebContentsImpl::OnNativeThemeUpdated(ui::NativeT
HandleColorRelatedStateChanges();
const auto caret_blink_interval = observed_theme->caret_blink_interval();
@@ -18,7 +18,7 @@
const auto use_overlay_scrollbar = observed_theme->use_overlay_scrollbar();
#endif
bool renderer_preference_changed = false;
-@@ -12487,7 +12487,7 @@ void WebContentsImpl::OnNativeThemeUpdated(ui::NativeT
+@@ -12494,7 +12494,7 @@ void WebContentsImpl::OnNativeThemeUpdated(ui::NativeT
renderer_preferences_.caret_blink_interval = caret_blink_interval;
renderer_preference_changed = true;
}
diff --git a/devel/electron44/files/patch-electron_shell_browser_osr_osr__video__consumer.cc b/devel/electron44/files/patch-electron_shell_browser_osr_osr__video__consumer.cc
index bae2a2d71804..219faeb19484 100644
--- a/devel/electron44/files/patch-electron_shell_browser_osr_osr__video__consumer.cc
+++ b/devel/electron44/files/patch-electron_shell_browser_osr_osr__video__consumer.cc
@@ -1,6 +1,15 @@
---- electron/shell/browser/osr/osr_video_consumer.cc.orig 2026-06-29 20:35:15 UTC
+--- electron/shell/browser/osr/osr_video_consumer.cc.orig 2026-09-18 15:43:03 UTC
+++ electron/shell/browser/osr/osr_video_consumer.cc
-@@ -132,7 +132,7 @@ void OffScreenVideoConsumer::OnFrameCaptured(
+@@ -49,7 +49,7 @@ bool IsPlatformSharedTextureHandle(const gfx::GpuMemor
+ return handle.type == gfx::DXGI_SHARED_HANDLE;
+ #elif BUILDFLAG(IS_APPLE)
+ return handle.type == gfx::IO_SURFACE_BUFFER;
+-#elif BUILDFLAG(IS_LINUX)
++#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ return handle.type == gfx::NATIVE_PIXMAP;
+ #else
+ return false;
+@@ -160,7 +160,7 @@ void OffScreenVideoConsumer::OnFrameCaptured(
#elif BUILDFLAG(IS_APPLE)
texture.shared_texture_handle =
reinterpret_cast<uintptr_t>(gmb_handle.io_surface().get());
diff --git a/devel/electron44/files/patch-electron_spec_api-app-spec.ts b/devel/electron44/files/patch-electron_spec_api-app-spec.ts
index b118a707bd96..e120b4fa0fda 100644
--- a/devel/electron44/files/patch-electron_spec_api-app-spec.ts
+++ b/devel/electron44/files/patch-electron_spec_api-app-spec.ts
@@ -1,4 +1,4 @@
---- electron/spec/api-app-spec.ts.orig 2026-08-31 00:54:19 UTC
+--- electron/spec/api-app-spec.ts.orig 2026-09-18 15:43:03 UTC
+++ electron/spec/api-app-spec.ts
@@ -123,7 +123,7 @@ describe('app module', () => {
});
@@ -83,10 +83,10 @@
- ifdescribe(process.platform !== 'linux')('accessibility support functionality', () => {
+ ifdescribe(process.platform !== 'linux' && process.platform !== 'freebsd')('accessibility support functionality', () => {
- it('is mutable', () => {
- const values = [false, true, false];
- const setters: Array<(arg: boolean) => void> = [
-@@ -1375,7 +1375,7 @@ describe('app module', () => {
+ // These tests toggle a process-wide AXMode. Turn it back off so the rest of
+ // the suite doesn't run with renderer accessibility enabled.
+ afterEach(() => {
+@@ -1381,7 +1381,7 @@ describe('app module', () => {
});
});
@@ -95,7 +95,7 @@
let w: BrowserWindow;
before(function () {
-@@ -1518,7 +1518,7 @@ describe('app module', () => {
+@@ -1524,7 +1524,7 @@ describe('app module', () => {
describe('getApplicationNameForProtocol()', () => {
// TODO: Linux CI doesn't have registered http & https handlers
@@ -104,7 +104,7 @@
'returns application names for common protocols',
function () {
// We can't expect particular app names here, but these protocols should
-@@ -1535,7 +1535,7 @@ describe('app module', () => {
+@@ -1541,7 +1541,7 @@ describe('app module', () => {
expect(app.getApplicationNameForProtocol('bogus-protocol://')).to.equal('');
});
@@ -113,7 +113,7 @@
const desktopFileId = 'mock-browser.desktop';
const mockDisplayName = 'Mock Browser';
const mockScheme = 'mockproto';
-@@ -1585,7 +1585,7 @@ describe('app module', () => {
+@@ -1591,7 +1591,7 @@ describe('app module', () => {
let xdgBinDir: string;
before(() => {
@@ -122,7 +122,7 @@
return;
}
-@@ -1602,7 +1602,7 @@ describe('app module', () => {
+@@ -1608,7 +1608,7 @@ describe('app module', () => {
});
after(() => {
@@ -131,7 +131,7 @@
fs.rmSync(xdgDir, { recursive: true, force: true });
}
});
-@@ -1614,7 +1614,7 @@ describe('app module', () => {
+@@ -1620,7 +1620,7 @@ describe('app module', () => {
});
it('returns resolved promise with appPath, displayName and icon', async function () {
@@ -140,7 +140,7 @@
const appInfo = await spawnProtocolInfoWithXdgMock(`${mockScheme}://`, xdgDataHome, xdgConfigHome);
expect(appInfo.name).to.equal(mockDisplayName);
expect(appInfo.path).to.equal('/usr/bin/true');
-@@ -1628,7 +1628,7 @@ describe('app module', () => {
+@@ -1634,7 +1634,7 @@ describe('app module', () => {
expect(appInfo.icon).not.to.be.undefined();
});
@@ -149,7 +149,7 @@
const pathLookupExecutable = 'mock-browser';
const pathLookupExecutablePath = path.join(xdgBinDir, pathLookupExecutable);
const pathLookupDisplayName = 'Mock Browser PATH';
-@@ -1662,7 +1662,7 @@ describe('app module', () => {
+@@ -1668,7 +1668,7 @@ describe('app module', () => {
});
});
@@ -158,7 +158,7 @@
const protocol = 'electron-test-linux';
const desktopFileId = 'electron-test.desktop';
const protocolMimeType = `x-scheme-handler/${protocol}`;
-@@ -1779,7 +1779,7 @@ describe('app module', () => {
+@@ -1785,7 +1785,7 @@ describe('app module', () => {
});
// FIXME Get these specs running on Linux CI
@@ -167,7 +167,7 @@
const iconPath = path.join(__dirname, 'fixtures/assets/icon.ico');
const sizes = {
small: 16,
-@@ -1861,7 +1861,7 @@ describe('app module', () => {
+@@ -1867,7 +1867,7 @@ describe('app module', () => {
expect(entry.memory).to.have.property('privateBytes').that.is.greaterThan(0);
}
@@ -176,7 +176,7 @@
expect(entry.sandboxed).to.be.a('boolean');
}
-@@ -1950,7 +1950,7 @@ describe('app module', () => {
+@@ -1956,7 +1956,7 @@ describe('app module', () => {
if (isGpuUnavailable(error as Error)) return this.skip();
throw error;
}
@@ -185,7 +185,7 @@
// For linux and macOS complete info is same as basic info
await verifyBasicGPUInfo(completeInfo);
const basicInfo = await getGPUInfo('basic');
-@@ -1974,7 +1974,7 @@ describe('app module', () => {
+@@ -1980,7 +1980,7 @@ describe('app module', () => {
});
});
diff --git a/devel/electron44/files/patch-electron_spec_api-browser-window-spec.ts b/devel/electron44/files/patch-electron_spec_api-browser-window-spec.ts
index a9eb176bff90..7c9eb5805beb 100644
--- a/devel/electron44/files/patch-electron_spec_api-browser-window-spec.ts
+++ b/devel/electron44/files/patch-electron_spec_api-browser-window-spec.ts
@@ -1,4 +1,4 @@
---- electron/spec/api-browser-window-spec.ts.orig 2026-09-15 22:52:01 UTC
+--- electron/spec/api-browser-window-spec.ts.orig 2026-09-18 15:43:03 UTC
+++ electron/spec/api-browser-window-spec.ts
@@ -105,7 +105,7 @@ describe('BrowserWindow module', () => {
}).not.to.throw();
@@ -18,7 +18,7 @@
afterEach(closeAllWindows);
it('can set content protection', async () => {
const w = new BrowserWindow({ show: false });
-@@ -1509,7 +1509,7 @@ describe('BrowserWindow module', () => {
+@@ -1517,7 +1517,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;
-@@ -1526,7 +1526,7 @@ describe('BrowserWindow module', () => {
+@@ -1534,7 +1534,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();
-@@ -1591,7 +1591,7 @@ describe('BrowserWindow module', () => {
+@@ -1599,7 +1599,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 });
-@@ -1696,7 +1696,7 @@ describe('BrowserWindow module', () => {
+@@ -1704,7 +1704,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 });
-@@ -2246,7 +2246,7 @@ describe('BrowserWindow module', () => {
+@@ -2254,7 +2254,7 @@ describe('BrowserWindow module', () => {
});
});
@@ -63,7 +63,7 @@
it('checks normal bounds when maximized', async () => {
const bounds = w.getBounds();
const maximize = once(w, 'maximize');
-@@ -2464,7 +2464,7 @@ describe('BrowserWindow module', () => {
+@@ -2472,7 +2472,7 @@ describe('BrowserWindow module', () => {
});
});
@@ -72,7 +72,7 @@
it('checks normal bounds when minimized', async () => {
const bounds = w.getBounds();
const minimize = once(w, 'minimize');
-@@ -3827,7 +3827,7 @@ describe('BrowserWindow module', () => {
+@@ -3835,7 +3835,7 @@ describe('BrowserWindow module', () => {
expect(overlayRectPreMax.height).to.equal(size);
// 'maximize' event is not emitted on Linux in CI.
@@ -81,7 +81,7 @@
const maximize = once(w, 'maximize');
w.show();
w.maximize();
-@@ -3946,7 +3946,7 @@ describe('BrowserWindow module', () => {
+@@ -3954,7 +3954,7 @@ describe('BrowserWindow module', () => {
expect(preMaxHeight).to.equal(size);
// 'maximize' event is not emitted on Linux in CI.
@@ -90,7 +90,7 @@
const maximize = once(w, 'maximize');
w.show();
w.maximize();
-@@ -5082,7 +5082,7 @@ describe('BrowserWindow module', () => {
+@@ -5090,7 +5090,7 @@ describe('BrowserWindow module', () => {
expect(test.nodeTimers).to.equal(true);
expect(test.nodeUrl).to.equal(true);
@@ -99,7 +99,7 @@
expect(test.creationTime).to.be.null('creation time');
expect(test.systemMemoryInfo).to.be.null('system memory info');
} else {
-@@ -5598,7 +5598,7 @@ describe('BrowserWindow module', () => {
+@@ -5606,7 +5606,7 @@ describe('BrowserWindow module', () => {
});
});
@@ -108,7 +108,7 @@
afterEach(closeAllWindows);
it('emits an event when window is maximized', async () => {
const w = new BrowserWindow({ show: false });
-@@ -5874,7 +5874,7 @@ describe('BrowserWindow module', () => {
+@@ -5882,7 +5882,7 @@ describe('BrowserWindow module', () => {
// TODO(zcbenz):
// This test does not run on Linux CI. See:
// https://github.com/electron/electron/issues/28699
@@ -117,7 +117,7 @@
'should bring a minimized maximized window back to maximized state',
async () => {
const w = new BrowserWindow({});
-@@ -5892,7 +5892,7 @@ describe('BrowserWindow module', () => {
+@@ -5900,7 +5900,7 @@ describe('BrowserWindow module', () => {
}
);
@@ -126,7 +126,7 @@
const w = new BrowserWindow({ show: false });
w.show();
-@@ -5915,7 +5915,7 @@ describe('BrowserWindow module', () => {
+@@ -5923,7 +5923,7 @@ describe('BrowserWindow module', () => {
});
// TODO(dsanders11): Enable once maximize event works on Linux again on CI
@@ -135,7 +135,7 @@
afterEach(closeAllWindows);
it('should show the window if it is not currently shown', async () => {
const w = new BrowserWindow({ show: false });
-@@ -5952,7 +5952,7 @@ describe('BrowserWindow module', () => {
+@@ -5960,7 +5960,7 @@ describe('BrowserWindow module', () => {
// TODO(dsanders11): Enable once minimize event works on Linux again.
// See https://github.com/electron/electron/issues/28699
@@ -144,7 +144,7 @@
const w = new BrowserWindow();
const minimize = once(w, 'minimize');
w.minimize();
-@@ -6465,7 +6465,7 @@ describe('BrowserWindow module', () => {
+@@ -6473,7 +6473,7 @@ describe('BrowserWindow module', () => {
});
// On Linux there is no "resizable" property of a window.
@@ -153,7 +153,7 @@
const w = new BrowserWindow({ show: false });
expect(w.resizable).to.be.true('resizable');
-@@ -6706,7 +6706,7 @@ describe('BrowserWindow module', () => {
+@@ -6714,7 +6714,7 @@ describe('BrowserWindow module', () => {
});
});
@@ -162,7 +162,7 @@
// Not implemented on Linux.
afterEach(closeAllWindows);
-@@ -8063,7 +8063,7 @@ describe('BrowserWindow module', () => {
+@@ -8072,7 +8072,7 @@ describe('BrowserWindow module', () => {
describe('"transparent" option', () => {
afterEach(closeAllWindows);
diff --git a/devel/electron44/files/patch-electron_spec_api-net-spec.ts b/devel/electron44/files/patch-electron_spec_api-net-spec.ts
index 9a3bd04a5204..85ee171f08d2 100644
--- a/devel/electron44/files/patch-electron_spec_api-net-spec.ts
+++ b/devel/electron44/files/patch-electron_spec_api-net-spec.ts
@@ -1,6 +1,6 @@
---- electron/spec/api-net-spec.ts.orig 2026-09-08 02:42:44 UTC
+--- electron/spec/api-net-spec.ts.orig 2026-09-18 15:43:03 UTC
+++ electron/spec/api-net-spec.ts
-@@ -2066,7 +2066,7 @@ describe('net module', () => {
+@@ -2104,7 +2104,7 @@ describe('net module', () => {
// The select-client-certificate event only fires when the platform cert
// store yields at least one matching identity, which the test suite cannot
// guarantee on Linux (NSS) without app.importCertificate.
diff --git a/devel/electron44/files/patch-electron_spec_api-protocol-spec.ts b/devel/electron44/files/patch-electron_spec_api-protocol-spec.ts
deleted file mode 100644
index 2dd2e7d9fa06..000000000000
--- a/devel/electron44/files/patch-electron_spec_api-protocol-spec.ts
+++ /dev/null
@@ -1,11 +0,0 @@
---- electron/spec/api-protocol-spec.ts.orig 2026-09-15 22:52:01 UTC
-+++ electron/spec/api-protocol-spec.ts
-@@ -2461,7 +2461,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.
-- ifit(process.platform !== 'linux' && (!process.env.CI || process.platform !== 'darwin'))('is fast', async () => {
-+ ifit((process.platform !== 'linux' && process.platform !== 'freebsd') && (!process.env.CI || process.platform !== 'darwin'))('is fast', async () => {
- // 128 MB of spaces.
- const chunk = new Uint8Array(128 * 1024 * 1024);
- chunk.fill(' '.charCodeAt(0));
diff --git a/devel/electron44/files/patch-electron_spec_chromium-spec.ts b/devel/electron44/files/patch-electron_spec_chromium-spec.ts
index f69455626e56..bc8b68229885 100644
--- a/devel/electron44/files/patch-electron_spec_chromium-spec.ts
+++ b/devel/electron44/files/patch-electron_spec_chromium-spec.ts
@@ -1,4 +1,4 @@
---- electron/spec/chromium-spec.ts.orig 2026-09-15 22:52:01 UTC
+--- electron/spec/chromium-spec.ts.orig 2026-09-18 15:43:03 UTC
+++ electron/spec/chromium-spec.ts
@@ -608,15 +608,15 @@ describe('command line switches', () => {
testLocale('asdfkl', `${currentLocale}|${currentSystemLocale}|${currentPreferredLanguages}`));
@@ -35,7 +35,7 @@
'should fall back to Japanese font for sans-serif Japanese script',
async function () {
const html = `
-@@ -4946,7 +4946,7 @@ describe('paste execCommand', () => {
+@@ -4972,7 +4972,7 @@ describe('paste execCommand', () => {
});
});
diff --git a/devel/electron44/files/patch-gpu_command__buffer_service_shared__context__state.cc b/devel/electron44/files/patch-gpu_command__buffer_service_shared__context__state.cc
index e2c6d02d9173..9cb05f9e8c25 100644
--- a/devel/electron44/files/patch-gpu_command__buffer_service_shared__context__state.cc
+++ b/devel/electron44/files/patch-gpu_command__buffer_service_shared__context__state.cc
@@ -1,6 +1,6 @@
---- gpu/command_buffer/service/shared_context_state.cc.orig 2026-08-24 20:59:34 UTC
+--- gpu/command_buffer/service/shared_context_state.cc.orig 2026-09-14 21:34:05 UTC
+++ gpu/command_buffer/service/shared_context_state.cc
-@@ -66,7 +66,7 @@
+@@ -67,7 +67,7 @@
#include "gpu/vulkan/vulkan_implementation.h"
#include "gpu/vulkan/vulkan_util.h"
@@ -9,7 +9,7 @@
#include "gpu/command_buffer/service/external_semaphore_pool.h"
#endif
-@@ -303,7 +303,7 @@ SharedContextState::SharedContextState(
+@@ -304,7 +304,7 @@ SharedContextState::SharedContextState(
) {
if (vk_context_provider_) {
#if BUILDFLAG(ENABLE_VULKAN) && \
@@ -18,7 +18,7 @@
external_semaphore_pool_ = std::make_unique<ExternalSemaphorePool>(this);
#endif
}
-@@ -344,7 +344,7 @@ SharedContextState::~SharedContextState() {
+@@ -345,7 +345,7 @@ SharedContextState::~SharedContextState() {
}
#if BUILDFLAG(ENABLE_VULKAN) && \
diff --git a/devel/electron44/files/patch-third__party_blink_common_features.cc b/devel/electron44/files/patch-third__party_blink_common_features.cc
index 05656d6d05fe..5922bbe0bac3 100644
--- a/devel/electron44/files/patch-third__party_blink_common_features.cc
+++ b/devel/electron44/files/patch-third__party_blink_common_features.cc
@@ -1,4 +1,4 @@
---- third_party/blink/common/features.cc.orig 2026-08-24 20:59:34 UTC
+--- third_party/blink/common/features.cc.orig 2026-09-19 11:36:54 UTC
+++ third_party/blink/common/features.cc
@@ -693,7 +693,7 @@ BASE_FEATURE(kDirectCompositorThreadIpc,
@@ -9,7 +9,7 @@
base::FEATURE_ENABLED_BY_DEFAULT
#else
base::FEATURE_DISABLED_BY_DEFAULT
-@@ -1907,7 +1907,7 @@ BASE_FEATURE(kPreloadingEagerHoverHeuristics,
+@@ -1911,7 +1911,7 @@ BASE_FEATURE(kPreloadingEagerHoverHeuristics,
// currently out of scope.
BASE_FEATURE(kPreloadingEagerHoverHeuristics,
#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \
diff --git a/devel/electron44/files/patch-third__party_blink_renderer_core_exported_web__view__impl.cc b/devel/electron44/files/patch-third__party_blink_renderer_core_exported_web__view__impl.cc
index 073bfb91efb4..992b4b44cd68 100644
--- a/devel/electron44/files/patch-third__party_blink_renderer_core_exported_web__view__impl.cc
+++ b/devel/electron44/files/patch-third__party_blink_renderer_core_exported_web__view__impl.cc
@@ -1,4 +1,4 @@
---- third_party/blink/renderer/core/exported/web_view_impl.cc.orig 2026-09-01 23:50:56 UTC
+--- third_party/blink/renderer/core/exported/web_view_impl.cc.orig 2026-09-19 11:36:53 UTC
+++ third_party/blink/renderer/core/exported/web_view_impl.cc
@@ -196,7 +196,7 @@
#include "ui/base/ui_base_features.h"
@@ -27,7 +27,7 @@
void UpdateUseOverlayScrollbar(bool use_overlay_scrollbar) {
ui::NativeTheme::GetInstanceForWeb()->set_use_overlay_scrollbar(
use_overlay_scrollbar);
-@@ -3681,7 +3681,7 @@ void WebViewImpl::UpdateFontRenderingFromRendererPrefs
+@@ -3682,7 +3682,7 @@ void WebViewImpl::UpdateFontRenderingFromRendererPrefs
gfx::FontRenderParams::SUBPIXEL_RENDERING_NONE);
WebFontRenderStyle::SetSubpixelPositioning(
renderer_preferences_.use_subpixel_positioning);
@@ -36,7 +36,7 @@
if (!renderer_preferences_.system_font_family_name.empty()) {
WebFontRenderStyle::SetSystemFontFamily(blink::WebString::FromUtf8(
renderer_preferences_.system_font_family_name));
-@@ -3821,7 +3821,7 @@ void WebViewImpl::UpdateRendererPreferences(
+@@ -3822,7 +3822,7 @@ void WebViewImpl::UpdateRendererPreferences(
renderer_preferences_.selection_clipboard_buffer_available);
#endif // BUILDFLAG(IS_OZONE)
@@ -45,7 +45,7 @@
GetSettings()->SetMiddleClickPasteAllowed(
renderer_preferences_.middle_click_paste_allowed);
#endif // BUILDFLAG(IS_LINUX)
-@@ -3829,7 +3829,7 @@ void WebViewImpl::UpdateRendererPreferences(
+@@ -3830,7 +3830,7 @@ void WebViewImpl::UpdateRendererPreferences(
SetExplicitlyAllowedPorts(
renderer_preferences_.explicitly_allowed_network_ports);
diff --git a/devel/electron44/files/patch-third__party_blink_renderer_platform_runtime__enabled__features.json5 b/devel/electron44/files/patch-third__party_blink_renderer_platform_runtime__enabled__features.json5
index 5240a3823b9b..434eea200eb4 100644
--- a/devel/electron44/files/patch-third__party_blink_renderer_platform_runtime__enabled__features.json5
+++ b/devel/electron44/files/patch-third__party_blink_renderer_platform_runtime__enabled__features.json5
@@ -1,4 +1,4 @@
---- third_party/blink/renderer/platform/runtime_enabled_features.json5.orig 2026-09-01 23:50:56 UTC
+--- third_party/blink/renderer/platform/runtime_enabled_features.json5.orig 2026-09-19 11:36:54 UTC
+++ third_party/blink/renderer/platform/runtime_enabled_features.json5
@@ -463,7 +463,7 @@
"default": "",
@@ -90,7 +90,7 @@
public: true,
base_feature_status: "enabled",
copied_from_base_feature_if: "overridden",
-@@ -6665,7 +6665,7 @@
+@@ -6669,7 +6669,7 @@
name: "UnrestrictedSharedArrayBuffer",
base_feature: "none",
origin_trial_feature_name: "UnrestrictedSharedArrayBuffer",
@@ -99,7 +99,7 @@
},
// Enables using policy-controlled feature "usb-unrestricted" to allow
// isolated context to access protected USB interface classes and to
-@@ -6893,7 +6893,7 @@
+@@ -6897,7 +6897,7 @@
name: "WebAppInstallation",
status: {"Android": "", "default": "test"},
origin_trial_feature_name: "WebAppInstallation",
@@ -108,7 +108,7 @@
public: true,
base_feature_status: "enabled",
copied_from_base_feature_if: "overridden",
-@@ -6907,7 +6907,7 @@
+@@ -6911,7 +6911,7 @@
{
name: "WebAppScopeExtensions",
origin_trial_feature_name: "WebAppScopeExtensions",