Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: dc8a2c99f4be79db635a93727b0a1532a5edfc81
      
https://github.com/WebKit/WebKit/commit/dc8a2c99f4be79db635a93727b0a1532a5edfc81
  Author: Jer Noble <[email protected]>
  Date:   2023-04-07 (Fri, 07 Apr 2023)

  Changed paths:
    M Source/WebCore/platform/ios/VideoFullscreenInterfaceAVKit.mm

  Log Message:
  -----------
  [iPad] Vimeo video goes black navigating from PiP back to full screen
https://bugs.webkit.org/show_bug.cgi?id=255145
rdar://107592139

Reviewed by Per Arne Vollan.

Vimeo gets into a state where it attempts to enter Element Fullscreen while the 
video
is in picture-in-picture, which causes PiP mode to exit, returning the video to 
the newly
fullscreened page. This video is simultaneously made "standby", i.e., it will 
enter PiP
when the browser is "swiped" to the background. This causes the state machine 
of the
VideoFullscreenInterfaceAVKit to get confused, as it's exiting one mode (PiP) 
at the
same time as it's entering another (standby).

This is the most minimal change which will un-break this path, however there 
remain
a few usability issues afterward. Because the WebContent process issues both a 
enter-
fullscreen and exit-fullscreen command, it gets stuck in a state where it 
thinks its
still animating into (or out of) fullscreen and doesn't allow any new 
fullscreen mode
changes to be issued. This has the effect of preventing the video element from 
going
into PiP or native fullscreen mode again.

* Source/WebCore/platform/ios/VideoFullscreenInterfaceAVKit.mm:
(VideoFullscreenInterfaceAVKit::didStopPictureInPicture):
(VideoFullscreenInterfaceAVKit::prepareForPictureInPictureStopWithCompletionHandler):

Canonical link: https://commits.webkit.org/262703@main


_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to