<!DOCTYPE html>
<head>
<title>This tests that rounded rect stays renderable during while animating size.</title>
<style>
  #thumb {
    background-color: red;
    border: solid 1px transparent;
    border-radius: 50%;
    width: 100px;
    height: 100px;
    -webkit-transition: width 500ms, height 500ms;
}
</style>
<script>
    if (window.testRunner) {
        window.testRunner.waitUntilDone();
        window.testRunner.dumpAsText();
      }

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

    function start() {
      var thumb = document.getElementById("thumb");
      thumb.addEventListener("webkitTransitionEnd", transitionFinished, true);
      thumb.style.width = "10px";
      thumb.style.height = "10px";
    }
    
</script>
</head>
<body onload=start()>
  <p>Test passes if it does not assert in debug builds.</p>
  <div id=thumb></div>
</body>
