Thu, 22 Jan 2015 13:21:57 +0100
Incorporate requested changes from Mozilla in review:
https://bugzilla.mozilla.org/show_bug.cgi?id=1123480#c6
1 <html>
2 <head>
3 <title>Testcase bug - Crash [@ nsSubDocumentFrame::Reflow] with testcase, using first-letter, first-line, inline-block and iframes</title>
4 </head>
5 <body>
6 <div style="width:1440px;" id="a">
7 <div>
8 <fieldset>
10 <legend style="display: inline-block;"></legend>
11 <span></span>
12 <iframe></iframe>
13 <iframe></iframe>
14 <legend style="display: list-item;">
15 <iframe></iframe>
16 </legend>
17 </fieldset>
18 </div>
19 </div>
20 <script>
21 function addfirstline(){
22 var x=document.createElementNS('http://www.w3.org/1999/xhtml','style');
23 x.innerHTML='\
24 #a *::first-letter { }\
25 #a *::first-line {}\
26 #a *::after { content:"anonymous text"; text-transform: uppercase;height: 90%;}\
27 #a *::before { content:"before text"; font-size: 10px;}\
28 ';
29 document.documentElement.appendChild(x);
30 }
31 setTimeout(addfirstline,200);
33 var j=0;
34 function replacestyles(i){
35 var x=document.getElementById('a').getElementsByTagName('*');
36 if (j>=2) return;
37 if (x[i] && x[i+1])
38 {
39 var temp = x[i+1].getAttribute('style');
40 x[i+1].setAttribute('style', x[i].getAttribute('style'));
41 x[i].setAttribute('style', temp);
42 }
43 else { i = 0;j++;}
44 i++;
45 setTimeout(replacestyles,50,i);
46 }
47 setTimeout(replacestyles,500,0);
48 </script>
49 </body>
50 </html>