diff options
-rw-r--r-- | components/script/cors.rs | 2 | ||||
-rw-r--r-- | tests/wpt/metadata/cors/redirect-origin.htm.ini | 23 |
2 files changed, 24 insertions, 1 deletions
diff --git a/components/script/cors.rs b/components/script/cors.rs index e64583e0a58..0c225db1b1d 100644 --- a/components/script/cors.rs +++ b/components/script/cors.rs @@ -77,7 +77,7 @@ impl CORSRequest { let mut req = CORSRequest::new(referer, destination, mode, method, headers); req.preflight_flag = !is_simple_method(&req.method) || mode == RequestMode::ForcedPreflight; - if req.headers.iter().all(|h| is_simple_header(&h)) { + if req.headers.iter().any(|h| !is_simple_header(&h)) { req.preflight_flag = true; } Ok(Some(req)) diff --git a/tests/wpt/metadata/cors/redirect-origin.htm.ini b/tests/wpt/metadata/cors/redirect-origin.htm.ini index 6559255c508..b635bf1f6a5 100644 --- a/tests/wpt/metadata/cors/redirect-origin.htm.ini +++ b/tests/wpt/metadata/cors/redirect-origin.htm.ini @@ -108,3 +108,26 @@ [remote (http://web-platform.test:8000) to remote2 (null), expect origin=null] expected: FAIL + [remote (http://www1.web-platform.test:8000) to remote (*), expect to fail] + expected: FAIL + + [remote (null) to remote2 (*), expect to fail] + expected: FAIL + + [remote (none) to remote2 (*), expect to fail] + expected: FAIL + + [remote (none) to remote2 (*), expect to fail] + expected: FAIL + + [remote (null) to remote (*), expect to fail] + expected: FAIL + + [remote (none) to remote (*), expect to fail] + expected: FAIL + + [remote (none) to local (*), expect to fail] + expected: FAIL + + [remote (null) to local (*), expect to fail] + expected: FAIL |