From a791201a5df7b9ff58606d4922cb3c697aff66a8 Mon Sep 17 00:00:00 2001
From: Matt Giuca
- A [=display mode=], as defined in [[MEDIAQUERIES-5]], represents how
- the web application is being presented within the context of an OS
- (e.g., in fullscreen, etc.). Display modes correspond to user interface
- (UI) metaphors and functionality in use on a given platform.
+ A display mode represents how the web
+ application is being presented within the context of an OS (e.g., in
+ fullscreen, etc.). Display modes correspond to user interface (UI)
+ metaphors and functionality in use on a given platform. The UI
+ conventions of the display modes are purely advisory and implementers
+ are free to interpret them how they best see fit.
+
+ This specification defines the following [=display modes=]:
+
+ The [=display mode/fullscreen=] display mode is orthogonal to,
+ and works independently of, the [[[FULLSCREEN]]]. The [=display
+ mode/fullscreen=] display mode affects the fullscreen state of
+ the browser window, while the [[FULLSCREEN]] API operates on an element
+ contained within the viewport. As such, a web application can have its
+ display mode set to [=display mode/fullscreen=], while
+ `document.fullScreenElement` returns `null`, and `fullscreenEnabled`
+ returns `false`.
Once a user agent [=applies=] a particular display mode to an
@@ -2628,14 +2683,20 @@
- Choosing a display mode
+ Display modes
+
+
A user agent MUST reflect the applied display mode of the web - application in the '`display-mode`' media feature [[MEDIAQUERIES-5]]. + application in the `display-mode` media feature [[MEDIAQUERIES-5]].
- A user agent will expose the '`display-mode`' media feature - irrespective of whether a manifest is being applied to a browsing - context. For example, if the end-user puts the application into - fullscreen, then the user agent would reflect this change to CSS and - scripts via the '`display-mode`' media feature. + A user agent will expose the actual display mode being applied — not + necessarily the one declared in the manifest — via the + `display-mode` media feature, accessible through CSS or + JavaScript. Note that this media feature will also reflect other + display modes for a web page when a manifest is not being applied. For + example, if the end-user puts the page into fullscreen, then the user + agent would reflect this change to CSS and scripts via the + `display-mode` media feature.