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