4 .colContainer { -webkit-column-count: 0; }
5 .absolutePosition { position: absolute; }
6 .colSpanAll { -webkit-column-span: all; }
7 .transformed { transform: rotate(45deg); }
8 .hidden { display:none; }
9 .normal { display:block;}
13 window.onload = function() {
14 columnContainerBlock = document.createElement('div');
15 columnContainerBlock.setAttribute('class', 'colContainer');
16 document.documentElement.appendChild(columnContainerBlock);
18 splitBlockParent = document.createElement('div');
19 splitBlockParent.setAttribute('class', 'transformed');
20 columnContainerBlock.appendChild(splitBlockParent);
22 splitFlowDt = document.createElement('dt');
23 splitBlockParent.appendChild(splitFlowDt);
25 positionedDiv = document.createElement('div');
26 positionedDiv.setAttribute('class', 'absolutePosition');
27 splitBlockParent.appendChild(positionedDiv);
29 columnSpan = document.createElement('col');
30 columnSpan.setAttribute('class', 'colSpanAll');
31 splitFlowDt.appendChild(columnSpan); // Inserting the col inside the dt causes it to get split.
32 document.documentElement.offsetHeight;
34 splitFlowDt.setAttribute('class', 'hidden'); // This removes the split dt and the col from the render tree.
35 document.documentElement.offsetHeight;
37 splitFlowDt.setAttribute('class', 'normal'); // Re-adding the dt causes the flow to split again.
38 document.documentElement.offsetHeight;
40 splitBlockParent.removeChild(positionedDiv); // Remove the positioned object from the tree.
41 document.documentElement.offsetHeight;
43 splitBlockParent.removeChild(splitFlowDt); // Ensure the node with the bad positioned object list gets layout.
45 if (window.testRunner)
46 testRunner.dumpAsText();
50 PASS if no assert or crash in debug