| <!DOCTYPE html> |
| <html> |
| <head> |
| <meta charset="utf-8" /> |
| <title>XMLHttpRequest: worker scripts, origin and referrer</title> |
| <link rel="stylesheet" href="/resources/testharness.css" /> |
| <script src="/resources/testharness.js"></script> |
| <script src="/resources/testharnessreport.js"></script> |
| <link rel="help" href="https://xhr.spec.whatwg.org/#the-open()-method" data-tested-assertations="following::OL[1]/LI[3] following::OL[1]/LI[3]/ol[1]/li[1] following::OL[1]/LI[3]/ol[1]/li[2] following::OL[1]/LI[3]/ol[1]/li[3]" /> |
| </head> |
| <body> |
| <div id="log"></div> |
| <script type="text/javascript"> |
| var test = async_test() // This "test" does not actually do any assertations. It's just there to have multiple, separate, asyncronous sub-tests. |
| var expectations = { |
| 'Referer header': 'referer: '+(location.href.replace(/[^/]*$/, ''))+"resources/workerxhr-origin-referrer.js\n", |
| 'Origin header': 'origin: '+location.protocol+'//'+location.hostname+((location.port === "")?"":":"+location.port)+'\n', |
| 'Request URL test' : (location.href.replace(/[^/]*$/, ''))+'resources/requri.py?full' |
| } |
| // now start the worker |
| var worker = new Worker("resources/workerxhr-origin-referrer.js", true) |
| worker.onmessage = function (e) { |
| var subtest = async_test(e.data.test) |
| subtest.step(function(){ |
| var thisExpectation = expectations[e.data.test] |
| delete expectations[e.data.test] |
| assert_equals(e.data.result, thisExpectation) |
| subtest.done() |
| }) |
| var allDone = true |
| for(var prop in expectations){ |
| allDone = false |
| } |
| if(allDone){ |
| test.step(function(){ |
| test.done() |
| }) |
| } |
| } |
| |
| </script> |
| </body> |
| </html> |
| |