mirror of
https://github.com/servo/servo.git
synced 2025-07-24 15:50:21 +01:00
Allow setting withCredentials in synchronous XMLHttpRequest
closes #10839
This commit is contained in:
parent
09b2efc706
commit
f56bd3a6f3
4 changed files with 3 additions and 24 deletions
|
@ -369,8 +369,7 @@ impl XMLHttpRequestMethods for XMLHttpRequest {
|
||||||
// Step 10
|
// Step 10
|
||||||
if !async {
|
if !async {
|
||||||
// FIXME: This should only happen if the global environment is a document environment
|
// FIXME: This should only happen if the global environment is a document environment
|
||||||
if self.timeout.get() != 0 || self.with_credentials.get() ||
|
if self.timeout.get() != 0 || self.response_type.get() != XMLHttpRequestResponseType::_empty {
|
||||||
self.response_type.get() != XMLHttpRequestResponseType::_empty {
|
|
||||||
return Err(Error::InvalidAccess)
|
return Err(Error::InvalidAccess)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -507,8 +506,6 @@ impl XMLHttpRequestMethods for XMLHttpRequest {
|
||||||
// Step 2
|
// Step 2
|
||||||
_ if self.send_flag.get() => Err(Error::InvalidState),
|
_ if self.send_flag.get() => Err(Error::InvalidState),
|
||||||
// Step 3
|
// Step 3
|
||||||
_ if self.sync_in_window() => Err(Error::InvalidAccess),
|
|
||||||
// Step 4
|
|
||||||
_ => {
|
_ => {
|
||||||
self.with_credentials.set(with_credentials);
|
self.with_credentials.set(with_credentials);
|
||||||
Ok(())
|
Ok(())
|
||||||
|
|
|
@ -1,5 +0,0 @@
|
||||||
[send-authentication-basic-cors-not-enabled.htm]
|
|
||||||
type: testharness
|
|
||||||
[XMLHttpRequest: send() - "Basic" authenticated CORS requests with user name and password passed to open() (asserts failure)]
|
|
||||||
expected: FAIL
|
|
||||||
|
|
|
@ -16,15 +16,8 @@ function test_withCredentials(worker) {
|
||||||
test(function() {
|
test(function() {
|
||||||
var client = new XMLHttpRequest()
|
var client = new XMLHttpRequest()
|
||||||
client.open("GET", "resources/delay.py?ms=1000", false)
|
client.open("GET", "resources/delay.py?ms=1000", false)
|
||||||
if (worker) {
|
client.withCredentials = true
|
||||||
client.withCredentials = true
|
assert_true(client.withCredentials, "set in OPEN state")
|
||||||
assert_true(client.withCredentials, "set in OPEN state")
|
|
||||||
} else {
|
|
||||||
assert_throws("InvalidAccessError", function() {
|
|
||||||
client.withCredentials = true
|
|
||||||
})
|
|
||||||
assert_false(client.withCredentials, "set in OPEN state")
|
|
||||||
}
|
|
||||||
}, "setting on synchronous XHR")
|
}, "setting on synchronous XHR")
|
||||||
|
|
||||||
async_test(function() {
|
async_test(function() {
|
||||||
|
|
|
@ -17,12 +17,6 @@ var url = CROSSDOMAIN + 'resources/cors-cookie.py?ident='
|
||||||
* widthCredentials
|
* widthCredentials
|
||||||
*/
|
*/
|
||||||
// XXX Do some https tests here as well
|
// XXX Do some https tests here as well
|
||||||
test(function () {
|
|
||||||
var client = new XMLHttpRequest()
|
|
||||||
client.open('GET', CROSSDOMAIN, false)
|
|
||||||
assert_throws(null, function() { client.withCredentials = true; }, 'setting withCredentials')
|
|
||||||
}, 'Setting withCredentials on a sync XHR object should throw')
|
|
||||||
|
|
||||||
async_test(function () {
|
async_test(function () {
|
||||||
var id = new Date().getTime() + '_1',
|
var id = new Date().getTime() + '_1',
|
||||||
client = new XMLHttpRequest()
|
client = new XMLHttpRequest()
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue