mirror of
https://github.com/servo/servo.git
synced 2025-08-04 21:20:23 +01:00
Used rust-url directly instead of servo_util::url
The latter now only calls the former.
This commit is contained in:
parent
779cb44a44
commit
6917fbf28e
13 changed files with 78 additions and 71 deletions
|
@ -46,7 +46,6 @@ use net::resource_task::{ResourceTask, Load, LoadData, Payload, Done};
|
|||
use script_task::{ScriptChan, XHRProgressMsg};
|
||||
use servo_util::str::DOMString;
|
||||
use servo_util::task::spawn_named;
|
||||
use servo_util::url::{parse_url, try_parse_url};
|
||||
|
||||
use std::ascii::StrAsciiExt;
|
||||
use std::cell::{Cell, RefCell};
|
||||
|
@ -56,7 +55,7 @@ use std::from_str::FromStr;
|
|||
use std::path::BytesContainer;
|
||||
use std::task::TaskBuilder;
|
||||
use time;
|
||||
use url::Url;
|
||||
use url::{Url, UrlParser};
|
||||
|
||||
use dom::bindings::codegen::UnionTypes::StringOrURLSearchParams::{eString, eURLSearchParams, StringOrURLSearchParams};
|
||||
pub type SendParam = StringOrURLSearchParams;
|
||||
|
@ -113,7 +112,7 @@ pub struct XMLHttpRequest {
|
|||
|
||||
// Associated concepts
|
||||
request_method: Untraceable<RefCell<Method>>,
|
||||
request_url: Untraceable<RefCell<Url>>,
|
||||
request_url: Untraceable<RefCell<Option<Url>>>,
|
||||
request_headers: Untraceable<RefCell<RequestHeaderCollection>>,
|
||||
request_body_len: Traceable<Cell<uint>>,
|
||||
sync: Traceable<Cell<bool>>,
|
||||
|
@ -146,7 +145,7 @@ impl XMLHttpRequest {
|
|||
response_headers: Untraceable::new(RefCell::new(ResponseHeaderCollection::new())),
|
||||
|
||||
request_method: Untraceable::new(RefCell::new(Get)),
|
||||
request_url: Untraceable::new(RefCell::new(parse_url("", None))),
|
||||
request_url: Untraceable::new(RefCell::new(None)),
|
||||
request_headers: Untraceable::new(RefCell::new(RequestHeaderCollection::new())),
|
||||
request_body_len: Traceable::new(Cell::new(0)),
|
||||
sync: Traceable::new(Cell::new(false)),
|
||||
|
@ -293,7 +292,6 @@ impl<'a> XMLHttpRequestMethods<'a> for JSRef<'a, XMLHttpRequest> {
|
|||
Method::from_str_or_new(s.as_slice())
|
||||
});
|
||||
// Step 2
|
||||
let base: Option<Url> = Some(self.global.root().root_ref().get_url());
|
||||
match maybe_method {
|
||||
// Step 4
|
||||
Some(Connect) | Some(Trace) => Err(Security),
|
||||
|
@ -303,7 +301,8 @@ impl<'a> XMLHttpRequestMethods<'a> for JSRef<'a, XMLHttpRequest> {
|
|||
*self.request_method.deref().borrow_mut() = maybe_method.unwrap();
|
||||
|
||||
// Step 6
|
||||
let parsed_url = match try_parse_url(url.as_slice(), base) {
|
||||
let base = self.global.root().root_ref().get_url();
|
||||
let parsed_url = match UrlParser::new().base_url(&base).parse(url.as_slice()) {
|
||||
Ok(parsed) => parsed,
|
||||
Err(_) => return Err(Syntax) // Step 7
|
||||
};
|
||||
|
@ -316,7 +315,7 @@ impl<'a> XMLHttpRequestMethods<'a> for JSRef<'a, XMLHttpRequest> {
|
|||
}
|
||||
// XXXManishearth abort existing requests
|
||||
// Step 12
|
||||
*self.request_url.deref().borrow_mut() = parsed_url;
|
||||
*self.request_url.deref().borrow_mut() = Some(parsed_url);
|
||||
*self.request_headers.deref().borrow_mut() = RequestHeaderCollection::new();
|
||||
self.send_flag.deref().set(false);
|
||||
*self.status_text.deref().borrow_mut() = ByteString::new(vec!());
|
||||
|
@ -487,7 +486,7 @@ impl<'a> XMLHttpRequestMethods<'a> for JSRef<'a, XMLHttpRequest> {
|
|||
|
||||
let global = self.global.root();
|
||||
let resource_task = global.root_ref().resource_task();
|
||||
let mut load_data = LoadData::new(self.request_url.deref().borrow().clone());
|
||||
let mut load_data = LoadData::new(self.request_url.deref().borrow().clone().unwrap());
|
||||
load_data.data = extracted;
|
||||
|
||||
// Default headers
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue