From 4faf1a71c7d9f30554be20a7a49d5c2b010009bb Mon Sep 17 00:00:00 2001
From: Domenic Denicola Run the linked resource fetch setup steps, given el and
request. If the result is false, then return. Let initiatorType be " Set request's initiator
+ type to "RequestCredentials
enumerationRequestDestination
enumerationfetch()
methodcss
" if el's css
" if el's rel
attribute contains the keyword stylesheet
; "link
" otherwise.
Finalize and report timing with response, - el's node document's relevant global object, and - initiatorType.
If response is a network error or its status is not an ok
@@ -24592,7 +24593,9 @@ document.body.appendChild(wbr);
settingsObject, destination is the
empty string, credentials mode is "include
", referrer is "no-referrer
", and whose use-URL-credentials flag is set.
ping
".
Let target URL be the resulting URL string obtained from
Fetch request, with processResponseEndOfBody given response res set to finalize and report
- timing with res, settingsObject's global object, and "ping
".
Fetch request.
This may be done in parallel with the primary fetch, and is independent of the @@ -26174,14 +26172,20 @@ document.body.appendChild(wbr);
Let key be the result of creating a preload key given request.
Let finalize be the following step given a Document
- document and a response response:
- finalize and report timing given response,
- document's relevant global object, options's
- initiator, and unsafeEndTime.
If options's document is "pending
", then set request's initiator type to "early
+ hint
".
Let controller be null.
Let reportTiming given a Document
document be to
+ report timing for controller given document's relevant
+ global object.
Fetch request, with Set controller to the result of fetching request, with processResponseConsumeBody set to the following steps given a response response and null, failure, or a byte sequence bytesOrNull:
@@ -26206,8 +26210,8 @@ document.body.appendChild(wbr);Set unsafeEndTime to the unsafe shared current time.
If options's document is not - null, then call finalize given options's document and response.
If entry's on response available is null, then set entry's response is not null, then - call finalize given document and entry's - response.
Set document's map of preloaded resources[key] to entry.
Let finalize image loading given eventName be the following:
- -Finalize and report timing with response, the img
- element's node document's relevant global object, and "img
".
Fire an event named eventName at
- the img
element.
As soon as possible, jump to the first applicable entry from the following list:
@@ -29622,8 +29612,8 @@ was an English <a href="/wiki/Music_hall">music hall</a> singer, ....Queue an element task on the DOM manipulation task source
- given the img
element to finalize image loading with load
.
img
element to fire an event
+ named load
at the img
element.
@@ -29650,20 +29640,37 @@ was an English <a href="/wiki/Music_hall">music hall</a> singer, ...state to partially
available.
- Otherwise, if the user agent is able to determine that image request's
- image is corrupted in some fatal way such that the image dimensions cannot be obtained, and
- image request is pending request, abort the image
- request for the current request and the pending request,
- upgrade the pending request to the current request, set current
- request's state to broken, and call finalize image loading with error
.
Otherwise, if the user agent is able to determine that image request's
- image is corrupted in some fatal way such that the image dimensions cannot be obtained, and
- image request is current request, abort the image
- request for image request and call finalize image loading with
- error
.
Otherwise, if the user agent is able to determine that image request's image + is corrupted in some fatal way such that the image dimensions cannot be obtained, and + image request is pending request:
+ +Abort the image request for the current request and the + pending request.
Upgrade the pending request to the current request.
Set current request's state to + broken.
Fire an event named error
at the img
element.
Otherwise, if the user agent is able to determine that image request's image + is corrupted in some fatal way such that the image dimensions cannot be obtained, and + image request is current request:
+ +Abort the image request for image request.
Fire an event named error
at the img
element.
That task, and each subsequent music hall</a> singer, ... Add the image to the list of available images using the key
key, with the ignore higher-layer caching flag set. Call finalize image loading with Fire an event named load
.load
at the img
element.img
element to finalize image loading with error
.
img
element to fire an event named
+ error
at the img
element.
@@ -31744,21 +31751,11 @@ interface HTMLIFrameElement : HTMLElement {
document is not completely loaded, then set historyHandling to
"replace
".
- Let processResponseEndOfBody be the following step given response response: queue an element - task on the networking task source given element's node - document's relevant global object to finalize and report timing - given response, element's node document's relevant - global object, and element's local - name.
Navigate element's nested navigable to url using element's node document, with historyHandling set to historyHandling, referrerPolicy set to referrerPolicy, documentResource set to scrdocString, and processResponseEndOfBody set to - processResponseEndOfBody.
Each Document
has an iframe load in progress flag and a mute
@@ -32368,19 +32365,14 @@ interface HTMLEmbedElement : HTMLElement {
data-x="concept-request-destination">destination is "embed
",
credentials mode is "include
", mode is "navigate
", and whose use-URL-credentials flag is set.
Let processResponseEndOfBody given response res be to finalize and report
- timing with res, element's node document's
- relevant global object, and "embed
".
embed
", and whose use-URL-credentials flag
+ is set.
Fetch request, with processResponseEndOfBody set to - processResponseEndOfBody, and processResponse set - to the following steps given response - response:
+ data-x="processResponse">processResponse set to the following steps given response response:If another task has since been queued to run @@ -32688,20 +32680,18 @@ interface HTMLObjectElement : HTMLElement {
Let request be a new request whose
- URL is the resulting URL record,
- client is the element's node
- document's relevant settings object, URL is the resulting URL record, client is the element's node document's
+ relevant settings object, destination is "object
",
credentials mode is "include
", mode is "navigate
", and whose use-URL-credentials flag is set.
object
", and whose use-URL-credentials
+ flag is set.Fetch request, with processResponseEndOfBody given response res set to finalize and report
- timing with res, the element's node document's
- relevant global object, and "object
".
Fetch request.
Fetching the resource must delay the load event of the element's node @@ -33148,21 +33138,17 @@ interface HTMLVideoElement : HTMLMediaElement data-x="attr-video-poster">poster attribute's value relative to the element's node document. If this fails, then there is no poster frame; return.
Let request be a new request whose - URL is the resulting URL record, - client is the element's node document's +
Let request be a new request whose URL is the resulting URL record, client is the element's node document's
relevant settings object, destination is " Fetch request, with
- processResponseEndOfBody given
- response res set to
- finalize and report timing with res, the element's
- node document's relevant global object, and
- " Fetch request. This must
+ delay the load event of the element's node document.image
", credentials mode is "initiator type is "
video
",
+ credentials mode is "include
", and whose use-URL-credentials flag is set.
- video
". This must delay the load event of the element's
- node document.
Set request's initiator + type to destination.
Let byteRange, which is "entire resource
" or a
(number, number or "until end
") tuple, be the byte range required to satisfy
missing data in media data. This value is implementation-defined
@@ -34971,30 +34960,21 @@ interface MediaError {
media element event task source rather than using the
networking task source.)
Let finalize be to finalize and report timing with - response, global, and destination, and call - updateMedia.
Let processEndOfMedia be the following steps:
- -Call finalize.
- -If the fetching process has completes without errors, including decoding the - media data, and if all of the data is available to the user agent without network - access, then, the user agent must move on to the final step below. - This might never happen, e.g. when streaming an infinite resource such as web radio, or - if the resource is longer than the user agent's ability to cache data.
-Let processEndOfMedia be the following step: If the fetching process has + completes without errors, including decoding the media data, and if all of the data is + available to the user agent without network access, then, the user agent must move on to + the final step below. This might never happen, e.g. when streaming an infinite + resource such as web radio, or if the resource is longer than the user agent's ability to + cache data.
If the result of verifying - response given the current media resource and - byteRange is false, then call finalize. Otherwise, - incrementally read response's - body given updateMedia, - processEndOfMedia, finalize, and global.
Otherwise, incrementally read + response's body given + updateMedia, processEndOfMedia, an empty algorithm, and + global.
Update the media data with the contents of response's
unsafe response obtained in this fashion. response can be
@@ -38252,11 +38232,10 @@ interface VideoTrack {
track
element's node document's relevant settings
object.
Fetch request, with processResponseEndOfBody given response res set to finalize and report
- timing with res, the element's node document's relevant
- global object, and "track
".
Set request's initiator
+ type to "track
".
Fetch request.
Let sourceSnapshotParams be the result of snapshotting source snapshot
@@ -89730,8 +89703,8 @@ location.href = '#foo';
Append session history
@@ -90530,10 +90501,8 @@ location.href = '#foo';
navigationId (default null), an optional navigation params-or-null
navigationParams (default null), an optional string cspNavigationType
(default "other
"), an optional boolean allowPOST (default false), optional
+ data-x="attempt-to-populate-allow-post">allowPOST (default false), and optional
algorithm steps processResponseEndOfBody
- (default an empty algorithm), and optional algorithm steps completionSteps (default an empty
algorithm):
If documentResource is a string, then set navigationParams to the result of creating navigation params from a srcdoc resource given entry, navigable, - targetSnapshotParams, navigationId, navTimingType, and - processResponseEndOfBody.
Otherwise, if both of the following are true: @@ -90576,8 +90545,7 @@ location.href = '#foo';
then set navigationParams to the result of creating navigation params by fetching given entry, navigable, sourceSnapshotParams, targetSnapshotParams, - cspNavigationType, navigationId, navTimingType, and - processResponseEndOfBody.
+ cspNavigationType, navigationId, and navTimingType.If navigationParams is not null, then:
Run processResponseEndOfBody given navigationParams's response.
Run the environment discarding steps for navigationParams's reserved environment.
Run processResponseEndOfBody given navigationParams's response.
Run completionSteps.
Return.
To create navigation params from a srcdoc resource given a session history
entry entry, a navigable navigable, a target
snapshot params targetSnapshotParams, a navigation ID-or-null
- navigationId, a NavigationTimingType
navTimingType, and an
- algorithm processResponseEndOfBody:
NavigationTimingType
navTimingType:
Let documentResource be entry's
NavigationTimingType
navTimingType, and an algorithm
- processResponseEndOfBody, perform the following steps. They return a navigation
- params, a non-fetch scheme navigation params, or null.
NavigationTimingType
navTimingType, perform the following steps. They
+ return a navigation params, a non-fetch scheme navigation params, or
+ null.
This algorithm mutates entry.
@@ -90983,10 +90944,10 @@ location.href = '#foo'; data-x="concept-request-origin">origin to that browsing context scope origin.Set request's destination to navigable's - container's local - name.
Set request's destination + and initiator type to + navigable's container's local name.
In parallel, attempt to populate the history entry's document for targetEntry, given navigable, potentiallyTargetSpecificSourceSnapshotParams, targetSnapshotParams, - with allowPOST set to allowPOST, + with allowPOST set to allowPOST and completionSteps set to queue a global task on the navigation and traversal task source given navigable's active window to run @@ -93156,10 +93117,29 @@ location.href = '#foo';
Let redirectCount be 0 if navigationParams's has cross-origin redirects is true; - otherwise navigationParams's request's - redirect count. +
If navigationParams's fetch + controller is not null, then:
+ +Let fullTimingInfo be the result of extracting the full timing info from navigationParams's fetch controller.
Let redirectCount be 0 if navigationParams's has cross-origin redirects is + true; otherwise navigationParams's request's redirect count.
Create the navigation timing entry for document, given + fullTimingInfo, redirectCount, navigationTimingType, + navigationParams's response's + service worker timing info, + and navigationParams's response's + body info.
Create the navigation timing entry for document, with navigationParams's response's When no more bytes are available, the user agent must queue a global task on the networking task source given document's relevant global - object to run the following steps:
- -Call navigationParams's process response end of body - with navigationParams's response.
- -Have the parser to process the implied EOF character, which eventually causes a load
event to be fired.
load
event to be fired.
Return document.
Before any script execution occurs, the user agent must wait for scripts may run for the
newly-created document to be true for the newly-created Document
.
When no more bytes are available, the user agent must queue a global task on the - networking task source given document's relevant global - object to call navigationParams's process response end of body with - navigationParams's response.
-Once parsing is complete, the user agent must set document's navigation id to null.
@@ -93381,17 +93346,8 @@ new PaymentRequest(…); // Allowed to useWhen no more bytes are available, the user agent must queue a global task on the networking task source given document's relevant global - object to run the following steps:
- -Call navigationParams's process response end of body - with navigationParams's response.
- -Have the parser to process the implied EOF character, which eventually causes a load
event to be fired.
load
event to be fired.
Before any script execution occurs, the user agent must wait for scripts may run for the
newly-created document to be true for the Document
.
When no more bytes are available, the user agent must queue a global task on the
- networking task source given the newly-created Document
's
- relevant global object to call navigationParams's process response end of body with
- navigationParams's response.
Set request's client to settings object.
+Set request's initiator
+ type to script
".
Set up the classic script request given request and options.
Finalize and report timing with response, settings
- object's global object, and "script
".
Set response to response's unsafe response.
same-origin
", initiator type is "other
",
+ mode is "same-origin
", credentials mode is "same-origin
", parser
metadata is "not parser-inserted
", and whose
@@ -95841,10 +95791,6 @@ document.querySelector("button").addEventListener("click", bound);
data-x="concept-response">response response be the following algorithm:
Finalize and report timing with response, fetch client
- settings object's global object, and
- "other
".
Set response to response's unsafe response.
Let request be a new request whose URL is url, client is settings object, destination is "script
", parser metadata is "not
- parser-inserted
", synchronous flag is set, and whose
+ data-x="concept-request-destination">destination is "script
",
+ initiator type is "other
", parser metadata
+ is "not parser-inserted
", synchronous flag is set, and whose
use-URL-credentials flag is set.
Finalize and report timing with response, settings
- object's global object, and "other
".
Set response to response's unsafe response.
same-origin
".Set request's initiator
+ type to script
".
Set up the module script request given request and options.
response is always CORS-same-origin.
Finalize and report timing with response, fetch client
- settings object's global object, and
- "other
".
If either of the following conditions are met:
@@ -104718,22 +104660,19 @@ dictionary EventSourceInit {Set request's cache mode to
"no-store
".
Set request's initiator
+ type to "other
".
Set ev's request to request.
Let finalizeEventSourceFetch given response res be to finalize and report
- timing with res, settings's global object, and "other
".
Let processEventSourceEndOfBody given response res be the following step: if - res is not a network error, then finalizeEventSourceFetch - with res, and reestablish the connection.
Fetch request with Fetch request, with processResponseEndOfBody set to
processEventSourceEndOfBody and processResponse set
to the following steps given response
@@ -104743,10 +104682,9 @@ dictionary EventSourceInit {
If res is an aborted network error, then fail the
connection. Otherwise, if res is a network error, then call
- finalizeEventSourceFetch given res, and reestablish the
- connection, unless the user agent knows that to be futile, in which case the user agent
- may fail the connection. Otherwise, if res is a network error, then reestablish
+ the connection, unless the user agent knows that to be futile, in which case the user
+ agent may fail the connection. Otherwise, if res's status is
not 200, or if res's `Content-Type
` is not