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.


On Dec 17, 2009, at 12:32 AM, Jonas Sicking wrote:

On Thu, Dec 17, 2009 at 12:12 AM, Robert O'Callahan
<> wrote:
2009/12/17 Ian Fette (イアンフェッティ) <>

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.)


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

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".


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

/ Jonas

Reply via email to