<!DOCTYPE html>
<html>
Webkit bug 83552 - Crash due to captions list not updated after section recalc.<br />
Test passes if it does not crash.
<style>
.flexbox1 + .caption1 { display: table-caption; }
.flexbox1 { display: -webkit-inline-box; }
</style>
<script>
if (window.testRunner)
    testRunner.dumpAsText();

function runTest() {
    div1 = document.createElement('div');
    document.documentElement.appendChild(div1);
    div2 = document.createElement('div');
    div1.appendChild(div2);
    cell1 = document.createElement('td');
    cell1.setAttribute('class', 'caption1');
    div1.appendChild(cell1);
    div1.setAttribute('class', 'flexbox1');
    document.body.offsetTop;
    div2.setAttribute('class', 'flexbox1');
    document.body.offsetTop;
    div2.setAttribute('class', '');
}
window.onload = runTest;
</script>
</html>
