Checks which parts of the Fullscreen API the browser exposes,
and that entering and exiting fullscreen work. A browser should expose either the whole API or none of it.
A partial API (for example document.fullscreenEnabled without document.exitFullscreen)
breaks sites that feature-detect fullscreen and then call the rest of the API.
| Browser | API exposed |
|---|---|
| Safari / DuckDuckGo on iPhone, mobile site | No (only video.webkitEnterFullscreen()) |
| DuckDuckGo on iPhone, desktop site | Yes |
| Safari / DuckDuckGo on iPad | Yes |
| Desktop browsers | Yes |
Every browser should pass tests 1 and 2. Tests 3–5 only apply when the API is exposed.
Pending
Common site pattern: if document.fullscreenEnabled is true, call document.exitFullscreen()
while not in fullscreen. This must not throw synchronously; a rejected promise is fine.
Pending
Enter fullscreen, then use the in-page exit button. Expected: the yellow box fills the screen,
fullscreenElement becomes element-target, then null after exit, and the page lays out normally afterwards.
Requests fullscreen on the player container, like YouTube does. Expected: the white caption overlay stays visible in fullscreen. If only the bare video goes fullscreen, the caption is lost.
Calls video.webkitEnterFullscreen() where available (all iOS browsers). Expected: the system video player opens.