<!DOCTYPE html>
<html>
<head>
<title>This tests that border with radius is painted properly when the element is on a subpixel position.</title>
<style>
  div {
  position: absolute;
  width: 10px;
  height: 10px;

  border: 1px solid rgba(0, 0, 0, 0.1);
  background-color: white;
  border-radius: 10px;
  }
</style>
</head>
<body>
<p id="container"></p>
<script>
  var container = document.getElementById("container");
  topAdjustment = 0;
  leftAdjustment = 0;
  for (i = 0; i < 30; ++i) {
    for (j = 0; j < 30; ++j) {
      if ((j % 5 == 0) && (j % 10) != 0) { 
        topAdjustment += 1;
        leftAdjustment += 1;
      }
      var e = document.createElement("div");
      e.style.top = (15 * i) + topAdjustment + "px";
      e.style.left = (15 * j) + leftAdjustment + "px";

      container.appendChild(e);
    }
  }
</script>
</body>
</html>
