Re: [whatwg/fullscreen] Decide whether to resize synchronously in requestFullscreen() (#64)

Gecko has a global queue for pending fullscreen requests when the fullscreen state cannot be applied immediately. (It is especially important for us because we have a transition animation.)

And our algorithm is roughly:
* If *resize* is true or there is any fullscreen request in the queue has the same top level document, push the fullscreen request into the queue, and trigger the resizing.
  * When the viewport gets resized, iterates the queue, and for each fullscreen request whose document's top level document's viewport is what we just resized:
    * remove the request from the queue, and
    * apply the fullscreen request.
  * If no fullscreen request is actually applied (which indicates the top level document's fullscreen element is still null), resize the viewport back to its normal dimension.
* Otherwise, apply the fullscreen request.

Having written this down, I wonder whether this is the only reason we reject when element is moved to a different document. If so, I guess we probably don't really need that restriction.

We should probably be recording the top level document instead, otherwise it would still be an issue that the requesting document can be moved to a different top level document.

-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/whatwg/fullscreen/pull/64#issuecomment-263031296

Received on Friday, 25 November 2016 23:13:00 UTC