<!DOCTYPE html>
<!--
 | Setting the border radius for a box with background-image and a border set.
 |   https://www.w3.org/TR/css3-background/#border-radius
 -->
<html>
<head>
  <style>
    div {
      border: 25px rgb(0, 100, 0) solid;
      border-radius: 150px;
      height: 250px;
      width: 250px;
    }
  </style>
  <script>
    if (window.testRunner) {
      window.testRunner.waitUntilDone();
    }

    var image = new Image();
    var image_name = 'cobalt.png';

    image.onload = function() {
      var cobalt = document.getElementById('image');
      cobalt.style.background = 'url(' + image_name + ')';

      if (window.testRunner) {
        window.testRunner.notifyDone();
      }
    }

    image.src = image_name;

  </script>
</head>
<body>
  <div id='image'></div>
</body>
</html>
