<!DOCTYPE html> <!-- webkit-test-runner [ AsyncOverflowScrollingEnabled=true ] -->
<html>
<head>
    <style>
        .relative {
            position: absolute;
            top: 20px;
            left: 20px;
            height: 10px;
            width: 10px;
            margin: 10px;
            border: 1px solid black;
        }
        
        .sharing {
			position: relative;
			top: 50px;
			left: 50px;
            width: 200px;
            height: 200px;
            background-color: green;
            transform: translate(100px, 100px);
            transform-origin: top left;
        }
        
        .inner {
            position: absolute;
            left: 200px;
            top: 200px;
            width: 100px;
            height: 100px;
            background-color: blue;
        }

        .trigger {
            transform: translateZ(0);
            width: 500px;
            height: 500px;
            background-color: silver;
        }
        .scroller {
            overflow: scroll;
            height: 50px;
            width: 50px;
        }
        .scrollcontent {
            height: 100px;
            width: 50px;
        }
    </style>
    <script>
        if (window.testRunner)
            testRunner.dumpAsText();

        window.addEventListener('load', () => {
            if (window.internals)
                document.getElementById('layers').textContent = internals.layerTreeAsText(document, internals.LAYER_TREE_INCLUDES_EVENT_REGION);
        }, false);
    </script>
</head>
<body>
    <div class="trigger"></div>
    <div class="relative">
        <div class="sharing">
            <div class="inner">
            </div>
        </div>
    </div>
    <div class="scroller"><div class="scrollcontent"></div></div>
<pre id="layers"></pre>
</body>
</html>
