Merge Chromium + Blink git repositories
[chromium-blink-merge.git] / third_party / WebKit / LayoutTests / fast / block / positioning / positioned-object-under-split-block-parent-crash.html
blob0f481c9a2bf6a39c4d6066b8b7f54db66b329fda
1 <!DOCTYPE html>
2 <html>
3 <style>
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;}
10 </style>
11 <script>
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();
48 </script>
49 <body>
50 PASS if no assert or crash in debug
51 </body>
52 </html>