@@ -1069,46 +1069,79 @@ URL Modifiers</h4>
1069
1069
URL Processing Model</h4>
1070
1070
1071
1071
<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|,
1074
1074
a string |destination| matching a {{RequestDestination}} ,
1075
1075
a "no-cors" or "cors" |corsMode|,
1076
1076
and an algorithm |processResponse| accepting a [=/response=] and a null, failure or byte
1077
1077
stream:
1078
1078
1079
1079
1. Let |environmentSettings| be |sheet|'s [=relevant settings object=] .
1080
1080
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]]
1082
1083
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|.
1090
1085
If the algorithm returns an error, return.
1091
1086
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
1096
1088
[=request/destination=] is |destination|, [=request/mode=] is |corsMode|,
1097
1089
[=request/origin=] is |environmentSettings|'s [=environment settings object/origin=] ,
1098
1090
[=request/credentials mode=] is "same-origin", [=request/use-url-credentials flag=] is
1099
1091
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|.
1101
1095
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]]
1104
1098
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|.
1107
1104
</div>
1108
1105
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>
1112
1145
1113
1146
<h2 id="numeric-types">
1114
1147
Numeric Data Types</h2>
0 commit comments