<html>
<head>
    <title></title>
    <style>
       td { width: 50px; height: 150px; vertical-align: top; }
    </style>
</head>
<body>
    <p>
        Test for <i><a href="http://bugs.webkit.org/show_bug.cgi?id=12886">http://bugs.webkit.org/show_bug.cgi?id=12886</a>
        Crash with Scriptalicious javascript library</i>.
    </p>
    <p>
        You should see two purple 100&times;50 rectangles, <em>not</em> a checkerboard pattern.
    </p>
    <table cellpadding="0" cellspacing="0">
        <tr>
            <td>
                <div style="width: 50px;">        
                    <div style="height: 50px;">
                        <div id="target" style="float: left; width: 50px; height: 100px;"></div>
                    </div>
                    <div>
                        <div style="clear: both; width: 50px; height: 50px; background-color: purple;">
                        </div>
                    </div>
                </div>
            </td>
            <td>
                <div style="width: 50px;">        
                    <div style="height: 50px;">
                        <div style="float: left; width: 50px; height: 25px;"></div>
                    </div>
                    <div>
                        <div style="clear: both; width: 50px; height: 50px; background-color: purple;">
                        </div>
                    </div>
                </div>
            </td>
        </tr>
        <tr>
            <td>
                <div style="width: 50px;">        
                    <div>
                        <div id="target2" style="float: left; width: 50px; height: 50px;"></div>
                    </div>
                    <div>
                        <div style="clear: both; width: 50px; height: 50px; background-color: purple;">
                        </div>
                    </div>
                </div>
            </td>
            <td>
                <div style="width: 50px; height: 50px; background-color: purple;">
                </div>
            </td>
        </tr>
    </table>
    <div style="height: 200px;">
    </div>

    <script>
        var target = document.getElementById("target");
        var target2 = document.getElementById("target2");
        document.body.offsetTop;
        target.style.height = '25px';
        target2.style.height = '0';
    </script>
</body>
</html>
