<html>
<body onload="runTest();">
Test passes if it does not crash.
<script>
    if (window.testRunner)
        testRunner.dumpAsText();

    function runTest() {
        span0 = document.createElement('span');
        document.documentElement.appendChild(span0);

        span1 = document.createElement('span');
        span0.appendChild(span1);

        span2 = document.createElement('span');
        span2.style.float = 'left';
        span2.appendChild(document.createTextNode('a'));
        span0.appendChild(span2);

        div = document.createElement('div');
        span1.appendChild(div);
        
        document.body.offsetTop;
        
        li = document.createElement('li');
        li.style.position = 'fixed';
        span1.appendChild(li);
        
        document.body.offsetTop;
        
        span3 = document.createElement('span');
        span3.appendChild(span0);
    }
</script>
</body>
</html>
