PSA: Multi-Screen Window Placement implementation change (Accurate Screen Labels)

112 views
Skip to first unread message

Brad Triebwasser

unread,
Jul 22, 2022, 4:05:36 PM7/22/22
to blin...@chromium.org, Ajay Rahatekar, mo...@google.com, btr...@chromium.org, Mike Wasserman

Hello blink-dev,

Following previous guidance, I would like to distribute this PSA regarding an implementation change for a previously shipped Multi Screen Window Placement API surface. In particular, we are changing Chrome's implementation of the ScreenDetailed.label attribute.


See below for the specifics of this change including the implementation and launch bugs. We are currently targeting a launch in M105.


Contact emails

btr...@chromium.org, m...@chromium.org


Explainer

https://github.com/w3c/window-placement/blob/main/EXPLAINER.md#:~:text=DOMString%20label


Specification

https://w3c.github.io/window-placement/#dom-screendetailed-label


Summary

Enhances screen label strings provided by the Multi-Screen Window Placement API: <https://chromestatus.com/feature/5252960583942144>


This launch refines the `ScreenDetailed.label` implementation by replacing the current placeholder values (e.g. 'External Display 1') with data sourced from display device EDIDs (e.g. 'HP Z27n') and higher-level OS APIs (e.g. localized descriptions such as 'Built-in Retina Display'). These more accurate labels match those shown by OSes in display settings UI surfaces. The labels are only exposed to sites which have been granted the window-placement permission by the user.


This revised implementation aligns with the current attribute specification <https://w3c.github.io/window-placement/#screen-label> and definitions used for the M93-M96 Origin Trial and the M100 API launch. There is no structural change to the API, only a change in the string content returned by the `ScreenDetailed.label` attribute. The new labels are intended to allow the end user to better identify and tell the difference between screens. Applications can’t assume that the label contains any specific information, such as the device type, model, dimensions, density, etc.


Blink component

Blink>Screen>MultiScreen


Motivation

Multi-Screen Window Placement API partners have requested this change to provide more recognizable and user-friendly entries in screen selection interfaces.


Initial public proposal

https://github.com/w3c/window-placement/blob/f2386c13d879aa3a84e3a46e380d00a663644654/EXPLAINER.md#:~:text=DOMString%20label


TAG review

The original window placement API design review is here:

https://github.com/w3ctag/design-reviews/issues/602


TAG review status

Issues open


Risks


Interoperability and Compatibility


Gecko: No signal (https://github.com/mozilla/standards-positions/issues/542) Link is for the original window placement API which has some feedback but no definitive signal.


WebKit: No signal (https://lists.webkit.org/pipermail/webkit-dev/2021-June/031903.html) Link is for the original window placement API which has some feedback but no definitive signal.


Web developers: Positive

(Specifically requested by Multi-Screen Window Placement API partners)


Other signals:

WebView application risks
N/A


Will this feature be supported on all six Blink platforms (Windows, Mac, Linux, Chrome OS, Android, and Android WebView)?

The Multi-Screen Window Placement API is currently available only on desktop platforms (Windows, Mac, Linux, Chrome OS).


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

Yes. WPTs are limited to checking the string type for now.

https://wpt.fyi/results/screen-details/getScreenDetails.tentative.https.window.html


DevTrial instructions

https://github.com/w3c/window-placement/blob/main/HOWTO.md


Flag name

--enable-blink-features=WindowPlacementEnhancedScreenLabels


Requires code in //chrome?

False


Tracking bug

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


Launch bug

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


Sample links

https://michaelwasserman.github.io/window-placement-demo


Estimated milestones

DevTrial on desktop: 104

Shipping on desktop: 105


Anticipated spec changes

None


Link to entry on the Chrome Platform Status

https://chromestatus.com/feature/6317530778959872


This message was generated by Chrome Platform Status.

Ajay Rahatekar

unread,
Jul 27, 2022, 5:19:39 PM7/27/22
to blink-dev, Brad Triebwasser, Ajay Rahatekar, Ben Morss, btr...@chromium.org, m...@chromium.org
Please let us know of any comments/concerns. As mentioned in the PSA, we are hoping to target M105 for shipping this change.

Thanks in advance.

Yoav Weiss

unread,
Aug 1, 2022, 10:56:08 AM8/1/22
to Ajay Rahatekar, blink-dev, Brad Triebwasser, Ben Morss, btr...@chromium.org, m...@chromium.org
As this is changing a returned string that developers didn't have any particular reasons to make any assumptions about, this change seems safe enough. Low usage is also instilling confidence. Thanks for PSAing! :)

--
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+...@chromium.org.
To view this discussion on the web visit https://groups.google.com/a/chromium.org/d/msgid/blink-dev/9db0adf4-9bae-49bf-ab3c-2a3d196028een%40chromium.org.
Reply all
Reply to author
Forward
0 new messages