[webkit-changes] [WebKit/WebKit] 1ad6bf: getDisplayMedia does not require a list of every s...

Eric Carlson noreply at github.com
Tue Feb 7 11:19:37 PST 2023


  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 1ad6bf1f3f6c8122574d79e9ae8bb53a2a61669a
      https://github.com/WebKit/WebKit/commit/1ad6bf1f3f6c8122574d79e9ae8bb53a2a61669a
  Author: Eric Carlson <eric.carlson at apple.com>
  Date:   2023-02-07 (Tue, 07 Feb 2023)

  Changed paths:
    M Source/WebCore/Modules/mediastream/MediaDevices.cpp
    M Source/WebCore/platform/mediastream/DisplayCaptureManager.h
    M Source/WebCore/platform/mediastream/RealtimeMediaSource.cpp
    M Source/WebCore/platform/mediastream/RealtimeMediaSourceCenter.cpp
    M Source/WebCore/platform/mediastream/RealtimeMediaSourceCenter.h
    M Source/WebCore/platform/mediastream/cocoa/DisplayCaptureSourceCocoa.cpp
    M Source/WebCore/platform/mediastream/cocoa/DisplayCaptureSourceCocoa.h
    M Source/WebCore/platform/mediastream/mac/DisplayCaptureManagerCocoa.cpp
    M Source/WebCore/platform/mediastream/mac/DisplayCaptureManagerCocoa.h
    M Source/WebCore/platform/mediastream/mac/ScreenCaptureKitCaptureSource.h
    M Source/WebCore/platform/mediastream/mac/ScreenCaptureKitCaptureSource.mm
    M Source/WebCore/platform/mock/MockRealtimeMediaSourceCenter.cpp
    M Source/WebCore/platform/mock/MockRealtimeMediaSourceCenter.h
    M Source/WebKit/UIProcess/API/C/WKUserMediaPermissionRequest.cpp
    M Source/WebKit/UIProcess/API/C/WKUserMediaPermissionRequest.h
    M Source/WebKit/UIProcess/UserMediaPermissionRequestManagerProxy.cpp
    M Source/WebKit/UIProcess/UserMediaPermissionRequestProxy.h
    M Source/WebKit/UIProcess/UserMediaProcessManager.cpp
    M Source/WebKit/UIProcess/UserMediaProcessManager.h
    M Source/WebKit/UIProcess/mac/DisplayCaptureSessionManager.mm
    M Tools/WebKitTestRunner/TestController.cpp

  Log Message:
  -----------
  getDisplayMedia does not require a list of every screen and window
https://bugs.webkit.org/show_bug.cgi?id=251719
rdar://105018387

Reviewed by Youenn Fablet.

getDisplayMedia always requires a prompt and an explicit user selection, so we will
never need to build a list of every window and screen.

