amb...@microsoft.com, luig...@microsoft.com, hat...@microsoft.com, c...@chromium.org
https://github.com/WICG/window-controls-overlay/blob/master/explainer.md
https://wicg.github.io/window-controls-overlay/
https://github.com/WICG/window-controls-overlay/blob/main/explainer.md
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.
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.
PWA, web app, title bar, titlebar, customization, window controls
https://github.com/w3ctag/design-reviews/issues/481
Resolution: satisfied
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
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.
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.
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.
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.
3170531: dpwas: WPT Tests for window-controls-overlay | https://chromium-review.googlesource.com/c/chromium/src/+/3170531
#enable-desktop-pwas-window-controls-overlay
False
https://bugs.chromium.org/p/chromium/issues/detail?id=937121
https://amandabaker.github.io/pwa/explainer-example/index.html
https://chromestatus.com/feature/5741247866077184
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.
Regards,
Diego González-Zúñiga
PM, Microsoft Edge
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.
--
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+...@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.
To view this discussion on the web visit https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAL5BFfWDHDLWrOEuYFM6g8DOLK1%3DkTkGKdy-k4W5uiAZkoQEjw%40mail.gmail.com.
To unsubscribe from this group and stop receiving emails from it, send an email to blink-dev+unsubscribe@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.
--
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+unsubscribe@chromium.org.
This is an exciting improvement to PWA parity with native apps! :)The spec looks like it could use some work. Beyond the editorial, it doesn't seem like it defines the novel concepts that it introduces, nor the relevant processing models.
To unsubscribe from this group and stop receiving emails from it, send an email to blink-dev+unsubscribe@chromium.org.
To unsubscribe from this group and stop receiving emails from it, send an email to blink-dev+...@chromium.org.
Hola Yoav,
I wanted to add that we implemented the concept of a display-override to control the fallback of display modes. For non supported browsers, developers can also specify the display-override and even if this is not supported it will default to the display value in the manifest file.On Monday, 29 November 2021 at 18:29:41 UTC Diego González wrote:Hola Yoav,For non supported browsers there are 2 options:
- env variables take the specified default value by developers (if devs enable WCO).
- The web app will open as it would in the browser, with a titlebar if installed (if devs don't enable WCO).
WCO is enabled by the end user. The user must enable the feature by toggling the chevron on the controls overlay. This is remembered on subsequent app launches.
To view this discussion on the web visit https://groups.google.com/a/chromium.org/d/msgid/blink-dev/a31d3e96-fb01-45c4-b979-2f04cfdb06fdn%40chromium.org.
To view this discussion on the web visit https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAOMQ%2Bw8bNbLih3qqn%2B%3DEAx%2B8TiLScqM7RuR9-C%3DjfmacHnDYcA%40mail.gmail.com.
I don't see our shipping decision as being limited to any
particular platform, except that mobile was excluded by the
"desktop web apps" title so you go ahead and ship for ChromeOS as
well.
/Daniel
To view this discussion on the web visit https://groups.google.com/a/chromium.org/d/msgid/blink-dev/a94d9d91-9686-485c-bf83-8d490a427b4en%40chromium.org.