@@ -669,6 +669,10 @@ <h2>
669669 |errorCallback:PositionErrorCallback?|, a {{PositionOptions}}
670670 |options:PositionOptions|, and an optional |watchId:unsigned long|:
671671 </ p >
672+ < aside class ="correction " id ="c10 ">
673+ < span class ="marker "> Candidate Correction:</ span >
674+ Correct an algorithm of "Request a position" with only switching to "in parallel" when doing the permissions check and thereafter.
675+ </ aside >
672676 < ol class ="algorithm ">
673677 < li > Let |watchIDs:List| be |geolocation|'s
674678 {{Geolocation/[[watchIDs]]}}.
@@ -720,6 +724,61 @@ <h2>
720724 < li > Let |descriptor| be a new {{PermissionDescriptor}} whose
721725 {{PermissionDescriptor/name}} is < a > "geolocation"</ a > .
722726 </ li >
727+ < del cite ="#c10 ">
728+ < li > Set |permission| to [=request permission to use=] |descriptor|.
729+ </ li >
730+ < li data-tests =
731+ "getCurrentPosition_permission_allow.https.html, getCurrentPosition_permission_deny.https.html ">
732+ If |permission| is "denied", then:
733+ < ol >
734+ < li > If |watchId| was passed, [=list/remove=] |watchId| from
735+ |watchIDs|.
736+ </ li >
737+ < li > [=Call back with error=] passing |errorCallback| and
738+ {{GeolocationPositionError/PERMISSION_DENIED}}.
739+ </ li >
740+ < li > Terminate this algorithm.
741+ </ li >
742+ </ ol >
743+ </ li >
744+ < li > Wait to [=acquire a position=] passing |successCallback|,
745+ |errorCallback|, |options|, and |watchId|.
746+ </ li >
747+ < li > If |watchId| was not passed, terminate this algorithm.
748+ </ li >
749+ < li > While |watchIDs| [=list/contains=] |watchId|:
750+ < ol >
751+ < li >
752+ < span id ="wait-for-change "> Wait for a significant change of
753+ geographic position</ span > . What constitutes a significant
754+ change of geographic position is left to the implementation.
755+ User agents MAY impose a rate limit on how frequently position
756+ changes are reported.
757+ </ li >
758+ < li > If |document| is not [=Document/fully active=] or
759+ [=Document/visibility state=] is not "visible", go back to the
760+ previous step and again < a href ="#wait-for-change "> wait for a
761+ significant change of geographic position</ a > .
762+ < aside class ="note " title =
763+ "Position updates are exclusively for fully-active visible documents ">
764+ < p >
765+ The desired effect here being that position updates are
766+ exclusively delivered to fully active documents that are
767+ visible; Otherwise the updates get silently "dropped on the
768+ floor". Only once a document again becomes fully active and
769+ visible (e.g., an [^iframe^] gets reattached to a parent
770+ document), do the position updates once again start getting
771+ delivered.
772+ </ p >
773+ </ aside >
774+ </ li >
775+ < li > Wait to [=acquire a position=] passing |successCallback|,
776+ |errorCallback|, |options|, and |watchId|.
777+ </ li >
778+ </ ol >
779+ </ li >
780+ </ del >
781+ < ins cite ="#c10 ">
723782 < li > [=In parallel=]:
724783 < ol >
725784 < li > Set |permission| to [=request permission to use=]
779838 </ li >
780839 </ ol >
781840 </ li >
841+ </ ins >
782842 </ ol >
783843 </ section >
784844 < section >
0 commit comments