<!DOCTYPE html>
<style>
  body {
    margin: 0;
  }

  #indicator {
    position: absolute;
    width: 100px;
    height: 100px;
    left: 0px;
    top: 100px;
    background-color: red;
  }
  #box {
    width: 100px;
    height: 100px;
    background-color: green;
    -webkit-box-reflect: below;
  }
</style>
<script type="text/javascript">
  if (window.testRunner)
    testRunner.waitUntilDone();

  var compositingOn = false;
  function toggleCompositing()
  {
    compositingOn = !compositingOn;
    var box = document.getElementById('box');
    box.style.transform = compositingOn ? 'translate3d(50px, 50px, 0)'
                                            : 'none';
  }
  
  function doTest()
  {
    window.setTimeout(function() {
      toggleCompositing(); // remove
      
      window.setTimeout(function() {
        toggleCompositing(); // add
      
        if (window.testRunner)
          testRunner.notifyDone();
      }, 0);
    }, 50);
  }
  
  window.addEventListener('load', doTest, false);
</script>
<!-- You should see a single green rectangle and no red below. -->
<div id="indicator"></div>
<div id="box"></div>
