Move Arc out of HttpState

This commit is contained in:
Anthony Ramine 2017-04-03 14:00:36 +02:00
parent 8683f4d43e
commit 64ba597a3a
7 changed files with 38 additions and 38 deletions

View file

@ -534,7 +534,7 @@ fn test_fetch_with_hsts() {
let connector = create_http_connector(ssl_client);
let context = FetchContext {
state: HttpState::new(),
state: Arc::new(HttpState::new()),
user_agent: DEFAULT_USER_AGENT.into(),
devtools_chan: None,
filemanager: FileManager::new(),

View file

@ -50,7 +50,7 @@ fn read_response(reader: &mut Read) -> String {
}
}
fn assert_cookie_for_domain(cookie_jar: Arc<RwLock<CookieStorage>>, domain: &str, cookie: Option<&str>) {
fn assert_cookie_for_domain(cookie_jar: &RwLock<CookieStorage>, domain: &str, cookie: Option<&str>) {
let mut cookie_jar = cookie_jar.write().unwrap();
let url = ServoUrl::parse(&*domain).unwrap();
let cookies = cookie_jar.cookies_for_url(&url, CookieSource::HTTP);
@ -518,7 +518,7 @@ fn test_load_sets_cookies_in_the_resource_manager_when_it_get_set_cookie_header_
let context = new_fetch_context(None);
assert_cookie_for_domain(context.state.cookie_jar.clone(), url.as_str(), None);
assert_cookie_for_domain(&context.state.cookie_jar, url.as_str(), None);
let mut request = Request::from_init(RequestInit {
url: url.clone(),
@ -536,7 +536,7 @@ fn test_load_sets_cookies_in_the_resource_manager_when_it_get_set_cookie_header_
assert!(response.status.unwrap().is_success());
assert_cookie_for_domain(context.state.cookie_jar.clone(), url.as_str(), Some("mozillaIs=theBest"));
assert_cookie_for_domain(&context.state.cookie_jar, url.as_str(), Some("mozillaIs=theBest"));
}
#[test]
@ -626,7 +626,7 @@ fn test_cookie_set_with_httponly_should_not_be_available_using_getcookiesforurl(
let context = new_fetch_context(None);
assert_cookie_for_domain(context.state.cookie_jar.clone(), url.as_str(), None);
assert_cookie_for_domain(&context.state.cookie_jar, url.as_str(), None);
let mut request = Request::from_init(RequestInit {
url: url.clone(),
@ -644,7 +644,7 @@ fn test_cookie_set_with_httponly_should_not_be_available_using_getcookiesforurl(
assert!(response.status.unwrap().is_success());
assert_cookie_for_domain(context.state.cookie_jar.clone(), url.as_str(), Some("mozillaIs=theBest"));
assert_cookie_for_domain(&context.state.cookie_jar, url.as_str(), Some("mozillaIs=theBest"));
let mut cookie_jar = context.state.cookie_jar.write().unwrap();
assert!(cookie_jar.cookies_for_url(&url, CookieSource::NonHTTP).is_none());
}
@ -660,7 +660,7 @@ fn test_when_cookie_received_marked_secure_is_ignored_for_http() {
let context = new_fetch_context(None);
assert_cookie_for_domain(context.state.cookie_jar.clone(), url.as_str(), None);
assert_cookie_for_domain(&context.state.cookie_jar, url.as_str(), None);
let mut request = Request::from_init(RequestInit {
url: url.clone(),
@ -678,7 +678,7 @@ fn test_when_cookie_received_marked_secure_is_ignored_for_http() {
assert!(response.status.unwrap().is_success());
assert_cookie_for_domain(context.state.cookie_jar.clone(), url.as_str(), None);
assert_cookie_for_domain(&context.state.cookie_jar, url.as_str(), None);
}
#[test]

View file

@ -43,6 +43,7 @@ use net_traits::FetchTaskTarget;
use net_traits::request::Request;
use net_traits::response::Response;
use servo_url::ServoUrl;
use std::sync::Arc;
use std::sync::mpsc::{Sender, channel};
const DEFAULT_USER_AGENT: &'static str = "Such Browser. Very Layout. Wow.";
@ -55,7 +56,7 @@ fn new_fetch_context(dc: Option<Sender<DevtoolsControlMsg>>) -> FetchContext {
let ssl_client = create_ssl_client("certs");
let connector = create_http_connector(ssl_client);
FetchContext {
state: HttpState::new(),
state: Arc::new(HttpState::new()),
user_agent: DEFAULT_USER_AGENT.into(),
devtools_chan: dc,
filemanager: FileManager::new(),