mirror of
https://github.com/servo/servo.git
synced 2025-08-04 13:10:20 +01:00
Check for worker scope in responseText setter
This commit is contained in:
parent
ca96821902
commit
cf7e9c1a3b
1 changed files with 6 additions and 4 deletions
|
@ -5,12 +5,12 @@
|
||||||
use dom::bindings::codegen::Bindings::EventHandlerBinding::EventHandlerNonNull;
|
use dom::bindings::codegen::Bindings::EventHandlerBinding::EventHandlerNonNull;
|
||||||
use dom::bindings::codegen::Bindings::XMLHttpRequestBinding;
|
use dom::bindings::codegen::Bindings::XMLHttpRequestBinding;
|
||||||
use dom::bindings::codegen::Bindings::XMLHttpRequestBinding::XMLHttpRequestResponseType;
|
use dom::bindings::codegen::Bindings::XMLHttpRequestBinding::XMLHttpRequestResponseType;
|
||||||
use dom::bindings::codegen::Bindings::XMLHttpRequestBinding::XMLHttpRequestResponseTypeValues::{_empty, Json, Text};
|
use dom::bindings::codegen::Bindings::XMLHttpRequestBinding::XMLHttpRequestResponseTypeValues::{_empty, Document, Json, Text};
|
||||||
use dom::bindings::codegen::InheritTypes::{EventCast, EventTargetCast, XMLHttpRequestDerived};
|
use dom::bindings::codegen::InheritTypes::{EventCast, EventTargetCast, XMLHttpRequestDerived};
|
||||||
use dom::bindings::conversions::ToJSValConvertible;
|
use dom::bindings::conversions::ToJSValConvertible;
|
||||||
use dom::bindings::error::{Error, ErrorResult, Fallible, InvalidState, InvalidAccess};
|
use dom::bindings::error::{Error, ErrorResult, Fallible, InvalidState, InvalidAccess};
|
||||||
use dom::bindings::error::{Network, Syntax, Security, Abort, Timeout};
|
use dom::bindings::error::{Network, Syntax, Security, Abort, Timeout};
|
||||||
use dom::bindings::global::{GlobalField, GlobalRef};
|
use dom::bindings::global::{GlobalField, GlobalRef, WorkerField};
|
||||||
use dom::bindings::js::{JS, JSRef, Temporary, OptionalRootedRootable};
|
use dom::bindings::js::{JS, JSRef, Temporary, OptionalRootedRootable};
|
||||||
use dom::bindings::str::ByteString;
|
use dom::bindings::str::ByteString;
|
||||||
use dom::bindings::trace::{Traceable, Untraceable};
|
use dom::bindings::trace::{Traceable, Untraceable};
|
||||||
|
@ -592,8 +592,10 @@ impl<'a> XMLHttpRequestMethods<'a> for JSRef<'a, XMLHttpRequest> {
|
||||||
self.response_type.deref().get()
|
self.response_type.deref().get()
|
||||||
}
|
}
|
||||||
fn SetResponseType(&self, response_type: XMLHttpRequestResponseType) -> ErrorResult {
|
fn SetResponseType(&self, response_type: XMLHttpRequestResponseType) -> ErrorResult {
|
||||||
// FIXME: When Workers are implemented, there should be
|
match self.global {
|
||||||
// an additional check that this is a document environment
|
WorkerField(_) if response_type == Document => return Ok(()),
|
||||||
|
_ => {}
|
||||||
|
}
|
||||||
match self.ready_state.deref().get() {
|
match self.ready_state.deref().get() {
|
||||||
Loading | XHRDone => Err(InvalidState),
|
Loading | XHRDone => Err(InvalidState),
|
||||||
_ if self.sync.deref().get() => Err(InvalidAccess),
|
_ if self.sync.deref().get() => Err(InvalidAccess),
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue