diff options
-rw-r--r-- | components/net/http_loader.rs | 4 | ||||
-rw-r--r-- | resources/package-prefs.json | 1 | ||||
-rw-r--r-- | resources/prefs.json | 1 | ||||
-rw-r--r-- | tests/unit/net/http_loader.rs | 40 |
4 files changed, 1 insertions, 45 deletions
diff --git a/components/net/http_loader.rs b/components/net/http_loader.rs index 8455a7c0fd9..6b05644f2e8 100644 --- a/components/net/http_loader.rs +++ b/components/net/http_loader.rs @@ -53,7 +53,6 @@ use time::Tm; #[cfg(any(target_os = "macos", target_os = "linux", target_os = "windows"))] use tinyfiledialogs; use url::{Position, Url, Origin}; -use util::prefs::PREFS; use util::thread::spawn_named; use uuid; @@ -890,7 +889,6 @@ pub fn load<A, B>(load_data: &LoadData, cancel_listener: &CancellationListener, swmanager_chan: Option<IpcSender<CustomResponseMediator>>) -> Result<StreamedResponse, LoadError> where A: HttpRequest + 'static, B: UIProvider { - let max_redirects = PREFS.get("network.http.redirection-limit").as_i64().unwrap() as u32; let mut iters = 0; // URL of the document being loaded, as seen by all the higher-level code. let mut doc_url = load_data.url.clone(); @@ -939,7 +937,7 @@ pub fn load<A, B>(load_data: &LoadData, doc_url = secure_url(&doc_url); } - if iters > max_redirects { + if iters > 20 { return Err(LoadError::new(doc_url, LoadErrorType::MaxRedirects(iters - 1))); } diff --git a/resources/package-prefs.json b/resources/package-prefs.json index 7f0cda53b13..6cf5ffbd43c 100644 --- a/resources/package-prefs.json +++ b/resources/package-prefs.json @@ -52,7 +52,6 @@ "layout.text-orientation.enabled": false, "layout.viewport.enabled": false, "layout.writing-mode.enabled": false, - "network.http.redirection-limit": 20, "network.mime.sniff": false, "shell.builtin-key-shortcuts.enabled": false, "shell.homepage": "https://servo.org", diff --git a/resources/prefs.json b/resources/prefs.json index 0b542acabfc..819680ae104 100644 --- a/resources/prefs.json +++ b/resources/prefs.json @@ -53,7 +53,6 @@ "layout.text-orientation.enabled": false, "layout.viewport.enabled": false, "layout.writing-mode.enabled": false, - "network.http.redirection-limit": 20, "network.mime.sniff": false, "shell.builtin-key-shortcuts.enabled": true, "shell.homepage": "http://servo.org", diff --git a/tests/unit/net/http_loader.rs b/tests/unit/net/http_loader.rs index d5e562d12e0..096b90a9b47 100644 --- a/tests/unit/net/http_loader.rs +++ b/tests/unit/net/http_loader.rs @@ -42,7 +42,6 @@ use std::sync::atomic::{AtomicBool, Ordering}; use std::sync::mpsc::Receiver; use std::thread; use url::Url; -use util::prefs::{self, PREFS}; const DEFAULT_USER_AGENT: &'static str = "Test-agent"; @@ -1257,45 +1256,6 @@ fn test_load_succeeds_with_a_redirect_loop() { } #[test] -fn test_load_errors_when_there_is_too_many_redirects() { - struct Factory; - - impl HttpRequestFactory for Factory { - type R = MockRequest; - - fn create(&self, url: Url, _: Method, _: Headers) -> Result<MockRequest, LoadError> { - if url.domain().unwrap() == "mozilla.com" { - Ok(MockRequest::new(ResponseType::Redirect(format!("{}/1", url)))) - } else { - panic!("unexpected host {:?}", url) - } - } - } - - let url = Url::parse("http://mozilla.com").unwrap(); - let load_data = LoadData::new(LoadContext::Browsing, url.clone(), &HttpTest); - - let http_state = HttpState::new(); - let ui_provider = TestProvider::new(); - - let redirect_limit = 13.; - PREFS.set("network.http.redirection-limit", - prefs::PrefValue::Number(redirect_limit)); - - match load(&load_data, &ui_provider, &http_state, None, &Factory, - DEFAULT_USER_AGENT.into(), &CancellationListener::new(None), None) { - Err(LoadError { error: LoadErrorType::MaxRedirects(num_redirects), - url, .. }) => { - assert_eq!(num_redirects, redirect_limit as u32); - assert_eq!(url.domain().unwrap(), "mozilla.com"); - } - _ => panic!("expected max redirects to fail") - } - - PREFS.reset("network.http.redirection-limit"); -} - -#[test] fn test_load_follows_a_redirect() { struct Factory; |