xslt_worker.js (1560B)
1 var testType = "synthetic"; 2 3 var xslt = 4 '<?xml version="1.0"?> ' + 5 '<xsl:stylesheet version="1.0"' + 6 ' xmlns:xsl="http://www.w3.org/1999/XSL/Transform">' + 7 ' <xsl:template match="node()|@*">' + 8 " <xsl:copy>" + 9 ' <xsl:apply-templates select="node()|@*"/>' + 10 " </xsl:copy>" + 11 " </xsl:template>" + 12 ' <xsl:template match="Error"/>' + 13 "</xsl:stylesheet>"; 14 15 onfetch = function (event) { 16 if (event.request.url.includes("test.xsl")) { 17 if (testType == "synthetic") { 18 if (event.request.mode != "cors") { 19 event.respondWith(Response.error()); 20 return; 21 } 22 23 event.respondWith( 24 Promise.resolve( 25 new Response(xslt, { 26 headers: { "Content-Type": "application/xslt+xml" }, 27 }) 28 ) 29 ); 30 } else if (testType == "cors") { 31 if (event.request.mode != "cors") { 32 event.respondWith(Response.error()); 33 return; 34 } 35 36 var url = 37 "http://example.com/tests/dom/serviceworkers/test/xslt/xslt.sjs?" + 38 escape(xslt); 39 event.respondWith(fetch(url, { mode: "cors" })); 40 } else if (testType == "opaque") { 41 if (event.request.mode != "cors") { 42 event.respondWith(Response.error()); 43 return; 44 } 45 46 var url = 47 "http://example.com/tests/dom/serviceworkers/test/xslt/xslt.sjs?" + 48 escape(xslt); 49 event.respondWith(fetch(url, { mode: "no-cors" })); 50 } else { 51 event.respondWith(Response.error()); 52 } 53 } 54 }; 55 56 onmessage = function (event) { 57 testType = event.data; 58 };