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