-
Notifications
You must be signed in to change notification settings - Fork 25
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
Add an outline for initiating multi-screen experiences #101
Conversation
@mustaqahmed, you might also be interested to comment on this intial PR draft. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Just spotted a typo, the rest LGTM.
Friendly ping, @reillyeon; your review would be much appreciated; thanks! |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The specification changes look good but please update the links in a follow-up.
Instances of {{Window}} are created with an [internal slot](https://tc39.github.io/ecma262/#sec-object-internal-methods-and-internal-slots) named <dfn attribute for="Window">\[[targetScreenFullscreen]]</dfn>, which has a data model equivalent to [last-activation-timestamp](https://html.spec.whatwg.org/multipage/interaction.html#last-activation-timestamp). It corresponds to a {{DOMHighResTimeStamp}} value except for two cases: positive infinity indicates that the {{Window}} has never been activated, while negative infinity indicates that a [user activation-gated API](https://html.spec.whatwg.org/multipage/interaction.html#user-activation-gated-apis) has [consumed](https://html.spec.whatwg.org/multipage/interaction.html#consume-user-activation) the last user activation of the {{Window}}. The initial value is positive infinity. | ||
|
||
The {{Window/open()|Window.open()}} method steps, and the steps of methods invoked therein, are updated to optionally: | ||
1. Waive the [=/transient activation=] state requirement when the [current high resolution time](https://w3c.github.io/hr-time/#dfn-current-high-resolution-time) of the [=/relevant global object=] is greater than or equal to [=/this=].{{Window/[[targetScreenFullscreen]]}}, and less than [=/this=].{{Window/[[targetScreenFullscreen]]}} plus the [=/transient activation duration=]. | ||
1. Set [=/this=].{{Window/[[targetScreenFullscreen]]}} to negative infinity immediately after following the steps to [consume user activation](https://html.spec.whatwg.org/multipage/interaction.html#consume-user-activation). |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
As a follow-up, these references to the HTML and high resolution timer specifications should be using Bikeshed's references database rather than being raw links.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I will follow up to refine those links, thank you.
SHA: 4c5b043 Reason: push, by @michaelwasserman Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
I merged the PR with this more detailed description: Add an outline for initiating multi-screen experiences. Provide a use case, example usage, and definitions supporting one proposed incremental approach, corresponding with the Fullscreen Companion Window feature. That feature allows sites with the window-placement permission to open a single popup window when a fullscreen request is granted that targets a specific screen of a multi-screen device. |
Add an outline for initiating multi-screen experiences. Provide a use case, example usage, and definitions supporting one proposed incremental approach, corresponding with the [Fullscreen Companion Window](https://chromestatus.com/feature/5173162437246976) feature. That feature allows sites with the window-placement permission to open a single popup window when a fullscreen request is granted that targets a specific screen of a multi-screen device.
Add an outline for initiating multi-screen experiences. Provide a use case, example usage, and definitions supporting one proposed incremental approach, corresponding with the [Fullscreen Companion Window](https://chromestatus.com/feature/5173162437246976) feature. That feature allows sites with the window-placement permission to open a single popup window when a fullscreen request is granted that targets a specific screen of a multi-screen device.
Hey @reillyeon, please take a look, thanks.
This attempts to outline the spec changes pertinent to EXPLAINER_initiating_multi_screen_experiences.md.
Preview | Diff