@@ -99404,9 +99404,8 @@ interface <dfn interface>NavigationHistoryEntry</dfn> : <span>EventTarget</span>
9940499404 data-x="navigation-hh">historyHandling</i> set to <var>options</var>["<code
9940599405 data-x="dom-NavigationNavigateOptions-history">history</code>"], <i
9940699406 data-x="navigation-navigation-api-state">navigationAPIState</i> set to
99407- <var>serializedState</var>, and <i
99408- data-x="navigation-api-method-tracker">apiMethodTracker</i> set to
99409- <var>apiMethodTracker</var>.</p>
99407+ <var>serializedState</var>, and <i data-x="navigation-api-method-tracker">apiMethodTracker</i>
99408+ set to <var>apiMethodTracker</var>.</p>
9941099409
9941199410 <p class="note">Unlike <code data-x="dom-location-assign">location.assign()</code> and friends,
9941299411 which are exposed across <span data-x="same origin-domain">origin-domain</span> boundaries,
@@ -99419,12 +99418,6 @@ interface <dfn interface>NavigationHistoryEntry</dfn> : <span>EventTarget</span>
9941999418 <code>Navigation</code> object itself (i.e., <var>document</var>).</p>
9942099419 </li>
9942199420
99422- <li><p>If <var>apiMethodTracker</var>'s<span
99423- data-x="navigation-api-method-tracker-phase">phase</span> is not "<code
99424- data-x="">ongoing</code>", then return an <span data-x="navigation-api-early-error-result">early
99425- error result</span> for an <span>"<code>AbortError</code>"</span>
99426- <code>DOMException</code>.</p></li>
99427-
9942899421 <li><p>Return a <span>navigation API method tracker-derived result</span> for
9942999422 <var>apiMethodTracker</var>.</p></li>
9943099423 </ol>
@@ -99694,12 +99687,22 @@ interface <dfn interface>NavigationHistoryEntry</dfn> : <span>EventTarget</span>
9969499687 </div>
9969599688
9969699689 <div algorithm>
99697- <p>A <dfn>navigation API method tracker-derived result</dfn> for a <span>navigation API method
99698- tracker</span> is a <code>NavigationResult</code> dictionary instance given by «[ "<code
99699- data-x="dom-NavigationResult-committed">committed</code>" → <var>apiMethodTracker</var>'s <span
99700- data-x="navigation-api-method-tracker-committed">committed promise</span>, "<code
99701- data-x="dom-NavigationResult-finished">finished</code>" → <var>apiMethodTracker</var>'s <span
99702- data-x="navigation-api-method-tracker-finished">finished promise</span> ]».</p>
99690+ <p>To compute the <dfn>navigation API method tracker-derived result</dfn> for a <span>navigation
99691+ API method tracker</span>-or-null <var>apiMethodTracker</var>:</p>
99692+
99693+ <ol>
99694+ <li><p>If <var>apiMethodTracker</var> is null, or if its <span
99695+ data-x="navigation-api-method-tracker-promoted">promoted</span> is false, then return an <span
99696+ data-x="navigation-api-early-error-result">early error result</span> for an
99697+ <span>"<code>AbortError</code>"</span> <code>DOMException</code>.</p></li>
99698+
99699+ <li><p>Return a <code>NavigationResult</code> dictionary instance given by «[ "<code
99700+ data-x="dom-NavigationResult-committed">committed</code>" → <var>apiMethodTracker</var>'s <span
99701+ data-x="navigation-api-method-tracker-committed">committed promise</span>, "<code
99702+ data-x="dom-NavigationResult-finished">finished</code>" → <var>apiMethodTracker</var>'s <span
99703+ data-x="navigation-api-method-tracker-finished">finished promise</span> ]».</p></li>
99704+ </ol>
99705+
9970399706 </div>
9970499707
9970599708 </div>
@@ -99837,9 +99840,8 @@ const p2 = navigation.navigate(url2).finished;</code></pre>
9983799840 <li><p>A <dfn data-x="navigation-api-method-tracker-finished">finished promise</dfn>, a
9983899841 promise</p></li>
9983999842
99840- <li><p>A <dfn data-x="navigation-api-method-tracker-phase">phase</dfn>, one of "<code
99841- data-x="">upcoming</code>", "<code data-x="">ongoing</code>", "<code data-x="">defunct</code>",
99842- or "<code data-x="">traverse</code>".</p></li>
99843+ <li><p>A <dfn data-x="navigation-api-method-tracker-promoted">promoted</dfn>, a boolean,
99844+ initially set to false.</p></li>
9984399845 </ul>
9984499846
9984599847 <p>All this state is then managed via the following algorithms.</p>
@@ -99881,11 +99883,8 @@ const p2 = navigation.navigate(url2).finished;</code></pre>
9988199883 </div>
9988299884 </li>
9988399885
99884- <li><p>Let <var>phase</var> be "<code data-x="">upcoming</code>".</p></li>
99885-
9988699886 <li id="dont-always-set-upcoming-non-traverse-api-method-tracker">
99887- <p>If <var>navigation</var> <span>has entries and events disabled</span>, then set
99888- <var>phase</var> to "<code data-x="">defunct</code>".</p>
99887+ <p>If <var>navigation</var> <span>has entries and events disabled</span>, then return null.</p>
9988999888
9989099889 <p class="note">If <var>navigation</var> <span>has entries and events disabled</span>, then
9989199890 <var>committedPromise</var> and <var>finishedPromise</var> will never fulfill (since we never
@@ -99921,9 +99920,6 @@ const p2 = navigation.navigate(url2).finished;</code></pre>
9992199920
9992299921 <dt><span data-x="navigation-api-method-tracker-finished">finished promise</span></dt>
9992399922 <dd><var>finishedPromise</var></dd>
99924-
99925- <dt><span data-x="navigation-api-method-tracker-phase">phase</span></dt>
99926- <dd><var>phase</var></dd>
9992799923 </dl>
9992899924 </li>
9992999925 </ol>
@@ -99969,9 +99965,6 @@ const p2 = navigation.navigate(url2).finished;</code></pre>
9996999965
9997099966 <dt><span data-x="navigation-api-method-tracker-finished">finished promise</span></dt>
9997199967 <dd><var>finishedPromise</var></dd>
99972-
99973- <dt><span data-x="navigation-api-method-tracker-phase">phase</span></dt>
99974- <dd><code data-x="">traverse</code></dd>
9997599968 </dl>
9997699969 </li>
9997799970
@@ -101362,22 +101355,14 @@ interface <dfn interface>NavigationDestination</dfn> {
101362101355 <li><p><span>Assert</span>: <var>navigation</var>'s <span>upcoming traverse API method
101363101356 trackers</span> <span data-x="list is empty">is empty</span>.</p></li>
101364101357
101365- <li><p><span>Assert</span>: <var>apiMethodTracker</var> is null, or its <span
101366- data-x="navigation-api-method-tracker-phase">phase</span> is "<code
101367- data-x="">defunct</code>".</p></li>
101368-
101369101358 <li><p>Return true.</p></li>
101370101359 </ol>
101371101360
101372101361 <p class="note">These assertions holds because <code
101373101362 data-x="dom-Navigation-traverseTo">traverseTo()</code>, <code
101374101363 data-x="dom-Navigation-back">back()</code>, and <code
101375101364 data-x="dom-Navigation-forward">forward()</code> will immediately fail when entries and events
101376- are disabled (since there are no entries to traverse to), and if our starting point is instead
101377- <code data-x="dom-Navigation-navigate">navigate()</code> or <code
101378- data-x="dom-Navigation-reload">reload()</code>, then the <span>navigation API method
101379- tracker</span> was <a
101380- href="#dont-always-set-upcoming-non-traverse-api-method-tracker">defunct</a>.</p>
101365+ are disabled (since there are no entries to traverse to).</p>
101381101366 </li>
101382101367
101383101368 <li><p><span>Assert</span>: <var>navigation</var>'s <span>ongoing API method tracker</span> is
@@ -101418,8 +101403,7 @@ interface <dfn interface>NavigationDestination</dfn> {
101418101403 </li>
101419101404
101420101405 <li><p>If <var>apiMethodTracker</var> is not null, then set <var>apiMethodTracker</var>'s <span
101421- data-x="navigation-api-method-tracker-phase">phase</span> to "<code
101422- data-x="">ongoing</code>".</p></li>
101406+ data-x="navigation-api-method-tracker-promoted">promoted</span> to true.</p></li>
101423101407
101424101408 <li><p>Set <var>navigation</var>'s <span>ongoing API method tracker</span> to
101425101409 <var>apiMethodTracker</var>.</p></li>
@@ -107640,8 +107624,8 @@ location.href = '#foo';</code></pre>
107640107624 optional <span>user navigation involvement</span> <dfn
107641107625 data-x="reload-user-involvement"><var>userInvolvement</var></dfn> (default "<code
107642107626 data-x="uni-none">none</code>"), and an optional <span>navigation API method
107643- tracker</span>-or-null <dfn
107644- data-x="reload-api-method-tracker"><var>apiMethodTracker</var></dfn> (default null):</p>
107627+ tracker</span>-or-null <dfn data-x="reload-api-method-tracker"><var>apiMethodTracker</var></dfn>
107628+ (default null):</p>
107645107629
107646107630 <ol>
107647107631 <li>
0 commit comments