<html>
<head>
    <title></title>
    <script>
        function test()
        {
            document.body.offsetTop;
            var target = document.getElementById("target");
            target.style.display = "block";
            var result = document.getElementById("result");
            if (target.offsetWidth == 100 && target.offsetHeight == 100)
                result.innerText = "PASS";
            else {
                result.innerText = "FAIL";
                target.style.backgroundColor = "red";
            }
        }
    </script>
</head>
<body onload="test()">
    <p>
        Test for <i><a href="http://bugs.webkit.org/show_bug.cgi?id=12818">http://bugs.webkit.org/show_bug.cgi?id=12818</a>
        REGRESSION (r19148): shacknews.com does not render completely</i>.
    </p>
    <p>
        There should be a green square to the left of the text.
    </p>
    <div style="position: absolute;">
        <div style="margin-left: 100px;">
            <div style="position: absolute;"></div>
            <div>
                Curabitur pretium, quam quis semper malesuada, est libero feugiat libero, vel fringilla orci nibh sed neque. Quisque eu nulla non nisi molestie accumsan. Etiam tellus urna, laoreet ac, laoreet non, suscipit sed, sapien. Phasellus vehicula, sem at posuere vehicula, augue nibh molestie nisl, nec ullamcorper lacus ante vulputate pede. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Mauris viverra augue vitae purus. Morbi sed sem. Donec dui nisi, ultrices non, pretium quis, hendrerit non, est. Donec tellus. Donec eget dui id eros pharetra rutrum. Suspendisse sodales lectus sit amet nulla. Morbi tortor arcu, convallis blandit, elementum eu, aliquet a, tellus.
            </div>
        </div>
    </div>
    <div id="target" style="display: none; background: green; width: 100px; height: 100px;"></div>
    <div id="result"></div>
</body>
