void ScrollingTree::viewportChangedViaDelegatedScrolling(ScrollingNodeID nodeID, const WebCore::FloatRect& fixedPositionRect, double scale) { ScrollingTreeNode* node = nodeForID(nodeID); if (!is<ScrollingTreeScrollingNode>(node)) return; downcast<ScrollingTreeScrollingNode>(*node).updateLayersAfterViewportChange(fixedPositionRect, scale); }
void ScrollingTree::viewportChangedViaDelegatedScrolling(ScrollingNodeID nodeID, const WebCore::FloatRect& viewportRect, double scale) { ScrollingTreeNode* node = nodeForID(nodeID); if (!node) return; if (!node->isScrollingNode()) return; toScrollingTreeScrollingNode(node)->updateLayersAfterViewportChange(viewportRect, scale); }
void ScrollingTree::scrollPositionChangedViaDelegatedScrolling(ScrollingNodeID nodeID, const WebCore::FloatPoint& scrollPosition, bool inUserInteration) { ScrollingTreeNode* node = nodeForID(nodeID); if (!is<ScrollingTreeOverflowScrollingNode>(node)) return; // Update descendant nodes downcast<ScrollingTreeOverflowScrollingNode>(*node).updateLayersAfterDelegatedScroll(scrollPosition); // Update GraphicsLayers and scroll state. scrollingTreeNodeDidScroll(nodeID, scrollPosition, inUserInteration ? SyncScrollingLayerPosition : SetScrollingLayerPosition); }
void ScrollingTree::scrollPositionChangedViaDelegatedScrolling(ScrollingNodeID nodeID, const WebCore::FloatPoint& scrollPosition) { ScrollingTreeNode* node = nodeForID(nodeID); if (!node) return; if (node->nodeType() != OverflowScrollingNode) return; // Update descendant nodes toScrollingTreeScrollingNode(node)->updateLayersAfterDelegatedScroll(scrollPosition); // Update GraphicsLayers and scroll state. scrollingTreeNodeDidScroll(nodeID, scrollPosition); }