<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
   "http://www.w3.org/TR/html4/loose.dtd">

<html lang="en">
<head>
  <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
  <title>Zero Duration Without Units</title>
  <style type="text/css" media="screen">
    #box {
      height: 100px;
      width: 100px;
      background-color: blue;
      -webkit-transition-property: top, left;
      -webkit-transition-duration: 1s;
      -webkit-transition-duration: 0s;
      -webkit-transition-timing-function: linear;
    }
  </style>
  <script type="text/javascript" charset="utf-8">
    if (window.testRunner) {
      testRunner.dumpAsText();
      testRunner.waitUntilDone();
    }

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

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