Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: 704de66ba7cb72f0cde960ca342172fed0c1383e
https://github.com/WebKit/WebKit/commit/704de66ba7cb72f0cde960ca342172fed0c1383e
Author: Youenn Fablet <[email protected]>
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
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes