Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 5f4a06b21d82b347d6f091ca79af9bcfa3a8a834 https://github.com/WebKit/WebKit/commit/5f4a06b21d82b347d6f091ca79af9bcfa3a8a834 Author: Youenn Fablet <you...@apple.com> Date: 2024-07-09 (Tue, 09 Jul 2024)
Changed paths: M Source/WebCore/html/HTMLVideoElement.cpp M Source/WebCore/html/HTMLVideoElement.h M Source/WebCore/page/Page.cpp M Source/WebCore/page/Page.h M Source/WebCore/page/PageConfiguration.h M Source/WebCore/platform/graphics/MediaPlayer.cpp M Source/WebCore/platform/graphics/MediaPlayer.h M Source/WebCore/platform/graphics/avfoundation/SampleBufferDisplayLayer.h M Source/WebCore/platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaStreamAVFObjC.h M Source/WebCore/platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaStreamAVFObjC.mm M Source/WebKit/GPUProcess/media/RemoteMediaPlayerProxyConfiguration.h M Source/WebKit/GPUProcess/media/RemoteMediaPlayerProxyConfiguration.serialization.in M Source/WebKit/GPUProcess/media/cocoa/RemoteMediaPlayerProxyCocoa.mm M Source/WebKit/GPUProcess/webrtc/RemoteSampleBufferDisplayLayer.cpp M Source/WebKit/GPUProcess/webrtc/RemoteSampleBufferDisplayLayer.h M Source/WebKit/GPUProcess/webrtc/RemoteSampleBufferDisplayLayerManager.cpp M Source/WebKit/GPUProcess/webrtc/RemoteSampleBufferDisplayLayerManager.h M Source/WebKit/GPUProcess/webrtc/RemoteSampleBufferDisplayLayerManager.messages.in M Source/WebKit/WebProcess/GPU/media/RemoteMediaPlayerManager.cpp M Source/WebKit/WebProcess/GPU/webrtc/SampleBufferDisplayLayer.cpp M Source/WebKit/WebProcess/WebPage/WebPage.cpp M Source/WebKit/WebProcess/WebPage/WebPage.h Log Message: ----------- [iOS] Allow media to play in lock screen https://bugs.webkit.org/show_bug.cgi?id=271228 rdar://122881278 Reviewed by Jean-Yves Avenard. To allow media to play in lock screen, we need to create the layer hosting context canShowWhileLocked option in GPUProcess. We pipe it from WebProcess to GPUProcess for RemoteSampleBufferDisplayLayerManager and RemoteMediaPlayerProxy code paths. We introduce a MediaPlayer getter which is implemented in HTMLVideoElement by looking at its page object. We move the page canShowWhileLocked boolean from WebKit::WebPage to WebCore::Page so that HTMLVideoElement gets access to it. * Source/WebCore/html/HTMLVideoElement.cpp: (WebCore::HTMLVideoElement::canShowWhileLocked const): * Source/WebCore/html/HTMLVideoElement.h: * Source/WebCore/page/Page.cpp: (WebCore::Page::Page): * Source/WebCore/page/Page.h: (WebCore::Page::canShowWhileLocked const): * Source/WebCore/page/PageConfiguration.h: * Source/WebCore/platform/graphics/MediaPlayer.cpp: (WebCore::MediaPlayer::canShowWhileLocked const): * Source/WebCore/platform/graphics/MediaPlayer.h: (WebCore::MediaPlayerClient::canShowWhileLocked const): * Source/WebCore/platform/graphics/avfoundation/SampleBufferDisplayLayer.h: (WebCore::SampleBufferDisplayLayer::canShowWhileLocked): * Source/WebCore/platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaStreamAVFObjC.h: * Source/WebCore/platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaStreamAVFObjC.mm: (WebCore::MediaPlayerPrivateMediaStreamAVFObjC::canShowWhileLocked const): * Source/WebKit/GPUProcess/media/RemoteMediaPlayerProxyConfiguration.h: * Source/WebKit/GPUProcess/media/RemoteMediaPlayerProxyConfiguration.serialization.in: * Source/WebKit/GPUProcess/media/cocoa/RemoteMediaPlayerProxyCocoa.mm: (WebKit::RemoteMediaPlayerProxy::mediaPlayerRenderingModeChanged): * Source/WebKit/GPUProcess/webrtc/RemoteSampleBufferDisplayLayer.cpp: (WebKit::RemoteSampleBufferDisplayLayer::initialize): * Source/WebKit/GPUProcess/webrtc/RemoteSampleBufferDisplayLayer.h: * Source/WebKit/GPUProcess/webrtc/RemoteSampleBufferDisplayLayerManager.cpp: (WebKit::RemoteSampleBufferDisplayLayerManager::createLayer): * Source/WebKit/GPUProcess/webrtc/RemoteSampleBufferDisplayLayerManager.h: * Source/WebKit/GPUProcess/webrtc/RemoteSampleBufferDisplayLayerManager.messages.in: * Source/WebKit/WebProcess/GPU/media/RemoteMediaPlayerManager.cpp: (WebKit::RemoteMediaPlayerManager::createRemoteMediaPlayer): * Source/WebKit/WebProcess/GPU/webrtc/SampleBufferDisplayLayer.cpp: (WebKit::SampleBufferDisplayLayer::initialize): * Source/WebKit/WebProcess/WebPage/WebPage.cpp: (WebKit::m_textAnimationController): * Source/WebKit/WebProcess/WebPage/WebPage.h: (WebKit::WebPage::canShowWhileLocked const): Canonical link: https://commits.webkit.org/280765@main To unsubscribe from these emails, change your notification settings at https://github.com/WebKit/WebKit/settings/notifications _______________________________________________ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes