[webkit-changes] [WebKit/WebKit] abc8c1: [Cocoa] Move WebAVPlayerLayer/View into VIdeoPrese...
Jer Noble
noreply at github.com
Fri Dec 6 16:40:38 PST 2024
Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: abc8c1bb938d2b5b292a8c8340944fa2fd9b5037
https://github.com/WebKit/WebKit/commit/abc8c1bb938d2b5b292a8c8340944fa2fd9b5037
Author: Jer Noble <jer.noble at apple.com>
Date: 2024-12-06 (Fri, 06 Dec 2024)
Changed paths:
M Source/WebCore/SourcesCocoa.txt
M Source/WebCore/WebCore.xcodeproj/project.pbxproj
A Source/WebCore/platform/cocoa/VideoPresentationLayerProvider.h
A Source/WebCore/platform/cocoa/VideoPresentationLayerProvider.mm
M Source/WebCore/platform/cocoa/WebAVPlayerLayer.mm
M Source/WebCore/platform/cocoa/WebAVPlayerLayerView.h
M Source/WebCore/platform/cocoa/WebAVPlayerLayerView.mm
M Source/WebCore/platform/graphics/cocoa/NullPlaybackSessionInterface.h
M Source/WebCore/platform/graphics/cocoa/NullVideoPresentationInterface.h
M Source/WebCore/platform/ios/VideoPresentationInterfaceAVKit.h
M Source/WebCore/platform/ios/VideoPresentationInterfaceAVKit.mm
M Source/WebCore/platform/ios/VideoPresentationInterfaceIOS.h
M Source/WebCore/platform/ios/VideoPresentationInterfaceIOS.mm
M Source/WebCore/platform/ios/WebVideoFullscreenControllerAVKit.mm
M Source/WebCore/platform/mac/VideoPresentationInterfaceMac.h
M Source/WebCore/platform/mac/VideoPresentationInterfaceMac.mm
M Source/WebKit/Platform/ios/VideoPresentationInterfaceLMK.h
M Source/WebKit/Platform/ios/VideoPresentationInterfaceLMK.mm
M Source/WebKit/UIProcess/Cocoa/VideoPresentationManagerProxy.h
M Source/WebKit/UIProcess/Cocoa/VideoPresentationManagerProxy.mm
Log Message:
-----------
[Cocoa] Move WebAVPlayerLayer/View into VIdeoPresentationInterface
https://bugs.webkit.org/show_bug.cgi?id=282868
rdar://139549784
Reviewed by Eric Carlson.
Move ownership of WebAVPlayerLayer, WebAVPlayerLayerView, the LayerHostView, and WKVideoView
from VideoPresentationModelContext and into VideoPresentationInterface*. But because each
VideoPresentationInterface type is a separate class, introduce a new base class which will
actually own those objects.
* Source/WebCore/SourcesCocoa.txt:
* Source/WebCore/WebCore.xcodeproj/project.pbxproj:
* Source/WebCore/platform/cocoa/VideoPresentationLayerProvider.h: Added.
* Source/WebCore/platform/cocoa/VideoPresentationLayerProvider.mm: Copied from Source/WebCore/platform/cocoa/WebAVPlayerLayerView.h.
(WebCore::VideoPresentationLayerProvider::ensurePlayerLayerView):
* Source/WebCore/platform/cocoa/WebAVPlayerLayer.mm:
(-[WebAVPlayerLayer setVideoSublayer:]):
* Source/WebCore/platform/cocoa/WebAVPlayerLayerView.h:
* Source/WebCore/platform/cocoa/WebAVPlayerLayerView.mm:
(WebCore::WebAVPlayerLayerView_transferVideoViewTo):
(WebCore::allocWebAVPlayerLayerViewInstance):
* Source/WebCore/platform/graphics/cocoa/NullPlaybackSessionInterface.h:
* Source/WebCore/platform/graphics/cocoa/NullVideoPresentationInterface.h:
* Source/WebCore/platform/ios/PlatformPasteboardIOS.mm:
* Source/WebCore/platform/ios/VideoPresentationInterfaceAVKit.h:
* Source/WebCore/platform/ios/VideoPresentationInterfaceAVKit.mm:
(-[WebAVPlayerViewController initWithFullscreenInterface:]):
(-[WebAVPlayerViewController playerLayerView]):
(WebCore::VideoPresentationInterfaceAVKit::setupFullscreen):
(WebCore::VideoPresentationInterfaceAVKit::setupPlayerViewController):
(WebCore::VideoPresentationInterfaceAVKit::invalidatePlayerViewController):
(WebCore::VideoPresentationInterfaceAVKit::returnVideoView):
* Source/WebCore/platform/ios/VideoPresentationInterfaceIOS.h:
(WebCore::VideoPresentationInterfaceIOS::playerLayerView const): Deleted.
* Source/WebCore/platform/ios/VideoPresentationInterfaceIOS.mm:
(WebCore::VideoPresentationInterfaceIOS::setupFullscreen):
(WebCore::VideoPresentationInterfaceIOS::doSetup):
(WebCore::VideoPresentationInterfaceIOS::videoDimensionsChanged):
(WebCore::VideoPresentationInterfaceIOS::externalPlaybackChanged):
(WebCore::VideoPresentationInterfaceIOS::doEnterFullscreen):
(WebCore::VideoPresentationInterfaceIOS::exitFullscreenHandler):
(WebCore::VideoPresentationInterfaceIOS::cleanupFullscreen):
(WebCore::VideoPresentationInterfaceIOS::didStopPictureInPicture):
(WebCore::VideoPresentationInterfaceIOS::returnToStandby):
(WebCore::VideoPresentationInterfaceIOS::returnVideoView):
(WebCore::VideoPresentationInterfaceIOS::playerLayer const): Deleted.
* Source/WebCore/platform/ios/WebVideoFullscreenControllerAVKit.mm:
(VideoFullscreenControllerContext::setUpFullscreen):
* Source/WebCore/platform/mac/VideoPresentationInterfaceMac.h:
* Source/WebCore/platform/mac/VideoPresentationInterfaceMac.mm:
(WebCore::VideoPresentationInterfaceMac::setupFullscreen):
* Source/WebCore/platform/mediarecorder/cocoa/MediaRecorderPrivateWriterAVFObjC.mm:
* Source/WebKit/Platform/ios/VideoPresentationInterfaceLMK.h:
* Source/WebKit/Platform/ios/VideoPresentationInterfaceLMK.mm:
(WebKit::VideoPresentationInterfaceLMK::setupFullscreen):
* Source/WebKit/UIProcess/Cocoa/VideoPresentationManagerProxy.h:
* Source/WebKit/UIProcess/Cocoa/VideoPresentationManagerProxy.mm:
(WebKit::VideoPresentationManagerProxy::invalidate):
(WebKit::VideoPresentationManagerProxy::createLayerWithID):
(WebKit::VideoPresentationManagerProxy::createLayerHostViewWithID):
(WebKit::VideoPresentationManagerProxy::createViewWithID):
(WebKit::VideoPresentationManagerProxy::setupFullscreenWithID):
(WebKit::VideoPresentationManagerProxy::returnVideoView):
(WebKit::VideoPresentationManagerProxy::didCleanupFullscreen):
(WebKit::VideoPresentationManagerProxy::setVideoLayerFrame):
(WebKit::VideoPresentationModelContext::setPlayerLayer): Deleted.
Canonical link: https://commits.webkit.org/287478@main
To unsubscribe from these emails, change your notification settings at https://github.com/WebKit/WebKit/settings/notifications
More information about the webkit-changes
mailing list