<!DOCTYPE html><!-- webkit-test-runner [ experimental:WebAnimationsCSSIntegrationEnabled=false ] -->

<html>
<head>
  <style>
    #box {
      height: 50px;
      width: 100px;
      background-color: blue;
      -webkit-transition-property: top;
      -webkit-transition-duration: 1s;
      -webkit-transition-duration: 0;
    }
  </style>
  <script>
    if (window.testRunner)
      testRunner.dumpAsText();

    function test()
    {
        var box = document.getElementById('box');
        var dur = parseInt(window.getComputedStyle(box).webkitTransitionDuration);
        document.getElementById('result').innerHTML = "Duration was " + dur + " (should be 0): " + (dur == 0 ? "PASS" : "FAIL");
    }
    window.addEventListener('load', test, false)
  </script>
</head>
<body>

<div id="box">
</div>
<div id="result">
</div>
</body>
</html>
