<!DOCTYPE html>
<html>
<head>
  <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
  <style type="text/css" media="screen">
    div {
      -webkit-box-sizing: border-box;
    }
    .reflected {
      position: absolute;
      height: 120px;
      width: 120px;
      margin-bottom: 120px;
      border: 1px solid black;
      -webkit-box-reflect: below 2px;
    }

    #inner {
      height: 100px;
      width: 100px;
      margin: 10px;
      background-color: green;
    }
    .composited {
      -webkit-transform: translateZ(0);
    }
    
    .container {
      position: relative;
    }
    #indicator {
      position: absolute;
      top: 131px;
      left: 11px;
      height: 100px;
      width: 100px;
      background-color: red;
    }
  </style>
  <script type="text/javascript" charset="utf-8">
    if (window.testRunner)
      testRunner.waitUntilDone();

    function doTest()
    {
      window.setTimeout(function() {
        document.getElementById('inner').className = 'composited';
        if (window.testRunner)
          testRunner.notifyDone();
      }, 0);
    }
    window.addEventListener('load', doTest, false);
  </script>
</head>
<body>

<p>Test dynamically created compositing layer inside reflection. You should see no red below.</p>
<div class="container">
  <div id="indicator"></div>
  <div class="reflected compositing">
    <div id="inner"></div>
  </div>
</div>

</body>
</html>
