On Thu, 17 Dec 2009 10:30:26 +0100, Maciej Stachowiak <m...@apple.com>
Some of us at Apple have discussed fullscreen APIs, and we think a user
gesture requirement plus clear indication of what has happened is likely
As to the API itself: we tentatively think a good API would be to make a
specific *element* go full screen, rather than the whole Web page. Some
use cases for fullscreen will indeed want to transition the whole page,
for example, let's say a Web-based editor wants to provide a
distraction-free fullscreen mode like WriteRoom. However, it seems like
many common use cases will benefit most from taking only part of the
page full-screen, for example video or games, where it's common for the
original content to only be a small box in the page.
Now, content could just manually hide the parts of the page in response
to an event. Or you could provide a special media type or pseudo-class
to use CSS to hide the unwanted content.
In Opera, @media projection targets full-screen mode. It's possible though
that a page would want different styles when the whole page is in full
screen and when an element is in full screen.
But taking an element rather than a page full-screen has two benefits:
1) It handles some very common use cases (including likely one of the
*most* common, video) in a way that's much simpler for the content
2) The browser will have the option to animate the transition to
fullscreen starting from the target element, in a clean way. If content
has to make layout changes by hand to limit itself to the specific
fullscreen target, then it's extremely difficult, perhaps impossible,
for the browser to do a single smooth animated transition without any
unwanted flickering or layout thrash.
We don't have a specific API proposal to make right now, but I'll try to
get the people working on this to put forward a concrete proposal soon.