VerteDinde

#52365: fix: don't treat transparent overlays as occluders on macOS

Merged
Created: Jul 15, 2026, 8:48:03 PM
Merged: Jul 18, 2026, 1:58:38 AM
4 comments
Target: main

Description of Change

Fixes #51718.

Since #50579 re-enabled MacWebContentsOcclusion, Chromium's manual occlusion heuristic (active on macOS 13.3–25.x) marks a window occluded whenever a visible window above it fully contains its frame. It never looks at window opacity, so a transparent: true + setIgnoreMouseEvents(true) overlay flips the window beneath it to visibilityState = 'hidden' and triggers background throttling even though its content is fully visible.

This adds a Chromium patch that skips candidate occluders that can't visually cover anything — faded windows (alphaValue < 1), click-through windows, and non-opaque windows without an opaque background — mirroring how the Windows occlusion tracker filters WS_EX_TRANSPARENT and translucent layered windows. The #45776 hidden-then-shown fix from #50579 is untouched.

Checklist

Release Notes

Notes: Fixed a window being marked hidden and background-throttled on macOS when covered by a transparent or click-through window.

Backports

42-x-y
In-flight
PR Number
#52390
Waiting to be merged
43-x-y
In-flight
PR Number
#52389
Waiting to be merged
44-x-y
In-flight
PR Number
#52391
Waiting to be merged

Semver Impact

Major
Breaking changes
Minor
New features
Patch
Bug fixes
None
Docs, tests, etc.

Semantic Versioning helps users understand the impact of updates:

  • Major (X.y.z): Breaking changes that may require code modifications
  • Minor (x.Y.z): New features that maintain backward compatibility
  • Patch (x.y.Z): Bug fixes that don't change the API
  • None: Changes that don't affect using facing parts of Electron