[Webkit-unassigned] [Bug 257039] [GTK] Overlay scrollbar does not properly hide itself when drag released outside window

bugzilla-daemon at webkit.org bugzilla-daemon at webkit.org
Fri May 19 14:45:39 PDT 2023


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

--- Comment #2 from Michael Catanzaro <mcatanzaro at redhat.com> ---
I'm having trouble investigating this one. Here's what I've done so far:

 * In EventHandler::handleMouseReleaseEvent, I changed all the FireMouseOverOut::No to FireMouseOverOut::Yes. Not sure what the consequences of that is, but it's required so that EventHandler::updateMouseEventTargetNode will call EventHandler::notifyScrollableAreasOfMouseEvents.
 * In EventHandler::notifyScrollableAreasOfMouseEvents, I applied some sabotage that I don't understand (below) in order to ensure that ScrollableArea::mouseExitedContentArea gets called

diff --git a/Source/WebCore/page/EventHandler.cpp b/Source/WebCore/page/EventHandler.cpp
index 44afaa401827..fe617acc2e91 100644
--- a/Source/WebCore/page/EventHandler.cpp
+++ b/Source/WebCore/page/EventHandler.cpp
@@ -2769,9 +2769,9 @@ void EventHandler::notifyScrollableAreasOfMouseEvents(const AtomString& eventTyp
     }

     if (!movedBetweenScrollableaAreas)
-        return;
+//        return;

-    if (scrollableAreaForLastNode && scrollableAreaForLastNode != frameView)
+    if (scrollableAreaForLastNode /*&& scrollableAreaForLastNode != frameView*/)
         scrollableAreaForLastNode->mouseExitedContentArea();

     if (scrollableAreaForNodeUnderMouse && scrollableAreaForNodeUnderMouse != frameView)

Now ScrollbarsControllerGeneric::hideOverlayScrollbars gets called like I want it to, but it doesn't actually work. The function bails immediately because m_overlayScrollbarAnimationTimer.isActive() and m_overlayScrollbarAnimationTarget == 0, meaning it's _already_ trying to hide the scrollbars for some unknown reason, but fails. (This is only true after my changes above, not normally.) I need to investigate more to see what's going wrong. If I sabotage this further to immediately hide the scrollbars, then the scrollbars stay hidden permanently, so something's up here.

-- 
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/20230519/601f0e5e/attachment.htm>


More information about the webkit-unassigned mailing list