RESOLVED FIXED 7701
mouseout sent to the wrong element when layout changes simultaneously
https://bugs.webkit.org/show_bug.cgi?id=7701
Summary mouseout sent to the wrong element when layout changes simultaneously
Jacob Lukas
Reported 2006-03-10 11:16:06 PST
Using Javascript onmouseover/onmouseout and CSS :hover at the same time sometimes results in onmouseout not working.
Attachments
Reduced test case (1.37 KB, text/html)
2006-03-10 11:16 PST, Jacob Lukas
no flags
Jacob Lukas
Comment 1 2006-03-10 11:16:52 PST
Created attachment 6989 [details] Reduced test case
Geoffrey Garen
Comment 2 2006-03-10 11:34:05 PST
That's a great test case. Step 3 should read: "Mouse right until the cursor is below Three but still over two, then mouse up. Two should disappear, but doesn't."
mitz
Comment 3 2006-03-10 12:49:40 PST
This test case is a great example of what the comment in FrameView::dispatchMouseEvent() says about not caching the old mouse-over node. In this case, as the mouse enters "Three", the code tries to calculate which node the mouse was previously in, but while doing this, first of all it updates the document's layout applying to the already-updated hover states. According to the new layout, the previous mouse position was in "Four", so "Three Four" is sent a bogus mouse out event, and "One Two" never gets one.
Jacob Lukas
Comment 4 2006-03-10 14:17:11 PST
note that this test case works correctly if either the css or javascript hover is removed. only the combination of them brings out this bug.
Alexey Proskuryakov
Comment 5 2006-03-20 12:47:09 PST
Fixed, patch in bug 3439
Note You need to log in before you can comment on or make changes to this bug.