chromium/third_party/blink/web_tests/compositing/reflections/reflection-positioning2.html

<!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;
      }
      .container {
        position: absolute;
        left: 50px;
        top: 50px;
      }
      .reflected {
        position: relative;
        width: 150px;
        height: 120px;
        border: 1px solid black;
        -webkit-box-reflect: below 6px;
        outline: 10px solid transparent; /* affects layer sizes */
      }
      
      .box {
        width: 100px;
        height: 100px;
      }

      .inner {
        position: absolute;
        top: 10px;
        left: 10px;
        background-color: green;
      }

      .composited {
        will-change: transform;
      }

      .inner.moved {
        left: 25px;
      }
      
      #indicator {
        position: absolute;
        top: 135px;
        left: 26px;
        background-color: red;
      }
    </style>
    <script type="text/javascript" charset="utf-8">
      function doTest() {
        document.getElementById('inner').className = 'inner moved box';
      }
      window.addEventListener('load', doTest, false);
    </script>
  </head>
  
  <p>Position of reflected layer should update correctly. You should see no red below.</p>
  <div class="container">
    <div id="indicator" class="box"></div>
    <div class="reflected composited">
      <div id="inner" class="inner box">
      </div>
    </div>
  </div>

</html>