Bug 40441

Summary: REGRESSION: Continuous wheel event deltas are way too large.
Product: WebKit Reporter: Dave Hyatt <hyatt>
Component: DOMAssignee: Dave Hyatt <hyatt>
Status: RESOLVED FIXED    
Severity: Major CC: aestes, ap, ddkilzer, eric, mitz, pkchan+bugzilla=webkit
Priority: P1 Keywords: InRadar
Version: 528+ (Nightly build)   
Hardware: PC   
OS: OS X 10.5   
Attachments:
Description Flags
Patch sullivan: review+

Attachments
Patch (5.07 KB, patch)
2010-06-10 14:03 PDT, Dave Hyatt
sullivan: review+
Dave Hyatt
Comment 1 2010-06-10 12:44:27 PDT
Mark Rowe (bdash)
Comment 2 2010-06-10 12:47:16 PDT
Dave Hyatt
Comment 3 2010-06-10 13:07:20 PDT
Best way to handle this is to revert all the native platform code, since it was all correct and just do the minimum line clamping at DOM event generation time. That way any code in WebCore that uses wheel events natively (without exposing them to the DOM) will be accurate. This could be important when we move off NSScrollView in WebKit2 and end up using this event for wheeling.
Dave Hyatt
Comment 4 2010-06-10 13:26:54 PDT
Another possibility is to use an accumulator strategy at the DOM level and send the event once you have moved 1 full line. This would still result in no movement in response to small events until the threshold was crossed though. I am guessing a minimum line movement of 1, although it will result in slightly-too-rapid scrolling, will probably work best, but really we should just be evangelizing the Web sites, as what we were doing in Safari 4 wasn't wrong.
Dave Hyatt
Comment 5 2010-06-10 14:03:53 PDT
Created attachment 58410 [details] Patch This is just a straight-up backout of the fix for 29601. I will be reopening that bug once this lands.
John Sullivan
Comment 6 2010-06-10 14:05:29 PDT
Comment on attachment 58410 [details] Patch As I hang my head in shame, I acknowledge that the lack of this code is better than its presence, despite my earlier review.
Eric Seidel (no email)
Comment 7 2010-06-10 14:11:03 PDT
Dave Hyatt
Comment 8 2010-06-10 14:33:25 PDT
Fixed in r60974.
Note You need to log in before you can comment on or make changes to this bug.