aboutsummaryrefslogtreecommitdiffstats
path: root/components/script/dom/xmlhttprequest.rs
diff options
context:
space:
mode:
Diffstat (limited to 'components/script/dom/xmlhttprequest.rs')
-rw-r--r--components/script/dom/xmlhttprequest.rs31
1 files changed, 17 insertions, 14 deletions
diff --git a/components/script/dom/xmlhttprequest.rs b/components/script/dom/xmlhttprequest.rs
index 443a0711815..082973345c9 100644
--- a/components/script/dom/xmlhttprequest.rs
+++ b/components/script/dom/xmlhttprequest.rs
@@ -38,6 +38,7 @@ use crate::dom::xmlhttprequesteventtarget::XMLHttpRequestEventTarget;
use crate::dom::xmlhttprequestupload::XMLHttpRequestUpload;
use crate::fetch::FetchCanceller;
use crate::network_listener::{self, NetworkListener, PreInvoke, ResourceTimingListener};
+use crate::script_runtime::JSContext as SafeJSContext;
use crate::task_source::networking::NetworkingTaskSource;
use crate::task_source::TaskSourceName;
use crate::timers::{OneshotTimerCallback, OneshotTimerHandle};
@@ -877,19 +878,19 @@ impl XMLHttpRequestMethods for XMLHttpRequest {
#[allow(unsafe_code)]
// https://xhr.spec.whatwg.org/#the-response-attribute
- unsafe fn Response(&self, cx: *mut JSContext) -> JSVal {
- rooted!(in(cx) let mut rval = UndefinedValue());
+ fn Response(&self, cx: SafeJSContext) -> JSVal {
+ rooted!(in(*cx) let mut rval = UndefinedValue());
match self.response_type.get() {
- XMLHttpRequestResponseType::_empty | XMLHttpRequestResponseType::Text => {
+ XMLHttpRequestResponseType::_empty | XMLHttpRequestResponseType::Text => unsafe {
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());
+ self.text_response().to_jsval(*cx, rval.handle_mut());
} else {
// Step 1
- "".to_jsval(cx, rval.handle_mut());
+ "".to_jsval(*cx, rval.handle_mut());
}
},
// Step 1
@@ -897,18 +898,20 @@ impl XMLHttpRequestMethods for XMLHttpRequest {
return NullValue();
},
// Step 2
- XMLHttpRequestResponseType::Document => {
- self.document_response().to_jsval(cx, rval.handle_mut());
+ XMLHttpRequestResponseType::Document => unsafe {
+ self.document_response().to_jsval(*cx, rval.handle_mut());
},
- XMLHttpRequestResponseType::Json => {
- self.json_response(cx).to_jsval(cx, rval.handle_mut());
+ XMLHttpRequestResponseType::Json => unsafe {
+ self.json_response(*cx).to_jsval(*cx, rval.handle_mut());
},
- XMLHttpRequestResponseType::Blob => {
- self.blob_response().to_jsval(cx, rval.handle_mut());
+ XMLHttpRequestResponseType::Blob => unsafe {
+ self.blob_response().to_jsval(*cx, rval.handle_mut());
},
- XMLHttpRequestResponseType::Arraybuffer => match self.arraybuffer_response(cx) {
- Some(js_object) => js_object.to_jsval(cx, rval.handle_mut()),
- None => return NullValue(),
+ XMLHttpRequestResponseType::Arraybuffer => unsafe {
+ match self.arraybuffer_response(*cx) {
+ Some(js_object) => js_object.to_jsval(*cx, rval.handle_mut()),
+ None => return NullValue(),
+ }
},
}
rval.get()