| 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 |