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

      function testPassed()
      {
        document.getElementById("result").innerText = "PASS";
        if (window.testRunner)
          testRunner.notifyDone();
      }
    </script>

   </head>
   <body>
     <!-- The image reports 2 frames, but it has data for one only. Ensure that the browser doesn't
          crash when dealing with this situation.-->
     <p>The following PNG is buggy and reports a wrong number of frames. If the test succeeds this should not crash.</p>
     <img src="resources/bad-png-missing-fdAT.png" onload="testPassed()">
     <p id="result">FAIL</p>
   </body>
 </html>
