Changes

Jump to: navigation, search

Gecko:Mouse Wheel Scrolling

704 bytes added, 09:05, 26 January 2010
Mouse wheel transaction
We can fix these problems by a simple idea. That is, all users may want to scroll only one scrollable frame at one time. So, we can assume that two or more mouse wheel events which are fired between short term should scroll only one scrollable frame. The frame must be the frame under cursor at the first mouse wheel event.
Gecko manages this transaction by nsMouseWheelTransaction which is in [http://mxr.mozilla.org/mozilla-central/source/content/events/src/nsEventStateManager.cpp nsEventStateManager.cpp]. This was implemented in [https://bugzilla.mozilla.org/show_bug.cgi?id=312831 bug 312831]. The rules for end of a transaction: * When no mouse wheel events are fired during specified term after latest mouse wheel event. The length is defined by '''mousewheel.transaction.timeout'''. The value means millisecond and the default value is 1500.* When mouse cursor moves to outside of the targeted scrollable frame.* When mouse cursor moves inside the targeted frame. However, we need to ignore some mouse move events which are fired unexpectedly when the user turned wheel. '''mousewheel.transaction.ignoremovedelay''' defines the time of ignoring mouse move events before and after a mouse wheel event.
= DOM event vs. Scrolling =
= Issues =
87
edits

Navigation menu