<html>
  <head>
    <style type="text/css">
        table
        {
            table-layout: fixed;
            width: 1px;
        }
    </style>
    <script>
        if (window.testRunner) {
            testRunner.dumpAsText();
            testRunner.waitUntilDone();
        }
    </script>
  </head>
  <body onload="finish()">
    This test is to ensure that we do not crash while rendering a fixed table layout.
    <div id="result"><span style='color: red;'>FAIL:</span> Did not complete test</div>
    <table>
      <td width="1"></td>
      <td colspan="65536"></td>
    </table>
    <script>
        function finish()
        {
            if (window.testRunner)
                testRunner.notifyDone();
            document.getElementById("result").innerHTML = "<span style='color: green;'>PASS:</span> Did not crash.";
        }
    </script>
  </body>
</html>

