blob: ab10a078f3d67a8c213b8511b8ff5ffcde92375b [file] [log] [blame]
<script src="/common/get-host-info.sub.js"></script>
<script src="test-helpers.sub.js?pipe=sub"></script>
<script>
var host_info = get_host_info();
function boilerplate_test(url, msg) {
return new Promise(function(resolve, reject) {
var worker = new Worker(url);
worker.onmessage = function(e) { resolve(e.data) };
worker.onerror = function(e) { reject(e) };
worker.postMessage(msg);
})
.then(function(data) {
window.parent.postMessage({results: data}, host_info['HTTPS_ORIGIN']);
});
}
function xhr_test() {
return boilerplate_test("load_worker.js", "xhr");
}
function fetch_test() {
return boilerplate_test("load_worker.js", "fetch");
}
function importScripts_test() {
return boilerplate_test("load_worker.js", "importScripts");
}
function nested_worker_xhr_test() {
return boilerplate_test("nested_load_worker.js", "xhr");
}
function nested_worker_fetch_test() {
return boilerplate_test("nested_load_worker.js", "fetch");
}
function nested_worker_importScripts_test() {
return boilerplate_test("nested_load_worker.js", "importScripts");
}
window.addEventListener('message', function(evt) {
var port = evt.ports[0];
xhr_test()
.then(fetch_test)
.then(importScripts_test)
.then(nested_worker_xhr_test)
.then(nested_worker_fetch_test)
.then(nested_worker_importScripts_test)
.then(function() { port.postMessage({results: 'finish'}); })
.catch(function(e) { port.postMessage({results: 'failure:' + e}); });
});
</script>