Adds a new advanced field to the web manifest, "display_override", where a developer with special requirements can specify an explicit display fallback chain they would like applied. Here's an example of a website that wants "minimal-ui" to fall back to "standalone". { "display": "standalone", "display_override": ["minimal-ui"], } Note: This API is only intended to be used for advanced use cases & display modes only. Most developers will only need to use the "display" property.
Motivation
The way the "display" field works is inflexible and has the following problems: 1: The fallback chain is inflexible. For example, a developer cannot request "minimal-ui" without being forced to fall back to "browser" if that display mode is not supported. This basically means that it is no longer a PWA. 2: Forces display modes on developers that they don't want. For example, if a developer does NOT want a specific display mode, especially if new modes are added, there is no way to have the browser NOT fallback to it if the requested mode is not supported. This is especially applicable for new display mode - if a developer want fullscreen, and tabbed is introduced after fullscreen in the display mode list, they must support a tabbed display mode, even if they don't want it. 3: As mentioned in 2, new APIs proposals like tabbed mode [1] and Window Control Overlay [2] [3] don't fit well in the existing list, and are thus blocked on us improving the API functionality here. Please see the explainer [4] for more information here. [1]: https://github.com/w3c/manifest/issues/737 [2]: https://github.com/MicrosoftEdge/MSEdgeExplainers/blob/master/TitleBarCustomization/explainer.md [3]: https://github.com/MicrosoftEdge/MSEdgeExplainers/issues/206 [4]: https://github.com/dmurph/display-mode/blob/master/explainer.md
Documentation
Specification
Status in Chromium
Enabled by default (tracking bug) in:
- Chrome for desktop release 89
Consensus & Standardization
Owner
Intent to Prototype url
Intent to Prototype threadSearch tags
display, display-override, display-option,Last updated on 2021-02-22