Confusion between WM fullscreen and Fullscreen API in "Fullscreen Window" endpoint
Nobody has claimed this yet.
- Dominant language
- HTML
- Stars
- 718
- Forks
- 228
- PR merge metrics
- No merged PRs in 30d
Description
In chapter 10. Command Contexts, section 10.7 Resizing and Positioning Windows:
10.7.5 Fullscreen Window
HTTP Method URI Template
POST /session/{session id}/window/fullscreen
NOTE
The Fullscreen Window command invokes the window manager-specific “full screen” operation, if any, on the window containing the current top-level browsing context. This typically increases the window to the size of the physical display and can hide browser chrome elements such as toolbars.
This non-normative note seems to imply that full screening is a native platform operation. However, the remote end steps use Fullscreen API terminology. In most browsers, the window manager fullscreen functionality is exposed as a normal user feature in all apps (i.e., green circle with arrows on macOS). Browsers implement their own fullscreen to support the Fullscreen API, but it is a separate mode.
In the case of macOS, an NSWindow can be fullscreen without any involvement of the Fullscreen API, so running the "fully exit fullscreen" algorithm as part of Set Window Rect will fail to unfullscreen a browser window that has entered that mode for whatever reason. I'm not sure whether we should mention "implementation-defined steps" that make a window resizable in addition to the "fully exit fullscreen" algorithm.
In any case, the non-normative note should use Fullscreen API terminology if that is how fullscreen is to be implemented by the remote end.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Read section 10.7.5, the Fullscreen Window command, and its remote end steps in the WebDriver specification. Compare the non-normative note's window-manager wording with the Fullscreen API terminology and the Set Window Rect behavior described in the issue. Done means the specification clearly distinguishes the two fullscreen modes and resolves how the affected steps should be described.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- html
- Domain
- documentation
- Issue type
- Documentation
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100