mirror of
https://github.com/mozilla/gecko-dev.git
synced 2024-10-27 12:15:33 +00:00
dda86cd70e
--HG-- extra : rebase_source : d635a4f39c587d4d381b486dd63de747865b77a2
65 lines
2.2 KiB
HTML
65 lines
2.2 KiB
HTML
<!DOCTYPE html>
|
|
<html>
|
|
<head>
|
|
<meta charset=utf-8>
|
|
<title>EventSource: cross-origin</title>
|
|
<meta name=author title="Odin Hørthe Omdal" href="mailto:odiho@opera.com">
|
|
<script src="/resources/testharness.js"></script>
|
|
<script src="/resources/testharnessreport.js"></script>
|
|
</head>
|
|
<body>
|
|
<div id="log"></div>
|
|
<script>
|
|
var crossdomain = location.href
|
|
.replace('://', '://www2.')
|
|
.replace(/\/[^\/]*$/, '/')
|
|
|
|
function doCORS(url, title) {
|
|
async_test(document.title + " " + title).step(function() {
|
|
var source = new EventSource(url, { withCredentials: true })
|
|
source.onmessage = this.step_func(function(e) {
|
|
assert_equals(e.data, "data")
|
|
source.close()
|
|
this.done()
|
|
})
|
|
})
|
|
}
|
|
|
|
doCORS(crossdomain + "resources/cors.py?run=message",
|
|
"basic use")
|
|
doCORS(crossdomain + "resources/cors.py?run=redirect&location=/eventsource/resources/cors.py?run=message",
|
|
"redirect use")
|
|
doCORS(crossdomain + "resources/cors.py?run=status-reconnect&status=200",
|
|
"redirect use recon")
|
|
|
|
function failCORS(url, title) {
|
|
async_test(document.title + " " + title).step(function() {
|
|
var source = new EventSource(url)
|
|
source.onerror = this.step_func(function(e) {
|
|
assert_equals(source.readyState, source.CLOSED, 'readyState')
|
|
assert_false(e.hasOwnProperty('data'))
|
|
source.close()
|
|
this.done()
|
|
})
|
|
|
|
/* Shouldn't happen */
|
|
source.onmessage = this.step_func(function(e) {
|
|
assert_unreached("shouldn't fire message event")
|
|
})
|
|
source.onopen = this.step_func(function(e) {
|
|
assert_unreached("shouldn't fire open event")
|
|
})
|
|
})
|
|
}
|
|
|
|
failCORS(crossdomain + "resources/cors.py?run=message&origin=http://example.org",
|
|
"allow-origin: http://example.org should fail")
|
|
failCORS(crossdomain + "resources/cors.py?run=message&origin=",
|
|
"allow-origin:'' should fail")
|
|
failCORS(crossdomain + "resources/message.py",
|
|
"No allow-origin should fail")
|
|
</script>
|
|
</body>
|
|
</html>
|
|
|