OLD | NEW |
1 if (self.importScripts) { | 1 if (self.importScripts) { |
2 importScripts('../resources/fetch-test-helpers.js'); | 2 importScripts('../resources/fetch-test-helpers.js'); |
3 importScripts('/serviceworker/resources/fetch-access-control-util.js'); | 3 importScripts('/serviceworker/resources/fetch-access-control-util.js'); |
4 } | 4 } |
5 | 5 |
6 var TEST_TARGETS = [ | 6 var TEST_TARGETS = [ |
7 // Redirect: same origin -> same origin | 7 // Redirect: same origin -> same origin |
8 [REDIRECT_URL + encodeURIComponent(BASE_URL) + | 8 [REDIRECT_URL + encodeURIComponent(BASE_URL) + |
9 '&mode=same-origin&method=GET', | 9 '&mode=same-origin&method=GET', |
10 [fetchResolved, hasContentLength, hasServerHeader, hasBody, typeBasic], | 10 [fetchResolved, hasContentLength, hasServerHeader, hasBody, typeBasic], |
(...skipping 51 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
62 '&mode=same-origin&method=POST&Status=201&NoRedirectTest=true', | 62 '&mode=same-origin&method=POST&Status=201&NoRedirectTest=true', |
63 [fetchResolved, hasBody, typeBasic], | 63 [fetchResolved, hasBody, typeBasic], |
64 [checkJsonpNoRedirect]], | 64 [checkJsonpNoRedirect]], |
65 | 65 |
66 [REDIRECT_URL + encodeURIComponent(BASE_URL) + | 66 [REDIRECT_URL + encodeURIComponent(BASE_URL) + |
67 '&mode=same-origin&method=PUT', | 67 '&mode=same-origin&method=PUT', |
68 [fetchResolved, hasContentLength, hasServerHeader, hasBody, typeBasic], | 68 [fetchResolved, hasContentLength, hasServerHeader, hasBody, typeBasic], |
69 [methodIsPUT, authCheck1]], | 69 [methodIsPUT, authCheck1]], |
70 | 70 |
71 [REDIRECT_URL + encodeURIComponent(BASE_URL) + | 71 [REDIRECT_URL + encodeURIComponent(BASE_URL) + |
72 '&mode=no-cors&method=GET&headers=CUSTOM', | |
73 [fetchResolved, hasContentLength, hasServerHeader, hasBody, typeBasic], | |
74 [methodIsGET, noCustomHeader, authCheck1]], | |
75 | |
76 [REDIRECT_URL + encodeURIComponent(BASE_URL) + | |
77 '&mode=cors&method=GET&headers=CUSTOM', | 72 '&mode=cors&method=GET&headers=CUSTOM', |
78 [fetchResolved, hasContentLength, hasServerHeader, hasBody, typeBasic], | 73 [fetchResolved, hasContentLength, hasServerHeader, hasBody, typeBasic], |
79 [methodIsGET, hasCustomHeader, authCheck1]], | 74 [methodIsGET, hasCustomHeader, authCheck1]], |
80 | 75 |
81 // Credential test | |
82 [REDIRECT_URL + encodeURIComponent(BASE_URL) + | |
83 '&mode=cors&credentials=omit&method=GET', | |
84 [fetchResolved, hasContentLength, hasServerHeader, hasBody, typeBasic], | |
85 [methodIsGET, authCheckNone]], | |
86 [REDIRECT_URL + encodeURIComponent(BASE_URL) + | |
87 '&mode=cors&credentials=include&method=GET', | |
88 [fetchResolved, hasContentLength, hasServerHeader, hasBody, typeBasic], | |
89 [methodIsGET, authCheck1]], | |
90 [REDIRECT_URL + encodeURIComponent(BASE_URL) + | |
91 '&mode=cors&credentials=same-origin&method=GET', | |
92 [fetchResolved, hasContentLength, hasServerHeader, hasBody, typeBasic], | |
93 [methodIsGET, authCheck1]], | |
94 | |
95 // Redirect: same origin -> other origin | 76 // Redirect: same origin -> other origin |
96 [REDIRECT_URL + encodeURIComponent(OTHER_BASE_URL) + | 77 [REDIRECT_URL + encodeURIComponent(OTHER_BASE_URL) + |
97 '&mode=same-origin&method=GET', | 78 '&mode=same-origin&method=GET', |
98 [fetchRejected]], | 79 [fetchRejected]], |
99 [REDIRECT_URL + encodeURIComponent(OTHER_BASE_URL) + | 80 [REDIRECT_URL + encodeURIComponent(OTHER_BASE_URL) + |
100 '&mode=same-origin&method=POST', | 81 '&mode=same-origin&method=POST', |
101 [fetchRejected]], | 82 [fetchRejected]], |
102 [REDIRECT_URL + encodeURIComponent(OTHER_BASE_URL) + | 83 [REDIRECT_URL + encodeURIComponent(OTHER_BASE_URL) + |
103 '&mode=same-origin&method=PUT', | 84 '&mode=same-origin&method=PUT', |
104 [fetchRejected]], | 85 [fetchRejected]], |
105 | 86 |
106 [REDIRECT_URL + encodeURIComponent(OTHER_BASE_URL) + | 87 [REDIRECT_URL + encodeURIComponent(OTHER_BASE_URL) + |
107 '&mode=no-cors&method=GET&headers=CUSTOM', | |
108 [fetchResolved, noContentLength, noServerHeader, noBody, typeOpaque], | |
109 onlyOnServiceWorkerProxiedTest([methodIsGET, noCustomHeader, authCheck2])], | |
110 | |
111 // Status code tests for mode="no-cors" | |
112 // The 301 redirect response changes POST method to GET method. | |
113 [REDIRECT_URL + encodeURIComponent(OTHER_BASE_URL) + | |
114 '&mode=no-cors&method=POST&Status=301', | |
115 [fetchResolved, noContentLength, noServerHeader, noBody, typeOpaque], | |
116 onlyOnServiceWorkerProxiedTest([methodIsGET, authCheck2])], | |
117 // The 302 redirect response changes POST method to GET method. | |
118 [REDIRECT_URL + encodeURIComponent(OTHER_BASE_URL) + | |
119 '&mode=no-cors&method=POST', | |
120 [fetchResolved, noContentLength, noServerHeader, noBody, typeOpaque], | |
121 onlyOnServiceWorkerProxiedTest([methodIsGET, authCheck2])], | |
122 // GET method must be used for 303 redirect. | |
123 [REDIRECT_URL + encodeURIComponent(OTHER_BASE_URL) + | |
124 '&mode=no-cors&method=POST&Status=303', | |
125 [fetchResolved, noContentLength, noServerHeader, noBody, typeOpaque], | |
126 onlyOnServiceWorkerProxiedTest([methodIsGET, authCheck2])], | |
127 // The 307 redirect response doesn't change the method. | |
128 [REDIRECT_URL + encodeURIComponent(OTHER_BASE_URL) + | |
129 '&mode=no-cors&method=POST&Status=307', | |
130 [fetchResolved, noContentLength, noServerHeader, noBody, typeOpaque], | |
131 onlyOnServiceWorkerProxiedTest([methodIsPOST, authCheck2])], | |
132 // The 308 redirect response doesn't change the method. | |
133 // FIXME: disabled due to https://crbug.com/451938 | |
134 // [REDIRECT_URL + encodeURIComponent(OTHER_BASE_URL) + | |
135 // '&mode=no-cors&method=POST&Status=308', | |
136 // [fetchResolved, noContentLength, noServerHeader, noBody, typeOpaque], | |
137 // onlyOnServiceWorkerProxiedTest([methodIsPOST, authCheck2])], | |
138 | |
139 [REDIRECT_URL + encodeURIComponent(OTHER_BASE_URL) + | |
140 '&mode=cors&method=GET', | 88 '&mode=cors&method=GET', |
141 [fetchRejected]], | 89 [fetchRejected]], |
142 [REDIRECT_URL + encodeURIComponent(OTHER_BASE_URL) + | 90 [REDIRECT_URL + encodeURIComponent(OTHER_BASE_URL) + |
143 '&mode=cors&method=PUT', | 91 '&mode=cors&method=PUT', |
144 [fetchRejected]], | 92 [fetchRejected]], |
145 | 93 |
146 [REDIRECT_URL + encodeURIComponent(OTHER_BASE_URL + '&ACAOrigin=*') + | 94 [REDIRECT_URL + encodeURIComponent(OTHER_BASE_URL + '&ACAOrigin=*') + |
147 '&mode=cors&method=GET', | 95 '&mode=cors&method=GET', |
148 [fetchResolved, noContentLength, noServerHeader, hasBody, typeCors], | 96 [fetchResolved, noContentLength, noServerHeader, hasBody, typeCors], |
149 [methodIsGET, authCheckNone]], | 97 [methodIsGET, authCheckNone]], |
(...skipping 37 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
187 // Server header | 135 // Server header |
188 [REDIRECT_URL + | 136 [REDIRECT_URL + |
189 encodeURIComponent( | 137 encodeURIComponent( |
190 OTHER_BASE_URL + | 138 OTHER_BASE_URL + |
191 '&ACAOrigin=' + BASE_ORIGIN + | 139 '&ACAOrigin=' + BASE_ORIGIN + |
192 '&ACEHeaders=Content-Length, X-ServiceWorker-ServerHeader') + | 140 '&ACEHeaders=Content-Length, X-ServiceWorker-ServerHeader') + |
193 '&mode=cors&method=GET', | 141 '&mode=cors&method=GET', |
194 [fetchResolved, hasContentLength, hasServerHeader, hasBody, typeCors], | 142 [fetchResolved, hasContentLength, hasServerHeader, hasBody, typeCors], |
195 [methodIsGET, authCheckNone]], | 143 [methodIsGET, authCheckNone]], |
196 | 144 |
197 // Credential test | |
198 [REDIRECT_URL + encodeURIComponent(OTHER_BASE_URL) + | |
199 '&mode=cors&credentials=omit&method=GET', | |
200 [fetchRejected]], | |
201 [REDIRECT_URL + encodeURIComponent(OTHER_BASE_URL) + | |
202 '&mode=cors&credentials=include&method=GET', | |
203 [fetchRejected]], | |
204 [REDIRECT_URL + encodeURIComponent(OTHER_BASE_URL) + | |
205 '&mode=cors&credentials=same-origin&method=GET', | |
206 [fetchRejected]], | |
207 | |
208 [REDIRECT_URL + | |
209 encodeURIComponent(OTHER_BASE_URL + '&ACAOrigin=' + BASE_ORIGIN + '') + | |
210 '&mode=cors&credentials=omit&method=GET', | |
211 [fetchResolved, noContentLength, noServerHeader, hasBody, typeCors], | |
212 [methodIsGET, authCheckNone]], | |
213 [REDIRECT_URL + | |
214 encodeURIComponent(OTHER_BASE_URL + | |
215 '&ACAOrigin=' + BASE_ORIGIN + '&ACACredentials=true') + | |
216 '&mode=cors&credentials=omit&method=GET', | |
217 [fetchResolved, noContentLength, noServerHeader, hasBody, typeCors], | |
218 [methodIsGET, authCheckNone]], | |
219 | |
220 [REDIRECT_URL + | |
221 encodeURIComponent(OTHER_BASE_URL + '&ACAOrigin=' + BASE_ORIGIN + '') + | |
222 '&mode=cors&credentials=include&method=GET', | |
223 [fetchRejected]], | |
224 [REDIRECT_URL + | |
225 encodeURIComponent(OTHER_BASE_URL + | |
226 '&ACAOrigin=' + BASE_ORIGIN + '&ACACredentials=true') + | |
227 '&mode=cors&credentials=include&method=GET', | |
228 [fetchResolved, noContentLength, noServerHeader, hasBody, typeCors], | |
229 [methodIsGET, authCheck2]], | |
230 | |
231 [REDIRECT_URL + | |
232 encodeURIComponent(OTHER_BASE_URL + '&ACAOrigin=' + BASE_ORIGIN + '') + | |
233 '&mode=cors&credentials=same-origin&method=GET', | |
234 [fetchResolved, noContentLength, noServerHeader, hasBody, typeCors], | |
235 [methodIsGET, authCheckNone]], | |
236 [REDIRECT_URL + | |
237 encodeURIComponent(OTHER_BASE_URL + | |
238 '&ACAOrigin=' + BASE_ORIGIN + '&ACACredentials=true') + | |
239 '&mode=cors&credentials=same-origin&method=GET', | |
240 [fetchResolved, noContentLength, noServerHeader, hasBody, typeCors], | |
241 [methodIsGET, authCheckNone]], | |
242 | |
243 // Redirect: other origin -> same origin | 145 // Redirect: other origin -> same origin |
244 [OTHER_REDIRECT_URL + encodeURIComponent(BASE_URL) + | 146 [OTHER_REDIRECT_URL + encodeURIComponent(BASE_URL) + |
245 '&mode=same-origin&method=GET', | 147 '&mode=same-origin&method=GET', |
246 [fetchRejected]], | 148 [fetchRejected]], |
247 [OTHER_REDIRECT_URL + encodeURIComponent(BASE_URL) + | 149 [OTHER_REDIRECT_URL + encodeURIComponent(BASE_URL) + |
248 '&mode=same-origin&method=POST', | 150 '&mode=same-origin&method=POST', |
249 [fetchRejected]], | 151 [fetchRejected]], |
250 | 152 |
251 [OTHER_REDIRECT_URL + encodeURIComponent(BASE_URL) + | 153 [OTHER_REDIRECT_URL + encodeURIComponent(BASE_URL) + |
252 '&mode=no-cors&method=GET', | |
253 [fetchResolved, noContentLength, noServerHeader, noBody, typeOpaque], | |
254 onlyOnServiceWorkerProxiedTest([methodIsGET, authCheck1])], | |
255 [OTHER_REDIRECT_URL + encodeURIComponent(BASE_URL) + | |
256 '&mode=no-cors&method=GET&headers=CUSTOM', | |
257 [fetchResolved, noContentLength, noServerHeader, noBody, typeOpaque], | |
258 onlyOnServiceWorkerProxiedTest([methodIsGET, noCustomHeader, authCheck1])], | |
259 | |
260 // Status code tests for mode="no-cors" | |
261 // The 301 redirect response MAY change the request method from POST to GET. | |
262 [OTHER_REDIRECT_URL + encodeURIComponent(BASE_URL) + | |
263 '&mode=no-cors&method=POST&Status=301', | |
264 [fetchResolved, noContentLength, noServerHeader, noBody, typeOpaque], | |
265 onlyOnServiceWorkerProxiedTest([methodIsGET, authCheck1])], | |
266 // The 302 redirect response MAY change the request method from POST to GET. | |
267 [OTHER_REDIRECT_URL + encodeURIComponent(BASE_URL) + | |
268 '&mode=no-cors&method=POST', | |
269 [fetchResolved, noContentLength, noServerHeader, noBody, typeOpaque], | |
270 onlyOnServiceWorkerProxiedTest([methodIsGET, authCheck1])], | |
271 // GET method must be used for 303 redirect. | |
272 [OTHER_REDIRECT_URL + encodeURIComponent(BASE_URL) + | |
273 '&mode=no-cors&method=POST&Status=303', | |
274 [fetchResolved, noContentLength, noServerHeader, noBody, typeOpaque], | |
275 onlyOnServiceWorkerProxiedTest([methodIsGET, authCheck1])], | |
276 // The 307 redirect response MUST NOT change the method. | |
277 [OTHER_REDIRECT_URL + encodeURIComponent(BASE_URL) + | |
278 '&mode=no-cors&method=POST&Status=307', | |
279 [fetchResolved, noContentLength, noServerHeader, noBody, typeOpaque], | |
280 onlyOnServiceWorkerProxiedTest([methodIsPOST, authCheck1])], | |
281 // The 308 redirect response MUST NOT change the method. | |
282 // FIXME: disabled due to https://crbug.com/451938 | |
283 // [OTHER_REDIRECT_URL + encodeURIComponent(BASE_URL) + | |
284 // '&mode=no-cors&method=POST&Status=308', | |
285 // [fetchResolved, noContentLength, noServerHeader, noBody, typeOpaque], | |
286 // onlyOnServiceWorkerProxiedTest([methodIsPOST, authCheck1])], | |
287 | |
288 [OTHER_REDIRECT_URL + encodeURIComponent(BASE_URL) + | |
289 '&mode=cors&method=GET', | 154 '&mode=cors&method=GET', |
290 [fetchRejected]], | 155 [fetchRejected]], |
291 [OTHER_REDIRECT_URL + encodeURIComponent(BASE_URL) + | 156 [OTHER_REDIRECT_URL + encodeURIComponent(BASE_URL) + |
292 '&mode=cors&method=GET&ACAOrigin=*', | 157 '&mode=cors&method=GET&ACAOrigin=*', |
293 [fetchRejected]], | 158 [fetchRejected]], |
294 [OTHER_REDIRECT_URL + encodeURIComponent(BASE_URL + 'ACAOrigin=*') + | 159 [OTHER_REDIRECT_URL + encodeURIComponent(BASE_URL + 'ACAOrigin=*') + |
295 '&mode=cors&method=GET&ACAOrigin=*', | 160 '&mode=cors&method=GET&ACAOrigin=*', |
296 [fetchResolved, noContentLength, noServerHeader, hasBody, typeCors], | 161 [fetchResolved, noContentLength, noServerHeader, hasBody, typeCors], |
297 [methodIsGET, authCheckNone]], | 162 [methodIsGET, authCheckNone]], |
298 | 163 |
(...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
332 '&mode=cors&method=PUT&ACAOrigin=*&ACAMethods=PUT', | 197 '&mode=cors&method=PUT&ACAOrigin=*&ACAMethods=PUT', |
333 [fetchRejected]], | 198 [fetchRejected]], |
334 // Custom header | 199 // Custom header |
335 [OTHER_REDIRECT_URL + | 200 [OTHER_REDIRECT_URL + |
336 encodeURIComponent( | 201 encodeURIComponent( |
337 BASE_URL + | 202 BASE_URL + |
338 'ACAOrigin=' + BASE_ORIGIN + '&ACAHeaders=x-serviceworker-test') + | 203 'ACAOrigin=' + BASE_ORIGIN + '&ACAHeaders=x-serviceworker-test') + |
339 '&mode=cors&method=GET&headers=CUSTOM&ACAOrigin=*', | 204 '&mode=cors&method=GET&headers=CUSTOM&ACAOrigin=*', |
340 [fetchRejected]], | 205 [fetchRejected]], |
341 | 206 |
342 // Credentials test | |
343 [OTHER_REDIRECT_URL + encodeURIComponent(BASE_URL + 'ACAOrigin=*') + | |
344 '&mode=cors&credentials=omit&method=GET&ACAOrigin=*', | |
345 [fetchResolved, noContentLength, noServerHeader, hasBody, typeCors], | |
346 [methodIsGET, authCheckNone]], | |
347 [OTHER_REDIRECT_URL + encodeURIComponent(BASE_URL + 'ACAOrigin=*') + | |
348 '&mode=cors&credentials=include&method=GET&ACAOrigin=*', | |
349 [fetchRejected]], | |
350 [OTHER_REDIRECT_URL + encodeURIComponent(BASE_URL + 'ACAOrigin=*') + | |
351 '&mode=cors&credentials=same-origin&method=GET&ACAOrigin=*', | |
352 [fetchResolved, noContentLength, noServerHeader, hasBody, typeCors], | |
353 [methodIsGET, authCheckNone]], | |
354 [OTHER_REDIRECT_URL + | |
355 encodeURIComponent(BASE_URL + 'ACAOrigin=null&ACACredentials=true') + | |
356 '&mode=cors&credentials=omit&method=GET' + | |
357 '&ACAOrigin=' + BASE_ORIGIN + '&ACACredentials=true', | |
358 [fetchResolved, noContentLength, noServerHeader, hasBody, typeCors], | |
359 [methodIsGET, authCheckNone]], | |
360 [OTHER_REDIRECT_URL + | |
361 encodeURIComponent(BASE_URL + 'ACAOrigin=null&ACACredentials=true') + | |
362 '&mode=cors&credentials=include&method=GET' + | |
363 '&ACAOrigin=' + BASE_ORIGIN + '&ACACredentials=true', | |
364 [fetchResolved, noContentLength, noServerHeader, hasBody, typeCors], | |
365 [methodIsGET, authCheck1]], | |
366 [OTHER_REDIRECT_URL + | |
367 encodeURIComponent(BASE_URL + 'ACAOrigin=null&ACACredentials=true') + | |
368 '&mode=cors&credentials=same-origin&method=GET' + | |
369 '&ACAOrigin=' + BASE_ORIGIN + '&ACACredentials=true', | |
370 [fetchResolved, noContentLength, noServerHeader, hasBody, typeCors], | |
371 [methodIsGET, authCheckNone]], | |
372 | |
373 // Redirect: other origin -> other origin | 207 // Redirect: other origin -> other origin |
374 [OTHER_REDIRECT_URL + encodeURIComponent(OTHER_BASE_URL) + | 208 [OTHER_REDIRECT_URL + encodeURIComponent(OTHER_BASE_URL) + |
375 '&mode=same-origin&method=GET', | 209 '&mode=same-origin&method=GET', |
376 [fetchRejected]], | 210 [fetchRejected]], |
377 [OTHER_REDIRECT_URL + encodeURIComponent(OTHER_BASE_URL) + | 211 [OTHER_REDIRECT_URL + encodeURIComponent(OTHER_BASE_URL) + |
378 '&mode=no-cors&method=GET', | |
379 [fetchResolved, noContentLength, noServerHeader, noBody, typeOpaque], | |
380 onlyOnServiceWorkerProxiedTest([methodIsGET, authCheck2])], | |
381 [OTHER_REDIRECT_URL + encodeURIComponent(OTHER_BASE_URL) + | |
382 '&mode=cors&method=GET', | 212 '&mode=cors&method=GET', |
383 [fetchRejected]], | 213 [fetchRejected]], |
384 [OTHER_REDIRECT_URL + encodeURIComponent(OTHER_BASE_URL) + | 214 [OTHER_REDIRECT_URL + encodeURIComponent(OTHER_BASE_URL) + |
385 '&mode=cors&method=GET&ACAOrigin=*', | 215 '&mode=cors&method=GET&ACAOrigin=*', |
386 [fetchRejected]], | 216 [fetchRejected]], |
387 [OTHER_REDIRECT_URL + encodeURIComponent(OTHER_BASE_URL + 'ACAOrigin=*') + | 217 [OTHER_REDIRECT_URL + encodeURIComponent(OTHER_BASE_URL + 'ACAOrigin=*') + |
388 '&mode=cors&method=GET&ACAOrigin=*', | 218 '&mode=cors&method=GET&ACAOrigin=*', |
389 [fetchResolved, noContentLength, noServerHeader, hasBody, typeCors], | 219 [fetchResolved, noContentLength, noServerHeader, hasBody, typeCors], |
390 [methodIsGET, authCheckNone]], | 220 [methodIsGET, authCheckNone]], |
391 [OTHER_REDIRECT_URL + | 221 [OTHER_REDIRECT_URL + |
392 encodeURIComponent(OTHER_BASE_URL + 'ACAOrigin=' + BASE_ORIGIN + '') + | 222 encodeURIComponent(OTHER_BASE_URL + 'ACAOrigin=' + BASE_ORIGIN + '') + |
393 '&mode=cors&method=GET&ACAOrigin=*', | 223 '&mode=cors&method=GET&ACAOrigin=*', |
394 [fetchResolved, noContentLength, noServerHeader, hasBody, typeCors], | 224 [fetchResolved, noContentLength, noServerHeader, hasBody, typeCors], |
395 [methodIsGET, authCheckNone]], | 225 [methodIsGET, authCheckNone]], |
396 [OTHER_REDIRECT_URL + encodeURIComponent(OTHER_BASE_URL + 'ACAOrigin=*') + | 226 [OTHER_REDIRECT_URL + encodeURIComponent(OTHER_BASE_URL + 'ACAOrigin=*') + |
397 '&mode=cors&method=GET&ACAOrigin=' + BASE_ORIGIN + '', | 227 '&mode=cors&method=GET&ACAOrigin=' + BASE_ORIGIN + '', |
398 [fetchResolved, noContentLength, noServerHeader, hasBody, typeCors], | 228 [fetchResolved, noContentLength, noServerHeader, hasBody, typeCors], |
399 [methodIsGET, authCheckNone]], | 229 [methodIsGET, authCheckNone]], |
400 [OTHER_REDIRECT_URL + | 230 [OTHER_REDIRECT_URL + |
401 encodeURIComponent(OTHER_BASE_URL + 'ACAOrigin=' + BASE_ORIGIN + '') + | 231 encodeURIComponent(OTHER_BASE_URL + 'ACAOrigin=' + BASE_ORIGIN + '') + |
402 '&mode=cors&method=GET&ACAOrigin=' + BASE_ORIGIN + '', | 232 '&mode=cors&method=GET&ACAOrigin=' + BASE_ORIGIN + '', |
403 [fetchResolved, noContentLength, noServerHeader, hasBody, typeCors], | 233 [fetchResolved, noContentLength, noServerHeader, hasBody, typeCors], |
404 [methodIsGET, authCheckNone]], | 234 [methodIsGET, authCheckNone]], |
405 | 235 |
406 | |
407 // Status code tests for mode="cors" | 236 // Status code tests for mode="cors" |
408 // The 301 redirect response MAY change the request method from POST to GET. | 237 // The 301 redirect response MAY change the request method from POST to GET. |
409 [OTHER_REDIRECT_URL + encodeURIComponent(OTHER_BASE_URL + 'ACAOrigin=*') + | 238 [OTHER_REDIRECT_URL + encodeURIComponent(OTHER_BASE_URL + 'ACAOrigin=*') + |
410 '&mode=cors&method=POST&ACAOrigin=*&Status=301', | 239 '&mode=cors&method=POST&ACAOrigin=*&Status=301', |
411 [fetchResolved, noContentLength, noServerHeader, hasBody, typeCors], | 240 [fetchResolved, noContentLength, noServerHeader, hasBody, typeCors], |
412 [methodIsGET]], | 241 [methodIsGET]], |
413 // The 302 redirect response MAY change the request method from POST to GET. | 242 // The 302 redirect response MAY change the request method from POST to GET. |
414 [OTHER_REDIRECT_URL + encodeURIComponent(OTHER_BASE_URL + 'ACAOrigin=*') + | 243 [OTHER_REDIRECT_URL + encodeURIComponent(OTHER_BASE_URL + 'ACAOrigin=*') + |
415 '&mode=cors&method=POST&ACAOrigin=*&Status=302', | 244 '&mode=cors&method=POST&ACAOrigin=*&Status=302', |
416 [fetchResolved, noContentLength, noServerHeader, hasBody, typeCors], | 245 [fetchResolved, noContentLength, noServerHeader, hasBody, typeCors], |
(...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
448 '&mode=cors&method=PUT&ACAOrigin=*&ACAMethods=PUT', | 277 '&mode=cors&method=PUT&ACAOrigin=*&ACAMethods=PUT', |
449 [fetchRejected]], | 278 [fetchRejected]], |
450 // Custom header | 279 // Custom header |
451 [OTHER_REDIRECT_URL + | 280 [OTHER_REDIRECT_URL + |
452 encodeURIComponent( | 281 encodeURIComponent( |
453 OTHER_BASE_URL + | 282 OTHER_BASE_URL + |
454 'ACAOrigin=' + BASE_ORIGIN + '&ACAHeaders=x-serviceworker-test') + | 283 'ACAOrigin=' + BASE_ORIGIN + '&ACAHeaders=x-serviceworker-test') + |
455 '&mode=cors&method=GET&headers=CUSTOM' + | 284 '&mode=cors&method=GET&headers=CUSTOM' + |
456 '&ACAOrigin=' + BASE_ORIGIN + '&ACAHeaders=x-serviceworker-test', | 285 '&ACAOrigin=' + BASE_ORIGIN + '&ACAHeaders=x-serviceworker-test', |
457 [fetchRejected]], | 286 [fetchRejected]], |
458 | |
459 // Redirect loop: same origin -> same origin | |
460 [REDIRECT_LOOP_URL + encodeURIComponent(BASE_URL) + '&Count=20', | |
461 [fetchResolved, hasContentLength, hasBody, typeBasic], | |
462 [methodIsGET, authCheck1]], | |
463 [REDIRECT_LOOP_URL + encodeURIComponent(BASE_URL) + '&Count=21', | |
464 [fetchRejected]], | |
465 | |
466 // Redirect loop: same origin -> other origin | |
467 [REDIRECT_LOOP_URL + encodeURIComponent(OTHER_BASE_URL + '&ACAOrigin=*') + | |
468 '&Count=20&mode=cors&method=GET', | |
469 [fetchResolved, noContentLength, noServerHeader, hasBody, typeCors], | |
470 [methodIsGET, authCheckNone]], | |
471 // FIXME: due to the current implementation of Chromium, | |
472 // Count=21 is resolved, Count=22 is rejected. | |
473 // https://crbug.com/353768 | |
474 [REDIRECT_LOOP_URL + encodeURIComponent(OTHER_BASE_URL + '&ACAOrigin=*') + | |
475 '&Count=22&mode=cors&method=GET', | |
476 [fetchRejected]], | |
477 | |
478 // Redirect loop: other origin -> same origin | |
479 [OTHER_REDIRECT_LOOP_URL + encodeURIComponent(BASE_URL + 'ACAOrigin=*') + | |
480 '&Count=20&mode=cors&method=GET&ACAOrigin=*', | |
481 [fetchResolved, noContentLength, noServerHeader, hasBody, typeCors], | |
482 [methodIsGET, authCheckNone]], | |
483 [OTHER_REDIRECT_LOOP_URL + encodeURIComponent(BASE_URL + 'ACAOrigin=*') + | |
484 '&Count=21&mode=cors&method=GET&ACAOrigin=*', | |
485 [fetchRejected]], | |
486 | |
487 // Redirect loop: other origin -> other origin | |
488 [OTHER_REDIRECT_LOOP_URL + | |
489 encodeURIComponent(OTHER_BASE_URL + 'ACAOrigin=*') + | |
490 '&Count=20&mode=cors&method=GET&ACAOrigin=*', | |
491 [fetchResolved, noContentLength, noServerHeader, hasBody, typeCors], | |
492 [methodIsGET, authCheckNone]], | |
493 [OTHER_REDIRECT_LOOP_URL + | |
494 encodeURIComponent(OTHER_BASE_URL + 'ACAOrigin=*') + | |
495 '&Count=21&mode=cors&method=GET&ACAOrigin=*', | |
496 [fetchRejected]], | |
497 ]; | 287 ]; |
498 | 288 |
499 if (self.importScripts) { | 289 if (self.importScripts) { |
500 executeTests(TEST_TARGETS); | 290 executeTests(TEST_TARGETS); |
501 done(); | 291 done(); |
502 } | 292 } |
OLD | NEW |