MarshallOfSound

#53502: test: leave fullscreen before destroying a window on macOS

Merged
Created: Sep 3, 2026, 11:54:47 PM
Merged: Sep 4, 2026, 1:13:14 AM
4 comments
Target: main

Description of Change

Three macOS BrowserWindow specs time out on their first attempt in every CI run, then pass on retry. Each one runs right after a test that leaves a window fullscreen, or still entering fullscreen, which closeAllWindows() then destroys. AppKit animates that window out of its Space and ignores fullscreen requests from other windows until the animation ends.

  • closeWindow() leaves fullscreen, and waits for it, before destroying a window on macOS.
  • The two kiosk constructor tests wait for enter-full-screen.

Measured on macos-15-large in #53492:

test before after
kiosk state with properties can be changed 32 s, 1 retry 2.3 s
kiosk state with functions can be changed 32 s, 1 retry 2.7 s
fullscreen state multiple windows inherit correct fullscreen state 32 s, 1 retry 2.7 s

Checklist

  • PR description included

Release Notes

Notes: none

Backports

43-x-y
Merged
PR Number
#53514
Merged At
Sep 4, 2026, 2:50:38 AM
Released In
Not yet
Release Date
Not yet
44-x-y
Merged
PR Number
#53513
Merged At
Sep 4, 2026, 2:37:26 AM
Released In
Not yet
Release Date
Not yet
45-x-y
Merged
PR Number
#53515
Merged At
Sep 4, 2026, 2:50:15 AM
Released In
Not yet
Release Date
Not yet

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