<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<head>
<script type="text/javascript">
onload = function()
{
    if (window.testRunner)
        testRunner.waitUntilDone();
    // FIXME: For predictable results, we need to resize to a known value for innerWidth,
    // rather than assuming that innerWidth and outerWidth are the same.
    resizeTo(250, outerHeight);
    scrollTo(-100000, 0);
    addEventListener('resize', finishTest);
    resizeTo(350, outerHeight);
    function finishTest()
    {
        if (outerWidth != 350)
            return;
        if (window.testRunner)
            testRunner.notifyDone();
    }
}
</script>
</head>
    <body style="direction: rtl">
        <div style="whitespace:nowrap; width: 1000px; height: 4000px; border: 1px solid red;">
            BEGINddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddEND
        </div>
    </body>
</html>
