<!DOCTYPE html><!-- webkit-test-runner [ enableCSSAnimationsAndCSSTransitionsBackedByWebAnimations=true ] -->

<html>
<head>
  <style>
    #container {
      position: relative;
      width: 400px;
      height: 100px;
      border: 1px solid black;
    }
    #box {
      position: absolute;
      left: 0;
      height: 100px;
      width: 100px;
      background-color: blue;
      -webkit-transition-duration: 1s;
      -webkit-transition-timing-function: linear;
    }
  </style>
  <script>
    if (window.testRunner) {
      testRunner.dumpAsText();
      testRunner.waitUntilDone();
    }

    function startTransition()
    {
      var box = document.getElementById('box');
      box.style.left = '300px';
      box.style.opacity = 0.5;
      window.setTimeout(function() {
        box.style.left = '0px';
        
        window.setTimeout(function() {
          var boxPos = parseInt(window.getComputedStyle(box).left);
          document.getElementById('result').innerHTML = (boxPos < 200) ? "PASS" : "FAIL";
          if (window.testRunner)
              testRunner.notifyDone();
        }, 250);
      }, 500);
    }
    window.addEventListener('load', startTransition, false)
  </script>
</head>
<body>

<p>Box should start moving left after left style is reset after 500ms</p>
<div id="container">
  <div id="box">
  </div>
</div>
<div id="result">
</div>
</body>
</html>
