#54022: test: fix fullscreen spec waits
Merged
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, and42-x-ycontain 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
- 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
Release Notes
Notes: none
Backports
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