<html><head>
<title>Testcase2 bug 309322 - Evil testcase using multiple display:table-caption causes crash</title>
<style>
*[toggle_style],*[toggle_style1],*[toggle_style2],*[toggle_style3],*[toggle_style4]{
display:table-caption;
}
</style>
<script>
function doe(i){
var x=document.body.getElementsByTagName('*');
var xl=x.length;i=i+1;
x[i-1].removeAttribute('toggle_style');
if ((i)<xl) x[i].setAttribute('toggle_style','toggle_style');
if ((i+1)<xl) {x[i+1].setAttribute('toggle_style1','toggle_style');
x[i].removeAttribute('toggle_style1');
}
if ((i+2)<xl) {x[i+2].setAttribute('toggle_style2','toggle_style');
x[i+1].removeAttribute('toggle_style2');
}
if ((i+3)<xl) {x[i+3].setAttribute('toggle_style3','toggle_style');
x[i+2].removeAttribute('toggle_style3');
}
if ((i+4)<xl) {x[i+4].setAttribute('toggle_style4','toggle_style');
x[i+3].removeAttribute('toggle_style4');
}
if ((i+4)==xl) {
x[i+3].removeAttribute('toggle_style4');
}
if ((i+3)==xl) {
x[i+2].removeAttribute('toggle_style3');
}
if ((i+2)==xl) {
x[i+1].removeAttribute('toggle_style2');
}
if ((i+1)==xl) {
x[i].removeAttribute('toggle_style1');
}
setTimeout(doe,20,i);
}

function doe2(){
var x=document.links[0].cloneNode(true);
document.links[0].appendChild(x);
}
</script>
</head>
<body onload="doe(1)">
<button onclick="doe(1)">Clicking on this button should not crash Mozilla</button>
<table><tbody><tr><td> 

<span><br></span>
<a href="#">Galloway<span>Galloway</span><span>Galloway</span><span>Galloway</span><span>Galloway</span><span>Galloway</span><span>Galloway</span><span>Galloway</span><span>Galloway</span><span>Galloway</span><span>Galloway</span><span>Galloway</span><span>Galloway</span><span>Galloway</span><span>Galloway</span><span>Galloway</span><span>Galloway</span><span>Galloway</span><span>Galloway</span></a>

</td></tr></tbody></table>

</body></html>