1941002-3.html (1479B)
1 <html class="reftest-wait"> 2 <body> 3 <script> 4 function checkEvents(test, callback) { 5 const detailsElement = document.getElementById("detailsElement"); 6 detailsElement.addEventListener("toggle", callback, { once: true }); 7 detailsElement.setAttribute("open", ""); 8 9 test(); 10 11 detailsElement.removeAttribute("open"); 12 } 13 14 const xsltString1 = ` 15 <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> 16 <xsl:include href="1941002.sjs"/> 17 <xsl:template match="/"> 18 </xsl:template> 19 </xsl:stylesheet> 20 `; 21 const xsltString2 = ` 22 <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> 23 <xsl:template match="/"> 24 </xsl:template> 25 </xsl:stylesheet> 26 `; 27 28 const parser = new DOMParser(); 29 let xsltDoc1 = parser.parseFromString(xsltString1, "application/xml"); 30 let xsltDoc2 = parser.parseFromString(xsltString2, "application/xml"); 31 32 addEventListener("load", () => { 33 let xsltProcessor = new XSLTProcessor(); 34 checkEvents(() => { 35 xsltProcessor.importStylesheet(xsltDoc1); 36 }, () => { 37 xsltProcessor.importStylesheet(xsltDoc2); 38 }); 39 40 delete xsltProcessor; 41 42 SpecialPowers.forceGC(); 43 SpecialPowers.forceCC(); 44 45 delete xsltDoc1; 46 delete xsltDoc2; 47 48 SpecialPowers.forceGC(); 49 SpecialPowers.forceCC(); 50 51 document.documentElement.classList.remove("reftest-wait"); 52 }); 53 </script> 54 <details id="detailsElement"></details> 55 </body> 56 </html>