Skip to content
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: electron/electron
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: v40.8.3
Choose a base ref
...
head repository: electron/electron
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: v40.8.5
Choose a head ref
  • 19 commits
  • 38 files changed
  • 17 contributors

Commits on Mar 18, 2026

  1. 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>
    trop[bot] and cptpcrd authored Mar 18, 2026
    Configuration menu
    Copy the full SHA
    5f020c4 View commit details
    Browse the repository at this point in the history

Commits on Mar 19, 2026

  1. 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>
    trop[bot] and nmggithub authored Mar 19, 2026
    Configuration menu
    Copy the full SHA
    00827a2 View commit details
    Browse the repository at this point in the history
  2. 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>
    trop[bot] and panther7 authored Mar 19, 2026
    Configuration menu
    Copy the full SHA
    ef66db3 View commit details
    Browse the repository at this point in the history
  3. 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>
    trop[bot] and kycutler authored Mar 19, 2026
    Configuration menu
    Copy the full SHA
    bd193de View commit details
    Browse the repository at this point in the history
  4. 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>
    trop[bot] and dsanders11 authored Mar 19, 2026
    Configuration menu
    Copy the full SHA
    a495539 View commit details
    Browse the repository at this point in the history

Commits on Mar 20, 2026

  1. 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>
    trop[bot] and Jomy2323 authored Mar 20, 2026
    Configuration menu
    Copy the full SHA
    a8dfe36 View commit details
    Browse the repository at this point in the history
  2. 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>
    trop[bot] and nmggithub authored Mar 20, 2026
    Configuration menu
    Copy the full SHA
    cca4a73 View commit details
    Browse the repository at this point in the history

Commits on Mar 24, 2026

  1. 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>
    VerteDinde and patchup[bot] authored Mar 24, 2026
    Configuration menu
    Copy the full SHA
    5a1bda2 View commit details
    Browse the repository at this point in the history
  2. 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>
    VerteDinde and Claude authored Mar 24, 2026
    Configuration menu
    Copy the full SHA
    6247116 View commit details
    Browse the repository at this point in the history
  3. 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>
    3 people authored Mar 24, 2026
    Configuration menu
    Copy the full SHA
    0d3f57f View commit details
    Browse the repository at this point in the history
  4. 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>
    VerteDinde and MarshallOfSound authored Mar 24, 2026
    Configuration menu
    Copy the full SHA
    2871c1d View commit details
    Browse the repository at this point in the history

Commits on Mar 25, 2026

  1. 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>
    3 people authored Mar 25, 2026
    Configuration menu
    Copy the full SHA
    e1c17fd View commit details
    Browse the repository at this point in the history

Commits on Mar 26, 2026

  1. 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>
    trop[bot] and MarshallOfSound authored Mar 26, 2026
    Configuration menu
    Copy the full SHA
    4aa3610 View commit details
    Browse the repository at this point in the history
  2. 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>
    trop[bot] and MarshallOfSound authored Mar 26, 2026
    Configuration menu
    Copy the full SHA
    d284168 View commit details
    Browse the repository at this point in the history
  3. 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>
    trop[bot] and MarshallOfSound authored Mar 26, 2026
    Configuration menu
    Copy the full SHA
    9bf9c36 View commit details
    Browse the repository at this point in the history
  4. 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>
    3 people authored Mar 26, 2026
    Configuration menu
    Copy the full SHA
    36c88a4 View commit details
    Browse the repository at this point in the history
  5. 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>
    trop[bot] and codebytere authored Mar 26, 2026
    Configuration menu
    Copy the full SHA
    904fbbd View commit details
    Browse the repository at this point in the history
  6. 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>
    trop[bot] and codebytere authored Mar 26, 2026
    Configuration menu
    Copy the full SHA
    44f02f6 View commit details
    Browse the repository at this point in the history
  7. 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>
    trop[bot] and bitdisaster authored Mar 26, 2026
    Configuration menu
    Copy the full SHA
    c09e2aa View commit details
    Browse the repository at this point in the history
Loading