@@ -2157,6 +2157,11 @@ Unless stated otherwise, it is false.
2157
2157
2158
2158
<p class=note> This is for exclusive use by HTML's navigate algorithm. [[!HTML]]
2159
2159
2160
+ <p> A <a for=/>request</a> has an associated <dfn export for=request>navigation id</dfn>
2161
+ (null or a string). Unless stated otherwise, it is null.
2162
+
2163
+ <p class=note> This is for exclusive use by HTML's navigate algorithm. [[!HTML]]
2164
+
2160
2165
<p> A <a for=/>request</a> has an associated boolean <dfn export for=request>render-blocking</dfn> .
2161
2166
Unless stated otherwise, it is false.
2162
2167
@@ -2198,6 +2203,14 @@ otherwise, it is unset.
2198
2203
<a for=request>done flag</a> , and <a for=request>timing allow failed flag</a> are used as
2199
2204
bookkeeping details by the <a for=/>fetch</a> algorithm.
2200
2205
2206
+ <p> A <a for=/>request</a> has an associated <dfn export for=request id=concept-id>id</dfn>
2207
+ which is a unique string automatically set when the <a for=/>request</a> is created.
2208
+
2209
+ <p class=note> The [=request/id=] is used by WebDriver-BiDi. It remains constant
2210
+ across all requests resulting from a redirect of an initial request. When a
2211
+ request is [=request/cloned=] , the created request gets a unique
2212
+ [=request/id=] . [[!WEBDRIVER-BIDI]]
2213
+
2201
2214
<hr>
2202
2215
2203
2216
<p> A <dfn export>subresource request</dfn> is a <a for=/>request</a>
@@ -2274,7 +2287,9 @@ is to return the result of <a>serializing a request origin</a> with <var>request
2274
2287
2275
2288
<ol>
2276
2289
<li><p> Let <var> newRequest</var> be a copy of <var> request</var> , except for its
2277
- <a for=request>body</a> .
2290
+ <a for=request>body</a> and <a for=request>id</a> .
2291
+
2292
+ <li><p> Set <var> newRequest</var> 's <a for=request>id</a> to a new unique string.
2278
2293
2279
2294
<li><p> If <var> request</var> 's <a for=request>body</a> is non-null, set <var>newRequest</var>' s
2280
2295
<a for=request>body</a> to the result of <a lt=clone for=body>cloning</a> <var> request</var> 's
@@ -4824,6 +4839,11 @@ steps:
4824
4839
<a for=request>URL</a> , <var> fetchParams</var> 's <a for="fetch params">request</a>' s
4825
4840
<a for=request>initiator type</a> , <var> global</var> , <var> cacheState</var> ,
4826
4841
<var> bodyInfo</var> , and <var> responseStatus</var> .
4842
+
4843
+ <li><p> If <var> response</var> is a <a>network error</a> , run
4844
+ the <a>WebDriver BiDi fetch error</a> steps with <var> request</var> . Otherwise
4845
+ run the <a>WebDriver BiDi response completed</a> steps with
4846
+ <var> request</var> and <var> response</var> .
4827
4847
</ol>
4828
4848
4829
4849
<li>
@@ -5165,6 +5185,13 @@ these steps:
5165
5185
<a>filtered response</a> ; otherwise to <var> response</var> 's
5166
5186
<a for="filtered response">internal response</a> .
5167
5187
5188
+ <li><p> Run the [=WebDriver BiDi response started=] steps with
5189
+ <var> request</var> and <var> response</var> .
5190
+ <!-- Service Workers is responsible for emmitting the WebDriver BiDi
5191
+ request events in this case. That's necessary to ensure that the events are
5192
+ only generated if the service worker will handle the fetch, and to get the
5193
+ correct event ordering in the case of network fallback -->
5194
+
5168
5195
<li>
5169
5196
<p> If one of the following is true
5170
5197
@@ -5699,6 +5726,10 @@ run these steps:
5699
5726
<p class=note> This intentionally does not depend on <var> httpRequest</var> 's
5700
5727
<a for=request>credentials mode</a> .
5701
5728
5729
+ <!-- After this point the request is not further modified before being either
5730
+ retrieved from the cache or sent -->
5731
+ <li><p> Run the <a>WebDriver BiDi before request sent</a> steps with <var> request</var> .
5732
+
5702
5733
<li><p> Set <var> httpCache</var> to the result of <a>determining the HTTP cache partition</a> ,
5703
5734
given <var> httpRequest</var> .
5704
5735
@@ -5794,6 +5825,8 @@ run these steps:
5794
5825
<li><p> <a>If aborted</a> , then return the <a for=/>appropriate network error</a> for
5795
5826
<var> fetchParams</var> .
5796
5827
5828
+ <li><p> If <var> response</var> is not null, run the <a>WebDriver BiDi response
5829
+ started</a> steps with <var> request</var> and <var> response</var> .
5797
5830
5798
5831
<!-- If response is still null, we require a forwarded request. -->
5799
5832
<li>
@@ -6057,6 +6090,9 @@ optional boolean <var>forceNewConnection</var> (default false), run these steps:
6057
6090
6058
6091
<li><p> Wait until all the HTTP response headers are transmitted.
6059
6092
6093
+ <li><p> Run the [=WebDriver BiDi response started=] steps with
6094
+ |request| and |response|.
6095
+
6060
6096
<li><p> Let <var> status</var> be the HTTP response's status code.
6061
6097
6062
6098
<li>
0 commit comments