From f6ebdcdb0304f415274b5b33b8bdf8441e678fe0 Mon Sep 17 00:00:00 2001
From: Jan-Ivar Bruaroey Let p be a new promise. Let proceed be the result of
+ [=device enumeration can proceed=]. Let document be the [=relevant global object=]'s
+ [=associated `Document`=]. Run the following steps in parallel: Let document be the [=relevant global object=]'s
- [=associated `Document`=]. The [=User Agent=] MUST wait to proceed to the next step until
- [=device enumeration can proceed=] is If proceed is `false`, the [=User Agent=]
+ MUST wait to proceed to the next step until a task queued
+ to set proceed to the result of
+ [=device enumeration can proceed=], sets
+ proceed to `true`. Let resultList be the result of
@@ -3467,6 +3473,13 @@ Methods
true
.Methods
feature identified by the "camera" permission name,
jump to the step labeled Permission Failure below.
Let inForeground be the result of the following + in the foreground algorithm, which returns `true` if + the [=relevant global object=]'s [=associated `Document`=] is + [=Document/fully active=] and its [=Document/visibility state=] + is `"visible"`.
+Let p be a new promise.
Run the following steps in parallel:
The [=User Agent=] MUST wait to proceed to the next step until - the [=relevant global object=]'s [=associated `Document`=] is - [=Document/fully active=] and - has focus.
+If inForeground is `false`, the [=User Agent=] + MUST wait to proceed to the next step until a task queued + to set inForeground to the result of the + [=in the foreground=] algorithm, sets + inForeground to `true`.
Let finalSet be an (initially) empty @@ -3596,6 +3610,16 @@
The [=User Agent=] MUST wait to proceed to the next + step until a task queued to set systemFocus + to `true` if the [=top-level browsing context=] has + system focus, + or `false` otherwise, sets systemFocus to + `true`.
+Let finalCandidate be the provided media, which MUST be precisely one candidate of type kind from finalSet. The decision of which candidate to @@ -4094,11 +4118,10 @@
A web page without focus +
A web page not [=in the foreground=] re-enables a track when all tracks from that source are disabled, in order to delay - resumption of capture until the page - gains focus. + resumption of capture until the page is [=in the foreground=].
A web page gains focus and +
A web page comes [=in the foreground|into the foreground=] and has one or more enabled tracks that are also [= muted =].
From 1eac1828d81c9fb98a7c4c90e9620b2c1ade4fe7 Mon Sep 17 00:00:00 2001 From: Jan-Ivar BruaroeyIf the user never responds, this algorithm stalls on this step.
+If the result of the request is {{PermissionState/"denied"}}, + jump to the step labeled Permission Failure below.
+The [=User Agent=] MUST wait to proceed to the next step until a task queued to set systemFocus @@ -3637,13 +3644,6 @@
If the user never responds, this algorithm stalls on this step.
-If the result of the request is {{PermissionState/"denied"}}, - jump to the step labeled Permission Failure below.
-The result of the request is {{PermissionState/"granted"}}.
If a hardware error such as an OS/program/webpage lock prevents access,
From 2a7c464017c3352327007e29fae84b0debe28a35 Mon Sep 17 00:00:00 2001
From: Jan-Ivar Bruaroey Run the following steps in parallel: If proceed is `false`, the [=User Agent=]
+ While proceed is `false`, the [=User Agent=]
MUST wait to proceed to the next step until a task queued
to set proceed to the result of
[=device enumeration can proceed=], sets
@@ -3487,7 +3487,7 @@ Run the following steps in parallel: If inForeground is `false`, the [=User Agent=]
+ While inForeground is `false`, the [=User Agent=]
MUST wait to proceed to the next step until a task queued
to set inForeground to the result of the
[=in the foreground=] algorithm, sets
From e24d63fe9b430cb78efef741d4fb88a629f0d82c Mon Sep 17 00:00:00 2001
From: Jan-Ivar Bruaroey Return {{MediaDevices/[[canExposeMicrophoneInfo]]}}. To perform an is in view check, run the following
+ steps: If the [=relevant global object=]'s [=associated `Document`=] is
+ [=Document/fully active=] and its [=Document/visibility state=]
+ is `"visible"`, return `true`. Otherwise, return `false`.Methods
Methods
+ Device information exposure
+
Set device information exposure
@@ -3474,11 +3483,8 @@ Methods
jump to the step labeled Permission Failure below.
Let inForeground be the result of the following - in the foreground algorithm, which returns `true` if - the [=relevant global object=]'s [=associated `Document`=] is - [=Document/fully active=] and its [=Document/visibility state=] - is `"visible"`.
+Let isInView be the result of the + is in view algorithm.
Let p be a new promise.
@@ -3487,11 +3493,11 @@Run the following steps in parallel:
While inForeground is `false`, the [=User Agent=] +
While isInView is `false`, the [=User Agent=] MUST wait to proceed to the next step until a task queued - to set inForeground to the result of the - [=in the foreground=] algorithm, sets - inForeground to `true`.
+ to set isInView to the result of the + [=is in view=] algorithm, would set + isInView to `true`.Let finalSet be an (initially) empty @@ -4118,10 +4124,10 @@
A web page not [=in the foreground=] +
A web page not [=is in view|in view=] re-enables a track when all tracks from that source are disabled, in order to delay - resumption of capture until the page is [=in the foreground=]. + resumption of capture until the page [=is in view=].
A web page comes [=in the foreground|into the foreground=] and +
A web page comes [=is in view|into view=] and has one or more enabled tracks that are also [= muted =].
From 50b4647e3403de754f15cad31ba2c648d60cf72c Mon Sep 17 00:00:00 2001 From: Jan-Ivar BruaroeyIf the user never responds, this algorithm stalls on this step.
+If the user never responds, this algorithm stalls on this step.
+If the result of the request is {{PermissionState/"denied"}},
From 2cfa9a99ada74a9494b180c50dade42cbc4a8f8e Mon Sep 17 00:00:00 2001
From: Jan-Ivar Bruaroey Device information exposure
is `"visible"`, return `true`. Otherwise, return `false`.
To perform a has system focus check, run the following + steps:
+If the [=relevant global object=]'s [=associated `Document`=]'s + [=top-level browsing context=] has + system focus, return + `true`. Otherwise, return `false`.
+The [=User Agent=] MUST wait to proceed to the next - step until a task queued to set systemFocus - to `true` if the [=top-level browsing context=] has - system focus, - or `false` otherwise, sets systemFocus to +
Let hasSystemFocus be `false`.
+While hasSystemFocus is `false`, the + [=User Agent=] MUST wait to proceed to the next step + until a task queued to set hasSystemFocus + to the result of the [=has system focus=] + algorithm, would set hasSystemFocus to `true`.
If the [=relevant global object=]'s [=associated `Document`=]'s +
If the [=relevant global object=]'s [=browsing context=]'s [=top-level browsing context=] has system focus, return `true`. Otherwise, return `false`.
From c5960424360e83f435e895a09611c581e5307b5b Mon Sep 17 00:00:00 2001 From: Jan-Ivar BruaroeyWhile proceed is `false`, the [=User Agent=] MUST wait to proceed to the next step until a task queued to set proceed to the result of - [=device enumeration can proceed=], sets + [=device enumeration can proceed=], would set proceed to `true`.
To to ensure stored identifiers are recognized, the identifier MUST be the same in documents of the same origin in [=top-level browsing contexts=]. - In [=nested browsing contexts=], + In [=child navigables=], the decision of whether or not the identifier is the same across documents, MUST follow the [=User Agent=]'s partitioning rules for storage (such as {{WindowLocalStorage/localStorage}}), if any,