<!DOCTYPE html>

<html>
<head>
  <style type="text/css" media="screen">
    .box {
      display: inline-block;
      height: 250px;
      width: 200px;
      margin: 10px;
      border: 1px solid black;
      background-repeat: no-repeat;
    }

    .gradient1 {
      /* Green should coincide with the edge of the box, with blue fill (buggy in CG). */
      background-image: -webkit-radial-gradient(left, circle closest-corner, red, green 150px, blue);
      background-image: -moz-radial-gradient(left, circle closest-corner, red, green 150px, blue);
    }

    .gradient2 {
      /* Fill should be orange (buggy in CG). */
      background-image: -webkit-radial-gradient(left, circle closest-corner, red, green 150px, blue, orange 101%);
      background-image: -moz-radial-gradient(left, circle closest-corner, red, green 150px, blue, orange 101%);
    }

    .gradient3 {
      background-image: -webkit-radial-gradient(-100px center, ellipse farthest-corner, black, white);
      background-image: -moz-radial-gradient(-100px center, ellipse farthest-corner, black, white);
    }
    
    .gradient4 {
      background-image: -webkit-radial-gradient(-100px center, ellipse closest-corner, black, white);
      background-image: -moz-radial-gradient(-100px center, ellipse closest-corner, black, white);
    }

    .gradient5 {
      background-image: -webkit-radial-gradient(bottom right, black, white);
      background-image: -moz-radial-gradient(bottom right, black, white);
    }

    .gradient6 {
      background-image: -webkit-radial-gradient(50% 20%, ellipse contain, black, white);
      background-image: -moz-radial-gradient(50% 20%, ellipse contain, black, white);
    }

  </style>
  <script type="text/javascript" charset="utf-8">
    if (window.testRunner) {
      var dumpPixels = true;
      testRunner.dumpAsText(dumpPixels);
    }
  </script>
</head>
<body>

  <div class="gradient1 box"></div>
  <div class="gradient2 box"></div>
  <div class="gradient3 box"></div>
  <br>
  <div class="gradient4 box"></div>
  <div class="gradient5 box"></div>
  <div class="gradient6 box"></div>

</body>
</html>
