RESOLVED WONTFIX113042
Web Inspector: expose nodes with pointer-events: none to node search tool.
https://bugs.webkit.org/show_bug.cgi?id=113042
Summary Web Inspector: expose nodes with pointer-events: none to node search tool.
Dmitry Gozman
Reported 2013-03-22 04:40:40 PDT
Currently, hovering over element with pointer-events:none does not highlight it while in node search inspector mode.
Attachments
Patch (25.44 KB, patch)
2013-03-22 05:37 PDT, Dmitry Gozman
no flags
Patch (21.11 KB, patch)
2013-03-26 08:25 PDT, Dmitry Gozman
no flags
Patch (21.09 KB, patch)
2013-03-27 01:47 PDT, Dmitry Gozman
no flags
Patch (24.25 KB, patch)
2013-04-02 04:04 PDT, Dmitry Gozman
pfeldman: review-
Dmitry Gozman
Comment 1 2013-03-22 05:37:28 PDT
Pavel Feldman
Comment 2 2013-03-22 08:29:54 PDT
Comment on attachment 194521 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=194521&action=review Before it gets reviewed, does it work in accelerated compositing mode? That mode might do its own hit testing. > Source/WebCore/inspector/InspectorDOMAgent.cpp:1050 > + return m_searchingForNode; What does it mean? > Source/WebCore/page/EventHandler.cpp:1662 > + if (m_frame->document()->renderer() && InspectorInstrumentation::willHandleMouseMove(m_frame->page())) { Can you move mouseDidMoveOverElement call here and do the rest in it? Pass whatever you need into it. > Source/WebCore/rendering/RenderObject.h:977 > + bool visibleToRegularHitTesting() const { return style()->visibility() == VISIBLE && style()->pointerEvents() != PE_NONE; } I would leave this name and introduce visibleToHitTestingIgnoringPointerEvents
PhistucK
Comment 3 2013-03-24 11:16:00 PDT
I would highlight pointer-events: none elements with a slightly different color (maybe just a lighter/less opaque version of the current color), because up until now, the current behavior was equally annoying (I could not select these elements) and useful (I immediately knew they have pointer-events: none). What do you think?
Pavel Feldman
Comment 4 2013-03-24 12:15:43 PDT
That's a very good point. But I'd rather paint a border around the node that captures pointer events in case it is different.
Dmitry Gozman
Comment 5 2013-03-26 08:18:51 PDT
Comment on attachment 194521 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=194521&action=review >> Before it gets reviewed, does it work in accelerated compositing mode? That mode might do its own hit testing. Compositing mode does its own hit testing to choose the layer which receives the event. Then WebCore hit testing kicks in. No need to change anything in compositing. >> Source/WebCore/inspector/InspectorDOMAgent.cpp:1050 >> + return m_searchingForNode; > > What does it mean? Removed. >> Source/WebCore/page/EventHandler.cpp:1662 >> + if (m_frame->document()->renderer() && InspectorInstrumentation::willHandleMouseMove(m_frame->page())) { > > Can you move mouseDidMoveOverElement call here and do the rest in it? Pass whatever you need into it. Done. >> Source/WebCore/rendering/RenderObject.h:977 >> + bool visibleToRegularHitTesting() const { return style()->visibility() == VISIBLE && style()->pointerEvents() != PE_NONE; } > > I would leave this name and introduce visibleToHitTestingIgnoringPointerEvents I left this name as is, and added visibleToHitTestRequest instead.
Dmitry Gozman
Comment 6 2013-03-26 08:25:28 PDT
Pavel Feldman
Comment 7 2013-03-26 09:31:24 PDT
Comment on attachment 195092 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=195092&action=review Overall looks good, couple of nits inside. Please add someone familiar with hit testing code in render object to review for blessing. > Source/WebCore/page/EventHandler.cpp:1662 > + if (m_frame->contentRenderer()) { These two lines should be a part of inspector instrumentation. > Source/WebCore/rendering/HitTestRequest.h:42 > + IgnorePointerEvents = 1 << 12 IgnorePointerEventsNone
Dmitry Gozman
Comment 8 2013-03-27 01:47:12 PDT
Dmitry Gozman
Comment 9 2013-03-27 01:49:07 PDT
Comment on attachment 195092 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=195092&action=review >> Source/WebCore/page/EventHandler.cpp:1662 >> + if (m_frame->contentRenderer()) { > > These two lines should be a part of inspector instrumentation. Moved. >> Source/WebCore/rendering/HitTestRequest.h:42 >> + IgnorePointerEvents = 1 << 12 > > IgnorePointerEventsNone Done.
Dmitry Gozman
Comment 10 2013-03-27 02:05:36 PDT
Allan, could you please take a look at hit testing change?
Dmitry Gozman
Comment 11 2013-04-02 04:04:20 PDT
Pavel Feldman
Comment 12 2013-04-02 07:19:24 PDT
Comment on attachment 196118 [details] Patch This change looks good to me, but we still need to show the element that gets mouse events. Otherwise, it will regress the "searching for the glass pane" scenario.
Note You need to log in before you can comment on or make changes to this bug.