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 sufficient.
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. 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
author.
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.
Regards,
Maciej
On Dec 17, 2009, at 12:32 AM, Jonas Sicking wrote:
On Thu, Dec 17, 2009 at 12:12 AM, Robert O'Callahan
<rob...@ocallahan.org> wrote:
2009/12/17 Ian Fette (イアンフェッティ) <ife...@google.com>
I'm not convinced we actually need opt-in, though if we did have
opt-in it
should allow the user to persist that choice (don't ask me for
permission
each time i try to fullscreen a youtube video.)
Sure.
I would much rather go for user gesture + opt-out. e.g. you have
to cal
fullscreen() in response to a user gesture, you immediately get
fullscreened,
It's really easy to get users to click on things.
but maybe there's some dorky bar up top that stays around until
you click
"go away" or "never put up the dork bar again for this site".
Maybe...
Technically speaking this isn't something that needs to be
standardized. All we need is a standardized fullscreen() function
somewhere, and possibly standardized "fullscreenon"/"fullscreenoff"
events. Browsers are free to implement whatever UI they want after
that.
/ Jonas