[Webkit-unassigned] [Bug 188561] mouseenter/leave events don't work per spec because of optimizations in EventHandler.cpp

bugzilla-daemon at webkit.org bugzilla-daemon at webkit.org
Fri Sep 7 00:33:23 PDT 2018


https://bugs.webkit.org/show_bug.cgi?id=188561

--- Comment #1 from Ryosuke Niwa <rniwa at webkit.org> ---
(In reply to Olli Pettay (:smaug) from comment #0)
> Created attachment 347090 [details]
> testcase, move mouse to top left corner, open console and reload and move
> mouse per instructions
> 
> Per UIEvent spec, mouseenter/leave are composed events, so they do propagate
> from shadow DOM to host.
> But, assuming I'm reading the code right, the optimizations in
> EventHandler.cpp make mouseenter/leave handling depend on whether there are
> capturing event listeners, even though the listener on host can be
> bubbling listener, since when event is handled at that level, it is
> AT_TARGET, and all the listeners should be called.

The bubbling event listeners are checked as we walk up the ancestors:
https://trac.webkit.org/browser/webkit/trunk/Source/WebCore/page/EventHandler.cpp#L2571

The bug we have is that we're not walking up past the shadow root here.
We also need to make these events not-composed per https://github.com/w3c/uievents/issues/208

-- 
You are receiving this mail because:
You are the assignee for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.webkit.org/pipermail/webkit-unassigned/attachments/20180907/146971f8/attachment.html>


More information about the webkit-unassigned mailing list