<!DOCTYPE html> <!-- webkit-test-runner [ useFlexibleViewport=true AsyncOverflowScrollingEnabled=true ] -->
<html>
<head>
    <meta name="viewport" content="width=device-width">
    <style>
        body {
            height: 2000px;
        }
        #scroller {
            height: 300px;
            width: 300px;
            overflow: scroll;
            -webkit-overflow-scrolling: touch;
        }
        
        .box {
            width: 100%;
            height: 100%;
        }
        
        .top {
            background-color: red;
        }

        .bottom {
            background-color: green;
        }

    </style>
    <script>
        if (window.testRunner)
            testRunner.waitUntilDone();

        function doTest()
        {
            setTimeout(() => {
                document.scrollingElement.scrollTop = 200;
            }, 2000);
            if (window.testRunner)
                testRunner.notifyDone();
        }
        
        window.addEventListener('load', doTest, false);
    </script>
</head>
<body>
    <div id="scroller">
        <div class="top box"></div>
        <div class="bottom box"></div>
    </div>
</body>
</html>
