<body>
<p>
The canvas below should show a gradient with zero stops, which according to the specification is filled with transparant black, ie. not visible. This tests <a href="http://bugs.webkit.org/show_bug.cgi?id=13784">Bug 13784, REGRESSION (r13744-13750): Crash with empty gradient when drawing to canvas</a></p>
<canvas id="c"></canvas>
<script>
if (window.testRunner)
  testRunner.dumpAsText(true);

window.onload = function () {
  var ctx = document.getElementById('c').getContext('2d');
  ctx.fillStyle = ctx.createLinearGradient(0, 0, 0, 50);
  ctx.fillRect(0, 0, 300, 150);
  ctx.strokeRect(0, 0, 300, 150);
}
</script>
</body>
