var testType = 'synthetic'; var xslt = " " + "" + " " + " " + " " + " " + " " + " " + ""; onfetch = function(event) { if (event.request.url.includes('test.xsl')) { if (testType == 'synthetic') { if (event.request.mode != 'cors') { event.respondWith(Response.error()); return; } event.respondWith(Promise.resolve( new Response(xslt, { headers: {'Content-Type': 'application/xslt+xml'}}) )); } else if (testType == 'cors') { if (event.request.mode != 'cors') { event.respondWith(Response.error()); return; } var url = "http://example.com/tests/dom/workers/test/serviceworkers/xslt/xslt.sjs?" + escape(xslt); event.respondWith(fetch(url, { mode: 'cors' })); } else if (testType == 'opaque') { if (event.request.mode != 'cors') { event.respondWith(Response.error()); return; } var url = "http://example.com/tests/dom/workers/test/serviceworkers/xslt/xslt.sjs?" + escape(xslt); event.respondWith(fetch(url, { mode: 'no-cors' })); } else { event.respondWith(Response.error()); } } }; onmessage = function(event) { testType = event.data; };