Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 704de66ba7cb72f0cde960ca342172fed0c1383e https://github.com/WebKit/WebKit/commit/704de66ba7cb72f0cde960ca342172fed0c1383e Author: Youenn Fablet <you...@apple.com> Date: 2024-03-04 (Mon, 04 Mar 2024)
Changed paths: M Source/WebCore/platform/mediastream/cocoa/DisplayCaptureSourceCocoa.cpp M Source/WebCore/platform/mediastream/cocoa/DisplayCaptureSourceCocoa.h M Source/WebCore/platform/mediastream/mac/ScreenCaptureKitCaptureSource.h M Source/WebCore/platform/mediastream/mac/ScreenCaptureKitCaptureSource.mm M Source/WebCore/platform/mediastream/mac/ScreenCaptureKitSharingSessionManager.h M Source/WebCore/platform/mediastream/mac/ScreenCaptureKitSharingSessionManager.mm Log Message: ----------- Display capture Safari muting UI is broken if UseSCContentSharingPicker is false https://bugs.webkit.org/show_bug.cgi?id=270441 rdar://123311026 Reviewed by Eric Carlson. In case UseSCContentSharingPicker is false, we use a sharing session to start capture. Before the patch, we would not keep the sharing session. We update the code to store the sharing session in ScreenCaptureKitCaptureSource, so that when calling start to restart capture, we can reuse the sharing session. To make it work, we need the haring session to not be ended. We end it in ScreenCaptureKitCaptureSource::end() or in ScreenCaptureKitCaptureSource destructor via ScreenCaptureKitSharingSessionManager::cleanupSharingSession. We update ScreenCaptureKitCaptureSource::sessionFailedWithError since it is called with an error just after ScreenCaptureKitCaptureSource::stop is called. * Source/WebCore/platform/mediastream/cocoa/DisplayCaptureSourceCocoa.cpp: (WebCore::DisplayCaptureSourceCocoa::endProducingData): * Source/WebCore/platform/mediastream/cocoa/DisplayCaptureSourceCocoa.h: * Source/WebCore/platform/mediastream/mac/ScreenCaptureKitCaptureSource.h: * Source/WebCore/platform/mediastream/mac/ScreenCaptureKitCaptureSource.mm: (WebCore::ScreenCaptureKitCaptureSource::~ScreenCaptureKitCaptureSource): (WebCore::ScreenCaptureKitCaptureSource::end): (WebCore::ScreenCaptureKitCaptureSource::clearSharingSession): (WebCore::ScreenCaptureKitCaptureSource::sessionFailedWithError): (WebCore::ScreenCaptureKitCaptureSource::startContentStream): * Source/WebCore/platform/mediastream/mac/ScreenCaptureKitSharingSessionManager.h: * Source/WebCore/platform/mediastream/mac/ScreenCaptureKitSharingSessionManager.mm: (WebCore::ScreenCaptureKitSharingSessionManager::contentFilterAndSharingSessionFromCaptureDevice): (WebCore::ScreenCaptureKitSharingSessionManager::createSessionSourceForDevice): (WebCore::ScreenCaptureKitSharingSessionManager::cleanupSessionSource): (WebCore::ScreenCaptureKitSharingSessionManager::cleanupSharingSession): (WebCore::ScreenCaptureKitSharingSessionManager::contentFilterFromCaptureDevice): Deleted. Canonical link: https://commits.webkit.org/275627@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