diff --git a/fetch.bs b/fetch.bs index 122efc771..dab7ed6ce 100755 --- a/fetch.bs +++ b/fetch.bs @@ -2225,6 +2225,11 @@ Unless stated otherwise, it is false.
This is for exclusive use by HTML's navigate algorithm. [[!HTML]] +
A request has an associated WebDriver navigation id +(null or a string). Unless stated otherwise, it is null. + +
This is for exclusive use by HTML's navigate algorithm. [[!HTML]] +
A request has an associated boolean render-blocking. Unless stated otherwise, it is false. @@ -2266,6 +2271,16 @@ otherwise, it is unset. done flag, and timing allow failed flag are used as bookkeeping details by the fetch algorithm. +
A request has an associated +WebDriver id +which is the result of generating a random UUID, set when the request is +created. [[WEBCRYPTO]] + +
The [=request/WebDriver id=] is used by WebDriver-BiDi. It remains constant +across redirects, authentication attempts, and CORS-preflight fetches of an initial request. +When a request is [=request/cloned=], the created request gets a unique +[=request/WebDriver id=]. [[!WEBDRIVER-BIDI]] +
A subresource request is a request
@@ -2356,7 +2371,10 @@ is to return the result of serializing a request origin with request
Let newRequest be a copy of request, except for its
- body.
+ body and WebDriver id.
+
+ Set newRequest's WebDriver id to the result of
+ generating a random UUID. [[WEBCRYPTO]]
If request's body is non-null, set newRequest's
body to the result of cloning request's
@@ -4570,6 +4588,8 @@ the response. [[!HTTP-CACHING]]
request's body to request's body
as a body.
+ Run the WebDriver BiDi clone network request body steps with request.
+
If all of the following conditions are true:
@@ -5164,6 +5184,11 @@ steps:
network error; otherwise response's
internal response.
+ If response is a network error, then run
+ the WebDriver BiDi fetch error steps with request. Otherwise,
+ run the WebDriver BiDi response completed steps with
+ request and response.
+
If internalResponse's body is null, then run
processResponseEndOfBody.
@@ -5586,6 +5611,13 @@ these steps:
filtered response; otherwise to response's
internal response.
+ Run the WebDriver BiDi response started steps with
+ request and response.
+
+
If one of the following is true
@@ -5713,8 +5745,12 @@ these steps:
Set response to the result of running HTTP-redirect fetch given
- fetchParams and response. Set response to the result of running HTTP-redirect fetch given
+ fetchParams and response.
+ This intentionally does not depend on httpRequest's
credentials mode.
+
+ Run the WebDriver BiDi before request sent steps with request.
+
Set httpCache to the result of determining the HTTP cache partition,
given httpRequest.
@@ -6215,6 +6255,8 @@ run these steps:
If aborted, then return the appropriate network error for
fetchParams.
+ If response is not null, then run the WebDriver BiDi response
+ started steps with request and response.
Wait until all the HTTP response headers are transmitted.
+ Run the WebDriver BiDi response started steps with
+ request and response.
+
Let status be the HTTP response's status code.
Run the WebDriver BiDi clone network response body steps with request and response.
+
If includeCredentials is true, then the user agent should
parse and store response ` The service-workers mode of preflight does not matter
as this algorithm uses HTTP-network-or-cache fetch rather than HTTP fetch.
@@ -6120,6 +6156,10 @@ run these steps:
follow"
+
+
Set-Cookie` headers given request and
response.
@@ -6790,8 +6837,9 @@ populates the CORS-preflight cache to minimize the number of these
origin is request's origin,
referrer is request's referrer,
referrer policy is request's referrer policy,
- mode is "cors", and
- response tainting is "cors".
+ mode is "cors",
+ response tainting is "cors", and
+ WebDriver id is request's WebDriver id.