<!DOCTYPE html>
<html>
<head>
  <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
  <style>
  .outer {
    width: 120px;
    height: 230px;
    margin: 20px;
    border: 1px solid black;
    -webkit-box-reflect: right 10px;
  }
  
  .inner {
    margin: 10px;
    width: 100px;
    height: 100px;
    background-color: green;
    text-align: center;
    font-size: 50pt;
    -webkit-box-reflect: below 10px;
  }
  
  .composited {
    -webkit-transform: translateZ(0);
  }
  </style>
  <script type="text/javascript" charset="utf-8">
    if (window.testRunner)
      testRunner.waitUntilDone();

    function doTest()
    {
      window.setTimeout(function() {
        document.getElementById('inner').style.opacity = '0.5';
        if (window.testRunner)
          testRunner.notifyDone();
      }, 0);
    }
    window.addEventListener('load', doTest, false);
  </script>
  </head>
<body>
<p>The four green squares should look equally transparent.</p>
  <div class="outer box composited">
    <div id="inner" class="inner box composited">
      1
    </div>
  </div>
</body>
</html>
