diff --git a/source b/source index af6a646b017..d691684c2d3 100644 --- a/source +++ b/source @@ -101851,106 +101851,92 @@ interface NavigationDestination { -
If event's interception
- state is not "none":
If event's interception
+ state is "none", then return true.
Let fromNHE be the current - entry of navigation.
Let fromNHE be the current + entry of navigation.
Assert: fromNHE is not null.
Assert: fromNHE is not null.
Set navigation's transition
- to a new NavigationTransition created in navigation's
- relevant realm, with
+
Set navigation's transition
+ to a new NavigationTransition created in navigation's
+ relevant realm, with
-
destinationdestinationMark as handled navigation's transition's finished promise.
+Mark as handled navigation's transition's finished promise.
-See the discussion - about other finished promises to understand why this is done.
-Mark as handled navigation's transition's committed promise.
See the discussion + about other finished promises to understand why this is done.
+Mark as handled navigation's transition's committed promise.
If event's navigation precommit handler - list is empty then commit event given apiMethodTracker.
Otherwise:
- -Let precommitController be a new NavigationPrecommitController
- created in navigation's relevant realm,
- whose event is
- event.
Let precommitPromisesList be an empty list.
For each handler of event's navigation precommit handler - list:
+ list is empty, then commit event given apiMethodTracker and + return false.Append the result of invoking handler with - « precommitController » to precommitPromisesList.
Let precommitController be a new NavigationPrecommitController
+ created in navigation's relevant realm,
+ whose event is
+ event.
Wait for all precommitPromisesList with the following success - steps: commit event given - apiMethodTracker, and the following failure step given reason: - process navigate event handler failure given event and - reason.
Let precommitPromisesList be an empty list.
If event's interception
- state is "none", then return true.
For each handler of event's navigation precommit handler + list, append the result of invoking handler with + « precommitController » to precommitPromisesList.
Wait for all precommitPromisesList with the following success + steps: commit event given + apiMethodTracker, and the following failure step given reason: + process navigate event handler failure given event and + reason.
Return false.
To commit a navigate event given a NavigateEvent object
+
To commit an intercepted navigate event given a NavigateEvent object
event and a navigation API method tracker
apiMethodTracker:
Assert: apiMethodTracker is not null.
Assert: event's interception state is "intercepted".
Let navigation be event's target.
Let endResultIsSameDocument be true if event's interception state is not "none" or event's destination's is same document is true.
Prepare to run script given navigation's relevant settings object.
@@ -101998,85 +101978,79 @@ interface NavigationDestination {If event's interception
- state is not "none":
Set event's interception state to "committed".
Switch on event's navigationType:
push"replace"Run the URL and history update steps given event's
- relevant global object's associated
- Document and event's destination's URL, with serializedData set to event's classic history API state and
- historyHandling set to event's navigationType.
Set event's interception state to "committed".
reload"Update the navigation API entries for a same-document navigation given
- navigation, navigable's active
- session history entry, and "reload".
Switch on event's navigationType:
traverse"Set navigation's suppress normal scroll restoration during ongoing - navigation to true.
- -If event's scroll
- behavior was set to "after-transition", then
- scroll restoration will happen as part of finishing the relevant NavigateEvent.
- Otherwise, there will be no scroll restoration. That is, no navigation which is
- intercepted by intercept() goes through
- the normal scroll restoration process; scroll restoration for such navigations is either
- done manually, by the web developer, or is done after the transition.
push"replace"Run the URL and history update steps given event's
+ relevant global object's associated
+ Document and event's destination's URL, with serializedData set to event's classic history API state and
+ historyHandling set to event's navigationType.
reload"Update the navigation API entries for a same-document navigation given
+ navigation, navigable's active
+ session history entry, and "reload".
traverse"Set navigation's suppress normal scroll restoration during ongoing + navigation to true.
+ +If event's scroll
+ behavior was set to "after-transition", then
+ scroll restoration will happen as part of finishing the relevant NavigateEvent.
+ Otherwise, there will be no scroll restoration. That is, no navigation which is
+ intercepted by intercept() goes through
+ the normal scroll restoration process; scroll restoration for such navigations is either
+ done manually, by the web developer, or is done after the transition.
Let userInvolvement be "none".
Let userInvolvement be "none".
If event's userInitiated is true, then set
- userInvolvement to "activation".
If event's userInitiated is true, then set
+ userInvolvement to "activation".
At this point after interception, it is not consequential whether the - activation was a result of browser UI.
-At this point after interception, it is not consequential whether the + activation was a result of browser UI.
+Append the following session - history traversal steps to navigable's traversable navigable:
+Append the following session + history traversal steps to navigable's traversable navigable:
-Resume applying the traverse history step given event's
- destination's entry's session history entry's step,
- navigable's traversable navigable, and
- userInvolvement.
Resume applying the traverse history step given event's
+ destination's entry's session history entry's step,
+ navigable's traversable navigable, and
+ userInvolvement.
If navigation's transition @@ -102084,66 +102058,60 @@ interface NavigationDestination { data-x="concept-Navigation-transition">transition's committed promise with undefined.
If endResultIsSameDocument is true:
- -Let promisesList be an empty list.
Let promisesList be an empty list.
Append apiMethodTracker's committed promise to - promisesList.
Append apiMethodTracker's committed promise to + promisesList.
For each handler of event's navigation handler list:
- -Append the result of invoking handler with an empty - arguments list to promisesList.
For each handler of event's navigation handler list:
-Wait for all of promisesList, with the following success steps:
+Append the result of invoking handler with an empty + arguments list to promisesList.
If event's relevant global object is not fully - active, then abort these steps.
Wait for all of promisesList, with the following success steps:
-If event's abort - controller's signal is aborted, then abort these steps.
If event's relevant global object is not fully + active, then abort these steps.
Assert: event equals navigation's ongoing
- navigate event.
If event's abort + controller's signal is aborted, then abort these steps.
Set navigation's ongoing navigate event to null.
Assert: event equals navigation's ongoing
+ navigate event.
Finish event given - true.
Set navigation's ongoing navigate event to null.
Resolve the finished promise for apiMethodTracker.
Finish event given + true.
Fire an event named navigatesuccess at navigation.
Resolve the finished promise for apiMethodTracker.
If navigation's transition is not null, then resolve - navigation's transition's - finished promise with - undefined.
Fire an event named navigatesuccess at navigation.
Set navigation's transition to null.
If navigation's transition is not null, then resolve + navigation's transition's + finished promise with + undefined.
and the following failure step given reason: process navigate event - handler failure given event and reason. -
Set navigation's transition to null.
and the following failure step given reason: process navigate event + handler failure given event and reason.
Clean up