Last Comment Bug 657935 - Should refer computed delta value at dispatching pixel scroll event
: Should refer computed delta value at dispatching pixel scroll event
Status: RESOLVED FIXED
:
Product: Core
Classification: Components
Component: Event Handling (show other bugs)
: Trunk
: x86 Windows 7
: -- normal (vote)
: mozilla6
Assigned To: Masayuki Nakano [:masayuki] (Mozilla Japan)
:
: Andrew Overholt [:overholt]
Mentors:
Depends on: 657634
Blocks: 605648 658111 658153
  Show dependency treegraph
 
Reported: 2011-05-18 08:09 PDT by Masayuki Nakano [:masayuki] (Mozilla Japan)
Modified: 2011-05-23 08:08 PDT (History)
4 users (show)
See Also:
Crash Signature:
(edit)
QA Whiteboard:
Iteration: ---
Points: ---
Has Regression Range: ---
Has STR: ---


Attachments
Patch v1.0 (12.94 KB, patch)
2011-05-18 08:09 PDT, Masayuki Nakano [:masayuki] (Mozilla Japan)
no flags Details | Diff | Splinter Review
Patch v1.1 (14.08 KB, patch)
2011-05-18 20:43 PDT, Masayuki Nakano [:masayuki] (Mozilla Japan)
bugs: review+
jmathies: review+
Details | Diff | Splinter Review

Description Masayuki Nakano [:masayuki] (Mozilla Japan) 2011-05-18 08:09:14 PDT
Created attachment 533287 [details] [diff] [review]
Patch v1.0

If override mechanism of system settings for mouse wheel scroll is enabled (it's enabled on Windows in default settings), the delta value of a pixel scroll event for high resolution scrolling should be computed with the overridden delta value.

See https://wiki.mozilla.org/Gecko:Mouse_Wheel_Scrolling#Override_system_of_system_scroll_speed for the detail of the mechanism.

This patch sets computed delta value (i.e., overridden delta value) to the query event's reply. And nsWindow uses the computed delta when it computes delta value of a pixel scroll event.

This patch depends on the patch for bug 657634. It prevents high resolution scrolling when acceleration is enabled. The acceleration mechanism is stateful, therefore, the acceleration and high resolution scrolling cannot be enabled same time.
Comment 1 Masayuki Nakano [:masayuki] (Mozilla Japan) 2011-05-18 20:43:54 PDT
Created attachment 533523 [details] [diff] [review]
Patch v1.1

I'm sorry for the mistake.

It's wrong to compute our delta value for test event. I must not use orienter without native delta value.
Comment 2 Olli Pettay [:smaug] 2011-05-21 14:13:51 PDT
Comment on attachment 533523 [details] [diff] [review]
Patch v1.1

Jimm should probably look at at least the windows/ part.
Comment 3 Jim Mathies [:jimm] 2011-05-23 05:48:07 PDT
Comment on attachment 533523 [details] [diff] [review]
Patch v1.1

Review of attachment 533523 [details] [diff] [review]:
-----------------------------------------------------------------

::: widget/src/windows/nsWindow.cpp
@@ +6456,1 @@
>  

nit - can we rename that var to something similar to mComputedScrollAmount since that's the value we use. I'm not a fan of 'scrollAmountPer*WHEEL_DELTA*|.
Comment 4 Masayuki Nakano [:masayuki] (Mozilla Japan) 2011-05-23 08:08:46 PDT
http://hg.mozilla.org/mozilla-central/rev/87ec2a46a38c

Note You need to log in before you can comment on or make changes to this bug.