<!DOCTYPE html>
<html>
<head>
<style>
div {
  position: absolute;
  z-index: 1;
  width: 10px;
  height: 10px;
}

.composited {
  will-change: transform;
  top: 60px;
  left: 60px;
  width: 400px;
  height: 400px;
  background-color: gray;
}

.overlap1 {
  top: 140px;
  left: 140px;
  background-color: blue;
}

.overlap2 {
  top: 220px;
  left: 220px;
  background-color: lime;
}

.overlap3 {
  top: 300px;
  left: 220px;
  background-color: green;
}

.overlap4 {
  top: 300px;
  left: 235px;
  background-color: yellow;
}
</style>
<script>
    if (window.testRunner)
        testRunner.dumpAsText();

    function dump() {
        if (!window.internals)
            return;
        var layers = document.createElement('pre');
        layers.innerHTML = internals.layerTreeAsText(document);
        document.body.appendChild(layers);
    }

    window.onload = dump;
</script>
</head>

<body>
  <!-- 
  If this test is working correctly, then the first two layers should not
  squash together (as they would create a layer that's too sparse), but the
  third and fourth layers should squash together.
  -->
  <div class="composited"></div>
  <div id="A" class="overlap1"></div>
  <div id="B" class="overlap2"></div>
  <div id="C" class="overlap3"></div>
  <div id="D" class="overlap4"></div>
</body>
</html>
