chromium/third_party/blink/web_tests/paint/invalidation/compositing/opacity-between-absolute2.html

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
   "http://www.w3.org/TR/html4/loose.dtd">

<html lang="en">
<head>
  <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
  <title>Opacity between absolutes</title>
  <style type="text/css" media="screen">
    .container {
      position: relative;
      height: 200px;
      width: 200px;
      border: 1px solid black;
      transform: translateZ(0);
    }

    .fader {
      height: 50px;
      width: 50px;
      margin: 20px;
      border: 1px solid black;
      transition: opacity 100s;
    }
    
    .container:hover .fader {
      opacity: 0.5;
    }

    .inner {
      position: absolute;
      left: 100px;
      top: 100px;
      height: 80px;
      width: 80px;
      background-color: gray;
    }
    
    .inner:hover {
      background-color: orange !important;
    }
  </style>
  <script type="text/javascript" charset="utf-8">
    if (window.testRunner)
      testRunner.waitUntilDone();

    function runTest()
    {
      // Kick off an opacity fade to make .fader into a compositing layer
      var container = document.querySelectorAll('.fader')[1];
      container.style.opacity = 0.99;
      window.setTimeout(function() {
        // Now test redraw on .inner
        var inner = document.querySelectorAll('.inner')[0];
        inner.style.backgroundColor = 'green';
        if (window.testRunner)
          testRunner.notifyDone();
      }, 0);
    }

    window.addEventListener('load', runTest, false)
  </script>
</head>
<body>
<p>This test should not assert, and you should see a fully green square.</p>
<div class="container">
  <div class="fader">
    <div class="fader">
      <div class="inner">
      </div>
    </div>
  </div>
</div>

</body>
</html>