[webkit-changes] [WebKit/WebKit] e618b6: Create RemoteScrollingCoordinatorProxyIOS

Simon Fraser noreply at github.com
Sat Nov 5 21:06:25 PDT 2022


  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: e618b68f1b6a688be17db4c3b2b23de8f940bf45
      https://github.com/WebKit/WebKit/commit/e618b68f1b6a688be17db4c3b2b23de8f940bf45
  Author: Simon Fraser <simon.fraser at apple.com>
  Date:   2022-11-05 (Sat, 05 Nov 2022)

  Changed paths:
    M Source/WebKit/UIProcess/API/ios/WKWebViewIOS.mm
    M Source/WebKit/UIProcess/RemoteLayerTree/RemoteLayerTreeDrawingAreaProxy.h
    M Source/WebKit/UIProcess/RemoteLayerTree/RemoteLayerTreeDrawingAreaProxy.mm
    M Source/WebKit/UIProcess/RemoteLayerTree/RemoteScrollingCoordinatorProxy.cpp
    M Source/WebKit/UIProcess/RemoteLayerTree/RemoteScrollingCoordinatorProxy.h
    M Source/WebKit/UIProcess/RemoteLayerTree/ios/RemoteLayerTreeDrawingAreaProxyIOS.h
    M Source/WebKit/UIProcess/RemoteLayerTree/ios/RemoteLayerTreeDrawingAreaProxyIOS.mm
    A Source/WebKit/UIProcess/RemoteLayerTree/ios/RemoteScrollingCoordinatorProxyIOS.h
    M Source/WebKit/UIProcess/RemoteLayerTree/ios/RemoteScrollingCoordinatorProxyIOS.mm
    M Source/WebKit/UIProcess/RemoteLayerTree/ios/ScrollingTreeScrollingNodeDelegateIOS.mm
    M Source/WebKit/UIProcess/RemoteLayerTree/mac/RemoteScrollingCoordinatorProxyMac.h
    M Source/WebKit/UIProcess/RemoteLayerTree/mac/RemoteScrollingCoordinatorProxyMac.mm
    M Source/WebKit/UIProcess/WebPageProxy.cpp
    M Source/WebKit/UIProcess/ios/WKContentViewInteraction.mm
    M Source/WebKit/WebKit.xcodeproj/project.pbxproj

  Log Message:
  -----------
  Create RemoteScrollingCoordinatorProxyIOS
https://bugs.webkit.org/show_bug.cgi?id=247518
rdar://101987258

Reviewed by Sam Weinig.

macOS subclassed RemoteScrollingCoordinatorProxy into RemoteScrollingCoordinatorProxyMac, so do the same
for iOS. This cleans up some #ifdeffed code.

The RemoteLayerTreeDrawingAreaProxy subclasses instantiate the correct type of RemoteScrollingCoordinatorProxy.

Define SPECIALIZE_TYPE_TRAITS so we can use downcast<> etc but have the predicate be compile-time.

* Source/WebKit/UIProcess/API/ios/WKWebViewIOS.mm:
(-[WKWebView scrollViewWillBeginDragging:]):
(-[WKWebView scrollViewWillEndDragging:withVelocity:targetContentOffset:]):
(-[WKWebView _updateVisibleContentRects]):
* Source/WebKit/UIProcess/RemoteLayerTree/RemoteLayerTreeDrawingAreaProxy.h:
* Source/WebKit/UIProcess/RemoteLayerTree/RemoteLayerTreeDrawingAreaProxy.mm:
(WebKit::RemoteLayerTreeDrawingAreaProxy::createScrollingCoordinatorProxy const): Deleted.
* Source/WebKit/UIProcess/RemoteLayerTree/RemoteScrollingCoordinatorProxy.cpp:
(WebKit::RemoteScrollingCoordinatorProxy::layerTreeHost const):
(WebKit::RemoteScrollingCoordinatorProxy::scrollingTreeNodeDidScroll):
(WebKit::RemoteScrollingCoordinatorProxy::connectStateNodeLayers): Deleted.
(WebKit::RemoteScrollingCoordinatorProxy::establishLayerTreeScrollingRelations): Deleted.
(WebKit::RemoteScrollingCoordinatorProxy::activeTouchActionsForTouchIdentifier const): Deleted.
(WebKit::RemoteScrollingCoordinatorProxy::setTouchActionsForTouchIdentifier): Deleted.
(WebKit::RemoteScrollingCoordinatorProxy::clearTouchActionsForTouchIdentifier): Deleted.
* Source/WebKit/UIProcess/RemoteLayerTree/RemoteScrollingCoordinatorProxy.h:
(WebKit::RemoteScrollingCoordinatorProxy::isRemoteScrollingCoordinatorProxyIOS const):
(WebKit::RemoteScrollingCoordinatorProxy::isRemoteScrollingCoordinatorProxyMac const):
(WebKit::RemoteScrollingCoordinatorProxy::propagatesMainFrameScrolls const):
(WebKit::RemoteScrollingCoordinatorProxy::scrollingTreeNodeWillStartPanGesture):
(WebKit::RemoteScrollingCoordinatorProxy::scrollingTreeNodeWillStartScroll):
(WebKit::RemoteScrollingCoordinatorProxy::scrollingTreeNodeDidEndScroll):
(WebKit::RemoteScrollingCoordinatorProxy::setRootNodeIsInUserScroll):
(WebKit::RemoteScrollingCoordinatorProxy::setPropagatesMainFrameScrolls): Deleted.
(WebKit::RemoteScrollingCoordinatorProxy::fixedScrollingNodeLayerIDs const): Deleted.
* Source/WebKit/UIProcess/RemoteLayerTree/ios/RemoteLayerTreeDrawingAreaProxyIOS.h:
* Source/WebKit/UIProcess/RemoteLayerTree/ios/RemoteLayerTreeDrawingAreaProxyIOS.mm:
(WebKit::RemoteLayerTreeDrawingAreaProxyIOS::createScrollingCoordinatorProxy const):
* Source/WebKit/UIProcess/RemoteLayerTree/ios/RemoteScrollingCoordinatorProxyIOS.h: Added.
* Source/WebKit/UIProcess/RemoteLayerTree/ios/RemoteScrollingCoordinatorProxyIOS.mm:
(WebKit::RemoteScrollingCoordinatorProxyIOS::RemoteScrollingCoordinatorProxyIOS):
(WebKit::RemoteScrollingCoordinatorProxyIOS::activeTouchActionsForTouchIdentifier const):
(WebKit::RemoteScrollingCoordinatorProxyIOS::setTouchActionsForTouchIdentifier):
(WebKit::RemoteScrollingCoordinatorProxyIOS::clearTouchActionsForTouchIdentifier):
(WebKit::RemoteScrollingCoordinatorProxyIOS::scrollViewForScrollingNodeID const):
(WebKit::RemoteScrollingCoordinatorProxyIOS::removeFixedScrollingNodeLayerIDs):
(WebKit::RemoteScrollingCoordinatorProxyIOS::connectStateNodeLayers):
(WebKit::RemoteScrollingCoordinatorProxyIOS::currentLayoutViewport const):
(WebKit::RemoteScrollingCoordinatorProxyIOS::scrollingTreeNodeWillStartPanGesture):
(WebKit::RemoteScrollingCoordinatorProxyIOS::scrollingTreeNodeWillStartScroll):
(WebKit::RemoteScrollingCoordinatorProxyIOS::scrollingTreeNodeDidEndScroll):
(WebKit::RemoteScrollingCoordinatorProxyIOS::establishLayerTreeScrollingRelations):
(WebKit::RemoteScrollingCoordinatorProxyIOS::adjustTargetContentOffsetForSnapping):
(WebKit::RemoteScrollingCoordinatorProxyIOS::shouldSetScrollViewDecelerationRateFast const):
(WebKit::RemoteScrollingCoordinatorProxyIOS::setRootNodeIsInUserScroll):
(WebKit::RemoteScrollingCoordinatorProxyIOS::shouldSnapForMainFrameScrolling const):
(WebKit::RemoteScrollingCoordinatorProxyIOS::closestSnapOffsetForMainFrameScrolling const):
(WebKit::RemoteScrollingCoordinatorProxyIOS::hasActiveSnapPoint const):
(WebKit::RemoteScrollingCoordinatorProxyIOS::nearestActiveContentInsetAdjustedSnapOffset const):
(WebKit::RemoteScrollingCoordinatorProxy::scrollViewForScrollingNodeID const): Deleted.
(WebKit::RemoteScrollingCoordinatorProxy::removeFixedScrollingNodeLayerIDs): Deleted.
(WebKit::RemoteScrollingCoordinatorProxy::connectStateNodeLayers): Deleted.
(WebKit::RemoteScrollingCoordinatorProxy::currentLayoutViewport const): Deleted.
(WebKit::RemoteScrollingCoordinatorProxy::scrollingTreeNodeWillStartPanGesture): Deleted.
(WebKit::RemoteScrollingCoordinatorProxy::scrollingTreeNodeWillStartScroll): Deleted.
(WebKit::RemoteScrollingCoordinatorProxy::scrollingTreeNodeDidEndScroll): Deleted.
(WebKit::RemoteScrollingCoordinatorProxy::establishLayerTreeScrollingRelations): Deleted.
(WebKit::RemoteScrollingCoordinatorProxy::adjustTargetContentOffsetForSnapping): Deleted.
(WebKit::RemoteScrollingCoordinatorProxy::shouldSetScrollViewDecelerationRateFast const): Deleted.
(WebKit::RemoteScrollingCoordinatorProxy::setRootNodeIsInUserScroll): Deleted.
(WebKit::RemoteScrollingCoordinatorProxy::shouldSnapForMainFrameScrolling const): Deleted.
(WebKit::RemoteScrollingCoordinatorProxy::closestSnapOffsetForMainFrameScrolling const): Deleted.
(WebKit::RemoteScrollingCoordinatorProxy::hasActiveSnapPoint const): Deleted.
(WebKit::RemoteScrollingCoordinatorProxy::nearestActiveContentInsetAdjustedSnapOffset const): Deleted.
* Source/WebKit/UIProcess/RemoteLayerTree/ios/ScrollingTreeScrollingNodeDelegateIOS.mm:
(WebKit::ScrollingTreeScrollingNodeDelegateIOS::computeActiveTouchActionsForGestureRecognizer):
* Source/WebKit/UIProcess/RemoteLayerTree/mac/RemoteScrollingCoordinatorProxyMac.h:
* Source/WebKit/UIProcess/RemoteLayerTree/mac/RemoteScrollingCoordinatorProxyMac.mm:
(WebKit::RemoteScrollingCoordinatorProxyMac::connectStateNodeLayers):
(WebKit::RemoteScrollingCoordinatorProxyMac::establishLayerTreeScrollingRelations):
* Source/WebKit/UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::setDrawingArea):
* Source/WebKit/UIProcess/ios/WKContentViewInteraction.mm:
(-[WKContentView _handleTouchActionsForTouchEvent:]):
(-[WKContentView _scrollingNodeScrollingDidEnd:]):
(-[WKContentView _updateTargetedPreviewScrollViewUsingContainerScrollingNodeID:]):
* Source/WebKit/WebKit.xcodeproj/project.pbxproj:

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




More information about the webkit-changes mailing list