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

function test() {
    // It is necessary to allow some time for the progress bar to render the
    // progress and produce the crash.
    window.setTimeout(function() {
          if (window.testRunner)
              testRunner.notifyDone();
    }, 10);
}
</script>
</head>
<body onload="test();">
  <h1>Test for <a href="https://bugs.webkit.org/show_bug.cgi?id=50341">Bug 50341</a>. It is not OK to crash.</h1>
  <progress style='font: 1 required'/>
</body>
</html>
