Skip to content

Commit 4668f19

Browse files
himorinmarcoscaceres
authored andcommitted
convert fix by (part of) PR #129 into candidate correction
1 parent fd30892 commit 4668f19

File tree

1 file changed

+60
-0
lines changed

1 file changed

+60
-0
lines changed

index.html

Lines changed: 60 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -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=]
@@ -779,6 +838,7 @@ <h2>
779838
</li>
780839
</ol>
781840
</li>
841+
</ins>
782842
</ol>
783843
</section>
784844
<section>

0 commit comments

Comments
 (0)