Allow setting withCredentials in synchronous XMLHttpRequest

closes #10839
This commit is contained in:
Ramana Venkata 2016-04-26 13:41:36 +05:30
parent 09b2efc706
commit f56bd3a6f3
4 changed files with 3 additions and 24 deletions

View file

@ -369,8 +369,7 @@ impl XMLHttpRequestMethods for XMLHttpRequest {
// Step 10
if !async {
// FIXME: This should only happen if the global environment is a document environment
if self.timeout.get() != 0 || self.with_credentials.get() ||
self.response_type.get() != XMLHttpRequestResponseType::_empty {
if self.timeout.get() != 0 || self.response_type.get() != XMLHttpRequestResponseType::_empty {
return Err(Error::InvalidAccess)
}
}
@ -507,8 +506,6 @@ impl XMLHttpRequestMethods for XMLHttpRequest {
// Step 2
_ if self.send_flag.get() => Err(Error::InvalidState),
// Step 3
_ if self.sync_in_window() => Err(Error::InvalidAccess),
// Step 4
_ => {
self.with_credentials.set(with_credentials);
Ok(())

View file

@ -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

View file

@ -16,15 +16,8 @@ function test_withCredentials(worker) {
test(function() {
var client = new XMLHttpRequest()
client.open("GET", "resources/delay.py?ms=1000", false)
if (worker) {
client.withCredentials = true
assert_true(client.withCredentials, "set in OPEN state")
} else {
assert_throws("InvalidAccessError", function() {
client.withCredentials = true
})
assert_false(client.withCredentials, "set in OPEN state")
}
client.withCredentials = true
assert_true(client.withCredentials, "set in OPEN state")
}, "setting on synchronous XHR")
async_test(function() {

View file

@ -17,12 +17,6 @@ var url = CROSSDOMAIN + 'resources/cors-cookie.py?ident='
* widthCredentials
*/
// 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 () {
var id = new Date().getTime() + '_1',
client = new XMLHttpRequest()