-
Notifications
You must be signed in to change notification settings - Fork 17.2k
Comparing changes
Open a pull request
base repository: electron/electron
base: v40.8.3
head repository: electron/electron
compare: v40.8.5
- 19 commits
- 38 files changed
- 17 contributors
Commits on Mar 18, 2026
-
fix: ensure WebContents::WasShown runs when window is shown (#50344)
Avoids a freeze when failing to enter fullscreen on macOS. Co-authored-by: trop[bot] <37223003+trop[bot]@users.noreply.github.com> Co-authored-by: John Beutner <beutner.john@gmail.com>
Configuration menu - View commit details
-
Copy full SHA for 5f020c4 - Browse repository at this point
Copy the full SHA 5f020c4View commit details
Commits on Mar 19, 2026
-
fix: always call the original impl in swizzled mousedown impls (#50355)
fix: always call the original implementation in swizzled mousedown implementations Co-authored-by: trop[bot] <37223003+trop[bot]@users.noreply.github.com> Co-authored-by: Noah Gregory <noahmgregory@gmail.com>
Configuration menu - View commit details
-
Copy full SHA for 00827a2 - Browse repository at this point
Copy the full SHA 00827a2View commit details -
chore: Respect HTTP(S) proxy env variable for Yarn (#50352)
Respect HTTP(S) proxy env variable for Yarn Co-authored-by: trop[bot] <37223003+trop[bot]@users.noreply.github.com> Co-authored-by: Filip Mösner <filip.mosner@seznam.cz>
Configuration menu - View commit details
-
Copy full SHA for ef66db3 - Browse repository at this point
Copy the full SHA ef66db3View commit details -
fix: correctly track BaseWindow::IsActive() on MacOS (#50337)
fix: correctly set IsActive() in BaseWindow on MacOS Co-authored-by: trop[bot] <37223003+trop[bot]@users.noreply.github.com> Co-authored-by: Kyle Cutler <kycutler@microsoft.com>
Configuration menu - View commit details
-
Copy full SHA for bd193de - Browse repository at this point
Copy the full SHA bd193deView commit details -
ci: output build cache hit rate as GHA annotation (#50368)
Co-authored-by: trop[bot] <37223003+trop[bot]@users.noreply.github.com> Co-authored-by: David Sanders <dsanders11@ucsbalum.com>
Configuration menu - View commit details
-
Copy full SHA for a495539 - Browse repository at this point
Copy the full SHA a495539View commit details
Commits on Mar 20, 2026
-
fix: correct utility process exit code on Windows (#50387)
* fix: correct utility process exit code on Windows On Windows, process exit codes are 32-bit unsigned integers (DWORD). When passed from Chromium to Electron as a signed int and then implicitly converted to uint64_t, values with the high bit set (e.g., NTSTATUS codes) undergo sign extension, producing incorrect values. Cast the exit code to uint32_t before widening to uint64_t to prevent sign extension and preserve the original Windows exit code. Fixes #49455 Co-authored-by: João Silva <joaomrsilva@tecnico.ulisboa.pt> * fix: narrow HandleTermination and Shutdown to uint32_t, add tests Co-authored-by: João Silva <joaomrsilva@tecnico.ulisboa.pt> --------- Co-authored-by: trop[bot] <37223003+trop[bot]@users.noreply.github.com> Co-authored-by: João Silva <joaomrsilva@tecnico.ulisboa.pt>
Configuration menu - View commit details
-
Copy full SHA for a8dfe36 - Browse repository at this point
Copy the full SHA a8dfe36View commit details -
fix: don't re-parse URL unnecessarily when handling dialogs (#50401)
* fix: fallback to opaque URL when needed inside dialog callback Co-authored-by: Noah Gregory <noahmgregory@gmail.com> * refactor: remove additional URL parsing entirely when showing dialogs Co-authored-by: Noah Gregory <noahmgregory@gmail.com> * test: add crash test case for URL-less dialogs Co-authored-by: Noah Gregory <noahmgregory@gmail.com> * refactor: exit on events instead of on timeout for dialog crash test Co-authored-by: Robo <hop2deep@gmail.com> Co-authored-by: Noah Gregory <noahmgregory@gmail.com> * style: make linter happy Co-authored-by: Noah Gregory <noahmgregory@gmail.com> * style: make linter actually happy Co-authored-by: Noah Gregory <noahmgregory@gmail.com> * fix: address failing `safeDialogs` tests Co-authored-by: Noah Gregory <noahmgregory@gmail.com> --------- Co-authored-by: trop[bot] <37223003+trop[bot]@users.noreply.github.com> Co-authored-by: Noah Gregory <noahmgregory@gmail.com>
Configuration menu - View commit details
-
Copy full SHA for cca4a73 - Browse repository at this point
Copy the full SHA cca4a73View commit details
Commits on Mar 24, 2026
-
chore: cherry-pick 50b057660b4d from chromium (#50441)
* chore: cherry-pick 50b057660b4d from chromium * chore: update patches --------- Co-authored-by: PatchUp <73610968+patchup[bot]@users.noreply.github.com>
Configuration menu - View commit details
-
Copy full SHA for 5a1bda2 - Browse repository at this point
Copy the full SHA 5a1bda2View commit details -
chore: cherry-pick 3 changes from chromium (#50460)
* chore: cherry-pick 45c5a70d984d from chromium Describe a vector of segments as "segments", not "tokens" Bug: 487117772 Change-Id: I2dc132c4e618e398e1f8bdabc03a8d2ab6c118e7 Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7606599 Commit-Queue: Anders Hartvoll Ruud <andruud@chromium.org> Reviewed-by: Steinar H Gunderson <sesse@chromium.org> Cr-Commit-Position: refs/heads/main@{#1590040} Co-Authored-By: Claude <svc-devxp-claude@slack-corp.com> * chore: cherry-pick 05e4b544803c from chromium Stringify CSSUnparsedValues via toString, as normal Bug: 484751092 Change-Id: I5db45ad85f780c67a2ea3ba8482c390ebab10068 Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7600415 Commit-Queue: Anders Hartvoll Ruud <andruud@chromium.org> Reviewed-by: Steinar H Gunderson <sesse@chromium.org> Cr-Commit-Position: refs/heads/main@{#1590041} Co-Authored-By: Claude <svc-devxp-claude@slack-corp.com> * chore: cherry-pick 5efc7a0127a6 from chromium Validate CSSUnparsedValues upon assignment Fixed: 484751092 Change-Id: Id7f888a6df8c02ade24910900f5d01909cb2dfad Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7595347 Reviewed-by: Steinar H Gunderson <sesse@chromium.org> Commit-Queue: Anders Hartvoll Ruud <andruud@chromium.org> Cr-Commit-Position: refs/heads/main@{#1590110} Co-Authored-By: Claude <svc-devxp-claude@slack-corp.com> * chore: update patches Co-Authored-By: Claude <svc-devxp-claude@slack-corp.com> --------- Co-authored-by: Claude <svc-devxp-claude@slack-corp.com>
Configuration menu - View commit details
-
Copy full SHA for 6247116 - Browse repository at this point
Copy the full SHA 6247116View commit details -
chore: cherry-pick 074d472db745 from chromium (#50449)
* chore: cherry-pick 074d472db745 from chromium * chore: update patches Co-Authored-By: Claude <svc-devxp-claude@slack-corp.com> --------- Co-authored-by: John Kleinschmidt <jkleinsc@electronjs.org> Co-authored-by: Claude <svc-devxp-claude@slack-corp.com>
Configuration menu - View commit details
-
Copy full SHA for 0d3f57f - Browse repository at this point
Copy the full SHA 0d3f57fView commit details -
fix: read nodeIntegrationInWorker from per-frame WebPreferences (#50122…
…) (#50467) Previously the renderer checked a process-wide command-line switch to decide whether to create a Node.js environment for dedicated workers. When a renderer process hosted multiple WebContents with different nodeIntegrationInWorker values (e.g. via window.open with overridden webPreferences in setWindowOpenHandler), all workers in the process used whichever value the first WebContents set on the command line. Instead, plumb the flag through blink's WorkerSettings at worker creation time, copying it from the initiating frame's WebPreferences. The check on the worker thread then reads the per-worker value. Nested workers inherit the flag from their parent worker via WorkerSettings::Copy. The --node-integration-in-worker command-line switch is removed as it is no longer consumed. Co-authored-by: Samuel Attard <sam@electronjs.org>
Configuration menu - View commit details
-
Copy full SHA for 2871c1d - Browse repository at this point
Copy the full SHA 2871c1dView commit details
Commits on Mar 25, 2026
-
chore: cherry-pick fbfb27470bf6 from chromium (#50438)
* chore: cherry-pick fbfb27470bf6 from chromium * chore: update patches * chore: cherry-pick bf6dd974238b from angle (#50437) * fix: remove duplicate MaxGeometryUniformBlocks from angle cherry-pick patch The angle cherry-pick added MaxGeometryUniformBlocks in new locations, but it already existed in the EXT_geometry_shader section on 40-x-y, causing a duplicate struct member build error in ShaderLang.h. Re-exported the patch from the angle repo to correctly generate context lines instead of additions for fields that already exist in the base. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com> * fix: guard validatePerStageMaxUniformBlocks with ANGLE_SH_VERSION check The angle cherry-pick patch that adds this field to ShCompileOptions may not be applied in CI due to the angle repo not being found during patch application. Guard the usage with a version check so compilation succeeds regardless of angle patch application order. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com> * Revert "fix: guard validatePerStageMaxUniformBlocks with ANGLE_SH_VERSION check" This reverts commit 9ebf565. * fix: add angle to patches config and re-export angle patches for M144 The angle entry was missing from patches/config.json on 40-x-y, which meant angle patches were never applied during gclient sync or CI builds. This caused the chromium cherry-pick to fail with "no member named 'validatePerStageMaxUniformBlocks' in 'ShCompileOptions'". Also re-exports the angle patches against the M144 base, resolving conflicts from the M142-targeted patches. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com> * chore: Update patches --------- Co-authored-by: PatchUp <73610968+patchup[bot]@users.noreply.github.com> Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Configuration menu - View commit details
-
Copy full SHA for e1c17fd - Browse repository at this point
Copy the full SHA e1c17fdView commit details
Commits on Mar 26, 2026
-
fix: crash in clipboard.readImage() on malformed image data (#50491)
gfx::PNGCodec::Decode() returns a null SkBitmap when it fails to decode the clipboard contents as a PNG. Passing that null bitmap to gfx::Image::CreateFrom1xBitmap() triggers a crash. Return an empty gfx::Image instead, matching the existing null-check pattern in skia_util.cc. Co-authored-by: trop[bot] <37223003+trop[bot]@users.noreply.github.com> Co-authored-by: Sam Attard <sattard@anthropic.com>
Configuration menu - View commit details
-
Copy full SHA for 4aa3610 - Browse repository at this point
Copy the full SHA 4aa3610View commit details -
fix: crash calling OSR shared texture release() after texture GC'd (#…
…50500) The weak persistent tracking the OffscreenReleaseHolderMonitor was tied to the texture object, but the release() closure holds a raw pointer to the monitor via its v8::External data. If JS retained texture.release while dropping the texture itself, the monitor would be freed on GC and a later release() call would crash. Track the release function instead of the texture object. Since the texture holds release as a property, this keeps the monitor alive as long as either is reachable. Co-authored-by: trop[bot] <37223003+trop[bot]@users.noreply.github.com> Co-authored-by: Sam Attard <sattard@anthropic.com>
Configuration menu - View commit details
-
Copy full SHA for d284168 - Browse repository at this point
Copy the full SHA d284168View commit details -
refactor: remove dead named-window lookup from guest-window-manager (#…
…50495) The frameNamesToWindow map was a holdover from the BrowserWindowProxy IPC shim. Since nativeWindowOpen became the only code path, Blink's FrameTree::FindOrCreateFrameForNavigation resolves named window targets directly in the renderer, scoped to the opener's browsing context group. When a matching named window exists, Blink navigates it without ever sending a CreateNewWindow IPC to the browser, so this map was never consulted in the legitimate same-opener case. The only time the map found a match was when two unrelated renderers happened to use the same target name, in which case openGuestWindow would short-circuit before consuming the guest WebContents that Chromium had already created for the new window, leaking it. Adds a test verifying Blink handles same-opener named-target reuse end-to-end without any browser-side tracking. Co-authored-by: trop[bot] <37223003+trop[bot]@users.noreply.github.com> Co-authored-by: Sam Attard <sattard@anthropic.com>
Configuration menu - View commit details
-
Copy full SHA for 9bf9c36 - Browse repository at this point
Copy the full SHA 9bf9c36View commit details -
fix: [a11y] fire AXMenuOpened event when ARIA menu is added to DOM (#…
…50505) * fix: fire AXMenuOpened event when a visible ARIA menu instance is added to the DOM Co-authored-by: Keeley Hammond <khammond@slack-corp.com> * fix: remove redundent FireMenuPopupEndForDeletedMenus MENU_POPUP_END for deleted menus is already handled by AXTreeManager::OnNodeWillBeDeleted, which fires the event directly on the menu node before destruction. Co-authored-by: Keeley Hammond <khammond@slack-corp.com> * chore: add feature flag (kDynamicMenuPopupEvents) Co-authored-by: Keeley Hammond <vertedinde@electronjs.org> * chore: update patches Co-authored-by: Keeley Hammond <vertedinde@electronjs.org> * chore: update patches --------- Co-authored-by: trop[bot] <37223003+trop[bot]@users.noreply.github.com> Co-authored-by: Keeley Hammond <khammond@slack-corp.com> Co-authored-by: Keeley Hammond <vertedinde@electronjs.org>
Configuration menu - View commit details
-
Copy full SHA for 36c88a4 - Browse repository at this point
Copy the full SHA 36c88a4View commit details -
fix: fall back to default DPI when GTK returns 0 on Linux (#50488)
GetDefaultPrinterDPI() creates a blank GtkPrintSettings and reads its resolution, which returns 0 for uninitialized settings. With DPI=0, SetPrintableAreaIfValid() computes a zero scale factor, producing empty page dimensions that fail PrintMsgPrintParamsIsValid(). Fall back to kDefaultPdfDpi (72) when GTK returns 0, matching the existing Windows fallback pattern when CreateDC fails. Co-authored-by: trop[bot] <37223003+trop[bot]@users.noreply.github.com> Co-authored-by: Shelley Vohr <shelley.vohr@gmail.com>
Configuration menu - View commit details
-
Copy full SHA for 904fbbd - Browse repository at this point
Copy the full SHA 904fbbdView commit details -
fix: hex-encode Windows notification icon temp filenames (#50484)
* fix: hex-encode Windows notification icon temp filenames NotificationPresenterWin was using SHA1HashString(origin.spec()) directly as the basename for the temporary PNG written for toast icons. SHA1HashString returns raw digest bytes, so the generated filename could contain invalid path characters on Windows. That caused WriteFile to fail when saving notification icons, which left toast XML without the expected icon path. Hex-encode the digest before appending .png so the temporary filename is filesystem-safe while keeping deterministic naming for a given origin. Co-authored-by: Shelley Vohr <shelley.vohr@gmail.com> * Update shell/browser/notifications/win/notification_presenter_win.cc Co-authored-by: Robo <hop2deep@gmail.com> Co-authored-by: Shelley Vohr <shelley.vohr@gmail.com> --------- Co-authored-by: trop[bot] <37223003+trop[bot]@users.noreply.github.com> Co-authored-by: Shelley Vohr <shelley.vohr@gmail.com>
Configuration menu - View commit details
-
Copy full SHA for 44f02f6 - Browse repository at this point
Copy the full SHA 44f02f6View commit details -
fix: outdated execution path for COM activation (#50518)
* fix: outdated execution path Co-authored-by: Jan Hannemann <jan.hannemann@outlook.com> * fix: use stub exe when detected Co-authored-by: Jan Hannemann <jan.hannemann@outlook.com> --------- Co-authored-by: trop[bot] <37223003+trop[bot]@users.noreply.github.com> Co-authored-by: Jan Hannemann <jan.hannemann@outlook.com>
Configuration menu - View commit details
-
Copy full SHA for c09e2aa - Browse repository at this point
Copy the full SHA c09e2aaView commit details
This comparison is taking too long to generate.
Unfortunately it looks like we can’t render this comparison for you right now. It might be too big, or there might be something weird with your repository.
You can try running this command locally to see the comparison on your machine:
git diff v40.8.3...v40.8.5