summaryrefslogtreecommitdiff
path: root/devel/electron37
diff options
context:
space:
mode:
Diffstat (limited to 'devel/electron37')
-rw-r--r--devel/electron37/Makefile19
-rw-r--r--devel/electron37/Makefile.version2
-rw-r--r--devel/electron37/distinfo22
-rw-r--r--devel/electron37/files/package.json2
-rw-r--r--devel/electron37/files/patch-ash_display_mirror__window__controller.cc4
-rw-r--r--devel/electron37/files/patch-chrome_browser_about__flags.cc54
-rw-r--r--devel/electron37/files/patch-chrome_browser_flag__descriptions.cc22
-rw-r--r--devel/electron37/files/patch-chrome_browser_flag__descriptions.h22
-rw-r--r--devel/electron37/files/patch-electron_BUILD.gn14
-rw-r--r--devel/electron37/files/patch-electron_shell_app_electron__main__delegate.cc14
-rw-r--r--devel/electron37/files/patch-electron_shell_browser_api_electron__api__app.cc16
-rw-r--r--devel/electron37/files/patch-electron_shell_browser_api_electron__api__base__window.cc6
-rw-r--r--devel/electron37/files/patch-electron_shell_browser_api_electron__api__base__window.h6
-rw-r--r--devel/electron37/files/patch-electron_shell_browser_api_electron__api__web__contents.cc10
-rw-r--r--devel/electron37/files/patch-electron_shell_browser_api_electron__api__web__contents.h4
-rw-r--r--devel/electron37/files/patch-electron_shell_browser_browser.h6
-rw-r--r--devel/electron37/files/patch-electron_shell_browser_native__window.cc10
-rw-r--r--devel/electron37/files/patch-electron_shell_browser_native__window__views.cc42
-rw-r--r--devel/electron37/files/patch-electron_shell_browser_native__window__views.h6
-rw-r--r--devel/electron37/files/patch-electron_shell_common_node__bindings.cc4
-rw-r--r--devel/electron37/files/patch-electron_spec_api-app-spec.ts43
-rw-r--r--devel/electron37/files/patch-electron_spec_api-browser-window-spec.ts42
-rw-r--r--devel/electron37/files/patch-electron_spec_api-utility-process-spec.ts6
-rw-r--r--devel/electron37/files/patch-electron_spec_api-web-contents-spec.ts4
-rw-r--r--devel/electron37/files/patch-electron_spec_api-web-frame-main-spec.ts6
-rw-r--r--devel/electron37/files/patch-electron_spec_chromium-spec.ts4
-rw-r--r--devel/electron37/files/patch-ui_accessibility_ax__tree.cc6
-rw-r--r--devel/electron37/files/patch-ui_gtk_gtk__compat.cc6
-rw-r--r--devel/electron37/files/patch-ui_gtk_ime__compat__check.cc21
-rw-r--r--devel/electron37/files/yarn.lock28
30 files changed, 219 insertions, 232 deletions
diff --git a/devel/electron37/Makefile b/devel/electron37/Makefile
index 1064bbe297cf..ed2a1bba8f00 100644
--- a/devel/electron37/Makefile
+++ b/devel/electron37/Makefile
@@ -4,13 +4,17 @@ 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/v37.3.1/:chromium \
https://freedesktop.org/software/pulseaudio/releases/:pulseaudio
PKGNAMESUFFIX= ${ELECTRON_VER_MAJOR}
-DISTFILES= chromium-${CHROMIUM_VER}${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 \
electron-yarn-cache-${ELECTRON_VER}${EXTRACT_SUFX}:prefetch
DIST_SUBDIR= ${PORTNAME}
+EXTRACT_ONLY= chromium-${CHROMIUM_VER}${EXTRACT_SUFX} \
+ ${DISTFILES:C/:[^:]+$//:C/chromium-${CHROMIUM_VER}${EXTRACT_SUFX}\.[0-9]//}
MAINTAINER= tagattie@FreeBSD.org
COMMENT= Build cross-platform desktop apps with JavaScript, HTML, and CSS
@@ -20,6 +24,7 @@ LICENSE= BSD3CLAUSE LGPL21 MPL11 MIT
LICENSE_COMB= multi
LICENSE_FILE= ${WRKSRC}/electron/LICENSE
+BROKEN_i386= fetch fails: node process stalls during fetch phase and eats up all CPUs
ONLY_FOR_ARCHS= aarch64 amd64 i386
FETCH_DEPENDS= yarn${NODEJS_SUFFIX}>0:www/yarn${NODEJS_SUFFIX}
@@ -220,9 +225,9 @@ SNDIO_VARS= GN_ARGS+=use_sndio=true
SNDIO_VARS_OFF= GN_ARGS+=use_sndio=false
# See ${WRKSRC}/electron/DEPS for CHROMIUM_VER
-CHROMIUM_VER= 138.0.7204.100
+CHROMIUM_VER= 138.0.7204.235
# See ${WRKSRC}/electron/DEPS for NODE_VER
-NODE_VER= 22.17.0
+NODE_VER= 22.18.0
# See ${WRKSRC}/electron/DEPS for NAN_VER
NAN_VER= e14bdcd1f72d62bca1d541b66da43130384ec213
# See ${WRKSRC}/electron/DEPS for SQUIRREL_MAC_VER
@@ -320,6 +325,12 @@ pre-fetch:
${RM} -r ${WRKDIR}; \
fi
+pre-extract:
+ @if [ ! -f ${DISTDIR}/${DIST_SUBDIR}/chromium-${CHROMIUM_VER}${EXTRACT_SUFX} ]; then \
+ ${CAT} ${DISTDIR}/${DIST_SUBDIR}/chromium-${CHROMIUM_VER}${EXTRACT_SUFX}.? > \
+ ${DISTDIR}/${DIST_SUBDIR}/chromium-${CHROMIUM_VER}${EXTRACT_SUFX}; \
+ fi
+
post-extract:
# Move extracted sources to appropriate locations
${MV} ${WRKDIR}/${PORTNAME}-${ELECTRON_VER}/chromium-${CHROMIUM_VER} ${WRKSRC}
diff --git a/devel/electron37/Makefile.version b/devel/electron37/Makefile.version
index bb8c54495d28..d20e1f839227 100644
--- a/devel/electron37/Makefile.version
+++ b/devel/electron37/Makefile.version
@@ -1,2 +1,2 @@
-ELECTRON_VER= 37.2.3
+ELECTRON_VER= 37.3.1
ELECTRON_VER_MAJOR= ${ELECTRON_VER:C/\..*//}
diff --git a/devel/electron37/distinfo b/devel/electron37/distinfo
index 5965dd844c9d..36570b21fec3 100644
--- a/devel/electron37/distinfo
+++ b/devel/electron37/distinfo
@@ -1,14 +1,18 @@
-TIMESTAMP = 1752785159
-SHA256 (electron/chromium-138.0.7204.100.tar.xz) = 368d1a1d73c8703b9f9252340680468e3e3073b33b5127ac9e5fd8e9431b18b8
-SIZE (electron/chromium-138.0.7204.100.tar.xz) = 7269991840
+TIMESTAMP = 1755851713
+SHA256 (electron/chromium-138.0.7204.235.tar.xz.0) = 1817cff1aea2328a81f6f3f18344d442833551ec1845c0cae2262ec38d7df408
+SIZE (electron/chromium-138.0.7204.235.tar.xz.0) = 2000000000
+SHA256 (electron/chromium-138.0.7204.235.tar.xz.1) = 775342c321ceae33766375a8844d4cf388b79929f8a5b41ef54524b3a1e64860
+SIZE (electron/chromium-138.0.7204.235.tar.xz.1) = 2000000000
+SHA256 (electron/chromium-138.0.7204.235.tar.xz.2) = bf07431e52dc0911e9252176abb0cbb8ae2ce138b725107c65738b4d79fe6ab7
+SIZE (electron/chromium-138.0.7204.235.tar.xz.2) = 273221044
SHA256 (electron/pulseaudio-16.1.tar.gz) = 027266c62f2a84422ac45fa721a649508f0f1628fb1fd9242315ac54ce2d7c92
SIZE (electron/pulseaudio-16.1.tar.gz) = 2763111
-SHA256 (electron/electron-yarn-cache-37.2.3.tar.xz) = aab59edf3be7db5f011edb65a3684ce424d6bc016067fa5a6ff6d9afe08fc188
-SIZE (electron/electron-yarn-cache-37.2.3.tar.xz) = 30486640
-SHA256 (electron/electron-electron-v37.2.3_GH0.tar.gz) = d67acd729e4fc909bfd1405a194563bd40ab1c0e7c1b7b1d66fd9b0619b8f0bb
-SIZE (electron/electron-electron-v37.2.3_GH0.tar.gz) = 15824762
-SHA256 (electron/nodejs-node-v22.17.0_GH0.tar.gz) = 8d96cd01627c625e9e1db219f91ebbccae074ae4ce1a99a48aeed3d6da9161b9
-SIZE (electron/nodejs-node-v22.17.0_GH0.tar.gz) = 123067140
+SHA256 (electron/electron-yarn-cache-37.3.1.tar.xz) = 7823d2fceaf2aac5bb0b342866049b0dfdeca98a65ac00559abfaff47bdba536
+SIZE (electron/electron-yarn-cache-37.3.1.tar.xz) = 30480408
+SHA256 (electron/electron-electron-v37.3.1_GH0.tar.gz) = b63e6d1542cc7bdfc2f1996d75208a24c2fb2812b235c32db527e50a313291e0
+SIZE (electron/electron-electron-v37.3.1_GH0.tar.gz) = 15837289
+SHA256 (electron/nodejs-node-v22.18.0_GH0.tar.gz) = f0f7022d2bcf1e286a42ccf46bf184e67e469daa83ecd9fda2326e872bab7aa0
+SIZE (electron/nodejs-node-v22.18.0_GH0.tar.gz) = 123027912
SHA256 (electron/nodejs-nan-e14bdcd1f72d62bca1d541b66da43130384ec213_GH0.tar.gz) = 02edf8d5b3fef9af94d8a1355da60564a57e7f2c99cb422bce042400607ed2eb
SIZE (electron/nodejs-nan-e14bdcd1f72d62bca1d541b66da43130384ec213_GH0.tar.gz) = 180646
SHA256 (electron/Squirrel-Squirrel.Mac-0e5d146ba13101a1302d59ea6e6e0b3cace4ae38_GH0.tar.gz) = f4ebb40a8d85dbb7ef02aa0571b2f8e22182c6d73b6992484a53c90047779d01
diff --git a/devel/electron37/files/package.json b/devel/electron37/files/package.json
index c62b95ca7871..bb15faa1f136 100644
--- a/devel/electron37/files/package.json
+++ b/devel/electron37/files/package.json
@@ -18,8 +18,6 @@
"@types/semver": "^7.5.8",
"@types/stream-json": "^1.7.7",
"@types/temp": "^0.9.4",
- "@types/webpack": "^5.28.5",
- "@types/webpack-env": "^1.18.5",
"@typescript-eslint/eslint-plugin": "^8.7.0",
"@typescript-eslint/parser": "^8.7.0",
"buffer": "^6.0.3",
diff --git a/devel/electron37/files/patch-ash_display_mirror__window__controller.cc b/devel/electron37/files/patch-ash_display_mirror__window__controller.cc
index 6eae7ace3785..2f730fc7eeda 100644
--- a/devel/electron37/files/patch-ash_display_mirror__window__controller.cc
+++ b/devel/electron37/files/patch-ash_display_mirror__window__controller.cc
@@ -1,6 +1,6 @@
---- ash/display/mirror_window_controller.cc.orig 2025-01-27 17:37:37 UTC
+--- ash/display/mirror_window_controller.cc.orig 2025-07-14 18:11:59 UTC
+++ ash/display/mirror_window_controller.cc
-@@ -295,7 +295,11 @@ void MirrorWindowController::UpdateWindow(
+@@ -283,7 +283,11 @@ void MirrorWindowController::UpdateWindow(
if (!base::Contains(display_info_list, iter->first,
&display::ManagedDisplayInfo::id)) {
CloseAndDeleteHost(iter->second, true);
diff --git a/devel/electron37/files/patch-chrome_browser_about__flags.cc b/devel/electron37/files/patch-chrome_browser_about__flags.cc
index 6050e15bdda0..31267b3499e6 100644
--- a/devel/electron37/files/patch-chrome_browser_about__flags.cc
+++ b/devel/electron37/files/patch-chrome_browser_about__flags.cc
@@ -1,4 +1,4 @@
---- chrome/browser/about_flags.cc.orig 2025-06-30 07:04:30 UTC
+--- chrome/browser/about_flags.cc.orig 2025-07-21 19:32:31 UTC
+++ chrome/browser/about_flags.cc
@@ -263,7 +263,7 @@
#include "extensions/common/extension_features.h"
@@ -170,7 +170,7 @@
#endif // BUILDFLAG(IS_LINUX)
#if BUILDFLAG(ENABLE_VR)
-@@ -6709,7 +6739,7 @@ const FeatureEntry kFeatureEntries[] = {
+@@ -6716,7 +6746,7 @@ const FeatureEntry kFeatureEntries[] = {
"MlUrlScoring")},
#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_MAC) || \
@@ -179,7 +179,7 @@
{"contextual-search-box-uses-contextual-search-provider",
flag_descriptions::kContextualSearchBoxUsesContextualSearchProviderName,
flag_descriptions::
-@@ -7061,7 +7091,7 @@ const FeatureEntry kFeatureEntries[] = {
+@@ -7068,7 +7098,7 @@ const FeatureEntry kFeatureEntries[] = {
kNumSrpZpsRelatedSearches,
"PowerTools")},
#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_MAC) || \
@@ -188,7 +188,7 @@
{"history-embeddings", flag_descriptions::kHistoryEmbeddingsName,
flag_descriptions::kHistoryEmbeddingsDescription, kOsDesktop,
FEATURE_WITH_PARAMS_VALUE_TYPE(history_embeddings::kHistoryEmbeddings,
-@@ -7560,7 +7590,7 @@ const FeatureEntry kFeatureEntries[] = {
+@@ -7567,7 +7597,7 @@ const FeatureEntry kFeatureEntries[] = {
FEATURE_VALUE_TYPE(printing::features::kAddPrinterViaPrintscanmgr)},
#endif // BUILDFLAG(IS_CHROMEOS)
@@ -197,7 +197,7 @@
{"cups-ipp-printing-backend",
flag_descriptions::kCupsIppPrintingBackendName,
flag_descriptions::kCupsIppPrintingBackendDescription, kOsDesktop,
-@@ -7851,7 +7881,7 @@ const FeatureEntry kFeatureEntries[] = {
+@@ -7858,7 +7888,7 @@ const FeatureEntry kFeatureEntries[] = {
flag_descriptions::kSupportToolScreenshotDescription, kOsDesktop,
FEATURE_VALUE_TYPE(features::kSupportToolScreenshot)},
@@ -206,7 +206,7 @@
{"wasm-tts-component-updater-enabled",
flag_descriptions::kWasmTtsComponentUpdaterEnabledName,
flag_descriptions::kWasmTtsComponentUpdaterEnabledDescription, kOsDesktop,
-@@ -8523,7 +8553,7 @@ const FeatureEntry kFeatureEntries[] = {
+@@ -8530,7 +8560,7 @@ const FeatureEntry kFeatureEntries[] = {
FEATURE_VALUE_TYPE(media::kGlobalMediaControlsUpdatedUI)},
#endif // !BUILDFLAG(IS_CHROMEOS)
@@ -215,7 +215,7 @@
{"enable-network-service-sandbox",
flag_descriptions::kEnableNetworkServiceSandboxName,
flag_descriptions::kEnableNetworkServiceSandboxDescription,
-@@ -9176,7 +9206,7 @@ const FeatureEntry kFeatureEntries[] = {
+@@ -9183,7 +9213,7 @@ const FeatureEntry kFeatureEntries[] = {
FEATURE_VALUE_TYPE(ash::features::kWallpaperGooglePhotosSharedAlbums)},
#endif // BUILDFLAG(IS_CHROMEOS)
@@ -224,7 +224,7 @@
{"enable-get-all-screens-media", flag_descriptions::kGetAllScreensMediaName,
flag_descriptions::kGetAllScreensMediaDescription, kOsCrOS | kOsLinux,
FEATURE_VALUE_TYPE(blink::features::kGetAllScreensMedia)},
-@@ -9201,7 +9231,7 @@ const FeatureEntry kFeatureEntries[] = {
+@@ -9208,7 +9238,7 @@ const FeatureEntry kFeatureEntries[] = {
flag_descriptions::kGlobalVaapiLockDescription, kOsCrOS | kOsLinux,
FEATURE_VALUE_TYPE(media::kGlobalVaapiLock)},
@@ -233,7 +233,7 @@
{
"ui-debug-tools",
flag_descriptions::kUIDebugToolsName,
-@@ -9668,7 +9698,7 @@ const FeatureEntry kFeatureEntries[] = {
+@@ -9675,7 +9705,7 @@ const FeatureEntry kFeatureEntries[] = {
#endif
#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || \
@@ -242,7 +242,7 @@
{"media-session-enter-picture-in-picture",
flag_descriptions::kMediaSessionEnterPictureInPictureName,
flag_descriptions::kMediaSessionEnterPictureInPictureDescription,
-@@ -9830,7 +9860,7 @@ const FeatureEntry kFeatureEntries[] = {
+@@ -9837,7 +9867,7 @@ const FeatureEntry kFeatureEntries[] = {
flag_descriptions::kReduceTransferSizeUpdatedIPCDescription, kOsAll,
FEATURE_VALUE_TYPE(network::features::kReduceTransferSizeUpdatedIPC)},
@@ -251,7 +251,7 @@
{"reduce-user-agent-data-linux-platform-version",
flag_descriptions::kReduceUserAgentDataLinuxPlatformVersionName,
flag_descriptions::kReduceUserAgentDataLinuxPlatformVersionDescription,
-@@ -10334,7 +10364,7 @@ const FeatureEntry kFeatureEntries[] = {
+@@ -10341,7 +10371,7 @@ const FeatureEntry kFeatureEntries[] = {
kOsDesktop | kOsAndroid,
FEATURE_VALUE_TYPE(features::kProcessPerSiteUpToMainFrameThreshold)},
@@ -260,7 +260,7 @@
{"camera-mic-effects", flag_descriptions::kCameraMicEffectsName,
flag_descriptions::kCameraMicEffectsDescription,
static_cast<unsigned short>(kOsMac | kOsWin | kOsLinux),
-@@ -10458,7 +10488,7 @@ const FeatureEntry kFeatureEntries[] = {
+@@ -10465,7 +10495,7 @@ const FeatureEntry kFeatureEntries[] = {
FEATURE_VALUE_TYPE(chrome::android::kReadAloudTapToSeek)},
#endif
@@ -269,7 +269,7 @@
{"third-party-profile-management",
flag_descriptions::kThirdPartyProfileManagementName,
flag_descriptions::kThirdPartyProfileManagementDescription,
-@@ -10487,7 +10517,7 @@ const FeatureEntry kFeatureEntries[] = {
+@@ -10494,7 +10524,7 @@ const FeatureEntry kFeatureEntries[] = {
#endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN)
#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || \
@@ -278,7 +278,7 @@
{"enable-user-navigation-capturing-pwa",
flag_descriptions::kPwaNavigationCapturingName,
flag_descriptions::kPwaNavigationCapturingDescription,
-@@ -11223,7 +11253,7 @@ const FeatureEntry kFeatureEntries[] = {
+@@ -11230,7 +11260,7 @@ const FeatureEntry kFeatureEntries[] = {
flag_descriptions::kCanvasHibernationDescription, kOsAll,
FEATURE_VALUE_TYPE(blink::features::kCanvas2DHibernation)},
@@ -287,7 +287,7 @@
{"enable-history-sync-optin",
flag_descriptions::kEnableHistorySyncOptinName,
flag_descriptions::kEnableHistorySyncOptinDescription,
-@@ -11334,7 +11364,7 @@ const FeatureEntry kFeatureEntries[] = {
+@@ -11341,7 +11371,7 @@ const FeatureEntry kFeatureEntries[] = {
"HistoryOptInEducationalTipVariations")},
#endif // BUILDFLAG(IS_ANDROID)
@@ -296,7 +296,7 @@
{"supervised-profile-safe-search",
flag_descriptions::kSupervisedProfileSafeSearchName,
flag_descriptions::kSupervisedProfileSafeSearchDescription,
-@@ -11586,7 +11616,7 @@ const FeatureEntry kFeatureEntries[] = {
+@@ -11593,7 +11623,7 @@ const FeatureEntry kFeatureEntries[] = {
segmentation_platform::features::kSegmentationSurveyPage)},
#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \
@@ -305,7 +305,7 @@
{"autofill-enable-buy-now-pay-later",
flag_descriptions::kAutofillEnableBuyNowPayLaterName,
flag_descriptions::kAutofillEnableBuyNowPayLaterDescription, kOsDesktop,
-@@ -11687,7 +11717,7 @@ const FeatureEntry kFeatureEntries[] = {
+@@ -11694,7 +11724,7 @@ const FeatureEntry kFeatureEntries[] = {
FEATURE_VALUE_TYPE(
autofill::features::kAutofillEnableCardInfoRuntimeRetrieval)},
@@ -314,7 +314,7 @@
{"translation-api", flag_descriptions::kTranslationAPIName,
flag_descriptions::kTranslationAPIDescription, kOsMac | kOsWin | kOsLinux,
FEATURE_WITH_PARAMS_VALUE_TYPE(blink::features::kTranslationAPI,
-@@ -11721,7 +11751,7 @@ const FeatureEntry kFeatureEntries[] = {
+@@ -11728,7 +11758,7 @@ const FeatureEntry kFeatureEntries[] = {
FEATURE_VALUE_TYPE(
password_manager::features::kPasswordFormClientsideClassifier)},
@@ -323,7 +323,7 @@
{"contextual-cueing", flag_descriptions::kContextualCueingName,
flag_descriptions::kContextualCueingDescription,
kOsLinux | kOsMac | kOsWin,
-@@ -12053,7 +12083,7 @@ const FeatureEntry kFeatureEntries[] = {
+@@ -12060,7 +12090,7 @@ const FeatureEntry kFeatureEntries[] = {
FEATURE_VALUE_TYPE(ui::kUseNewEtc1Encoder)},
#endif // !BUILDFLAG(IS_ANDROID)
@@ -332,7 +332,7 @@
{"automatic-usb-detach", flag_descriptions::kAutomaticUsbDetachName,
flag_descriptions::kAutomaticUsbDetachDescription, kOsAndroid | kOsLinux,
FEATURE_VALUE_TYPE(features::kAutomaticUsbDetach)},
-@@ -12103,7 +12133,7 @@ const FeatureEntry kFeatureEntries[] = {
+@@ -12110,7 +12140,7 @@ const FeatureEntry kFeatureEntries[] = {
#endif // !BUILDFLAG(IS_ANDROID)
#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \
@@ -341,7 +341,7 @@
{"autofill-enable-amount-extraction-desktop",
flag_descriptions::kAutofillEnableAmountExtractionDesktopName,
flag_descriptions::kAutofillEnableAmountExtractionDesktopDescription,
-@@ -12123,7 +12153,7 @@ const FeatureEntry kFeatureEntries[] = {
+@@ -12130,7 +12160,7 @@ const FeatureEntry kFeatureEntries[] = {
FEATURE_VALUE_TYPE(blink::features::kClipboardContentsId)},
#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \
@@ -350,7 +350,7 @@
{"autofill-enable-amount-extraction-allowlist-desktop",
flag_descriptions::kAutofillEnableAmountExtractionAllowlistDesktopName,
flag_descriptions::
-@@ -12241,7 +12271,7 @@ const FeatureEntry kFeatureEntries[] = {
+@@ -12248,7 +12278,7 @@ const FeatureEntry kFeatureEntries[] = {
apps::chrome_app_deprecation::kAllowUserInstalledChromeApps)},
#endif // BUILDFLAG(IS_CHROMEOS)
@@ -359,7 +359,7 @@
{"chrome-web-store-navigation-throttle",
flag_descriptions::kChromeWebStoreNavigationThrottleName,
flag_descriptions::kChromeWebStoreNavigationThrottleDescription,
-@@ -12277,7 +12307,7 @@ const FeatureEntry kFeatureEntries[] = {
+@@ -12284,7 +12314,7 @@ const FeatureEntry kFeatureEntries[] = {
#endif // BUILDFLAG(IS_ANDROID)
#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \
@@ -368,7 +368,7 @@
{"autofill-enable-amount-extraction-desktop-logging",
flag_descriptions::kAutofillEnableAmountExtractionDesktopLoggingName,
flag_descriptions::
-@@ -12300,7 +12330,7 @@ const FeatureEntry kFeatureEntries[] = {
+@@ -12307,7 +12337,7 @@ const FeatureEntry kFeatureEntries[] = {
flag_descriptions::kEnableWebAppUpdateTokenParsingDescription, kOsAll,
FEATURE_VALUE_TYPE(features::kWebAppEnableUpdateTokenParsing)},
@@ -377,7 +377,7 @@
{"root-scrollbar-follows-browser-theme",
flag_descriptions::kRootScrollbarFollowsTheme,
flag_descriptions::kRootScrollbarFollowsThemeDescription,
-@@ -12329,7 +12359,7 @@ const FeatureEntry kFeatureEntries[] = {
+@@ -12336,7 +12366,7 @@ const FeatureEntry kFeatureEntries[] = {
#endif // BUILDFLAG(IS_ANDROID)
#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || \
@@ -386,7 +386,7 @@
{"local-network-access-check",
flag_descriptions::kLocalNetworkAccessChecksName,
flag_descriptions::kLocalNetworkAccessChecksDescription, kOsDesktop,
-@@ -12551,7 +12581,7 @@ const FeatureEntry kFeatureEntries[] = {
+@@ -12558,7 +12588,7 @@ const FeatureEntry kFeatureEntries[] = {
#endif // BUILDFLAG(IS_ANDROID)
#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || \
@@ -395,7 +395,7 @@
{"tab-group-home", tabs::flag_descriptions::kTabGroupHomeName,
tabs::flag_descriptions::kTabGroupHomeDescription, kOsDesktop,
FEATURE_VALUE_TYPE(tabs::kTabGroupHome)},
-@@ -12629,7 +12659,7 @@ const FeatureEntry kFeatureEntries[] = {
+@@ -12636,7 +12666,7 @@ const FeatureEntry kFeatureEntries[] = {
#endif // BUILDFLAG(IS_ANDROID)
#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || \
diff --git a/devel/electron37/files/patch-chrome_browser_flag__descriptions.cc b/devel/electron37/files/patch-chrome_browser_flag__descriptions.cc
index 8b3339bc70a7..73c16661ddc4 100644
--- a/devel/electron37/files/patch-chrome_browser_flag__descriptions.cc
+++ b/devel/electron37/files/patch-chrome_browser_flag__descriptions.cc
@@ -1,4 +1,4 @@
---- chrome/browser/flag_descriptions.cc.orig 2025-06-30 07:04:30 UTC
+--- chrome/browser/flag_descriptions.cc.orig 2025-07-21 19:32:31 UTC
+++ chrome/browser/flag_descriptions.cc
@@ -659,7 +659,7 @@ const char kAutofillEnableAllowlistForBmoCardCategoryB
"Autofill suggestions on the allowlisted merchant websites.";
@@ -81,7 +81,7 @@
const char kEnableHistorySyncOptinName[] = "History Sync Opt-in";
const char kEnableHistorySyncOptinDescription[] =
"Enables the History Sync Opt-in screen on Desktop platforms. The screen "
-@@ -5840,7 +5840,7 @@ const char kTranslateOpenSettingsDescription[] =
+@@ -5847,7 +5847,7 @@ const char kTranslateOpenSettingsDescription[] =
"Add an option to the translate bubble menu to open language settings.";
#endif
@@ -90,7 +90,7 @@
const char kWasmTtsComponentUpdaterEnabledName[] =
"Enable Wasm TTS Extension Component";
const char kWasmTtsComponentUpdaterEnabledDescription[] =
-@@ -7871,7 +7871,7 @@ const char kTetheringExperimentalFunctionalityDescript
+@@ -7878,7 +7878,7 @@ const char kTetheringExperimentalFunctionalityDescript
#endif // BUILDFLAG(IS_CHROMEOS)
@@ -99,7 +99,7 @@
const char kGetAllScreensMediaName[] = "GetAllScreensMedia API";
const char kGetAllScreensMediaDescription[] =
"When enabled, the getAllScreensMedia API for capturing multiple screens "
-@@ -8100,7 +8100,7 @@ const char kEnableArmHwdrmDescription[] = "Enable HW b
+@@ -8107,7 +8107,7 @@ const char kEnableArmHwdrmDescription[] = "Enable HW b
// Linux -----------------------------------------------------------------------
@@ -108,7 +108,7 @@
const char kOzonePlatformHintChoiceDefault[] = "Default";
const char kOzonePlatformHintChoiceAuto[] = "Auto";
const char kOzonePlatformHintChoiceX11[] = "X11";
-@@ -8150,6 +8150,18 @@ const char kWaylandUiScalingDescription[] =
+@@ -8157,6 +8157,18 @@ const char kWaylandUiScalingDescription[] =
"Enable experimental support for text scaling in the Wayland backend "
"backed by full UI scaling. Requires #wayland-per-window-scaling to be "
"enabled too.";
@@ -127,7 +127,7 @@
#endif // BUILDFLAG(IS_LINUX)
// Random platform combinations -----------------------------------------------
-@@ -8162,7 +8174,7 @@ const char kZeroCopyVideoCaptureDescription[] =
+@@ -8169,7 +8181,7 @@ const char kZeroCopyVideoCaptureDescription[] =
#endif // BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN)
#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \
@@ -136,7 +136,7 @@
const char kFollowingFeedSidepanelName[] = "Following feed in the sidepanel";
const char kFollowingFeedSidepanelDescription[] =
"Enables the following feed in the sidepanel.";
-@@ -8205,7 +8217,7 @@ const char kGroupPromoPrototypeDescription[] =
+@@ -8212,7 +8224,7 @@ const char kGroupPromoPrototypeDescription[] =
const char kGroupPromoPrototypeDescription[] =
"Enables prototype for group promo.";
@@ -145,7 +145,7 @@
const char kEnableNetworkServiceSandboxName[] =
"Enable the network service sandbox.";
const char kEnableNetworkServiceSandboxDescription[] =
-@@ -8226,7 +8238,7 @@ const char kWebBluetoothConfirmPairingSupportDescripti
+@@ -8233,7 +8245,7 @@ const char kWebBluetoothConfirmPairingSupportDescripti
"Bluetooth";
#endif // BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX)
@@ -154,7 +154,7 @@
#if BUILDFLAG(ENABLE_PRINTING)
const char kCupsIppPrintingBackendName[] = "CUPS IPP Printing Backend";
const char kCupsIppPrintingBackendDescription[] =
-@@ -8369,7 +8381,7 @@ const char kElementCaptureDescription[] =
+@@ -8376,7 +8388,7 @@ const char kElementCaptureDescription[] =
"media track into a track capturing just a specific DOM element.";
#endif // !BUILDFLAG(IS_ANDROID)
@@ -163,7 +163,7 @@
const char kUIDebugToolsName[] = "Debugging tools for UI";
const char kUIDebugToolsDescription[] =
"Enables additional keyboard shortcuts to help debugging.";
-@@ -8420,7 +8432,7 @@ const char kComposeUpfrontInputModesDescription[] =
+@@ -8427,7 +8439,7 @@ const char kComposeUpfrontInputModesDescription[] =
"Enables upfront input modes in the Compose dialog";
#endif // BUILDFLAG(ENABLE_COMPOSE)
@@ -172,7 +172,7 @@
const char kThirdPartyProfileManagementName[] =
"Third party profile management";
const char kThirdPartyProfileManagementDescription[] =
-@@ -8538,7 +8550,7 @@ const char kSupervisedUserBlockInterstitialV3Descripti
+@@ -8545,7 +8557,7 @@ const char kSupervisedUserBlockInterstitialV3Descripti
const char kSupervisedUserBlockInterstitialV3Description[] =
"Enables URL filter interstitial V3 for Family Link users.";
diff --git a/devel/electron37/files/patch-chrome_browser_flag__descriptions.h b/devel/electron37/files/patch-chrome_browser_flag__descriptions.h
index 79968484ad0c..b85f452abcb3 100644
--- a/devel/electron37/files/patch-chrome_browser_flag__descriptions.h
+++ b/devel/electron37/files/patch-chrome_browser_flag__descriptions.h
@@ -1,4 +1,4 @@
---- chrome/browser/flag_descriptions.h.orig 2025-06-30 07:04:30 UTC
+--- chrome/browser/flag_descriptions.h.orig 2025-07-21 19:32:31 UTC
+++ chrome/browser/flag_descriptions.h
@@ -413,7 +413,7 @@ extern const char
kAutofillEnableAllowlistForBmoCardCategoryBenefitsDescription[];
@@ -81,7 +81,7 @@
extern const char kReduceUserAgentDataLinuxPlatformVersionName[];
extern const char kReduceUserAgentDataLinuxPlatformVersionDescription[];
#endif // #if BUILDFLAG(IS_LINUX)
-@@ -3430,7 +3430,7 @@ extern const char kTranslateOpenSettingsDescription[];
+@@ -3432,7 +3432,7 @@ extern const char kTranslateOpenSettingsDescription[];
extern const char kTranslateOpenSettingsDescription[];
#endif
@@ -90,7 +90,7 @@
extern const char kWasmTtsComponentUpdaterEnabledName[];
extern const char kWasmTtsComponentUpdaterEnabledDescription[];
#endif // BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC)
-@@ -4630,7 +4630,7 @@ extern const char kTetheringExperimentalFunctionalityD
+@@ -4632,7 +4632,7 @@ extern const char kTetheringExperimentalFunctionalityD
#endif // #if BUILDFLAG(IS_CHROMEOS)
@@ -99,7 +99,7 @@
extern const char kGetAllScreensMediaName[];
extern const char kGetAllScreensMediaDescription[];
#endif // BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX)
-@@ -4765,7 +4765,7 @@ extern const char kEnableArmHwdrmDescription[];
+@@ -4767,7 +4767,7 @@ extern const char kEnableArmHwdrmDescription[];
// Linux ---------------------------------------------------------------------
@@ -108,7 +108,7 @@
extern const char kOzonePlatformHintChoiceDefault[];
extern const char kOzonePlatformHintChoiceAuto[];
extern const char kOzonePlatformHintChoiceX11[];
-@@ -4796,6 +4796,9 @@ extern const char kWaylandUiScalingDescription[];
+@@ -4798,6 +4798,9 @@ extern const char kWaylandUiScalingDescription[];
extern const char kWaylandUiScalingName[];
extern const char kWaylandUiScalingDescription[];
@@ -118,7 +118,7 @@
#endif // BUILDFLAG(IS_LINUX)
// Random platform combinations -----------------------------------------------
-@@ -4810,7 +4813,7 @@ extern const char kWebBluetoothConfirmPairingSupportDe
+@@ -4812,7 +4815,7 @@ extern const char kWebBluetoothConfirmPairingSupportDe
extern const char kWebBluetoothConfirmPairingSupportDescription[];
#endif // BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX)
@@ -127,7 +127,7 @@
#if BUILDFLAG(ENABLE_PRINTING)
extern const char kCupsIppPrintingBackendName[];
extern const char kCupsIppPrintingBackendDescription[];
-@@ -4823,7 +4826,7 @@ extern const char kScreenlockReauthCardDescription[];
+@@ -4825,7 +4828,7 @@ extern const char kScreenlockReauthCardDescription[];
#endif // BUILDFLAG(IS_CHROMEOS)
#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \
@@ -136,7 +136,7 @@
extern const char kFollowingFeedSidepanelName[];
extern const char kFollowingFeedSidepanelDescription[];
-@@ -4840,7 +4843,7 @@ extern const char kTaskManagerDesktopRefreshDescriptio
+@@ -4842,7 +4845,7 @@ extern const char kTaskManagerDesktopRefreshDescriptio
extern const char kTaskManagerDesktopRefreshDescription[];
#endif // BUILDFLAG(IS_ANDROID)
@@ -145,7 +145,7 @@
extern const char kEnableNetworkServiceSandboxName[];
extern const char kEnableNetworkServiceSandboxDescription[];
-@@ -4932,7 +4935,7 @@ extern const char kElementCaptureDescription[];
+@@ -4934,7 +4937,7 @@ extern const char kElementCaptureDescription[];
extern const char kElementCaptureDescription[];
#endif // !BUILDFLAG(IS_ANDROID)
@@ -154,7 +154,7 @@
extern const char kUIDebugToolsName[];
extern const char kUIDebugToolsDescription[];
#endif
-@@ -4971,7 +4974,7 @@ extern const char kComposeUpfrontInputModesDescription
+@@ -4973,7 +4976,7 @@ extern const char kComposeUpfrontInputModesDescription
extern const char kComposeUpfrontInputModesDescription[];
#endif // BUILDFLAG(ENABLE_COMPOSE)
@@ -163,7 +163,7 @@
extern const char kThirdPartyProfileManagementName[];
extern const char kThirdPartyProfileManagementDescription[];
-@@ -5045,7 +5048,7 @@ extern const char kSupervisedUserBlockInterstitialV3De
+@@ -5047,7 +5050,7 @@ extern const char kSupervisedUserBlockInterstitialV3De
extern const char kSupervisedUserBlockInterstitialV3Name[];
extern const char kSupervisedUserBlockInterstitialV3Description[];
diff --git a/devel/electron37/files/patch-electron_BUILD.gn b/devel/electron37/files/patch-electron_BUILD.gn
index 32319d474890..5d4a0e24bf71 100644
--- a/devel/electron37/files/patch-electron_BUILD.gn
+++ b/devel/electron37/files/patch-electron_BUILD.gn
@@ -1,6 +1,6 @@
---- electron/BUILD.gn.orig 2025-05-22 22:48:48 UTC
+--- electron/BUILD.gn.orig 2025-08-18 21:37:38 UTC
+++ electron/BUILD.gn
-@@ -543,7 +543,7 @@ source_set("electron_lib") {
+@@ -547,7 +547,7 @@ source_set("electron_lib") {
defines += [ "GDK_DISABLE_DEPRECATION_WARNINGS" ]
}
@@ -9,7 +9,7 @@
deps += [
"//components/crash/core/app",
"//components/crash/core/browser",
-@@ -636,6 +636,12 @@ source_set("electron_lib") {
+@@ -640,6 +640,12 @@ source_set("electron_lib") {
cflags_objcc = [ "-fobjc-weak" ]
}
}
@@ -22,7 +22,7 @@
if (is_linux) {
libs = [ "xshmfence" ]
deps += [
-@@ -1206,7 +1212,7 @@ if (is_mac) {
+@@ -1218,7 +1224,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",
-@@ -1233,7 +1239,7 @@ if (is_mac) {
+@@ -1245,7 +1251,7 @@ if (is_mac) {
public_deps = [ "//tools/v8_context_snapshot:v8_context_snapshot" ]
}
@@ -40,7 +40,7 @@
data_deps += [ "//components/crash/core/app:chrome_crashpad_handler" ]
}
-@@ -1300,7 +1306,7 @@ if (is_mac) {
+@@ -1312,7 +1318,7 @@ if (is_mac) {
configs += [ "//build/config/gcc:rpath_for_built_shared_libraries" ]
}
@@ -49,7 +49,7 @@
deps += [ "//sandbox/linux:chrome_sandbox" ]
}
}
-@@ -1408,7 +1414,7 @@ dist_zip("electron_dist_zip") {
+@@ -1420,7 +1426,7 @@ dist_zip("electron_dist_zip") {
":electron_version_file",
":licenses",
]
diff --git a/devel/electron37/files/patch-electron_shell_app_electron__main__delegate.cc b/devel/electron37/files/patch-electron_shell_app_electron__main__delegate.cc
index 171564c219b8..4a361e9da833 100644
--- a/devel/electron37/files/patch-electron_shell_app_electron__main__delegate.cc
+++ b/devel/electron37/files/patch-electron_shell_app_electron__main__delegate.cc
@@ -1,6 +1,6 @@
---- electron/shell/app/electron_main_delegate.cc.orig 2025-07-02 10:12:01 UTC
+--- electron/shell/app/electron_main_delegate.cc.orig 2025-08-18 21:37:38 UTC
+++ electron/shell/app/electron_main_delegate.cc
-@@ -60,13 +60,13 @@
+@@ -66,13 +66,13 @@
#include "chrome/child/v8_crashpad_support_win.h"
#endif
@@ -16,7 +16,7 @@
#include "components/crash/core/app/crash_switches.h" // nogncheck
#include "components/crash/core/app/crashpad.h" // nogncheck
#include "components/crash/core/common/crash_key.h"
-@@ -158,7 +158,7 @@ bool ElectronPathProvider(int key, base::FilePath* res
+@@ -164,7 +164,7 @@ bool ElectronPathProvider(int key, base::FilePath* res
create_dir = true;
break;
}
@@ -25,7 +25,7 @@
case DIR_APP_DATA: {
auto env = base::Environment::Create();
cur = base::nix::GetXDGDirectory(
-@@ -284,7 +284,7 @@ std::optional<int> ElectronMainDelegate::BasicStartupC
+@@ -306,7 +306,7 @@ std::optional<int> ElectronMainDelegate::BasicStartupC
base::win::PinUser32();
#endif
@@ -34,7 +34,7 @@
// Check for --no-sandbox parameter when running as root.
if (getuid() == 0 && IsSandboxEnabled(command_line))
LOG(FATAL) << "Running as root without --"
-@@ -334,7 +334,7 @@ void ElectronMainDelegate::PreSandboxStartup() {
+@@ -356,7 +356,7 @@ void ElectronMainDelegate::PreSandboxStartup() {
/* is_preinit = */ IsBrowserProcess() || IsZygoteProcess());
#endif
@@ -43,7 +43,7 @@
crash_reporter::InitializeCrashKeys();
#endif
-@@ -369,7 +369,7 @@ void ElectronMainDelegate::PreSandboxStartup() {
+@@ -391,7 +391,7 @@ void ElectronMainDelegate::PreSandboxStartup() {
}
#endif
@@ -52,7 +52,7 @@
crash_keys::SetCrashKeysFromCommandLine(*command_line);
crash_keys::SetPlatformCrashKey();
#endif
-@@ -404,7 +404,7 @@ std::optional<int> ElectronMainDelegate::PreBrowserMai
+@@ -426,7 +426,7 @@ std::optional<int> ElectronMainDelegate::PreBrowserMai
#if BUILDFLAG(IS_MAC)
RegisterAtomCrApp();
#endif
diff --git a/devel/electron37/files/patch-electron_shell_browser_api_electron__api__app.cc b/devel/electron37/files/patch-electron_shell_browser_api_electron__api__app.cc
index 6cd6bc221472..4f6486828120 100644
--- a/devel/electron37/files/patch-electron_shell_browser_api_electron__api__app.cc
+++ b/devel/electron37/files/patch-electron_shell_browser_api_electron__api__app.cc
@@ -1,4 +1,4 @@
---- electron/shell/browser/api/electron_api_app.cc.orig 2025-07-02 10:12:01 UTC
+--- electron/shell/browser/api/electron_api_app.cc.orig 2025-08-13 14:21:20 UTC
+++ electron/shell/browser/api/electron_api_app.cc
@@ -96,7 +96,7 @@
#include "shell/common/process_util.h"
@@ -9,7 +9,7 @@
#include "base/nix/scoped_xdg_activation_token_injector.h"
#include "base/nix/xdg_util.h"
#endif
-@@ -420,7 +420,7 @@ bool NotificationCallbackWrapper(
+@@ -423,7 +423,7 @@ bool NotificationCallbackWrapper(
base::CommandLine cmd,
const base::FilePath& cwd,
const std::vector<uint8_t> additional_data) {
@@ -18,7 +18,7 @@
// Set the global activation token sent as a command line switch by another
// electron app instance. This also removes the switch after use to prevent
// any side effects of leaving it in the command line after this point.
-@@ -607,7 +607,7 @@ void App::OnFinishLaunching(base::Value::Dict launch_i
+@@ -610,7 +610,7 @@ void App::OnFinishLaunching(base::Value::Dict launch_i
}
void App::OnFinishLaunching(base::Value::Dict launch_info) {
@@ -27,7 +27,7 @@
// Set the application name for audio streams shown in external
// applications. Only affects pulseaudio currently.
media::AudioManager::SetGlobalAppName(Browser::Get()->GetName());
-@@ -950,7 +950,7 @@ void App::SetDesktopName(const std::string& desktop_na
+@@ -953,7 +953,7 @@ void App::SetDesktopName(const std::string& desktop_na
}
void App::SetDesktopName(const std::string& desktop_name) {
@@ -36,7 +36,7 @@
auto env = base::Environment::Create();
env->SetVar("CHROME_DESKTOP", desktop_name);
#endif
-@@ -1054,7 +1054,7 @@ bool App::RequestSingleInstanceLock(gin::Arguments* ar
+@@ -1057,7 +1057,7 @@ bool App::RequestSingleInstanceLock(gin::Arguments* ar
base::BindRepeating(NotificationCallbackWrapper, cb));
#endif
@@ -45,7 +45,7 @@
// Read the xdg-activation token and set it in the command line for the
// duration of the notification in order to ensure this is propagated to an
// already running electron app instance if it exists.
-@@ -1350,7 +1350,7 @@ std::vector<gin_helper::Dictionary> App::GetAppMetrics
+@@ -1354,7 +1354,7 @@ std::vector<gin_helper::Dictionary> App::GetAppMetrics
pid_dict.Set("name", process_metric.second->name);
}
@@ -54,7 +54,7 @@
auto memory_info = process_metric.second->GetMemoryInfo();
auto memory_dict = gin_helper::Dictionary::CreateEmpty(isolate);
-@@ -1732,7 +1732,7 @@ gin::ObjectTemplateBuilder App::GetObjectTemplateBuild
+@@ -1738,7 +1738,7 @@ gin::ObjectTemplateBuilder App::GetObjectTemplateBuild
.SetMethod(
"removeAsDefaultProtocolClient",
base::BindRepeating(&Browser::RemoveAsDefaultProtocolClient, browser))
@@ -63,7 +63,7 @@
.SetMethod(
"getApplicationInfoForProtocol",
base::BindRepeating(&Browser::GetApplicationInfoForProtocol, browser))
-@@ -1790,7 +1790,7 @@ gin::ObjectTemplateBuilder App::GetObjectTemplateBuild
+@@ -1796,7 +1796,7 @@ gin::ObjectTemplateBuilder App::GetObjectTemplateBuild
.SetMethod("getJumpListSettings", &App::GetJumpListSettings)
.SetMethod("setJumpList", &App::SetJumpList)
#endif
diff --git a/devel/electron37/files/patch-electron_shell_browser_api_electron__api__base__window.cc b/devel/electron37/files/patch-electron_shell_browser_api_electron__api__base__window.cc
index bb00052d766a..907f75cb7d15 100644
--- a/devel/electron37/files/patch-electron_shell_browser_api_electron__api__base__window.cc
+++ b/devel/electron37/files/patch-electron_shell_browser_api_electron__api__base__window.cc
@@ -1,4 +1,4 @@
---- electron/shell/browser/api/electron_api_base_window.cc.orig 2025-05-22 22:48:48 UTC
+--- electron/shell/browser/api/electron_api_base_window.cc.orig 2025-08-13 14:21:20 UTC
+++ electron/shell/browser/api/electron_api_base_window.cc
@@ -42,7 +42,7 @@
#include "shell/browser/ui/views/win_frame_view.h"
@@ -18,7 +18,7 @@
static_cast<NativeWindowViews*>(window_.get())
->SetIcon(native_image->image().AsImageSkia());
#endif
-@@ -1091,7 +1091,7 @@ bool BaseWindow::IsSnapped() const {
+@@ -1118,7 +1118,7 @@ v8::Local<v8::Value> BaseWindow::GetAccentColor() cons
}
#endif
@@ -27,7 +27,7 @@
void BaseWindow::SetTitleBarOverlay(const gin_helper::Dictionary& options,
gin_helper::Arguments* args) {
// Ensure WCO is already enabled on this window
-@@ -1342,7 +1342,7 @@ void BaseWindow::BuildPrototype(v8::Isolate* isolate,
+@@ -1371,7 +1371,7 @@ void BaseWindow::BuildPrototype(v8::Isolate* isolate,
.SetMethod("setThumbnailToolTip", &BaseWindow::SetThumbnailToolTip)
.SetMethod("setAppDetails", &BaseWindow::SetAppDetails)
#endif
diff --git a/devel/electron37/files/patch-electron_shell_browser_api_electron__api__base__window.h b/devel/electron37/files/patch-electron_shell_browser_api_electron__api__base__window.h
index 20efa3ef927e..1e4f49baaff2 100644
--- a/devel/electron37/files/patch-electron_shell_browser_api_electron__api__base__window.h
+++ b/devel/electron37/files/patch-electron_shell_browser_api_electron__api__base__window.h
@@ -1,7 +1,7 @@
---- electron/shell/browser/api/electron_api_base_window.h.orig 2025-05-07 07:36:13 UTC
+--- electron/shell/browser/api/electron_api_base_window.h.orig 2025-08-13 14:21:20 UTC
+++ electron/shell/browser/api/electron_api_base_window.h
-@@ -257,7 +257,7 @@ class BaseWindow : public gin_helper::TrackableObject<
- bool IsSnapped() const;
+@@ -259,7 +259,7 @@ class BaseWindow : public gin_helper::TrackableObject<
+ v8::Local<v8::Value> GetAccentColor() const;
#endif
-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX)
diff --git a/devel/electron37/files/patch-electron_shell_browser_api_electron__api__web__contents.cc b/devel/electron37/files/patch-electron_shell_browser_api_electron__api__web__contents.cc
index 680d1c3ed973..060da520901c 100644
--- a/devel/electron37/files/patch-electron_shell_browser_api_electron__api__web__contents.cc
+++ b/devel/electron37/files/patch-electron_shell_browser_api_electron__api__web__contents.cc
@@ -1,4 +1,4 @@
---- electron/shell/browser/api/electron_api_web_contents.cc.orig 2025-07-02 10:12:01 UTC
+--- electron/shell/browser/api/electron_api_web_contents.cc.orig 2025-08-18 21:37:38 UTC
+++ electron/shell/browser/api/electron_api_web_contents.cc
@@ -160,11 +160,11 @@
#include "ui/base/cocoa/defaults_utils.h"
@@ -32,7 +32,7 @@
if (auto* linux_ui = ui::LinuxUi::instance())
return linux_ui->GetCursorBlinkInterval();
#elif BUILDFLAG(IS_WIN)
-@@ -930,7 +930,7 @@ void WebContents::InitWithSessionAndOptions(
+@@ -931,7 +931,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));
-@@ -2673,13 +2673,13 @@ void WebContents::ForcefullyCrashRenderer() {
+@@ -2710,13 +2710,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);
-@@ -3356,7 +3356,7 @@ void WebContents::Focus() {
+@@ -3399,7 +3399,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
-@@ -4225,7 +4225,7 @@ ui::ImageModel WebContents::GetDevToolsWindowIcon() {
+@@ -4268,7 +4268,7 @@ ui::ImageModel WebContents::GetDevToolsWindowIcon() {
}
#endif
diff --git a/devel/electron37/files/patch-electron_shell_browser_api_electron__api__web__contents.h b/devel/electron37/files/patch-electron_shell_browser_api_electron__api__web__contents.h
index 067cdf21a89b..de1cc8f43ef2 100644
--- a/devel/electron37/files/patch-electron_shell_browser_api_electron__api__web__contents.h
+++ b/devel/electron37/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 2025-06-16 21:48:02 UTC
+--- electron/shell/browser/api/electron_api_web_contents.h.orig 2025-08-18 21:37:38 UTC
+++ electron/shell/browser/api/electron_api_web_contents.h
-@@ -741,7 +741,7 @@ class WebContents final : public ExclusiveAccessContex
+@@ -743,7 +743,7 @@ class WebContents final : public ExclusiveAccessContex
#if defined(TOOLKIT_VIEWS) && !BUILDFLAG(IS_MAC)
ui::ImageModel GetDevToolsWindowIcon() override;
#endif
diff --git a/devel/electron37/files/patch-electron_shell_browser_browser.h b/devel/electron37/files/patch-electron_shell_browser_browser.h
index 8abb0580770a..9d81a52e3348 100644
--- a/devel/electron37/files/patch-electron_shell_browser_browser.h
+++ b/devel/electron37/files/patch-electron_shell_browser_browser.h
@@ -1,6 +1,6 @@
---- electron/shell/browser/browser.h.orig 2024-10-22 02:29:46 UTC
+--- electron/shell/browser/browser.h.orig 2025-08-13 14:21:20 UTC
+++ electron/shell/browser/browser.h
-@@ -144,7 +144,7 @@ class Browser : private WindowListObserver {
+@@ -147,7 +147,7 @@ class Browser : private WindowListObserver {
std::u16string GetApplicationNameForProtocol(const GURL& url);
@@ -9,7 +9,7 @@
// get the name, icon and path for an application
v8::Local<v8::Promise> GetApplicationInfoForProtocol(v8::Isolate* isolate,
const GURL& url);
-@@ -272,10 +272,10 @@ class Browser : private WindowListObserver {
+@@ -275,10 +275,10 @@ class Browser : private WindowListObserver {
PCWSTR GetAppUserModelID();
#endif // BUILDFLAG(IS_WIN)
diff --git a/devel/electron37/files/patch-electron_shell_browser_native__window.cc b/devel/electron37/files/patch-electron_shell_browser_native__window.cc
index fca4b51359b0..c1ac025389df 100644
--- a/devel/electron37/files/patch-electron_shell_browser_native__window.cc
+++ b/devel/electron37/files/patch-electron_shell_browser_native__window.cc
@@ -1,11 +1,11 @@
---- electron/shell/browser/native_window.cc.orig 2025-07-02 10:12:01 UTC
+--- electron/shell/browser/native_window.cc.orig 2025-07-22 07:51:00 UTC
+++ electron/shell/browser/native_window.cc
-@@ -184,7 +184,7 @@ void NativeWindow::InitFromOptions(const gin_helper::D
+@@ -182,7 +182,7 @@ void NativeWindow::InitFromOptions(const gin_helper::D
} else {
SetSizeConstraints(size_constraints);
}
-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX)
+#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
- bool closable;
- if (options.Get(options::kClosable, &closable)) {
- SetClosable(closable);
+ if (bool val; options.Get(options::kClosable, &val))
+ SetClosable(val);
+ #endif
diff --git a/devel/electron37/files/patch-electron_shell_browser_native__window__views.cc b/devel/electron37/files/patch-electron_shell_browser_native__window__views.cc
index dc3bb249236d..a692323fc532 100644
--- a/devel/electron37/files/patch-electron_shell_browser_native__window__views.cc
+++ b/devel/electron37/files/patch-electron_shell_browser_native__window__views.cc
@@ -1,6 +1,6 @@
---- electron/shell/browser/native_window_views.cc.orig 2025-07-02 10:12:01 UTC
+--- electron/shell/browser/native_window_views.cc.orig 2025-08-13 14:21:20 UTC
+++ electron/shell/browser/native_window_views.cc
-@@ -51,7 +51,7 @@
+@@ -52,7 +52,7 @@
#include "ui/wm/core/shadow_types.h"
#include "ui/wm/core/window_util.h"
@@ -9,7 +9,7 @@
#include "base/strings/string_util.h"
#include "shell/browser/browser.h"
#include "shell/browser/linux/unity_service.h"
-@@ -299,7 +299,7 @@ NativeWindowViews::NativeWindowViews(const gin_helper:
+@@ -286,7 +286,7 @@ NativeWindowViews::NativeWindowViews(const gin_helper:
params.parent = parent->GetNativeWindow();
params.native_widget = new ElectronDesktopNativeWidgetAura(this);
@@ -18,7 +18,7 @@
std::string name = Browser::Get()->GetName();
// Set WM_WINDOW_ROLE.
params.wm_role_name = "browser-window";
-@@ -324,7 +324,7 @@ NativeWindowViews::NativeWindowViews(const gin_helper:
+@@ -311,7 +311,7 @@ NativeWindowViews::NativeWindowViews(const gin_helper:
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);
-@@ -448,7 +448,7 @@ NativeWindowViews::NativeWindowViews(const gin_helper:
+@@ -432,7 +432,7 @@ NativeWindowViews::NativeWindowViews(const gin_helper:
if (window)
window->AddPreTargetHandler(this);
@@ -36,7 +36,7 @@
// On linux after the widget is initialized we might have to force set the
// bounds if the bounds are smaller than the current display
SetBounds(gfx::Rect(GetPosition(), bounds.size()), false);
-@@ -469,7 +469,7 @@ void NativeWindowViews::SetGTKDarkThemeEnabled(bool us
+@@ -453,7 +453,7 @@ void NativeWindowViews::SetGTKDarkThemeEnabled(bool us
}
void NativeWindowViews::SetGTKDarkThemeEnabled(bool use_dark_theme) {
@@ -45,7 +45,7 @@
if (x11_util::IsX11()) {
const std::string color = use_dark_theme ? "dark" : "light";
auto* connection = x11::Connection::Get();
-@@ -530,7 +530,7 @@ void NativeWindowViews::Show() {
+@@ -514,7 +514,7 @@ void NativeWindowViews::Show() {
NotifyWindowShow();
@@ -54,7 +54,7 @@
if (global_menu_bar_)
global_menu_bar_->OnWindowMapped();
-@@ -546,7 +546,7 @@ void NativeWindowViews::ShowInactive() {
+@@ -530,7 +530,7 @@ void NativeWindowViews::ShowInactive() {
NotifyWindowShow();
@@ -63,7 +63,7 @@
if (global_menu_bar_)
global_menu_bar_->OnWindowMapped();
-@@ -565,7 +565,7 @@ void NativeWindowViews::Hide() {
+@@ -549,7 +549,7 @@ void NativeWindowViews::Hide() {
NotifyWindowHide();
@@ -72,7 +72,7 @@
if (global_menu_bar_)
global_menu_bar_->OnWindowUnmapped();
#endif
-@@ -596,7 +596,7 @@ bool NativeWindowViews::IsEnabled() const {
+@@ -580,7 +580,7 @@ bool NativeWindowViews::IsEnabled() const {
bool NativeWindowViews::IsEnabled() const {
#if BUILDFLAG(IS_WIN)
return ::IsWindowEnabled(GetAcceleratedWidget());
@@ -81,7 +81,7 @@
if (x11_util::IsX11())
return !event_disabler_.get();
NOTIMPLEMENTED();
-@@ -846,7 +846,7 @@ void NativeWindowViews::SetBounds(const gfx::Rect& bou
+@@ -814,7 +814,7 @@ void NativeWindowViews::SetBounds(const gfx::Rect& bou
}
#endif
@@ -90,7 +90,7 @@
// On Linux and Windows the minimum and maximum size should be updated with
// window size when window is not resizable.
if (!resizable_) {
-@@ -1103,7 +1103,7 @@ bool NativeWindowViews::IsClosable() const {
+@@ -1071,7 +1071,7 @@ bool NativeWindowViews::IsClosable() const {
return false;
}
return !(info.fState & MFS_DISABLED);
@@ -99,7 +99,7 @@
return true;
#endif
}
-@@ -1143,7 +1143,7 @@ void NativeWindowViews::Center() {
+@@ -1111,7 +1111,7 @@ void NativeWindowViews::Center() {
// for now to avoid breaking API contract, but should consider the long
// term plan for this aligning with upstream.
void NativeWindowViews::Center() {
@@ -108,7 +108,7 @@
auto display =
display::Screen::GetScreen()->GetDisplayNearestWindow(GetNativeWindow());
gfx::Rect window_bounds_in_screen = display.work_area();
-@@ -1368,7 +1368,7 @@ void NativeWindowViews::SetMenu(ElectronMenuModel* men
+@@ -1336,7 +1336,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();
-@@ -1424,7 +1424,7 @@ void NativeWindowViews::SetParentWindow(NativeWindow*
+@@ -1392,7 +1392,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(
-@@ -1470,7 +1470,7 @@ void NativeWindowViews::SetProgressBar(double progress
+@@ -1438,7 +1438,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);
}
-@@ -1568,7 +1568,7 @@ content::DesktopMediaID NativeWindowViews::GetDesktopM
+@@ -1564,7 +1564,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 =
-@@ -1666,7 +1666,7 @@ void NativeWindowViews::SetIcon(HICON window_icon, HIC
+@@ -1662,7 +1662,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());
-@@ -1771,7 +1771,7 @@ bool NativeWindowViews::CanMinimize() const {
+@@ -1783,7 +1783,7 @@ bool NativeWindowViews::CanMinimize() const {
bool NativeWindowViews::CanMinimize() const {
#if BUILDFLAG(IS_WIN)
return minimizable_;
@@ -162,7 +162,7 @@
return true;
#endif
}
-@@ -1827,7 +1827,7 @@ void NativeWindowViews::HandleKeyboardEvent(
+@@ -1839,7 +1839,7 @@ void NativeWindowViews::HandleKeyboardEvent(
if (widget_destroyed_)
return;
@@ -171,7 +171,7 @@
if (event.windows_key_code == ui::VKEY_BROWSER_BACK)
NotifyWindowExecuteAppCommand(kBrowserBackward);
else if (event.windows_key_code == ui::VKEY_BROWSER_FORWARD)
-@@ -1846,7 +1846,7 @@ void NativeWindowViews::OnMouseEvent(ui::MouseEvent* e
+@@ -1858,7 +1858,7 @@ void NativeWindowViews::OnMouseEvent(ui::MouseEvent* e
// Alt+Click should not toggle menu bar.
root_view_.ResetAltState();
diff --git a/devel/electron37/files/patch-electron_shell_browser_native__window__views.h b/devel/electron37/files/patch-electron_shell_browser_native__window__views.h
index 3cacc61bd239..5f2e253fd5e4 100644
--- a/devel/electron37/files/patch-electron_shell_browser_native__window__views.h
+++ b/devel/electron37/files/patch-electron_shell_browser_native__window__views.h
@@ -1,4 +1,4 @@
---- electron/shell/browser/native_window_views.h.orig 2025-07-02 10:12:01 UTC
+--- electron/shell/browser/native_window_views.h.orig 2025-08-13 14:21:20 UTC
+++ electron/shell/browser/native_window_views.h
@@ -26,7 +26,7 @@ namespace electron {
@@ -9,7 +9,7 @@
class GlobalMenuBarX11;
#endif
-@@ -164,7 +164,7 @@ class NativeWindowViews : public NativeWindow,
+@@ -165,7 +165,7 @@ class NativeWindowViews : public NativeWindow,
LPARAM l_param,
LRESULT* result);
void SetIcon(HICON small_icon, HICON app_icon);
@@ -18,7 +18,7 @@
void SetIcon(const gfx::ImageSkia& icon);
#endif
-@@ -249,7 +249,7 @@ class NativeWindowViews : public NativeWindow,
+@@ -254,7 +254,7 @@ class NativeWindowViews : public NativeWindow,
// events from resizing the window.
extensions::SizeConstraints old_size_constraints_;
diff --git a/devel/electron37/files/patch-electron_shell_common_node__bindings.cc b/devel/electron37/files/patch-electron_shell_common_node__bindings.cc
index 93f950fd62a6..753e0a45b250 100644
--- a/devel/electron37/files/patch-electron_shell_common_node__bindings.cc
+++ b/devel/electron37/files/patch-electron_shell_common_node__bindings.cc
@@ -1,4 +1,4 @@
---- electron/shell/common/node_bindings.cc.orig 2025-07-02 10:12:01 UTC
+--- electron/shell/common/node_bindings.cc.orig 2025-08-13 14:21:20 UTC
+++ electron/shell/common/node_bindings.cc
@@ -47,7 +47,7 @@
#include "third_party/electron_node/src/debug_utils.h"
@@ -27,7 +27,7 @@
electron::crash_keys::SetCrashKey("electron.v8-oom.is_heap_oom",
std::to_string(details.is_heap_oom));
if (location) {
-@@ -581,7 +581,7 @@ void NodeBindings::Initialize(v8::Local<v8::Context> c
+@@ -580,7 +580,7 @@ void NodeBindings::Initialize(v8::Local<v8::Context> c
TRACE_EVENT0("electron", "NodeBindings::Initialize");
// Open node's error reporting system for browser process.
diff --git a/devel/electron37/files/patch-electron_spec_api-app-spec.ts b/devel/electron37/files/patch-electron_spec_api-app-spec.ts
index af8cd3c05eb1..ebcc2de849bd 100644
--- a/devel/electron37/files/patch-electron_spec_api-app-spec.ts
+++ b/devel/electron37/files/patch-electron_spec_api-app-spec.ts
@@ -1,6 +1,6 @@
---- electron/spec/api-app-spec.ts.orig 2025-05-27 16:50:03 UTC
+--- electron/spec/api-app-spec.ts.orig 2025-08-13 14:21:20 UTC
+++ electron/spec/api-app-spec.ts
-@@ -126,11 +126,11 @@ describe('app module', () => {
+@@ -129,11 +129,11 @@ describe('app module', () => {
});
describe('app.getPreferredSystemLanguages()', () => {
@@ -14,7 +14,7 @@
const languages = app.getPreferredSystemLanguages();
if (languages.length) {
expect(languages).to.not.include('C');
-@@ -193,7 +193,7 @@ describe('app module', () => {
+@@ -196,7 +196,7 @@ describe('app module', () => {
expect(code).to.equal(123, 'exit code should be 123, if you see this please tag @MarshallOfSound');
});
@@ -23,7 +23,16 @@
const electronPath = process.execPath;
const appPath = path.join(fixturesPath, 'api', 'singleton');
appProcess = cp.spawn(electronPath, [appPath]);
-@@ -447,7 +447,7 @@ describe('app module', () => {
+@@ -360,7 +360,7 @@ describe('app module', () => {
+ });
+
+ // GitHub Actions macOS-13 runners used for x64 seem to have a problem with this test.
+- ifdescribe(process.platform !== 'linux' && !isMacOSx64)('app.{add|get|clear}RecentDocument(s)', () => {
++ ifdescribe(process.platform !== 'linux' && process.platform !== 'freebsd' && !isMacOSx64)('app.{add|get|clear}RecentDocument(s)', () => {
+ const tempFiles = [
+ path.join(fixturesPath, 'foo.txt'),
+ path.join(fixturesPath, 'bar.txt'),
+@@ -488,7 +488,7 @@ describe('app module', () => {
// let w = null
// before(function () {
@@ -32,16 +41,16 @@
// this.skip()
// }
// })
-@@ -554,7 +554,7 @@ describe('app module', () => {
+@@ -595,7 +595,7 @@ describe('app module', () => {
describe('app.badgeCount', () => {
const platformIsNotSupported =
- (process.platform === 'win32') ||
-- (process.platform === 'linux' && !app.isUnityRunning());
-+ ((process.platform === 'linux' || process.platform === 'freebsd') && !app.isUnityRunning());
+ (process.platform === 'win32') ||
+- (process.platform === 'linux' && !app.isUnityRunning());
++ (process.platform === 'linux' && !app.isUnityRunning()) || (process.platform === 'freebsd');
const expectedBadgeCount = 42;
-@@ -598,7 +598,7 @@ describe('app module', () => {
+@@ -639,7 +639,7 @@ describe('app module', () => {
});
});
@@ -50,7 +59,7 @@
const isMac = process.platform === 'darwin';
const isWin = process.platform === 'win32';
-@@ -978,7 +978,7 @@ describe('app module', () => {
+@@ -1019,7 +1019,7 @@ describe('app module', () => {
});
});
@@ -59,7 +68,7 @@
it('is mutable', () => {
const values = [false, true, false];
const setters: Array<(arg: boolean) => void> = [
-@@ -1178,7 +1178,7 @@ describe('app module', () => {
+@@ -1233,7 +1233,7 @@ describe('app module', () => {
});
});
@@ -68,7 +77,7 @@
let w: BrowserWindow;
before(function () {
-@@ -1313,7 +1313,7 @@ describe('app module', () => {
+@@ -1368,7 +1368,7 @@ describe('app module', () => {
describe('getApplicationNameForProtocol()', () => {
// TODO: Linux CI doesn't have registered http & https handlers
@@ -77,7 +86,7 @@
// We can't expect particular app names here, but these protocols should
// at least have _something_ registered. Except on our Linux CI
// environment apparently.
-@@ -1331,7 +1331,7 @@ describe('app module', () => {
+@@ -1386,7 +1386,7 @@ describe('app module', () => {
});
});
@@ -86,7 +95,7 @@
it('returns promise rejection for a bogus protocol', async function () {
await expect(
app.getApplicationInfoForProtocol('bogus-protocol://')
-@@ -1381,7 +1381,7 @@ describe('app module', () => {
+@@ -1436,7 +1436,7 @@ describe('app module', () => {
});
// FIXME Get these specs running on Linux CI
@@ -95,7 +104,7 @@
const iconPath = path.join(__dirname, 'fixtures/assets/icon.ico');
const sizes = {
small: 16,
-@@ -1463,7 +1463,7 @@ describe('app module', () => {
+@@ -1518,7 +1518,7 @@ describe('app module', () => {
expect(entry.memory).to.have.property('privateBytes').that.is.greaterThan(0);
}
@@ -104,7 +113,7 @@
expect(entry.sandboxed).to.be.a('boolean');
}
-@@ -1537,7 +1537,7 @@ describe('app module', () => {
+@@ -1592,7 +1592,7 @@ describe('app module', () => {
it('succeeds with complete GPUInfo', async () => {
const completeInfo = await getGPUInfo('complete');
@@ -113,7 +122,7 @@
// For linux and macOS complete info is same as basic info
await verifyBasicGPUInfo(completeInfo);
const basicInfo = await getGPUInfo('basic');
-@@ -1561,7 +1561,7 @@ describe('app module', () => {
+@@ -1616,7 +1616,7 @@ describe('app module', () => {
});
});
diff --git a/devel/electron37/files/patch-electron_spec_api-browser-window-spec.ts b/devel/electron37/files/patch-electron_spec_api-browser-window-spec.ts
index 48b2a66afcda..7d0ad25633d7 100644
--- a/devel/electron37/files/patch-electron_spec_api-browser-window-spec.ts
+++ b/devel/electron37/files/patch-electron_spec_api-browser-window-spec.ts
@@ -1,6 +1,6 @@
---- electron/spec/api-browser-window-spec.ts.orig 2025-07-09 10:31:48 UTC
+--- electron/spec/api-browser-window-spec.ts.orig 2025-08-13 14:21:20 UTC
+++ electron/spec/api-browser-window-spec.ts
-@@ -69,7 +69,7 @@ describe('BrowserWindow module', () => {
+@@ -68,7 +68,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');
-@@ -296,7 +296,7 @@ describe('BrowserWindow module', () => {
+@@ -295,7 +295,7 @@ describe('BrowserWindow module', () => {
});
});
@@ -18,7 +18,7 @@
afterEach(closeAllWindows);
it('can set content protection', async () => {
const w = new BrowserWindow({ show: false });
-@@ -1167,7 +1167,7 @@ describe('BrowserWindow module', () => {
+@@ -1166,7 +1166,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;
-@@ -1184,7 +1184,7 @@ describe('BrowserWindow module', () => {
+@@ -1183,7 +1183,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();
-@@ -1249,7 +1249,7 @@ describe('BrowserWindow module', () => {
+@@ -1248,7 +1248,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 });
-@@ -1351,7 +1351,7 @@ describe('BrowserWindow module', () => {
+@@ -1350,7 +1350,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 });
-@@ -1810,7 +1810,7 @@ describe('BrowserWindow module', () => {
+@@ -1809,7 +1809,7 @@ describe('BrowserWindow module', () => {
});
});
@@ -63,7 +63,7 @@
it('checks normal bounds when maximized', async () => {
const bounds = w.getBounds();
const maximize = once(w, 'maximize');
-@@ -2020,7 +2020,7 @@ describe('BrowserWindow module', () => {
+@@ -2019,7 +2019,7 @@ describe('BrowserWindow module', () => {
});
});
@@ -72,7 +72,7 @@
it('checks normal bounds when minimized', async () => {
const bounds = w.getBounds();
const minimize = once(w, 'minimize');
-@@ -2984,7 +2984,7 @@ describe('BrowserWindow module', () => {
+@@ -3069,7 +3069,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);
-@@ -3010,7 +3010,7 @@ describe('BrowserWindow module', () => {
+@@ -3095,7 +3095,7 @@ describe('BrowserWindow module', () => {
});
});
@@ -90,7 +90,7 @@
it('sets 1 regardless of parameter', () => {
const w = new BrowserWindow({ show: false });
w.setOpacity(0);
-@@ -3221,7 +3221,7 @@ describe('BrowserWindow module', () => {
+@@ -3306,7 +3306,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();
-@@ -3287,7 +3287,7 @@ describe('BrowserWindow module', () => {
+@@ -3372,7 +3372,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();
-@@ -3952,7 +3952,7 @@ describe('BrowserWindow module', () => {
+@@ -4037,7 +4037,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 {
-@@ -4457,7 +4457,7 @@ describe('BrowserWindow module', () => {
+@@ -4542,7 +4542,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 });
-@@ -4728,7 +4728,7 @@ describe('BrowserWindow module', () => {
+@@ -4813,7 +4813,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 @@
const w = new BrowserWindow({});
const maximize = once(w, 'maximize');
w.maximize();
-@@ -4745,7 +4745,7 @@ describe('BrowserWindow module', () => {
+@@ -4830,7 +4830,7 @@ describe('BrowserWindow module', () => {
});
// TODO(dsanders11): Enable once maximize event works on Linux again on CI
@@ -144,7 +144,7 @@
afterEach(closeAllWindows);
it('should show the window if it is not currently shown', async () => {
const w = new BrowserWindow({ show: false });
-@@ -4782,7 +4782,7 @@ describe('BrowserWindow module', () => {
+@@ -4867,7 +4867,7 @@ describe('BrowserWindow module', () => {
// TODO(dsanders11): Enable once minimize event works on Linux again.
// See https://github.com/electron/electron/issues/28699
@@ -153,7 +153,7 @@
const w = new BrowserWindow();
const minimize = once(w, 'minimize');
w.minimize();
-@@ -5268,7 +5268,7 @@ describe('BrowserWindow module', () => {
+@@ -5353,7 +5353,7 @@ describe('BrowserWindow module', () => {
});
// On Linux there is no "resizable" property of a window.
@@ -162,7 +162,7 @@
const w = new BrowserWindow({ show: false });
expect(w.resizable).to.be.true('resizable');
-@@ -5478,7 +5478,7 @@ describe('BrowserWindow module', () => {
+@@ -5563,7 +5563,7 @@ describe('BrowserWindow module', () => {
});
});
@@ -171,7 +171,7 @@
// Not implemented on Linux.
afterEach(closeAllWindows);
-@@ -6725,7 +6725,7 @@ describe('BrowserWindow module', () => {
+@@ -6764,7 +6764,7 @@ describe('BrowserWindow module', () => {
describe('"transparent" option', () => {
afterEach(closeAllWindows);
diff --git a/devel/electron37/files/patch-electron_spec_api-utility-process-spec.ts b/devel/electron37/files/patch-electron_spec_api-utility-process-spec.ts
index eab6d0294f3a..ef027ac5f72f 100644
--- a/devel/electron37/files/patch-electron_spec_api-utility-process-spec.ts
+++ b/devel/electron37/files/patch-electron_spec_api-utility-process-spec.ts
@@ -1,6 +1,6 @@
---- electron/spec/api-utility-process-spec.ts.orig 2025-07-02 10:12:01 UTC
+--- electron/spec/api-utility-process-spec.ts.orig 2025-08-13 14:21:20 UTC
+++ electron/spec/api-utility-process-spec.ts
-@@ -487,7 +487,7 @@ describe('utilityProcess module', () => {
+@@ -522,7 +522,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');
-@@ -524,7 +524,7 @@ describe('utilityProcess module', () => {
+@@ -559,7 +559,7 @@ describe('utilityProcess module', () => {
await closeWindow(w);
});
diff --git a/devel/electron37/files/patch-electron_spec_api-web-contents-spec.ts b/devel/electron37/files/patch-electron_spec_api-web-contents-spec.ts
index 91ee421c5a05..001598b72527 100644
--- a/devel/electron37/files/patch-electron_spec_api-web-contents-spec.ts
+++ b/devel/electron37/files/patch-electron_spec_api-web-contents-spec.ts
@@ -1,6 +1,6 @@
---- electron/spec/api-web-contents-spec.ts.orig 2025-06-16 21:48:02 UTC
+--- electron/spec/api-web-contents-spec.ts.orig 2025-08-13 14:21:20 UTC
+++ electron/spec/api-web-contents-spec.ts
-@@ -2754,7 +2754,7 @@ describe('webContents module', () => {
+@@ -2797,7 +2797,7 @@ describe('webContents module', () => {
});
// TODO(codebytere): OOPIF printing is disabled on Linux at the moment due to crashes.
diff --git a/devel/electron37/files/patch-electron_spec_api-web-frame-main-spec.ts b/devel/electron37/files/patch-electron_spec_api-web-frame-main-spec.ts
index 279337ccb3c6..b5e0170a4816 100644
--- a/devel/electron37/files/patch-electron_spec_api-web-frame-main-spec.ts
+++ b/devel/electron37/files/patch-electron_spec_api-web-frame-main-spec.ts
@@ -1,7 +1,7 @@
---- electron/spec/api-web-frame-main-spec.ts.orig 2024-12-05 00:03:13 UTC
+--- electron/spec/api-web-frame-main-spec.ts.orig 2025-07-22 07:51:00 UTC
+++ electron/spec/api-web-frame-main-spec.ts
-@@ -315,7 +315,7 @@ describe('webFrameMain module', () => {
- });
+@@ -316,7 +316,7 @@ describe('webFrameMain module', () => {
+ afterEach(closeAllWindows);
// TODO(jkleinsc) fix this flaky test on linux
- ifit(process.platform !== 'linux')('throws upon accessing properties when disposed', async () => {
diff --git a/devel/electron37/files/patch-electron_spec_chromium-spec.ts b/devel/electron37/files/patch-electron_spec_chromium-spec.ts
index 8ae72b65b937..629ead59ad59 100644
--- a/devel/electron37/files/patch-electron_spec_chromium-spec.ts
+++ b/devel/electron37/files/patch-electron_spec_chromium-spec.ts
@@ -1,4 +1,4 @@
---- electron/spec/chromium-spec.ts.orig 2025-07-16 19:03:26 UTC
+--- electron/spec/chromium-spec.ts.orig 2025-08-13 14:21:20 UTC
+++ electron/spec/chromium-spec.ts
@@ -475,13 +475,13 @@ describe('command line switches', () => {
it('should not set an invalid locale', async () => testLocale('asdfkl', `${currentLocale}|${currentSystemLocale}|${currentPreferredLanguages}`));
@@ -33,7 +33,7 @@
const html = `
<html lang="ja-JP">
<head>
-@@ -3515,7 +3515,7 @@ describe('paste execCommand', () => {
+@@ -3516,7 +3516,7 @@ describe('paste execCommand', () => {
});
});
diff --git a/devel/electron37/files/patch-ui_accessibility_ax__tree.cc b/devel/electron37/files/patch-ui_accessibility_ax__tree.cc
index 86a10f0c749b..8e900bdbff86 100644
--- a/devel/electron37/files/patch-ui_accessibility_ax__tree.cc
+++ b/devel/electron37/files/patch-ui_accessibility_ax__tree.cc
@@ -1,4 +1,4 @@
---- ui/accessibility/ax_tree.cc.orig 2025-06-30 07:04:30 UTC
+--- ui/accessibility/ax_tree.cc.orig 2025-07-14 18:11:59 UTC
+++ ui/accessibility/ax_tree.cc
@@ -867,7 +867,7 @@ bool AXTree::ComputeNodeIsIgnoredChanged(
return old_node_is_ignored != new_node_is_ignored;
@@ -18,7 +18,7 @@
ClearExtraAnnouncementNodes();
#endif // BUILDFLAG(IS_LINUX)
-@@ -2181,7 +2181,7 @@ void AXTree::NotifyNodeAttributesWillChange(
+@@ -2187,7 +2187,7 @@ void AXTree::NotifyNodeAttributesWillChange(
new_data);
}
@@ -27,7 +27,7 @@
void AXTree::ClearExtraAnnouncementNodes() {
if (!extra_announcement_nodes_) {
return;
-@@ -2570,7 +2570,7 @@ bool AXTree::CreateNewChildVector(
+@@ -2576,7 +2576,7 @@ bool AXTree::CreateNewChildVector(
AXTreeUpdateState* update_state) {
DCHECK(GetTreeUpdateInProgressState());
bool success = true;
diff --git a/devel/electron37/files/patch-ui_gtk_gtk__compat.cc b/devel/electron37/files/patch-ui_gtk_gtk__compat.cc
index a670361153b9..58d0bca48e6b 100644
--- a/devel/electron37/files/patch-ui_gtk_gtk__compat.cc
+++ b/devel/electron37/files/patch-ui_gtk_gtk__compat.cc
@@ -1,6 +1,6 @@
---- ui/gtk/gtk_compat.cc.orig 2025-07-04 05:17:07 UTC
+--- ui/gtk/gtk_compat.cc.orig 2025-07-24 02:17:12 UTC
+++ ui/gtk/gtk_compat.cc
-@@ -65,22 +65,38 @@ void* GetLibGio() {
+@@ -64,22 +64,38 @@ void* GetLibGio() {
}
void* GetLibGio() {
@@ -39,7 +39,7 @@
return libgtk4;
}
-@@ -165,7 +181,11 @@ void* GetLibGdkPixbuf() {
+@@ -161,7 +177,11 @@ void* GetLibGdkPixbuf() {
} // namespace
void* GetLibGdkPixbuf() {
diff --git a/devel/electron37/files/patch-ui_gtk_ime__compat__check.cc b/devel/electron37/files/patch-ui_gtk_ime__compat__check.cc
deleted file mode 100644
index f5084072bfc6..000000000000
--- a/devel/electron37/files/patch-ui_gtk_ime__compat__check.cc
+++ /dev/null
@@ -1,21 +0,0 @@
---- ui/gtk/ime_compat_check.cc.orig 2025-06-30 07:04:30 UTC
-+++ ui/gtk/ime_compat_check.cc
-@@ -35,6 +35,10 @@ std::vector<base::FilePath> GetLibrarySearchPaths() {
-
- std::vector<base::FilePath> GetLibrarySearchPaths() {
- std::vector<base::FilePath> search_path;
-+#if BUILDFLAG(IS_BSD)
-+ // We really only care about this search path.
-+ search_path.emplace_back("/usr/local/lib");
-+#else
- void* handle = dlopen("libc.so.6", RTLD_GLOBAL | RTLD_LAZY | RTLD_NOLOAD);
- if (!handle) {
- return search_path;
-@@ -60,6 +64,7 @@ std::vector<base::FilePath> GetLibrarySearchPaths() {
- // SAFETY: The range is bound by `serinfo.dls_cnt`.
- search_path.emplace_back(UNSAFE_BUFFERS(sip->dls_serpath[j].dls_name));
- }
-+#endif
-
- return search_path;
- }
diff --git a/devel/electron37/files/yarn.lock b/devel/electron37/files/yarn.lock
index 4ff9dd5afc01..a12aa3686643 100644
--- a/devel/electron37/files/yarn.lock
+++ b/devel/electron37/files/yarn.lock
@@ -1058,20 +1058,6 @@
resolved "https://registry.yarnpkg.com/@types/unist/-/unist-3.0.2.tgz#6dd61e43ef60b34086287f83683a5c1b2dc53d20"
integrity sha512-dqId9J8K/vGi5Zr7oo212BGii5m3q5Hxlkwy3WpYuKPklmBEvsbMYYyLxAQpSffdLl/gdW0XUpKWFvYmyoWCoQ==
-"@types/webpack-env@^1.18.5":
- version "1.18.5"
- resolved "https://registry.yarnpkg.com/@types/webpack-env/-/webpack-env-1.18.5.tgz#eccda0b04fe024bed505881e2e532f9c119169bf"
- integrity sha512-wz7kjjRRj8/Lty4B+Kr0LN6Ypc/3SymeCCGSbaXp2leH0ZVg/PriNiOwNj4bD4uphI7A8NXS4b6Gl373sfO5mA==
-
-"@types/webpack@^5.28.5":
- version "5.28.5"
- resolved "https://registry.yarnpkg.com/@types/webpack/-/webpack-5.28.5.tgz#0e9d9a15efa09bbda2cef41356ca4ac2031ea9a2"
- integrity sha512-wR87cgvxj3p6D0Crt1r5avwqffqPXUkNlnQ1mjU93G7gCuFjufZR4I6j8cz5g1F1tTYpfOOFvly+cmIQwL9wvw==
- dependencies:
- "@types/node" "*"
- tapable "^2.2.0"
- webpack "^5"
-
"@types/yauzl@^2.9.1":
version "2.10.0"
resolved "https://registry.yarnpkg.com/@types/yauzl/-/yauzl-2.10.0.tgz#b3248295276cf8c6f153ebe6a9aba0c988cb2599"
@@ -1669,17 +1655,17 @@ boolean@^3.0.1:
integrity sha512-d0II/GO9uf9lfUHH2BQsjxzRJZBdsjgsBiW4BvhWk/3qoKwQFjIDVN19PfX8F2D/r9PCMTtLWjYVCFrpeYUzsw==
brace-expansion@^1.1.7:
- version "1.1.11"
- resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.11.tgz#3c7fcbf529d87226f3d2f52b966ff5271eb441dd"
- integrity sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==
+ version "1.1.12"
+ resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.12.tgz#ab9b454466e5a8cc3a187beaad580412a9c5b843"
+ integrity sha512-9T9UjW3r0UW5c1Q7GTwllptXwhvYmEzFhzMfZ9H7FQWt+uZePjZPjBP/W1ZEyZ1twGWom5/56TF4lPcqjnDHcg==
dependencies:
balanced-match "^1.0.0"
concat-map "0.0.1"
brace-expansion@^2.0.1:
- version "2.0.1"
- resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-2.0.1.tgz#1edc459e0f0c548486ecf9fc99f2221364b9a0ae"
- integrity sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==
+ version "2.0.2"
+ resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-2.0.2.tgz#54fc53237a613d854c7bd37463aad17df87214e7"
+ integrity sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==
dependencies:
balanced-match "^1.0.0"
@@ -8125,7 +8111,7 @@ webpack-sources@^3.2.3:
resolved "https://registry.yarnpkg.com/webpack-sources/-/webpack-sources-3.2.3.tgz#2d4daab8451fd4b240cc27055ff6a0c2ccea0cde"
integrity sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w==
-webpack@^5, webpack@^5.95.0:
+webpack@^5.95.0:
version "5.95.0"
resolved "https://registry.yarnpkg.com/webpack/-/webpack-5.95.0.tgz#8fd8c454fa60dad186fbe36c400a55848307b4c0"
integrity sha512-2t3XstrKULz41MNMBF+cJ97TyHdyQ8HCt//pqErqDvNjU9YQBnZxIHa11VXsi7F3mb5/aO2tuDxdeTPdU7xu9Q==