w3c / w3c/webdriver

Confusion between WM fullscreen and Fullscreen API in "Fullscreen Window" endpoint

Open
#1,228 6 comments 0 reactions 0 assignees View on GitHub

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

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.