<!DOCTYPE html> <!-- webkit-test-runner [ internal:AsyncOverflowScrollingEnabled=true ] -->
<html>
<head>
    <title>Absolutes in relative in overflow move with it but are not stacking descendants: need 3 'move' nodes</title>
    <style>
        .scrollcontent {
            height: 500px;
        }
        .scroller {
            margin: 20px;
            overflow: scroll;
            height: 300px;
            width: 300px;
            border: 2px solid black;
        }
    
        .relative {
            position: relative;
            border: 3px solid orange;
            height: 20px;
        }

        .absolute {
            position:absolute;
            left: 50px;
            top: 50px;
            width: 100px;
            height: 100px;
            background: gray;
            border: 2px solid green;
        }
    
        .inner {
            left:25px;
            top:25px;
            width: 200px;
        }

        .scrollcontent {
            height: 500px;
            background-image: repeating-linear-gradient(white, silver 200px);
        }

        .sharing-preventer {
            transform: translateZ(0);
            margin: 10px;
            width: 10px;
            height: 10px;
        }
    </style>
    <script>
        if (window.testRunner)
            testRunner.dumpAsText();

        window.addEventListener('load', () => {
            if (window.internals)
                document.getElementById('tree').innerText = internals.scrollingStateTreeAsText();
        }, false);
    </script>
</head>
<body>

    <div class="scroller">
        <div class="sharing-preventer"></div>
        <div class="relative">
            <div class="sharing-preventer"></div>
            <div class="absolute">abs
                <div class="sharing-preventer"></div>
                <div class="inner absolute">abs</div>
            </div>
        </div>
        <div class="scrollcontent"></div>
    </div>
<pre id="tree"></pre>
</body>
</html>
