Re: Fullscreen API

On Tue, Feb 8, 2011 at 6:14 PM, Doug Schepers <schepers@w3.org> wrote:
> Hi, folks-
>
> (BCC public-webapps, public-html.  Apologies for the cross-post)
>
> Various people in various groups (as well as the community at large) have
> been emphasizing the need for fullscreen functionality.  In the SVG WG, we
> had discussed the ability to make the root element fullscreen (this was a
> request a few years ago), but I like the idea of making individual elements
> (including grouping elements) fullscreen instead. The Mozilla FullScreen API
> [1] looks like a good start on this, and WebKit has picked up on this as
> well.
> (...)
> [1] https://wiki.mozilla.org/Gecko:FullScreenAPI
>

Without a reference spec and looking at the Mozilla spec, I have many comments.

Detecting fullscreen is something that belong 100% to media queries.
Opera for instance, applies the "projection" media when the web page
is rendered fullscreen. So, the CSS stuff in the Mozilla  spec should
be replaced with proper media queries, and the fullscreenchange event
replaced with media query events.

There is also some work already done with the @viewport CSS rule
proposed by Rune Lillesveen from Opera [1] which was based on Webkit's
meta+viewport element support, which in tandem with its
meta+apple-mobile-web-app-capable allows pages to go fullscreen. I
would suggest keeping everything in CSS, therefore dropping the
dependencies on overloading meta. [2]

Regarding the web page requesting full screen access, I regard it as
dangerous, disruptive and unnecessary. If element ought to be rendered
fullscreen, they can be styled with
"position:fixed;top:0;left:0;width:100%;height:100%;z-index:1000".
Then if the UA user wishes, he/she can toggle the browser to go
fullscreen (F11 in any browser), else content just fits the viewport.
Toggling fullscreen for inlines like images, video, canvas would work
the same, although the user agent can provide the user more
accessibility, like double clicking video to go fullscreen, as it
already happens in any desktop media player. If this is acceptable,
the same level of functionality is preserved, the user is not annoyed,
no new APIs are needed to be specified, and the spoofing issues are
minimized to irrelevance.

So, to summarize, this is mostly work for CSS media queries, and its
DOM bindings.

[1] http://people.opera.com/rune/TR/css-viewport/

[2] http://developer.apple.com/library/safari/#documentation/AppleApplications/Reference/SafariHTMLRef/Articles/MetaTags.html

Received on Tuesday, 8 February 2011 18:55:02 UTC