git: f1024bd59cb5 - 2024Q4 - devel/electron32: update to 32.2.3

From: Hiroki Tagato <tagattie_at_FreeBSD.org>
Date: Fri, 08 Nov 2024 14:53:37 UTC
The branch 2024Q4 has been updated by tagattie:

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

commit f1024bd59cb5ed189a69a9215300fcd34e04795b
Author:     Hiroki Tagato <tagattie@FreeBSD.org>
AuthorDate: 2024-11-08 14:47:26 +0000
Commit:     Hiroki Tagato <tagattie@FreeBSD.org>
CommitDate: 2024-11-08 14:53:31 +0000

    devel/electron32: update to 32.2.3
    
    While here, backport fix for "crash when generating shortcut text for
    super accelerator." [1]
    
    Changelog: https://github.com/electron/electron/releases/tag/v32.2.3
    
    Reported by:    GitHub (watch releases)
    Obtained from:  https://github.com/electron/electron/pull/44341 [1]
    MFH:            2024Q4
    Security:       96266fc9-1200-43b5-8393-4c51f54bb7bc
    
    (cherry picked from commit c880c5548c5a5e3210ade978bf0b86fa8757f0fa)
---
 devel/electron32/Makefile.version                  |  2 +-
 devel/electron32/distinfo                          | 10 +++---
 devel/electron32/files/package.json                |  1 -
 .../patch-electron_spec_api-browser-window-spec.ts | 38 +++++++++++-----------
 .../files/patch-electron_spec_api-protocol-spec.ts | 10 +++---
 .../files/patch-electron_spec_chromium-spec.ts     |  6 ++--
 .../patch-ui_base_accelerators_accelerator.cc      | 11 +++++++
 ...h-ui_base_accelerators_accelerator__unittest.cc | 12 +++++++
 .../files/patch-ui_strings_ui__strings.grd         | 14 ++++++++
 devel/electron32/files/yarn.lock                   |  5 ---
 10 files changed, 70 insertions(+), 39 deletions(-)

