<!DOCTYPE html>
<!--
 | Test case for the background shorthand property with image, repeat and color
 | and position.
 -->
<html>
<head>
  <style>
    div {
      width: 500px;
      height: 400px;
    }
  </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 +') repeat-x #ff6363 0 0';

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

    image.src = image_name;

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