RESOLVED FIXED 17179
[wx] Use PlatformWheelEvent for handling scroll wheel events
https://bugs.webkit.org/show_bug.cgi?id=17179
Summary [wx] Use PlatformWheelEvent for handling scroll wheel events
Kevin Ollivier
Reported 2008-02-04 16:43:16 PST
We currently catch and handle scroll wheel events directly, but this doesn't allow the event to go through WebCore. Instead, remove our current handler and fix ScrollView so that it properly handles the PlatformWheelEvent.
Attachments
Correctly handle PlatformWheelEvent in wx port (4.53 KB, patch)
2008-02-04 16:45 PST, Kevin Ollivier
darin: review+
Updated patch with ASSERTS added to ensure widths and heights are valid (5.37 KB, patch)
2008-02-05 22:13 PST, Kevin Ollivier
darin: review+
Kevin Ollivier
Comment 1 2008-02-04 16:45:50 PST
Created attachment 18923 [details] Correctly handle PlatformWheelEvent in wx port
Darin Adler
Comment 2 2008-02-05 14:52:33 PST
Comment on attachment 18923 [details] Correctly handle PlatformWheelEvent in wx port Looks fine, r=me. +IntSize ScrollView::maximumScroll() const +{ + IntSize delta = (IntSize(contentsWidth(), contentsHeight()) - IntSize(visibleWidth(), visibleHeight())) - scrollOffset(); + delta.clampNegativeToZero(); + return delta; +} Is there a guarantee that this can't overflow?
Kevin Ollivier
Comment 3 2008-02-05 22:13:28 PST
Created attachment 18951 [details] Updated patch with ASSERTS added to ensure widths and heights are valid So long as all the values are positive, there should not be any issues with overflows, but you're right that we don't guarantee anywhere that the values are positive. So I've added asserts to guard against negative x, y, width or height values. I wasn't sure if it was okay to land this without the extra review, so I've gone ahead and replaced the patch.
Darin Adler
Comment 4 2008-02-06 06:40:48 PST
Comment on attachment 18951 [details] Updated patch with ASSERTS added to ensure widths and heights are valid r=me
Kevin Ollivier
Comment 5 2008-02-06 20:18:20 PST
Landed in r30060. Thanks!
Note You need to log in before you can comment on or make changes to this bug.