Contact emails [email protected], [email protected]
Explainer https://github.com/w3c/window-management/blob/main/EXPLAINER_additional_windowing_controls.md Specification https://www.w3.org/TR/window-management/#api-window-minimize-method Summary Enables web applications with the window-management permission to maximize(), minimize(), and restore() their windows, and to prevent resizing through setResizable(). Additionally, new CSS media features display-state and resizable enable scripts and content to adapt to the respective window states and resizability. These features improve the usability of VDI remote application windows in Web clients, especially when it comes to titlebar window controls. The new functionality enhances existing Window Management API features: https://chromestatus.com/feature/5252960583942144 Blink component Blink>WindowDialog Web Feature ID window-management 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 (eg 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 https://github.com/w3ctag/design-reviews/issues/1246 TAG review status Pending Goals for experimentation Risks Interoperability and Compatibility No information provided Gecko: No signal (https://github.com/mozilla/standards-positions/issues/712) WebKit: No signal (https://github.com/WebKit/standards-positions/issues/96) Web developers: Positive (https://github.com/w3c/window-management/issues/3) From VDI web client partners (Citrix & VMware) - the feature is needed by them for single application streaming using web technologies. https://docs.citrix.com/en-us/citrix-virtual-apps-desktops/seamless.html https://github.com/w3c/window-management/issues/158 Other signals: Ergonomics Permissions API status queries and CSS Media Queries provide feature support detection, display mode queries represent whether the features are viable in the current window. The window-state feature would pair nicely with a proposed `application-context` CSS media feature to resolve ambiguities of the `display-mode` media feature when a standalone Web App window enters fullscreen: https://github.com/w3c/manifest/pull/1218 This enhancement fits naturally with the Window Management API, and display state control methods are straightforward. This enhancement is especially useful when paired with Unframed display mode for Isolated Web Apps: https://chromestatus.com/feature/5551475195904000 The API should not have any performance impact and state transitions are not expected to occur frequently. Activation The API is fairly simple and utilizes concepts already present in existing operating systems. It's a reasonable progressive enhancement expected to be especially useful for VDI remote application windows. Security Permission and user activation requirements mitigate primary risks: - Focus stealing by a malicious application - Malicious applications hiding from the user - Application changing the display state in a loop WebView application risks Does this intent deprecate or change behavior of existing APIs, such that it has potentially high risk for Android WebView-based applications? No - the feature is not supported on WebView. Debuggability The feature has basic support provided automatically by DevTools. Will this feature be supported on all six Blink platforms (Windows, Mac, Linux, ChromeOS, Android, and Android WebView)? No Launch support: Initially planned for ChromeOS. Windows, Mac and Linux planned for fast-follow. Support is not yet planned for Android or Android WebView, but should be feasible for Android freeform windowing modes. Is this feature fully tested by web-platform-tests? No Full automated WPT coverage is not currently possible, because the feature is only applicable to standalone PWA windows. Initial limited coverage can be found at: https://wpt.fyi/results/css/mediaqueries/display-state.tentative.html https://wpt.fyi/results/css/mediaqueries/resizable.tentative.html https://wpt.fyi/results/window-management/additional-windowing-controls.tentative.https.html Flag name on about://flags enable-desktop-pwas-additional-windowing-controls Finch feature name DesktopPWAsAdditionalWindowingControls Rollout plan Will ship enabled for all users Requires code in //chrome? True Tracking bug https://issues.chromium.org/issues/40192345 Launch bug https://launch.corp.google.com/launch/4234439 Measurement window.minimize() - https://chromestatus.com/metrics/feature/timeline/popularity/4761 window.maximize() - https://chromestatus.com/metrics/feature/timeline/popularity/4762 window.restore() - https://chromestatus.com/metrics/feature/timeline/popularity/4763 window.setResizable() - https://chromestatus.com/metrics/feature/timeline/popularity/4764 Estimated milestones Shipping on desktop 155 DevTrial on desktop 122 Anticipated spec changes Open questions about a feature may be a source of future web compat or interop issues. Please list open issues (eg links to known github issues in the project for the feature specification) whose resolution may introduce web compat/interop risk (eg, changing to naming or structure of the API in a non-backward-compatible way). No information provided Link to entry on the Chrome Platform Status https://chromestatus.com/feature/5201832664629248?gate=5182130005475328 Links to previous Intent discussions Intent to Prototype: https://groups.google.com/a/chromium.org/g/blink-dev/c/oCxWg8q_OQY Ready for Trial: https://groups.google.com/a/chromium.org/g/blink-dev/c/49DBcMFjU9Q This intent message was generated by Chrome Platform Status. -- 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 [email protected]. To view this discussion visit https://groups.google.com/a/chromium.org/d/msgid/blink-dev/6aa0f6ab.81999fdc.3b7fb5.022b.GAE%40google.com.
