servo: Merge #9294 - Change all DOMStrings to USV strings for XHR (from KiChjang:xhr-usvstring); r=nox

This is in compliance with the new spec [here](https://xhr.spec.whatwg.org/#xmlhttprequest).

Source-Repo: https://github.com/servo/servo
Source-Revision: 7ae16c7ea3934dcc7dbc90957aca415a22674fa8
This commit is contained in:
Keith Yeung 2016-01-17 19:11:46 +05:01
Родитель 133c9544d2
Коммит a3e0520252
2 изменённых файлов: 19 добавлений и 20 удалений

Просмотреть файл

@ -37,16 +37,15 @@ interface XMLHttpRequest : XMLHttpRequestEventTarget {
const unsigned short HEADERS_RECEIVED = 2;
const unsigned short LOADING = 3;
const unsigned short DONE = 4;
readonly attribute unsigned short readyState;
// request
[Throws]
void open(ByteString method, /* [EnsureUTF16] */ DOMString url);
void open(ByteString method, USVString url);
[Throws]
void open(ByteString method, /* [EnsureUTF16] */ DOMString url, boolean async,
optional /* [EnsureUTF16] */ DOMString? username = null,
optional /* [EnsureUTF16] */ DOMString? password = null);
void open(ByteString method, USVString url, boolean async,
optional USVString? username = null,
optional USVString? password = null);
[Throws]
void setRequestHeader(ByteString name, ByteString value);
@ -60,7 +59,7 @@ interface XMLHttpRequest : XMLHttpRequestEventTarget {
void abort();
// response
readonly attribute DOMString responseURL;
readonly attribute USVString responseURL;
readonly attribute unsigned short status;
readonly attribute ByteString statusText;
ByteString? getResponseHeader(ByteString name);
@ -71,7 +70,7 @@ interface XMLHttpRequest : XMLHttpRequestEventTarget {
attribute XMLHttpRequestResponseType responseType;
readonly attribute any response;
[Throws]
readonly attribute DOMString responseText;
readonly attribute USVString responseText;
[Throws]
/*[Exposed=Window]*/ readonly attribute Document? responseXML;
};

Просмотреть файл

@ -22,7 +22,7 @@ use dom::bindings::js::{JS, MutNullableHeap};
use dom::bindings::js::{Root, RootedReference};
use dom::bindings::refcounted::Trusted;
use dom::bindings::reflector::{Reflectable, reflect_dom_object};
use dom::bindings::str::ByteString;
use dom::bindings::str::{ByteString, USVString};
use dom::document::DocumentSource;
use dom::document::{Document, IsHTMLDocument};
use dom::event::{Event, EventBubbles, EventCancelable};
@ -118,7 +118,7 @@ pub struct XMLHttpRequest {
timeout: Cell<u32>,
with_credentials: Cell<bool>,
upload: JS<XMLHttpRequestUpload>,
response_url: DOMString,
response_url: String,
status: Cell<u16>,
status_text: DOMRefCell<ByteString>,
response: DOMRefCell<ByteString>,
@ -155,7 +155,7 @@ impl XMLHttpRequest {
timeout: Cell::new(0u32),
with_credentials: Cell::new(false),
upload: JS::from_rooted(&XMLHttpRequestUpload::new(global)),
response_url: DOMString::new(),
response_url: String::from(""),
status: Cell::new(0),
status_text: DOMRefCell::new(ByteString::new(vec!())),
response: DOMRefCell::new(ByteString::new(vec!())),
@ -293,7 +293,7 @@ impl XMLHttpRequestMethods for XMLHttpRequest {
}
// https://xhr.spec.whatwg.org/#the-open()-method
fn Open(&self, method: ByteString, url: DOMString) -> ErrorResult {
fn Open(&self, method: ByteString, url: USVString) -> ErrorResult {
//FIXME(seanmonstar): use a Trie instead?
let maybe_method = method.as_str().and_then(|s| {
// Note: hyper tests against the uppercase versions
@ -324,7 +324,7 @@ impl XMLHttpRequestMethods for XMLHttpRequest {
// Step 6
let base = self.global().r().get_url();
let parsed_url = match base.join(&url) {
let parsed_url = match base.join(&url.0) {
Ok(parsed) => parsed,
Err(_) => return Err(Error::Syntax) // Step 7
};
@ -358,8 +358,8 @@ impl XMLHttpRequestMethods for XMLHttpRequest {
}
// https://xhr.spec.whatwg.org/#the-open()-method
fn Open_(&self, method: ByteString, url: DOMString, async: bool,
_username: Option<DOMString>, _password: Option<DOMString>) -> ErrorResult {
fn Open_(&self, method: ByteString, url: USVString, async: bool,
_username: Option<USVString>, _password: Option<USVString>) -> ErrorResult {
self.sync.set(!async);
self.Open(method, url)
}
@ -634,8 +634,8 @@ impl XMLHttpRequestMethods for XMLHttpRequest {
}
// https://xhr.spec.whatwg.org/#the-responseurl-attribute
fn ResponseURL(&self) -> DOMString {
self.response_url.clone()
fn ResponseURL(&self) -> USVString {
USVString(self.response_url.clone())
}
// https://xhr.spec.whatwg.org/#the-status-attribute
@ -745,13 +745,13 @@ impl XMLHttpRequestMethods for XMLHttpRequest {
}
// https://xhr.spec.whatwg.org/#the-responsetext-attribute
fn GetResponseText(&self) -> Fallible<DOMString> {
fn GetResponseText(&self) -> Fallible<USVString> {
match self.response_type.get() {
_empty | Text => {
Ok(DOMString::from(match self.ready_state.get() {
Ok(USVString(String::from(match self.ready_state.get() {
XMLHttpRequestState::Loading | XMLHttpRequestState::Done => self.text_response(),
_ => "".to_owned()
}))
})))
},
_ => Err(Error::InvalidState)
}
@ -1110,7 +1110,7 @@ impl XMLHttpRequest {
let doc = doc.r();
let docloader = DocumentLoader::new(&*doc.loader());
let base = self.global().r().get_url();
let parsed_url = match base.join(&self.ResponseURL()) {
let parsed_url = match base.join(&self.ResponseURL().0) {
Ok(parsed) => Some(parsed),
Err(_) => None // Step 7
};