Primary eng (and PM) emails
Link to “Intent to Deprecate” thread
https://groups.google.com/a/chromium.org/d/msg/blink-dev/DULRMEUkeJw/9HXn55X1gj4J
Summary
Remove the exemption from the <iframe fullscreenallowed> check in place for HTMLVideoElement.webkitEnterFullscreen() and HTMLVideoElement.webkitEnterFullScreen() which allows a video to fullscreen when in an iframe even with the fullscreenallowed attribute missing. None of the other Web-exposed code paths have this exemption.
Motivation
Ali Alabbas (Microsoft) asked about this on another thread:
https://groups.google.com/a/chromium.org/d/msg/blink-dev/f-V2GWatXkA/nvdHJ3xihMkJ
Usage information from UseCounter
https://www.chromestatus.com/metrics/feature/timeline/popularity/485
https://www.chromestatus.com/metrics/feature/timeline/popularity/168
https://www.chromestatus.com/metrics/feature/timeline/popularity/170
485 counts the cases where fullscreen is entered only due to the exemption, oscillating between 0.0006-0.0009% of page loads. Unfortunately, due to an oversight when the counter was added, this also includes the fullscreen button in <video controls>.
168 and 170 count the two Web-exposed code paths where this exemption could take place, and notably they add up to less than the exemption counter itself, oscillating between 0.0004-0.0006%. This means that <video controls> is at least visible in the data. It seems somewhat unlikely that a large majority of uses of the video-specific prefixed fullscreen API would need this exemption, but since the usage is low enough fixing the use counter and waiting for months doesn't seem warranted.
Entry on chromestatus.com
None.
Compatibility Risk
Worst-case is that all these request will fail, amounting to 0.0006%. Actual breakage ought to be at least a bit smaller, unless for some odd reason these APIs are almost exclusively used in iframes without the allowfullscreen attribute.To unsubscribe from this group and stop receiving emails from it, send an email to blink-dev+...@chromium.org.
To unsubscribe from this group and stop receiving emails from it, send an email to blink-dev+...@chromium.org.
Correction: in all use counter numbers, there's a zero too many. Check the graphs to see, but the maximum breakage ought to be 0.006%, but likely lower as speculated in the original message.
Philip
You could of course also check document.webkitFullscreenEnabled, but do you intend to continue to rely on this fallback in WebKit even after it's gone from Blink? If so you have no way to feature detect the change, and I assume you want to remove the fullscreen button when it will not work.
A conservative change would be to include the allowfullscreen check in webkitSupportsFullscreen, but to stop ever throwing exceptions in webkitEnterFullscreen(). Would that solve the problem for you?
Please let us know if you need extra time to reach out to your embedders, or anything like that.
To unsubscribe from this group and stop receiving emails from it, send an email to blink-dev+...@chromium.org.
API owners, here's a new plan to get rid of the allowfullscreen exemption in all cases:1. Revert the recent change to the web-exposed API and merge that to M44.2. Deprecate the exemption for M45, giving Vimeo and others something to point at when reaching out to embedders.3. In M46, remove the exemption for both the web-exposed API and <video controls>, change webkitSupportsFullscreen to include document.fullscreenEnabled as part of its definition and stop ever throwing exceptions in webkitEnterFullscreen(), instead firing a webkitfullscreenerror event as is already done for some other error cases.
2015-06-04 20:42 GMT+09:00 Philip Jägenstedt <phi...@opera.com>:API owners, here's a new plan to get rid of the allowfullscreen exemption in all cases:1. Revert the recent change to the web-exposed API and merge that to M44.2. Deprecate the exemption for M45, giving Vimeo and others something to point at when reaching out to embedders.3. In M46, remove the exemption for both the web-exposed API and <video controls>, change webkitSupportsFullscreen to include document.fullscreenEnabled as part of its definition and stop ever throwing exceptions in webkitEnterFullscreen(), instead firing a webkitfullscreenerror event as is already done for some other error cases.Hey, just want to make sure I understand. Vimeo falls back to the "old API" (which I think means <video controls>) to deal with sites that embed Vimeo using iframes without the allowfullscreen attribute. I gather this fallback is meant for browsers other than Blink ones, since until recently we had the exemption for webkitEnterFullscreen() on <video> elements.Does this mean in other browsers <video controls> is exempt from the allowfullscreen check? Is it still OK for us to remove it?