Contact emails

amb...@microsoft.com<mailto:amb...@microsoft.com>, 
luigo...@microsoft.com<mailto:luigo...@microsoft.com>, 
hata...@microsoft.com<mailto:hata...@microsoft.com>, 
c...@chromium.org<mailto:c...@chromium.org>

Explainer

https://github.com/WICG/window-controls-overlay/blob/master/explainer.md

Specification

https://wicg.github.io/window-controls-overlay/

Design docs


https://github.com/WICG/window-controls-overlay/blob/main/explainer.md

Summary

Window Controls Overlay allows a developer to create a custom title bar UX by 
extending the installed app's client area. The client area now covers the 
entire window except for the window controls (close, maximize/restore, 
minimize), which are overlaid in their respective position.


The web app developer is responsible for drawing and input-handling for the 
entire window except for the window controls overlay. This includes defining 
which area of the window is draggable as well, with a prefixed and non-prefixed 
version of a css property supported, as implemented in: 
crrev.com/c/3094474<http://crrev.com/c/3094474>.


Intended uses for the Window Controls Overlay are creating seamless UX that can 
use the area that was reserved for the title bar before. Many modern 
applications include menus, search bars and other controls in the title bar, 
and this feature enables this on installed web apps.

Blink component

UI>Browser>WebAppInstalls<https://bugs.chromium.org/p/chromium/issues/list?q=component:UI%3EBrowser%3EWebAppInstalls>

Search tags

PWA<https://chromestatus.com/features#tags:PWA>, web 
app<https://chromestatus.com/features#tags:web%20app>, title 
bar<https://chromestatus.com/features#tags:title%20bar>, 
titlebar<https://chromestatus.com/features#tags:titlebar>, 
customization<https://chromestatus.com/features#tags:customization>, window 
controls<https://chromestatus.com/features#tags:window%20controls>

TAG review

https://github.com/w3ctag/design-reviews/issues/481

TAG review status

Resolution: satisfied

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.


Gecko: defer https://github.com/mozilla/standards-positions/issues/529


WebKit: No signal 
https://lists.webkit.org/pipermail/webkit-dev/2021-May/031865.html


Web developers: Positive

https://twitter.com/firt/status/1385238446046859268?s=20

https://twitter.com/AnaestheticsApp/status/1408727417330573314?s=20

https://twitter.com/bashik7/status/1385821988208275457?s=20

https://twitter.com/abraham/status/1385201046767738880?s=20

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 over the top of the app 
window allows developers to spoof content in what was previously a trusted, 
UA-controlled region. To minimize the risk of spoofing, the app will open by 
default in "standalone" mode with a full width title bar, and the user can 
toggle window controls overlay on and off via a button in the title bar/overlay.

Debuggability

The feature itself can be easily debugged by installing the PWA. Since it is a 
visual feature on the window itself, it is easy to test. Nonetheless, making 
sure parsing the "display-override" mode and associated values correctly is 
desired, which should be incorporated into the application tab of devtools, 
where all the other manifest warnings are displayed.

Is this feature fully tested by 
web-platform-tests<https://chromium.googlesource.com/chromium/src/+/master/docs/testing/web_platform_tests.md>?

3170531: dpwas: WPT Tests for window-controls-overlay | 
https://chromium-review.googlesource.com/c/chromium/src/+/3170531

Flag name

#enable-desktop-pwas-window-controls-overlay

Requires code in //chrome?

False

Tracking bug

https://bugs.chromium.org/p/chromium/issues/detail?id=937121

Launch bug

https://crbug.com/1108107

Sample links


https://amandabaker.github.io/pwa/explainer-example/index.html

Estimated milestones

OriginTrial desktop last

96

OriginTrial desktop first

93

Expected Release

97

Link to entry on the Chrome Platform Status

https://chromestatus.com/feature/5741247866077184

Links to previous Intent discussions

Intent to prototype: 
https://groups.google.com/a/chromium.org/forum/#!msg/blink-dev/cper6nNLFRQ/hU91kfCWBQAJ

Intent to Experiment: 
https://groups.google.com/a/chromium.org/g/blink-dev/c/HNHbpxvrECA/m/JJoXKQI3BAAJ


This intent message was generated by Chrome Platform 
Status<https://www.chromestatus.com/>.


Regards,

Diego González-Zúñiga
PM, Microsoft Edge

[cid:image001.png@01D7C5FC.49A01F60]

-- 
You received this message because you are subscribed to the Google Groups 
"blink-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to blink-dev+unsubscr...@chromium.org.
To view this discussion on the web visit 
https://groups.google.com/a/chromium.org/d/msgid/blink-dev/VI1PR83MB041666BD26451656C388347CCCBE9%40VI1PR83MB0416.EURPRD83.prod.outlook.com.

Reply via email to