<!DOCTYPE html>
<html>
Test passes if it does not crash.
<style>
.class1:nth-child(-n+6) { float: left; padding-bottom: 100px; }
.class2:nth-child(even) { -webkit-backface-visibility: hidden; -webkit-column-span: all; }
.class3 { -webkit-column-count: 65536; }
</style>
<script>
if (window.testRunner) {
    testRunner.dumpAsText();
    testRunner.waitUntilDone();
}

function crash() {
    test1 = document.createElement('div');
    test2 = document.createElement('div');
    test3 = document.createElement('div');
    test3.setAttribute('class', 'class3');
    document.documentElement.appendChild(test3);
    test4 = document.createElement('div');
    test4.setAttribute('class', 'class2');
    test5 = document.createElement('div');
    test5.setAttribute('class', 'class1');
    test6 = document.createElement('div');
    test7 = document.createElement('i');
    test8 = document.createTextNode("PASS. WebKit didn't crash.");
    test6.appendChild(test8);
    test6.appendChild(test7);
    test1.appendChild(test6);
    test3.appendChild(test1);
    test7.appendChild(test5);
    document.documentElement.offsetTop;
    setTimeout('test3.appendChild(test4);', 0);
    setTimeout('test2.appendChild(test7);', 2);
    setTimeout('if (window.testRunner) testRunner.notifyDone();', 4);
}

window.onload = crash;
</script>
</html>