<script>
    if (window.testRunner) {
        testRunner.dumpAsText()
        testRunner.waitUntilDone();
    }

    function finished()
    {
        document.body.offsetTop;
        if (window.testRunner)
            testRunner.notifyDone();
    }
</script>
<p>
    Test for <i><a href="http://bugs.webkit.org/show_bug.cgi?id=17471">http://bugs.webkit.org/show_bug.cgi?id=17471</a>
    REGRESSION (r30438): Crash in deleteLineBoxes in cursor-adjusting code browsing Acid3</i>.
</p>
<div id="target" style="display: none;">
    <object type="image/jpeg" data="resources/404image.php" onerror="finished()">
        PASS, no crash.
    </object>
</div>
<object type="image/jpeg" data="resources/404image.php" onerror="document.getElementById('target').style.display = ''"></object>