* Source/WebCore/platform/mediastream/DisplayCaptureManager.h:
(WebCore::DisplayCaptureManager::windowDevices): Deleted.
* Source/WebCore/platform/mediastream/RealtimeMediaSource.cpp:
(WebCore::RealtimeMediaSource::setIntrinsicSize):
* Source/WebCore/platform/mediastream/RealtimeMediaSourceCenter.cpp:
(WebCore::RealtimeMediaSourceCenter::getMediaStreamDevices):
(WebCore::RealtimeMediaSourceCenter::enumerateDevices):
(WebCore::RealtimeMediaSourceCenter::validateRequestConstraints):
(WebCore::RealtimeMediaSourceCenter::validateRequestConstraintsAfterEnumeration):
(WebCore::RealtimeMediaSourceCenter::getDisplayMediaDevices): Deleted.
* Source/WebCore/platform/mediastream/RealtimeMediaSourceCenter.h:
* Source/WebCore/platform/mediastream/cocoa/DisplayCaptureSourceCocoa.cpp:
(WebCore::DisplayCaptureSourceCocoa::updateFrameSize):
(WebCore::DisplayCaptureSourceCocoa::capturerConfigurationChanged):
* Source/WebCore/platform/mediastream/cocoa/DisplayCaptureSourceCocoa.h:
* Source/WebCore/platform/mediastream/mac/DisplayCaptureManagerCocoa.cpp:
(WebCore::DisplayCaptureManagerCocoa::captureDevices):
(WebCore::DisplayCaptureManagerCocoa::updateDisplayCaptureDevices): Deleted.
(WebCore::DisplayCaptureManagerCocoa::updateWindowCaptureDevices): Deleted.
(WebCore::DisplayCaptureManagerCocoa::windowDevices): Deleted.
* Source/WebCore/platform/mediastream/mac/DisplayCaptureManagerCocoa.h:
* Source/WebCore/platform/mediastream/mac/ScreenCaptureKitCaptureSource.h:
* Source/WebCore/platform/mediastream/mac/ScreenCaptureKitCaptureSource.mm:
(WebCore::ScreenCaptureKitCaptureSource::startContentStream):
(WebCore::ScreenCaptureKitCaptureSource::intrinsicSize const):
(WebCore::ScreenCaptureKitCaptureSource::streamDidOutputSampleBuffer):
(WebCore::ScreenCaptureKitCaptureSource::windowCaptureDeviceWithPersistentID):
(WebCore::ScreenCaptureKitCaptureSource::captureDeviceWithPersistentID): Deleted.
(WebCore::ScreenCaptureKitCaptureSource::screenCaptureDevices): Deleted.
(WebCore::ScreenCaptureKitCaptureSource::windowCaptureDevices): Deleted.
(WebCore::ScreenCaptureKitCaptureSource::windowDevices): Deleted.
(WebCore::forEachNSWindow): Deleted.
* Source/WebCore/platform/mock/MockRealtimeMediaSourceCenter.cpp:
(WebCore::MockRealtimeMediaSourceCenter::MockDisplayCaptureDeviceManager::windowDevices): Deleted.
* Source/WebCore/platform/mock/MockRealtimeMediaSourceCenter.h:
* Source/WebKit/UIProcess/API/C/WKUserMediaPermissionRequest.cpp:
(WKUserMediaPermissionRequestRequiresDisplayCapture):
* Source/WebKit/UIProcess/API/C/WKUserMediaPermissionRequest.h:
* Source/WebKit/UIProcess/UserMediaPermissionRequestManagerProxy.cpp:
(WebKit::UserMediaPermissionRequestManagerProxy::finishGrantingRequest):
(WebKit::UserMediaPermissionRequestManagerProxy::getRequestAction):
(WebKit::UserMediaPermissionRequestManagerProxy::processUserMediaPermissionRequest):
(WebKit::UserMediaPermissionRequestManagerProxy::processUserMediaPermissionValidRequest):
* Source/WebKit/UIProcess/UserMediaPermissionRequestProxy.h:
(WebKit::UserMediaPermissionRequestProxy::requiresDisplayCapture const):
(WebKit::UserMediaPermissionRequestProxy::requiresDisplayCaptureWithAudio const):
* Source/WebKit/UIProcess/UserMediaProcessManager.cpp:
(WebKit::UserMediaProcessManager::willCreateMediaStream):
* Source/WebKit/UIProcess/UserMediaProcessManager.h:
* Source/WebKit/UIProcess/mac/DisplayCaptureSessionManager.mm:
(WebKit::DisplayCaptureSessionManager::showWindowPicker):
(WebKit::DisplayCaptureSessionManager::showScreenPicker):
(WebKit::alertForWindowSelection): Deleted.
* Tools/WebKitTestRunner/TestController.cpp:
(WTR::TestController::decidePolicyForUserMediaPermissionRequestIfPossible):

Canonical link: https://commits.webkit.org/259969@main




More information about the webkit-changes mailing list