Bug 162063. Remove pseudo-frames as needed when the frame that needs them is removed from the frame tree. r=bernd, sr=roc. Also fixes bug 97506, bug 143397, bug 156888, bug 277995, bug 293576, bug 315146, bug 338735, bug 339388, bug 407115, 473824.
2009-03-23 11:08:03 -07:00
|
|
|
<!DOCTYPE html>
|
|
|
|
<html class="reftest-wait">
|
|
|
|
<head>
|
|
|
|
<script type="text/javascript" language="javascript">
|
|
|
|
function doMore(data) {
|
|
|
|
while(data.hasChildNodes())
|
|
|
|
data.removeChild(data.firstChild);
|
|
|
|
for (var i = 0; i < 10; i++) {
|
|
|
|
append(data);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
function append(data) {
|
|
|
|
var row = document.createElement("div");
|
|
|
|
row.setAttribute("class", "row");
|
|
|
|
|
|
|
|
var cell = document.createElement("span");
|
|
|
|
cell.appendChild(document.createTextNode("More Data"));
|
2010-10-04 09:56:48 -07:00
|
|
|
cell.setAttribute("class", "cell");
|
Bug 162063. Remove pseudo-frames as needed when the frame that needs them is removed from the frame tree. r=bernd, sr=roc. Also fixes bug 97506, bug 143397, bug 156888, bug 277995, bug 293576, bug 315146, bug 338735, bug 339388, bug 407115, 473824.
2009-03-23 11:08:03 -07:00
|
|
|
row.appendChild(cell);
|
|
|
|
data.appendChild(row);
|
|
|
|
}
|
|
|
|
|
|
|
|
function doTest() {
|
|
|
|
for (var i = 0; i < 10; ++i) {
|
|
|
|
document.body.offsetWidth;
|
|
|
|
doMore(document.getElementById('data'));
|
|
|
|
}
|
|
|
|
document.documentElement.className = '';
|
|
|
|
}
|
|
|
|
</script>
|
|
|
|
<style>
|
|
|
|
.table {
|
|
|
|
display: table;
|
|
|
|
}
|
|
|
|
.row {
|
|
|
|
display: table-row;
|
|
|
|
|
|
|
|
}
|
|
|
|
.cell {
|
|
|
|
display: table-cell;
|
|
|
|
}
|
|
|
|
</style>
|
|
|
|
</head>
|
|
|
|
<body onload="doTest()">
|
|
|
|
<table>
|
|
|
|
<tr>
|
|
|
|
<td>
|
|
|
|
<div id="data" class="table">
|
|
|
|
</div>
|
|
|
|
</td>
|
|
|
|
</tr>
|
|
|
|
</table>
|
|
|
|
</body>
|
|
|
|
</html>
|