ckerr

#54022: test: fix fullscreen spec waits

Merged
Created: Sep 16, 2026, 9:03:23 PM
Merged: Sep 17, 2026, 3:23:13 PM
4 comments
Target: main

Description of Change

The in-process iframe spec can time out after fullscreen entry succeeds. Hidden pages can defer fullscreenchange, which the fixture uses to signal completion. Await loading and the fullscreen request instead. Keep parent-event coverage in a separate test with background throttling disabled.

The BrowserWindow state test reuses settled event promises on its second cycle. Wait for fresh events on each transition and identify the phase and menu-bar state in assertion failures.

Found while investigating downstream CI. An isolated Linux/Xvfb probe reproduced deferred event delivery after successful entry. This does not establish the cause of the Windows ARM64 CI timeouts.

Validation

  • Focused Node checks exercise the actual spec callbacks and page script, including delayed events, rejected requests, missing parent events, and both menu-bar states.
  • Lint, formatting, and pre-commit checks pass.
  • 45-x-y, 44-x-y, 43-x-y, and 42-x-y contain identical affected test bodies and the same fixture. The patch applies cleanly to all four; the required API is present.
  • Native Electron tests for the final patch, including Windows ARM64 validation, have not been run.

Checklist

Release Notes

Notes: none

Backports

43-x-y
Merged
PR Number
#54045
Merged At
Sep 17, 2026, 11:33:54 PM
Released In
Not yet
Release Date
Not yet
44-x-y
Merged
PR Number
#54044
Merged At
Sep 17, 2026, 5:32:26 PM
Released In
Not yet
Release Date
Not yet
45-x-y
Merged
PR Number
#54046
Merged At
Sep 17, 2026, 5:48:17 PM
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