Contact emails
amb...@microsoft.com,jaso...@microsoft.com
Explainer
https://github.com/MicrosoftEdge/MSEdgeExplainers/blob/master/TitleBarCustomization/explainer.md
Design docs/spec
https://github.com/MicrosoftEdge/MSEdgeExplainers/blob/master/TitleBarCustomization/explainer.md
TAG review
https://github.com/w3ctag/design-reviews/issues/481
Summary
When the window controls overlay is enabled for installed desktop web apps, the app's client area is extended to cover the entire window--including the title bar area--and the window control buttons (close, maximize/restore, minimize) are overlaid on top of the client area. The web app developer is responsible for drawing and input-handling for the entire window except for the window controls overlay.
Motivation
Developers want to customize the title bar area so their PWAs feel more like native apps.
Risks
Interoperability and Compatibility
Given that Edge has interest in the feature, there would be at least one other browser that implements it. The feature involves additive changes (new web app manifest entry, new JS API, new CSS env variables) and modifications (changes to frame, new use of env(safe-area-inset-*), but no removals, so the compatibility risk is minimal.
Firefox: No public signals
Edge: Public support (https://github.com/w3c/manifest/issues/847)
Safari: No public signals
Web developers: No signals
Ergonomics
The changes associated with this feature will only be enabled for PWAs that opt-in to it, so there are minimal risks posed to the browser as a whole. A PWA that opts-in to the feature should also have minimal ergonomics risk since the manifest already needs to be parsed on startup to determine the correct display mode in which the app should be launched, so adding one extra manifest check on startup should have minimal impact.
Activation
The activation risk is low since this feature includes all the tools needed to create an app that uses the full extent of the window: new UA-provided window controls overlay, JS APIs to query the size of the overlay, and CSS environment variables to layout content around the overlay.
Security
The major risk is that giving sites partial control of the top of the app window is it allows developers to spoof content in what was previously a trusted, UA-controlled region. To minimize the risk of spoofing, the UA-provided window controls overlay will still display the origin of the website on startup (this is the current behavior of PWAs).
Will this feature be supported on all six Blink platforms (Windows, Mac, Linux, Chrome OS, Android, and Android WebView)?
No
All platforms will be supported except Android and iOS. These two platforms already support “fullscreen” display mode and don't use window controls negating the need for an overlay.
Is this feature fully tested by web-platform-tests?
No
N/A not implemented
Link to entry on the Chrome Platform Status
https://www.chromestatus.com/feature/5741247866077184