Created attachment 533525 [details] [diff] [review]
There are a couple of issues:
1. nsMouseWheelTransaction::OnEvent() doesn't handle NS_MOUSE_PIXEL_SCROLL as NS_MOUSE_SCROLL. Therefore, pixel scroll event doesn't cause to end transaction even if mouse cursor is moved. This isn't a problem for Windows high resolution scroll, but this is actually a bug.
2. nsMouseWheelTransaction::OnEvent() doesn't handle NS_QUERY_SCROLL_TARGET_INFO as its mouse scroll event. NS_QUERY_SCROLL_TARGET_INFO causes calling DoScrollText() for querying the information. At this time, DoScrollText() calls nsMouseWheelTransaction::UpdateTransaction() without the mouse move check in OnEvent(). Therefore, if high resolution scrolling is enabled, mouse move doesn't cause canceling the transaction. This is a regression of bug 605648.
The patch needs the change for bug 657935. I'll land the patch with it.