<!DOCTYPE html>

<html>
<head>
  <style>
    #box1 {
      height: 100px;
      width: 100px;
      background-color: blue;
      -webkit-box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.5);
      -webkit-transition-duration: 0.1s;
      -webkit-transition-timing-function: linear;
      -webkit-transition-property: -webkit-box-shadow;
    }
    #box2 {
      height: 100px;
      width: 100px;
      background-color: blue;
      -webkit-transition-duration: 0.1s;
      -webkit-transition-timing-function: linear;
      -webkit-transition-property: -webkit-box-shadow;
    }
  </style>
  <script>
    if (window.testRunner) {
        testRunner.dumpAsText();
        testRunner.waitUntilDone();
    }
    
    function start()
    {
        var box1 = document.getElementById('box1');
        box1.style.webkitBoxShadow = 'none';
        var box2 = document.getElementById('box2');
        box2.style.webkitBoxShadow = '5px 5px 5px rgba(0, 0, 0, 0.5)';
        window.setTimeout(function() {
              document.getElementById('result').innerHTML = "PASS";
              if (window.testRunner)
                  testRunner.notifyDone();
          }, 300);
    }
    
    window.addEventListener('load', start, false);
  </script>
</head>
<body>

<p>
First box should transition to no shadow. Second should transition to a shadow.
</p>
<div id="box1">
</div>
<div id="box2">
</div>
<div id="result">
</div>
</body>
</html>
