[webkit-changes] [WebKit/WebKit] 0be7e2: [iOS] Fullscreen video becomes unresponsive after ...
Jer Noble
noreply at github.com
Thu Oct 26 23:47:02 PDT 2023
Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: 0be7e2dbbc9c1f2387649d188a61056e0d692cd5
https://github.com/WebKit/WebKit/commit/0be7e2dbbc9c1f2387649d188a61056e0d692cd5
Author: Jer Noble <jer.noble at apple.com>
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
More information about the webkit-changes
mailing list