<!DOCTYPE html>
<html>
<head>
  <style>
    #indicator {
      position: absolute;
      top: 0px;
      left: 0px;
      height: 100px;
      width: 100px;
      background-color: red;
    }
    #clipper {
      -webkit-transform:translateZ(0);
      position: absolute;
      top: 0px;
      left: 0px;
      height: 100px;
      width: 100px;
      background-color: green;
      clip: rect(25px, 75px, 75px, 25px);
    }
  </style>
  <script>
    if (window.layoutTestController)
      layoutTestController.dumpAsText(true);
    function doTest() {
      if (window.layoutTestController)
        layoutTestController.display();
      // The change in clip style should be reflected immediately in the size
      // of the composited clipper layer. After changing the clip, it should
      // entirely cover the indicator.
      var clipper = document.getElementById("clipper");
      clipper.style.clip = "rect(0px, 100px, 100px, 0px)";
    }
    window.addEventListener("load", doTest, false);
  </script>
</head>
  <body>
    <div id="indicator"></div>
    <div id="clipper"></div>
  </body>
</html>
