Gecko:FullScreenAPI: Difference between revisions

add issues: avoiding ancestory reflow, avoiding drawing anything else
(prefer media query selector, use two word form of CSS terms for consistency with DOM terms)
(add issues: avoiding ancestory reflow, avoiding drawing anything else)
Line 98: Line 98:
While a Document is in the fullscreen state, the fullscreen media type is active for the document.
While a Document is in the fullscreen state, the fullscreen media type is active for the document.


Suggested UA stylesheet rule:
Suggested UA stylesheet rules:


  /* A fullscreen element that is not the root element should be stretched
  /* A fullscreen element that is not the root element should be stretched
Line 243: Line 243:


If we resolve the naming issue based on one word rather than two, then we'll rename this CSS feature accordingly ( :fullscreen , media query selector "fullscreen" )
If we resolve the naming issue based on one word rather than two, then we'll rename this CSS feature accordingly ( :fullscreen , media query selector "fullscreen" )
=== avoiding ancestor reflow ===
Currently, the suggested UA stylesheet rules for a non-root fullscreen element take it out of the flow and make it position fixed, which has the side-effect of causing its ancestors to reflow, which is unnecessary, and thus an undesirable performance hit.
Instead, we should consider simply defining the fullscreened element as creating a new view with itself as the root box of a CSS presentation, with its own opaque CSS canvas (as defined in CSS), thereby avoiding the reflow problem.
The underlying background of this new opaque CSS canvas comes from the fullscreened element, just as the underlying background of a window comes from the root element of the document in that window.
=== avoiding drawing anything else ===
Also, the suggested UA stylesheet rules use z-index to put the fullscreened element above everything else. Instead we may want to specify that when something is fullscreened, that we don't bother rendering any other windows/tabs, nor the parent document.
canmove, Confirmed users
2,675

edits