script-module-import-dynamic.https.sub.html (8761B)
1 <!DOCTYPE html> 2 <!-- 3 This test was procedurally generated. Please do not modify it directly. 4 Sources: 5 - fetch/metadata/tools/fetch-metadata.conf.yml 6 - fetch/metadata/tools/templates/script-module-import-dynamic.sub.html 7 --> 8 <html lang="en"> 9 <meta charset="utf-8"> 10 <title>HTTP headers on request for dynamic ECMAScript module import</title> 11 <script src="/resources/testharness.js"></script> 12 <script src="/resources/testharnessreport.js"></script> 13 <script src="/fetch/metadata/resources/helper.sub.js"></script> 14 <script type="module"> 15 'use strict'; 16 17 promise_test(() => { 18 const key = '{{uuid()}}'; 19 const url = makeRequestURL( 20 key, ['httpsOrigin'], { mime: 'application/javascript' } 21 ); 22 23 return import(url) 24 .then(() => retrieve(key)) 25 .then((headers) => { 26 assert_own_property(headers, 'sec-fetch-site'); 27 assert_array_equals(headers['sec-fetch-site'], ['same-origin']); 28 }); 29 }, 'sec-fetch-site - Same origin'); 30 31 promise_test(() => { 32 const key = '{{uuid()}}'; 33 const url = makeRequestURL( 34 key, ['httpsCrossSite'], { mime: 'application/javascript' } 35 ); 36 37 return import(url) 38 .then(() => retrieve(key)) 39 .then((headers) => { 40 assert_own_property(headers, 'sec-fetch-site'); 41 assert_array_equals(headers['sec-fetch-site'], ['cross-site']); 42 }); 43 }, 'sec-fetch-site - Cross-site'); 44 45 promise_test(() => { 46 const key = '{{uuid()}}'; 47 const url = makeRequestURL( 48 key, ['httpsSameSite'], { mime: 'application/javascript' } 49 ); 50 51 return import(url) 52 .then(() => retrieve(key)) 53 .then((headers) => { 54 assert_own_property(headers, 'sec-fetch-site'); 55 assert_array_equals(headers['sec-fetch-site'], ['same-site']); 56 }); 57 }, 'sec-fetch-site - Same site'); 58 59 promise_test(() => { 60 const key = '{{uuid()}}'; 61 const url = makeRequestURL( 62 key, ['httpsOrigin', 'httpsCrossSite', 'httpsOrigin'], { mime: 'application/javascript' } 63 ); 64 65 return import(url) 66 .then(() => retrieve(key)) 67 .then((headers) => { 68 assert_own_property(headers, 'sec-fetch-site'); 69 assert_array_equals(headers['sec-fetch-site'], ['cross-site']); 70 }); 71 }, 'sec-fetch-site - Same-Origin -> Cross-Site -> Same-Origin redirect'); 72 73 promise_test(() => { 74 const key = '{{uuid()}}'; 75 const url = makeRequestURL( 76 key, ['httpsOrigin', 'httpsSameSite', 'httpsOrigin'], { mime: 'application/javascript' } 77 ); 78 79 return import(url) 80 .then(() => retrieve(key)) 81 .then((headers) => { 82 assert_own_property(headers, 'sec-fetch-site'); 83 assert_array_equals(headers['sec-fetch-site'], ['same-site']); 84 }); 85 }, 'sec-fetch-site - Same-Origin -> Same-Site -> Same-Origin redirect'); 86 87 promise_test(() => { 88 const key = '{{uuid()}}'; 89 const url = makeRequestURL( 90 key, ['httpsCrossSite', 'httpsOrigin'], { mime: 'application/javascript' } 91 ); 92 93 return import(url) 94 .then(() => retrieve(key)) 95 .then((headers) => { 96 assert_own_property(headers, 'sec-fetch-site'); 97 assert_array_equals(headers['sec-fetch-site'], ['cross-site']); 98 }); 99 }, 'sec-fetch-site - Cross-Site -> Same Origin'); 100 101 promise_test(() => { 102 const key = '{{uuid()}}'; 103 const url = makeRequestURL( 104 key, ['httpsCrossSite', 'httpsSameSite'], { mime: 'application/javascript' } 105 ); 106 107 return import(url) 108 .then(() => retrieve(key)) 109 .then((headers) => { 110 assert_own_property(headers, 'sec-fetch-site'); 111 assert_array_equals(headers['sec-fetch-site'], ['cross-site']); 112 }); 113 }, 'sec-fetch-site - Cross-Site -> Same-Site'); 114 115 promise_test(() => { 116 const key = '{{uuid()}}'; 117 const url = makeRequestURL( 118 key, ['httpsCrossSite', 'httpsCrossSite'], { mime: 'application/javascript' } 119 ); 120 121 return import(url) 122 .then(() => retrieve(key)) 123 .then((headers) => { 124 assert_own_property(headers, 'sec-fetch-site'); 125 assert_array_equals(headers['sec-fetch-site'], ['cross-site']); 126 }); 127 }, 'sec-fetch-site - Cross-Site -> Cross-Site'); 128 129 promise_test(() => { 130 const key = '{{uuid()}}'; 131 const url = makeRequestURL( 132 key, ['httpsOrigin', 'httpsOrigin'], { mime: 'application/javascript' } 133 ); 134 135 return import(url) 136 .then(() => retrieve(key)) 137 .then((headers) => { 138 assert_own_property(headers, 'sec-fetch-site'); 139 assert_array_equals(headers['sec-fetch-site'], ['same-origin']); 140 }); 141 }, 'sec-fetch-site - Same-Origin -> Same Origin'); 142 143 promise_test(() => { 144 const key = '{{uuid()}}'; 145 const url = makeRequestURL( 146 key, ['httpsOrigin', 'httpsSameSite'], { mime: 'application/javascript' } 147 ); 148 149 return import(url) 150 .then(() => retrieve(key)) 151 .then((headers) => { 152 assert_own_property(headers, 'sec-fetch-site'); 153 assert_array_equals(headers['sec-fetch-site'], ['same-site']); 154 }); 155 }, 'sec-fetch-site - Same-Origin -> Same-Site'); 156 157 promise_test(() => { 158 const key = '{{uuid()}}'; 159 const url = makeRequestURL( 160 key, ['httpsOrigin', 'httpsCrossSite'], { mime: 'application/javascript' } 161 ); 162 163 return import(url) 164 .then(() => retrieve(key)) 165 .then((headers) => { 166 assert_own_property(headers, 'sec-fetch-site'); 167 assert_array_equals(headers['sec-fetch-site'], ['cross-site']); 168 }); 169 }, 'sec-fetch-site - Same-Origin -> Cross-Site'); 170 171 promise_test(() => { 172 const key = '{{uuid()}}'; 173 const url = makeRequestURL( 174 key, ['httpsSameSite', 'httpsOrigin'], { mime: 'application/javascript' } 175 ); 176 177 return import(url) 178 .then(() => retrieve(key)) 179 .then((headers) => { 180 assert_own_property(headers, 'sec-fetch-site'); 181 assert_array_equals(headers['sec-fetch-site'], ['same-site']); 182 }); 183 }, 'sec-fetch-site - Same-Site -> Same Origin'); 184 185 promise_test(() => { 186 const key = '{{uuid()}}'; 187 const url = makeRequestURL( 188 key, ['httpsSameSite', 'httpsSameSite'], { mime: 'application/javascript' } 189 ); 190 191 return import(url) 192 .then(() => retrieve(key)) 193 .then((headers) => { 194 assert_own_property(headers, 'sec-fetch-site'); 195 assert_array_equals(headers['sec-fetch-site'], ['same-site']); 196 }); 197 }, 'sec-fetch-site - Same-Site -> Same-Site'); 198 199 promise_test(() => { 200 const key = '{{uuid()}}'; 201 const url = makeRequestURL( 202 key, ['httpsSameSite', 'httpsCrossSite'], { mime: 'application/javascript' } 203 ); 204 205 return import(url) 206 .then(() => retrieve(key)) 207 .then((headers) => { 208 assert_own_property(headers, 'sec-fetch-site'); 209 assert_array_equals(headers['sec-fetch-site'], ['cross-site']); 210 }); 211 }, 'sec-fetch-site - Same-Site -> Cross-Site'); 212 213 promise_test(() => { 214 const key = '{{uuid()}}'; 215 const url = makeRequestURL( 216 key, [], { mime: 'application/javascript' } 217 ); 218 219 return import(url) 220 .then(() => retrieve(key)) 221 .then((headers) => { 222 assert_own_property(headers, 'sec-fetch-mode'); 223 assert_array_equals(headers['sec-fetch-mode'], ['cors']); 224 }); 225 }, 'sec-fetch-mode'); 226 227 promise_test(() => { 228 const key = '{{uuid()}}'; 229 const url = makeRequestURL( 230 key, [], { mime: 'application/javascript' } 231 ); 232 233 return import(url) 234 .then(() => retrieve(key)) 235 .then((headers) => { 236 assert_own_property(headers, 'sec-fetch-dest'); 237 assert_array_equals(headers['sec-fetch-dest'], ['script']); 238 }); 239 }, 'sec-fetch-dest'); 240 241 promise_test(() => { 242 const key = '{{uuid()}}'; 243 const url = makeRequestURL( 244 key, [], { mime: 'application/javascript' } 245 ); 246 247 return import(url) 248 .then(() => retrieve(key)) 249 .then((headers) => { 250 assert_not_own_property(headers, 'sec-fetch-user'); 251 }); 252 }, 'sec-fetch-user'); 253 254 promise_test(() => { 255 const key = '{{uuid()}}'; 256 const url = makeRequestURL( 257 key, ['httpsCrossSite'], { mime: 'application/javascript' } 258 ); 259 260 return import(url) 261 .then(() => retrieve(key)) 262 .then((headers) => { 263 assert_not_own_property(headers, 'sec-fetch-storage-access'); 264 }); 265 }, 'sec-fetch-storage-access - Cross-site'); 266 267 promise_test(() => { 268 const key = '{{uuid()}}'; 269 const url = makeRequestURL( 270 key, ['httpsSameSite'], { mime: 'application/javascript' } 271 ); 272 273 return import(url) 274 .then(() => retrieve(key)) 275 .then((headers) => { 276 assert_not_own_property(headers, 'sec-fetch-storage-access'); 277 }); 278 }, 'sec-fetch-storage-access - Same site'); 279 </script> 280 </html>