diff --git a/components/net/http_loader.rs b/components/net/http_loader.rs index 10c2d7faaec..74262db3f1c 100644 --- a/components/net/http_loader.rs +++ b/components/net/http_loader.rs @@ -804,7 +804,9 @@ pub fn http_redirect_fetch( .map_or(false, |(code, _)| { ((*code == StatusCode::MOVED_PERMANENTLY || *code == StatusCode::FOUND) && request.method == Method::POST) || - (*code == StatusCode::SEE_OTHER && request.method != Method::HEAD) + (*code == StatusCode::SEE_OTHER && + request.method != Method::HEAD && + request.method != Method::GET) }) { // Step 11.1 diff --git a/tests/wpt/metadata/fetch/api/redirect/redirect-method.any.js.ini b/tests/wpt/metadata/fetch/api/redirect/redirect-method.any.js.ini index e2d28b96134..8f719427a8d 100644 --- a/tests/wpt/metadata/fetch/api/redirect/redirect-method.any.js.ini +++ b/tests/wpt/metadata/fetch/api/redirect/redirect-method.any.js.ini @@ -1,7 +1,4 @@ [redirect-method.any.worker.html] - [Redirect 303 with GET] - expected: FAIL - [Redirect 307 with POST (string body)] expected: FAIL @@ -10,9 +7,6 @@ [redirect-method.any.html] - [Redirect 303 with GET] - expected: FAIL - [Redirect 307 with POST (string body)] expected: FAIL