<!DOCTYPE html>
<html>
<body>
Test passes if it does not crash.
<style>
.table_span { -webkit-column-span: all;}
.table_container { -webkit-column-count: 2; }
</style>
<script>
if (window.testRunner)
    testRunner.dumpAsText();

document.body.offsetTop;
table_span = document.createElement('table');
table_span.setAttribute('class', 'table_span');
table_container = document.createElement('table');
table_container.setAttribute('class', 'table_container');
table_caption = document.createElement('caption');
table_caption.appendChild(table_span);
table_container.appendChild(table_caption);
document.body.appendChild(table_container);
document.body.offsetTop;

table_caption.parentNode.removeChild(table_caption);
</script>
</body>
</html>
