<html>
<style>
.test {
    width: 200px;
    height: 200px;
    position: relative;
}
.box {
    width: 100px;
    height: 100px;
    background: green;
    position: absolute;
}
.pan-x {
    touch-action:pan-x;
    background: green;
}

.pan-y {
    touch-action:pan-y;
    background: blue;
}
.pan-x-y {
    touch-action:pan-x pan-y;
    background: blue;
}
</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 pan-x"></div>
</div>
<div class="test">
    <div class="pan-x" style="height:25px;">
        <div class="box pan-x"></div>
    </div>
</div>
<div class="test">
    <div class="pan-x-y" style="height:25px;">
        <div class="box pan-y"></div>
    </div>
</div>
<div class="test">
    <div class="pan-x" style="height:25px;">
        <div class="box pan-x-y"></div>
    </div>
</div>
<div class="test">
    <div class="pan-x" style="height:25px;">
        <div class="box pan-y"></div>
    </div>
</div>
<pre id="results"></pre>
</body>
</html>
