[webkit-changes] [WebKit/WebKit] 3af680: Merge 254165 at main - enumerateDevices may return fi...

youennf noreply at github.com
Tue Sep 6 13:06:14 PDT 2022


  Branch: refs/heads/webkitglib/2.38
  Home:   https://github.com/WebKit/WebKit
  Commit: 3af6801f2d574e538ae77458927e5748cce97060
      https://github.com/WebKit/WebKit/commit/3af6801f2d574e538ae77458927e5748cce97060
  Author: Youenn Fablet <youennf at gmail.com>
  Date:   2022-09-06 (Tue, 06 Sep 2022)

  Changed paths:
    M Source/WebKit/UIProcess/UserMediaPermissionRequestManagerProxy.cpp
    M Source/WebKit/UIProcess/UserMediaPermissionRequestManagerProxy.h
    M Tools/TestWebKitAPI/Tests/WebKit/GetUserMedia.mm
    M Tools/TestWebKitAPI/Tests/WebKit/getUserMedia.html

  Log Message:
  -----------
  Merge 254165 at main - enumerateDevices may return filtered devices even if page is capturing
https://bugs.webkit.org/show_bug.cgi?id=244713
rdar://problem/99484964

Reviewed by Eric Carlson.

Stop using m_grantedRequests for enumerateDevices since it might be reset to ask for prompting again.
Instead, manage a HashSet<FrameID> to store whether a particular document can get access to the whole information.
We still reset this hash set in case we are ordered to stop capture.

* Source/WebKit/UIProcess/UserMediaPermissionRequestManagerProxy.cpp:
(WebKit::UserMediaPermissionRequestManagerProxy::grantRequest):
(WebKit::UserMediaPermissionRequestManagerProxy::resetAccess):
(WebKit::UserMediaPermissionRequestManagerProxy::searchForGrantedRequest const):
(WebKit::UserMediaPermissionRequestManagerProxy::updateStoredRequests):
(WebKit::UserMediaPermissionRequestManagerProxy::processUserMediaPermissionInvalidRequest):
(WebKit::UserMediaPermissionRequestManagerProxy::shouldChangeDeniedToPromptForCamera const):
(WebKit::UserMediaPermissionRequestManagerProxy::shouldChangeDeniedToPromptForMicrophone const):
(WebKit::UserMediaPermissionRequestManagerProxy::wasGrantedVideoOrAudioAccess):
(WebKit::UserMediaPermissionRequestManagerProxy::enumerateMediaDevicesForFrame):
(WebKit::UserMediaPermissionRequestManagerProxy::captureStateChanged):
(WebKit::UserMediaPermissionRequestManagerProxy::watchdogTimerFired):
* Source/WebKit/UIProcess/UserMediaPermissionRequestManagerProxy.h:
* Tools/TestWebKitAPI/Tests/WebKit/GetUserMedia.mm:
* Tools/TestWebKitAPI/Tests/WebKit/getUserMedia.html:

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

(cherry picked from commit 3142453d3762d579cda8a4f04041598e31e584ab)




More information about the webkit-changes mailing list