Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 07f45d308dc38d21221c9f066bf430d7c650ef7a
      
https://github.com/WebKit/WebKit/commit/07f45d308dc38d21221c9f066bf430d7c650ef7a
  Author: Youenn Fablet <[email protected]>
  Date:   2024-12-10 (Tue, 10 Dec 2024)

  Changed paths:
    A LayoutTests/fast/mediastream/device-change-event-3-expected.txt
    A LayoutTests/fast/mediastream/device-change-event-3.html
    A LayoutTests/fast/mediastream/device-change-event-4-expected.txt
    A LayoutTests/fast/mediastream/device-change-event-4.html
    M LayoutTests/fast/mediastream/media-devices-enumerate-devices.html
    M 
LayoutTests/imported/w3c/web-platform-tests/mediacapture-streams/MediaDevices-enumerateDevices.https-expected.txt
    M Source/WebCore/Modules/mediastream/MediaDevices.cpp
    M Source/WebCore/Modules/mediastream/MediaDevices.h
    M Source/WebCore/Modules/mediastream/UserMediaRequest.cpp
    M Source/WebKit/UIProcess/UserMediaPermissionRequestManagerProxy.cpp
    M Source/WebKit/UIProcess/UserMediaPermissionRequestManagerProxy.h

  Log Message:
  -----------
  getUserMedia for video only should not trigger exposure of microphone (and 
vice versa)
rdar://140917408
https://bugs.webkit.org/show_bug.cgi?id=284043

Reviewed by Eric Carlson.

MediaDevices is now responsible to fire devicechange events when:
- camera devices were not exposed before and getUserMedia for camera will start.
- microphone devices were not exposed before and getUserMedia for microphone 
will start.

Update UserMediaPermissionRequestManagerProxy to filter camera and microphone 
differently.
We thus keep track of frames granted for audio and video separately.

* LayoutTests/fast/mediastream/device-change-event-3-expected.txt: Added.
* LayoutTests/fast/mediastream/device-change-event-3.html: Added.
* LayoutTests/fast/mediastream/device-change-event-4-expected.txt: Added.
* LayoutTests/fast/mediastream/device-change-event-4.html: Added.
* LayoutTests/fast/mediastream/media-devices-enumerate-devices.html:
* 
LayoutTests/imported/w3c/web-platform-tests/mediacapture-streams/MediaDevices-enumerateDevices.https-expected.txt:
* Source/WebCore/Modules/mediastream/MediaDevices.cpp:
(WebCore::MediaDevices::exposeDevices):
(WebCore::MediaDevices::willStartMediaCapture):
* Source/WebCore/Modules/mediastream/MediaDevices.h:
* Source/WebCore/Modules/mediastream/UserMediaRequest.cpp:
(WebCore::UserMediaRequest::~UserMediaRequest):
(WebCore::UserMediaRequest::allow):
(WebCore::UserMediaRequest::stop):
* Source/WebKit/UIProcess/UserMediaPermissionRequestManagerProxy.cpp:
(WebKit::UserMediaPermissionRequestManagerProxy::grantRequest):
(WebKit::UserMediaPermissionRequestManagerProxy::finishGrantingRequest):
(WebKit::UserMediaPermissionRequestManagerProxy::resetAccess):
(WebKit::UserMediaPermissionRequestManagerProxy::updateStoredRequests):
(WebKit::UserMediaPermissionRequestManagerProxy::wasGrantedVideoOrAudioAccess):
(WebKit::UserMediaPermissionRequestManagerProxy::wasGrantedAudioAccess):
(WebKit::UserMediaPermissionRequestManagerProxy::wasGrantedVideoAccess):
(WebKit::UserMediaPermissionRequestManagerProxy::computeFilteredDeviceList):
(WebKit::UserMediaPermissionRequestManagerProxy::enumerateMediaDevicesForFrame):
(WebKit::UserMediaPermissionRequestManagerProxy::watchdogTimerFired):
* Source/WebKit/UIProcess/UserMediaPermissionRequestManagerProxy.h:

Canonical link: https://commits.webkit.org/287629@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

Reply via email to