diff --git a/fetch.bs b/fetch.bs index fdc6445c3..884e0af8a 100644 --- a/fetch.bs +++ b/fetch.bs @@ -1828,6 +1828,9 @@ otherwise, it is unset. timing allow failed flag are used as bookkeeping details by the fetch algorithm. +
A request has an associated boolean allow preloads. +Unless stated otherwise it is true. +
A subresource request is a request @@ -3811,6 +3814,44 @@ the request. request's origin to request's client's origin. +
Let hasCustomHeaders be false. + +
For each header in request's
+ header list, if header's name is
+ not `If-Modified-Since
`, `If-None-Match
`, `If-Unmodified-Since
`,
+ `If-Match
`, `Origin
`, `User-Agent
`, `Referer
`,
+ or `Cache-Control
`, set hasCustomHeaders to true.
+
+
If all of the following conditions are true:
+ +request's allow preloads is true + +
hasCustomHeaders is false + +
request's window is not null + +
request's method is `GET
`
+
then perform the following steps: + +
Let preloadedResponse be the result of invoking + consume a preloaded resource for request's window, + with request's URL, request's origin, + request's destination, request's + mode, request's credentials mode, and + request's integrity metadata. + +
If preloadedResponse is not null, then run fetch finale with + preloadedResponse and fetchParams, and return. +
If request's policy container is "client
", then: