From c0be1a0360248581fa3f9af81a38eba069befa43 Mon Sep 17 00:00:00 2001
From: Domenic Denicola
replace
" and the source browsing context set to
+ document's browsing context.
For the purposes of the previous paragraph, a refresh is said to have come due as soon as the later of the following two conditions occurs:
@@ -23359,13 +23358,14 @@ document.body.appendChild(wbr); request's referrer to "no-referrer
".
- Let replacementEnabled be true if windowType is not "existing or none
"; otherwise, false.
Let historyHandling be "replace
" if
+ windowType is not "existing or none
"; otherwise, "default
".
Queue an element task on the DOM manipulation task source given subject to navigate target to - request with replacementEnabled set - to replacementEnabled and the source browsing context set to + request with historyHandling set to + historyHandling and the source browsing context set to source.
Let replacementEnabled be false.
+Let historyHandling be "default
".
If element's nested browsing context's session
history contains only one Document
, and that was the about:blank
Document
created when element's nested browsing context was
- created, then set replacementEnabled to true.
replace
".
If element's nested browsing context's active - document is not completely loaded, then set replacementEnabled to - true.
replace
".
Navigate element's nested browsing context to resource, with replacementEnabled set to - replacementEnabled and the source browsing context set to - element's node document's browsing - context.
Navigate element's nested browsing context to - response, with replacementEnabled set to true and the - source browsing context set to element's node - document's browsing context.
+ response, with historyHandling set to + "replace
" and the source browsing context
+ set to element's node document's browsing context.
element's src
attribute
does not get updated if the browsing context gets further navigated to other
@@ -31471,10 +31471,10 @@ interface HTMLObjectElement : HTMLElement {
If the URL of the given resource is not about:blank
, then
navigate the element's nested browsing
- context to that resource, with replacementEnabled set to true and the
- source browsing context set to the object
element's node
- document's browsing context. (The to that resource, with historyHandling set
+ to "
replace
" and the source browsing context
+ set to the object
element's node document's browsing context. (The data
attribute of the object
element doesn't
get updated if the browsing context gets further navigated to other locations.)
Let replace be true if windowType is either "new and unrestricted
" or "new with no opener
", and false
+
Let historyHandling be "replace
" if
+ windowType is either "new and unrestricted
" or "new with no opener
", and "default
"
otherwise.
If target browsing context is null, then return.
If form document has not yet completely loaded and the
submitted from submit()
method flag is set, then
- set replace to true.
replace
".
If the value of method is Set the form
's planned navigation to null.
Navigate target browsing context to - destination, with replacementEnabled set to replace.
+ destination, with historyHandling set to + historyHandling. - -For the purposes of this task, target browsing context and replace are the variables that were set up when the overall form submission - algorithm was run, with their values as they stood when this planned navigation - was queued.
Set the form
's planned navigation to the just-queued
same browsing context, such that the mapping is then 1-to-2. This occurs when a
browsing context is navigated from the initial
about:blank
Document
to another, with replacementEnabled set to true.
replace
".
If the newly created browsing context is immediately navigated, then the navigation will be done with replacementEnabled set to true.
+ data-x="navigation-hh">historyHandling set to "replace
".
Otherwise, navigate target browsing - context to request, with exceptionsEnabled set to - true, replacementEnabled set to - new, and the source browsing context set to source browsing - context.
Otherwise:
+ +Let historyHandling be "replace
" if
+ new is true; otherwise, "default
".
Navigate target browsing context to + request, with exceptionsEnabled set to true, historyHandling set to historyHandling, and the + source browsing context set to source browsing context.
If any of the following conditions are met, then set replacementEnabled to - false:
+If any of the following conditions are met, then set historyHandling to "default
":
Location
object's relevant Document
has
@@ -81755,11 +81762,11 @@ interface Location { // but see also If browsingContext's session history contains only one
Document
, and that was the about:blank
Document
created
- when the browsing context was created, then set replacementEnabled to
- true.
replace
".Navigate browsingContext to url, with exceptionsEnabled set to true, replacementEnabled set to - replacementEnabled, and the source browsing context set to - sourceBrowsingContext.
The href
attribute's getter must run these
@@ -81804,7 +81810,7 @@ interface Location { // but see also The href
attribute setter intentionally
@@ -82182,7 +82188,7 @@ interface Location { // but see also default".
When the replace(url)
@@ -82197,7 +82203,7 @@ interface Location { // but see also replace".
The replace()
method intentionally has
@@ -82237,11 +82243,10 @@ interface Location { // but see also URL to perform an entry update of the
- browsing context's current entry, with
- exceptionsEnabled set to true and the source browsing
- context set to the browsing context being navigated. This is a
- reload-triggered navigation.
reload
", and the source browsing context set to the
+ browsing context being navigated.
the browsing context to the same resource as that
- Document
, to perform an entry update of the browsing
- context's current entry. This is a reload-triggered navigation.
- In the case of non-idempotent methods (e.g. HTTP POST), the user agent should prompt the user to
- confirm the operation first, since otherwise transactions (e.g. purchases or database
- modifications) could be repeated. User agents may allow the user to explicitly override any caches
- when reloading.
+ Document
, with historyHandling set to "reload
". In the case of non-idempotent methods (e.g. HTTP POST), the
+ user agent should prompt the user to confirm the operation first, since otherwise transactions
+ (e.g. purchases or database modifications) could be repeated. User agents may allow the user to
+ explicitly override any caches when reloading.
Document
will replace the current session history entryOnce a navigation params struct is created, this standard does not mutate any of its items. They are only passed onward to other algorithms.
+After Document
creation, the session history gets updated. A
+ history handling behavior is used to track the desired type of session history update
+ throughout the navigation process. It is one of the following:
default
"entry update
"Document
, which was previously discardedreload
"replace
"Navigation always involves source browsing context, which is the browsing context which was responsible for starting the navigation.
@@ -82478,17 +82503,19 @@ interface Location { // but see alsoTo navigate a browsing context browsingContext to a resource resource, with an optional boolean exceptionsEnabled (default false) and an optional boolean replacementEnabled (default false):
+ data-export="">exceptionsEnabled (default false) and an optional history + handling behavior historyHandling (default + "default
"):
If resource is a URL, then set resource to a new request whose url is resource.
If resource is a request and this is - a reload-triggered navigation, then set resource's reload-navigation flag. +
If resource is a request and
+ historyHandling is "reload
", then set
+ resource's reload-navigation
+ flag.
If the source browsing context is not allowed to navigate
@@ -82528,7 +82555,7 @@ interface Location { // but see also
- If this is not a reload-triggered navigation,
+ If historyHandling is not "reload
",
resource is a request, resource's
url equals
browsingContext's active document's Location { // but see also Navigate to that fragment given
- replacementEnabled.
Return.
Run process a navigate response with navigationType, the source browsing context, and navigationParams.
Run process a navigate response with navigationType, the source browsing context, and navigationParams.
Let response be null.
Otherwise, if response has a location URL that is a URL, run the @@ -83030,9 +83056,8 @@ interface Location { // but see also browsing context is browsingContext, browsing context switch needed is - browsingContextSwitchNeeded, and replacement enabled is - replacementEnabled.
Run process a navigate response with navigationType, the source browsing context, and navigationParams.
Document
's origin is same
- origin-domain with navigationParams's navigationParams's history handling is
+ "replace
", and that Document
's origin
+ is same origin-domain with navigationParams's origin, then do nothing.
reload
" or "entry update
"Traverse the history to the new entry, with replacementEnabled set to - navigationParams's replacement enabled.
-For each body part obtained from the resource, the user agent must run process a navigate
response using the new body part and the same browsing context, with replacement enabled set to true if a
- previous body part from the same resource resulted in a creating and initializing a Document
+ data-x="navigation-params-hh">history handling set to "replace
" if a previous body part from the same resource resulted in a
+ creating and initializing a Document
object, and otherwise using the same setup as the navigate attempt that caused
this section to be invoked in the first place.
To navigate to a fragment, with a boolean - replacementEnabled:
+To navigate to a fragment, with a history handling + behavior historyHandling:
If replacementEnabled is false, then remove all the entries in the browsing - context's session history after the current entry. (If the - current entry is the last entry in the session history, then no entries are - removed.)
+If historyHandling is not "replace
", then remove
+ all the entries in the browsing context's session history after the
+ current entry. (If the current entry is the last entry in the session
+ history, then no entries are removed.)
This doesn't necessarily have to affect the user agent's user interface.
@@ -84015,9 +84040,9 @@ new PaymentRequest(…); // Allowed to use unset.Traverse the history to the new entry, with replacementEnabled set to - replacementEnabled and with nonBlockingEvents set to true. - This will scroll to the fragment given in what is now the document's historyHandling set to historyHandling and with + nonBlockingEvents set to true. This will scroll to the + fragment given in what is now the document's URL.
To traverse the history to a session history entry entry, - with an optional boolean replacementEnabled (default false), - an optional boolean nonBlockingEvents (default false), and an optional - boolean explicitHistoryNavigation (default false):
+ with an optional history handling behavior historyHandling (default "default
"), an optional boolean nonBlockingEvents
+ (default false), and an optional boolean explicitHistoryNavigation (default
+ false):
This algorithm is not just invoked when explicitly going back or forwards in the session history — it is also invoked @@ -84166,13 +84192,15 @@ new PaymentRequest(…); // Allowed to use
If explicitHistoryNavigation is true, then set request's history-navigation flag.
Assert: replacementEnabled is false.
Assert: historyHandling is not "replace
".
Navigate the browsing - context to request to perform an entry update of - entry. The navigation must be done using the same source browsing - context as was used the first time entry was created.
+ context to request with historyHandling + set to "entry update
". The navigation must be done using
+ the same source browsing context as was used the first time entry was
+ created.
The "navigate" algorithm reinvokes this "traverse" algorithm to
complete the traversal, at which point entry holds a Document
@@ -84293,8 +84321,8 @@ new PaymentRequest(…); // Allowed to use
URL and new URL be entry's URL. Otherwise, let
hash changed be false.
If replacementEnabled is true, then remove the entry immediately before the - specified entry in the session history.
If historyHandling is "replace
", then remove
+ the entry immediately before the specified entry in the session history.
If entry is not an entry with persisted user state, but its URL's fragment is non-null, then @@ -103917,9 +103945,9 @@ dictionary StorageEventInit : EventInit { data-x="concept-encoding-confidence">confidence to certain, and return.
Otherwise, navigate to the document again, with replacementEnabled set to true, and using the same
- source browsing context, but this time skip the encoding sniffing
- algorithm and instead just set the encoding to the new encoding and the historyHandling set to " Let historyHandling be "replace
",
+ and using the same source browsing context, but this time skip the encoding
+ sniffing algorithm and instead just set the encoding to the new encoding and the confidence to certain. Whenever possible, this
should be done without actually contacting the network layer (the bytes should be re-parsed from
memory), even if, e.g., the document is marked as not being cacheable. If this is not possible
From 7c9691dbefe087f1d0c2cb7e7d7c2c3b8ef4f926 Mon Sep 17 00:00:00 2001
From: Domenic Denicola replace
" if
windowType is either "new and unrestricted
" or "new with no opener
", and "default
"
- otherwise.default
".
If target browsing context is null, then return.
Let historyHandling be "replace
" if
- new is true; otherwise, "default
".
default
".
Navigate target browsing context to
request, with exceptionsEnabled set to true, Location { // but see also historyHandling set to "reload
". In the case of non-idempotent methods (e.g. HTTP POST), the
+ data-x="hh-reload">reload". In the case of non-idempotent methods (e.g., HTTP POST), the
user agent should prompt the user to confirm the operation first, since otherwise transactions
- (e.g. purchases or database modifications) could be repeated. User agents may allow the user to
+ (e.g., purchases or database modifications) could be repeated. User agents may allow the user to
explicitly override any caches when reloading.
default
"
- entry update
"Document
, which was previously discardedDocument
, which was previously discarded.reload
"replace
"Navigation always involves source browsing context, which is the