Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: 49ccab1f5091bb4c3bd2bc32dbfe6bf1bed0c132
https://github.com/WebKit/WebKit/commit/49ccab1f5091bb4c3bd2bc32dbfe6bf1bed0c132
Author: Ryan Fuller <[email protected]>
Date: 2025-03-13 (Thu, 13 Mar 2025)
Changed paths:
M Source/WebCore/platform/ios/VideoPresentationInterfaceIOS.h
M Source/WebCore/platform/ios/VideoPresentationInterfaceIOS.mm
M Source/WebKit/Platform/ios/PlaybackSessionInterfaceLMK.mm
M Source/WebKit/Platform/ios/VideoPresentationInterfaceLMK.h
M Source/WebKit/Platform/ios/VideoPresentationInterfaceLMK.mm
M Source/WebKit/UIProcess/API/Cocoa/WKWebViewPrivate.h
M Source/WebKit/UIProcess/API/ios/WKWebViewIOS.mm
M Source/WebKit/UIProcess/Cocoa/WebPageProxyCocoa.mm
M Source/WebKit/UIProcess/WebPageProxy.h
Log Message:
-----------
[visionOS] Allow clients to get notified when the now playing media session
exits external playback.
https://bugs.webkit.org/show_bug.cgi?id=289673
rdar://145495395
Reviewed by Andy Estes.
Move the completion handler from exitExternalPlayback to enterExternalPlayback
and store it on the now playing interface (LMK) so that whether a client
requests to exit external playback, or WebKit does this as part of fullscreen
cleanup or media engine changes, the client has a way to react to such changes
in LMK's presentation state.
* Source/WebCore/platform/ios/VideoPresentationInterfaceIOS.h:
* Source/WebCore/platform/ios/VideoPresentationInterfaceIOS.mm:
(WebCore::VideoPresentationInterfaceIOS::enterExternalPlayback):
(WebCore::VideoPresentationInterfaceIOS::exitExternalPlayback):
* Source/WebKit/Platform/ios/PlaybackSessionInterfaceLMK.mm:
(WebKit::PlaybackSessionInterfaceLMK::supportsLinearMediaPlayerChanged):
* Source/WebKit/Platform/ios/VideoPresentationInterfaceLMK.h:
* Source/WebKit/Platform/ios/VideoPresentationInterfaceLMK.mm:
(WebKit::VideoPresentationInterfaceLMK::enterExternalPlayback):
(WebKit::VideoPresentationInterfaceLMK::exitExternalPlayback):
(WebKit::VideoPresentationInterfaceLMK::cleanupExternalPlayback):
* Source/WebKit/UIProcess/API/Cocoa/WKWebViewPrivate.h:
* Source/WebKit/UIProcess/API/ios/WKWebViewIOS.mm:
(-[WKWebView
_enterExternalPlaybackForNowPlayingMediaSessionWithEnterCompletionHandler:exitCompletionHandler:]):
(-[WKWebView _exitExternalPlayback]):
(-[WKWebView
_enterExternalPlaybackForNowPlayingMediaSessionWithCompletionHandler:]):
Deleted.
(-[WKWebView _exitExternalPlaybackWithCompletionHandler:]): Deleted.
* Source/WebKit/UIProcess/Cocoa/WebPageProxyCocoa.mm:
(WebKit::WebPageProxy::enterExternalPlaybackForNowPlayingMediaSession):
(WebKit::WebPageProxy::exitExternalPlayback):
* Source/WebKit/UIProcess/WebPageProxy.h:
Canonical link: https://commits.webkit.org/292118@main
To unsubscribe from these emails, change your notification settings at
https://github.com/WebKit/WebKit/settings/notifications
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes