[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