<div dir="ltr"><div class="gmail_quote"><div dir="ltr">Webkit now supports horizontal scrolling for pages with left overflow.<div>But it has a bug in cross-platform that the backward mouse wheel does not work (you can not scroll backward below (0,0)).</div>
<div><span style="font-family:arial, sans-serif;font-size:12.5px;border-collapse:collapse"><a href="https://bugs.webkit.org/show_bug.cgi?id=50370" style="color:rgb(0, 0, 204)" target="_blank">https://bugs.webkit.org/show_bug.cgi?id=50370</a></span></div>

<div><br></div><div>I tested the fix posted in the above bug, and I can manually mouse wheel a RTL page backward and forward horizontally and vertically.</div><div><br></div><div>But I am not able to write a layout test on it.</div>
<div>Following is what I wrote. The test passes with and without the fix. It should fail without the fix because horizontal backward mouse wheel is not working without the fix.</div><div>I tested in Chromium Linux, and I looked at EventSender.cpp in Chromium&#39;s DRT and did not see any problems there.</div>
<div><br></div>
<div>I am not sure whether I am writing the test correctly. Appreciate your help!</div><div><br></div><div><br></div><div><div>&lt;html dir=&quot;rtl&quot;&gt;</div><div>    &lt;head&gt;</div><div>        &lt;link rel=&quot;stylesheet&quot; href=&quot;../js/resources/js-test-style.css&quot;&gt;</div>

<div>        &lt;script src=&quot;../js/resources/js-test-pre.js&quot;&gt;&lt;/script&gt;</div><div>        &lt;script&gt;</div><div><br></div><div>            if (window.layoutTestController) {</div><div>                layoutTestController.waitUntilDone();</div>

<div>            }</div><div><br></div><div>            function dispatchWheelEvent()</div><div>            {</div><div>                window.addEventListener(&quot;mousewheel&quot;, mousewheelHandler, false);</div><div>

<br></div><div>                window.scrollTo(-100, 100);</div><div>                if (window.eventSender) {</div><div>                    eventSender.continuousMouseScrollBy(-10, -10);</div><div>                    eventSender.continuousMouseScrollBy(30, 30);</div>

<div>                }</div><div><br></div><div>                setTimeout(&#39;checkOffsets();&#39;, 100);</div><div>            }</div><div><br></div><div>            function checkOffsets()</div><div>            {</div>

<div>                shouldBe(&quot;window.scrollX&quot;, &quot;-120&quot;); </div><div>                shouldBe(&quot;window.scrollY&quot;, &quot;80&quot;);</div><div><br></div><div>                if (window.layoutTestController)</div>

<div>                    window.layoutTestController.notifyDone();</div><div>            }</div><div><br></div><div>            function mousewheelHandler(e)</div><div>            {</div><div>            }</div><div>        &lt;/script&gt;</div>

<div>    &lt;/head&gt;</div><div><br></div><div>    &lt;body style=&quot;margin:0&quot; onload=&quot;setTimeout(&#39;dispatchWheelEvent();&#39;, 100)&quot;&gt;</div><div><br></div><div>        &lt;div id=&quot;div&quot; style=&quot;whitespace:nowrap; width: 4000px; height: 1000px; border: 1px solid red;&quot;&gt;Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.&quot;&lt;/div&gt;</div>

<div>        &lt;div id=&quot;console&quot;&gt;&lt;/div&gt;</div><div>    &lt;/body&gt;</div><div>&lt;/html&gt;</div><div><br></div></div><div><br></div><div>Thanks,</div><div>Xiaomei</div><div><br></div></div>
</div><br></div>