diff --git a/fetch.bs b/fetch.bs index b9d114874..881787921 100644 --- a/fetch.bs +++ b/fetch.bs @@ -214,12 +214,6 @@ lt="authentication entry">authentication entries (for HTTP authentication).
task destination (default null)
Null, a global object, or a parallel queue. -
initiator type (default null) -
Null or a string. - -
timing global (default null) -
Null or a global object. -
cross-origin isolated capability (default false)
A boolean. @@ -1435,6 +1429,10 @@ this flag set are subject to additional processing requirements.

A request has an associated service-workers mode, that is "all" or "none". Unless stated otherwise it is "all". +

A request has an associated null or string +initiator type. Unless stated otherwise it is null. +[[RESOURCE-TIMING]] +

This determines which service workers will receive a {{fetch!!event}} event for this fetch. @@ -2124,11 +2122,6 @@ string. -

A response has an associated -body info -(a response body info). Unless stated otherwise, it is a new -response body info. -

A response has an associated CORS-exposed header-name list (a list of zero or more header @@ -2159,6 +2152,11 @@ allowed on the resource fetched by looking at the flag of the response returned. the response of a redirect has to be set if it was set for previous responses in the redirect chain, this is also tracked internally using the request's timing allow failed flag. +

A response has an associated +body info +(a response body info). Unless stated otherwise, it is a new +response body info. +

A response has an associated service worker timing info (null or a service worker timing info), which is initially null. @@ -3810,17 +3808,15 @@ an optional algorithm processEarlyHintsResponse algorithm processResponse, an optional algorithm processResponseEndOfBody, an optional algorithm processResponseConsumeBody, -an optional boolean useParallelQueue (default false), an -optional null or string initiatorType (default null), -and an optional "client", "none", or a global object -timingGlobal (default "client"), run the steps -below. If given, processRequestBodyChunkLength must be an algorithm accepting an integer -representing the number of bytes transmitted. If given, processRequestEndOfBody must be an -algorithm accepting no arguments. If given, processEarlyHintsResponse must be an -algorithm accepting a response. If given, processResponse must be an -algorithm accepting a response. If given, processResponseEndOfBody must be -an algorithm accepting a response. If given, processResponseConsumeBody must -be an algorithm accepting a response and null, failure, or a byte sequence. +and an optional boolean useParallelQueue (default false), run +the steps below. If given, processRequestBodyChunkLength must be an algorithm accepting +an integer representing the number of bytes transmitted. If given, +processRequestEndOfBody must be an algorithm accepting no arguments. If given, +processEarlyHintsResponse must be an algorithm accepting a response. If +given, processResponse must be an algorithm accepting a response. If given, +processResponseEndOfBody must be an algorithm accepting a response. If +given, processResponseConsumeBody must be an algorithm accepting a response +and null, failure, or a byte sequence.

The user agent may be asked to suspend the ongoing fetch. @@ -3856,13 +3852,8 @@ the request.

  • Set crossOriginIsolatedCapability to request's client's cross-origin isolated capability. - -

  • Set timingGlobal to request's client's - global object. -

  • Assert: timingGlobal is "none" or a global object. -

  • If useParallelQueue is true, then set taskDestination to the result of starting a new parallel queue. @@ -3880,8 +3871,6 @@ the request. request is request, timing info is timingInfo, controller is controller, - initiator type is initiatorType, - timing global is timingGlobal, process request body chunk length is processRequestBodyChunkLength, process request end-of-body is processRequestEndOfBody, @@ -4379,23 +4368,24 @@ steps:

    This covers the case of response being a network error. -

  • If fetchParams's initiator type is not null, then - mark resource timing for timingInfo, request's - URL, fetchParams's initiator type, - global, cacheState, and bodyInfo. +

  • If fetchParams's request's + initiator type is not null, then + mark resource timing given timingInfo, request's + URL, request's + initiator type, global, cacheState, and + bodyInfo. -

  • Let global be fetchParams's timing global. +

  • Let client be fetchParams's request's + client. -

  • -

    If fetchParams's initiator type is not null and - fetchParams's timing global is not "none", - then queue a fetch task to run fetchParams's - controller's report timing steps given - fetchParams's timing global and fetchParams's - initiator type, withfetchParams's - timing global. -

  • +
  • If fetchParams's request's + initiator type is not null and client is not null, then + queue a fetch task to run fetchParams's controller's + report timing steps given client's + global object and request's + initiator type, with client's + global object.

  • If fetchParams's process response end-of-body is not null, then queue a fetch task to run fetchParams's @@ -7095,6 +7085,9 @@ constructor steps are:

    URL list
    A clone of request's URL list. + +
    initiator type +
    "fetch".
  • @@ -7746,8 +7739,8 @@ method steps are:
  • Set controller to the result of calling fetch given - request, with initiatorType set to "fetch, and - processResponse given response being these substeps: + request and processResponse given response being + these substeps:

    1. If locallyAborted is true, terminate these substeps. @@ -8233,16 +8226,6 @@ in a parallel queue if useParallelQueue is

      useParallelQueue

      Takes a boolean that defaults to false. Indicates where the algorithms passed as arguments will be invoked. Hopefully most standards will not need this. - -

      initiatorType -

      Takes null or a string, to indicate the {{PerformanceResourceTiming/initiatorType}} for - Resource Timing. If not given, the entry is not reported. [[RESOURCE-TIMING]] - -

      timingGlobal -

      Takes "client", "none" or a global object (default - "client"). Indicates which global object is used for enqueuing the - {{PerformanceResourceTiming}} entry. If "none" is passed, the entry is not reported. - [[RESOURCE-TIMING]]

      When invoked, the fetch operation returns a fetch controller. The