@@ -1069,46 +1069,79 @@ URL Modifiers</h4>
10691069URL Processing Model</h4>
10701070
10711071 <div algorithm>
1072- To <dfn export>fetch a style resource</dfn> from [=/url=] |url|,
1073- given a {{CSSStyleSheet}} |sheet|,
1072+ To <dfn export>fetch a style resource</dfn> from [=/url=] or
1073+ <<url>> |urlValue|, given a {{CSSStyleSheet}} |sheet|,
10741074 a string |destination| matching a {{RequestDestination}} ,
10751075 a "no-cors" or "cors" |corsMode|,
10761076 and an algorithm |processResponse| accepting a [=/response=] and a null, failure or byte
10771077 stream:
10781078
10791079 1. Let |environmentSettings| be |sheet|'s [=relevant settings object=] .
10801080
1081- 3. Let |documentBase| be |environmentSettings|'s [=API base URL=] .
1081+ 2. Let |base| be |sheet|'s <a spec=cssom>stylesheet base URL</a> if it is not null, otherwise
1082+ |environmentSettings|'s [=API base URL=] . [[CSSOM]]
10821083
1083- 4. Let |base| be |sheet|'s <a spec=cssom>stylesheet base URL</a> . [[CSSOM]]
1084-
1085- 5. Let |referrer| be |documentBase|.
1086-
1087- 6. If |base| is null, set |base| to |documentBase|.
1088-
1089- 7. Let |parsedUrl| be the result of the [=URL parser=] steps with |url| and |base|.
1084+ 3. Let |parsedUrl| be the result of the [=URL parser=] steps with |urlValue|'s [=/url=] and |base|.
10901085 If the algorithm returns an error, return.
10911086
1092- 8. If |corsMode| is "cors", set |referrer| to |sheet|'s
1093- <a spec=cssom>location</a> . [[CSSOM]]
1094-
1095- 9. Let |req| be a new [=/request=] whose [=request/url=] is |parsedUrl|, whose
1087+ 4. Let |req| be a new [=/request=] whose [=request/url=] is |parsedUrl|, whose
10961088 [=request/destination=] is |destination|, [=request/mode=] is |corsMode|,
10971089 [=request/origin=] is |environmentSettings|'s [=environment settings object/origin=] ,
10981090 [=request/credentials mode=] is "same-origin", [=request/use-url-credentials flag=] is
10991091 set, [=request/client=] is |environmentSettings|, and whose [=request/referrer=] is
1100- |referrer|.
1092+ |environmentSettings|'s [=API base URL=] .
1093+
1094+ 5. [=Apply request modifiers from URL value=] given |req| and |urlValue|.
11011095
1102- 10 . If |sheet |'s <a spec=cssom>origin-clean flag</a> is set, set |req|' s
1103- [=request/initiator type =] to "css" . [[CSSOM]]
1096+ 6 . If |req |'s [=request/mode=] is "cors",
1097+ set |req| 's [=request/referrer =] to |sheet|' s <a spec=cssom>location</a> . [[CSSOM]]
11041098
1105- 11. [=/Fetch|fetching=] |req|, with [=fetch/processresponseconsumebody=] set to
1106- |processResponse|.
1099+ 7. If |sheet|'s <a spec=cssom>origin-clean flag</a> is set,
1100+ set |req|'s [=request/initiator type=] to "css". [[CSSOM]]
1101+
1102+ 8. [=/Fetch=] |req|,
1103+ with [=fetch/processresponseconsumebody=] set to |processResponse|.
11071104 </div>
11081105
1109- Note: Resources loaded through CSS style sheets
1110- are cached and cleared the same as any other resources
1111- linked from the document.
1106+ <h4 id='request-url-modifiers'>
1107+ Request URL Modifiers</h4>
1108+
1109+ The <dfn><<request-url-modifier>></dfn> s represent <<url-modifier>> s
1110+ that affect the resource's [=/request=] .
1111+ Each <<request-url-modifier>> has a <dfn>request modifier steps</dfn>
1112+ which accepts a [=/request=] .
1113+
1114+ <pre class=prod>
1115+ <<request-url-modifier>> = <<crossorigin-modifier>> | <<integrity-modifier>> | <<referrerpolicy-modifier>>
1116+ <<crossorigin-modifier>> = crossorigin(anonymous | use-credentials)
1117+ <<integrity-modifier>> = integrity(<<string>> )
1118+ <<referrerpolicy-modifier>> = referrerpolicy(no-referrer | no-referrer-when-downgrade | same-origin | origin | strict-origin | origin-when-cross-origin | strict-origin-when-cross-origin | unsafe-url)
1119+ </pre>
1120+
1121+ <dl dfn-for="<<request-url-modifier> >">
1122+ <dt> <dfn><<crossorigin-modifier>></dfn> = <dfn function lt="crossorigin()">crossorigin</dfn> (<dfn value>anonymous</dfn> | <dfn value>use-credentials</dfn> )
1123+ <dd> The [=request modifier steps=] for this modifier given [=/request=] |req| are:
1124+ 1. Set [=/request=] 's [=request/mode=] to "cors".
1125+
1126+ 2. If the given value is ''use-credentials'' , set [=/request=] 's
1127+ [=request/credentials mode=] to "include".
1128+
1129+ <dt> <dfn><<integrity-modifier>></dfn> = <dfn function lt="integrity()">integrity</dfn> (<<string>> )
1130+ <dd> The [=request modifier steps=] for this modifier given [=/request=] |req| are to set
1131+ [=/request=] 's [=request/integrity metadata=] to the given <<string>> .
1132+
1133+ <dt> <dfn><<referrerpolicy-modifier>></dfn> = <dfn function lt="referrerpolicy()">referrerpolicy</dfn> (<dfn value>no-referrer</dfn> | <dfn value>no-referrer-when-downgrade</dfn> | <dfn value>same-origin</dfn> | <dfn value>origin</dfn> | <dfn value>strict-origin</dfn> | <dfn value>origin-when-cross-origin</dfn> | <dfn value>strict-origin-when-cross-origin</dfn> | <dfn value>unsafe-url</dfn> )
1134+ <dd> The [=request modifier steps=] for this modifier given [=/request=] |req| are to set
1135+ [=/request=] 's [=request/referrer policy=] to the {{ReferrerPolicy}} that matches the given value.
1136+ </dl>
1137+
1138+ <div algorithm>
1139+ To <dfn>apply request modifiers from URL value</dfn>
1140+ given a [=/request=] |req|
1141+ and a <<url>> |url|,
1142+ call the [=request modifier steps=] for |url|'s <<request-url-modifier>> s in sequence
1143+ given |req|.
1144+ </div>
11121145
11131146<h2 id="numeric-types">
11141147Numeric Data Types</h2>
0 commit comments