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.