isa...@chromium.org, m...@chromium.org
Explainerhttps://github.com/ivansandrk/additional-windowing-controls/blob/main/awc-explainer.md
SpecificationIntroduce 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 componentMotivationVirtual 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 proposalhttps://discourse.wicg.io/t/proposal-additional-windowing-controls/6044
TAG reviewPending
RisksGecko: 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 risksAll 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.
DebuggabilityThe 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 nameDesktopPWAsAdditionalWindowingControls
Requires code in //chrome?Tracking bughttps://bugs.chromium.org/p/chromium/issues/detail?id=1235296
Estimated milestonesM118 Dev Trial
Link to entry on the Chrome Platform Statushttps://chromestatus.com/feature/5201832664629248