[webkit-changes] [WebKit/WebKit] 07f45d: getUserMedia for video only should not trigger exp...
youennf
noreply at github.com
Tue Dec 10 13:25:02 PST 2024
Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: 07f45d308dc38d21221c9f066bf430d7c650ef7a
https://github.com/WebKit/WebKit/commit/07f45d308dc38d21221c9f066bf430d7c650ef7a
Author: Youenn Fablet <youenn at apple.com>
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
More information about the webkit-changes
mailing list