[webkit-changes] [WebKit/WebKit] a9d8f8: [UI-side compositing] Have RemoteScrollbarsControl...

Nikos Mouchtaris noreply at github.com
Sat Apr 15 11:39:28 PDT 2023


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

  Changed paths:
    M Source/WebCore/page/scrolling/AsyncScrollingCoordinator.cpp
    M Source/WebCore/page/scrolling/AsyncScrollingCoordinator.h
    M Source/WebCore/page/scrolling/ScrollingTree.h
    M Source/WebCore/page/scrolling/ScrollingTreeScrollingNode.cpp
    M Source/WebCore/page/scrolling/ScrollingTreeScrollingNode.h
    M Source/WebCore/page/scrolling/mac/ScrollerMac.h
    M Source/WebCore/page/scrolling/mac/ScrollerMac.mm
    M Source/WebCore/page/scrolling/mac/ScrollerPairMac.h
    M Source/WebCore/platform/ScrollTypes.h
    M Source/WebCore/platform/ScrollbarsController.h
    M Source/WebKit/Scripts/webkit/messages.py
    M Source/WebKit/SourcesCocoa.txt
    M Source/WebKit/UIProcess/RemoteLayerTree/RemoteScrollingCoordinatorProxy.cpp
    M Source/WebKit/UIProcess/RemoteLayerTree/RemoteScrollingCoordinatorProxy.h
    M Source/WebKit/UIProcess/RemoteLayerTree/mac/RemoteScrollingTreeMac.h
    M Source/WebKit/UIProcess/RemoteLayerTree/mac/RemoteScrollingTreeMac.mm
    M Source/WebKit/WebKit.xcodeproj/project.pbxproj
    R Source/WebKit/WebProcess/WebPage/RemoteLayerTree/RemoteScrollbarsController.cpp
    M Source/WebKit/WebProcess/WebPage/RemoteLayerTree/RemoteScrollbarsController.h
    A Source/WebKit/WebProcess/WebPage/RemoteLayerTree/RemoteScrollbarsController.mm
    M Source/WebKit/WebProcess/WebPage/RemoteLayerTree/RemoteScrollingCoordinator.h
    M Source/WebKit/WebProcess/WebPage/RemoteLayerTree/RemoteScrollingCoordinator.messages.in
    M Source/WebKit/WebProcess/WebPage/RemoteLayerTree/RemoteScrollingCoordinator.mm

  Log Message:
  -----------
  [UI-side compositing] Have RemoteScrollbarsController keep track of scrollbar visibility for hit testing
https://bugs.webkit.org/show_bug.cgi?id=255303
rdar://107859102

Reviewed by Simon Fraser.

Overlay scrollbars should only participate in hit testing when they are visible. When we do a knob alpha
animation in the UI process, send a visibility change event to the web process, notifying
RemoteScrollbarsController so it can properly report in shouldScrollbarParticipateInHitTesting
whether the scrollbar should participate in hit testing or not.

* Source/WebCore/page/scrolling/AsyncScrollingCoordinator.cpp:
(WebCore::AsyncScrollingCoordinator::scrollingTreeNodeScrollbarVisibilityDidChange):
* Source/WebCore/page/scrolling/AsyncScrollingCoordinator.h:
* Source/WebCore/page/scrolling/ScrollingTree.h:
(WebCore::ScrollingTree::scrollingTreeNodeScrollbarVisibilityDidChange):
* Source/WebCore/page/scrolling/ScrollingTreeScrollingNode.cpp:
(WebCore::ScrollingTreeScrollingNode::scrollbarVisibilityDidChange):
* Source/WebCore/page/scrolling/ScrollingTreeScrollingNode.h:
* Source/WebCore/page/scrolling/mac/ScrollerMac.h:
* Source/WebCore/page/scrolling/mac/ScrollerMac.mm:
(-[WebScrollerImpDelegateMac scrollerImp:animateKnobAlphaTo:duration:]):
(WebCore::ScrollerMac::visibilityChanged):
* Source/WebCore/page/scrolling/mac/ScrollerPairMac.h:
(WebCore::ScrollerPairMac::scrollingNode):
* Source/WebCore/platform/ScrollTypes.h:
* Source/WebCore/platform/ScrollbarsController.h:
(WebCore::ScrollbarsController::setScrollbarVisibilityState):
* Source/WebKit/Scripts/webkit/messages.py:
(headers_for_type):
* Source/WebKit/SourcesCocoa.txt:
* Source/WebKit/UIProcess/RemoteLayerTree/RemoteScrollingCoordinatorProxy.cpp:
(WebKit::RemoteScrollingCoordinatorProxy::scrollingTreeNodeScrollbarVisibilityDidChange):
* Source/WebKit/UIProcess/RemoteLayerTree/RemoteScrollingCoordinatorProxy.h:
* Source/WebKit/UIProcess/RemoteLayerTree/mac/RemoteScrollingTreeMac.h:
* Source/WebKit/UIProcess/RemoteLayerTree/mac/RemoteScrollingTreeMac.mm:
(WebKit::RemoteScrollingTreeMac::scrollingTreeNodeScrollbarVisibilityDidChange):
* Source/WebKit/WebKit.xcodeproj/project.pbxproj:
* Source/WebKit/WebProcess/WebPage/RemoteLayerTree/RemoteScrollbarsController.h:
* Source/WebKit/WebProcess/WebPage/RemoteLayerTree/RemoteScrollbarsController.mm: Renamed from Source/WebKit/WebProcess/WebPage/RemoteLayerTree/RemoteScrollbarsController.cpp.
(WebKit::RemoteScrollbarsController::RemoteScrollbarsController):
(WebKit::RemoteScrollbarsController::mouseEnteredContentArea):
(WebKit::RemoteScrollbarsController::mouseExitedContentArea):
(WebKit::RemoteScrollbarsController::mouseMovedInContentArea):
(WebKit::RemoteScrollbarsController::mouseEnteredScrollbar const):
(WebKit::RemoteScrollbarsController::mouseExitedScrollbar const):
(WebKit::RemoteScrollbarsController::shouldScrollbarParticipateInHitTesting):
(WebKit::RemoteScrollbarsController::setScrollbarVisibilityState):
* Source/WebKit/WebProcess/WebPage/RemoteLayerTree/RemoteScrollingCoordinator.h:
* Source/WebKit/WebProcess/WebPage/RemoteLayerTree/RemoteScrollingCoordinator.messages.in:
* Source/WebKit/WebProcess/WebPage/RemoteLayerTree/RemoteScrollingCoordinator.mm:
(WebKit::RemoteScrollingCoordinator::scrollingTreeNodeScrollbarVisibilityDidChange):

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




More information about the webkit-changes mailing list