Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: 0be7e2dbbc9c1f2387649d188a61056e0d692cd5
https://github.com/WebKit/WebKit/commit/0be7e2dbbc9c1f2387649d188a61056e0d692cd5
Author: Jer Noble <[email protected]>
Date: 2023-10-26 (Thu, 26 Oct 2023)
Changed paths:
M Source/WebCore/platform/graphics/cocoa/NullVideoFullscreenInterface.h
M Source/WebCore/platform/ios/VideoFullscreenInterfaceAVKit.mm
M Source/WebKit/UIProcess/Cocoa/VideoPresentationManagerProxy.h
M Source/WebKit/UIProcess/Cocoa/VideoPresentationManagerProxy.mm
M Source/WebKit/UIProcess/ios/fullscreen/WKFullScreenWindowControllerIOS.mm
Log Message:
-----------
[iOS] Fullscreen video becomes unresponsive after repeated PiP operations
https://bugs.webkit.org/show_bug.cgi?id=263656
rdar://117099076
Reviewed by Eric Carlson.
Entering and exiting PiP and element fullscreen can cause confusion when
restoring
the element fullscreen presentation, e.g. when the user choses the "restore"
button
in the iOS picture-in-picture window. This is because the "controls manager"
interface
(i.e., the interface that represents the "now playing" video element) may be
different
than the interface currently being restored.
Add a new method to VideoPresentationManagerProxy,
returningToStandbyInterface(), which
returns the interface which is currently awaiting confirmation that the element
fullscreen
restoration process has completed.
Separately, do not disable AVKit controls during the AVKit fullscreen portion
of this
process. This has the effect of allowing the user to tap on the AVKit
fullscreen presentation
and see AVKit provided controls before the element fullscreen presentation
completes,
but it also allows the user to dismiss the AVKit fullscreen presentation if the
element
fullscreen presentation fails for any reason.
* Source/WebCore/platform/ios/VideoFullscreenInterfaceAVKit.mm:
(VideoFullscreenInterfaceAVKit::enterFullscreenHandler):
* Source/WebKit/UIProcess/Cocoa/VideoPresentationManagerProxy.h:
* Source/WebKit/UIProcess/Cocoa/VideoPresentationManagerProxy.mm:
(WebKit::VideoPresentationManagerProxy::returningToStandbyInterface const):
* Source/WebKit/UIProcess/ios/fullscreen/WKFullScreenWindowControllerIOS.mm:
(-[WKFullScreenWindowController
beganEnterFullScreenWithInitialFrame:finalFrame:]):
(-[WKFullScreenWindowController didExitPictureInPicture]):
Canonical link: https://commits.webkit.org/269842@main
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes