-
Notifications
You must be signed in to change notification settings - Fork 56
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Screen Enumeration API #413
Comments
Discussing in the f2f right now - @lknik can you take a look at the answers to the privacy & security questionnaire? |
Labeling as a Fugu-related request since it appears in Fugu's full list of capabilities. |
It has been suggested that user agents themselves could provide a UI for selecting where content is presented, but this is cumbersome for users and prohibitively limiting for web applications. This also offers no meaningful value over the existing cumbersome manual placement of windows by users. Can't we simplify to "for each display we need same information as is currently offered by existing screen object"? We do not discuss the contents of the screen object, but the inflation of (many) screen objects.
Information allowing to identify the user's machine is more or less identifying the user, so you're saying the opposite. Maybe at least remove the 2nd sentence?
The complete list seems to be X*12-15 static objects (some of them dynamic; with X the number of screens).
It does on the other hand inform if the display has an accelerometer, which would make it simpler to direct a malicious script to an appropriate window.
So we can today access all the device screens already? Wouldn't it be more useful to enumerate the new identifiers to be exposed, which is the above 12-15 numbers per each screen, which is not currently easily available?
Do I see it correctly that this API will be gated behind permissions? |
Marking as |
Looked again during Wellington F2F, still waiting for external feedback. We also have concerns about how this intersects with ongoing work for foldable screens #472. An additional observation is that there's an explicit non-goal of exposing all the OS screen APIs yet this proposal seems to do so. |
@spark008 I'm not sure if you saw @lknik's questions above. Could you take a look at them and get back to us? |
Thank you for poking this thread and apologies for the delay! |
Thank you for your feedback and patience! I hope you find my responses and changes helpful, and I look forward to iterating further with additional input. @hober thanks for your feedback and patience, I hope you find these responses helpful:
This work is complimentary to Foldable Screens #472. That proposal offers simple tools to support content spanning the single fold of a dual-screen device. Screen Enumeration and Window Placement (TAG review request imminent) aims to support a broader range of multi-screen and multi-window scenarios with lower-level information (eg. 3+ screens, 2 heterogeneous or misaligned screens, separate windows on separate screens, etc.).
The goal is to expose a reasonable set of info for web applications to make informed use of the available screen space; that will require exposing some limited new information, but care has been taken to select the most valuable subset of available information. The spirit of the rephrased non-goal is to avoid exposing extraneous or especially identifying information (eg. EDID), and avoid exposing APIs to control the configuration of display devices.
I posted a couple comments there, and want to explore ways to support requests for limited screen information. Please let me know if you have any thoughts regarding my comments there. @lknik Thank you for your Security and Privacy review and comments, I hope you find the latest changes there and these responses helpful:
I modified the section to separate the goals of exposing multiple screens and new screen properties , both of which are valuable.
You're right, I revised the section to accurately convey that new information is exposed that could be used to help identify a device, and mention the possibility to gate access upon user permission.
I added a comparable summary in this section and added screen.[avail]top/left in section 2.1.
I added a note to this effect in the section.
I rewrote this section to give a more pointed answer to its question, including the difference of the single screen available to each window and the full set of screens, and a summary of what's currently available for each considered/proposed property.
Yes, user permission should be a critical consideration of any browser that might adopt something like this proposal, and the asynchronous getScreens() should enable user-facing permission prompts. |
Please consider #522 alongside this proposal, they're highly related; thank you! |
You may wish to consider these specific questions during review. Thank you!
|
We talked about this during a breakout today. We'll leave comments on each of these issues. |
I believe I have addressed all recent feedback, thank you! |
Hi there, We are fine with the work you have done and we are therefore going to close this issue. @plinss is still a bit worried that part of this might ship in a way that it is incompatible with the work around foldables, and will file an issue about that on your new repo. Thanks for staying at home with the TAG! |
こんにちはTAG!
I'm requesting a TAG review of:
Further details:
We recommend the explainer to be in Markdown. On top of the usual information expected in the explainer, it is strongly recommended to add:
You should also know that...
This API is intended to be used in conjunction with the Window Placement API, which is still in the proposal stage.
We'd prefer the TAG provide feedback as (please select one):
Please preview the issue and check that the links work before submitting. In particular, if anything links to a URL which requires authentication (e.g. Google document), please make sure anyone with the link can access the document.
¹ For background, see our explanation of how to write a good explainer.
The text was updated successfully, but these errors were encountered: