When scrolling with the mouse over an horizontal srollbar we invert the axis to scroll horizontally. When AC mode is forced this doesn't happen because async scrolling doesn't use EventHandler::handleWheelEvent() which is where the axis are inverted. I'm not sure this is easy to fix, we should move the axis inversion to EventDispatcher.cpp, but that's happening in a secondary thread and we would need to perform a hit test to check if the mouse is over an horizontal scrollbar.
I've checked other browsers and they don't invert the axis when scrolling on an horizontal scrollbar, so mayb it's easier to simply stop doing so in GTK port as well. You can still use SHIFT + wheel to scroll horizontally.
Created attachment 392555 [details]
Horizontal scrolling with mouse wheel is still broken with async scrolling, but because it doesn't seem to be handling those events correctly (it doesn't work when using Shift + wheel either), so I'll file another bug.
Thanks for the patch. If this patch contains new public API please make sure it follows the guidelines for new WebKit2 GTK+ API. See http://trac.webkit.org/wiki/WebKitGTK/AddingNewWebKit2API
Ok, it works with async scrolling, but only in the main frame (due to bug #208635) and the right/left direction is swapped (that's another bug)
(In reply to Carlos Garcia Campos from comment #4)
> Ok, it works with async scrolling, but only in the main frame (due to bug
> #208635) and the right/left direction is swapped (that's another bug)
See bug #208638
Created attachment 405562 [details]
Comment on attachment 405562 [details]
Really nice patch, I like it that it actually simplifies the code :)
Committed r265138: <https://trac.webkit.org/changeset/265138>