471360.html (1388B)
1 <html> 2 <head> 3 <script type="text/javascript"> 4 5 var ta, f, tb, s, tc; 6 var i = 0; 7 8 // This test loops repeatedly through its "boom" functions. We place an upper 9 // bound on how many loops we'll allow, in case the repeated mutations/paints 10 // block the test harness from considering the test to be done. 11 var loopCount = 0; 12 const maxLoopCount = 20; 13 14 function boom1() 15 { 16 var r = document.body; 17 while(r.firstChild) 18 r.removeChild(r.firstChild); 19 20 ta = document.createTextNode("A \u06cc"); 21 (document.body).appendChild(ta); 22 f = document.createElement("IFRAME"); 23 f.style.height = "15em"; 24 f.src = "data:text/html," + "Iteration " + ++i; 25 (document.body).appendChild(f); 26 tb = document.createTextNode(" B "); 27 (document.body).appendChild(tb); 28 s = document.createElement("span"); 29 s.id = "s"; 30 tc = document.createTextNode(" C "); 31 (document.body).appendChild(s); 32 s.appendChild(tc); 33 34 setTimeout(boom2, 10); 35 } 36 37 function boom2() 38 { 39 var w = document.createElement("style"); 40 w.setAttribute("type", "text/css"); 41 w.appendChild(document.createTextNode("body { column-gap: 1px; column-width: 1px; }")); 42 document.body.appendChild(w); 43 44 setTimeout(boom3, 10); 45 } 46 47 function boom3() 48 { 49 ta.data = " E " + ta.data; 50 document.body.removeChild(s); 51 52 if (++loopCount < maxLoopCount) { 53 setTimeout(boom1, 10); 54 } 55 } 56 57 </script> 58 </head> 59 60 <body onload="boom1();"></body> 61 </html>