<body>
    <p>This tests that the scroll origin for boxes with -webkit-writing-mode:vertical-rl; direction:rtl; overflow:scroll is correct.</p>
    <div id="test" style="-webkit-writing-mode:vertical-rl; direction:rtl; overflow:scroll; width: 200px; height: 200px">
        <div style="height: 300px; width: 100px;"></div>
    </div>
    <pre id="console"></pre>
    
    <script>
        function log(msg)
        {
            document.getElementById('console').appendChild(document.createTextNode(msg + "\n"));
        }

        if (window.testRunner)
            testRunner.dumpAsText();

        var t = document.getElementById("test");
        var initialTop = t.scrollTop;
        
        // Scroll as far as you can.
        t.scrollTop = 1000;
        
        var newTop = t.scrollTop
        
        if (initialTop == newTop)
            log("PASS: test.scrollTop is correct.")
        else
            log("FAIL: test.scrollTop is incorrect. It is " + initialTop + " but should be " + newTop + ".");
    </script>
</body>
