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+

Comment 1 Dave Hyatt 2010-06-10 12:44:27 PDT
This is a regression from:

https://bugs.webkit.org/show_bug.cgi?id=29601
Comment 2 Mark Rowe (bdash) 2010-06-10 12:47:16 PDT
<rdar://problem/8073715>
Comment 3 Dave Hyatt 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.
Comment 4 Dave Hyatt 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.
Comment 5 Dave Hyatt 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.
Comment 6 John Sullivan 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.
Comment 7 Eric Seidel (no email) 2010-06-10 14:11:03 PDT
Attachment 58410 [details] did not build on mac:
Build output: http://webkit-commit-queue.appspot.com/results/3230112
Comment 8 Dave Hyatt 2010-06-10 14:33:25 PDT
Fixed in r60974.