Re: [mediacapture-main] Move "global" internal slots to MediaDevices, and fix "relevant object" links (#939)

In cleaning this up, I came across a couple of realities that I've tried to handle better with this PR.

1. There's more than one mediaDevices object to consider. E.g. [in iframes](https://jan-ivar.github.io/dummy/iframe_iframe_gum_cross.html).
2. A source only stops when _ALL_ tracks in the entire user agent have ended, so [stop all sources](https://w3c.github.io/mediacapture-main/getusermedia.html#dfn-stop-all-sources) on ONE global object using [[[mediaStreamTrackSources]]](https://w3c.github.io/mediacapture-main/getusermedia.html#dfn-mediastreamtracksources) doesn't work. I reworked it to lean on existing [ends](https://w3c.github.io/mediacapture-main/getusermedia.html#ends-nostop) algorithms instead, which seems to work well even for transfered tracks.
3. Some of the internal slots were (and still are) accessed off main thread
4. For [Privacy Indicator Requirements](https://w3c.github.io/mediacapture-main/getusermedia.html#privacy-indicator-requirements) I just added a note saying dealing with multiple iframes is an exercise left to UAs.


-- 
GitHub Notification of comment by jan-ivar
Please view or discuss this issue at https://github.com/w3c/mediacapture-main/pull/939#issuecomment-1458707375 using your GitHub account


-- 
Sent via github-notify-ml as configured in https://github.com/w3c/github-notify-ml-config

Received on Tuesday, 7 March 2023 19:29:31 UTC