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

Reply via email to