<!DOCTYPE html>
<head>
<style>

.compositedAndRotated {
  transform: rotate(45deg);
  will-change: transform;
}

.box {
  width: 100px;
  height: 100px;
}

.behind {
  position: absolute;
  z-index: 1;
  top: 100px;
  left: 100px;
  background-color: blue;
}

.middle {
  position: absolute;
  z-index: 1;
  top: 20px;
  left: 20px;
  background-color: lime;
}

.top {
  position: absolute;
  z-index: 1;
  top: 180px;
  left: 180px;
  background-color: cyan;
}

div:hover {
  background-color: green;
}

</style>
<script>
    if (window.testRunner)
        testRunner.dumpAsText();

    function runTest()
    {
        if (!window.internals) {
            alert('This test requires window.internals')
            return;
        }

        document.body.textContent = internals.layerTreeAsText(document, internals.LAYER_TREE_INCLUDES_INVALIDATIONS);
        document.body.style.whiteSpace = 'pre';
    }
</script>
</head>
<body onload="runTest()">
<div class="compositedAndRotated box behind"></div>
<div class="box middle"></div>
<div class="box top"></div>
</body>
