[Webkit-unassigned] [Bug 234976] New: webkitRequestFullscreen fulfils but will not go into fullscreen with click handler that creates MediaStream and plays video

bugzilla-daemon at webkit.org bugzilla-daemon at webkit.org
Fri Jan 7 11:57:56 PST 2022


https://bugs.webkit.org/show_bug.cgi?id=234976

            Bug ID: 234976
           Summary: webkitRequestFullscreen fulfils but will not go into
                    fullscreen with click handler that creates MediaStream
                    and plays video
           Product: WebKit
           Version: Safari 15
          Hardware: Unspecified
                OS: Unspecified
            Status: NEW
          Severity: Normal
          Priority: P2
         Component: Layout and Rendering
          Assignee: webkit-unassigned at lists.webkit.org
          Reporter: will.morgan at iproov.com
                CC: bfulgham at webkit.org, simon.fraser at apple.com,
                    zalan at apple.com

Created attachment 448616

  --> https://bugs.webkit.org/attachment.cgi?id=448616&action=review

fs.html testbed

When I click a button that creates a MediaStream with getUserMedia, then plays a video that satisfies the autoplay criteria, then performs webkitRequestFullscreen (WRFS), the WRFS call return but no fullscreen resize event happens.

For compatibility with other browsers, especially with regard to anti-abuse and user activation, the advice is to first getUserMedia, then play a video, then finally requestFullscreen. This is because requestFullscreen clears user activation flags, which means that you can't getUserMedia afterwards.

This is the approach suggested here: https://github.com/whatwg/fullscreen/issues/152#issuecomment-494840412

My expected behaviour here would be for webkitRequestFullscreen to actually go into fullscreen, or at the very minimum if the WebKit team disagree with the WHATWG user activation approach, it should at least throw with a NotAllowedError.

This has downstream implications - sindresorhus's screenfull library returns a promise that never fulfils because WRFS doesn't throw and no change events happen. This effectively deadlocks any application that relies on entering fullscreen unless an arbitrary timeout is used.

I'm discussing the same issue with the team at Mozilla: https://bugzilla.mozilla.org/show_bug.cgi?id=957558

-- 
You are receiving this mail because:
You are the assignee for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.webkit.org/pipermail/webkit-unassigned/attachments/20220107/2b254d93/attachment.htm>


More information about the webkit-unassigned mailing list