From d25b720c06925f243f7aee2f8fd59ae17f1a3ff9 Mon Sep 17 00:00:00 2001 From: Raphael Nestler Date: Tue, 8 Nov 2016 18:20:34 +0100 Subject: [PATCH 1/3] Add redirect_mode to RequestInit --- components/net_traits/request.rs | 4 +++- components/script/fetch.rs | 1 + 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/components/net_traits/request.rs b/components/net_traits/request.rs index 0e820a2728c..d5e4a08de26 100644 --- a/components/net_traits/request.rs +++ b/components/net_traits/request.rs @@ -81,7 +81,7 @@ pub enum CacheMode { } /// [Redirect mode](https://fetch.spec.whatwg.org/#concept-request-redirect-mode) -#[derive(Copy, Clone, PartialEq, HeapSizeOf)] +#[derive(Copy, Clone, PartialEq, Serialize, Deserialize, HeapSizeOf)] pub enum RedirectMode { Follow, Error, @@ -137,6 +137,7 @@ pub struct RequestInit { pub referrer_url: Option, pub referrer_policy: Option, pub pipeline_id: Option, + pub redirect_mode: RedirectMode, } impl Default for RequestInit { @@ -158,6 +159,7 @@ impl Default for RequestInit { referrer_url: None, referrer_policy: None, pipeline_id: None, + redirect_mode: RedirectMode::Follow, } } } diff --git a/components/script/fetch.rs b/components/script/fetch.rs index b73be89b71a..ed1a66fc683 100644 --- a/components/script/fetch.rs +++ b/components/script/fetch.rs @@ -61,6 +61,7 @@ fn request_init_from_request(request: NetTraitsRequest) -> NetTraitsRequestInit referrer_url: from_referrer_to_referrer_url(&request), referrer_policy: request.referrer_policy.get(), pipeline_id: request.pipeline_id.get(), + redirect_mode: request.redirect_mode.get(), } } From 3cc9f46ce575179e08d44527d300420c27afdffc Mon Sep 17 00:00:00 2001 From: Raphael Nestler Date: Tue, 8 Nov 2016 18:20:47 +0100 Subject: [PATCH 2/3] Set redirect_mode in Request::from_init() --- components/net_traits/request.rs | 1 + 1 file changed, 1 insertion(+) diff --git a/components/net_traits/request.rs b/components/net_traits/request.rs index d5e4a08de26..ef905ebccd8 100644 --- a/components/net_traits/request.rs +++ b/components/net_traits/request.rs @@ -268,6 +268,7 @@ impl Request { }; req.referrer_policy.set(init.referrer_policy); req.pipeline_id.set(init.pipeline_id); + req.redirect_mode.set(init.redirect_mode); req } From 26524e96f7949dec958249749b640cd6210d5245 Mon Sep 17 00:00:00 2001 From: Raphael Nestler Date: Wed, 9 Nov 2016 13:00:20 +0100 Subject: [PATCH 3/3] Update test metadata --- .../api/redirect/redirect-mode-worker.html.ini | 15 --------------- .../fetch/api/redirect/redirect-mode.html.ini | 15 --------------- 2 files changed, 30 deletions(-) diff --git a/tests/wpt/metadata/fetch/api/redirect/redirect-mode-worker.html.ini b/tests/wpt/metadata/fetch/api/redirect/redirect-mode-worker.html.ini index 3b1d82612e7..c2a2bb20543 100644 --- a/tests/wpt/metadata/fetch/api/redirect/redirect-mode-worker.html.ini +++ b/tests/wpt/metadata/fetch/api/redirect/redirect-mode-worker.html.ini @@ -1,32 +1,17 @@ [redirect-mode-worker.html] type: testharness - [Redirect 301 in "error" mode ] - expected: FAIL - [Redirect 301 in "manual" mode ] expected: FAIL - [Redirect 302 in "error" mode ] - expected: FAIL - [Redirect 302 in "manual" mode ] expected: FAIL - [Redirect 303 in "error" mode ] - expected: FAIL - [Redirect 303 in "manual" mode ] expected: FAIL - [Redirect 307 in "error" mode ] - expected: FAIL - [Redirect 307 in "manual" mode ] expected: FAIL - [Redirect 308 in "error" mode ] - expected: FAIL - [Redirect 308 in "manual" mode ] expected: FAIL diff --git a/tests/wpt/metadata/fetch/api/redirect/redirect-mode.html.ini b/tests/wpt/metadata/fetch/api/redirect/redirect-mode.html.ini index 8c1254256d1..d39b314c9bb 100644 --- a/tests/wpt/metadata/fetch/api/redirect/redirect-mode.html.ini +++ b/tests/wpt/metadata/fetch/api/redirect/redirect-mode.html.ini @@ -1,32 +1,17 @@ [redirect-mode.html] type: testharness - [Redirect 301 in "error" mode ] - expected: FAIL - [Redirect 301 in "manual" mode ] expected: FAIL - [Redirect 302 in "error" mode ] - expected: FAIL - [Redirect 302 in "manual" mode ] expected: FAIL - [Redirect 303 in "error" mode ] - expected: FAIL - [Redirect 303 in "manual" mode ] expected: FAIL - [Redirect 307 in "error" mode ] - expected: FAIL - [Redirect 307 in "manual" mode ] expected: FAIL - [Redirect 308 in "error" mode ] - expected: FAIL - [Redirect 308 in "manual" mode ] expected: FAIL