<head>
    <title></title>
    <script>
        if (window.layoutTestController)
            layoutTestController.testRepaint();
    </script>
    <style>
        td { border: 4px dotted black; }
    </style>
</head>
<body>
    <table style="margin-top: 50px;">
        <tr>
            <td>
                <div style="height: 50px; width: 100px; background: lightgreen;">
                </div>
            </td>
            <td>
                <div style="height: 10px; width: 100px; background: lightgreen;">
                    <div style="height: 100px; width: 50px; background: skyblue;">
                    </div>
                </div>
            </td>
            <td>
                <div style="height: 10px; width: 100px; background: lightgreen;">
                    <div style="margin-top: -75px; height: 100px; width: 50px; background: skyblue;">
                    </div>
                </div>
            </td>
        </tr>
    </table>
    <table style="margin-top: 150px; border-collapse: collapse;">
        <tr>
            <td>
                <div style="height: 50px; width: 100px; background: lightgreen;">
                </div>
            </td>
            <td>
                <div style="height: 10px; width: 100px; background: lightgreen;">
                    <div style="height: 100px; width: 50px; background: skyblue;">
                    </div>
                </div>
            </td>
            <td>
                <div style="height: 10px; width: 100px; background: lightgreen;">
                    <div style="margin-top: -75px; height: 100px; width: 50px; background: skyblue;">
                    </div>
                </div>
            </td>
        </tr>
    </table>
</body>
