Changes

Jump to: navigation, search

Gecko:Mouse Wheel Scrolling

920 bytes added, 13:56, 26 January 2010
DOM event vs. Scrolling
Note that the transaction is updated only when a mouse wheel event scrolls the target frame actually. I.e., when an user keeps to turn mouse wheel to unscrollable direction, the transaction will be timed out. This is important for touchpad users, see [https://bugzilla.mozilla.org/show_bug.cgi?id=442774 bug 442774].
= DOM DOMMouseScroll event vs. Scrolling = A native mouse wheel event causes DOMMouseScroll events. The widget code dispatches an nsMouseScroll event when it handles a native mouse wheel event. Then, nsPresShell dispatches DOMMouseScroll events first. If preventDefault() wasn't called, nsEventStateManager tries to scroll a frame by the above rules. So, the contents can prevent scrolling. At that time, mouse wheel transaction isn't updated. Note that DOMMouseScroll events are fired by actual cursor position. So, by the mouse wheel transaction system, the scroll target and the target of the DOMMouseScroll event may be different even if the target of DOMMouseScroll is scrollable. Windows version of Gecko 1.9.2 and earlier doesn't fire DOMMouseScroll events when mouse cursor is on a windowed plug-in and it consumes native mouse wheel events. This is going to be improved in [https://bugzilla.mozilla.org/show_bug.cgi?id=483136 bug 483136].
= Hack for Thinkpad =
= Issues =
87
edits

Navigation menu