diff --git a/getusermedia.html b/getusermedia.html index 046a5b72..616da8fb 100644 --- a/getusermedia.html +++ b/getusermedia.html @@ -881,25 +881,14 @@

Life-cycle

If the end of the track was reached due to a user request, the event source for this event is the user interaction event source.

-

To invoke the device permission revocation algorithm with permissionName and - {{DevicePermissionDescriptor/deviceId}} deviceId, run the - following steps:

+

To invoke the device permission revocation algorithm with permissionName, + run the following steps:

  1. Let tracks be the set of all currently {{MediaStreamTrackState/"live"}} MediaStreamTracks - that fit the following criteria:

    - + whose permission associated with this kind of track ("camera" or "microphone") + matches permissionName.

  2. For each track in tracks, @@ -3647,8 +3636,6 @@

    Methods

    use=] a {{PermissionDescriptor}} with its {{PermissionDescriptor/name}} member set to the permission name associated with kind (e.g. "camera" for "video", "microphone" for "audio"), - and, optionally, consider its {{DevicePermissionDescriptor/deviceId}} member set to - any appropriate device's deviceId, while considering all devices attached to a live and same-permission {{MediaStreamTrack}} in the current {{Document}} @@ -5427,34 +5414,29 @@

    Permissions Integration

    -          dictionary DevicePermissionDescriptor : PermissionDescriptor {
    -            DOMString deviceId;
    -          };
    -
    -          dictionary CameraDevicePermissionDescriptor : DevicePermissionDescriptor {
    +          dictionary CameraDevicePermissionDescriptor : PermissionDescriptor {
                 boolean panTiltZoom = false;
               };
             

    - A permission covers access to the device given in the associated descriptor. + A permission covers access to at least one device of a kind.

    - If the descriptor does not have a {{DevicePermissionDescriptor/deviceId}}, its - semantic is that it queries for access to any device of that kind. Thus, if a query - for the "camera" permission with no - {{DevicePermissionDescriptor/deviceId}} returns {{PermissionState/"granted"}}, the + The semantics of the descriptor is that it queries for access to any device of that kind. + Thus, if a query + for the "camera" permission returns {{PermissionState/"granted"}}, the client knows that it will get access to one camera without a permission prompt, and if {{PermissionState/"denied"}} is returned, it knows that no getUserMedia request for a camera will succeed.

    - If a {{PermissionState/"granted"}} permission is present on some, but not all, devices of a kind, a query - without the {{DevicePermissionDescriptor/deviceId}} will return + If the User Agent considers permission given to some, but not all, devices of a kind, a query + will return {{PermissionState/"granted"}}.

    - If a {{PermissionState/"denied"}} permission is present on all devices of a kind, a query - without the {{DevicePermissionDescriptor/deviceId}} will return + If the User Agent considers permission denied to all devices of a kind, a query + will return {{PermissionState/"denied"}}.

    @@ -5463,44 +5445,17 @@

    Permissions Integration

    A {{PermissionState/"granted"}} permission is no guarantee that getUserMedia will succeed. It - only indicates that the user will not be prompted for permission to the - {{DevicePermissionDescriptor/deviceId}} it specifies. There are many + only indicates that the user will not be prompted for permission. There are many other things (such as constraints or the camera being in use) that can cause getUserMedia to fail.

    -
    - [=powerful feature/extra permission data type=] -
    -
    - A list of {{MediaDeviceInfo/deviceId}} values for the devices the user has made a - non-default decision on access to. -
    -
    - [=powerful feature/permission query algorithm=] -
    -
    - The permission query algorithm runs the following steps: -
      -
    1. If |permissionDesc|.deviceId exists in the [=powerful feature/extra permission - data=], set |status|.state to |permissionDesc|'s permission state - and terminate these steps. -
    2. -
    3. Let global be a copy of |permissionDesc| with the - {{DevicePermissionDescriptor/deviceId}} member removed. -
    4. -
    5. Set |status|.state to global's permission state. -
    6. -
    -
    [=powerful feature/permission revocation algorithm=]
    This is the result of calling the [=device permission revocation algorithm=] passing - {{PermissionDescriptor/name}} and {{DevicePermissionDescriptor/deviceId}} as arguments. - If the descriptor does not have a {{DevicePermissionDescriptor/deviceId}}, then - undefined is passed in place of {{DevicePermissionDescriptor/deviceId}}. + {{PermissionDescriptor/name}} as argument.