#52584: fix: remove shadow artifacts that appear when multiple windows are created on Linux
Description of Change
Resolves #51456.
Prevents Aura from applying its own drop shadows to windows, since modern versions of Electron and Chrome draw shadows directly on the frame or with DWM.
The Aura shadow manager was vestigial in Electron. All it was doing was producing subtle graphical glitches for additional windows created after first, due to a race where the controller only fully initialized after the first window was created.
This change applies to both Linux and Windows. At first I was confused about the impact on Windows, because there is no other code left in Electron to control shadows on the platform. On further investigation I discovered that hasShadow does not function on Windows already, and it seems it has not worked for a long time if ever (I tested back to Electron 37). So I thought it would be best to remove the dead code and look into a solution for Windows separately: #52583.
Checklist
- I have built and tested this change
- I have filled out the PR description
- I have reviewed and verified the changes
-
npm testpasses - tests are changed or added
- relevant API documentation, tutorials, and examples are updated and follow the documentation style guide
- PR release notes describe the change in a way relevant to app developers, and are capitalized, punctuated, and past tense.
Release Notes
Notes: Fixed a graphical glitch on Linux where thin borders appeared past the drop shadows on frameless windows when multiple windows were created.
Backports
Semver Impact
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