Bug 26401

Summary: mousemove event fired on click, even though the mouse does not move
Product: WebKit Reporter: simon <simon.brent>
Component: UI EventsAssignee: Nobody <webkit-unassigned>
Status: NEW ---    
Severity: Normal CC: ap, kangax, me, odai640680odai, rniwa, sam
Priority: P2    
Version: 528+ (Nightly build)   
Hardware: PC   
OS: Windows XP   
URL: http://jsbin.com/iwige
Attachments:
Description Flags
DRT test none

Description simon 2009-06-15 03:44:53 PDT
When you make a mouse click, the following events are fired (in order):

mousedown, mouseup, click, mousemove

even if the mouse has not moved.

Similarly, if you DO move the mouse between mousedown and mouseup, an extra mousemove event is fired after mouseup, so the events fired are

mousedown, mousemove, mouseup, mousemove
Comment 1 Michaël Villar 2010-06-19 08:22:43 PDT
I have a similar bug. I illustrated it here : http://michaelvillar.com/tmp/click_mousemove_bdc4.html

The mousemove event is fired after a click even if the mouse doesn't move.
Comment 2 Michaël Villar 2010-06-19 08:32:15 PDT
It appears it's working as expected in Chrome 5.0.375.70.
The problem still exists in Safari 5 and the latest Webkit nightly r61351
Comment 3 Ryosuke Niwa 2011-08-15 10:30:21 PDT
The bug appears to be in (void)mouseUp:(NSEvent *)event in WebHTMLView.mm.  It calls [self _updateMouseoverWithFakeEvent], which in turn fires mousemove event.
Comment 4 Ryosuke Niwa 2011-08-15 10:31:10 PDT
Created attachment 103923 [details]
DRT test
Comment 5 Alexey Proskuryakov 2011-08-15 10:37:59 PDT
See also: bug 16271, bug 34253.
Comment 6 kangax 2011-08-30 14:26:19 PDT
Similar issue in Chrome — http://code.google.com/p/chromium/issues/detail?id=5598