Intent to Implement and Ship: request fullscreen on orientation change

130 views
Skip to first unread message

Mounir Lamouri

unread,
Jul 21, 2016, 3:46:17 PM7/21/16
to blin...@chromium.org, zqz...@chromium.org, foo...@chromium.org, al...@microsoft.com, xid...@upsuper.org
Contact emails
 
Spec
 
Summary
Allow web pages to request fullscreen while an orientation change event handler is running. This will allow pages to go fullscreen when the user turn their device.
 
Motivation
It is a fairly common user experience on native applications to go fullscreen in landscape mode and not fullscreen in portrait mode. Websites can't implement the same behaviour on the mobile web.
 
Interoperability and Compatibility Risk
Firefox: public support
Edge: no public signal but positive signal when reaching out
Safari: no public signal
Web Developers: Positive
 
We have been able to get feedback (public or private) from all browsers apart from Safari. However, Safari doesn't implement Fullscreen API nor Screen Orientation API on mobile so all browsers implementing the involved APIs are supportive. All the specifications have been changed accordingly.
 
Worth noting that the orientation change event is received by the page after the application has changed orientation so the fullscreen request will happen on the following frame, creating a potentially visible transition. This is not perceptible on builds we have but more importantly, browser vendors we reached out to were fine with the compromise. We could fix the issue by creating new APIs that could potentially make the transition smooth but Chrome couldn't implement this today so designing such an API wouldn't make sense. Other browsers didn't seem interested either. It seems that vendors are in agreement that the perfect is the enemy of good here.
 
Ongoing technical constraints
No.
 
Will this feature be supported on all six Blink platforms (Windows, Mac, Linux, Chrome OS, Android, and Android WebView)?
Yes. However, orientation changes are pretty much mobile-specific. It should work on Windows tablets, for example.
 
OWP launch tracking bug
 
Link to entry on the feature dashboard
 
Requesting approval to ship?
Yes.
 
Cheers,
-- Mounir

Philip Jägenstedt

unread,
Jul 21, 2016, 6:08:33 PM7/21/16
to Mounir Lamouri, blin...@chromium.org, zqz...@chromium.org, al...@microsoft.com, xid...@upsuper.org
LGTM1

I was the one who brought up the bad frame issue. It could probably be avoided with a more declarative approach, but without a real implementation to prove it the risk is that the API is less powerful and still doesn't avoid bad frames in practice. With the current approach, in the worst case (long term) we will end up with two ways of going fullscreen on screen orientation, where one is permanently supported but discouraged. That's a risk worth accepting I think.

Chris Harrelson

unread,
Jul 21, 2016, 6:46:30 PM7/21/16
to Philip Jägenstedt, Mounir Lamouri, blink-dev, zqz...@chromium.org, Ali Alabbas, xid...@upsuper.org
LGTM2

--
You received this message because you are subscribed to the Google Groups "blink-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to blink-dev+...@chromium.org.

TAMURA, Kent

unread,
Jul 21, 2016, 10:15:04 PM7/21/16
to Chris Harrelson, Philip Jägenstedt, Mounir Lamouri, blink-dev, zqz...@chromium.org, Ali Alabbas, xid...@upsuper.org
LGTM3.

--
TAMURA Kent
Software Engineer, Google


Eugene Girard

unread,
Jul 25, 2016, 1:01:03 PM7/25/16
to Mounir Lamouri, blink-dev, zqz...@chromium.org, foo...@chromium.org, al...@microsoft.com, xid...@upsuper.org, bru...@chromium.org, var...@chromium.org
Cool!

ChromeOS supports rotation, especially on convertible devices such as the ASUS Chromebook Flip. +bruthig who implemented the rotation animation there.

--

PhistucK

unread,
Sep 27, 2016, 4:20:16 PM9/27/16
to Eugene Girard, Dru Knox, Mounir Lamouri, blink-dev, zqz...@chromium.org, Philip Jägenstedt, Ali Alabbas, xid...@upsuper.org, bru...@chromium.org, var...@chromium.org
This caused the beta blog post to state something a bit weird -
"Developers can now use Element.requestFullScreen() to trigger full screen mode after a screen orientation change in addition to after a user gesture."
Since Chrome does not support requestFullScreen (which should actually be requestFullscreen - no capital S), but only the prefixed version, that paragraph sounds a bit like unprefixing of the fullscreen API.


PhistucK

To unsubscribe from this group and stop receiving emails from it, send an email to blink-dev+unsubscribe@chromium.org.

--
You received this message because you are subscribed to the Google Groups "blink-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to blink-dev+unsubscribe@chromium.org.

Reply all
Reply to author
Forward
0 new messages