Thanks Diego! The updates are a great improvement, but I suspect are not sufficient for an interoperable implementation. I left a couple of comments on the open issues.
On Wed, Nov 10, 2021 at 5:11 PM Diego González <die...@gmail.com> wrote: > 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/CAL5BFfUcDLfCiiitD2ROM_EGOd9Hg1QEz5otrOYoEXu9BxON-Q%40mail.gmail.com.