Intent to Prototype: Additional Windowing Controls

224 views
Skip to first unread message

Ivan Šandrk

unread,
Dec 6, 2022, 4:46:29 AM12/6/22
to blink-dev, Mike Wasserman, Domenic Denicola
Contact emails

isa...@chromium.org, m...@chromium.org

Explainer

https://github.com/ivansandrk/additional-windowing-controls/blob/main/awc-explainer.md

Specification

Summary

Introduce additional ways for web applications to introspect and control their windows, to enable critical window management functionality on the web platform.

This enhancement allows web applications to maximize, minimize, and restore their windows and introspect that window display state. Further, it allows applications to be notified when the window is repositioned, and control whether the window can be resized. The window placement permission will be required for these capabilities.

Blink component

Blink>WindowDialog

Motivation

Virtual Desktop Infrastructure (VDI) web clients have limited abilities to integrate remote application windows with the local desktop environment, which creates suboptimal experiences for their users. Currently, they can only present full disjoint remote desktop environments (e.g. in a local fullscreen window), or present individual remote applications in separate local windows with titlebar window controls that are inoperative, redundant, and confusing for users.

Initial public proposal

https://discourse.wicg.io/t/proposal-additional-windowing-controls/6044

TAG review

TAG review status

Pending

Risks
Interoperability and Compatibility

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

WebKit: https://github.com/WebKit/standards-positions/issues/96

Web developers: Strong positive - VDI web client partners (Citrix & VMware)

WebView application risks

All Blink platforms expose a `window` JS object, but client applications may have severely limited windowing controls. The overall API may eventually be exposed in WebView contexts, but will initially be exposed and implemented on desktop platforms, as developers have primarily voiced interest for use cases in desktop applications, and the added complexity of mobile and WebView support strongly exceeds developer enthusiasm for usage on those platforms. Therefore, there are no WebView-specific risks for this feature, since it is not exposed to WebView.

Debuggability

The proposed JS API surface should be fully debuggable using the developer tools console.

Is this feature fully tested by web-platform-tests?

Not yet. It should be possible to test the entire API surface, and manual tests should be able to cover integration with user-initiated window management operations (e.g. the window's reported display state is updated when the window is manually minimized, etc.).

Flag name

DesktopPWAsAdditionalWindowingControls

Requires code in //chrome?

True - https://docs.google.com/spreadsheets/d/1QV4SW4JBG3IyLzaonohUhim7nzncwK4ioop2cgUYevw/edit#gid=0&range=38:38

Tracking bug

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

Estimated milestones

M118 Dev Trial

Link to entry on the Chrome Platform Status

https://chromestatus.com/feature/5201832664629248


This intent message was generated by Chrome Platform Status.
Reply all
Reply to author
Forward
0 new messages