Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 009a87a71b03c799d190c76635e8eb92d4658e0f https://github.com/WebKit/WebKit/commit/009a87a71b03c799d190c76635e8eb92d4658e0f Author: Nikolaos Mouchtaris <nmouchta...@apple.com> Date: 2024-02-15 (Thu, 15 Feb 2024)
Changed paths: M LayoutTests/resources/ui-helper.js M Source/WebCore/Headers.cmake M Source/WebCore/WebCore.xcodeproj/project.pbxproj M Source/WebCore/page/LocalFrameView.cpp M Source/WebCore/page/scrolling/AsyncScrollingCoordinator.cpp M Source/WebCore/page/scrolling/ScrollingCoordinator.cpp M Source/WebCore/page/scrolling/ScrollingCoordinator.h M Source/WebCore/page/scrolling/ScrollingCoordinatorTypes.h A Source/WebCore/page/scrolling/ScrollingNodeID.h M Source/WebCore/page/scrolling/ScrollingStateNode.h M Source/WebCore/page/scrolling/ScrollingStateOverflowScrollProxyNode.h M Source/WebCore/page/scrolling/ScrollingStateTree.cpp M Source/WebCore/page/scrolling/ScrollingTree.cpp M Source/WebCore/page/scrolling/ScrollingTreeGestureState.cpp M Source/WebCore/page/scrolling/ScrollingTreeGestureState.h M Source/WebCore/page/scrolling/ScrollingTreeOverflowScrollProxyNode.h M Source/WebCore/page/scrolling/ThreadedScrollingCoordinator.cpp M Source/WebCore/page/scrolling/mac/ScrollingTreeMac.mm M Source/WebCore/platform/ScrollTypes.h M Source/WebCore/platform/ScrollableArea.h M Source/WebCore/platform/graphics/GraphicsLayer.h M Source/WebCore/platform/graphics/ca/PlatformCALayer.h M Source/WebCore/platform/graphics/ca/cocoa/PlatformCALayerCocoa.h M Source/WebCore/platform/graphics/nicosia/NicosiaCompositionLayer.h M Source/WebCore/plugins/PluginViewBase.h M Source/WebCore/rendering/LayerAncestorClippingStack.cpp M Source/WebCore/rendering/LayerAncestorClippingStack.h M Source/WebCore/rendering/RenderEmbeddedObject.cpp M Source/WebCore/rendering/RenderLayerBacking.cpp M Source/WebCore/rendering/RenderLayerBacking.h M Source/WebCore/rendering/RenderLayerCompositor.cpp M Source/WebCore/rendering/RenderLayerScrollableArea.cpp M Source/WebCore/testing/Internals.cpp M Source/WebCore/testing/Internals.h M Source/WebCore/testing/Internals.idl M Source/WebKit/Scripts/webkit/messages.py M Source/WebKit/Shared/FocusedElementInformation.h M Source/WebKit/Shared/FocusedElementInformation.serialization.in M Source/WebKit/Shared/ProcessQualified.serialization.in M Source/WebKit/Shared/RemoteLayerTree/LayerProperties.h M Source/WebKit/Shared/RemoteLayerTree/RemoteLayerTree.serialization.in M Source/WebKit/Shared/RemoteLayerTree/RemoteLayerTreePropertyApplier.mm M Source/WebKit/Shared/RemoteLayerTree/RemoteScrollingUIState.h M Source/WebKit/Shared/WTFArgumentCoders.serialization.in M Source/WebKit/Shared/WebCoreArgumentCoders.serialization.in M Source/WebKit/Shared/ios/InteractionInformationAtPosition.h M Source/WebKit/Shared/ios/InteractionInformationAtPosition.serialization.in M Source/WebKit/UIProcess/API/Cocoa/WKWebViewPrivateForTesting.h M Source/WebKit/UIProcess/API/Cocoa/WKWebViewTesting.mm M Source/WebKit/UIProcess/RemoteLayerTree/RemoteLayerTreeNode.h M Source/WebKit/UIProcess/RemoteLayerTree/RemoteScrollingCoordinatorProxy.cpp M Source/WebKit/UIProcess/RemoteLayerTree/RemoteScrollingCoordinatorProxy.h M Source/WebKit/UIProcess/RemoteLayerTree/RemoteScrollingTree.h M Source/WebKit/UIProcess/RemoteLayerTree/mac/RemoteLayerTreeEventDispatcher.cpp M Source/WebKit/UIProcess/RemoteLayerTree/mac/RemoteLayerTreeEventDispatcher.h M Source/WebKit/UIProcess/RemoteLayerTree/mac/RemoteScrollingCoordinatorProxyMac.h M Source/WebKit/UIProcess/RemoteLayerTree/mac/RemoteScrollingCoordinatorProxyMac.mm M Source/WebKit/UIProcess/RemoteLayerTree/mac/RemoteScrollingTreeMac.h M Source/WebKit/UIProcess/RemoteLayerTree/mac/RemoteScrollingTreeMac.mm M Source/WebKit/UIProcess/WebPageProxy.cpp M Source/WebKit/UIProcess/WebPageProxy.h M Source/WebKit/UIProcess/WebPageProxy.messages.in M Source/WebKit/UIProcess/ios/WKContentViewInteraction.mm M Source/WebKit/UIProcess/ios/WebPageProxyIOS.mm M Source/WebKit/WebProcess/Plugins/PDF/UnifiedPDF/UnifiedPDFPlugin.h M Source/WebKit/WebProcess/Plugins/PluginView.cpp M Source/WebKit/WebProcess/WebCoreSupport/ios/WebChromeClientIOS.mm M Source/WebKit/WebProcess/WebPage/RemoteLayerTree/PlatformCALayerRemote.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 M Source/WebKit/WebProcess/WebPage/WebPage.cpp M Source/WebKit/WebProcess/WebPage/WebPage.h M Source/WebKit/WebProcess/WebPage/WebPage.messages.in M Tools/TestRunnerShared/UIScriptContext/Bindings/UIScriptController.idl M Tools/TestRunnerShared/UIScriptContext/UIScriptController.h M Tools/WebKitTestRunner/mac/UIScriptControllerMac.h M Tools/WebKitTestRunner/mac/UIScriptControllerMac.mm Log Message: ----------- [Site Isolation] Make ScrollingNodeIDs process qualified https://bugs.webkit.org/show_bug.cgi?id=268102 rdar://121621729 Reviewed by Alex Christensen. In anticipation of getting UI process scrolling working with site isolation, make ScrollingNodeIDs process qualified, so the ScrollingTree in the UI process can differentiate between scrolling nodes with the same id from the main web process and the iframe web process. The scrollbar infrastructure also needs to be fixed as it expects a single uint64 for the scrolling node id. * LayoutTests/resources/ui-helper.js: (window.UIHelper.scrollbarState.return.new.Promise.): (window.UIHelper.scrollbarState.return.new.Promise): (window.UIHelper.scrollbarState): * Source/WebCore/Headers.cmake: * Source/WebCore/WebCore.xcodeproj/project.pbxproj: * Source/WebCore/page/LocalFrameView.cpp: (WebCore::LocalFrameView::scrollingNodeID const): * Source/WebCore/page/scrolling/AsyncScrollingCoordinator.cpp: (WebCore::AsyncScrollingCoordinator::insertNode): (WebCore::AsyncScrollingCoordinator::parentOfNode const): (WebCore::AsyncScrollingCoordinator::ensureRootStateNodeForFrameView): (WebCore::AsyncScrollingCoordinator::setRelatedOverflowScrollingNodes): (WebCore::AsyncScrollingCoordinator::scrollableContainerNodeID const): * Source/WebCore/page/scrolling/AsyncScrollingCoordinator.h: * Source/WebCore/page/scrolling/ScrollingCoordinator.cpp: (WebCore::ScrollingCoordinator::scrollableContainerNodeID const): (WebCore::ScrollingCoordinator::uniqueScrollingNodeID): (WebCore::ScrollingCoordinator::deferWheelEventTestCompletionForReason): (WebCore::ScrollingCoordinator::removeWheelEventTestCompletionDeferralForReason): * Source/WebCore/page/scrolling/ScrollingCoordinator.h: (WebCore::ScrollingCoordinator::insertNode): (WebCore::ScrollingCoordinator::parentOfNode const): * Source/WebCore/page/scrolling/ScrollingCoordinatorTypes.h: * Source/WebCore/page/scrolling/ScrollingNodeID.h: Added. * Source/WebCore/page/scrolling/ScrollingStateNode.h: (WebCore::ScrollingStateNode::parentNodeID const): * Source/WebCore/page/scrolling/ScrollingStateOverflowScrollProxyNode.h: (): Deleted. * Source/WebCore/page/scrolling/ScrollingStateTree.cpp: (WebCore::ScrollingStateTree::insertNode): (WebCore::ScrollingStateTree::stateNodeForID const): * Source/WebCore/page/scrolling/ScrollingStateTree.h: * Source/WebCore/page/scrolling/ScrollingTree.cpp: (WebCore::ScrollingTree::handleWheelEvent): * Source/WebCore/page/scrolling/ScrollingTreeGestureState.cpp: (WebCore::ScrollingTreeGestureState::clearAllNodes): * Source/WebCore/page/scrolling/ScrollingTreeGestureState.h: * Source/WebCore/page/scrolling/ScrollingTreeOverflowScrollProxyNode.h: (): Deleted. * Source/WebCore/page/scrolling/ThreadedScrollingCoordinator.cpp: (WebCore::ThreadedScrollingCoordinator::handleWheelEventForScrolling): * Source/WebCore/page/scrolling/mac/ScrollingTreeMac.mm: (scrollingNodeIDForLayer): * Source/WebCore/platform/ScrollTypes.h: * Source/WebCore/platform/ScrollableArea.h: (WebCore::ScrollableArea::scrollingNodeID const): * Source/WebCore/platform/graphics/GraphicsLayer.h: * Source/WebCore/platform/graphics/ca/PlatformCALayer.h: * Source/WebCore/platform/graphics/ca/cocoa/PlatformCALayerCocoa.h: * Source/WebCore/platform/graphics/nicosia/NicosiaCompositionLayer.h: * Source/WebCore/plugins/PluginViewBase.h: (WebCore::PluginViewBase::scrollingNodeID const): * Source/WebCore/rendering/LayerAncestorClippingStack.cpp: (WebCore::LayerAncestorClippingStack::LayerAncestorClippingStack): (WebCore::LayerAncestorClippingStack::clear): (WebCore::LayerAncestorClippingStack::detachFromScrollingCoordinator): (WebCore::LayerAncestorClippingStack::lastOverflowScrollProxyNodeID const): (WebCore::LayerAncestorClippingStack::updateWithClipData): * Source/WebCore/rendering/LayerAncestorClippingStack.h: * Source/WebCore/rendering/RenderEmbeddedObject.cpp: (WebCore::RenderEmbeddedObject::scrollingNodeID const): * Source/WebCore/rendering/RenderLayerBacking.cpp: (WebCore::RenderLayerBacking::detachFromScrollingCoordinator): * Source/WebCore/rendering/RenderLayerBacking.h: * Source/WebCore/rendering/RenderLayerCompositor.cpp: (WebCore::RenderLayerCompositor::updateCompositingLayers): (WebCore::RenderLayerCompositor::asyncScrollableContainerNodeID): (WebCore::RenderLayerCompositor::attachScrollingNode): (WebCore::RenderLayerCompositor::registerScrollingNodeID): (WebCore::RenderLayerCompositor::updateScrollCoordinationForLayer): (WebCore::RenderLayerCompositor::updateScrollingNodeForViewportConstrainedRole): (WebCore::RenderLayerCompositor::updateScrollingNodeForScrollingRole): (WebCore::RenderLayerCompositor::updateScrollingNodeForScrollingProxyRole): (WebCore::RenderLayerCompositor::updateScrollingNodeForFrameHostingRole): (WebCore::RenderLayerCompositor::updateScrollingNodeForPluginHostingRole): (WebCore::RenderLayerCompositor::updateScrollingNodeForPositioningRole): * Source/WebCore/rendering/RenderLayerCompositor.h: * Source/WebCore/rendering/RenderLayerScrollableArea.cpp: (WebCore::RenderLayerScrollableArea::scrollingNodeID const): * Source/WebCore/testing/Internals.cpp: (WebCore::Internals::scrollingNodeIDForNode): * Source/WebCore/testing/Internals.h: * Source/WebCore/testing/Internals.idl: * Source/WebKit/Scripts/webkit/messages.py: (types_that_cannot_be_forward_declared): * Source/WebKit/Shared/FocusedElementInformation.h: * Source/WebKit/Shared/FocusedElementInformation.serialization.in: * Source/WebKit/Shared/ProcessQualified.serialization.in: * Source/WebKit/Shared/RemoteLayerTree/LayerProperties.h: * Source/WebKit/Shared/RemoteLayerTree/RemoteLayerTree.serialization.in: * Source/WebKit/Shared/RemoteLayerTree/RemoteLayerTreePropertyApplier.mm: (WebKit::RemoteLayerTreePropertyApplier::applyProperties): * Source/WebKit/Shared/RemoteLayerTree/RemoteScrollingUIState.h: * Source/WebKit/Shared/WTFArgumentCoders.serialization.in: * Source/WebKit/Shared/WebCoreArgumentCoders.serialization.in: * Source/WebKit/Shared/ios/InteractionInformationAtPosition.h: * Source/WebKit/Shared/ios/InteractionInformationAtPosition.serialization.in: * Source/WebKit/UIProcess/API/Cocoa/WKWebViewPrivateForTesting.h: * Source/WebKit/UIProcess/API/Cocoa/WKWebViewTesting.mm: (-[WKWebView _scrollbarStateForScrollingNodeID:processID:isVertical:]): (-[WKWebView _scrollbarStateForScrollingNodeID:isVertical:]): Deleted. * Source/WebKit/UIProcess/RemoteLayerTree/RemoteLayerTreeNode.h: * Source/WebKit/UIProcess/RemoteLayerTree/RemoteScrollingCoordinatorProxy.cpp: (WebKit::RemoteScrollingCoordinatorProxy::rootScrollingNodeID const): * Source/WebKit/UIProcess/RemoteLayerTree/RemoteScrollingCoordinatorProxy.h: (WebKit::RemoteScrollingCoordinatorProxy::wheelEventHandlingCompleted): * Source/WebKit/UIProcess/RemoteLayerTree/RemoteScrollingTree.h: (WebKit::RemoteScrollingTree::handleWheelEventAfterDefaultHandling): * Source/WebKit/UIProcess/RemoteLayerTree/mac/RemoteLayerTreeEventDispatcher.cpp: (WebKit::RemoteLayerTreeEventDispatcher::wheelEventHandlingCompleted): * Source/WebKit/UIProcess/RemoteLayerTree/mac/RemoteLayerTreeEventDispatcher.h: * Source/WebKit/UIProcess/RemoteLayerTree/mac/RemoteScrollingCoordinatorProxyMac.h: * Source/WebKit/UIProcess/RemoteLayerTree/mac/RemoteScrollingCoordinatorProxyMac.mm: (WebKit::RemoteScrollingCoordinatorProxyMac::wheelEventHandlingCompleted): * Source/WebKit/UIProcess/RemoteLayerTree/mac/RemoteScrollingTreeMac.h: * Source/WebKit/UIProcess/RemoteLayerTree/mac/RemoteScrollingTreeMac.mm: (WebKit::RemoteScrollingTreeMac::handleWheelEventAfterDefaultHandling): (WebKit::scrollingNodeIDForLayer): * Source/WebKit/UIProcess/WebPageProxy.cpp: (WebKit::WebPageProxy::sendWheelEvent): (WebKit::WebPageProxy::handleWheelEventReply): (WebKit::WebPageProxy::scrollbarStateForScrollingNodeID): * Source/WebKit/UIProcess/WebPageProxy.h: * Source/WebKit/UIProcess/WebPageProxy.messages.in: * Source/WebKit/UIProcess/ios/WKContentViewInteraction.mm: (-[WKContentView _updateTargetedPreviewScrollViewUsingContainerScrollingNodeID:]): * Source/WebKit/UIProcess/ios/WebPageProxyIOS.mm: (WebKit::WebPageProxy::scrollingNodeScrollWillStartScroll): (WebKit::WebPageProxy::scrollingNodeScrollDidEndScroll): * Source/WebKit/WebProcess/Plugins/PDF/UnifiedPDF/UnifiedPDFPlugin.h: * Source/WebKit/WebProcess/Plugins/PluginView.cpp: (WebKit::PluginView::scrollingNodeID const): * Source/WebKit/WebProcess/WebCoreSupport/ios/WebChromeClientIOS.mm: (WebKit::WebChromeClient::didStartOverflowScroll): (WebKit::WebChromeClient::didEndOverflowScroll): * Source/WebKit/WebProcess/WebPage/RemoteLayerTree/PlatformCALayerRemote.mm: (WebKit::PlatformCALayerRemote::scrollingNodeID const): * Source/WebKit/WebProcess/WebPage/RemoteLayerTree/RemoteScrollingCoordinator.h: * Source/WebKit/WebProcess/WebPage/RemoteLayerTree/RemoteScrollingCoordinator.messages.in: * Source/WebKit/WebProcess/WebPage/RemoteLayerTree/RemoteScrollingCoordinator.mm: (WebKit::RemoteScrollingCoordinator::startDeferringScrollingTestCompletionForNode): (WebKit::RemoteScrollingCoordinator::stopDeferringScrollingTestCompletionForNode): * Source/WebKit/WebProcess/WebPage/WebPage.cpp: (WebKit::WebPage::handleWheelEvent): * Source/WebKit/WebProcess/WebPage/WebPage.h: * Source/WebKit/WebProcess/WebPage/WebPage.messages.in: * Tools/TestRunnerShared/UIScriptContext/Bindings/UIScriptController.idl: * Tools/TestRunnerShared/UIScriptContext/UIScriptController.h: (WTR::UIScriptController::scrollbarStateForScrollingNodeID const): * Tools/WebKitTestRunner/mac/UIScriptControllerMac.h: * Tools/WebKitTestRunner/mac/UIScriptControllerMac.mm: (WTR::UIScriptControllerMac::scrollbarStateForScrollingNodeID const): Canonical link: https://commits.webkit.org/274744@main _______________________________________________ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes