Hola Yoav, We've gone through several iterations of the WCO spec reviewed by Joshua Bell from Google, and while we are still making changes to it, we believe it is in a much better state and want to resubmit for consideration of the approvals needed for I2S. See the updated spec below: https://wicg.github.io/window-controls-overlay/
--Diego On Thursday, 21 October 2021 at 21:05:09 UTC+1 yoav...@chromium.org wrote: > On Thursday, October 21, 2021 at 9:31:23 AM UTC+2 Yoav Weiss wrote: > >> This is an exciting improvement to PWA parity with native apps! :) >> >> On Wed, Oct 20, 2021 at 10:49 PM 'Diego Gonzalez' via blink-dev < >> blin...@chromium.org> wrote: >> >>> Contact emails >>> >>> amb...@microsoft.com, luig...@microsoft.com, hat...@microsoft.com, >>> c...@chromium.org >>> >>> >>> Explainer >>> >>> https://github.com/WICG/window-controls-overlay/blob/master/explainer.md >>> >>> >>> Specification >>> >>> https://wicg.github.io/window-controls-overlay/ >>> >> >> 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. >> > > Let me expand on that a bit. The spec introduces a new concept of a > "window overlay" without really creating it as a concept. > What I expect an interoperable spec to define the concept with as much > detail as possible without getting OS- or implementation-specific. > (Just to draw an example of what I have in mind, if I had to make > something up, I'd go with something like: "<dfn>Window overlay</dfn> is an > interface element that the operating system uses consistently across > applications to enable the user to perform certain action to control the > application such as closing it, expanding it to full screen, etc. This UI > element takes fixed dimensions....") > > Then, once you have that concept defined, you can start building on it and > define the processing of the different methods based on that. > > I'll open issues with other suggestions. > > >> >>> >>> 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. >>> >>> >>> >>> 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. >>> >> >> What do we expect developers to do as a fallback in non-supporting >> browsers? >> >>> >>> 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. >>> >> >> OK, so both the app *and* the user need to opt-in? >> >>> >>> 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 >>> >>> >>> >>> >>> >>> -- >>> 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 >>> >>> <https://groups.google.com/a/chromium.org/d/msgid/blink-dev/VI1PR83MB041666BD26451656C388347CCCBE9%40VI1PR83MB0416.EURPRD83.prod.outlook.com?utm_medium=email&utm_source=footer> >>> . >>> >> -- 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/4e1d51fa-6bf9-4223-89e8-1252fa520441n%40chromium.org.