mirror of
https://github.com/servo/servo.git
synced 2025-08-03 04:30:10 +01:00
Auto merge of #8428 - Ms2ger:conversions, r=Manishearth
Update js. <!-- Reviewable:start --> [<img src="https://reviewable.io/review_button.png" height=40 alt="Review on Reviewable"/>](https://reviewable.io/reviews/servo/servo/8428) <!-- Reviewable:end -->
This commit is contained in:
commit
b40882093a
20 changed files with 309 additions and 736 deletions
|
@ -684,23 +684,23 @@ impl XMLHttpRequestMethods for XMLHttpRequest {
|
|||
#[allow(unsafe_code)]
|
||||
// https://xhr.spec.whatwg.org/#the-response-attribute
|
||||
fn Response(&self, cx: *mut JSContext) -> JSVal {
|
||||
let mut rval = RootedValue::new(cx, UndefinedValue());
|
||||
match self.response_type.get() {
|
||||
_empty | Text => {
|
||||
let ready_state = self.ready_state.get();
|
||||
if ready_state == XMLHttpRequestState::Done || ready_state == XMLHttpRequestState::Loading {
|
||||
self.text_response().to_jsval(cx, rval.handle_mut());
|
||||
} else {
|
||||
"".to_jsval(cx, rval.handle_mut());
|
||||
}
|
||||
},
|
||||
_ if self.ready_state.get() != XMLHttpRequestState::Done => {
|
||||
return NullValue()
|
||||
},
|
||||
Json => {
|
||||
let decoded = UTF_8.decode(&self.response.borrow(), DecoderTrap::Replace).unwrap().to_owned();
|
||||
let decoded: Vec<u16> = decoded.utf16_units().collect();
|
||||
unsafe {
|
||||
unsafe {
|
||||
let mut rval = RootedValue::new(cx, UndefinedValue());
|
||||
match self.response_type.get() {
|
||||
_empty | Text => {
|
||||
let ready_state = self.ready_state.get();
|
||||
if ready_state == XMLHttpRequestState::Done || ready_state == XMLHttpRequestState::Loading {
|
||||
self.text_response().to_jsval(cx, rval.handle_mut());
|
||||
} else {
|
||||
"".to_jsval(cx, rval.handle_mut());
|
||||
}
|
||||
},
|
||||
_ if self.ready_state.get() != XMLHttpRequestState::Done => {
|
||||
return NullValue()
|
||||
},
|
||||
Json => {
|
||||
let decoded = UTF_8.decode(&self.response.borrow(), DecoderTrap::Replace).unwrap().to_owned();
|
||||
let decoded: Vec<u16> = decoded.utf16_units().collect();
|
||||
if !JS_ParseJSON(cx,
|
||||
decoded.as_ptr(),
|
||||
decoded.len() as u32,
|
||||
|
@ -709,13 +709,13 @@ impl XMLHttpRequestMethods for XMLHttpRequest {
|
|||
return NullValue();
|
||||
}
|
||||
}
|
||||
_ => {
|
||||
// XXXManishearth handle other response types
|
||||
self.response.borrow().to_jsval(cx, rval.handle_mut());
|
||||
}
|
||||
}
|
||||
_ => {
|
||||
// XXXManishearth handle other response types
|
||||
self.response.borrow().to_jsval(cx, rval.handle_mut());
|
||||
}
|
||||
rval.ptr
|
||||
}
|
||||
rval.ptr
|
||||
}
|
||||
|
||||
// https://xhr.spec.whatwg.org/#the-responsetext-attribute
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue