Skip to content

Commit f19930f

Browse files
authored
Add NavigationTransition.to, exposing the current navigate event's destination
Add `NavigationTransition.to`, exposing the current `navigate` event's destination. This was not necessary before as navigations were committed synchronously, but with precommit handlers this exposes information about an ongoing navigation. The destination is set when the `NavigationTransition` object is created, and remains stable throughout. Fixes #11690.
1 parent eab6ef4 commit f19930f

File tree

1 file changed

+23
-0
lines changed

1 file changed

+23
-0
lines changed

source

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -100332,6 +100332,7 @@ const p2 = navigation.navigate(url2).finished;</code></pre>
100332100332
interface <dfn interface>NavigationTransition</dfn> {
100333100333
readonly attribute <span>NavigationType</span> <span data-x="dom-NavigationTransition-navigationType">navigationType</span>;
100334100334
readonly attribute <span>NavigationHistoryEntry</span> <span data-x="dom-NavigationTransition-from">from</span>;
100335+
readonly attribute <span>NavigationDestination</span> <span data-x="dom-NavigationTransition-to">to</span>;
100335100336
readonly attribute <span data-x="idl-Promise">Promise</span>&lt;undefined> <span data-x="dom-NavigationTransition-committed">committed</span>;
100336100337
readonly attribute <span data-x="idl-Promise">Promise</span>&lt;undefined> <span data-x="dom-NavigationTransition-finished">finished</span>;
100337100338
};</code></pre>
@@ -100366,6 +100367,12 @@ interface <dfn interface>NavigationTransition</dfn> {
100366100367
useful to compare against <code
100367100368
data-x="dom-Navigation-currentEntry">navigation.currentEntry</code>.</p></dd>
100368100369

100370+
<dt><code data-x=""><span data-x="dom-navigation">navigation</span>.<span data-x="dom-Navigation-transition">transition</span>.<span subdfn data-x="dom-NavigationTransition-to">to</span></code></dt>
100371+
<dd><p>The <code>NavigationDestination</code> of the transition. This can be useful as a way to
100372+
reflect a current navigation's destination's <code
100373+
data-x="dom-NavigationDestination-url">url</code> without having to listen to the <code
100374+
data-x="event-navigate">navigate</code> event.</p></dd>
100375+
100369100376
<dt><code data-x=""><span data-x="dom-navigation">navigation</span>.<span data-x="dom-Navigation-transition">transition</span>.<span subdfn data-x="dom-NavigationTransition-committed">committed</span></code></dt>
100370100377
<dd><p>A promise which fulfills once the <code
100371100378
data-x="dom-Navigation-currentEntry">navigation.currentEntry</code> and <span
@@ -100401,6 +100408,10 @@ interface <dfn interface>NavigationTransition</dfn> {
100401100408
data-x="concept-NavigationTransition-from">from entry</dfn>, which is a
100402100409
<code>NavigationHistoryEntry</code>.</p>
100403100410

100411+
<p>Each <code>NavigationTransition</code> has an associated <dfn
100412+
data-x="concept-NavigationTransition-destination">destination</dfn>, which is a
100413+
<code>NavigationDestination</code>.</p>
100414+
100404100415
<p>Each <code>NavigationTransition</code> has an associated <dfn
100405100416
data-x="concept-NavigationTransition-committed">committed promise</dfn>, which is a promise.</p>
100406100417

@@ -100420,12 +100431,21 @@ interface <dfn interface>NavigationTransition</dfn> {
100420100431
<span>this</span>'s <span data-x="concept-NavigationTransition-from">from entry</span>.</p>
100421100432
</div>
100422100433

100434+
<div algorithm>
100435+
<p>The <dfn attribute for="NavigationTransition"><code
100436+
data-x="dom-NavigationTransition-to">to</code></dfn> getter steps are to return
100437+
<span>this</span>'s <span
100438+
data-x="concept-NavigationTransition-destination">destination</span>.</p>
100439+
</div>
100440+
100423100441
<div algorithm>
100424100442
<p>The <dfn attribute for="NavigationTransition"><code
100425100443
data-x="dom-NavigationTransition-committed">committed</code></dfn> getter steps are to return
100426100444
<span>this</span>'s <span data-x="concept-NavigationTransition-committed">committed
100427100445
promise</span>.</p>
100446+
</div>
100428100447

100448+
<div algorithm>
100429100449
<p>The <dfn attribute for="NavigationTransition"><code
100430100450
data-x="dom-NavigationTransition-finished">finished</code></dfn> getter steps are to return
100431100451
<span>this</span>'s <span data-x="concept-NavigationTransition-finished">finished
@@ -101716,6 +101736,9 @@ interface <dfn interface>NavigationDestination</dfn> {
101716101736
<dt><span data-x="concept-NavigationTransition-from">from entry</span></dt>
101717101737
<dd><var>fromNHE</var></dd>
101718101738

101739+
<dt><span data-x="concept-NavigationTransition-destination">destination</span></dt>
101740+
<dd><var>event</var>'s <code data-x="dom-NavigateEvent-destination">destination</code></dd>
101741+
101719101742
<dt><span data-x="concept-NavigationTransition-committed">committed promise</span></dt>
101720101743
<dd>a new promise created in <var>navigation</var>'s <span
101721101744
data-x="concept-relevant-realm">relevant realm</span></dd>

0 commit comments

Comments
 (0)