diff options
author | Abelardo E. Mendoza <abelardo22.9@gmail.com> | 2016-06-03 12:11:35 -0600 |
---|---|---|
committer | Florent FAYOLLE <florent.fayolle69@gmail.com> | 2016-11-14 11:06:17 +0100 |
commit | b372e7c98f4148eda720faf343547404e4fd8d61 (patch) | |
tree | ac3a2a1f0c476f8ad7608c5ecb3387d138fb352a /components/script/dom/xmlhttprequest.rs | |
parent | 9fd6f0acd50343f5c9bf3be28d9e0a6d5abf40d6 (diff) | |
download | servo-b372e7c98f4148eda720faf343547404e4fd8d61.tar.gz servo-b372e7c98f4148eda720faf343547404e4fd8d61.zip |
script creates methods taking '*mut JSContext' unsafe
rebase + marked the necessary new code as unsafe
Diffstat (limited to 'components/script/dom/xmlhttprequest.rs')
-rw-r--r-- | components/script/dom/xmlhttprequest.rs | 70 |
1 files changed, 34 insertions, 36 deletions
diff --git a/components/script/dom/xmlhttprequest.rs b/components/script/dom/xmlhttprequest.rs index c07f445a27b..4dc1b644cd6 100644 --- a/components/script/dom/xmlhttprequest.rs +++ b/components/script/dom/xmlhttprequest.rs @@ -761,47 +761,45 @@ impl XMLHttpRequestMethods for XMLHttpRequest { #[allow(unsafe_code)] // https://xhr.spec.whatwg.org/#the-response-attribute - fn Response(&self, cx: *mut JSContext) -> JSVal { - unsafe { - rooted!(in(cx) let mut rval = UndefinedValue()); - match self.response_type.get() { - XMLHttpRequestResponseType::_empty | XMLHttpRequestResponseType::Text => { - let ready_state = self.ready_state.get(); - // Step 2 - if ready_state == XMLHttpRequestState::Done || ready_state == XMLHttpRequestState::Loading { - self.text_response().to_jsval(cx, rval.handle_mut()); - } else { - // Step 1 - "".to_jsval(cx, rval.handle_mut()); - } - }, + unsafe fn Response(&self, cx: *mut JSContext) -> JSVal { + rooted!(in(cx) let mut rval = UndefinedValue()); + match self.response_type.get() { + XMLHttpRequestResponseType::_empty | XMLHttpRequestResponseType::Text => { + let ready_state = self.ready_state.get(); + // Step 2 + if ready_state == XMLHttpRequestState::Done || ready_state == XMLHttpRequestState::Loading { + self.text_response().to_jsval(cx, rval.handle_mut()); + } else { // Step 1 - _ if self.ready_state.get() != XMLHttpRequestState::Done => { + "".to_jsval(cx, rval.handle_mut()); + } + }, + // Step 1 + _ if self.ready_state.get() != XMLHttpRequestState::Done => { + return NullValue(); + }, + // Step 2 + XMLHttpRequestResponseType::Document => { + let op_doc = self.document_response(); + if let Some(doc) = op_doc { + doc.to_jsval(cx, rval.handle_mut()); + } else { + // Substep 1 return NullValue(); - }, - // Step 2 - XMLHttpRequestResponseType::Document => { - let op_doc = self.document_response(); - if let Some(doc) = op_doc { - doc.to_jsval(cx, rval.handle_mut()); - } else { - // Substep 1 - return NullValue(); - } - }, - XMLHttpRequestResponseType::Json => { - self.json_response(cx).to_jsval(cx, rval.handle_mut()); - }, - XMLHttpRequestResponseType::Blob => { - self.blob_response().to_jsval(cx, rval.handle_mut()); - }, - _ => { - // XXXManishearth handle other response types - self.response.borrow().to_jsval(cx, rval.handle_mut()); } + }, + XMLHttpRequestResponseType::Json => { + self.json_response(cx).to_jsval(cx, rval.handle_mut()); + }, + XMLHttpRequestResponseType::Blob => { + self.blob_response().to_jsval(cx, rval.handle_mut()); + }, + _ => { + // XXXManishearth handle other response types + self.response.borrow().to_jsval(cx, rval.handle_mut()); } - rval.get() } + rval.get() } // https://xhr.spec.whatwg.org/#the-responsetext-attribute |