diff --git a/source b/source index b7d731bcacb..7910d1777e1 100644 --- a/source +++ b/source @@ -95068,7 +95068,7 @@ interface BeforeUnloadEvent : Event {
Inform the navigation API about child navigable destruction given navigable.
Destroy navigable's Destroy a document and its descendants given navigable's active document.
Let parentDocState be container's node navigable's @@ -95110,8 +95110,8 @@ interface BeforeUnloadEvent : Event {
Let document be historyEntry's document.
If document is not null, then destroy document.
If document is not null, then destroy a document and its + descendants given document.
If the result of checking if unloading is canceled for toUnload is true, then return.
Unload the active - documents of each of toUnload. In what - order?
Append the following session + history traversal steps to traversable:
-Destroy - traversable.
Let afterAllUnloads be an algorithm step which destroys traversable.
Unload a document and its descendants given traversable's active document, null, and afterAllUnloads.
User agents may destroy the User agents may destroy a document and its descendants given the documents of document
states with non-null documents, as long as
the Document
is not fully active.
Queue a global task on the navigation and traversal task source given navigable's active window to - abort navigable's abort a document and its descendants given navigable's active document.
Queue a global task on the navigation and traversal task source - given navigable's active window to run the - steps:
+If changingNavigableContinuation's update-only is false, and + targetEntry's document does not equal + displayedDocument, then unload a document and its descendants given + displayedDocument, targetEntry's document, and afterPotentialUnloads.
-If changingNavigableContinuation's update-only is false, then:
+Otherwise, queue a global task on the navigation and traversal task + source given navigable's active window to + perform afterPotentialUnloads.
-If targetEntry's document does not equal - displayedDocument, then:
+In both cases, let afterPotentialUnloads be the following steps:
-Unload displayedDocument given - targetEntry's document.
For each childNavigable of displayedDocument's - descendant navigables, queue a global task on the - navigation and traversal task source given childNavigable's - active window to unload childNavigable's active - document.
Activate history entry targetEntry for - navigable.
If changingNavigableContinuation's update-only is false, then + activate history entry targetEntry for + navigable.
Let updateDocument be an algorithm step which performs update
document for history step application given targetEntry's
Assert: this is running as part of a task
- queued on oldDocument's event loop.
Let unloadTimingInfo be a new document unload timing info.
To unload a document and its descendants, given a Document
+ document, an optional Document
-or-null newDocument (default
+ null), and an optional set of steps afterAllUnloads:
Assert: this is running within document's node + navigable's traversable navigable's session history traversal queue.
Let childNavigables be document's child navigables.
Let numberUnloaded be 0.
For each childNavigable of + childNavigable's in what order?, queue a + global task on the navigation and traversal task source given + childNavigable's active window to perform the + following steps:
+ +Let incrementUnloaded be an algorithm step which increments + numberUnloaded.
Unload a document and its descendants given childNavigable's + active document, null, and + incrementUnloaded.
Wait until numberUnloaded equals childNavigable's size.
Queue a global task on the navigation and traversal task source + given document's relevant global object to perform the following + steps:
+ +Unload document, passing along + newDocument if it is not null.
If afterAllUnloads was given, then run it.
This specification defines the following unloading document cleanup steps.
Other specifications can define more. Given a Document
document:
Document
document:
Destroy the active documents of each of document's descendant - navigables. In what order?
Assert: this is running as part of a task + queued on document's relevant agent's event loop.
Abort document.
Set document's salvageable state to false.
Run any unloading document cleanup steps for document that are defined by this specification and other applicable specifications.
Abort document.
Remove any tasks whose document is document from any task queue (without running those tasks).
To destroy a document and its descendants given a Document
+ document and an optional set of steps afterAllDestruction, perform the
+ following steps in parallel:
Let childNavigables be document's child navigables.
Let numberDestroyed be 0.
For each childNavigable of + childNavigable's in what order?, queue a + global task on the navigation and traversal task source given + childNavigable's active window to perform the + following steps:
+ +Let incrementDestroyed be an algorithm step which increments + numberDestroyed.
Destroy a document and its descendants given childNavigable's + active document and incrementDestroyed.
Wait until numberDestroyed equals childNavigable's size.
Queue a global task on the navigation and traversal task source + given document's relevant global object to perform the following + steps:
+ +Destroy document.
If afterAllDestruction was given, then run it.
To abort a Document
document:
Abort the active
- documents of each of document's descendant navigables. In what order? If this results in any of those Document
- objects having their salvageable state set to false,
- then set document's salvageable state to
- false also.
Assert: this is running as part of a task + queued on document's relevant agent's event loop.
Cancel any instances of the fetch algorithm in the
- context of document, discarding any tasks
- queued for them, and discarding any further data received from
- the network for them. If this resulted in any instances of the document, discarding any tasks queued for them, and discarding any further data received from the
+ network for them. If this resulted in any instances of the fetch algorithm being canceled or any queued tasks or any network data getting
discarded, then set document's Abort that parser.
Set document's salvageable state - to false.
Set document's salvageable to + false.
To abort a document and its descendants given a Document
+ document:
Assert: this is running as part of a task + queued on document's relevant agent's event loop.
Let descendantNavigables be document's descendant + navigables.
For each descendantNavigable of + descendantNavigables in what order?, queue + a global task on the navigation and traversal task source given + descendantNavigable's active window to perform the + following steps:
+ +Abort descendantNavigable's active document.
If descendantNavigable's active + document's salvageable is false, then set + document's salvageable to + false.
Abort document.
To stop loading a @@ -102463,7 +102577,7 @@ new PaymentRequest(…); // Allowed to use navigation will cause further work to be abandoned.
-Abort document.
Abort a document and its descendants given document.
Through their user interface, user agents also