diff --git a/devel/electron32/Makefile.version b/devel/electron32/Makefile.version
index 9bd39e765638..1c3c78830281 100644
--- a/devel/electron32/Makefile.version
+++ b/devel/electron32/Makefile.version
@@ -1,2 +1,2 @@
-ELECTRON_VER=	32.2.2
+ELECTRON_VER=	32.2.3
 ELECTRON_VER_MAJOR=	${ELECTRON_VER:C/\..*//}
diff --git a/devel/electron32/distinfo b/devel/electron32/distinfo
index ba9d738df636..1356e7a380df 100644
--- a/devel/electron32/distinfo
+++ b/devel/electron32/distinfo
@@ -1,4 +1,4 @@
-TIMESTAMP = 1729714939
+TIMESTAMP = 1731056246
 SHA256 (electron/chromium-128.0.6613.186.tar.xz.0) = 3ed399ba626343eb1a522939b16ded1ff5b553b477bd37e48710371000fa294b
 SIZE (electron/chromium-128.0.6613.186.tar.xz.0) = 2000000000
 SHA256 (electron/chromium-128.0.6613.186.tar.xz.1) = 5986cf222802789f16b81759b7e1104edc61619a422c82c979d1268b90d7e415
@@ -7,10 +7,10 @@ SHA256 (electron/chromium-128.0.6613.186.tar.xz.2) = 9d48a4305a6a26b917476ff517b
 SIZE (electron/chromium-128.0.6613.186.tar.xz.2) = 766712880
 SHA256 (electron/pulseaudio-16.1.tar.gz) = 027266c62f2a84422ac45fa721a649508f0f1628fb1fd9242315ac54ce2d7c92
 SIZE (electron/pulseaudio-16.1.tar.gz) = 2763111
-SHA256 (electron/electron-yarn-cache-32.2.2.tar.xz) = 0dd35d16479c5acc3105302a1ccd76fe00cd82179e51f2e1e016908d7c2a5cf1
-SIZE (electron/electron-yarn-cache-32.2.2.tar.xz) = 32242840
-SHA256 (electron/electron-electron-v32.2.2_GH0.tar.gz) = fea7a470004300c1374c5f3b7487f1eb58a1f31a8491dd8778719784a82ce125
-SIZE (electron/electron-electron-v32.2.2_GH0.tar.gz) = 13897256
+SHA256 (electron/electron-yarn-cache-32.2.3.tar.xz) = 91757602275d2d266604a25a164dd40397261b26fa3e6770cfc4431cedd35b2d
+SIZE (electron/electron-yarn-cache-32.2.3.tar.xz) = 32181832
+SHA256 (electron/electron-electron-v32.2.3_GH0.tar.gz) = e030d15a96daa36e3903e9d549f8f1ff4a4b5066bc6cb36d13254575d858a403
+SIZE (electron/electron-electron-v32.2.3_GH0.tar.gz) = 14651120
 SHA256 (electron/nodejs-node-v20.18.0_GH0.tar.gz) = 651bb82f6af18084070893559643759165ce050b5839f830d4cc098130d3ad89
 SIZE (electron/nodejs-node-v20.18.0_GH0.tar.gz) = 115526827
 SHA256 (electron/nodejs-nan-e14bdcd1f72d62bca1d541b66da43130384ec213_GH0.tar.gz) = 02edf8d5b3fef9af94d8a1355da60564a57e7f2c99cb422bce042400607ed2eb
diff --git a/devel/electron32/files/package.json b/devel/electron32/files/package.json
index 923f3765815b..416aec3f43d0 100644
--- a/devel/electron32/files/package.json
+++ b/devel/electron32/files/package.json
@@ -40,7 +40,6 @@
     "folder-hash": "^2.1.1",
     "got": "^11.8.5",
     "husky": "^8.0.1",
-    "lint": "^1.1.2",
     "lint-staged": "^10.2.11",
     "markdownlint-cli2": "^0.13.0",
     "minimist": "^1.2.8",
diff --git a/devel/electron32/files/patch-electron_spec_api-browser-window-spec.ts b/devel/electron32/files/patch-electron_spec_api-browser-window-spec.ts
index 0beb26d4a27a..9556de17dd6b 100644
--- a/devel/electron32/files/patch-electron_spec_api-browser-window-spec.ts
+++ b/devel/electron32/files/patch-electron_spec_api-browser-window-spec.ts
@@ -1,4 +1,4 @@
---- electron/spec/api-browser-window-spec.ts.orig	2024-10-22 17:22:08 UTC
+--- electron/spec/api-browser-window-spec.ts.orig	2024-11-05 17:01:40 UTC
 +++ electron/spec/api-browser-window-spec.ts
 @@ -67,7 +67,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');
-@@ -1124,7 +1124,7 @@ describe('BrowserWindow module', () => {
+@@ -1123,7 +1123,7 @@ describe('BrowserWindow module', () => {
  
      describe('BrowserWindow.minimize()', () => {
        // TODO(codebytere): Enable for Linux once maximize/minimize events work in CI.
@@ -18,7 +18,7 @@
          const minimize = once(w, 'minimize');
          w.minimize();
          await minimize;
-@@ -1141,7 +1141,7 @@ describe('BrowserWindow module', () => {
+@@ -1140,7 +1140,7 @@ describe('BrowserWindow module', () => {
        });
  
        // TODO(dsanders11): Enable for Linux once CI plays nice with these kinds of tests
@@ -27,7 +27,7 @@
          const maximize = once(w, 'maximize');
          const shown = once(w, 'show');
          w.maximize();
-@@ -1206,7 +1206,7 @@ describe('BrowserWindow module', () => {
+@@ -1205,7 +1205,7 @@ describe('BrowserWindow module', () => {
          expect(w.isFocused()).to.equal(true);
        });
  
@@ -36,7 +36,7 @@
          const w1 = new BrowserWindow({ show: false });
          const w2 = new BrowserWindow({ show: false });
          const w3 = new BrowserWindow({ show: false });
-@@ -1307,7 +1307,7 @@ describe('BrowserWindow module', () => {
+@@ -1306,7 +1306,7 @@ describe('BrowserWindow module', () => {
          expect(w.isFocused()).to.equal(false);
        });
  
@@ -45,7 +45,7 @@
          const w1 = new BrowserWindow({ show: false });
          const w2 = new BrowserWindow({ show: false });
          const w3 = new BrowserWindow({ show: false });
-@@ -1745,7 +1745,7 @@ describe('BrowserWindow module', () => {
+@@ -1744,7 +1744,7 @@ describe('BrowserWindow module', () => {
          });
        });
  
@@ -54,7 +54,7 @@
          it('checks normal bounds when maximized', async () => {
            const bounds = w.getBounds();
            const maximize = once(w, 'maximize');
-@@ -1955,7 +1955,7 @@ describe('BrowserWindow module', () => {
+@@ -1954,7 +1954,7 @@ describe('BrowserWindow module', () => {
          });
        });
  
@@ -63,7 +63,7 @@
          it('checks normal bounds when minimized', async () => {
            const bounds = w.getBounds();
            const minimize = once(w, 'minimize');
-@@ -2918,7 +2918,7 @@ describe('BrowserWindow module', () => {
+@@ -2917,7 +2917,7 @@ describe('BrowserWindow module', () => {
    describe('BrowserWindow.setOpacity(opacity)', () => {
      afterEach(closeAllWindows);
  
@@ -72,7 +72,7 @@
        it('make window with initial opacity', () => {
          const w = new BrowserWindow({ show: false, opacity: 0.5 });
          expect(w.getOpacity()).to.equal(0.5);
-@@ -2944,7 +2944,7 @@ describe('BrowserWindow module', () => {
+@@ -2943,7 +2943,7 @@ describe('BrowserWindow module', () => {
        });
      });
  
@@ -81,7 +81,7 @@
        it('sets 1 regardless of parameter', () => {
          const w = new BrowserWindow({ show: false });
          w.setOpacity(0);
-@@ -3155,7 +3155,7 @@ describe('BrowserWindow module', () => {
+@@ -3154,7 +3154,7 @@ describe('BrowserWindow module', () => {
        expect(overlayRectPreMax.height).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();
-@@ -3221,7 +3221,7 @@ describe('BrowserWindow module', () => {
+@@ -3220,7 +3220,7 @@ describe('BrowserWindow module', () => {
          expect(preMaxHeight).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();
-@@ -3886,7 +3886,7 @@ describe('BrowserWindow module', () => {
+@@ -3885,7 +3885,7 @@ describe('BrowserWindow module', () => {
          expect(test.nodeTimers).to.equal(true);
          expect(test.nodeUrl).to.equal(true);
  
@@ -108,7 +108,7 @@
            expect(test.creationTime).to.be.null('creation time');
            expect(test.systemMemoryInfo).to.be.null('system memory info');
          } else {
-@@ -4391,7 +4391,7 @@ describe('BrowserWindow module', () => {
+@@ -4390,7 +4390,7 @@ describe('BrowserWindow module', () => {
      });
    });
  
@@ -117,7 +117,7 @@
      afterEach(closeAllWindows);
      it('emits an event when window is maximized', async () => {
        const w = new BrowserWindow({ show: false });
-@@ -4662,7 +4662,7 @@ describe('BrowserWindow module', () => {
+@@ -4661,7 +4661,7 @@ describe('BrowserWindow module', () => {
      // TODO(zcbenz):
      // This test does not run on Linux CI. See:
      // https://github.com/electron/electron/issues/28699
@@ -126,7 +126,7 @@
        const w = new BrowserWindow({});
        const maximize = once(w, 'maximize');
        w.maximize();
-@@ -4679,7 +4679,7 @@ describe('BrowserWindow module', () => {
+@@ -4678,7 +4678,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 });
-@@ -4716,7 +4716,7 @@ describe('BrowserWindow module', () => {
+@@ -4715,7 +4715,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();
-@@ -5190,7 +5190,7 @@ describe('BrowserWindow module', () => {
+@@ -5189,7 +5189,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');
  
-@@ -5329,7 +5329,7 @@ describe('BrowserWindow module', () => {
+@@ -5328,7 +5328,7 @@ describe('BrowserWindow module', () => {
      });
    });
  
@@ -162,7 +162,7 @@
      // Not implemented on Linux.
      afterEach(closeAllWindows);
  
-@@ -6494,7 +6494,7 @@ describe('BrowserWindow module', () => {
+@@ -6495,7 +6495,7 @@ describe('BrowserWindow module', () => {
    describe('"transparent" option', () => {
      afterEach(closeAllWindows);
  
diff --git a/devel/electron32/files/patch-electron_spec_api-protocol-spec.ts b/devel/electron32/files/patch-electron_spec_api-protocol-spec.ts
index b57997fddbb7..707c58a2b18a 100644
--- a/devel/electron32/files/patch-electron_spec_api-protocol-spec.ts
+++ b/devel/electron32/files/patch-electron_spec_api-protocol-spec.ts
@@ -1,11 +1,11 @@
---- electron/spec/api-protocol-spec.ts.orig	2024-10-09 13:53:06 UTC
+--- electron/spec/api-protocol-spec.ts.orig	2024-11-05 17:01:40 UTC
 +++ electron/spec/api-protocol-spec.ts
-@@ -1737,7 +1737,7 @@ describe('protocol module', () => {
-     });
+@@ -1738,7 +1738,7 @@ describe('protocol module', () => {
  
      // TODO(nornagon): this test doesn't pass on Linux currently, investigate.
--    ifit(process.platform !== 'linux')('is fast', async () => {
-+    ifit(process.platform !== 'linux' && process.platform !== 'freebsd')('is fast', async () => {
+     // 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/electron32/files/patch-electron_spec_chromium-spec.ts b/devel/electron32/files/patch-electron_spec_chromium-spec.ts
index e73da56045a6..05d1382ec106 100644
--- a/devel/electron32/files/patch-electron_spec_chromium-spec.ts
+++ b/devel/electron32/files/patch-electron_spec_chromium-spec.ts
@@ -1,4 +1,4 @@
---- electron/spec/chromium-spec.ts.orig	2024-10-22 17:22:08 UTC
+--- electron/spec/chromium-spec.ts.orig	2024-11-05 17:01:40 UTC
 +++ electron/spec/chromium-spec.ts
 @@ -474,13 +474,13 @@ describe('command line switches', () => {
      it('should not set an invalid locale', async () => testLocale('asdfkl', `${currentLocale}|${currentSystemLocale}|${currentPreferredLanguages}`));
@@ -27,7 +27,7 @@
        const rc = await startRemoteControlApp(['--trace-startup=*', `--trace-startup-file=${outputFilePath}`, '--trace-startup-duration=1', '--enable-logging']);
        const stderrComplete = new Promise<string>(resolve => {
          let stderr = '';
-@@ -2848,12 +2848,12 @@ describe('font fallback', () => {
+@@ -2885,12 +2885,12 @@ describe('font fallback', () => {
        expect(fonts[0].familyName).to.equal('Arial');
      } else if (process.platform === 'darwin') {
        expect(fonts[0].familyName).to.equal('Helvetica');
@@ -42,7 +42,7 @@
      const html = `
      <html lang="ja-JP">
        <head>
-@@ -3247,7 +3247,7 @@ describe('navigator.clipboard.write', () => {
+@@ -3286,7 +3286,7 @@ describe('navigator.clipboard.write', () => {
    });
  });
  
diff --git a/devel/electron32/files/patch-ui_base_accelerators_accelerator.cc b/devel/electron32/files/patch-ui_base_accelerators_accelerator.cc
new file mode 100644
index 000000000000..b30d690a091b
--- /dev/null
+++ b/devel/electron32/files/patch-ui_base_accelerators_accelerator.cc
@@ -0,0 +1,11 @@
+--- ui/base/accelerators/accelerator.cc.orig	2024-11-08 09:20:48 UTC
++++ ui/base/accelerators/accelerator.cc
+@@ -419,6 +419,8 @@ std::u16string Accelerator::ApplyLongFormModifiers(
+     result = ApplyModifierToAcceleratorString(result, IDS_APP_SEARCH_KEY);
+ #elif BUILDFLAG(IS_WIN)
+     result = ApplyModifierToAcceleratorString(result, IDS_APP_WINDOWS_KEY);
++#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
++    result = ApplyModifierToAcceleratorString(result, IDS_APP_SUPER_KEY);
+ #else
+     NOTREACHED_IN_MIGRATION();
+ #endif
diff --git a/devel/electron32/files/patch-ui_base_accelerators_accelerator__unittest.cc b/devel/electron32/files/patch-ui_base_accelerators_accelerator__unittest.cc
new file mode 100644
index 000000000000..d253e6035192
--- /dev/null
+++ b/devel/electron32/files/patch-ui_base_accelerators_accelerator__unittest.cc
@@ -0,0 +1,12 @@
+--- ui/base/accelerators/accelerator_unittest.cc.orig	2024-10-18 12:35:12 UTC
++++ ui/base/accelerators/accelerator_unittest.cc
+@@ -59,6 +59,9 @@ TEST(AcceleratorTest, MAYBE_GetShortcutText) {
+ #if BUILDFLAG(IS_MAC)
+     {VKEY_T, EF_COMMAND_DOWN | EF_CONTROL_DOWN, nullptr, u"⌃⌘T"},
+ #endif
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
++    {VKEY_T, EF_COMMAND_DOWN | EF_CONTROL_DOWN, u"Super+Ctrl+T", nullptr},
++#endif
+   };
+ 
+   for (const auto& key : keys) {
diff --git a/devel/electron32/files/patch-ui_strings_ui__strings.grd b/devel/electron32/files/patch-ui_strings_ui__strings.grd
new file mode 100644
index 000000000000..246281cec82e
--- /dev/null
+++ b/devel/electron32/files/patch-ui_strings_ui__strings.grd
@@ -0,0 +1,14 @@
+--- ui/strings/ui_strings.grd.orig	2024-10-18 12:35:12 UTC
++++ ui/strings/ui_strings.grd
+@@ -764,6 +764,11 @@ need to be translated for each locale.-->
+           Win
+         </message>
+       </if>
++      <if expr="is_posix">
++        <message name="IDS_APP_SUPER_KEY" desc="Windows key on Windows keyboards, and Command key on Mac keyboards.">
++          Super
++        </message>
++      </if>
+       <if expr="chromeos_ash">
+         <message name="IDS_APP_META_KEY" desc="External Meta key (Search key on ChromeOS keyboards, Windows key on Windows keyboards, and Command key on Mac keyboards)">
+           Meta
diff --git a/devel/electron32/files/yarn.lock b/devel/electron32/files/yarn.lock
index 686bec7ed054..6fa83a199196 100644
--- a/devel/electron32/files/yarn.lock
+++ b/devel/electron32/files/yarn.lock
@@ -4553,11 +4553,6 @@ lint-staged@^10.2.11:
     string-argv "0.3.1"
     stringify-object "^3.3.0"
 
-lint@^1.1.2:
-  version "1.1.2"
-  resolved "https://registry.yarnpkg.com/lint/-/lint-1.1.2.tgz#35ed064f322547c331358d899868664968ba371f"
-  integrity sha1-Ne0GTzIlR8MxNY2JmGhmSWi6Nx8=
-
 listr2@^2.1.0:
   version "2.2.0"
   resolved "https://registry.yarnpkg.com/listr2/-/listr2-2.2.0.tgz#cb88631258abc578c7fb64e590fe5742f28e4aac"