<!DOCTYPE html>

<html>
<head>
  <style>
    .container {
      position: relative;
      height: 100px;
      width: 100px;
      margin: 10px;
      left: 0;
      top: 0;
    }
    
    .clipping {
      position: absolute;
      overflow: hidden;
      left: 20px;
      top: 20px;
      height: 100px;
      width: 300px;
      z-index: 0;
      background-color: green;
    }
    
    .box {
        position: absolute;
        top: 75px;
        left: 75px;
        width: 50px;
        height: 50px;
        background-color: black;
    }
    
    .child {
        opacity: 0;
    }
    
    .composited {
      -webkit-transform: translateZ(0);
    }
  </style>

  <script>
  if (window.testRunner)
    testRunner.dumpAsText();
    
  function dumpLayers()
  {
    var layersResult = document.getElementById('layers');
    if (window.testRunner)
      layersResult.innerText = window.internals.layerTreeAsText(document);
  }

  window.addEventListener('load', dumpLayers, false)
  </script>

</head>
<body>

  <div class="composited container">
      <div class="child box">
      </div>
    </div>
  </div>

<pre id="layers">Layer tree goes here in DRT</pre>

</body>
</html>
