-
Andy Paicu authored
This is a reland of 4e31d46a Original change's description: > Immediately stop media streams if users revokes consent > > Since camera and microphone are particularly sensitive permissions we > should be viligent and stop streams immediately when the user revokes > the permission. > > This CL uses the permission controller subscription functionality to > listen to permission changes on the relevant origins. Each DeviceRequest > will have up to 2 permission subscriptions (1 audio, 1 video). When > a permission is changed to non-Granted the specific DeviceRequest is > canceled. Subscriptions are removed when the DeviceRequest is deleted. > > Because MediaStreamManager is an IO thread class but > PermissionController is a UI thread class, this CL has to do a bit of > thread hoping: > > FinalizeStream(IO) > SubscribeToPermissionControllerOnUIThread(UI) > > SetPermissionSubscriptionIDs(IO) >(maybe)> > UnsubscribeFromPermissionControllerOnUIThread(UI) > > DeleteRequest(IO) > UnsubscribeFromPermissionControllerOnUIThread(UI) > > Bug: 1116435 > > Change-Id: I6649125e028d607eeb7ba5701b710a715addf6f2 > Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2352790 > Commit-Queue: Andy Paicu <andypaicu@chromium.org> > Reviewed-by: Guido Urdaneta <guidou@chromium.org> > Cr-Commit-Position: refs/heads/master@{#798564} Bug: 1116435 Change-Id: Iede170df981bc69d025bcf66b029237977bc7a04 Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2362288 Commit-Queue: Andy Paicu <andypaicu@chromium.org> Reviewed-by:
Guido Urdaneta <guidou@chromium.org> Cr-Commit-Position: refs/heads/master@{#799549}
ce25b7b6