<html>
<style>
.test {
    width: 200px;
    height: 200px;
    position: relative;
}
.box {
    width: 100px;
    height: 100px;
    background: green;
    position: absolute;
}
.layer {
    will-change:transform;
}
.none {
    touch-action:none;
    background: red;
}
.red {
    background: red;
}
</style>
<script>
window.onload = function () {
    if (window.testRunner)
        testRunner.dumpAsText();
    if (window.internals)
        results.innerText = internals.layerTreeAsText(document, internals.LAYER_TREE_INCLUDES_EVENT_REGION | internals.LAYER_TREE_INCLUDES_ROOT_LAYER_PROPERTIES);
}
</script>
<body>
<div class="test">
    <div class="box layer none"></div>
</div>
<div class="test">
    <div class="none layer" style="height:25px;">
        <div class="box red"></div>
    </div>
</div>
<div class="test">
    <div class="box none layer"></div>
    <div class="box" style="top:50px;left:50px;"></div>
</div>
<div class="test">
    <div class="box none" style="opacity:0.9">
        <div class="box layer" style="top:25px;left:25px;"></div>
        <div class="box" style="z-index:-1;top:50px;left:50px;"></div>
    </div>
</div>
<pre id="results"></pre>
</body>
</html>
