[webkit-changes] [WebKit/WebKit] 90a47d: [UI-side compositing] Plumb mouseMovedInContentAre...

Nikos Mouchtaris noreply at github.com
Thu Apr 6 21:27:21 PDT 2023


  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 90a47db0ffa461850eaba59ae2b2f2dae80eee2a
      https://github.com/WebKit/WebKit/commit/90a47db0ffa461850eaba59ae2b2f2dae80eee2a
  Author: Nikolaos Mouchtaris <nmouchtaris at apple.com>
  Date:   2023-04-06 (Thu, 06 Apr 2023)

  Changed paths:
    M Source/WebCore/page/EventHandler.cpp
    M Source/WebCore/page/scrolling/AsyncScrollingCoordinator.cpp
    M Source/WebCore/page/scrolling/AsyncScrollingCoordinator.h
    M Source/WebCore/page/scrolling/ScrollingCoordinator.h
    M Source/WebCore/page/scrolling/ScrollingStateNode.h
    M Source/WebCore/page/scrolling/ScrollingStateScrollingNode.cpp
    M Source/WebCore/page/scrolling/ScrollingStateScrollingNode.h
    M Source/WebCore/page/scrolling/mac/ScrollerPairMac.h
    M Source/WebCore/page/scrolling/mac/ScrollerPairMac.mm
    M Source/WebCore/page/scrolling/mac/ScrollingTreeScrollingNodeDelegateMac.mm
    M Source/WebKit/Shared/WebCoreArgumentCoders.serialization.in

  Log Message:
  -----------
  [UI-side compositing] Plumb mouseMovedInContentArea event to UI process
https://bugs.webkit.org/show_bug.cgi?id=255126
rdar://107732708

Reviewed by Simon Fraser.

This patch plumbs mouseMovedInContentArea events to the UI process.
This event is generated each time the mouse is moved within the
particular content area, and eventually results into a
mouseLocationInScrollerForScrollerImp call into our delegate class,
which allows AppKit to know where the mouse is within the scroller
(this function still needs to be fixed for overflow scroll nodes).
Since there is no state related to this we simply use the property
change on the ScrollingStateNode to tell the UI process to send this
event to the ScrollerPairMac. This patch also ensures that the
NSScrollerImpPairs are accessed on the main thread for the various
mouse events.

* Source/WebCore/page/EventHandler.cpp:
(WebCore::EventHandler::notifyScrollableAreasOfMouseEvents):
* Source/WebCore/page/scrolling/AsyncScrollingCoordinator.cpp:
(WebCore::AsyncScrollingCoordinator::setMouseIsActiveInContentArea):
* Source/WebCore/page/scrolling/AsyncScrollingCoordinator.h:
* Source/WebCore/page/scrolling/ScrollingCoordinator.h:
(WebCore::ScrollingCoordinator::setMouseIsActiveInContentArea):
* Source/WebCore/page/scrolling/ScrollingStateNode.h:
* Source/WebCore/page/scrolling/ScrollingStateScrollingNode.cpp:
(WebCore::ScrollingStateScrollingNode::setMouseIsActiveInContentArea):
* Source/WebCore/page/scrolling/ScrollingStateScrollingNode.h:
* Source/WebCore/page/scrolling/mac/ScrollerPairMac.h:
* Source/WebCore/page/scrolling/mac/ScrollerPairMac.mm:
(WebCore::ScrollerPairMac::mouseMovedInContentArea):
* Source/WebCore/page/scrolling/mac/ScrollingTreeScrollingNodeDelegateMac.mm:
(WebCore::ScrollingTreeScrollingNodeDelegateMac::updateFromStateNode):
* Source/WebKit/Shared/WebCoreArgumentCoders.serialization.in:

Canonical link: https://commits.webkit.org/262699@main




More information about the webkit-changes mailing list