[whatwg] api for fullscreen()

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
> <robert at ocallahan.org> wrote:
>> 2009/12/17 Ian Fette (????????) <ifette at 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

Received on Thursday, 17 December 2009 01:30:26 UTC