diff --git a/no-vary-search.html b/no-vary-search.html index cd7db28..dc6b748 100644 --- a/no-vary-search.html +++ b/no-vary-search.html @@ -4,7 +4,7 @@
If recordToUse is not null:
Remove recordToUse from document’s prefetch records.
Let currentTime be the current high resolution time for the relevant global object of document.
Let potentialRecords be an empty list.
For each record of document’s prefetch records:
+For each record of document’s prefetch records:
If all of the following are true, then append record to potentialRecords:
@@ -888,7 +886,7 @@If potentialRecords is empty, return null.
Wait until the state of any element of document’s prefetch records changes.
+Wait until the state of any element of document’s prefetch records changes.
If cutoffTime is null and any element of potentialRecords has a state that is not "ongoing
", set cutoffTime to the current high resolution time for the relevant global object of document.
Set request’s URL list to urlList.
Let resultPolicyContainer be the result of determining navigation params policy container given record’s response's URL, documentState’s history policy container, sourceSnapshotParams’s source policy container, null, and responsePolicyContainer.
+Let response be record’s response.
+Optionally, set response to a clone of response.
+An implementation might wish to do this if it believes that the prefetch will be consumed more than once. For example, if in the future the response is consumed by a prerender, that prerendering traversable might be destroyed through various means. Normally that would mean the response is discarded, but if the implementation performs this step, then the prefetched response will still be available to serve a future navigation. [PRERENDERING-REVAMPED]
+If the user agent did not perform the previous optional step, then it must remove record from navigable’s active document's prefetch records.
Return a new navigation params, with:
request
record’s response
+response
responseOrigin
@@ -978,6 +983,7 @@record’s fetch controller
+In the case where the above optional step is taken, and thus record could end up generating multiple navigation params via multiple calls to this algorithm, it is OK that all such navigation params share the same fetch controller. This is because the only use of a navigation params's fetch controller is to calculate navigation timing information, which we want to be the same for any reuses.
null
@@ -1009,7 +1015,7 @@This section contains patches to [HTML].
-Add an additional item to navigation params as follows:
+Add an additional item to navigation params as follows:
Let parentEnvironment be navigable’s parent's active document's relevant settings object.
+Let parentEnvironment be navigable’s parent's active document's relevant settings object.
Set topLevelCreationURL to parentEnvironment’s top-level creation URL.
Let request be the result of creating a navigation request given entry, sourceSnapshotParams’s fetch client, navigable’s container, and sourceSnapshotParams’s has transient activation.
Set request’s replaces client id to navigable’s active document's relevant settings object's id.
+Set request’s replaces client id to navigable’s active document's relevant settings object's id.
Let prefetchRecord be the result of waiting for a matching prefetch record given navigable’s active document, entry’s URL, and targetSnapshotParams’s sandboxing flags.
+Let prefetchRecord be the result of waiting for a matching prefetch record given navigable’s active document, entry’s URL, and targetSnapshotParams’s sandboxing flags.
If documentResource is null and prefetchRecord is not null:
Let coopEnforcementResult be the result of creating a cross-origin opener policy enforcement result for navigation given navigable’s active document and entry’s document state's initiator origin.
+Let coopEnforcementResult be the result of creating a cross-origin opener policy enforcement result for navigation given navigable’s active document and entry’s document state's initiator origin.
Set navigationParams to the result of creating navigation params by fetching given request, entry, coopEnforcementResult, navigable, sourceSnapshotParams, targetSnapshotParams, cspNavigationType, navigationId, and navTimingType.
Let resultPolicyContainer be the result of determining navigation params policy container given response’s URL, entry’s document state's history policy container, sourceSnapshotParams’s source policy container, null, and responsePolicyContainer.
Return a new navigation params, with:
+Return a new navigation params, with:
navTimingType
-fetchController
If navigationParams is not a navigation params, then cancel and discard prefetchRecord given document and abort these steps.
+If navigationParams is not a navigation params, then cancel and discard prefetchRecord given document and abort these steps.
Assert: navigationParams’s response is the response of prefetchRecord’s redirect chain's last element.
[DelayWhilePrerendering]
to postMessage()
.
getCurrentPosition()
method steps by prepending the following step:
+ Modify the getCurrentPosition()
method steps by prepending the following step:
If this's relevant global object's navigable is a prerendering navigable, then append the following steps to this's post-prerendering activation steps list and return.
watchPosition()
method steps by prepending the following step:
+ Modify the watchPosition()
method steps by prepending the following step:
If this's relevant global object's navigable is a prerendering navigable, then:
@@ -1549,7 +1549,7 @@clearWatch(watchId)
method steps by prepending the following step:
+ Modify the clearWatch(watchId)
method steps by prepending the following step:
If this's relevant global object's navigable is a prerendering navigable, then:
@@ -1955,9 +1955,9 @@