Consider merging https://chromium.googlesource.com/chromium/blink/+/01502bee2013aeb0c5b300d4b9bb00ba1e45e596 If a mouse button is clicked but mouseup event for it is not dispatched (it happens frequently because of context menus) and mousedown in another frame is default-prevented, 'click' event for the latter mouse click is not dispatched. EventHandler::m_capturingMouseEventsNode wrongly continues to hold a node for the first click, and it prevents hit-testing for the second click. We should alwyas clear m_capturingMouseEventsNode in mousedown handling code.
This is still something can be implemented: https://github.com/WebKit/WebKit/blob/2ef8bf040a9db8c0af836f5a92916e087e9b9e16/Source/WebCore/page/EventHandler.cpp#L1711 but I don't know alternative names of: m_eventHandlerWillResetCapturingMouseEventsNode -> can't figure out m_capturingMouseEventsNode -> could be m_capturingMouseEventsElement Plus I was not able to test the attached testcase because it requires eventSender, which might be only possible in EWS. Thanks!
(In reply to Ahmad Saleem from comment #1) > This is still something can be implemented: > > https://github.com/WebKit/WebKit/blob/ > 2ef8bf040a9db8c0af836f5a92916e087e9b9e16/Source/WebCore/page/EventHandler. > cpp#L1711 > > but I don't know alternative names of: > > m_eventHandlerWillResetCapturingMouseEventsNode -> can't figure out > > m_capturingMouseEventsNode -> could be m_capturingMouseEventsElement > > Plus I was not able to test the attached testcase because it requires > eventSender, which might be only possible in EWS. Thanks! We also have "clearLatchedState", we can call it as well like: if (xx) return clearLatchedState; xx -> m_eventHandlerWillResetCapturingMouseEventsNode (still not clear alternative in Webkit).
Committed 258055@main (c2dd7ba98908): <https://commits.webkit.org/258055@main> Reviewed commits have been landed. Closing PR #7811 and removing active labels.
<rdar://problem/103484632>