servo: Merge #9518 - Implemented XMLHttpRequest.responseURL (from shinglyu:responseurl); r=jdm

Resolves #8830

Source-Repo: https://github.com/servo/servo
Source-Revision: 50193e9119c567c2c511a53749ff188b9c7ec49e
This commit is contained in:
Shing Lyu 2016-03-22 23:43:57 +05:01
Родитель 4f3f5ce0e7
Коммит 4c4f671610
1 изменённых файлов: 6 добавлений и 3 удалений

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

@ -118,7 +118,7 @@ pub struct XMLHttpRequest {
timeout: Cell<u32>,
with_credentials: Cell<bool>,
upload: JS<XMLHttpRequestUpload>,
response_url: String,
response_url: DOMRefCell<String>,
status: Cell<u16>,
status_text: DOMRefCell<ByteString>,
response: DOMRefCell<ByteString>,
@ -160,7 +160,7 @@ impl XMLHttpRequest {
timeout: Cell::new(0u32),
with_credentials: Cell::new(false),
upload: JS::from_rooted(&XMLHttpRequestUpload::new(global)),
response_url: String::from(""),
response_url: DOMRefCell::new(String::from("")),
status: Cell::new(0),
status_text: DOMRefCell::new(ByteString::new(vec!())),
response: DOMRefCell::new(ByteString::new(vec!())),
@ -691,7 +691,7 @@ impl XMLHttpRequestMethods for XMLHttpRequest {
// https://xhr.spec.whatwg.org/#the-responseurl-attribute
fn ResponseURL(&self) -> USVString {
USVString(self.response_url.clone())
USVString(self.response_url.borrow().clone())
}
// https://xhr.spec.whatwg.org/#the-status-attribute
@ -876,6 +876,8 @@ impl XMLHttpRequest {
}
}
*self.response_url.borrow_mut() = metadata.final_url.serialize_no_fragment();
// XXXManishearth Clear cache entries in case of a network error
self.process_partial_response(XHRProgress::HeadersReceived(gen_id,
metadata.headers,
@ -980,6 +982,7 @@ impl XMLHttpRequest {
// Subsubsteps 5-7
self.send_flag.set(false);
self.change_ready_state(XMLHttpRequestState::Done);
return_if_fetch_was_terminated!();
// Subsubsteps 10-12