[webkit-changes] [WebKit/WebKit] 5172cd: Import wpts for css-scrollbars
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 5172cde601cc8795578f60f068b187b283a296bf https://github.com/WebKit/WebKit/commit/5172cde601cc8795578f60f068b187b283a296bf Author: Nikolaos Mouchtaris Date: 2024-07-10 (Wed, 10 Jul 2024) Changed paths: M LayoutTests/TestExpectations M LayoutTests/imported/w3c/resources/resource-files.json R LayoutTests/imported/w3c/web-platform-tests/css/css-scrollbars/auto-scrollbar-inline-children-expected.txt R LayoutTests/imported/w3c/web-platform-tests/css/css-scrollbars/auto-scrollbar-inline-children.html R LayoutTests/imported/w3c/web-platform-tests/css/css-scrollbars/multicol-in-orthogonal-writing-mode-crash.html M LayoutTests/imported/w3c/web-platform-tests/css/css-scrollbars/scrollbar-color-001.html M LayoutTests/imported/w3c/web-platform-tests/css/css-scrollbars/scrollbar-color-002.html M LayoutTests/imported/w3c/web-platform-tests/css/css-scrollbars/scrollbar-color-003.html M LayoutTests/imported/w3c/web-platform-tests/css/css-scrollbars/scrollbar-color-004.html M LayoutTests/imported/w3c/web-platform-tests/css/css-scrollbars/scrollbar-color-005.html A LayoutTests/imported/w3c/web-platform-tests/css/css-scrollbars/scrollbar-color-006-expected-mismatch.html A LayoutTests/imported/w3c/web-platform-tests/css/css-scrollbars/scrollbar-color-006-mis-ref.html M LayoutTests/imported/w3c/web-platform-tests/css/css-scrollbars/scrollbar-color-006.html A LayoutTests/imported/w3c/web-platform-tests/css/css-scrollbars/scrollbar-color-007-expected-mismatch.html A LayoutTests/imported/w3c/web-platform-tests/css/css-scrollbars/scrollbar-color-007-mis-ref.html M LayoutTests/imported/w3c/web-platform-tests/css/css-scrollbars/scrollbar-color-007.html A LayoutTests/imported/w3c/web-platform-tests/css/css-scrollbars/scrollbar-color-008-expected-mismatch.html A LayoutTests/imported/w3c/web-platform-tests/css/css-scrollbars/scrollbar-color-008-mis-ref.html M LayoutTests/imported/w3c/web-platform-tests/css/css-scrollbars/scrollbar-color-008.html A LayoutTests/imported/w3c/web-platform-tests/css/css-scrollbars/scrollbar-color-009-expected-mismatch.html A LayoutTests/imported/w3c/web-platform-tests/css/css-scrollbars/scrollbar-color-009-mis-ref.html M LayoutTests/imported/w3c/web-platform-tests/css/css-scrollbars/scrollbar-color-009.html A LayoutTests/imported/w3c/web-platform-tests/css/css-scrollbars/scrollbar-color-010-expected-mismatch.html A LayoutTests/imported/w3c/web-platform-tests/css/css-scrollbars/scrollbar-color-010-mis-ref.html M LayoutTests/imported/w3c/web-platform-tests/css/css-scrollbars/scrollbar-color-010.html A LayoutTests/imported/w3c/web-platform-tests/css/css-scrollbars/scrollbar-color-011-expected-mismatch.html A LayoutTests/imported/w3c/web-platform-tests/css/css-scrollbars/scrollbar-color-011-expected.html A LayoutTests/imported/w3c/web-platform-tests/css/css-scrollbars/scrollbar-color-011-mis-ref.html A LayoutTests/imported/w3c/web-platform-tests/css/css-scrollbars/scrollbar-color-011-ref.html A LayoutTests/imported/w3c/web-platform-tests/css/css-scrollbars/scrollbar-color-011.html A LayoutTests/imported/w3c/web-platform-tests/css/css-scrollbars/scrollbar-color-012-expected.html A LayoutTests/imported/w3c/web-platform-tests/css/css-scrollbars/scrollbar-color-012-ref.html A LayoutTests/imported/w3c/web-platform-tests/css/css-scrollbars/scrollbar-color-012.html A LayoutTests/imported/w3c/web-platform-tests/css/css-scrollbars/scrollbar-color-dynamic-1-expected-mismatch.html A LayoutTests/imported/w3c/web-platform-tests/css/css-scrollbars/scrollbar-color-dynamic-1-expected.html A LayoutTests/imported/w3c/web-platform-tests/css/css-scrollbars/scrollbar-color-dynamic-1-mis-ref.html A LayoutTests/imported/w3c/web-platform-tests/css/css-scrollbars/scrollbar-color-dynamic-1-ref.html A LayoutTests/imported/w3c/web-platform-tests/css/css-scrollbars/scrollbar-color-dynamic-1.html A LayoutTests/imported/w3c/web-platform-tests/css/css-scrollbars/scrollbar-color-dynamic-2-expected-mismatch.html A LayoutTests/imported/w3c/web-platform-tests/css/css-scrollbars/scrollbar-color-dynamic-2-expected.html A LayoutTests/imported/w3c/web-platform-tests/css/css-scrollbars/scrollbar-color-dynamic-2-mis-ref.html A LayoutTests/imported/w3c/web-platform-tests/css/css-scrollbars/scrollbar-color-dynamic-2-ref.html A LayoutTests/imported/w3c/web-platform-tests/css/css-scrollbars/scrollbar-color-dynamic-2.html A LayoutTests/imported/w3c/web-platform-tests/css/css-scrollbars/scrollbar-color-dynamic-3-expected-mismatch.html A LayoutTests/imported/w3c/web-platform-tests/css/css-scrollbars/scrollbar-color-dynamic-3-expected.html A LayoutTests/imported/w3c/web-platform-tests/css/css-scrollbars/scrollbar-color-dynamic-3-mis-ref.html
[webkit-changes] [WebKit/WebKit] 7ce8ca: Crash under WebCore::ScrollableArea::availableCont...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 7ce8caf68469c9210478f4ceb968ce758a789f55 https://github.com/WebKit/WebKit/commit/7ce8caf68469c9210478f4ceb968ce758a789f55 Author: Nikolaos Mouchtaris Date: 2024-06-21 (Fri, 21 Jun 2024) Changed paths: A LayoutTests/fast/scrolling/mac/scrollbars/scrollbars-controller-crash-expected.txt A LayoutTests/fast/scrolling/mac/scrollbars/scrollbars-controller-crash.html M Source/WebCore/page/LocalFrameView.cpp M Source/WebCore/platform/ScrollableArea.cpp Log Message: --- Crash under WebCore::ScrollableArea::availableContentSizeChanged https://bugs.webkit.org/show_bug.cgi?id=275458 rdar://129621091 Reviewed by Tim Horton. Add a call to the default scrollbars creator if page is null in LocalFrameView::createScrollbarsController. Also add a release assert to catch any cases of this in the future. * Source/WebCore/page/LocalFrameView.cpp: (WebCore::LocalFrameView::createScrollbarsController): * Source/WebCore/platform/ScrollableArea.cpp: (WebCore::ScrollableArea::scrollbarsController const): Canonical link: https://commits.webkit.org/280256@main To unsubscribe from these emails, change your notification settings at https://github.com/WebKit/WebKit/settings/notifications ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] 0806b9: Invalid IPC from RemoteScrollingCoordinator with e...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 0806b90dc5f60cda347cc0a1f190247be23f8d5a https://github.com/WebKit/WebKit/commit/0806b90dc5f60cda347cc0a1f190247be23f8d5a Author: Nikolaos Mouchtaris Date: 2024-06-18 (Tue, 18 Jun 2024) Changed paths: M Source/WebKit/UIProcess/RemoteLayerTree/RemoteScrollingCoordinatorProxy.cpp M Source/WebKit/UIProcess/RemoteLayerTree/RemoteScrollingCoordinatorProxy.h Log Message: --- Invalid IPC from RemoteScrollingCoordinator with empty ScrollingNodeID https://bugs.webkit.org/show_bug.cgi?id=275574 rdar://130011125 Reviewed by Charlie Wolfe. When the root scrolling node is null we can ipc an empty scrolling node which is invalid. Add a check before sending the ipc. * Source/WebKit/UIProcess/RemoteLayerTree/RemoteScrollingCoordinatorProxy.cpp: (WebKit::RemoteScrollingCoordinatorProxy::deferWheelEventTestCompletionForReason): (WebKit::RemoteScrollingCoordinatorProxy::removeWheelEventTestCompletionDeferralForReason): Canonical link: https://commits.webkit.org/280143@main To unsubscribe from these emails, change your notification settings at https://github.com/WebKit/WebKit/settings/notifications ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] 5c367f: REGRESSION (UI-side compositing) Disabled scrollba...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 5c367f97364c91adb1982fe3ede5bfd7b0fa6940 https://github.com/WebKit/WebKit/commit/5c367f97364c91adb1982fe3ede5bfd7b0fa6940 Author: Nikolaos Mouchtaris Date: 2024-06-14 (Fri, 14 Jun 2024) Changed paths: M LayoutTests/css3/scroll-snap/nested-elements-expected.txt M LayoutTests/css3/scroll-snap/nested-elements.html M LayoutTests/fast/scrolling/mac/scrollbars/scrollbars-controller-type-expected.txt M LayoutTests/fast/scrolling/mac/scrollbars/scrollbars-controller-type.html A LayoutTests/platform/ios/css3/scroll-snap/nested-elements-expected.txt M LayoutTests/platform/mac-ventura-wk2/fast/scrolling/mac/scrollbars/scrollbars-controller-type-expected.txt M Source/WebCore/testing/Internals.cpp M Source/WebKit/WebProcess/WebCoreSupport/WebChromeClient.cpp Log Message: --- REGRESSION (UI-side compositing) Disabled scrollbars don't show in some cases https://bugs.webkit.org/show_bug.cgi?id=261295 rdar://115137778 Reviewed by Simon Fraser. For the case where we need to show disabled scrollbars on a scroller without a layer we need to have the scrollbars controller of type ScrollbarsControllerMac, so that we can create a temporary NSScrollerImp in the web process to display the disabled scrollbars (similar to what we do for svg foreign object, etc.). However, the previous fix checked usesAsyncScrolling to determine this, but it is better to check usesCompositedScrolling (as for this case usesAsyncScrolling returns true even when we don't have a layer). For the normal case we will properly update the scrollbars controller type to RemoteScrollbarsController for when the layer is made, and for this case where the layer isn't made, we will properly use ScrollbarsControllerMac. * LayoutTests/fast/scrolling/mac/scrollbars/scrollbars-controller-type-expected.txt: * LayoutTests/fast/scrolling/mac/scrollbars/scrollbars-controller-type.html: * Source/WebCore/platform/ScrollableArea.h: * Source/WebCore/testing/Internals.cpp: (WebCore:: const): (WebCore::Internals::scrollbarsControllerTypeForNode const): * Source/WebCore/testing/Internals.h: * Source/WebKit/WebProcess/WebCoreSupport/WebChromeClient.cpp: (WebKit::WebChromeClient::ensureScrollbarsController const): Canonical link: https://commits.webkit.org/280026@main To unsubscribe from these emails, change your notification settings at https://github.com/WebKit/WebKit/settings/notifications ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] 602713: REGRESSION: Bad flashing scrolling msn.com article...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 6027137b2de4527ee793e0ad300aa458b5d5ae3a https://github.com/WebKit/WebKit/commit/6027137b2de4527ee793e0ad300aa458b5d5ae3a Author: Nikolaos Mouchtaris Date: 2024-05-29 (Wed, 29 May 2024) Changed paths: A LayoutTests/fast/visual-viewport/ios/visual-viewport-dimensions-during-scroll-with-keyboard-expected.txt A LayoutTests/fast/visual-viewport/ios/visual-viewport-dimensions-during-scroll-with-keyboard.html M Source/WebKit/WebProcess/WebPage/ios/WebPageIOS.mm Log Message: --- REGRESSION: Bad flashing scrolling msn.com article when search field has focus (content-visibility) https://bugs.webkit.org/show_bug.cgi?id=274624 rdar://127743319 Reviewed by Simon Fraser. The cause of the flashing is that the IntersectionObserver computed that the content-visibility: auto elements were going in and out of the visual viewport rapidly. This was due to the visual viewport’s value changing between two locations, due to the difference in how it is computed between LocalFrameView::updateLayoutViewport and AsyncScrollingCoordinator::reconcileScrollingState. In LocalFrameView::updateLayoutViewport, the visual viewport is used in computeLayoutViewportOrigin to compute the new location of the layout viewport. When the keyboard is visible, m_visualViewportOverrideRect is sent via WebPage::updateVisibleContentRects, but is not udpated during unstable state, causing computeLayoutViewportOrigin to use a stale version of the visual viewport. The solution is to always update the visualViewportOverrideRect value if received from the ui process. * Source/WebKit/WebProcess/WebPage/ios/WebPageIOS.mm: (WebKit::WebPage::updateVisibleContentRects): Canonical link: https://commits.webkit.org/279448@main To unsubscribe from these emails, change your notification settings at https://github.com/WebKit/WebKit/settings/notifications ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] 48aa61: [Site Isolation] Properly create scrolling tree fo...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 48aa61d62068efcceb7aebce99d86384e5d2f0f0 https://github.com/WebKit/WebKit/commit/48aa61d62068efcceb7aebce99d86384e5d2f0f0 Author: Nikolaos Mouchtaris Date: 2024-05-09 (Thu, 09 May 2024) Changed paths: M LayoutTests/http/tests/site-isolation/scrolling/basic-scrolling-tree.html A LayoutTests/http/tests/site-isolation/scrolling/multiple-root-frames-expected.txt A LayoutTests/http/tests/site-isolation/scrolling/multiple-root-frames.html A LayoutTests/http/tests/site-isolation/scrolling/remove-root-frame-expected.txt A LayoutTests/http/tests/site-isolation/scrolling/remove-root-frame.html M LayoutTests/platform/ios/TestExpectations M Source/WTF/WTF.xcodeproj/project.pbxproj M Source/WTF/wtf/CMakeLists.txt A Source/WTF/wtf/SmallMap.h M Source/WebCore/dom/Document.cpp M Source/WebCore/page/LocalFrame.cpp M Source/WebCore/page/LocalFrameView.cpp M Source/WebCore/page/LocalFrameView.h M Source/WebCore/page/scrolling/AsyncScrollingCoordinator.cpp M Source/WebCore/page/scrolling/AsyncScrollingCoordinator.h M Source/WebCore/page/scrolling/ScrollingCoordinator.h M Source/WebCore/page/scrolling/ScrollingStateTree.h M Source/WebCore/page/scrolling/ScrollingTree.cpp M Source/WebCore/page/scrolling/ScrollingTree.h M Source/WebCore/page/scrolling/ScrollingTreeFrameHostingNode.cpp M Source/WebCore/page/scrolling/ScrollingTreeFrameHostingNode.h M Source/WebCore/page/scrolling/ThreadedScrollingCoordinator.cpp M Source/WebCore/platform/ScrollableArea.h M Source/WebCore/rendering/RenderLayerBacking.cpp M Source/WebCore/rendering/RenderLayerCompositor.cpp M Source/WebCore/rendering/RenderLayerScrollableArea.cpp M Source/WebCore/rendering/RenderLayerScrollableArea.h M Source/WebCore/rendering/RenderListBox.cpp M Source/WebCore/rendering/RenderListBox.h M Source/WebKit/UIProcess/RemoteLayerTree/RemoteLayerTreeDrawingAreaProxy.h M Source/WebKit/UIProcess/RemoteLayerTree/RemoteLayerTreeDrawingAreaProxy.mm M Source/WebKit/WebProcess/Plugins/PDF/PDFPluginBase.h M Source/WebKit/WebProcess/Plugins/PDF/PDFPluginBase.mm M Source/WebKit/WebProcess/Plugins/PDF/UnifiedPDF/UnifiedPDFPlugin.mm M Source/WebKit/WebProcess/WebPage/RemoteLayerTree/RemoteLayerTreeDrawingArea.mm M Source/WebKit/WebProcess/WebPage/RemoteLayerTree/RemoteScrollingCoordinator.h M Source/WebKit/WebProcess/WebPage/RemoteLayerTree/RemoteScrollingCoordinator.mm M Tools/TestWebKitAPI/Tests/WTF/SmallSet.cpp Log Message: --- [Site Isolation] Properly create scrolling tree for web process with multiple root frames https://bugs.webkit.org/show_bug.cgi?id=272721 rdar://126001790 Reviewed by Simon Fraser. Adjust AsyncScrollingCoordinator to hold a scrolling state tree per root frame. Also thanks to Alex who helped take this pr over the finishing line. * LayoutTests/http/tests/site-isolation/scrolling/basic-scrolling-tree.html: * LayoutTests/http/tests/site-isolation/scrolling/multiple-root-frames-expected.txt: Added. * LayoutTests/http/tests/site-isolation/scrolling/multiple-root-frames.html: Copied from LayoutTests/http/tests/site-isolation/scrolling/basic-scrolling-tree.html. * LayoutTests/http/tests/site-isolation/scrolling/remove-root-frame-expected.txt: Added. * LayoutTests/http/tests/site-isolation/scrolling/remove-root-frame.html: Added. * LayoutTests/platform/ios/TestExpectations: * Source/WTF/WTF.xcodeproj/project.pbxproj: * Source/WTF/wtf/CMakeLists.txt: * Source/WTF/wtf/SmallMap.h: Added. (WTF::SmallMap::ensure): (WTF::SmallMap::remove): (WTF::SmallMap::get const): (WTF::SmallMap::forEach const): (WTF::SmallMap::size const): (WTF::SmallMap::rawStorage const): * Source/WebCore/dom/Document.cpp: (WebCore::Document::setBackForwardCacheState): * Source/WebCore/page/LocalFrame.cpp: (WebCore::LocalFrame::~LocalFrame): * Source/WebCore/page/LocalFrameView.cpp: (WebCore::LocalFrameView::rootFrameID const): * Source/WebCore/page/LocalFrameView.h: * Source/WebCore/page/scrolling/AsyncScrollingCoordinator.cpp: (WebCore::AsyncScrollingCoordinator::AsyncScrollingCoordinator): (WebCore::AsyncScrollingCoordinator::stateNodeForNodeID const): (WebCore::AsyncScrollingCoordinator::stateNodeForScrollableArea const): (WebCore::AsyncScrollingCoordinator::ensureScrollingStateTreeForRootFrameID): (WebCore::AsyncScrollingCoordinator::existingScrollingStateTreeForRootFrameID const): (WebCore::AsyncScrollingCoordinator::rootFrameWasRemoved): (WebCore::AsyncScrollingCoordinator::stateTreeForNodeID const): (WebCore::AsyncScrollingCoordinator::willCommitTree): (WebCore::AsyncScrollingCoordinator::updateEventTrackingRegions): (WebCore::AsyncScrollingCoordinator::frameViewLayoutUpdated): (WebCore::AsyncScrollingCoordinator::frameViewEventTrackingRegionsChanged): (WebCore::AsyncScrollingCoordinator::frameViewForScrollingNode
[webkit-changes] [WebKit/WebKit] 5b9a24: Ensure RemoteScrollbarsController is used by scrol...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 5b9a2467dd21e23e6ac66ee621f68b35611b0f6d https://github.com/WebKit/WebKit/commit/5b9a2467dd21e23e6ac66ee621f68b35611b0f6d Author: Nikolaos Mouchtaris Date: 2024-05-08 (Wed, 08 May 2024) Changed paths: A LayoutTests/fast/scrolling/mac/scrollbars/scrollbars-controller-type-expected.txt A LayoutTests/fast/scrolling/mac/scrollbars/scrollbars-controller-type.html A LayoutTests/platform/mac-monterey-wk2/fast/scrolling/mac/scrollbars/scrollbars-controller-type-expected.txt A LayoutTests/platform/mac-ventura-wk2/fast/scrolling/mac/scrollbars/scrollbars-controller-type-expected.txt M Source/WebCore/WebCore.xcodeproj/project.pbxproj M Source/WebCore/page/ChromeClient.cpp M Source/WebCore/page/ChromeClient.h M Source/WebCore/page/LocalFrameView.cpp M Source/WebCore/platform/ScrollableArea.h M Source/WebCore/platform/ScrollbarsController.h M Source/WebCore/platform/mac/ScrollbarsControllerMac.h M Source/WebCore/platform/mock/ScrollbarsControllerMock.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/WebProcess/Plugins/PDF/UnifiedPDF/UnifiedPDFPlugin.mm M Source/WebKit/WebProcess/WebCoreSupport/WebChromeClient.cpp M Source/WebKit/WebProcess/WebCoreSupport/WebChromeClient.h M Source/WebKit/WebProcess/WebPage/RemoteLayerTree/RemoteScrollbarsController.h Log Message: --- Ensure RemoteScrollbarsController is used by scrollable areas with async scrolling https://bugs.webkit.org/show_bug.cgi?id=272935 rdar://126719107 Reviewed by Simon Fraser. After https://commits.webkit.org/277015@main added use of usesAsyncScrolling to determine the scrollbars controller type, and since usesAsyncScrolling is not correct prior to layer creation, ensure creation of a RemoteScrollbarsController after layer creation if the scrollable area does use async scrolling. * Source/WebCore/platform/ScrollableArea.h: (WebCore::ScrollableArea::updateScrollbarsControllerForLayerCreation): (WebCore::ScrollableArea::hasRemoteScrollbarsController): * Source/WebCore/platform/ScrollbarsController.h: (WebCore::ScrollbarsController::isRemoteScrollbarsController): * Source/WebCore/rendering/RenderLayerCompositor.cpp: (WebCore::RenderLayerCompositor::updateScrollingNodeForScrollingRole): * Source/WebCore/rendering/RenderLayerScrollableArea.cpp: (WebCore::RenderLayerScrollableArea::updateScrollbarsControllerForLayerCreation): (WebCore::RenderLayerScrollableArea::createScrollbarsController): * Source/WebCore/rendering/RenderLayerScrollableArea.h: * Source/WebKit/WebProcess/WebCoreSupport/WebChromeClient.cpp: (WebKit::WebChromeClient::createScrollbarsController const): * Source/WebKit/WebProcess/WebPage/RemoteLayerTree/RemoteScrollbarsController.h: Canonical link: https://commits.webkit.org/278517@main To unsubscribe from these emails, change your notification settings at https://github.com/WebKit/WebKit/settings/notifications ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] 70994f: Factor out stateNodeForID calls in AsyncScrollingC...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 70994f6c7424e77819499f8dca387982a93cf0b1 https://github.com/WebKit/WebKit/commit/70994f6c7424e77819499f8dca387982a93cf0b1 Author: Nikolaos Mouchtaris Date: 2024-04-29 (Mon, 29 Apr 2024) Changed paths: M Source/WebCore/page/scrolling/AsyncScrollingCoordinator.cpp M Source/WebCore/page/scrolling/AsyncScrollingCoordinator.h Log Message: --- Factor out stateNodeForID calls in AsyncScrollingCoordinator https://bugs.webkit.org/show_bug.cgi?id=273347 rdar://127142962 Reviewed by Alex Christensen. In anticipation of https://github.com/WebKit/WebKit/pull/27300 factor out use of stateNodeForID in AsyncScrollingCoordinator. * Source/WebCore/page/scrolling/AsyncScrollingCoordinator.cpp: (WebCore::AsyncScrollingCoordinator::stateNodeForNodeID const): (WebCore::AsyncScrollingCoordinator::frameViewLayoutUpdated): (WebCore::AsyncScrollingCoordinator::frameViewVisualViewportChanged): (WebCore::AsyncScrollingCoordinator::frameViewWillBeDetached): (WebCore::AsyncScrollingCoordinator::updateIsMonitoringWheelEventsForFrameView): (WebCore::AsyncScrollingCoordinator::frameViewRootLayerDidChange): (WebCore::AsyncScrollingCoordinator::requestStartKeyboardScrollAnimation): (WebCore::AsyncScrollingCoordinator::requestStopKeyboardScrollAnimation): (WebCore::AsyncScrollingCoordinator::requestScrollToPosition): (WebCore::AsyncScrollingCoordinator::stopAnimatedScroll): (WebCore::AsyncScrollingCoordinator::setScrollbarLayoutDirection): (WebCore::AsyncScrollingCoordinator::setMouseIsOverScrollbar): (WebCore::AsyncScrollingCoordinator::setMouseIsOverContentArea): (WebCore::AsyncScrollingCoordinator::setMouseMovedInContentArea): (WebCore::AsyncScrollingCoordinator::setLayerHostingContextIdentifierForFrameHostingNode): (WebCore::AsyncScrollingCoordinator::setScrollbarEnabled): (WebCore::AsyncScrollingCoordinator::frameViewForScrollingNode const): (WebCore::AsyncScrollingCoordinator::scrollableAreaScrollbarLayerDidChange): (WebCore::AsyncScrollingCoordinator::parentOfNode const): (WebCore::AsyncScrollingCoordinator::childrenOfNode const): (WebCore::AsyncScrollingCoordinator::ensureRootStateNodeForFrameView): (WebCore::AsyncScrollingCoordinator::setNodeLayers): (WebCore::AsyncScrollingCoordinator::setFrameScrollingNodeState): (WebCore::AsyncScrollingCoordinator::setScrollingNodeScrollableAreaGeometry): (WebCore::AsyncScrollingCoordinator::setViewportConstraintedNodeConstraints): (WebCore::AsyncScrollingCoordinator::setPositionedNodeConstraints): (WebCore::AsyncScrollingCoordinator::setRelatedOverflowScrollingNodes): (WebCore::AsyncScrollingCoordinator::setSynchronousScrollingReasons): (WebCore::AsyncScrollingCoordinator::synchronousScrollingReasons const): (WebCore::AsyncScrollingCoordinator::updateScrollSnapPropertiesWithFrameView): * Source/WebCore/page/scrolling/AsyncScrollingCoordinator.h: Canonical link: https://commits.webkit.org/278157@main To unsubscribe from these emails, change your notification settings at https://github.com/WebKit/WebKit/settings/notifications ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] d0bcde: [Site Isolation] Re-enable site-isolation/window-p...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: d0bcde3bde39037225d11bb794dc5b297f2960ba https://github.com/WebKit/WebKit/commit/d0bcde3bde39037225d11bb794dc5b297f2960ba Author: Nikolaos Mouchtaris Date: 2024-04-22 (Mon, 22 Apr 2024) Changed paths: M LayoutTests/platform/mac-wk2/TestExpectations Log Message: --- [Site Isolation] Re-enable site-isolation/window-properties.html https://bugs.webkit.org/show_bug.cgi?id=269639 rdar://123547612 Unreviewed re-enable of test. * LayoutTests/platform/mac-wk2/TestExpectations: Canonical link: https://commits.webkit.org/277845@main To unsubscribe from these emails, change your notification settings at https://github.com/WebKit/WebKit/settings/notifications ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] 2dc674: REGRESSION (277015@main): [ Sonoma WK2 ] fast/scro...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 2dc674ade9a440ea454fd5e535aa8b63cdc3b64c https://github.com/WebKit/WebKit/commit/2dc674ade9a440ea454fd5e535aa8b63cdc3b64c Author: Nikolaos Mouchtaris Date: 2024-04-11 (Thu, 11 Apr 2024) Changed paths: M LayoutTests/fast/scrolling/mac/scrollbars/overflow-overlay-scrollbar-reveal.html M LayoutTests/fast/scrolling/mac/scrollbars/svg-foreign-object-overlay-scrollbar-hovered.html M LayoutTests/platform/mac-wk2/TestExpectations M LayoutTests/resources/ui-helper.js Log Message: --- REGRESSION (277015@main): [ Sonoma WK2 ] fast/scrolling/mac/scrollbars/overflow-overlay-scrollbar-reveal.html is a consistent timeout https://bugs.webkit.org/show_bug.cgi?id=272188 rdar://125932798 Reviewed by Simon Fraser. Since a scrollable area does not immediately have a scrolling node id, directly use the web process scrollbar state for the svg foriegn object test added in https://commits.webkit.org/277015@main. * LayoutTests/fast/scrolling/mac/scrollbars/overflow-overlay-scrollbar-reveal.html: * LayoutTests/fast/scrolling/mac/scrollbars/svg-foreign-object-overlay-scrollbar-hovered.html: * LayoutTests/platform/mac-wk2/TestExpectations: * LayoutTests/resources/ui-helper.js: Canonical link: https://commits.webkit.org/277406@main To unsubscribe from these emails, change your notification settings at https://github.com/WebKit/WebKit/settings/notifications ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] 1a5f9a: Assertion in WTF::Lock::lock when destroying RefPt...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 1a5f9aa863878a836c96eb2c7107485ec9e520f1 https://github.com/WebKit/WebKit/commit/1a5f9aa863878a836c96eb2c7107485ec9e520f1 Author: Nikolaos Mouchtaris Date: 2024-04-08 (Mon, 08 Apr 2024) Changed paths: M Source/WebKit/UIProcess/RemoteLayerTree/RemoteLayerTreeDrawingAreaProxy.h M Source/WebKit/UIProcess/RemoteLayerTree/RemoteLayerTreeDrawingAreaProxy.mm Log Message: --- Assertion in WTF::Lock::lock when destroying RefPtr in ScrollerPairMac::valuesForOrientation https://bugs.webkit.org/show_bug.cgi?id=272352 rdar://125368542 Reviewed by Alex Christensen. Add temporary fix for crashing tests while investigating rdar://126001790. * Source/WebKit/UIProcess/RemoteLayerTree/RemoteLayerTreeDrawingAreaProxy.h: * Source/WebKit/UIProcess/RemoteLayerTree/RemoteLayerTreeDrawingAreaProxy.mm: (WebKit::RemoteLayerTreeDrawingAreaProxy::commitLayerTreeTransaction): Canonical link: https://commits.webkit.org/277219@main To unsubscribe from these emails, change your notification settings at https://github.com/WebKit/WebKit/settings/notifications ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] 4f1ded: REGRESSION (UI-side compositing) overflow:scroll i...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 4f1ded96b3967cf2de4cc260b1e49940e93822e4 https://github.com/WebKit/WebKit/commit/4f1ded96b3967cf2de4cc260b1e49940e93822e4 Author: Nikolaos Mouchtaris Date: 2024-04-03 (Wed, 03 Apr 2024) Changed paths: A LayoutTests/fast/scrolling/mac/scrollbars/svg-foreign-object-overlay-scrollbar-hovered-expected.txt A LayoutTests/fast/scrolling/mac/scrollbars/svg-foreign-object-overlay-scrollbar-hovered.html M LayoutTests/resources/ui-helper.js M Source/WebCore/rendering/RenderLayerScrollableArea.cpp M Source/WebCore/rendering/RenderLayerScrollableArea.h M Source/WebKit/WebProcess/WebPage/RemoteLayerTree/RemoteScrollbarsController.mm Log Message: --- REGRESSION (UI-side compositing) overflow:scroll inside SVG foreignObject fails to render scrollbars https://bugs.webkit.org/show_bug.cgi?id=261227 rdar://115075206 Reviewed by Simon Fraser. Keep NSScrollerImps in the web process for scrollers inside svg foreignObject as they don't follow the normal code path for creating scrollbars in the UI process. * Source/WebCore/page/LocalFrameView.cpp: (WebCore::LocalFrameView::usesOverlayScrollbars const): * Source/WebCore/page/LocalFrameView.h: * Source/WebCore/page/scrolling/AsyncScrollingCoordinator.cpp: (WebCore::AsyncScrollingCoordinator::setFrameScrollingNodeState): * Source/WebCore/platform/mac/NSScrollerImpDetails.h: * Source/WebCore/platform/mac/NSScrollerImpDetails.mm: (WebCore::ScrollerStyle::usesOverlayScrollbars): * Source/WebCore/rendering/RenderLayer.cpp: (WebCore::RenderLayer::registerScrollbarsForScrollableAreaInSVGForeignObject): (WebCore::RenderLayer::updateAncestorDependentState): * Source/WebCore/rendering/RenderLayer.h: (WebCore::RenderLayer::isInsideSVGForeignObject const): * Source/WebKit/WebProcess/WebPage/RemoteLayerTree/RemoteScrollbarsController.mm: (WebKit::RemoteScrollbarsController::shouldRegisterScrollbars const): Canonical link: https://commits.webkit.org/277015@main To unsubscribe from these emails, change your notification settings at https://github.com/WebKit/WebKit/settings/notifications ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] d159d1: [ iOS17 ] fast/scrolling/ios/scroll-anchoring-mome...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: d159d134072de7caa8ba548fafd398491a91e633 https://github.com/WebKit/WebKit/commit/d159d134072de7caa8ba548fafd398491a91e633 Author: Nikolaos Mouchtaris Date: 2024-04-02 (Tue, 02 Apr 2024) Changed paths: M LayoutTests/fast/scrolling/ios/scroll-anchoring-momentum-scroll-expected.txt M LayoutTests/fast/scrolling/ios/scroll-anchoring-momentum-scroll.html M LayoutTests/platform/ios/TestExpectations Log Message: --- [ iOS17 ] fast/scrolling/ios/scroll-anchoring-momentum-scroll.html(layout-tests) is a constant TEXT failure https://bugs.webkit.org/show_bug.cgi?id=266010 rdar://119684431 Reviewed by Simon Fraser. When originally testing this test I was using an iPhone 14 simulator, which produces a different value than the iPhone 12 simulator. Fixing this value should cause it to pass on both simulators. * LayoutTests/fast/scrolling/ios/scroll-anchoring-momentum-scroll-expected.txt: * LayoutTests/fast/scrolling/ios/scroll-anchoring-momentum-scroll.html: * LayoutTests/platform/ios/TestExpectations: Canonical link: https://commits.webkit.org/276981@main To unsubscribe from these emails, change your notification settings at https://github.com/WebKit/WebKit/settings/notifications ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] c514a1: Remove logging from 276439@main
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: c514a13a656c772e5bfa6ce7abc688beb74451ac https://github.com/WebKit/WebKit/commit/c514a13a656c772e5bfa6ce7abc688beb74451ac Author: Nikolaos Mouchtaris Date: 2024-04-02 (Tue, 02 Apr 2024) Changed paths: M Source/WebCore/rendering/RenderLayerScrollableArea.cpp Log Message: --- Remove logging from 276439@main https://bugs.webkit.org/show_bug.cgi?id=272042 rdar://125793383 Unreviewed removal of logging. * Source/WebCore/rendering/RenderLayerScrollableArea.cpp: (WebCore::RenderLayerScrollableArea::availableContentSizeChanged): Canonical link: https://commits.webkit.org/276976@main To unsubscribe from these emails, change your notification settings at https://github.com/WebKit/WebKit/settings/notifications ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] f4e8dd: [Site Isolation] Send scrollbar updates to the cor...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: f4e8dd67ff25b2f6e6949cdfad9e80c22a73a941 https://github.com/WebKit/WebKit/commit/f4e8dd67ff25b2f6e6949cdfad9e80c22a73a941 Author: Nikolaos Mouchtaris Date: 2024-03-27 (Wed, 27 Mar 2024) Changed paths: M Source/WebKit/UIProcess/RemoteLayerTree/RemoteScrollingCoordinatorProxy.cpp M Source/WebKit/UIProcess/WebPageProxy.cpp M Source/WebKit/UIProcess/WebPageProxy.h Log Message: --- [Site Isolation] Send scrollbar updates to the correct web process https://bugs.webkit.org/show_bug.cgi?id=269946 rdar://123470527 Reviewed by Alex Christensen. Send updates about scrollbar visibility and scrollbar thumb thickness to the corresponding web process of the relevant scrolling node. * Source/WebKit/UIProcess/RemoteLayerTree/RemoteScrollingCoordinatorProxy.cpp: (WebKit::RemoteScrollingCoordinatorProxy::scrollingTreeNodeScrollbarVisibilityDidChange): (WebKit::RemoteScrollingCoordinatorProxy::scrollingTreeNodeScrollbarMinimumThumbLengthDidChange): * Source/WebKit/UIProcess/WebPageProxy.cpp: (WebKit::WebPageProxy::sendScrollingTreeNodeScrollbarVisibilityDidChange): (WebKit::WebPageProxy::sendScrollingTreeNodeScrollbarMinimumThumbLengthDidChange): * Source/WebKit/UIProcess/WebPageProxy.h: Canonical link: https://commits.webkit.org/276764@main To unsubscribe from these emails, change your notification settings at https://github.com/WebKit/WebKit/settings/notifications ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] 81451d: REGRESSION (UI-side compositing) changing between ...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 81451dabde97ba73cbed2abc4c4be64957aa20f6 https://github.com/WebKit/WebKit/commit/81451dabde97ba73cbed2abc4c4be64957aa20f6 Author: Nikolaos Mouchtaris Date: 2024-03-20 (Wed, 20 Mar 2024) Changed paths: A LayoutTests/fast/scrolling/mac/scrollable-area-size-for-overlay-scrollbars-expected.txt A LayoutTests/fast/scrolling/mac/scrollable-area-size-for-overlay-scrollbars.html M Source/WebCore/page/LocalFrameView.cpp M Source/WebCore/page/LocalFrameView.h M Source/WebCore/page/scrolling/AsyncScrollingCoordinator.cpp M Source/WebCore/platform/Scrollbar.cpp M Source/WebCore/platform/Scrollbar.h M Source/WebCore/platform/ScrollbarsController.cpp M Source/WebCore/platform/ScrollbarsController.h M Source/WebCore/platform/mac/ScrollbarsControllerMac.h M Source/WebCore/platform/mac/ScrollbarsControllerMac.mm 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/WebCore/testing/Internals.mm M Source/WebKit/UIProcess/RemoteLayerTree/mac/RemoteLayerTreeDrawingAreaProxyMac.h M Source/WebKit/UIProcess/RemoteLayerTree/mac/RemoteLayerTreeDrawingAreaProxyMac.mm M Source/WebKit/WebProcess/WebPage/RemoteLayerTree/RemoteScrollbarsController.h M Source/WebKit/WebProcess/WebPage/RemoteLayerTree/RemoteScrollbarsController.mm M Source/WebKit/WebProcess/cocoa/WebProcessCocoa.mm Log Message: --- REGRESSION (UI-side compositing) changing between non-overlay and overlay scrollbars should adjust the size of the scrollable area https://bugs.webkit.org/show_bug.cgi?id=263618 rdar://117507268 Reviewed by Simon Fraser. This patch fixes a couple bugs related to switching back and forth dynamically between overlay and non-overlay scrollbars. First, setFrameScrollingNodeState() was not always called when switching the default, so iterate through each page and call LocalFrameView::overlayScrollbarDefaultDidChange to force a scrolling commit to plumb across this state change. Second, when we get the state change on the ui-process side, we call _updateAllScrollerImpPairsForNewRecommendedScrollerStyle, which notifies all the scroller imp pairs in the process of the new style. On the web process side, we had code to adjust the scrollbar thickness and force a relayout, which now doesn't work since there are no NSScrollerImpPairs in the web process. Instead, replicate this code in RemoteScrollbarsController and loop through the scrollable areas in the FrameView. This takes care of updating scrollable areas with overflow, while https://github.com/WebKit/WebKit/pull/19561 will take care of updating scrollable areas without overflow. Also add some additional testing infrastructure to compare the size of the scrollable area before and after toggling scrollbar style. * Source/WebCore/page/LocalFrameView.cpp: (WebCore::LocalFrameView::usesOverlayScrollbars const): (WebCore::LocalFrameView::overlayScrollbarDefaultDidChange): * Source/WebCore/page/LocalFrameView.h: * Source/WebCore/page/scrolling/AsyncScrollingCoordinator.cpp: (WebCore::AsyncScrollingCoordinator::setFrameScrollingNodeState): * Source/WebCore/page/scrolling/ScrollingTree.h: (WebCore::ScrollingTree::scrollingTreeNodeMarkScrollbarStyleChange): (WebCore::ScrollingTree::scrollingTreeNodesWithScrollbarStyleChange): (WebCore::ScrollingTree::clearScrollingTreeNodesWithScrollbarStyleChange): * Source/WebCore/page/scrolling/ScrollingTreeScrollingNode.cpp: (WebCore::ScrollingTreeScrollingNode::markHasScrollbarStyleChange): * Source/WebCore/page/scrolling/ScrollingTreeScrollingNode.h: * Source/WebCore/page/scrolling/mac/ScrollerPairMac.mm: (-[WebScrollerImpPairDelegateMac scrollerImpPair:updateScrollerStyleForNewRecommendedScrollerStyle:]): * Source/WebCore/platform/Scrollbar.cpp: (WebCore::Scrollbar::updateScrollbarThickness): * Source/WebCore/platform/Scrollbar.h: * Source/WebCore/platform/ScrollbarsController.cpp: (WebCore::ScrollbarsController::updateScrollbarsThickness): * Source/WebCore/platform/ScrollbarsController.h: (WebCore::ScrollbarsController::updateScrollerStyle): * Source/WebCore/platform/mac/ScrollbarsControllerMac.h: * Source/WebCore/platform/mac/ScrollbarsControllerMac.mm: (WebCore::ScrollbarsControllerMac::updateScrollerStyle): * Source/WebKit/UIProcess/RemoteLayerTree/RemoteScrollingCoordinatorProxy.cpp: (WebKit::RemoteScrollingCoordinatorProxy::scrollingNodesHaveScrollbarStyleChange): * Source/WebKit/UIProcess/RemoteLayerTree/RemoteScrollingCoordinatorProxy.h: * Source/WebKit/UIProcess/RemoteLayerTree/mac/RemoteLayerTreeDrawingAreaProxyMac.h: * Source/WebKit/UIProcess/RemoteLayerTree/mac/RemoteLayerTreeDrawingAreaProxyMac.mm: (WebKit::RemoteLayerTreeDrawingAreaProxyMac::didCommitLayerTree): *
[webkit-changes] [WebKit/WebKit] 4c242e: Have WheelEventTestMonitor use ScrollableAreaIds
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 4c242ed078742ebb14b48bd6c3e6dcef466d7d3e https://github.com/WebKit/WebKit/commit/4c242ed078742ebb14b48bd6c3e6dcef466d7d3e Author: Nikolaos Mouchtaris Date: 2024-03-18 (Mon, 18 Mar 2024) Changed paths: M Source/WebCore/page/EventHandler.cpp M Source/WebCore/page/LocalFrameView.cpp M Source/WebCore/page/WheelEventTestMonitor.cpp M Source/WebCore/page/WheelEventTestMonitor.h M Source/WebCore/page/scrolling/ScrollingCoordinator.cpp M Source/WebCore/page/scrolling/ThreadedScrollingCoordinator.cpp M Source/WebCore/page/scrolling/ThreadedScrollingTreeScrollingNodeDelegate.cpp M Source/WebCore/page/scrolling/ThreadedScrollingTreeScrollingNodeDelegate.h M Source/WebCore/platform/ScrollAnimator.cpp M Source/WebCore/platform/ScrollAnimator.h M Source/WebCore/platform/ScrollableArea.cpp M Source/WebCore/platform/ScrollableArea.h M Source/WebCore/platform/ScrollingEffectsController.cpp M Source/WebCore/platform/ScrollingEffectsController.h M Source/WebCore/platform/mac/ScrollbarsControllerMac.mm M Source/WebCore/platform/mac/ScrollingEffectsController.mm M Source/WebKit/WebProcess/WebPage/RemoteLayerTree/RemoteScrollingCoordinator.mm Log Message: --- Have WheelEventTestMonitor use ScrollableAreaIds https://bugs.webkit.org/show_bug.cgi?id=269242 rdar://122833730 Reviewed by Simon Fraser. Have WheelEventTestMonitor hold a scrolling node id rather than a void pointer. * Source/WebCore/page/EventHandler.cpp: (WebCore::EventHandler::handleWheelEventInternal): * Source/WebCore/page/LocalFrameView.cpp: (WebCore::LocalFrameView::scrollOffsetChangedViaPlatformWidgetImpl): * Source/WebCore/page/WheelEventTestMonitor.cpp: (WebCore::WheelEventTestMonitor::deferForReason): (WebCore::WheelEventTestMonitor::removeDeferralForReason): * Source/WebCore/page/WheelEventTestMonitor.h: (WebCore::WheelEventTestMonitorCompletionDeferrer::WheelEventTestMonitorCompletionDeferrer): * Source/WebCore/page/scrolling/ScrollingCoordinator.cpp: (WebCore::ScrollingCoordinator::deferWheelEventTestCompletionForReason): (WebCore::ScrollingCoordinator::removeWheelEventTestCompletionDeferralForReason): * Source/WebCore/page/scrolling/ThreadedScrollingCoordinator.cpp: (WebCore::ThreadedScrollingCoordinator::handleWheelEventForScrolling): * Source/WebCore/page/scrolling/ThreadedScrollingTreeScrollingNodeDelegate.cpp: (WebCore::ThreadedScrollingTreeScrollingNodeDelegate::deferWheelEventTestCompletionForReason const): (WebCore::ThreadedScrollingTreeScrollingNodeDelegate::removeWheelEventTestCompletionDeferralForReason const): (WebCore::ThreadedScrollingTreeScrollingNodeDelegate::scrollingNodeID const): * Source/WebCore/page/scrolling/ThreadedScrollingTreeScrollingNodeDelegate.h: * Source/WebCore/platform/ScrollAnimator.cpp: (WebCore::ScrollAnimator::deferWheelEventTestCompletionForReason const): (WebCore::ScrollAnimator::removeWheelEventTestCompletionDeferralForReason const): (WebCore::ScrollAnimator::scrollingNodeID const): * Source/WebCore/platform/ScrollAnimator.h: * Source/WebCore/platform/ScrollingEffectsController.cpp: (WebCore::ScrollingEffectsController::startDeferringWheelEventTestCompletion): (WebCore::ScrollingEffectsController::stopDeferringWheelEventTestCompletion): * Source/WebCore/platform/ScrollingEffectsController.h: (WebCore::ScrollingEffectsControllerClient::deferWheelEventTestCompletionForReason const): (WebCore::ScrollingEffectsControllerClient::removeWheelEventTestCompletionDeferralForReason const): * Source/WebCore/platform/mac/ScrollbarsControllerMac.mm: (WebCore::ScrollbarsControllerMac::didBeginScrollGesture): (WebCore::ScrollbarsControllerMac::didEndScrollGesture): (WebCore::ScrollbarsControllerMac::sendContentAreaScrolledTimerFired): (WebCore::ScrollbarsControllerMac::sendContentAreaScrolledSoon): * Source/WebCore/platform/mac/ScrollingEffectsController.mm: (WebCore::ScrollingEffectsController::willStartRubberBandAnimation): (WebCore::ScrollingEffectsController::didStopRubberBandAnimation): * Source/WebKit/WebProcess/WebPage/RemoteLayerTree/RemoteScrollingCoordinator.mm: (WebKit::RemoteScrollingCoordinator::startDeferringScrollingTestCompletionForNode): (WebKit::RemoteScrollingCoordinator::stopDeferringScrollingTestCompletionForNode): Canonical link: https://commits.webkit.org/276312@main To unsubscribe from these emails, change your notification settings at https://github.com/WebKit/WebKit/settings/notifications ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] e7a46d: REGRESSION (Sonoma?): RTL scrollbar incorrect spacing
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: e7a46d11ffb4d88a4075971be726d8999d8e4230 https://github.com/WebKit/WebKit/commit/e7a46d11ffb4d88a4075971be726d8999d8e4230 Author: Nikolaos Mouchtaris Date: 2024-03-13 (Wed, 13 Mar 2024) Changed paths: A LayoutTests/fast/scrolling/mac/scrollbars/rtl-scrollbar-state-expected.txt A LayoutTests/fast/scrolling/mac/scrollbars/rtl-scrollbar-state.html M Source/WebCore/page/scrolling/AsyncScrollingCoordinator.cpp M Source/WebCore/page/scrolling/AsyncScrollingCoordinator.h M Source/WebCore/page/scrolling/ScrollingCoordinator.h M Source/WebCore/page/scrolling/ScrollingStateFrameScrollingNode.cpp M Source/WebCore/page/scrolling/ScrollingStateFrameScrollingNode.h M Source/WebCore/page/scrolling/ScrollingStateNode.h M Source/WebCore/page/scrolling/ScrollingStateOverflowScrollingNode.cpp M Source/WebCore/page/scrolling/ScrollingStateOverflowScrollingNode.h M Source/WebCore/page/scrolling/ScrollingStatePluginScrollingNode.cpp M Source/WebCore/page/scrolling/ScrollingStatePluginScrollingNode.h M Source/WebCore/page/scrolling/ScrollingStateScrollingNode.cpp M Source/WebCore/page/scrolling/ScrollingStateScrollingNode.h M Source/WebCore/page/scrolling/mac/ScrollerMac.h M Source/WebCore/page/scrolling/mac/ScrollerMac.mm M Source/WebCore/page/scrolling/mac/ScrollingTreeScrollingNodeDelegateMac.mm M Source/WebCore/platform/ScrollbarsController.h M Source/WebCore/platform/mac/ScrollbarsControllerMac.mm M Source/WebCore/rendering/RenderBox.cpp M Source/WebKit/Shared/RemoteLayerTree/RemoteScrollingCoordinatorTransaction.serialization.in M Source/WebKit/Shared/WebCoreArgumentCoders.serialization.in M Source/WebKit/WebProcess/WebPage/RemoteLayerTree/RemoteScrollbarsController.h M Source/WebKit/WebProcess/WebPage/RemoteLayerTree/RemoteScrollbarsController.mm Log Message: --- REGRESSION (Sonoma?): RTL scrollbar incorrect spacing https://bugs.webkit.org/show_bug.cgi?id=263512 rdar://117355120 Reviewed by Simon Fraser. We need to pass changes to shouldPlaceVerticalScrollbarOnLeft to the UI-process so that we can properly set userInterfaceLayoutDirection on the scroller imp. Since on first style change the scrollable area in styleDidChange() doesn't yet have a render layer backing, also pass accross UserInterfaceLayoutDirection when we first set the scrollbar layer as well. * Source/WebCore/page/scrolling/AsyncScrollingCoordinator.cpp: (WebCore::AsyncScrollingCoordinator::setShouldPlaceVerticalScrollbarOnLeft): * Source/WebCore/page/scrolling/AsyncScrollingCoordinator.h: * Source/WebCore/page/scrolling/ScrollingCoordinator.h: (WebCore::ScrollingCoordinator::setShouldPlaceVerticalScrollbarOnLeft): * Source/WebCore/page/scrolling/ScrollingStateFrameScrollingNode.cpp: (WebCore::ScrollingStateFrameScrollingNode::ScrollingStateFrameScrollingNode): * Source/WebCore/page/scrolling/ScrollingStateFrameScrollingNode.h: * Source/WebCore/page/scrolling/ScrollingStateNode.h: * Source/WebCore/page/scrolling/ScrollingStateOverflowScrollingNode.cpp: (WebCore::ScrollingStateOverflowScrollingNode::ScrollingStateOverflowScrollingNode): * Source/WebCore/page/scrolling/ScrollingStateOverflowScrollingNode.h: * Source/WebCore/page/scrolling/ScrollingStatePluginScrollingNode.cpp: (WebCore::ScrollingStatePluginScrollingNode::ScrollingStatePluginScrollingNode): * Source/WebCore/page/scrolling/ScrollingStatePluginScrollingNode.h: * Source/WebCore/page/scrolling/ScrollingStateScrollingNode.cpp: (WebCore::ScrollingStateScrollingNode::ScrollingStateScrollingNode): (WebCore::ScrollingStateScrollingNode::setShouldPlaceVerticalScrollbarOnLeft): * Source/WebCore/page/scrolling/ScrollingStateScrollingNode.h: (WebCore::ScrollingStateScrollingNode::shouldPlaceVerticalScrollbarOnLeft const): * Source/WebCore/page/scrolling/mac/ScrollerMac.h: * Source/WebCore/page/scrolling/mac/ScrollerMac.mm: (WebCore::ScrollerMac::setShouldPlaceVerticalScrollbarOnLeft): * Source/WebCore/page/scrolling/mac/ScrollingTreeScrollingNodeDelegateMac.mm: (WebCore::ScrollingTreeScrollingNodeDelegateMac::updateFromStateNode): * Source/WebKit/Shared/RemoteLayerTree/RemoteScrollingCoordinatorTransaction.serialization.in: * Source/WebKit/Shared/WebCoreArgumentCoders.serialization.in: * Source/WebKit/WebProcess/WebPage/RemoteLayerTree/RemoteScrollbarsController.mm: (WebKit::RemoteScrollbarsController::RemoteScrollbarsController): (WebKit::RemoteScrollbarsController::mouseMovedInContentArea): Canonical link: https://commits.webkit.org/276040@main To unsubscribe from these emails, change your notification settings at https://github.com/WebKit/WebKit/settings/notifications ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] 0c592c: Crash under ScrollingStateFixedNode::reconcileLaye...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 0c592c9b1e0c09a411af9b26f6a3e32a2c36a1fd https://github.com/WebKit/WebKit/commit/0c592c9b1e0c09a411af9b26f6a3e32a2c36a1fd Author: Nikolaos Mouchtaris Date: 2024-03-01 (Fri, 01 Mar 2024) Changed paths: M Source/WebCore/page/scrolling/ScrollingStateFixedNode.cpp Log Message: --- Crash under ScrollingStateFixedNode::reconcileLayerPositionForViewportRect https://bugs.webkit.org/show_bug.cgi?id=270361 rdar://105887621 Reviewed by Simon Fraser. We need a similar fix to https://github.com/WebKit/WebKit/pull/17453 as there is the same crash signature under ScrollingStateFixedNode::reconcileLayerPositionForViewportRect this time. * Source/WebCore/page/scrolling/ScrollingStateFixedNode.cpp: (WebCore::ScrollingStateFixedNode::reconcileLayerPositionForViewportRect): Canonical link: https://commits.webkit.org/275574@main To unsubscribe from these emails, change your notification settings at https://github.com/WebKit/WebKit/settings/notifications ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] 2f8893: [css-scroll-snap] Skip renderers with no element i...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 2f88930ccc922eb8567c8fe24a43ef945bea0127 https://github.com/WebKit/WebKit/commit/2f88930ccc922eb8567c8fe24a43ef945bea0127 Author: Nikolaos Mouchtaris Date: 2024-02-29 (Thu, 29 Feb 2024) Changed paths: A LayoutTests/imported/w3c/web-platform-tests/css/css-scroll-snap/snap-to-visible-areas-both-pseudo-expected.txt A LayoutTests/imported/w3c/web-platform-tests/css/css-scroll-snap/snap-to-visible-areas-both-pseudo.html M LayoutTests/platform/mac/TestExpectations M Source/WebCore/page/scrolling/ScrollSnapOffsetsInfo.cpp Log Message: --- [css-scroll-snap] Skip renderers with no element in updateSnapOffsetsForScrollableArea https://bugs.webkit.org/show_bug.cgi?id=263093 rdar://111579277 Reviewed by Simon Fraser. We should skip renderers in updateSnapOffsetsForScrollableArea if they have no related element. For generated content we do generate an associated element as well, so the only time a renderer's element is null is for anonymous renderers (as specified in RenderElement.h as well), which we shouldn't snap to. * Source/WebCore/page/scrolling/ScrollSnapOffsetsInfo.cpp: (WebCore::updateSnapOffsetsForScrollableArea): Canonical link: https://commits.webkit.org/275523@main To unsubscribe from these emails, change your notification settings at https://github.com/WebKit/WebKit/settings/notifications ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] 733824: [Site Isolation] Choose correct web process for sc...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 733824ab0459c4af6ebd6dbd80fa64d1cf86ddd1 https://github.com/WebKit/WebKit/commit/733824ab0459c4af6ebd6dbd80fa64d1cf86ddd1 Author: Nikolaos Mouchtaris Date: 2024-02-17 (Sat, 17 Feb 2024) Changed paths: M Source/WebCore/page/scrolling/AsyncScrollingCoordinator.cpp M Source/WebCore/page/scrolling/AsyncScrollingCoordinator.h M Source/WebCore/page/scrolling/ScrollingTree.cpp M Source/WebCore/page/scrolling/ScrollingTree.h M Source/WebKit/UIProcess/RemoteLayerTree/RemoteScrollingCoordinatorProxy.cpp M Source/WebKit/UIProcess/RemoteLayerTree/RemoteScrollingCoordinatorProxy.h M Source/WebKit/UIProcess/WebPageProxy.cpp M Source/WebKit/UIProcess/WebPageProxy.h Log Message: --- [Site Isolation] Choose correct web process for scrolling updates from ui process https://bugs.webkit.org/show_bug.cgi?id=268602 rdar://122162277 Reviewed by Alex Christensen. This is part 3 of splitting up #23242 This chooses the correct web process to send scrolling updates to based on a map of process ids to root frame ids. * Source/WebCore/page/scrolling/AsyncScrollingCoordinator.cpp: (WebCore::AsyncScrollingCoordinator::frameViewForScrollingNode const): * Source/WebCore/page/scrolling/AsyncScrollingCoordinator.h: * Source/WebCore/page/scrolling/ScrollingTree.cpp: (WebCore::ScrollingTree::frameIDForScrollingNodeID): * Source/WebCore/page/scrolling/ScrollingTree.h: * Source/WebKit/UIProcess/RemoteLayerTree/RemoteScrollingCoordinatorProxy.cpp: (WebKit::RemoteScrollingCoordinatorProxy::sendScrollingTreeNodeDidScroll): * Source/WebKit/UIProcess/RemoteLayerTree/RemoteScrollingCoordinatorProxy.h: * Source/WebKit/UIProcess/WebPageProxy.cpp: (WebKit::WebPageProxy::sendScrollPositionChangedForNode): * Source/WebKit/UIProcess/WebPageProxy.h: Canonical link: https://commits.webkit.org/274932@main To unsubscribe from these emails, change your notification settings at https://github.com/WebKit/WebKit/settings/notifications ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] e7e977: [Site Isolation] Connect scrolling trees from main...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: e7e9773f128b368bf877a9f1481917a7350e9b05 https://github.com/WebKit/WebKit/commit/e7e9773f128b368bf877a9f1481917a7350e9b05 Author: Nikolaos Mouchtaris Date: 2024-02-17 (Sat, 17 Feb 2024) Changed paths: A LayoutTests/http/tests/site-isolation/scrolling/basic-scrolling-tree-expected.txt A LayoutTests/http/tests/site-isolation/scrolling/basic-scrolling-tree.html A LayoutTests/http/tests/site-isolation/scrolling/resources/empty-iframe.html A LayoutTests/http/tests/site-isolation/scrolling/resources/overflow-scroll-iframe.html M LayoutTests/platform/ios/TestExpectations M LayoutTests/platform/mac-wk2/TestExpectations 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/ScrollingStateTree.cpp M Source/WebCore/page/scrolling/ScrollingStateTree.h M Source/WebCore/page/scrolling/ScrollingTree.cpp M Source/WebCore/page/scrolling/ScrollingTree.h M Source/WebCore/page/scrolling/ScrollingTreeFrameHostingNode.cpp M Source/WebCore/page/scrolling/ScrollingTreeFrameHostingNode.h M Source/WebCore/page/scrolling/ScrollingTreeNode.h M Source/WebCore/page/scrolling/ThreadedScrollingCoordinator.cpp M Source/WebKit/Shared/RemoteLayerTree/RemoteScrollingCoordinatorTransaction.cpp M Source/WebKit/Shared/RemoteLayerTree/RemoteScrollingCoordinatorTransaction.h M Source/WebKit/Shared/RemoteLayerTree/RemoteScrollingCoordinatorTransaction.serialization.in M Source/WebKit/UIProcess/RemoteLayerTree/RemoteLayerTreeDrawingAreaProxy.mm M Source/WebKit/UIProcess/RemoteLayerTree/RemoteScrollingCoordinatorProxy.cpp M Source/WebKit/UIProcess/RemoteLayerTree/RemoteScrollingCoordinatorProxy.h M Source/WebKit/WebProcess/WebPage/RemoteLayerTree/RemoteLayerTreeDrawingArea.mm M Source/WebKit/WebProcess/WebPage/RemoteLayerTree/RemoteScrollingCoordinator.mm Log Message: --- [Site Isolation] Connect scrolling trees from main process and iframe process https://bugs.webkit.org/show_bug.cgi?id=268591 rdar://122145583 Reviewed by Simon Fraser. This is part 2 of splitting up https://github.com/WebKit/WebKit/pull/23242 This connects the scrolling node marked with the hosting id with the root of a transaction marked with the same id. Since the scrolling state tree only includes state changes, we need to keep track of all state trees committed with a host id if we haven't received a commit with the corresponding host id in the tree. * LayoutTests/http/tests/site-isolation/scrolling/basic-scrolling-tree-expected.txt: Added. * LayoutTests/http/tests/site-isolation/scrolling/basic-scrolling-tree.html: Added. * LayoutTests/http/tests/site-isolation/scrolling/resources/empty-iframe.html: Added. * LayoutTests/http/tests/site-isolation/scrolling/resources/overflow-scroll-iframe.html: Added. * LayoutTests/http/tests/site-isolation/scrolling/scrolling-tree-iframe-overflow-expected.txt: Added. * LayoutTests/http/tests/site-isolation/scrolling/scrolling-tree-iframe-overflow.html: Added. * Source/WebCore/page/scrolling/AsyncScrollingCoordinator.cpp: (WebCore::AsyncScrollingCoordinator::createNode): * Source/WebCore/page/scrolling/ScrollingCoordinator.cpp: (WebCore::ScrollingCoordinator::mainFrameIdentifier const): * Source/WebCore/page/scrolling/ScrollingCoordinator.h: * Source/WebCore/page/scrolling/ScrollingStateTree.cpp: (WebCore::ScrollingStateTree::ScrollingStateTree): (WebCore::ScrollingStateTree::insertNode): * Source/WebCore/page/scrolling/ScrollingStateTree.h: (WebCore::ScrollingStateTree::frameIdentifier const): (WebCore::ScrollingStateTree::setFrameIdentifier): * Source/WebCore/page/scrolling/ScrollingTree.cpp: (WebCore::ScrollingTree::removeNode): (WebCore::ScrollingTree::commitTreeState): (WebCore::ScrollingTree::updateTreeFromStateNodeRecursive): (WebCore::ScrollingTree::removeAllNodes): (WebCore::ScrollingTree::addScrollingNodeToHostedSubtreeMap): * Source/WebCore/page/scrolling/ScrollingTree.h: (WebCore::ScrollingTree::isScrollingSynchronizedWithMainThread): (WebCore::ScrollingTree::treeLock): (WebCore::ScrollingTree::propagateSynchronousScrollingReasons): (WebCore::ScrollingTree::WTF_REQUIRES_LOCK): Deleted. (WebCore::ScrollingTree::WTF_RETURNS_LOCK): Deleted. * Source/WebCore/page/scrolling/ScrollingTreeFrameHostingNode.cpp: (WebCore::ScrollingTreeFrameHostingNode::setLayerHostingContextIdentifier): (WebCore::ScrollingTreeFrameHostingNode::removeHostedChildren): (WebCore::ScrollingTreeFrameHostingNode::willBeDestroyed): (WebCore::ScrollingTreeFrameHostingNode::dumpProperties const): * Source/WebCore/page/scrolling/ScrollingTreeFrameHostingNode.h: (WebCore::ScrollingTreeFrameHostingNode::addHostedChild):
[webkit-changes] [WebKit/WebKit] 009a87: [Site Isolation] Make ScrollingNodeIDs process qua...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 009a87a71b03c799d190c76635e8eb92d4658e0f https://github.com/WebKit/WebKit/commit/009a87a71b03c799d190c76635e8eb92d4658e0f Author: Nikolaos Mouchtaris 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
[webkit-changes] [WebKit/WebKit] 385c72: [Site Isolation] Mark scrolling tree nodes that ar...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 385c72e3a6462abfbbdbee6b77a344a663ffd74d https://github.com/WebKit/WebKit/commit/385c72e3a6462abfbbdbee6b77a344a663ffd74d Author: Nikolaos Mouchtaris Date: 2024-02-05 (Mon, 05 Feb 2024) Changed paths: M Source/WebCore/page/scrolling/AsyncScrollingCoordinator.cpp M Source/WebCore/page/scrolling/AsyncScrollingCoordinator.h M Source/WebCore/page/scrolling/ScrollingCoordinator.h M Source/WebCore/page/scrolling/ScrollingStateFrameHostingNode.cpp M Source/WebCore/page/scrolling/ScrollingStateFrameHostingNode.h M Source/WebCore/page/scrolling/ScrollingStateNode.h M Source/WebCore/page/scrolling/ScrollingTreeFrameHostingNode.cpp M Source/WebCore/page/scrolling/ScrollingTreeFrameHostingNode.h M Source/WebCore/rendering/RenderLayerCompositor.cpp M Source/WebKit/Shared/RemoteLayerTree/RemoteScrollingCoordinatorTransaction.serialization.in M Source/WebKit/Shared/WebCoreArgumentCoders.serialization.in Log Message: --- [Site Isolation] Mark scrolling tree nodes that are parents of a RemoteFrame https://bugs.webkit.org/show_bug.cgi?id=268518 rdar://122054689 Reviewed by Simon Fraser. This is part 1 of splitting up https://github.com/WebKit/WebKit/pull/23242. The purpose of this patch is to mark scrolling tree nodes that have an associated RemoteFrame, currently using the LayerHostingContextIdentifier. This will later be used to connect the scrolling tree from the iframe process in the ui process. * Source/WebCore/page/FrameView.h: * Source/WebCore/page/RemoteFrame.cpp: (WebCore::RemoteFrame::didFinishLoadInAnotherProcess): * Source/WebCore/page/RemoteFrame.h: * Source/WebCore/page/scrolling/AsyncScrollingCoordinator.cpp: (WebCore::AsyncScrollingCoordinator::setLayerHostingContextIdentifier): (WebCore::AsyncScrollingCoordinator::frameViewForScrollingNode const): * Source/WebCore/page/scrolling/AsyncScrollingCoordinator.h: * Source/WebCore/page/scrolling/ScrollingCoordinator.h: (WebCore::ScrollingCoordinator::isSiteIsolatedTree): (WebCore::ScrollingCoordinator::setLayerHostingContextIdentifier): * Source/WebCore/page/scrolling/ScrollingStateFrameScrollingNode.cpp: (WebCore::ScrollingStateFrameScrollingNode::ScrollingStateFrameScrollingNode): * Source/WebCore/page/scrolling/ScrollingStateFrameScrollingNode.h: * Source/WebCore/page/scrolling/ScrollingStateNode.cpp: (WebCore::operator<<): (WebCore::ScrollingStateNode::setLayer): * Source/WebCore/page/scrolling/ScrollingStateNode.h: (WebCore::LayerRepresentation::operator PlatformLayer* const): (WebCore::LayerRepresentation::toRepresentation const): (WebCore::LayerRepresentation::representation const): * Source/WebCore/page/scrolling/ScrollingStateOverflowScrollingNode.cpp: (WebCore::ScrollingStateOverflowScrollingNode::ScrollingStateOverflowScrollingNode): * Source/WebCore/page/scrolling/ScrollingStateOverflowScrollingNode.h: * Source/WebCore/page/scrolling/ScrollingStatePluginScrollingNode.cpp: (WebCore::ScrollingStatePluginScrollingNode::ScrollingStatePluginScrollingNode): * Source/WebCore/page/scrolling/ScrollingStatePluginScrollingNode.h: * Source/WebCore/page/scrolling/ScrollingStateScrollingNode.cpp: (WebCore::ScrollingStateScrollingNode::ScrollingStateScrollingNode): (WebCore::ScrollingStateScrollingNode::setLayerHostingContextIdentifier): (WebCore::ScrollingStateScrollingNode::dumpProperties const): * Source/WebCore/page/scrolling/ScrollingStateScrollingNode.h: (WebCore::ScrollingStateScrollingNode::layerHostingContextIdentifier const): * Source/WebCore/page/scrolling/ScrollingStateTree.cpp: (WebCore::ScrollingStateTree::createUnparentedNode): (WebCore::ScrollingStateTree::insertNode): * Source/WebCore/page/scrolling/ScrollingStateTree.h: * Source/WebCore/page/scrolling/ScrollingTree.h: * Source/WebCore/page/scrolling/ScrollingTreeNode.cpp: (WebCore::ScrollingTreeNode::removeAllChildren): * Source/WebCore/page/scrolling/ScrollingTreeNode.h: (WebCore::ScrollingTreeNode::setIsHostedSubtree): (WebCore::ScrollingTreeNode::isHostedSubtree const): (WebCore::ScrollingTreeNode::layerHostingContextIdentifier): (WebCore::ScrollingTreeNode::setlayerHostingContextIdentifier): * Source/WebCore/page/scrolling/ScrollingTreeScrollingNode.cpp: (WebCore::ScrollingTreeScrollingNode::commitStateBeforeChildren): (WebCore::ScrollingTreeScrollingNode::dumpProperties const): * Source/WebCore/page/scrolling/mac/ScrollingTreeMac.mm: (scrollingNodeIDForLayer): (ScrollingTreeMac::scrollingNodeForPoint): Canonical link: https://commits.webkit.org/274123@main ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] b940c0: [scroll-anchoring] Scroll anchoring and Shadow DOM...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: b940c0441af5d96ddd5bb8b5ac87217f7087a5ca https://github.com/WebKit/WebKit/commit/b940c0441af5d96ddd5bb8b5ac87217f7087a5ca Author: Nikolaos Mouchtaris Date: 2024-01-19 (Fri, 19 Jan 2024) Changed paths: A LayoutTests/imported/w3c/web-platform-tests/css/css-scroll-anchoring/shadow-dom-subscroller-expected.txt A LayoutTests/imported/w3c/web-platform-tests/css/css-scroll-anchoring/shadow-dom-subscroller.html M Source/WebCore/page/scrolling/ScrollAnchoringController.cpp Log Message: --- [scroll-anchoring] Scroll anchoring and Shadow DOM result in weird scrolling behavior https://bugs.webkit.org/show_bug.cgi?id=267733 rdar://121165484 Reviewed by Tim Nguyen. After https://commits.webkit.org/272277@main we descend subscrollers that are not maintaining a scroll anchor. In the logic added to ScrollAnchoringController::invalidateAnchorElement we look to see if the current scroller is in a scroll anchoring chain, if it is not currently maintaining an anchor element. When the owning scroller is in the shadow dom, the element walk would not include it, so it wouldn't notify the parent scroller to invalidate its anchor element. To fix this, do the parent walk via parentElementInComposedTree to include the elements in the shadow dom. * LayoutTests/imported/w3c/web-platform-tests/css/css-scroll-anchoring/shadow-dom-subscroller-expected.txt: Added. * LayoutTests/imported/w3c/web-platform-tests/css/css-scroll-anchoring/shadow-dom-subscroller.html: Added. * Source/WebCore/page/scrolling/ScrollAnchoringController.cpp: (WebCore::ScrollAnchoringController::isInScrollAnchoringAncestorChain): Canonical link: https://commits.webkit.org/273254@main ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] 04761d: Disable Scroll Anchoring
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 04761dccf59258134cc7bfee76e32e90942e1505 https://github.com/WebKit/WebKit/commit/04761dccf59258134cc7bfee76e32e90942e1505 Author: Nikolaos Mouchtaris Date: 2024-01-19 (Fri, 19 Jan 2024) Changed paths: M Source/WTF/Scripts/Preferences/UnifiedWebPreferences.yaml Log Message: --- Disable Scroll Anchoring https://bugs.webkit.org/show_bug.cgi?id=267773 rdar://121236706 Reviewed by Aditya Keerthi. Disable Scroll Anchoring. * Source/WTF/Scripts/Preferences/UnifiedWebPreferences.yaml: Canonical link: https://commits.webkit.org/273238@main ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] 830a3f: [scroll-anchoring] cbssports.com: Video playing an...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 830a3fbfc285ee62ade6802295dbf81f3f7962c2 https://github.com/WebKit/WebKit/commit/830a3fbfc285ee62ade6802295dbf81f3f7962c2 Author: Nikolaos Mouchtaris Date: 2024-01-17 (Wed, 17 Jan 2024) Changed paths: M Source/WebCore/page/scrolling/ScrollAnchoringController.cpp Log Message: --- [scroll-anchoring] cbssports.com: Video playing and webpage elements flickering when scrolling https://bugs.webkit.org/show_bug.cgi?id=267644 rdar://119959431 Reviewed by Wenson Hsieh. On cbssports.com there is an undesired scroll anchoring adjustment when the user scrolls to dismiss the video, which cancels the user scroll and brings back up the video. Ideally, we would understand why this adjustment is occuring, but for now we should disable anchor adjustments during user scroll (like we do on iOS) to prevent them from interfering with user gestures. * Source/WebCore/page/scrolling/ScrollAnchoringController.cpp: (WebCore::ScrollAnchoringController::adjustScrollPositionForAnchoring): Canonical link: https://commits.webkit.org/273142@main ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] c564c2: [scroll-anchoring] Have release log use RELEASE_LOG
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: c564c286d65cbff048964b33a7eb16d580f9aae0 https://github.com/WebKit/WebKit/commit/c564c286d65cbff048964b33a7eb16d580f9aae0 Author: Nikolaos Mouchtaris Date: 2024-01-12 (Fri, 12 Jan 2024) Changed paths: M Source/WebCore/page/scrolling/ScrollAnchoringController.cpp Log Message: --- [scroll-anchoring] Have release log use RELEASE_LOG https://bugs.webkit.org/show_bug.cgi?id=267469 rdar://120920864 Reviewed by Simon Fraser. Use the RELEASE_LOG macro for release logging scroll anchoring adjustments. * Source/WebCore/page/scrolling/ScrollAnchoringController.cpp: (WebCore::ScrollAnchoringController::adjustScrollPositionForAnchoring): Canonical link: https://commits.webkit.org/272999@main ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] 235f33: [scroll-anchoring] Add release logging for scroll ...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 235f339872989d753b256400e7fee7aec110a163 https://github.com/WebKit/WebKit/commit/235f339872989d753b256400e7fee7aec110a163 Author: Nikolaos Mouchtaris Date: 2024-01-12 (Fri, 12 Jan 2024) Changed paths: M Source/WebCore/page/scrolling/ScrollAnchoringController.cpp Log Message: --- [scroll-anchoring] Add release logging for scroll anchoring adjustments https://bugs.webkit.org/show_bug.cgi?id=267379 rdar://120812771 Reviewed by Wenson Hsieh. Add release logs for scroll anchoring adjusmtents for easier diagnosing of scroll anchoring bugs. * Source/WebCore/page/scrolling/ScrollAnchoringController.cpp: (WebCore::ScrollAnchoringController::adjustScrollPositionForAnchoring): Canonical link: https://commits.webkit.org/272985@main ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] 28b924: [scroll-anchoring] Have invalidateAnchorElement us...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 28b9240cb45cce62f8a6e492fd654a086ee48aef https://github.com/WebKit/WebKit/commit/28b9240cb45cce62f8a6e492fd654a086ee48aef Author: Nikolaos Mouchtaris Date: 2024-01-11 (Thu, 11 Jan 2024) Changed paths: M Source/WebCore/page/scrolling/ScrollAnchoringController.cpp Log Message: --- [scroll-anchoring] Have invalidateAnchorElement use dequeueScrollableAreaForScrollAnchoringUpdate https://bugs.webkit.org/show_bug.cgi?id=267385 rdar://120817486 Reviewed by Wenson Hsieh. Have ScrollAnchoringController::invalidateAnchorElement use dequeueScrollableAreaForScrollAnchoringUpdate rather than queueScrollableAreaForScrollAnchoringUpdate. This was a benign issue due to the m_isQueuedForScrollPositionUpdate flag but we don't want to have scrollable areas in the set that don't require updates. * Source/WebCore/page/scrolling/ScrollAnchoringController.cpp: (WebCore::ScrollAnchoringController::invalidateAnchorElement): Canonical link: https://commits.webkit.org/272927@main ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] 50c9dc: [scroll-anchoring] Keyboard scrolling into a rubbe...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 50c9dcae73447ac8e649a07dd246b227fc3dfd65 https://github.com/WebKit/WebKit/commit/50c9dcae73447ac8e649a07dd246b227fc3dfd65 Author: Nikolaos Mouchtaris Date: 2024-01-04 (Thu, 04 Jan 2024) Changed paths: M LayoutTests/TestExpectations A LayoutTests/fast/scrolling/mac/keyboard-rubberband-expected.txt A LayoutTests/fast/scrolling/mac/keyboard-rubberband.html M LayoutTests/imported/w3c/web-platform-tests/css/css-scroll-anchoring/start-edge-in-block-layout-direction-expected.txt M Source/WebCore/page/scrolling/ScrollAnchoringController.cpp M Source/WebCore/platform/ScrollAnimator.cpp Log Message: --- [scroll-anchoring] Keyboard scrolling into a rubberband leaves the page stuck at a bad scroll offset https://bugs.webkit.org/show_bug.cgi?id=267061 rdar://120053910 Reviewed by Simon Fraser. After https://commits.webkit.org/271957@main we disabled scroll anchoring adjustments while m_owningScrollableArea.isRubberBandInProgress() is true. However, this is not true during a keyboard scroll. A better solution to this is to invalidate the scroll anchoring element in ScrollAnimator::setCurrentPosition itself. Normally scroll position changes here would be sent down into the scrollable area via setScrollPositionFromAnimation, however while rubberbanding notify is NotifyScrollableArea::No, so we don't propagate the scroll position change to the scrollable area. Now that we properly notfiy the scroll anchoring controller of the scroll position change while rubberbanding, we can remove the old solution. * Source/WebCore/page/scrolling/ScrollAnchoringController.cpp: (WebCore::ScrollAnchoringController::adjustScrollPositionForAnchoring): * Source/WebCore/platform/ScrollAnimator.cpp: (WebCore::notifyScrollAnchoringControllerOfScroll): (WebCore::ScrollAnimator::setCurrentPosition): Canonical link: https://commits.webkit.org/272657@main ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] bb9af3: [scroll-anchoring] Weird scrolling effect when scr...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: bb9af3d426703c0dab09e5de39fe435eb6876f7f https://github.com/WebKit/WebKit/commit/bb9af3d426703c0dab09e5de39fe435eb6876f7f Author: Nikolaos Mouchtaris Date: 2024-01-03 (Wed, 03 Jan 2024) Changed paths: A LayoutTests/imported/w3c/web-platform-tests/css/css-scroll-anchoring/focused-element-nested-anchor-expected.txt A LayoutTests/imported/w3c/web-platform-tests/css/css-scroll-anchoring/focused-element-nested-anchor.html M Source/WebCore/page/scrolling/ScrollAnchoringController.cpp M Source/WebCore/page/scrolling/ScrollAnchoringController.h M Source/WebCore/rendering/RenderElement.cpp M Source/WebCore/rendering/RenderObject.cpp M Source/WebCore/rendering/RenderObject.h Log Message: --- [scroll-anchoring] Weird scrolling effect when scrolling YouTube transcript panel https://bugs.webkit.org/show_bug.cgi?id=267005 rdar://120378263 Reviewed by Simon Fraser. After https://commits.webkit.org/272277@main we descend subscrollers that are not maintaining a scroll anchor. We need to replicate the logic used in ScrollAnchoringController::examineAnchorCandidate for ScrollAnchoringController::didFindPriorityCandidate, to ensure we don't end up choosing an anchor element that is a descendant of a scrollable area that is maintaining a scroll anchor. * LayoutTests/imported/w3c/web-platform-tests/css/css-scroll-anchoring/focused-element-nested-anchor-expected.txt: Added. * LayoutTests/imported/w3c/web-platform-tests/css/css-scroll-anchoring/focused-element-nested-anchor.html: Added. * Source/WebCore/page/scrolling/ScrollAnchoringController.cpp: (WebCore::scrollAnchoringControllerForElement): (WebCore::ScrollAnchoringController::didFindPriorityCandidate): (WebCore::canDescendIntoElement): (WebCore::ScrollAnchoringController::isExcludedSubtree): (WebCore::ScrollAnchoringController::examineAnchorCandidate): (WebCore::ScrollAnchoringController::chooseAnchorElement): (WebCore::ScrollAnchoringController::adjustScrollPositionForAnchoring): * Source/WebCore/page/scrolling/ScrollAnchoringController.h: Canonical link: https://commits.webkit.org/272616@main ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] 17faf7: [scroll-anchoring] Reenable scroll anchoring on mo...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 17faf7b3085ae41935c20671d774a69f088b8262 https://github.com/WebKit/WebKit/commit/17faf7b3085ae41935c20671d774a69f088b8262 Author: Nikolaos Mouchtaris Date: 2023-12-20 (Wed, 20 Dec 2023) Changed paths: M LayoutTests/accessibility/scroll-to-global-point-iframe-nested.html M LayoutTests/accessibility/scroll-to-global-point-nested.html M LayoutTests/accessibility/visible-character-range-width-changes.html M LayoutTests/css3/scroll-snap/ios/scroll-snap-mainframe-pinch-out.html M LayoutTests/editing/execCommand/insert-line-break-no-scroll.html M LayoutTests/editing/selection/ios/autoscroll-with-top-content-inset.html M LayoutTests/fast/dom/vertical-scrollbar-in-rtl-doesnt-fire-onscroll.html M LayoutTests/fast/events/no-scroll-on-input-text-selection.html M LayoutTests/fast/scrolling/latching/latching-and-wheel-events.html M LayoutTests/fast/scrolling/latching/overflow-in-iframe-latching.html M LayoutTests/fast/scrolling/mac/adjust-scroll-snap-during-gesture.html M LayoutTests/fast/scrolling/mac/programmatic-scroll-overrides-rubberband.html M LayoutTests/fast/visual-viewport/client-coordinates-relative-to-layout-viewport.html M LayoutTests/fast/visual-viewport/rtl-zoomed-rects.html M LayoutTests/fullscreen/fullscreen-restore-scroll-position.html M LayoutTests/scrollingcoordinator/mac/latching/scrolling-select-should-not-latch-mainframe.html Log Message: --- [scroll-anchoring] Reenable scroll anchoring on more LayoutTests https://bugs.webkit.org/show_bug.cgi?id=266439 rdar://119688035 Reviewed by Tim Nguyen. Reenable scroll anchoring on more LayoutTests. * LayoutTests/fast/dom/vertical-scrollbar-in-rtl-doesnt-fire-onscroll.html: * LayoutTests/fast/events/no-scroll-on-input-text-selection.html: * LayoutTests/fast/scrolling/latching/latching-and-wheel-events.html: * LayoutTests/fast/scrolling/latching/overflow-in-iframe-latching.html: * LayoutTests/fast/scrolling/mac/adjust-scroll-snap-during-gesture.html: * LayoutTests/fast/scrolling/mac/programmatic-scroll-overrides-rubberband.html: * LayoutTests/fast/scrolling/programmatic-document-rtl-scroll.html: * LayoutTests/fast/visual-viewport/client-coordinates-relative-to-layout-viewport.html: * LayoutTests/fast/visual-viewport/rtl-zoomed-rects.html: Canonical link: https://commits.webkit.org/272381@main ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] e8b2c8: [scroll-anchoring] Reenable scroll anchoring on so...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: e8b2c8b9f620462989dfe351e10612df92eb43a2 https://github.com/WebKit/WebKit/commit/e8b2c8b9f620462989dfe351e10612df92eb43a2 Author: Nikolaos Mouchtaris Date: 2023-12-19 (Tue, 19 Dec 2023) Changed paths: M LayoutTests/fast/dom/Element/body-scrollLeft-basics-quirks.html M LayoutTests/fast/dom/Element/body-scrollTop-basics-quirks.html M LayoutTests/fast/dom/Window/window-scroll-arguments.html M LayoutTests/fast/dom/horizontal-scrollbar-when-dir-change.html M LayoutTests/fast/dom/vertical-scrollbar-when-dir-change.html M LayoutTests/fast/repaint/absolute-position-changed.html M LayoutTests/fast/scrolling/ios/adjust-scroll-snap-during-gesture.html M LayoutTests/fast/scrolling/ios/click-events-during-momentum-scroll-in-main-frame.html M LayoutTests/fast/scrolling/ios/key-command-scroll-to-bottom.html M LayoutTests/fast/scrolling/ios/key-command-scroll-to-top.html M LayoutTests/fast/scrolling/ios/mixing-user-and-programmatic-scroll-002.html M LayoutTests/fast/scrolling/ios/mixing-user-and-programmatic-scroll-003.html M LayoutTests/fast/scrolling/ios/mixing-user-and-programmatic-scroll-006.html M LayoutTests/fast/scrolling/ios/scroll-iframe-001.html M LayoutTests/fast/scrolling/ios/scroll-iframe-002.html M LayoutTests/fast/scrolling/ios/scroll-iframe-003.html M LayoutTests/fast/scrolling/ios/scroll-to-beginning-and-end-of-document.html M LayoutTests/jquery/offset.html Log Message: --- [scroll-anchoring] Reenable scroll anchoring on some LayoutTests https://bugs.webkit.org/show_bug.cgi?id=262712 rdar://116533047 Reviewed by Tim Nguyen and Simon Fraser. Reenable scroll anchoring on some LayoutTests. * LayoutTests/fast/dom/Element/body-scrollLeft-basics-quirks.html: * LayoutTests/fast/dom/Element/body-scrollTop-basics-quirks.html: * LayoutTests/fast/dom/Window/window-scroll-arguments.html: * LayoutTests/fast/dom/horizontal-scrollbar-when-dir-change.html: * LayoutTests/fast/dom/vertical-scrollbar-when-dir-change.html: Canonical link: https://commits.webkit.org/272299@main ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] 07319b: [scroll-anchoring] findAnchorElementRecursive shou...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 07319b820ce70ac6e01093ed0c356c2e1b0eb25d https://github.com/WebKit/WebKit/commit/07319b820ce70ac6e01093ed0c356c2e1b0eb25d Author: Nikolaos Mouchtaris Date: 2023-12-19 (Tue, 19 Dec 2023) Changed paths: M LayoutTests/imported/w3c/web-platform-tests/css/css-scroll-anchoring/position-change-heuristic-in-nested-scroll-box-expected.txt M Source/WebCore/page/scrolling/ScrollAnchoringController.cpp M Source/WebCore/rendering/RenderObject.cpp Log Message: --- [scroll-anchoring] findAnchorElementRecursive should descend into subscrollers if its not maintaining a scroll anchor https://bugs.webkit.org/show_bug.cgi?id=262557 rdar://116411088 Reviewed by Simon Fraser. We should only disallow descending into subscrollers if the subscroller is currently maintaining a scroll anchor. * LayoutTests/imported/w3c/web-platform-tests/css/css-scroll-anchoring/position-change-heuristic-in-nested-scroll-box-expected.txt: * Source/WebCore/page/scrolling/ScrollAnchoringController.cpp: (WebCore::elementForScrollableArea): (WebCore::ScrollAnchoringController::invalidateAnchorElement): (WebCore::canDescendIntoElement): (WebCore::ScrollAnchoringController::examineCandidate): * Source/WebCore/rendering/RenderObject.cpp: (WebCore::RenderObject::findScrollAnchoringControllerForRenderer): Canonical link: https://commits.webkit.org/272277@main ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] fdbd1e: Refactor Scrollbar to hold NSScrollerImp
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: fdbd1e818def7f92e7c7e410229619c18d419d08 https://github.com/WebKit/WebKit/commit/fdbd1e818def7f92e7c7e410229619c18d419d08 Author: Nikolaos Mouchtaris Date: 2023-12-14 (Thu, 14 Dec 2023) Changed paths: M Source/WebCore/SourcesCocoa.txt M Source/WebCore/WebCore.xcodeproj/project.pbxproj M Source/WebCore/page/scrolling/mac/ScrollingStateScrollingNodeMac.mm M Source/WebCore/platform/Scrollbar.cpp M Source/WebCore/platform/Scrollbar.h M Source/WebCore/platform/ScrollbarTheme.h A Source/WebCore/platform/mac/ScrollbarMac.h A Source/WebCore/platform/mac/ScrollbarMac.mm M Source/WebCore/platform/mac/ScrollbarThemeMac.h M Source/WebCore/platform/mac/ScrollbarThemeMac.mm M Source/WebCore/platform/mac/ScrollbarsControllerMac.mm Log Message: --- Refactor Scrollbar to hold NSScrollerImp https://bugs.webkit.org/show_bug.cgi?id=264014 rdar://117770817 Reviewed by Simon Fraser. Decouple creation of NSScrollerImps from the global map in ScrollbarThemeMac. Instead, create ScrollbarMac to hold a reference to the NSScrollerImp, and change the map to a set of scrollbars (which is still necessary due to the WebScrollbarPrefsObserver stuff). * Source/WebCore/SourcesCocoa.txt: * Source/WebCore/WebCore.xcodeproj/project.pbxproj: * Source/WebCore/platform/Scrollbar.cpp: (WebCore::Scrollbar::createNativeScrollbar): * Source/WebCore/platform/mac/ScrollbarMac.h: Added. (WebCore::ScrollbarMac::~ScrollbarMac): * Source/WebCore/platform/mac/ScrollbarMac.mm: Added. (WebCore::ScrollbarMac::ScrollbarMac): (WebCore::ScrollbarMac::painterForScrollbar): (WebCore::ScrollbarMac::createNSScrollerImp): (WebCore::macScrollbarTheme): (WebCore::ScrollbarMac::updateNSScrollerImpState): (WebCore::ScrollbarMac::setNewPainterForScrollbar): * Source/WebCore/platform/mac/ScrollbarThemeMac.h: * Source/WebCore/platform/mac/ScrollbarThemeMac.mm: (WebCore::scrollbarMap): (+[WebScrollbarPrefsObserver appearancePrefsChanged:]): (WebCore::ScrollbarThemeMac::registerScrollbar): (WebCore::ScrollbarThemeMac::unregisterScrollbar): (WebCore::ScrollbarThemeMac::painterForScrollbar): (WebCore::ScrollbarThemeMac::hasThumb): (WebCore::ScrollbarThemeMac::minimumThumbLength): (WebCore::ScrollbarThemeMac::updateEnabledState): (WebCore::paintScrollbar): (WebCore::ScrollbarThemeMac::setNewPainterForScrollbar): Deleted. * Source/WebCore/platform/mac/ScrollbarsControllerMac.mm: (WebCore::ScrollbarsControllerMac::updateScrollerStyle): Canonical link: https://commits.webkit.org/272044@main ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] 7d680c: [scroll-anchoring] YouTube.com jittering in commen...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 7d680c19811737d2f07264bb02add5a612aca841 https://github.com/WebKit/WebKit/commit/7d680c19811737d2f07264bb02add5a612aca841 Author: Nikolaos Mouchtaris Date: 2023-12-13 (Wed, 13 Dec 2023) Changed paths: A LayoutTests/imported/w3c/web-platform-tests/css/css-scroll-anchoring/focused-element-in-excluded-subtree-expected.txt A LayoutTests/imported/w3c/web-platform-tests/css/css-scroll-anchoring/focused-element-in-excluded-subtree.html M Source/WebCore/page/scrolling/ScrollAnchoringController.cpp Log Message: --- [scroll-anchoring] YouTube.com jittering in comments and Channel pages https://bugs.webkit.org/show_bug.cgi?id=266303 rdar://problem/119568843 Reviewed by Simon Fraser. We should check if a priority candidate is part of an excluded subtree before selecting it as our anchor node. * LayoutTests/imported/w3c/web-platform-tests/css/css-scroll-anchoring/focused-element-in-excluded-subtree-expected.txt: Added. * LayoutTests/imported/w3c/web-platform-tests/css/css-scroll-anchoring/focused-element-in-excluded-subtree.html: Added. * Source/WebCore/page/scrolling/ScrollAnchoringController.cpp: (WebCore::ScrollAnchoringController::didFindPriorityCandidate): Canonical link: https://commits.webkit.org/271993@main ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] f09dea: When CSS scroll anchoring is enabled, pages don't ...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: f09deaf60f21c91bc351a654f2777be4aebeee80 https://github.com/WebKit/WebKit/commit/f09deaf60f21c91bc351a654f2777be4aebeee80 Author: Nikolaos Mouchtaris Date: 2023-12-12 (Tue, 12 Dec 2023) Changed paths: M LayoutTests/scrollingcoordinator/mac/latching/main-frame-back-swipe.html M LayoutTests/scrollingcoordinator/mac/latching/simple-page-rubberbands.html M Source/WebCore/page/scrolling/ScrollAnchoringController.cpp Log Message: --- When CSS scroll anchoring is enabled, pages don't rubberband https://bugs.webkit.org/show_bug.cgi?id=266290 rdar://119527058 Reviewed by Simon Fraser. Disable scroll anchoring adjustments while user is rubberbanding. * Source/WebCore/page/scrolling/ScrollAnchoringController.cpp: (WebCore::ScrollAnchoringController::adjustScrollPositionForAnchoring): Canonical link: https://commits.webkit.org/271957@main ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] b19a8e: Enable scroll anchoring by default
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: b19a8ecd83e6c20215a86dc28725fc62fd9ca976 https://github.com/WebKit/WebKit/commit/b19a8ecd83e6c20215a86dc28725fc62fd9ca976 Author: Nikolaos Mouchtaris Date: 2023-12-08 (Fri, 08 Dec 2023) Changed paths: M Source/WTF/Scripts/Preferences/UnifiedWebPreferences.yaml M Source/WebCore/page/LocalFrameView.cpp M Tools/TestWebKitAPI/Tests/WebKitCocoa/ProcessSwapOnNavigation.mm Log Message: --- Enable scroll anchoring by default https://bugs.webkit.org/show_bug.cgi?id=264784 rdar://118365809 Reviewed by Aditya Keerthi. Re-enable scroll anchoring after rdar://119203528 is resolved. Remove check in checkSettingsControlledByLockdownMode for scroll-anchoring being turned off now that it is a stable feature. * Source/WTF/Scripts/Preferences/UnifiedWebPreferences.yaml: * Source/WebCore/page/LocalFrameView.cpp: (WebCore::LocalFrameView::LocalFrameView): * Tools/TestWebKitAPI/Tests/WebKitCocoa/ProcessSwapOnNavigation.mm: Canonical link: https://commits.webkit.org/271790@main ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] 1c6a14: [scroll-anchoring] Add extra checks to viablePrior...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 1c6a14248561e2b8b643d85f75968d761940008f https://github.com/WebKit/WebKit/commit/1c6a14248561e2b8b643d85f75968d761940008f Author: Nikolaos Mouchtaris Date: 2023-12-08 (Fri, 08 Dec 2023) Changed paths: A LayoutTests/imported/w3c/web-platform-tests/css/css-scroll-anchoring/focused-element-outside-scroller-expected.txt A LayoutTests/imported/w3c/web-platform-tests/css/css-scroll-anchoring/focused-element-outside-scroller.html M Source/WebCore/page/scrolling/ScrollAnchoringController.cpp M Source/WebCore/page/scrolling/ScrollAnchoringController.h Log Message: --- [scroll-anchoring] Add extra checks to viablePriorityCandidateForElement to ensure a sensible priority candidate https://bugs.webkit.org/show_bug.cgi?id=266096 rdar://119203528 Reviewed by Simon Fraser. Add checks to ensure that the priority candidate is a descendant of the current scroller and that it is not an excluded subtree. * LayoutTests/imported/w3c/web-platform-tests/css/css-scroll-anchoring/focused-element-outside-scroller-expected.txt: Added. * LayoutTests/imported/w3c/web-platform-tests/css/css-scroll-anchoring/focused-element-outside-scroller.html: Added. * Source/WebCore/page/scrolling/ScrollAnchoringController.cpp: (WebCore::ScrollAnchoringController::didFindPriorityCandidate): Canonical link: https://commits.webkit.org/271783@main ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] bdce1d: [scroll-anchoring] A scroll anchoring adjustment d...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: bdce1d6d1b68d8c04c45c4128a257a5778f6fcbd https://github.com/WebKit/WebKit/commit/bdce1d6d1b68d8c04c45c4128a257a5778f6fcbd Author: Nikolaos Mouchtaris Date: 2023-12-04 (Mon, 04 Dec 2023) Changed paths: A LayoutTests/fast/scrolling/ios/scroll-anchoring-momentum-scroll-expected.txt A LayoutTests/fast/scrolling/ios/scroll-anchoring-momentum-scroll.html M Source/WebCore/page/scrolling/ScrollAnchoringController.cpp Log Message: --- [scroll-anchoring] A scroll anchoring adjustment during a momentum scroll stops the scroll https://bugs.webkit.org/show_bug.cgi?id=264898 rdar://118476758 Reviewed by Simon Fraser. On iOS, _scrollToContentScrollPosition calls [_scrollView _wk_stopScrollingAndZooming], which means when we issue a programmatic scroll, it would stop a current user scroll (rdar://115703492). For scroll anchoring, this isn't great as a scroll anchoring adjustment could kill a user scroll. To mitigate this, ignore scroll anchoring adjustments on scrollable areas that have an ongoing user scroll. Ideally, we would add the delta to the ongoing momentum scroll to compensate for layout changes during user scrolls, which requires a fix for rdar://115703492. * LayoutTests/resources/js-test.js: (getOrCreate): (description): (debug): * Source/WebCore/page/scrolling/ScrollAnchoringController.cpp: (WebCore::ScrollAnchoringController::adjustScrollPositionForAnchoring): * Source/WebCore/platform/mac/ScrollingEffectsController.mm: (WebCore::ScrollingEffectsController::handleWheelEvent): Canonical link: https://commits.webkit.org/271517@main ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] 8c6707: Enable scroll anchoring by default
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 8c670735053d3a5636919817a5c33ace607fb097 https://github.com/WebKit/WebKit/commit/8c670735053d3a5636919817a5c33ace607fb097 Author: Nikolaos Mouchtaris Date: 2023-11-29 (Wed, 29 Nov 2023) Changed paths: M Source/WTF/Scripts/Preferences/UnifiedWebPreferences.yaml M Source/WebCore/page/LocalFrameView.cpp M Tools/TestWebKitAPI/Tests/WebKitCocoa/ProcessSwapOnNavigation.mm Log Message: --- Enable scroll anchoring by default https://bugs.webkit.org/show_bug.cgi?id=264784 rdar://118365809 Reviewed by Simon Fraser. Enable scroll anchoring by default. Remove check in checkSettingsControlledByLockdownMode for scroll-anchoring being turned off now that it is a stable feature. * Source/WTF/Scripts/Preferences/UnifiedWebPreferences.yaml: Canonical link: https://commits.webkit.org/271283@main ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] cf327c: [scroll-anchoring] Exclude isolated subtrees
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: cf327c0480206b1724eba8ddf418bafadf7aa5c6 https://github.com/WebKit/WebKit/commit/cf327c0480206b1724eba8ddf418bafadf7aa5c6 Author: Nikolaos Mouchtaris Date: 2023-11-15 (Wed, 15 Nov 2023) Changed paths: M Source/WebCore/page/scrolling/ScrollAnchoringController.cpp Log Message: --- [scroll-anchoring] Exclude isolated subtrees https://bugs.webkit.org/show_bug.cgi?id=262335 rdar://116205746 Reviewed by Simon Fraser. We should exclude subtrees that are marked as contain: paint and are offscreen, as any descendents would be clipped to the parent. This doesn't quite fix contain-paint-offscreen-container.html but we do select the correct anchor element after this change. * Source/WebCore/page/scrolling/ScrollAnchoringController.cpp: (WebCore::ScrollAnchoringController::examineCandidate): Canonical link: https://commits.webkit.org/270794@main ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] c3a46a: [scroll-anchoring] Exclude absolutely positioned e...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: c3a46a009b283eb50ea3aac59bc0881a44620de1 https://github.com/WebKit/WebKit/commit/c3a46a009b283eb50ea3aac59bc0881a44620de1 Author: Nikolaos Mouchtaris Date: 2023-11-10 (Fri, 10 Nov 2023) Changed paths: M LayoutTests/imported/w3c/web-platform-tests/css/css-scroll-anchoring/abspos-containing-block-outside-scroller-expected.txt M Source/WebCore/page/scrolling/ScrollAnchoringController.cpp Log Message: --- [scroll-anchoring] Exclude absolutely positioned elements with containing blocks outside the parent scroller https://bugs.webkit.org/show_bug.cgi?id=262329 rdar://116201738 Reviewed by Simon Fraser. Exclude absolutely positioned elements with containing blocks outside the parent scroller. * LayoutTests/imported/w3c/web-platform-tests/css/css-scroll-anchoring/abspos-containing-block-outside-scroller-expected.txt: * Source/WebCore/page/scrolling/ScrollAnchoringController.cpp: (WebCore::absolutePositionedElementOutsideScroller): (WebCore::ScrollAnchoringController::computeOffset): (WebCore::ScrollAnchoringController::examineCandidate): Canonical link: https://commits.webkit.org/270551@main ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] fd9841: [scroll-anchoring] Contract owning scroller rect f...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: fd9841045cff01fad55cb6e8edd188eb595e14ea https://github.com/WebKit/WebKit/commit/fd9841045cff01fad55cb6e8edd188eb595e14ea Author: Nikolaos Mouchtaris Date: 2023-11-09 (Thu, 09 Nov 2023) Changed paths: M LayoutTests/imported/w3c/web-platform-tests/css/css-scroll-anchoring/scroll-padding-affects-anchoring-expected.txt M Source/WebCore/page/scrolling/ScrollAnchoringController.cpp Log Message: --- [scroll-anchoring] Contract owning scroller rect for scroll padding https://bugs.webkit.org/show_bug.cgi?id=262342 rdar://116209834 Reviewed by Simon Fraser. Contract owning scroller rect for scroll padding. * LayoutTests/imported/w3c/web-platform-tests/css/css-scroll-anchoring/scroll-padding-affects-anchoring-expected.txt: * Source/WebCore/page/scrolling/ScrollAnchoringController.cpp: (WebCore::ScrollAnchoringController::examineCandidate): Canonical link: https://commits.webkit.org/270483@main ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] b02b49: [scroll-anchoring] Implement suppression triggers
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: b02b493840f0ce869e34fcd65a027245d392bc91 https://github.com/WebKit/WebKit/commit/b02b493840f0ce869e34fcd65a027245d392bc91 Author: Nikolaos Mouchtaris Date: 2023-11-09 (Thu, 09 Nov 2023) Changed paths: M LayoutTests/imported/w3c/web-platform-tests/css/css-scroll-anchoring/ancestor-change-heuristic-expected.txt M LayoutTests/imported/w3c/web-platform-tests/css/css-scroll-anchoring/heuristic-with-offset-update-expected.txt M LayoutTests/imported/w3c/web-platform-tests/css/css-scroll-anchoring/opt-out-dynamic-expected.txt M LayoutTests/imported/w3c/web-platform-tests/css/css-scroll-anchoring/opt-out-dynamic-scroller-expected.txt M LayoutTests/imported/w3c/web-platform-tests/css/css-scroll-anchoring/position-change-heuristic-expected.txt M Source/WebCore/page/LocalFrameView.h M Source/WebCore/page/scrolling/ScrollAnchoringController.cpp M Source/WebCore/page/scrolling/ScrollAnchoringController.h M Source/WebCore/rendering/RenderElement.cpp M Source/WebCore/rendering/RenderLayerScrollableArea.h M Source/WebCore/rendering/RenderObject.cpp M Source/WebCore/rendering/RenderObject.h M Source/WebCore/rendering/style/RenderStyle.cpp M Source/WebCore/rendering/style/RenderStyle.h Log Message: --- [scroll-anchoring] Implement suppression triggers https://bugs.webkit.org/show_bug.cgi?id=261719 rdar://115704143 Reviewed by Simon Fraser. Implement suppression of scroll anchoring adjustments according to the spec (https://www.w3.org/TR/css-scroll-anchoring-1/#suppression-triggers). This involves suppressing scroll anchoring adjustments when certain “suppression trigger” operations occur when an anchor element has been chosen but before a scroll anchoring adjustment has occurred, that would cause the next scroll anchoring adjustment to be incorrect. These suppression triggers are certain style changes on the anchor element or any element in the anchor element ancestor chain, up to and including the scrolling element that owns the scroll anchroing controller, as well as changing to or from being absolutely posititioned, for any element under the owning scrolling element. * LayoutTests/imported/w3c/web-platform-tests/css/css-scroll-anchoring/ancestor-change-heuristic-expected.txt: * LayoutTests/imported/w3c/web-platform-tests/css/css-scroll-anchoring/heuristic-with-offset-update-expected.txt: * LayoutTests/imported/w3c/web-platform-tests/css/css-scroll-anchoring/opt-out-dynamic-expected.txt: * LayoutTests/imported/w3c/web-platform-tests/css/css-scroll-anchoring/opt-out-dynamic-scroller-expected.txt: * LayoutTests/imported/w3c/web-platform-tests/css/css-scroll-anchoring/position-change-heuristic-expected.txt: * Source/WebCore/page/LocalFrameView.cpp: (WebCore::LocalFrameView::scheduleResizeEventIfNeeded): * Source/WebCore/page/scrolling/ScrollAnchoringController.cpp: (WebCore::elementIsScrollableArea): (WebCore::setInScrollAnchoringAncestorChain): (WebCore::ScrollAnchoringController::invalidateAnchorElement): (WebCore::ScrollAnchoringController::notifyChildHadSuppressingStyleChange): (WebCore::scrollAnchoringControllerForElement): (WebCore::ScrollAnchoringController::notifyParentScrollAnchoringControllerHadSuppressingStyleChange): (WebCore::ScrollAnchoringController::didFindPriorityCandidate): (WebCore::ScrollAnchoringController::chooseAnchorElement): (WebCore::ScrollAnchoringController::adjustScrollPositionForAnchoring): * Source/WebCore/page/scrolling/ScrollAnchoringController.h: * Source/WebCore/rendering/RenderElement.cpp: (WebCore::RenderElement::styleDidChange): * Source/WebCore/rendering/RenderObject.h: (WebCore::RenderObject::isInScrollAnchoringAncestorChain const): (WebCore::RenderObject::setIsInScrollAnchoringAncestorChain): (WebCore::RenderObject::RenderObjectBitfields::RenderObjectBitfields): * Source/WebCore/rendering/style/RenderStyle.cpp: (WebCore::RenderStyle::scrollAnchoringSuppressionStyleDidChange const): (WebCore::RenderStyle::absolutePositionStyleDidChange const): * Source/WebCore/rendering/style/RenderStyle.h: Canonical link: https://commits.webkit.org/270455@main ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] 9320b5: (REGRESSION (265731@main): fast/scrolling/rtl-scro...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 9320b50206384e7b857c586879952789b6d16aaf https://github.com/WebKit/WebKit/commit/9320b50206384e7b857c586879952789b6d16aaf Author: Nikolaos Mouchtaris Date: 2023-10-16 (Mon, 16 Oct 2023) Changed paths: M Source/WebCore/platform/mac/ScrollbarThemeMac.mm Log Message: --- (REGRESSION (265731@main): fast/scrolling/rtl-scrollbars-animation-property.html is a constant failure) https://bugs.webkit.org/show_bug.cgi?id=262930 rdar://114349934 Reviewed by Cameron McCormack. After https://commits.webkit.org/265731@main ScrollbarThemeMac::isLayoutDirectionRTL did not have an NSScrollerImp to query about being in rtl mode. AppKit only uses userInterfaceLayoutDirection for rectForPart/expandedRectForPart, which are not used with UI-side compositing, so for now if we detect that the scrollbar should not be registered (due to UI-side compositing being on), just query the scrollable area to see if the scrollbar is in rtl mode. * Source/WebCore/platform/mac/ScrollbarThemeMac.mm: (WebCore::ScrollbarThemeMac::isLayoutDirectionRTL): Canonical link: https://commits.webkit.org/269390@main ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] 84c71b: REGRESSION(268267@main): [ macOS wk2 ] fast/scroll...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 84c71becf5f2f11f985c56a81b5a70172c2a5c32 https://github.com/WebKit/WebKit/commit/84c71becf5f2f11f985c56a81b5a70172c2a5c32 Author: Nikolaos Mouchtaris Date: 2023-10-10 (Tue, 10 Oct 2023) Changed paths: M LayoutTests/fast/scrolling/mac/programmatic-scroll-overrides-rubberband.html M LayoutTests/platform/mac-wk2/TestExpectations Log Message: --- REGRESSION(268267@main): [ macOS wk2 ] fast/scrolling/mac/programmatic-scroll-overrides-rubberband.html is consistently timing out. https://bugs.webkit.org/show_bug.cgi?id=261922 rdar://115869106 Unreviewed test fix. Turn of scroll anchoring for this test. * LayoutTests/platform/mac-wk2/TestExpectations: Canonical link: https://commits.webkit.org/269154@main ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] a88660: [scroll-anchoring] Implement scroll anchoring for ...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: a8866055e887ac67d0c7d1ac4a92935469455e8d https://github.com/WebKit/WebKit/commit/a8866055e887ac67d0c7d1ac4a92935469455e8d Author: Nikolaos Mouchtaris Date: 2023-10-04 (Wed, 04 Oct 2023) Changed paths: M LayoutTests/TestExpectations M LayoutTests/accessibility/scroll-to-global-point-iframe-nested.html M LayoutTests/accessibility/scroll-to-global-point-nested.html M LayoutTests/fast/scrolling/ios/adjust-scroll-snap-during-gesture.html M LayoutTests/fast/scrolling/ios/mixing-user-and-programmatic-scroll-002.html M LayoutTests/fast/scrolling/ios/mixing-user-and-programmatic-scroll-003.html M LayoutTests/fast/scrolling/ios/mixing-user-and-programmatic-scroll-006.html M LayoutTests/fast/scrolling/ios/scroll-iframe-001.html M LayoutTests/fast/scrolling/ios/scroll-iframe-002.html M LayoutTests/fast/scrolling/ios/scroll-iframe-003.html M LayoutTests/fast/scrolling/mac/adjust-scroll-snap-during-gesture.html M LayoutTests/imported/w3c/web-platform-tests/css/css-scroll-anchoring/ancestor-change-heuristic-expected.txt M LayoutTests/imported/w3c/web-platform-tests/css/css-scroll-anchoring/anchor-updates-after-explicit-scroll-expected.txt M LayoutTests/imported/w3c/web-platform-tests/css/css-scroll-anchoring/heuristic-with-offset-update-expected.txt M LayoutTests/imported/w3c/web-platform-tests/css/css-scroll-anchoring/multicol-fragmented-anchor-expected.txt M LayoutTests/imported/w3c/web-platform-tests/css/css-scroll-anchoring/opt-out-dynamic-expected.txt M LayoutTests/imported/w3c/web-platform-tests/css/css-scroll-anchoring/opt-out-dynamic-scroller-expected.txt M LayoutTests/imported/w3c/web-platform-tests/css/css-scroll-anchoring/position-change-heuristic-expected.txt M LayoutTests/imported/w3c/web-platform-tests/css/css-scroll-anchoring/position-change-heuristic-in-nested-scroll-box-expected.txt M LayoutTests/scrollingcoordinator/mac/latching/scrolling-select-should-not-latch-mainframe.html M Source/WebCore/dom/Document.cpp M Source/WebCore/page/LocalFrameView.cpp M Source/WebCore/page/LocalFrameView.h M Source/WebCore/page/scrolling/ScrollAnchoringController.cpp M Source/WebCore/page/scrolling/ScrollAnchoringController.h M Source/WebCore/platform/ScrollableArea.cpp M Source/WebCore/platform/ScrollableArea.h M Source/WebCore/rendering/RenderLayerScrollableArea.cpp M Source/WebCore/rendering/RenderLayerScrollableArea.h Log Message: --- [scroll-anchoring] Implement scroll anchoring for subscrollers https://bugs.webkit.org/show_bug.cgi?id=261775 rdar://115746157 Reviewed by Simon Fraser. Implement scroll anchoring for subscrollers. * Source/WebCore/dom/Document.cpp: (WebCore::Document::runScrollSteps): * Source/WebCore/page/LocalFrameView.cpp: (WebCore::LocalFrameView::LocalFrameView): (WebCore::LocalFrameView::scrollPositionChanged): (WebCore::LocalFrameView::updateScrollAnchoringElementsForScrollableAreas): (WebCore::LocalFrameView::invalidateScrollAnchoringElement): Deleted. (WebCore::LocalFrameView::updateScrollAnchoringElement): Deleted. (WebCore::LocalFrameView::updateScrollPositionForScrollAnchoringController): Deleted. * Source/WebCore/page/LocalFrameView.h: * Source/WebCore/page/scrolling/ScrollAnchoringController.cpp: (WebCore::ScrollAnchoringController::ScrollAnchoringController): (WebCore::ScrollAnchoringController::invalidateAnchorElement): (WebCore::ScrollAnchoringController::updateAnchorElement): (WebCore::ScrollAnchoringController::adjustScrollPositionForAnchoring): * Source/WebCore/page/scrolling/ScrollAnchoringController.h: * Source/WebCore/platform/ScrollableArea.cpp: (WebCore::ScrollableArea::setScrollAnchoringController): (WebCore::ScrollableArea::scrollAnchoringController): (WebCore::ScrollableArea::scrollPositionChanged): (WebCore::ScrollableArea::updateScrollAnchoringElement): (WebCore::ScrollableArea::updateScrollPositionForScrollAnchoringController): (WebCore::ScrollableArea::invalidateScrollAnchoringElement): * Source/WebCore/platform/ScrollableArea.h: (WebCore::ScrollableArea::updateScrollAnchoringElement): Deleted. (WebCore::ScrollableArea::updateScrollPositionForScrollAnchoringController): Deleted. * Source/WebCore/rendering/RenderLayerScrollableArea.cpp: (WebCore::RenderLayerScrollableArea::RenderLayerScrollableArea): Canonical link: https://commits.webkit.org/268848@main ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] eddbc5: [motion-path] circle() and ellipse() should use no...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: eddbc5df03c84c7da6b202923cad6ae71ecc1b0e https://github.com/WebKit/WebKit/commit/eddbc5df03c84c7da6b202923cad6ae71ecc1b0e Author: Nikolaos Mouchtaris Date: 2023-09-25 (Mon, 25 Sep 2023) Changed paths: A LayoutTests/imported/w3c/web-platform-tests/css/motion/offset-path-shape-circle-008-expected.html A LayoutTests/imported/w3c/web-platform-tests/css/motion/offset-path-shape-circle-008.html A LayoutTests/imported/w3c/web-platform-tests/css/motion/offset-path-shape-ellipse-007-expected.html A LayoutTests/imported/w3c/web-platform-tests/css/motion/offset-path-shape-ellipse-007.html M Source/WebCore/rendering/MotionPath.cpp Log Message: --- [motion-path] circle() and ellipse() should use non-offset starting position https://bugs.webkit.org/show_bug.cgi?id=262014 rdar://115962433 Reviewed by Tim Nguyen. circle() and ellipse() should use non-offset starting position. We don't want to use the offset starting position as this would make the calculation of the radius size incorrect for circle/ellipse. The one wpt for circle()/ellipse() do not actually test this properly (they use a 0,0 starting position). * LayoutTests/imported/w3c/web-platform-tests/css/motion/offset-path-shape-circle-008-expected.html: Added. * LayoutTests/imported/w3c/web-platform-tests/css/motion/offset-path-shape-circle-008.html: Added. * LayoutTests/imported/w3c/web-platform-tests/css/motion/offset-path-shape-ellipse-007-expected.html: Added. * LayoutTests/imported/w3c/web-platform-tests/css/motion/offset-path-shape-ellipse-007.html: Added. * Source/WebCore/rendering/MotionPath.cpp: (WebCore::MotionPath::computePathForShape): Canonical link: https://commits.webkit.org/268400@main ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] 0cd807: [scroll-anchoring] Implement anchor node selection...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 0cd807347378c72b30ee428774daeaf2b04cff07 https://github.com/WebKit/WebKit/commit/0cd807347378c72b30ee428774daeaf2b04cff07 Author: Nikolaos Mouchtaris Date: 2023-09-22 (Fri, 22 Sep 2023) Changed paths: M LayoutTests/fast/repaint/absolute-position-changed.html M LayoutTests/imported/w3c/web-platform-tests/css/css-scroll-anchoring/descend-into-container-with-float-expected.txt M LayoutTests/imported/w3c/web-platform-tests/css/css-scroll-anchoring/exclude-fixed-position-expected.txt M LayoutTests/imported/w3c/web-platform-tests/css/css-scroll-anchoring/exclude-sticky-expected.txt M LayoutTests/imported/w3c/web-platform-tests/css/css-scroll-anchoring/position-change-heuristic-ib-split-expected.txt M LayoutTests/imported/w3c/web-platform-tests/css/css-scroll-anchoring/subtree-exclusion-expected.txt M Source/WebCore/page/scrolling/ScrollAnchoringController.cpp M Source/WebCore/page/scrolling/ScrollAnchoringController.h M Source/WebCore/platform/Logging.h Log Message: --- [scroll-anchoring] Implement anchor node selection algorithm https://bugs.webkit.org/show_bug.cgi?id=261628 rdar://115583079 Reviewed by Simon Fraser. Implement anchor node selection algorithm outlined in the spec. * LayoutTests/imported/w3c/web-platform-tests/css/css-scroll-anchoring/descend-into-container-with-float-expected.txt: * LayoutTests/imported/w3c/web-platform-tests/css/css-scroll-anchoring/exclude-fixed-position-expected.txt: * LayoutTests/imported/w3c/web-platform-tests/css/css-scroll-anchoring/exclude-sticky-expected.txt: * LayoutTests/imported/w3c/web-platform-tests/css/css-scroll-anchoring/position-change-heuristic-ib-split-expected.txt: * LayoutTests/imported/w3c/web-platform-tests/css/css-scroll-anchoring/subtree-exclusion-expected.txt: * Source/WebCore/page/scrolling/ScrollAnchoringController.cpp: (WebCore::anchorElementForPriorityCandidate): (WebCore::elementIsScrollableArea): (WebCore::ScrollAnchoringController::examinePriorityCandidate): (WebCore::ScrollAnchoringController::findPriorityCandidate): (WebCore::ScrollAnchoringController::examineCandidate): (WebCore::operator<<): (WebCore::ScrollAnchoringController::findAnchorElementRecursive): (WebCore::ScrollAnchoringController::chooseAnchorElement): (WebCore::ScrollAnchoringController::updateAnchorElement): (WebCore::ScrollAnchoringController::adjustScrollPositionForAnchoring): * Source/WebCore/page/scrolling/ScrollAnchoringController.h: Canonical link: https://commits.webkit.org/268348@main ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] 15862c: Fix Win/PS debug builds after 268267@main
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 15862cd768aa5327a686dd8c70ea7d02f188065d https://github.com/WebKit/WebKit/commit/15862cd768aa5327a686dd8c70ea7d02f188065d Author: Nikolaos Mouchtaris Date: 2023-09-21 (Thu, 21 Sep 2023) Changed paths: M Source/WebCore/page/scrolling/ScrollAnchoringController.cpp Log Message: --- Fix Win/PS debug builds after 268267@main https://bugs.webkit.org/show_bug.cgi?id=261931 rdar://115872691 Unreviewed build fix. * Source/WebCore/page/scrolling/ScrollAnchoringController.cpp: (WebCore::ScrollAnchoringController::adjustScrollPositionForAnchoring): Canonical link: https://commits.webkit.org/268297@main ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] 663964: Scroll anchoring: naive implementation of selectAn...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 6639646de774d4333e28e4288a36c5627ac6388f https://github.com/WebKit/WebKit/commit/6639646de774d4333e28e4288a36c5627ac6388f Author: Nikolaos Mouchtaris Date: 2023-09-21 (Thu, 21 Sep 2023) Changed paths: M LayoutTests/accessibility/visible-character-range-width-changes.html M LayoutTests/css3/scroll-snap/ios/scroll-snap-mainframe-pinch-out.html M LayoutTests/editing/execCommand/insert-line-break-no-scroll.html M LayoutTests/editing/selection/ios/autoscroll-with-top-content-inset-2.html M LayoutTests/editing/selection/ios/autoscroll-with-top-content-inset.html M LayoutTests/fast/dom/Element/body-scrollLeft-basics-quirks.html M LayoutTests/fast/dom/Element/body-scrollTop-basics-quirks.html M LayoutTests/fast/dom/Window/window-scroll-arguments.html M LayoutTests/fast/dom/horizontal-scrollbar-when-dir-change.html M LayoutTests/fast/dom/vertical-scrollbar-in-rtl-doesnt-fire-onscroll.html M LayoutTests/fast/dom/vertical-scrollbar-when-dir-change.html M LayoutTests/fast/events/no-scroll-on-input-text-selection.html M LayoutTests/fast/scrolling/ios/click-events-during-momentum-scroll-in-main-frame.html M LayoutTests/fast/scrolling/ios/key-command-scroll-to-bottom.html M LayoutTests/fast/scrolling/ios/key-command-scroll-to-top.html M LayoutTests/fast/scrolling/ios/scroll-to-beginning-and-end-of-document.html M LayoutTests/fast/scrolling/latching/latching-and-wheel-events.html M LayoutTests/fast/scrolling/latching/overflow-in-iframe-latching.html M LayoutTests/fast/scrolling/programmatic-document-rtl-scroll.html M LayoutTests/fast/visual-viewport/client-coordinates-relative-to-layout-viewport.html M LayoutTests/fast/visual-viewport/rtl-zoomed-rects.html M LayoutTests/fullscreen/fullscreen-restore-scroll-position.html M LayoutTests/imported/w3c/web-platform-tests/css/css-scroll-anchoring/abspos-contributes-to-static-parent-bounds-expected.txt M LayoutTests/imported/w3c/web-platform-tests/css/css-scroll-anchoring/ancestor-change-heuristic-expected.txt M LayoutTests/imported/w3c/web-platform-tests/css/css-scroll-anchoring/anchoring-with-bounds-clamping-expected.txt M LayoutTests/imported/w3c/web-platform-tests/css/css-scroll-anchoring/anonymous-block-box-expected.txt M LayoutTests/imported/w3c/web-platform-tests/css/css-scroll-anchoring/basic-expected.txt M LayoutTests/imported/w3c/web-platform-tests/css/css-scroll-anchoring/descend-into-container-with-overflow-expected.txt M LayoutTests/imported/w3c/web-platform-tests/css/css-scroll-anchoring/image-001-expected.txt M LayoutTests/imported/w3c/web-platform-tests/css/css-scroll-anchoring/inline-block-002-expected.txt M LayoutTests/imported/w3c/web-platform-tests/css/css-scroll-anchoring/inline-block-expected.txt M LayoutTests/imported/w3c/web-platform-tests/css/css-scroll-anchoring/negative-layout-overflow-expected.txt M LayoutTests/imported/w3c/web-platform-tests/css/css-scroll-anchoring/position-change-heuristic-expected.txt M LayoutTests/imported/w3c/web-platform-tests/css/css-scroll-anchoring/position-change-heuristic-ib-split-expected.txt M LayoutTests/imported/w3c/web-platform-tests/css/css-scroll-anchoring/position-change-heuristic-in-nested-scroll-box-expected.txt M LayoutTests/imported/w3c/web-platform-tests/css/css-scroll-anchoring/reading-scroll-forces-anchoring-expected.txt M LayoutTests/imported/w3c/web-platform-tests/css/css-scroll-anchoring/start-edge-in-block-layout-direction-expected.txt M LayoutTests/imported/w3c/web-platform-tests/css/css-scroll-anchoring/subtree-exclusion-expected.txt M LayoutTests/imported/w3c/web-platform-tests/css/css-scroll-anchoring/zero-scroll-offset-expected.txt M LayoutTests/jquery/offset.html M LayoutTests/platform/ios-wk2/TestExpectations M LayoutTests/scrollingcoordinator/mac/latching/main-frame-back-swipe.html M LayoutTests/scrollingcoordinator/mac/latching/simple-page-rubberbands.html M Source/WebCore/dom/Document.cpp M Source/WebCore/page/LocalFrameView.cpp M Source/WebCore/page/LocalFrameView.h M Source/WebCore/page/scrolling/ScrollAnchoringController.cpp M Source/WebCore/page/scrolling/ScrollAnchoringController.h M Source/WebCore/platform/ScrollableArea.h Log Message: --- Scroll anchoring: naive implementation of selectAnchorElement(), implement updateScrollPosition(), hookup to layout https://bugs.webkit.org/show_bug.cgi?id=243702 Reviewed by Simon Fraser. For selectAnchorElement(), select the deepest child element that is within the viewport bounds of the frame view, or the first fully contined by the viewport bounds. For updateScrollPosition() calculate the change in offset and set the scroll position of the frame view if necessary. Finally, in FrameViewLayoutContext::performLayout(),
[webkit-changes] [WebKit/WebKit] f6fd65: [motion-path] Have basic shapes use an offset cont...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: f6fd650e3830ebe58caebefa3914dd243b19f0ae https://github.com/WebKit/WebKit/commit/f6fd650e3830ebe58caebefa3914dd243b19f0ae Author: Nikolaos Mouchtaris Date: 2023-09-11 (Mon, 11 Sep 2023) Changed paths: M LayoutTests/TestExpectations M LayoutTests/imported/w3c/web-platform-tests/css/motion/offset-path-shape-circle-003.html A LayoutTests/imported/w3c/web-platform-tests/css/motion/offset-path-shape-circle-007-expected.html A LayoutTests/imported/w3c/web-platform-tests/css/motion/offset-path-shape-circle-007-ref.html A LayoutTests/imported/w3c/web-platform-tests/css/motion/offset-path-shape-circle-007.html A LayoutTests/imported/w3c/web-platform-tests/css/motion/offset-path-shape-ellipse-006-expected.html A LayoutTests/imported/w3c/web-platform-tests/css/motion/offset-path-shape-ellipse-006-ref.html A LayoutTests/imported/w3c/web-platform-tests/css/motion/offset-path-shape-ellipse-006.html M LayoutTests/imported/w3c/web-platform-tests/css/motion/offset-path-shape-inset-001.html M Source/WebCore/rendering/MotionPath.cpp Log Message: --- [motion-path] Have basic shapes use an offset containing block rect https://bugs.webkit.org/show_bug.cgi?id=261217 rdar://115068196 Reviewed by Tim Nguyen. Update basic shapes to use an offset containing block rect in MotionPath::computePathForShape. * LayoutTests/TestExpectations: * Source/WebCore/rendering/MotionPath.cpp: (WebCore::offsetRectForData): (WebCore::MotionPath::computePathForBox): (WebCore::MotionPath::computePathForShape): * Source/WebCore/rendering/MotionPath.h: * Source/WebCore/rendering/PathOperation.h: Canonical link: https://commits.webkit.org/267866@main ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] ff4be9: [motion-path] Implement offset-position support fo...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: ff4be937a37273cf6ca0a491f28a902406dd78f4 https://github.com/WebKit/WebKit/commit/ff4be937a37273cf6ca0a491f28a902406dd78f4 Author: Nikolaos Mouchtaris Date: 2023-09-08 (Fri, 08 Sep 2023) Changed paths: M LayoutTests/TestExpectations M Source/WebCore/css/BasicShapeFunctions.cpp M Source/WebCore/rendering/MotionPath.cpp M Source/WebCore/rendering/MotionPath.h M Source/WebCore/rendering/PathOperation.h M Source/WebCore/rendering/shapes/Shape.cpp M Source/WebCore/rendering/style/BasicShapes.cpp M Source/WebCore/rendering/style/BasicShapes.h Log Message: --- [motion-path] Implement offset-position support for circle() / ellipse() https://bugs.webkit.org/show_bug.cgi?id=261178 rdar://114951375 Reviewed by Simon Fraser. When the position is not specified for circle or ellipse, use offset-position instead. Also update normalPositionForOffsetPath to have offset-position: normal default to the center of the containing block rect for shape path operations. * LayoutTests/TestExpectations: * Source/WebCore/css/BasicShapeFunctions.cpp: (WebCore::basicShapeForValue): * Source/WebCore/rendering/MotionPath.cpp: (WebCore::MotionPath::computePathForShape): * Source/WebCore/rendering/MotionPath.h: * Source/WebCore/rendering/PathOperation.h: * Source/WebCore/rendering/shapes/Shape.cpp: (WebCore::Shape::createShape): * Source/WebCore/rendering/style/BasicShapes.cpp: (WebCore::BasicShapeCircle::floatValueForRadiusInBox const): (WebCore::BasicShapeCircle::pathForCenterCoordinate const): (WebCore::BasicShapeCircle::path): (WebCore::BasicShapeEllipse::pathForCenterCoordinate const): (WebCore::BasicShapeEllipse::path): * Source/WebCore/rendering/style/BasicShapes.h: (WebCore::BasicShapeHasCenterCoordinate::setPositionWasOmitted): (WebCore::BasicShapeHasCenterCoordinate::positionWasOmitted const): Canonical link: https://commits.webkit.org/267810@main ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] 6dd9b4: [css-shapes] Implement xywh() shape
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 6dd9b4ce08d7fc1933952dfd57de080a21882127 https://github.com/WebKit/WebKit/commit/6dd9b4ce08d7fc1933952dfd57de080a21882127 Author: Nikolaos Mouchtaris Date: 2023-09-08 (Fri, 08 Sep 2023) Changed paths: M LayoutTests/TestExpectations M LayoutTests/imported/w3c/web-platform-tests/css/css-masking/animations/clip-path-interpolation-xywh-rect-expected.txt M LayoutTests/imported/w3c/web-platform-tests/css/css-masking/parsing/clip-path-computed-expected.txt M LayoutTests/imported/w3c/web-platform-tests/css/css-masking/parsing/clip-path-valid-expected.txt M LayoutTests/imported/w3c/web-platform-tests/css/motion/animation/offset-path-interpolation-006-expected.txt M LayoutTests/imported/w3c/web-platform-tests/css/motion/parsing/offset-path-computed-expected.txt M LayoutTests/imported/w3c/web-platform-tests/css/motion/parsing/offset-path-parsing-valid-expected.txt M Source/WebCore/css/BasicShapeFunctions.cpp M Source/WebCore/css/CSSBasicShapes.cpp M Source/WebCore/css/CSSBasicShapes.h M Source/WebCore/css/CSSValue.cpp M Source/WebCore/css/CSSValue.h M Source/WebCore/css/CSSValueKeywords.in M Source/WebCore/css/parser/CSSPropertyParserHelpers.cpp M Source/WebCore/rendering/style/BasicShapes.cpp M Source/WebCore/rendering/style/BasicShapes.h Log Message: --- [css-shapes] Implement xywh() shape https://bugs.webkit.org/show_bug.cgi?id=259989 rdar://113643020 Reviewed by Tim Nguyen. Implement parsing of xywh() shape and create xywh subclass for BasicShape and CSSValue. Translating to inset() for the computed style & animations is unimplemented. Spec: https://drafts.csswg.org/css-shapes-1/#funcdef-basic-shape-xywh * LayoutTests/TestExpectations: * LayoutTests/imported/w3c/web-platform-tests/css/css-masking/animations/clip-path-interpolation-xywh-rect-expected.txt: * LayoutTests/imported/w3c/web-platform-tests/css/css-masking/parsing/clip-path-computed-expected.txt: * LayoutTests/imported/w3c/web-platform-tests/css/css-masking/parsing/clip-path-valid-expected.txt: * LayoutTests/imported/w3c/web-platform-tests/css/motion/animation/offset-path-interpolation-006-expected.txt: * LayoutTests/imported/w3c/web-platform-tests/css/motion/parsing/offset-path-computed-expected.txt: * LayoutTests/imported/w3c/web-platform-tests/css/motion/parsing/offset-path-parsing-valid-expected.txt: * Source/WebCore/css/BasicShapeFunctions.cpp: (WebCore::valueForBasicShape): (WebCore::basicShapeForValue): * Source/WebCore/css/CSSBasicShapes.cpp: (WebCore::CSSXywhValue::CSSXywhValue): (WebCore::CSSXywhValue::create): (WebCore::CSSXywhValue::equals const): (WebCore::updateCornerRadiusWidthAndHeight): (WebCore::buildRadii): (WebCore::buildXywhString): (WebCore::CSSXywhValue::customCSSText const): (WebCore::buildInsetString): (WebCore::buildInsetRadii): Deleted. * Source/WebCore/css/CSSBasicShapes.h: (WebCore::CSSXywhValue::insetX const): (WebCore::CSSXywhValue::insetY const): (WebCore::CSSXywhValue::width const): (WebCore::CSSXywhValue::height const): (WebCore::CSSXywhValue::topLeftRadius const): (WebCore::CSSXywhValue::topRightRadius const): (WebCore::CSSXywhValue::bottomRightRadius const): (WebCore::CSSXywhValue::bottomLeftRadius const): * Source/WebCore/css/CSSValue.cpp: (WebCore::CSSValue::visitDerived): * Source/WebCore/css/CSSValue.h: (WebCore::CSSValue::isXywhShape const): * Source/WebCore/css/CSSValueKeywords.in: * Source/WebCore/css/parser/CSSPropertyParserHelpers.cpp: (WebCore::CSSPropertyParserHelpers::consumeShapeBorderRadius): (WebCore::CSSPropertyParserHelpers::consumeBasicShapeXywh): (WebCore::CSSPropertyParserHelpers::consumeBasicShapeInset): (WebCore::CSSPropertyParserHelpers::consumeBasicShape): * Source/WebCore/rendering/style/BasicShapes.cpp: (WebCore::BasicShapeXywh::create): (WebCore::BasicShapeXywh::BasicShapeXywh): (WebCore::BasicShapeXywh::clone const): (WebCore::BasicShapeXywh::operator== const): (WebCore::BasicShapeXywh::path): (WebCore::BasicShapeXywh::canBlend const): (WebCore::BasicShapeXywh::blend const): (WebCore::BasicShapeXywh::dump const): * Source/WebCore/rendering/style/BasicShapes.h: Canonical link: https://commits.webkit.org/267789@main ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] 958cc0: [motion-path] Implement offset-position: normal
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 958cc075a8612fc45d07e95dbfe9bad0547e3cd2 https://github.com/WebKit/WebKit/commit/958cc075a8612fc45d07e95dbfe9bad0547e3cd2 Author: Nikolaos Mouchtaris Date: 2023-09-05 (Tue, 05 Sep 2023) Changed paths: M LayoutTests/TestExpectations M LayoutTests/imported/w3c/web-platform-tests/css/motion/inheritance-expected.txt M LayoutTests/imported/w3c/web-platform-tests/css/motion/parsing/offset-parsing-valid-expected.txt M LayoutTests/imported/w3c/web-platform-tests/css/motion/parsing/offset-position-computed-expected.txt M LayoutTests/imported/w3c/web-platform-tests/css/motion/parsing/offset-position-parsing-valid-expected.txt M LayoutTests/imported/w3c/web-platform-tests/css/motion/parsing/offset-shorthand-expected.txt M Source/WebCore/animation/CSSPropertyAnimation.cpp M Source/WebCore/css/CSSPrimitiveValue.cpp M Source/WebCore/css/CSSProperties.json M Source/WebCore/css/ComputedStyleExtractor.cpp M Source/WebCore/css/calc/CSSCalcValue.cpp M Source/WebCore/css/parser/CSSPropertyParser.cpp M Source/WebCore/platform/Length.cpp M Source/WebCore/platform/Length.h M Source/WebCore/platform/LengthFunctions.cpp M Source/WebCore/platform/LengthFunctions.h M Source/WebCore/rendering/MotionPath.cpp M Source/WebCore/rendering/RenderBox.cpp M Source/WebCore/rendering/style/RenderStyleInlines.h M Source/WebCore/style/StyleBuilderConverter.h M Source/WebKit/Shared/WebCoreArgumentCoders.cpp Log Message: --- [motion-path] Implement offset-position: normal https://bugs.webkit.org/show_bug.cgi?id=259988 rdar://113644765 Reviewed by Tim Nguyen. Have the inital value of offset-position default to using normal rather than auto. Currently implemented by adding a normal keyword to length and specifying this default value in RenderStyle::initialOffsetPosition. We should update normalPositionForOffsetPath in future patches to ensure the normal value is correct for path operations other than ray(). * LayoutTests/imported/w3c/web-platform-tests/css/motion/animation/offset-position-interpolation.html: * LayoutTests/imported/w3c/web-platform-tests/css/motion/inheritance.html: * Source/WebCore/animation/CSSPropertyAnimation.cpp: * Source/WebCore/css/CSSPrimitiveValue.cpp: (WebCore::CSSPrimitiveValue::create): * Source/WebCore/css/CSSProperties.json: * Source/WebCore/css/ComputedStyleExtractor.cpp: (WebCore::isNormal): (WebCore::valueForPositionOrAuto): (WebCore::valueForOffsetShorthand): * Source/WebCore/css/calc/CSSCalcValue.cpp: (WebCore::createCSS): * Source/WebCore/platform/Length.cpp: (WebCore::operator<<): * Source/WebCore/platform/Length.h: (WebCore::Length::initialize): (WebCore::Length::isNormal const): * Source/WebCore/platform/LengthFunctions.cpp: (WebCore::valueForLength): (WebCore::floatValueForLength): * Source/WebCore/platform/LengthFunctions.h: (WebCore::minimumValueForLength): * Source/WebCore/rendering/RenderBox.cpp: (WebCore::RenderBox::computeReplacedLogicalWidthUsing const): * Source/WebCore/rendering/style/RenderStyleInlines.h: (WebCore::RenderStyle::initialOffsetPosition): * Source/WebCore/style/StyleBuilderConverter.h: (WebCore::Style::BuilderConverter::convertPositionOrAuto): * Source/WebKit/Shared/WebCoreArgumentCoders.cpp: (IPC::ArgumentCoder::encode): (IPC::ArgumentCoder::decode): Canonical link: https://commits.webkit.org/267657@main ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] 2f9a2a: [motion-path] Use border radius for coord-box
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 2f9a2a0138750b5ab4bd34fc487766a4adfb4c66 https://github.com/WebKit/WebKit/commit/2f9a2a0138750b5ab4bd34fc487766a4adfb4c66 Author: Nikolaos Mouchtaris Date: 2023-09-04 (Mon, 04 Sep 2023) Changed paths: M LayoutTests/TestExpectations M LayoutTests/imported/w3c/web-platform-tests/css/motion/offset-path-coord-box-001.html A LayoutTests/imported/w3c/web-platform-tests/css/motion/offset-path-shape-circle-006-expected.html A LayoutTests/imported/w3c/web-platform-tests/css/motion/offset-path-shape-circle-006.html M Source/WebCore/rendering/MotionPath.cpp M Source/WebCore/rendering/MotionPath.h M Source/WebCore/rendering/PathOperation.h M Source/WebKit/Shared/WebCoreArgumentCoders.serialization.in Log Message: --- [motion-path] Use border radius for coord-box https://bugs.webkit.org/show_bug.cgi?id=261074 rdar://114883507 Reviewed by Tim Nguyen. Change containingBlockBoundingRect to FloatRoundedRect to take into account the border-radius property. * LayoutTests/TestExpectations: * LayoutTests/imported/w3c/web-platform-tests/css/motion/offset-path-coord-box-001.html: * Source/WebCore/rendering/MotionPath.cpp: (WebCore::MotionPath::motionPathDataForRenderer): (WebCore::MotionPath::lengthForRayPath): (WebCore::MotionPath::computePathForRay): (WebCore::MotionPath::computePathForBox): * Source/WebCore/rendering/MotionPath.h: * Source/WebCore/rendering/PathOperation.h: * Source/WebKit/Shared/WebCoreArgumentCoders.serialization.in: Canonical link: https://commits.webkit.org/267613@main ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] 79256d: [motion-path] Implement coord-box for ray
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 79256d79a14c7bf6a0cd1b8ad56b3652669c48c7 https://github.com/WebKit/WebKit/commit/79256d79a14c7bf6a0cd1b8ad56b3652669c48c7 Author: Nikolaos Mouchtaris Date: 2023-09-01 (Fri, 01 Sep 2023) Changed paths: M LayoutTests/TestExpectations M LayoutTests/imported/w3c/web-platform-tests/css/motion/animation/offset-path-interpolation-005-expected.txt M LayoutTests/imported/w3c/web-platform-tests/css/motion/parsing/offset-path-computed-expected.txt M LayoutTests/imported/w3c/web-platform-tests/css/motion/parsing/offset-path-parsing-valid-expected.txt M Source/WebCore/css/CSSRayValue.cpp M Source/WebCore/css/CSSRayValue.h M Source/WebCore/css/ComputedStyleExtractor.cpp M Source/WebCore/css/parser/CSSPropertyParserHelpers.cpp M Source/WebCore/rendering/MotionPath.cpp M Source/WebCore/rendering/PathOperation.cpp M Source/WebCore/rendering/PathOperation.h M Source/WebCore/style/StyleBuilderConverter.h Log Message: --- [motion-path] Implement coord-box for ray https://bugs.webkit.org/show_bug.cgi?id=260814 rdar://114577300 Reviewed by Tim Nguyen. Parse coord-box when included with ray, and use it to determine the correct containg block box rect. * LayoutTests/TestExpectations: * LayoutTests/imported/w3c/web-platform-tests/css/motion/animation/offset-path-interpolation-005-expected.txt: * LayoutTests/imported/w3c/web-platform-tests/css/motion/parsing/offset-path-computed-expected.txt: * LayoutTests/imported/w3c/web-platform-tests/css/motion/parsing/offset-path-parsing-valid-expected.txt: * Source/WebCore/css/CSSRayValue.cpp: (WebCore::CSSRayValue::customCSSText const): (WebCore::CSSRayValue::equals const): * Source/WebCore/css/CSSRayValue.h: * Source/WebCore/css/ComputedStyleExtractor.cpp: (WebCore::valueForPathOperation): * Source/WebCore/css/parser/CSSPropertyParserHelpers.cpp: (WebCore::CSSPropertyParserHelpers::consumeBasicShapeRayOrBox): (WebCore::CSSPropertyParserHelpers::consumePathOperation): (WebCore::CSSPropertyParserHelpers::consumeBasicShapeOrBox): Deleted. * Source/WebCore/rendering/MotionPath.cpp: (WebCore::offsetFromContainer): (WebCore::MotionPath::motionPathDataForRenderer): (WebCore::MotionPath::computePathForBox): * Source/WebCore/rendering/PathOperation.h: (WebCore::PathOperation::setReferenceBox): (WebCore::PathOperation::referenceBox const): (WebCore::PathOperation::PathOperation): * Source/WebCore/style/StyleBuilderConverter.h: (WebCore::Style::BuilderConverter::convertRayPathOperation): (WebCore::Style::BuilderConverter::convertPathOperation): Canonical link: https://commits.webkit.org/267566@main ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] 5c26ae: [motion-path] Update "" implementatio...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 5c26aeef463837637ee7d33492845821ae276e25 https://github.com/WebKit/WebKit/commit/5c26aeef463837637ee7d33492845821ae276e25 Author: Nikolaos Mouchtaris Date: 2023-09-01 (Fri, 01 Sep 2023) Changed paths: M LayoutTests/TestExpectations M LayoutTests/imported/w3c/web-platform-tests/css/motion/offset-path-shape-circle-001.html M LayoutTests/imported/w3c/web-platform-tests/css/motion/offset-path-shape-circle-004.html M LayoutTests/imported/w3c/web-platform-tests/css/motion/offset-path-shape-circle-005.html M LayoutTests/imported/w3c/web-platform-tests/css/motion/offset-path-shape-ellipse-001.html M LayoutTests/imported/w3c/web-platform-tests/css/motion/offset-path-shape-ellipse-003.html M LayoutTests/imported/w3c/web-platform-tests/css/motion/offset-path-shape-ellipse-004.html M LayoutTests/imported/w3c/web-platform-tests/css/motion/offset-path-shape-ellipse-005.html R LayoutTests/imported/w3c/web-platform-tests/css/motion/offset-path-shape-expected.html M LayoutTests/imported/w3c/web-platform-tests/css/motion/offset-path-shape-polygon-001.html R LayoutTests/imported/w3c/web-platform-tests/css/motion/offset-path-shape.html M Source/WebCore/rendering/MotionPath.cpp M Source/WebCore/rendering/PathOperation.h Log Message: --- [motion-path] Update "" implementation for offset-path https://bugs.webkit.org/show_bug.cgi?id=259994 rdar://110565070 Reviewed by Tim Nguyen. Update ShapePathOperation to use the containing block's rect. * LayoutTests/TestExpectations: * LayoutTests/imported/w3c/web-platform-tests/css/motion/offset-path-shape-circle-001.html: * Source/WebCore/rendering/PathOperation.h: (WebCore::PathOperation::setContainingBlockReferenceRect): (WebCore::PathOperation::PathOperation): * Source/WebCore/rendering/RenderLayer.cpp: (WebCore::RenderLayer::setReferenceBoxForPathOperations): Canonical link: https://commits.webkit.org/267556@main ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] c377f2: [motion-path] Update "" implementation ...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: c377f2da36eb80d46bc851a8090f020bab79752f https://github.com/WebKit/WebKit/commit/c377f2da36eb80d46bc851a8090f020bab79752f Author: Nikolaos Mouchtaris Date: 2023-08-31 (Thu, 31 Aug 2023) Changed paths: M LayoutTests/TestExpectations M Source/WebCore/rendering/MotionPath.cpp M Source/WebCore/rendering/MotionPath.h M Source/WebCore/rendering/PathOperation.h M Source/WebKit/Shared/WebCoreArgumentCoders.serialization.in Log Message: --- [motion-path] Update "" implementation for offset-path https://bugs.webkit.org/show_bug.cgi?id=260944 rdar://110938788 Reviewed by Tim Nguyen. Update coord-box to use the containing block's bounding rect if it exists. We also need to take into account the containing block's border radius. * LayoutTests/TestExpectations: * Source/WebCore/rendering/MotionPath.cpp: (WebCore::offsetFromContainer): (WebCore::MotionPath::motionPathDataForRenderer): * Source/WebCore/rendering/PathOperation.cpp: (WebCore::BoxPathOperation::getPath const): * Source/WebCore/rendering/PathOperation.h: Canonical link: https://commits.webkit.org/267524@main ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] acfa97: [motion-path] Check if we are mid layout when sett...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: acfa97d238a39af164eaf24a0abd4eec0cf096b4 https://github.com/WebKit/WebKit/commit/acfa97d238a39af164eaf24a0abd4eec0cf096b4 Author: Nikolaos Mouchtaris Date: 2023-08-30 (Wed, 30 Aug 2023) Changed paths: M LayoutTests/TestExpectations M LayoutTests/imported/w3c/web-platform-tests/css/motion/offset-path-ray-019.html A LayoutTests/imported/w3c/web-platform-tests/css/motion/offset-path-ray-020-expected.html A LayoutTests/imported/w3c/web-platform-tests/css/motion/offset-path-ray-020.html A LayoutTests/imported/w3c/web-platform-tests/css/motion/offset-path-ray-021-expected.html A LayoutTests/imported/w3c/web-platform-tests/css/motion/offset-path-ray-021.html A LayoutTests/imported/w3c/web-platform-tests/css/motion/offset-path-ray-022-expected.html A LayoutTests/imported/w3c/web-platform-tests/css/motion/offset-path-ray-022.html M Source/WebCore/page/LocalFrameViewLayoutContext.cpp M Source/WebCore/page/LocalFrameViewLayoutContext.h M Source/WebCore/rendering/RenderBlock.cpp M Source/WebCore/rendering/RenderBlock.h M Source/WebCore/rendering/RenderBlockFlow.cpp M Source/WebCore/rendering/RenderDeprecatedFlexibleBox.cpp M Source/WebCore/rendering/RenderFlexibleBox.cpp M Source/WebCore/rendering/RenderGrid.cpp M Source/WebCore/rendering/RenderLayerModelObject.cpp Log Message: --- [motion-path] Check if we are mid layout when setting containing block rect for ray https://bugs.webkit.org/show_bug.cgi?id=260110 rdar://113780201 Reviewed by Simon Fraser. On the first RenderLayer::updateTransform call the parent is mid layout, so it is inorrect to query it about its rect size. If we have a motion path transform, set that this RenderObject needs a transform update on the parent through the FrameView's layout context, and have the parent call updateTransform after it has completed layout. * LayoutTests/TestExpectations: * LayoutTests/imported/w3c/web-platform-tests/css/motion/offset-path-ray-019-expected.html: Added. * LayoutTests/imported/w3c/web-platform-tests/css/motion/offset-path-ray-019.html: Added. * LayoutTests/imported/w3c/web-platform-tests/css/motion/offset-path-ray-020-expected.html: Added. * LayoutTests/imported/w3c/web-platform-tests/css/motion/offset-path-ray-020.html: Added. * LayoutTests/imported/w3c/web-platform-tests/css/motion/offset-path-ray-021-expected.html: Added. * LayoutTests/imported/w3c/web-platform-tests/css/motion/offset-path-ray-021.html: Added. * LayoutTests/imported/w3c/web-platform-tests/css/motion/offset-path-ray-022-expected.html: Added. * LayoutTests/imported/w3c/web-platform-tests/css/motion/offset-path-ray-022.html: Added. Canonical link: https://commits.webkit.org/267479@main ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] f665fe: [motion-path] Accept position parameter in ray()
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: f665fe5b944c75b267e7bb6900d096d99e4e45d5 https://github.com/WebKit/WebKit/commit/f665fe5b944c75b267e7bb6900d096d99e4e45d5 Author: Nikolaos Mouchtaris Date: 2023-08-30 (Wed, 30 Aug 2023) Changed paths: M LayoutTests/TestExpectations M LayoutTests/imported/w3c/web-platform-tests/css/motion/animation/offset-path-interpolation-005-expected.txt M LayoutTests/imported/w3c/web-platform-tests/css/motion/parsing/offset-path-computed-expected.txt M LayoutTests/imported/w3c/web-platform-tests/css/motion/parsing/offset-path-parsing-valid-expected.txt M Source/WebCore/css/CSSRayValue.cpp M Source/WebCore/css/CSSRayValue.h M Source/WebCore/css/ComputedStyleExtractor.cpp M Source/WebCore/css/parser/CSSPropertyParserHelpers.cpp M Source/WebCore/rendering/MotionPath.cpp M Source/WebCore/rendering/MotionPath.h M Source/WebCore/rendering/PathOperation.cpp M Source/WebCore/rendering/PathOperation.h M Source/WebCore/style/StyleBuilderConverter.h M Source/WebKit/Shared/WebCoreArgumentCoders.serialization.in Log Message: --- [motion-path] Accept position parameter in ray() https://bugs.webkit.org/show_bug.cgi?id=258113 rdar://110821024 Reviewed by Tim Nguyen. WIP from Tim Nguyen. The ray() function should accept an at parameter which represents the starting position of the ray. * LayoutTests/TestExpectations: * LayoutTests/imported/w3c/web-platform-tests/css/motion/animation/offset-path-interpolation-005-expected.txt: * LayoutTests/imported/w3c/web-platform-tests/css/motion/offset-path-ray-013.html: * LayoutTests/imported/w3c/web-platform-tests/css/motion/parsing/offset-path-computed-expected.txt: * LayoutTests/imported/w3c/web-platform-tests/css/motion/parsing/offset-path-parsing-valid-expected.txt: * Source/WebCore/css/CSSRayValue.cpp: (WebCore::CSSRayValue::customCSSText const): (WebCore::CSSRayValue::equals const): * Source/WebCore/css/CSSRayValue.h: * Source/WebCore/css/ComputedStyleExtractor.cpp: (WebCore::valueForPathOperation): * Source/WebCore/css/parser/CSSPropertyParserHelpers.cpp: (WebCore::CSSPropertyParserHelpers::consumeRayShape): * Source/WebCore/rendering/PathOperation.cpp: (WebCore::RayPathOperation::create): (WebCore::RayPathOperation::clone const): (WebCore::RayPathOperation::blend const): (WebCore::RayPathOperation::currentOffset const): (WebCore::RayPathOperation::lengthForPath const): (WebCore::RayPathOperation::getPath const): * Source/WebCore/rendering/PathOperation.h: * Source/WebCore/rendering/RenderLayer.cpp: (WebCore::offsetFromContainer): (WebCore::RenderLayer::setReferenceBoxForPathOperations): * Source/WebCore/style/StyleBuilderConverter.h: (WebCore::Style::BuilderConverter::convertPathOperation): * Source/WebKit/Shared/WebCoreArgumentCoders.serialization.in: Canonical link: https://commits.webkit.org/267459@main ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] 3f5059: [motion-path] Refactor various parts of path opera...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 3f5059d542cf81542755719fab60d75462d24768 https://github.com/WebKit/WebKit/commit/3f5059d542cf81542755719fab60d75462d24768 Author: Nikolaos Mouchtaris Date: 2023-08-29 (Tue, 29 Aug 2023) Changed paths: M LayoutTests/TestExpectations A LayoutTests/imported/w3c/web-platform-tests/css/motion/offset-path-ray-019-expected.html A LayoutTests/imported/w3c/web-platform-tests/css/motion/offset-path-ray-019.html M Source/WebCore/Headers.cmake M Source/WebCore/Sources.txt M Source/WebCore/WebCore.xcodeproj/project.pbxproj M Source/WebCore/animation/KeyframeEffect.cpp M Source/WebCore/css/ComputedStyleExtractor.cpp M Source/WebCore/platform/animation/AcceleratedEffectValues.cpp A Source/WebCore/rendering/MotionPath.cpp A Source/WebCore/rendering/MotionPath.h M Source/WebCore/rendering/PathOperation.cpp M Source/WebCore/rendering/PathOperation.h M Source/WebCore/rendering/RenderBlockFlow.cpp M Source/WebCore/rendering/RenderBox.cpp M Source/WebCore/rendering/RenderLayer.cpp M Source/WebCore/rendering/RenderLayer.h M Source/WebCore/rendering/RenderLayerModelObject.cpp M Source/WebCore/rendering/style/RenderStyle.cpp M Source/WebCore/rendering/style/RenderStyle.h M Source/WebCore/rendering/svg/SVGRenderSupport.cpp M Source/WebCore/svg/SVGGraphicsElement.cpp M Source/WebKit/Shared/WebCoreArgumentCoders.serialization.in Log Message: --- [motion-path] Refactor various parts of path operation and RenderStyle https://bugs.webkit.org/show_bug.cgi?id=260818 rdar://114584136 Reviewed by Simon Fraser. This refactoring addresses a few issues with the current motion path design. First, for paths that need additional data including its containing block rect or the element's offset from its containing block, it is not correct to use the path operation to hold these values, as the path operation is supposed to represent just the path specified by the css. Instead, pass down these necessary values through a TransformOperationData struct. Also added a test for this case to ensure that style sharing is not broken after this change. Also, factor out some of the code related to computing the ray path into the new MotionPath class, which now also includes applyMotionPathTransform. * LayoutTests/TestExpectations: * LayoutTests/imported/w3c/web-platform-tests/css/motion/offset-path-ray-019-expected.html: Added. * LayoutTests/imported/w3c/web-platform-tests/css/motion/offset-path-ray-019.html: Added. * Source/WebCore/Sources.txt: * Source/WebCore/WebCore.xcodeproj/project.pbxproj: * Source/WebCore/animation/KeyframeEffect.cpp: (WebCore::KeyframeEffect::computeTransformedExtentViaMatrix const): * Source/WebCore/css/ComputedStyleExtractor.cpp: (WebCore::computedTransform): * Source/WebCore/platform/animation/AcceleratedEffectValues.cpp: (WebCore::AcceleratedEffectValues::AcceleratedEffectValues): * Source/WebCore/rendering/PathOperation.cpp: (WebCore::RayPathOperation::create): (WebCore::RayPathOperation::clone const): (WebCore::RayPathOperation::getPath const): (WebCore::RayPathOperation::lengthForPath const): Deleted. (WebCore::RayPathOperation::lengthForContainPath const): Deleted. * Source/WebCore/rendering/PathOperation.h: (WebCore::PathOperation::getPath): Deleted. * Source/WebCore/rendering/RenderBlockFlow.cpp: * Source/WebCore/rendering/RenderBox.cpp: (WebCore::RenderBox::applyTransform const): * Source/WebCore/rendering/RenderLayer.cpp: (WebCore::RenderLayer::updateTransform): (WebCore::RenderLayer::setReferenceBoxForPathOperations): Deleted. * Source/WebCore/rendering/RenderLayer.h: * Source/WebCore/rendering/RenderLayerModelObject.cpp: (WebCore::RenderLayerModelObject::applySVGTransform const): * Source/WebCore/rendering/style/RenderStyle.cpp: (WebCore::RenderStyle::applyTransform const): (WebCore::RenderStyle::applyCSSTransform const): (WebCore::getTraversalStateAtDistance): Deleted. (WebCore::RenderStyle::applyMotionPathTransform const): Deleted. * Source/WebCore/rendering/style/RenderStyle.h: * Source/WebCore/svg/SVGGraphicsElement.cpp: (WebCore::SVGGraphicsElement::animatedLocalTransform const): * Source/WebKit/Shared/WebCoreArgumentCoders.serialization.in: Canonical link: https://commits.webkit.org/267416@main ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] 2f9700: [UI-side compositing] Webpage going blank when nav...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 2f97007c9a1e30bf7b5df766ddd68ed029af4fd4 https://github.com/WebKit/WebKit/commit/2f97007c9a1e30bf7b5df766ddd68ed029af4fd4 Author: Nikolaos Mouchtaris Date: 2023-08-07 (Mon, 07 Aug 2023) Changed paths: A LayoutTests/fast/scrolling/programmatic-scroll-merge-delta-and-position-expected.html A LayoutTests/fast/scrolling/programmatic-scroll-merge-delta-and-position.html A LayoutTests/fast/scrolling/programmatic-scroll-merge-delta-expected.html A LayoutTests/fast/scrolling/programmatic-scroll-merge-delta.html A LayoutTests/fast/scrolling/programmatic-scroll-merge-position-and-delta-expected.html A LayoutTests/fast/scrolling/programmatic-scroll-merge-position-and-delta.html M Source/WebCore/page/scrolling/ScrollingCoordinatorTypes.cpp Log Message: --- [UI-side compositing] Webpage going blank when navigating diffs in https://whatpr.org/html/9537/238086f...f400a41/canvas.html#drawing-state https://bugs.webkit.org/show_bug.cgi?id=259813 rdar://113366817 Reviewed by Simon Fraser and Cameron McCormack. When getting multiple non-animated scroll requests, the current merging code loses the previous scroll request if a new delta update comes in. To resolve this, add the two scroll requests together if either or both are a delta update. Added a couple new tests for this since the tests in imported/w3c/web-platform-tests/css/cssom-view/scroll-behavior-* do not cover this since they are testing the web process position. * Source/WebCore/page/scrolling/ScrollingCoordinatorTypes.cpp: (WebCore::RequestedScrollData::merge): Canonical link: https://commits.webkit.org/266646@main ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] e41f56: [UI-side compositing] REGRESSION: empty Mail compo...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: e41f5679593f6e0a4eb380dd580392234ea3fd4b https://github.com/WebKit/WebKit/commit/e41f5679593f6e0a4eb380dd580392234ea3fd4b Author: Nikolaos Mouchtaris Date: 2023-07-24 (Mon, 24 Jul 2023) Changed paths: M Source/WebCore/page/scrolling/AsyncScrollingCoordinator.cpp M Source/WebCore/page/scrolling/AsyncScrollingCoordinator.h M Source/WebCore/page/scrolling/ScrollingCoordinator.h M Source/WebCore/page/scrolling/ScrollingStateNode.h M Source/WebCore/page/scrolling/ScrollingStateScrollingNode.cpp M Source/WebCore/page/scrolling/ScrollingStateScrollingNode.h M Source/WebCore/page/scrolling/mac/ScrollerMac.h M Source/WebCore/page/scrolling/mac/ScrollerMac.mm M Source/WebCore/page/scrolling/mac/ScrollingTreeScrollingNodeDelegateMac.mm M Source/WebCore/platform/Scrollbar.cpp M Source/WebCore/platform/ScrollbarsController.h M Source/WebKit/Shared/RemoteLayerTree/RemoteScrollingCoordinatorTransaction.cpp M Source/WebKit/Shared/WebCoreArgumentCoders.serialization.in M Source/WebKit/WebProcess/WebPage/RemoteLayerTree/RemoteScrollbarsController.h M Source/WebKit/WebProcess/WebPage/RemoteLayerTree/RemoteScrollbarsController.mm Log Message: --- [UI-side compositing] REGRESSION: empty Mail compose window always shows a scrollbar https://bugs.webkit.org/show_bug.cgi?id=259323 rdar://110872395 Reviewed by Simon Fraser. To properly set NSScrollerImps as enabled in the UI-process, send accross the web process state from the Scrollbar class. It is also necessary to set the state in setScrollingNodeScrollableAreaGeometry because the first time setting this state on the Scrollbar class can happen before the corresponding scrollable area has been added to the scrolling tree. * Source/WebCore/page/scrolling/AsyncScrollingCoordinator.cpp: (WebCore::AsyncScrollingCoordinator::setScrollbarEnabled): (WebCore::AsyncScrollingCoordinator::setScrollingNodeScrollableAreaGeometry): * Source/WebCore/page/scrolling/AsyncScrollingCoordinator.h: * Source/WebCore/page/scrolling/ScrollingCoordinator.h: (WebCore::ScrollingCoordinator::setScrollbarEnabled): * Source/WebCore/page/scrolling/ScrollingStateNode.h: * Source/WebCore/page/scrolling/ScrollingStateScrollingNode.cpp: (WebCore::ScrollingStateScrollingNode::ScrollingStateScrollingNode): (WebCore::ScrollingStateScrollingNode::setScrollbarEnabledState): * Source/WebCore/page/scrolling/ScrollingStateScrollingNode.h: (WebCore::ScrollingStateScrollingNode::scrollbarEnabledState const): * Source/WebCore/page/scrolling/mac/ScrollerMac.h: (WebCore::ScrollerMac::setEnabled): * Source/WebCore/page/scrolling/mac/ScrollerMac.mm: (WebCore::ScrollerMac::updateValues): * Source/WebCore/page/scrolling/mac/ScrollingTreeScrollingNodeDelegateMac.mm: (WebCore::ScrollingTreeScrollingNodeDelegateMac::updateFromStateNode): * Source/WebCore/platform/Scrollbar.cpp: (WebCore::Scrollbar::setEnabled): * Source/WebCore/platform/ScrollbarsController.h: (WebCore::ScrollbarsController::setScrollbarEnabledSate): * Source/WebKit/Shared/RemoteLayerTree/RemoteScrollingCoordinatorTransaction.cpp: (ArgumentCoder::encode): (ArgumentCoder::decode): * Source/WebKit/Shared/WebCoreArgumentCoders.serialization.in: * Source/WebKit/WebProcess/WebPage/RemoteLayerTree/RemoteScrollbarsController.h: * Source/WebKit/WebProcess/WebPage/RemoteLayerTree/RemoteScrollbarsController.mm: (WebKit::RemoteScrollbarsController::setScrollbarEnabledSate): Canonical link: https://commits.webkit.org/266261@main ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] 1bb52f: REGRESSION (UI-side compositing): Scrolling web in...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 1bb52fdceac9130525dcb521bb779ee184a392eb https://github.com/WebKit/WebKit/commit/1bb52fdceac9130525dcb521bb779ee184a392eb Author: Nikolaos Mouchtaris Date: 2023-07-21 (Fri, 21 Jul 2023) Changed paths: M Source/WebCore/dom/Element.cpp M Source/WebCore/dom/Element.h M Source/WebCore/page/LocalDOMWindow.cpp M Source/WebCore/page/LocalDOMWindow.h M Source/WebCore/page/LocalFrameView.cpp M Source/WebCore/page/LocalFrameView.h M Source/WebCore/page/scrolling/AsyncScrollingCoordinator.cpp M Source/WebCore/page/scrolling/AsyncScrollingCoordinator.h M Source/WebCore/page/scrolling/ScrollingCoordinator.h M Source/WebCore/page/scrolling/ScrollingCoordinatorTypes.cpp M Source/WebCore/page/scrolling/ScrollingCoordinatorTypes.h M Source/WebCore/page/scrolling/ScrollingStateScrollingNode.cpp M Source/WebCore/page/scrolling/ScrollingTreeScrollingNode.cpp M Source/WebCore/page/scrolling/ThreadedScrollingTree.cpp M Source/WebCore/platform/ScrollAnimator.cpp M Source/WebCore/platform/ScrollTypes.cpp M Source/WebCore/platform/ScrollTypes.h M Source/WebCore/platform/ScrollView.cpp M Source/WebCore/platform/ScrollableArea.cpp M Source/WebCore/platform/ScrollableArea.h M Source/WebCore/rendering/RenderLayerScrollableArea.cpp M Source/WebCore/rendering/RenderLayerScrollableArea.h M Source/WebKit/Shared/RemoteLayerTree/RemoteScrollingCoordinatorTransaction.cpp M Source/WebKit/Shared/WebCoreArgumentCoders.serialization.in M Source/WebKit/UIProcess/RemoteLayerTree/RemoteLayerTreeDrawingAreaProxy.mm M Source/WebKit/UIProcess/RemoteLayerTree/mac/RemoteScrollingTreeMac.mm Log Message: --- REGRESSION (UI-side compositing): Scrolling web inspector timeline is very jumpy https://bugs.webkit.org/show_bug.cgi?id=258319 rdar://107685436 Reviewed by Simon Fraser. When receiving a wheel event from dispatchEvent, the current design recieves this event in the web process, and sends this request to the UI-process as a RequestedScrollData object. This object contained a scrollPosition to animate to, but this was calculated using the scroll position in the web process. Since this scroll position could be out of sync with the UI-process while the user was scrolling, this could result in a scroll to a scroll position behind the current scroll position, leading to a jumpy looking scroll. To fix this, rather than sending across the scroll position to scroll to, simply send across the requested scroll delta to the UI-process, and use the UI-process scroll position to calculate the correct scroll position to animate to. Also, propagate down the original scroll delta (if it exists), to be used in AsyncScrollingCoordinator::requestScrollToPosition, so that we know whether to do a delta or scroll position update. * Source/WebCore/page/scrolling/AsyncScrollingCoordinator.cpp: (WebCore::AsyncScrollingCoordinator::requestScrollToPosition): * Source/WebCore/page/scrolling/ScrollingCoordinatorTypes.h: * Source/WebKit/Shared/WebCoreArgumentCoders.serialization.in: * Source/WebKit/UIProcess/RemoteLayerTree/mac/RemoteScrollingTreeMac.mm: (WebKit::RemoteScrollingTreeMac::startPendingScrollAnimations): Canonical link: https://commits.webkit.org/266210@main ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] 0f2ddd: [UI-side compositing] Cannot grab the scrubber to ...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 0f2ddd2e32274c34d687b6263b7664cc4c9aa5b2 https://github.com/WebKit/WebKit/commit/0f2ddd2e32274c34d687b6263b7664cc4c9aa5b2 Author: Nikolaos Mouchtaris Date: 2023-07-17 (Mon, 17 Jul 2023) Changed paths: M Source/WebCore/page/LocalFrameView.h 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/platform/Scrollbar.cpp M Source/WebCore/platform/Scrollbar.h M Source/WebCore/platform/ScrollbarsController.h M Source/WebCore/platform/mac/ScrollbarThemeMac.mm 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/WebProcess/WebPage/RemoteLayerTree/RemoteScrollbarsController.h M 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] Cannot grab the scrubber to scroll to the end of a long page (build log) https://bugs.webkit.org/show_bug.cgi?id=259167 rdar://112154989 Reviewed by Simon Fraser. After https://commits.webkit.org/265731@main removed NSScrollerImps in the web process, when ScrollbarThemeMac::minimumThumbLength would query the scrollbar map, it wouldn't be able to find the NSScrollerImp, so it would return 0. This resulted in users not being able to drag the scrollbar. To resolve this, plumb the knobMinLength property to the web process, where it is tracked by RemoteScrollbarsController. * Source/WebCore/page/scrolling/AsyncScrollingCoordinator.cpp: (WebCore::AsyncScrollingCoordinator::requestScrollToPosition): (WebCore::AsyncScrollingCoordinator::scrollingTreeNodeScrollbarMinimumThumbLengthDidChange): * Source/WebCore/page/scrolling/AsyncScrollingCoordinator.h: * Source/WebCore/page/scrolling/ScrollingTree.h: (WebCore::ScrollingTree::scrollingTreeNodeScrollbarMinimumThumbLengthDidChange): * Source/WebCore/page/scrolling/ScrollingTreeScrollingNode.cpp: (WebCore::ScrollingTreeScrollingNode::scrollbarMinimumThumbLengthDidChange): * Source/WebCore/page/scrolling/ScrollingTreeScrollingNode.h: * Source/WebCore/page/scrolling/mac/ScrollerMac.mm: (WebCore::ScrollerMac::attach): (WebCore::ScrollerMac::updateScrollbarStyle): * Source/WebCore/platform/Scrollbar.cpp: (WebCore::Scrollbar::minimumThumbLength const): * Source/WebCore/platform/Scrollbar.h: * Source/WebCore/platform/ScrollbarsController.h: (WebCore::ScrollbarsController::setScrollbarMinimumThumbLength): (WebCore::ScrollbarsController::minimumThumbLength): * Source/WebCore/platform/mac/ScrollbarThemeMac.mm: (WebCore::ScrollbarThemeMac::hasThumb): (WebCore::ScrollbarThemeMac::minimumThumbLength): * Source/WebKit/UIProcess/RemoteLayerTree/RemoteScrollingCoordinatorProxy.cpp: (WebKit::RemoteScrollingCoordinatorProxy::scrollingTreeNodeScrollbarMinimumThumbLengthDidChange): * Source/WebKit/UIProcess/RemoteLayerTree/RemoteScrollingCoordinatorProxy.h: * Source/WebKit/UIProcess/RemoteLayerTree/mac/RemoteScrollingTreeMac.h: * Source/WebKit/UIProcess/RemoteLayerTree/mac/RemoteScrollingTreeMac.mm: (WebKit::RemoteScrollingTreeMac::scrollingTreeNodeScrollbarMinimumThumbLengthDidChange): * Source/WebKit/WebProcess/WebPage/RemoteLayerTree/RemoteScrollbarsController.h: * Source/WebKit/WebProcess/WebPage/RemoteLayerTree/RemoteScrollbarsController.mm: (WebKit::RemoteScrollbarsController::setScrollbarMinimumThumbLength): (WebKit::RemoteScrollbarsController::minimumThumbLength): * Source/WebKit/WebProcess/WebPage/RemoteLayerTree/RemoteScrollingCoordinator.h: * Source/WebKit/WebProcess/WebPage/RemoteLayerTree/RemoteScrollingCoordinator.messages.in: * Source/WebKit/WebProcess/WebPage/RemoteLayerTree/RemoteScrollingCoordinator.mm: (WebKit::RemoteScrollingCoordinator::scrollingTreeNodeScrollbarMinimumThumbLengthDidChange): Canonical link: https://commits.webkit.org/266124@main ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] 1b57a2: [UI-side compositing] NSScrollerImps are still cre...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 1b57a2e0de6aad8821281cd336b13ab56f57d19e https://github.com/WebKit/WebKit/commit/1b57a2e0de6aad8821281cd336b13ab56f57d19e Author: Nikolaos Mouchtaris Date: 2023-07-03 (Mon, 03 Jul 2023) Changed paths: M Source/WebCore/platform/Scrollbar.cpp M Source/WebCore/platform/Scrollbar.h M Source/WebCore/platform/ScrollbarsController.h M Source/WebCore/platform/mac/ScrollbarThemeMac.mm M Source/WebKit/WebProcess/WebPage/RemoteLayerTree/RemoteScrollbarsController.h Log Message: --- [UI-side compositing] NSScrollerImps are still created in the web process (triggering CATransactions) https://bugs.webkit.org/show_bug.cgi?id=258369 rdar://109689491 Reviewed by Simon Fraser. With UI-side compositing, NSScrollerImps are now kept in the UI-process for all scrollbars except for RenderListBox scrollbars. To prevent the unnecessary creation of NSScrollerImps in the web process in ScrollbarThemeMac::registerScrollbar, check if the scrollbar is one of a RenderListBox and if we have a RemoteScrollbarsController. * Source/WebCore/platform/ScrollableArea.cpp: (WebCore::ScrollableArea::shouldRegisterScrollbars const): * Source/WebCore/platform/ScrollableArea.h: * Source/WebCore/platform/Scrollbar.cpp: (WebCore::Scrollbar::shouldRegisterScrollbar const): * Source/WebCore/platform/Scrollbar.h: * Source/WebCore/platform/ScrollbarsController.h: (WebCore::ScrollbarsController::shouldRegisterScrollbars const): * Source/WebCore/platform/mac/ScrollbarThemeMac.mm: (WebCore::ScrollbarThemeMac::registerScrollbar): * Source/WebKit/WebProcess/WebPage/RemoteLayerTree/RemoteScrollbarsController.h: Canonical link: https://commits.webkit.org/265731@main ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] 62eb15: PROGRESSION (263656@main): Three fast/scrolling/ma...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 62eb15f04810e8f06004bace89f4237b8a36df7f https://github.com/WebKit/WebKit/commit/62eb15f04810e8f06004bace89f4237b8a36df7f Author: Nikolaos Mouchtaris Date: 2023-07-03 (Mon, 03 Jul 2023) Changed paths: M LayoutTests/platform/mac-wk2/TestExpectations M LayoutTests/resources/ui-helper.js Log Message: --- PROGRESSION (263656@main): Three fast/scrolling/mac/scrollbars are a consistent failure or timeout https://bugs.webkit.org/show_bug.cgi?id=258641 rdar://111424377 Reviewed by Tim Nguyen. Add check for scroller before querying the type. This regressed after https://commits.webkit.org/263656@main which added the type check for the select element tests, which need to use the old scrollbar testing infrastructure. * LayoutTests/resources/ui-helper.js: Canonical link: https://commits.webkit.org/265728@main ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] 7e2067: Update implementation of contain flag for motion p...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 7e206701112298ed0df6f7a8e3a393e9e8531530 https://github.com/WebKit/WebKit/commit/7e206701112298ed0df6f7a8e3a393e9e8531530 Author: Nikolaos Mouchtaris Date: 2023-06-12 (Mon, 12 Jun 2023) Changed paths: M LayoutTests/TestExpectations M LayoutTests/imported/w3c/web-platform-tests/css/motion/offset-path-ray-contain-004.html M Source/WebCore/platform/animation/AcceleratedEffectValues.cpp M Source/WebCore/rendering/PathOperation.cpp M Source/WebCore/rendering/PathOperation.h M Source/WebCore/rendering/style/RenderStyle.cpp Log Message: --- Update implementation of contain flag for motion path https://bugs.webkit.org/show_bug.cgi?id=256225 rdar://108861663 Reviewed by Tim Nguyen. After w3c/fxtf-drafts@bd9fb9b, we need to update our contain implementation to follow this new behavior. This involves replacing the old implementation in RayPathOperation::lengthForContainPath to the new behavior, which just bases the length we shorten the computed path length on half the width or height of the element that we are animating. Since we no longer need the anchor point or the angle of the ray, remove this from RayPathOperation::lengthForContainPath's function parameters (as well as all other PathOperations). * LayoutTests/TestExpectations: * LayoutTests/imported/w3c/web-platform-tests/css/motion/offset-path-ray-contain-004.html: * Source/WebCore/platform/animation/AcceleratedEffectValues.cpp: (WebCore::AcceleratedEffectValues::AcceleratedEffectValues): * Source/WebCore/rendering/PathOperation.cpp: (WebCore::RayPathOperation::lengthForContainPath const): (WebCore::RayPathOperation::getPath const): * Source/WebCore/rendering/PathOperation.h: (WebCore::PathOperation::getPath): * Source/WebCore/rendering/style/RenderStyle.cpp: (WebCore::RenderStyle::applyMotionPathTransform const): Canonical link: https://commits.webkit.org/265106@main ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] d19192: [UI-side compositing] Eliminate unnecessary invali...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: d19192443a84fc6e6c00383118c8af3e16f78c8a https://github.com/WebKit/WebKit/commit/d19192443a84fc6e6c00383118c8af3e16f78c8a Author: Nikolaos Mouchtaris Date: 2023-05-15 (Mon, 15 May 2023) Changed paths: M Source/WebCore/platform/ScrollableArea.cpp M Source/WebCore/platform/ScrollbarsController.h M Source/WebKit/WebProcess/WebPage/RemoteLayerTree/RemoteScrollbarsController.h M Source/WebKit/WebProcess/WebPage/RemoteLayerTree/RemoteScrollbarsController.mm Log Message: --- [UI-side compositing] Eliminate unnecessary invalidate of scrollbar layers when scrolling https://bugs.webkit.org/show_bug.cgi?id=256624 rdar://109184266 Reviewed by Simon Fraser. For UI-side compositing, we only paint into scrollbar layers in the WebProcess for custom scrollbars. To reflect this, add RemoteScrollbarsController::shouldDrawIntoScrollbarLayer and check before invalidating the scrollbar layers, to prevent unnecessary calls into GraphicsLayerCA::platformCALayerPaintContents when we aren't actually going to paint anything. * Source/WebCore/platform/ScrollableArea.cpp: (WebCore::ScrollableArea::invalidateScrollbar): * Source/WebCore/platform/ScrollbarsController.h: (WebCore::ScrollbarsController::shouldDrawIntoScrollbarLayer const): * Source/WebKit/WebProcess/WebPage/RemoteLayerTree/RemoteScrollbarsController.h: * Source/WebKit/WebProcess/WebPage/RemoteLayerTree/RemoteScrollbarsController.mm: (WebKit::RemoteScrollbarsController::shouldDrawIntoScrollbarLayer const): Canonical link: https://commits.webkit.org/264094@main ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] f11ea3: "Frame End" timeline point is wrong with UI-side c...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: f11ea318b8fc5ab963b9d04f61e2cc1649b0ee6a https://github.com/WebKit/WebKit/commit/f11ea318b8fc5ab963b9d04f61e2cc1649b0ee6a Author: Nikolaos Mouchtaris Date: 2023-05-10 (Wed, 10 May 2023) Changed paths: M Source/WebCore/inspector/InspectorInstrumentation.cpp M Source/WebCore/inspector/InspectorInstrumentation.h M Source/WebCore/inspector/agents/InspectorTimelineAgent.cpp M Source/WebCore/inspector/agents/InspectorTimelineAgent.h M Source/WebCore/page/Page.cpp Log Message: --- "Frame End" timeline point is wrong with UI-side compositing https://bugs.webkit.org/show_bug.cgi?id=249796 rdar://103645351 Reviewed by Simon Fraser. Have Page::didCompleteRenderingFrame drive InspectorFrameEnd by calling into InspectorInstrumentation, which calls down into InspectorTimelineAgent. Instead of incrementing m_runLoopNestingLevel for each InspectorFrameBegin event, only increment when we have a corresponding didCompleteRenderingFrame event. * Source/WebCore/inspector/InspectorInstrumentation.cpp: (WebCore::InspectorInstrumentation::didCompleteRenderingFrameImpl): * Source/WebCore/inspector/InspectorInstrumentation.h: (WebCore::InspectorInstrumentation::eventDidResetAfterDispatch): (WebCore::InspectorInstrumentation::didCompleteRenderingFrame): * Source/WebCore/inspector/agents/InspectorTimelineAgent.cpp: (WebCore::InspectorTimelineAgent::internalStart): (WebCore::InspectorTimelineAgent::internalStop): (WebCore::InspectorTimelineAgent::didCompleteRenderingFrame): * Source/WebCore/inspector/agents/InspectorTimelineAgent.h: * Source/WebCore/page/Page.cpp: (WebCore::Page::didCompleteRenderingFrame): Canonical link: https://commits.webkit.org/263917@main ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] db4254: [UI-side compositing] Scrollbar tests should use w...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: db42544a3d68961ad1c8daa0383e2e5ad7feb2e5 https://github.com/WebKit/WebKit/commit/db42544a3d68961ad1c8daa0383e2e5ad7feb2e5 Author: Nikolaos Mouchtaris Date: 2023-05-03 (Wed, 03 May 2023) Changed paths: M LayoutTests/resources/ui-helper.js Log Message: --- [UI-side compositing] Scrollbar tests should use web process state for select elements https://bugs.webkit.org/show_bug.cgi?id=255671 rdar://108275933 Reviewed by Simon Fraser. Even with UI-side compositing on, RenderListBox keeps its NSScrollerImps in the web process. The horizontal/verticalScrollbarState UIHelper functions should use the web process version if the input element is a select element. * LayoutTests/resources/ui-helper.js: Canonical link: https://commits.webkit.org/263656@main ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] e2f320: [ui-side compositing] Add check for layer after sc...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: e2f320571c31401849a94f07ce06765dc4dd1e7c https://github.com/WebKit/WebKit/commit/e2f320571c31401849a94f07ce06765dc4dd1e7c Author: Nikolaos Mouchtaris Date: 2023-05-03 (Wed, 03 May 2023) Changed paths: M Source/WebKit/UIProcess/RemoteLayerTree/mac/RemoteLayerTreeDrawingAreaProxyMac.h M Source/WebKit/UIProcess/RemoteLayerTree/mac/RemoteLayerTreeDrawingAreaProxyMac.mm Log Message: --- [ui-side compositing] Add check for layer after scaling CATransaction completed https://bugs.webkit.org/show_bug.cgi?id=255816 rdar://108234128 Reviewed by Simon Fraser. Add check for layer after scaling CATransaction completed. Also hold a RefPtr to the WebPageProxy to ensure that the drawing area still exists after the completion block finishes. * Source/WebKit/UIProcess/RemoteLayerTree/mac/RemoteLayerTreeDrawingAreaProxyMac.mm: (WebKit::RemoteLayerTreeDrawingAreaProxyMac::commitTransientZoom): Canonical link: https://commits.webkit.org/263643@main ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] 75d7fe: Update WPT contain tests in css/motion/
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 75d7fecef97ac1b7811cb97cce013bc01be53ed0 https://github.com/WebKit/WebKit/commit/75d7fecef97ac1b7811cb97cce013bc01be53ed0 Author: Nikolaos Mouchtaris Date: 2023-05-03 (Wed, 03 May 2023) Changed paths: M LayoutTests/TestExpectations M LayoutTests/imported/w3c/web-platform-tests/css/motion/offset-path-ray-contain-001-expected.html M LayoutTests/imported/w3c/web-platform-tests/css/motion/offset-path-ray-contain-001.html M LayoutTests/imported/w3c/web-platform-tests/css/motion/offset-path-ray-contain-002-expected.html M LayoutTests/imported/w3c/web-platform-tests/css/motion/offset-path-ray-contain-003-expected.html M LayoutTests/imported/w3c/web-platform-tests/css/motion/offset-path-ray-contain-004-expected.html M LayoutTests/imported/w3c/web-platform-tests/css/motion/offset-path-ray-contain-005-expected.html M LayoutTests/imported/w3c/web-platform-tests/css/motion/offset-path-ray-contain-005.html M LayoutTests/platform/gtk/TestExpectations M LayoutTests/platform/wpe/TestExpectations Log Message: --- Update WPT contain tests in css/motion/ https://bugs.webkit.org/show_bug.cgi?id=256226 rdar://108804522 Reviewed by Tim Nguyen. Import new WPT contain tests for after spec change: https://github.com/w3c/fxtf-drafts/commit/bd9fb9b. * LayoutTests/TestExpectations: * LayoutTests/imported/w3c/web-platform-tests/css/motion/offset-path-ray-contain-001-expected.html: * LayoutTests/imported/w3c/web-platform-tests/css/motion/offset-path-ray-contain-001.html: * LayoutTests/imported/w3c/web-platform-tests/css/motion/offset-path-ray-contain-002-expected.html: * LayoutTests/imported/w3c/web-platform-tests/css/motion/offset-path-ray-contain-003-expected.html: * LayoutTests/imported/w3c/web-platform-tests/css/motion/offset-path-ray-contain-004-expected.html: * LayoutTests/imported/w3c/web-platform-tests/css/motion/offset-path-ray-contain-005-expected.html: * LayoutTests/imported/w3c/web-platform-tests/css/motion/offset-path-ray-contain-005.html: Canonical link: https://commits.webkit.org/263636@main ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] f719f8: ASSERTION FAILED: scrollerImp == scroller->scrolle...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: f719f87b07476ed574a5a450bf39931218d52798 https://github.com/WebKit/WebKit/commit/f719f87b07476ed574a5a450bf39931218d52798 Author: Nikolaos Mouchtaris Date: 2023-05-01 (Mon, 01 May 2023) Changed paths: M Source/WebCore/page/scrolling/mac/ScrollerMac.h M Source/WebCore/page/scrolling/mac/ScrollerMac.mm M Source/WebCore/page/scrolling/mac/ScrollerPairMac.mm M Source/WebCore/page/scrolling/mac/ScrollingTreeScrollingNodeDelegateMac.mm Log Message: --- ASSERTION FAILED: scrollerImp == scroller->scrollerImp() if closing a window while scrolling https://bugs.webkit.org/show_bug.cgi?id=255886 rdar://108469342 Reviewed by Simon Fraser. The order of destruction is ScrollingTreeScrollingNodeDelegateMac -> ScrollerPairMac -> ScrollerMac. We don't want to release the scroller imps in ScrollingTreeScrollingNodeDelegateMac because we have yet to remove the delegate from the scroller imps. This can lead to a state where we get a call to convertContentPoint when our reference to the scroller imps in ScrollerMac are already released. To resolve this, move this call to ~ScrollerPairMac and move the ScrollerMac calls to the individual scroller imps to their own function and call them in ~ScrollerPairMac. * Source/WebCore/page/scrolling/mac/ScrollerPairMac.mm: (-[WebScrollerImpPairDelegateMac scrollerImpPair:convertContentPoint:toScrollerImp:]): (WebCore::ScrollerPairMac::~ScrollerPairMac): * Source/WebCore/page/scrolling/mac/ScrollingTreeScrollingNodeDelegateMac.mm: (WebCore::ScrollingTreeScrollingNodeDelegateMac::~ScrollingTreeScrollingNodeDelegateMac): Canonical link: https://commits.webkit.org/263557@main ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] a9d8f8: [UI-side compositing] Have RemoteScrollbarsControl...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: a9d8f8b89517139a774a25647ffcbf0e44fc6b8c https://github.com/WebKit/WebKit/commit/a9d8f8b89517139a774a25647ffcbf0e44fc6b8c Author: Nikolaos Mouchtaris 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: *
[webkit-changes] [WebKit/WebKit] caec1d: [Ui-side compositing] Fix mouse position reporting...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: caec1d312c597c37515751aedbec9433978fb627 https://github.com/WebKit/WebKit/commit/caec1d312c597c37515751aedbec9433978fb627 Author: Nikolaos Mouchtaris Date: 2023-04-14 (Fri, 14 Apr 2023) Changed paths: M Source/WebCore/page/scrolling/AsyncScrollingCoordinator.cpp M Source/WebCore/page/scrolling/ScrollingStateScrollingNode.cpp M Source/WebCore/page/scrolling/ScrollingStateScrollingNode.h M Source/WebCore/page/scrolling/ScrollingTreeScrollingNodeDelegate.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/page/scrolling/mac/ScrollerPairMac.mm M Source/WebCore/page/scrolling/mac/ScrollingTreeScrollingNodeDelegateMac.h M Source/WebCore/page/scrolling/mac/ScrollingTreeScrollingNodeDelegateMac.mm M Source/WebKit/Shared/RemoteLayerTree/RemoteScrollingCoordinatorTransaction.cpp M Source/WebKit/UIProcess/RemoteLayerTree/mac/RemoteScrollingTreeMac.h M Source/WebKit/UIProcess/RemoteLayerTree/mac/RemoteScrollingTreeMac.mm M Source/WebKit/UIProcess/RemoteLayerTree/mac/ScrollingTreeFrameScrollingNodeRemoteMac.cpp M Source/WebKit/UIProcess/RemoteLayerTree/mac/ScrollingTreeOverflowScrollingNodeRemoteMac.cpp Log Message: --- [Ui-side compositing] Fix mouse position reporting to AppKit in WebScrollerImpPairDelegateMac https://bugs.webkit.org/show_bug.cgi?id=255188 rdar://107776583 Reviewed by Simon Fraser. This patch aims to fix several issues with the way ScrollerPairMac and ScrollerMac handle mouse events, with the intent of fixing hovering over overlay scrollbars in overflow scrolling nodes. The first issue is that currently there isn't a good way to convert the frame relative mouse position to a scrollbar relative mouse position. To work around this, bundle the scrollbar relative mouse positions in the mouseMovedInContentArea event. When we know that we have updated mouse positions from the WebProcess, return them in the various WebScrollerImpPairDelegateMac functions. The second issue is that RemoteScrollingTree is only calling handleMouseEvent on the root scroller. Since this mouse position was only being used as input to convertContentPoint, it is ok to just return a zero point and use the converted mouse position from the Web Process. * Source/WebCore/page/scrolling/ScrollingTree.h: (WebCore::ScrollingTree::lastKnownMousePosition): * Source/WebCore/page/scrolling/ScrollingTreeScrollingNode.cpp: (WebCore::ScrollingTreeScrollingNode::lastKnownMousePosition const): * Source/WebCore/page/scrolling/ScrollingTreeScrollingNode.h: * Source/WebCore/page/scrolling/ScrollingTreeScrollingNodeDelegate.h: (WebCore::ScrollingTreeScrollingNodeDelegate::lastKnownMousePosition const): * Source/WebCore/page/scrolling/mac/ScrollerMac.mm: (-[WebScrollerImpDelegateMac mouseLocationInScrollerForScrollerImp:]): * Source/WebCore/page/scrolling/mac/ScrollerPairMac.h: (WebCore::ScrollerPairMac::node const): (WebCore::ScrollerPairMac::lastKnownMousePosition const): Deleted. * Source/WebCore/page/scrolling/mac/ScrollerPairMac.mm: (-[WebScrollerImpPairDelegateMac mouseLocationInContentAreaForScrollerImpPair:]): (-[WebScrollerImpPairDelegateMac scrollerImpPair:convertContentPoint:toScrollerImp:]): (WebCore::ScrollerPairMac::lastKnownMousePosition const): * Source/WebCore/page/scrolling/mac/ScrollingTreeScrollingNodeDelegateMac.h: * Source/WebCore/page/scrolling/mac/ScrollingTreeScrollingNodeDelegateMac.mm: (WebCore::ScrollingTreeScrollingNodeDelegateMac::lastKnownMousePosition const): * Source/WebKit/UIProcess/RemoteLayerTree/mac/RemoteScrollingTreeMac.h: * Source/WebKit/UIProcess/RemoteLayerTree/mac/RemoteScrollingTreeMac.mm: (WebKit::RemoteScrollingTreeMac::lastKnownMousePosition): * Source/WebKit/UIProcess/RemoteLayerTree/mac/ScrollingTreeFrameScrollingNodeRemoteMac.cpp: (WebKit::ScrollingTreeFrameScrollingNodeRemoteMac::lastKnownMousePosition): * Source/WebKit/UIProcess/RemoteLayerTree/mac/ScrollingTreeFrameScrollingNodeRemoteMac.h: Canonical link: https://commits.webkit.org/262995@main ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] 8640c2: [UI Side Compositing] REGRESSION: fast/scrolling/s...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 8640c2ed1f9e12945be08b6e96e0988fd905d03e https://github.com/WebKit/WebKit/commit/8640c2ed1f9e12945be08b6e96e0988fd905d03e Author: Nikolaos Mouchtaris Date: 2023-04-13 (Thu, 13 Apr 2023) Changed paths: M Source/WebKit/WebProcess/WebCoreSupport/WebChromeClient.cpp Log Message: --- [UI Side Compositing] REGRESSION: fast/scrolling/scroll-animator tests are failing (need ScrollbarsControllerMock logging) https://bugs.webkit.org/show_bug.cgi?id=255421 rdar://107345364 Reviewed by Simon Fraser. Prevent creation of a RemoteScrollbarsController if mock scrollbars are enabled, so we can create a MockScrollbarsController instead. * Source/WebKit/WebProcess/WebCoreSupport/WebChromeClient.cpp: (WebKit::WebChromeClient::createScrollbarsController const): Canonical link: https://commits.webkit.org/262945@main ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] 87496b: [UI-side compositing] Create RemoteScrollbarsContr...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 87496bbd2fe0644663cbe1fb501e2711eddae3c3 https://github.com/WebKit/WebKit/commit/87496bbd2fe0644663cbe1fb501e2711eddae3c3 Author: Nikolaos Mouchtaris Date: 2023-04-07 (Fri, 07 Apr 2023) Changed paths: M Source/WebCore/page/EventHandler.cpp M Source/WebCore/page/scrolling/AsyncScrollingCoordinator.cpp M Source/WebCore/page/scrolling/AsyncScrollingCoordinator.h M Source/WebCore/page/scrolling/ScrollingCoordinator.h M Source/WebCore/platform/ScrollbarsController.h M Source/WebKit/SourcesCocoa.txt M Source/WebKit/WebKit.xcodeproj/project.pbxproj M Source/WebKit/WebProcess/WebCoreSupport/WebChromeClient.cpp A Source/WebKit/WebProcess/WebPage/RemoteLayerTree/RemoteScrollbarsController.cpp A Source/WebKit/WebProcess/WebPage/RemoteLayerTree/RemoteScrollbarsController.h Log Message: --- [UI-side compositing] Create RemoteScrollbarsController for plumbing web process events to the scrolling coordinator https://bugs.webkit.org/show_bug.cgi?id=255173 rdar://107770765 Reviewed by Simon Fraser. This patch creates RemoteScrollbarsController, for the purpose of moving the scrolling coordinator calls out of EventHandler and into the ScrollbarController functions, which were already being called in the EventHandler. * Source/WebCore/page/EventHandler.cpp: (WebCore::EventHandler::notifyScrollableAreasOfMouseEvents): (WebCore::EventHandler::updateLastScrollbarUnderMouse): * Source/WebCore/page/scrolling/AsyncScrollingCoordinator.cpp: (WebCore::AsyncScrollingCoordinator::setMouseIsOverContentArea): (WebCore::AsyncScrollingCoordinator::setMouseMovedInContentArea): * Source/WebCore/page/scrolling/AsyncScrollingCoordinator.h: * Source/WebCore/page/scrolling/ScrollingCoordinator.h: (WebCore::ScrollingCoordinator::setMouseIsOverContentArea): (WebCore::ScrollingCoordinator::setMouseMovedInContentArea): * Source/WebCore/platform/ScrollbarsController.h: (WebCore::ScrollbarsController::contentAreaWillPaint const): (WebCore::ScrollbarsController::mouseEnteredContentArea): (WebCore::ScrollbarsController::mouseExitedContentArea): (WebCore::ScrollbarsController::mouseMovedInContentArea): (WebCore::ScrollbarsController::mouseEnteredScrollbar const): (WebCore::ScrollbarsController::mouseExitedScrollbar const): (WebCore::ScrollbarsController::mouseIsDownInScrollbar const): (WebCore::ScrollbarsController::willStartLiveResize): (WebCore::ScrollbarsController::contentsSizeChanged const): (WebCore::ScrollbarsController::willEndLiveResize): (WebCore::ScrollbarsController::contentAreaDidShow): (WebCore::ScrollbarsController::contentAreaDidHide): (WebCore::ScrollbarsController::lockOverlayScrollbarStateToHidden): (WebCore::ScrollbarsController::scrollbarsCanBeActive const): (WebCore::ScrollbarsController::didAddVerticalScrollbar): (WebCore::ScrollbarsController::willRemoveVerticalScrollbar): (WebCore::ScrollbarsController::didAddHorizontalScrollbar): (WebCore::ScrollbarsController::willRemoveHorizontalScrollbar): (WebCore::ScrollbarsController::invalidateScrollbarPartLayers): (WebCore::ScrollbarsController::verticalScrollbarLayerDidChange): (WebCore::ScrollbarsController::horizontalScrollbarLayerDidChange): (WebCore::ScrollbarsController::shouldScrollbarParticipateInHitTesting): (WebCore::ScrollbarsController::horizontalScrollbarStateForTesting const): (WebCore::ScrollbarsController::verticalScrollbarStateForTesting const): * Source/WebKit/SourcesCocoa.txt: * Source/WebKit/WebKit.xcodeproj/project.pbxproj: * Source/WebKit/WebProcess/WebCoreSupport/WebChromeClient.cpp: (WebKit::WebChromeClient::createScrollingCoordinator const): (WebKit::WebChromeClient::createScrollbarsController const): * Source/WebKit/WebProcess/WebPage/mac/ScrollbarsControllerProxyMac.cpp: Added. (WebKit::ScrollbarsControllerProxyMac::ScrollbarsControllerProxyMac): (WebKit::ScrollbarsControllerProxyMac::mouseEnteredContentArea): (WebKit::ScrollbarsControllerProxyMac::mouseExitedContentArea): (WebKit::ScrollbarsControllerProxyMac::mouseMovedInContentArea): (WebKit::ScrollbarsControllerProxyMac::mouseEnteredScrollbar const): (WebKit::ScrollbarsControllerProxyMac::mouseExitedScrollbar const): * Source/WebKit/WebProcess/WebPage/mac/ScrollbarsControllerProxyMac.h: Added. Canonical link: https://commits.webkit.org/262744@main ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] 15cb0c: [UI-side compositing] Legacy scrollbars do not fla...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 15cb0cae9dcf910ce6862066f42cb29fa9e09741 https://github.com/WebKit/WebKit/commit/15cb0cae9dcf910ce6862066f42cb29fa9e09741 Author: Nikolaos Mouchtaris Date: 2023-04-07 (Fri, 07 Apr 2023) Changed paths: M Source/WebCore/page/EventHandler.cpp M Source/WebCore/page/scrolling/AsyncScrollingCoordinator.cpp M Source/WebCore/page/scrolling/AsyncScrollingCoordinator.h M Source/WebCore/page/scrolling/ScrollingCoordinator.h M Source/WebCore/page/scrolling/ScrollingStateNode.h M Source/WebCore/page/scrolling/ScrollingStateScrollingNode.cpp M Source/WebCore/page/scrolling/ScrollingStateScrollingNode.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/page/scrolling/mac/ScrollerPairMac.mm M Source/WebCore/page/scrolling/mac/ScrollingTreeScrollingNodeDelegateMac.mm M Source/WebKit/Shared/RemoteLayerTree/RemoteScrollingCoordinatorTransaction.cpp M Source/WebKit/Shared/WebCoreArgumentCoders.serialization.in Log Message: --- [UI-side compositing] Legacy scrollbars do not flash grey when hovered over https://bugs.webkit.org/show_bug.cgi?id=254721 rdar://107447969 Reviewed by Simon Fraser. For legacy scrollbars we need to call NSScrollerImp functions to notify them when a mouse is hovering over them. The approach in this patch is to plumb a pair of bits representing if a mouse is in the vertical or horizontal scrollbar through the scrolling tree, which eventually calls into the scroller imp of ScrollerMac. Since this is only needed for legacy scrollbars return early in ScrollerMac::mouseEntered/ExitedScrollbar if the style is not legacy. * Source/WebCore/page/EventHandler.cpp: (WebCore::EventHandler::updateLastScrollbarUnderMouse): * Source/WebCore/page/scrolling/AsyncScrollingCoordinator.cpp: (WebCore::AsyncScrollingCoordinator::mouseDidEnterScrollbar): * Source/WebCore/page/scrolling/AsyncScrollingCoordinator.h: * Source/WebCore/page/scrolling/ScrollingCoordinator.h: (WebCore::ScrollingCoordinator::mouseDidEnterScrollbar): * Source/WebCore/page/scrolling/ScrollingStateNode.h: * Source/WebCore/page/scrolling/ScrollingStateScrollingNode.cpp: (WebCore::ScrollingStateScrollingNode::ScrollingStateScrollingNode): (WebCore::ScrollingStateScrollingNode::setMouseDidEnterScrollbar): * Source/WebCore/page/scrolling/ScrollingStateScrollingNode.h: (WebCore::ScrollingStateScrollingNode::mouseDidEnterScrollbar const): * Source/WebCore/page/scrolling/mac/ScrollerPairMac.h: * Source/WebCore/page/scrolling/mac/ScrollerPairMac.mm: (WebCore::ScrollerPairMac::mouseEnteredScrollbar): (WebCore::ScrollerPairMac::mouseExitedScrollbar): * Source/WebCore/page/scrolling/mac/ScrollingTreeScrollingNodeDelegateMac.mm: (WebCore::ScrollingTreeScrollingNodeDelegateMac::updateFromStateNode): * Source/WebCore/platform/ScrollbarsController.h: * Source/WebCore/platform/mac/NSScrollerImpDetails.mm: (WebCore::ScrollerStyle::recommendedScrollerStyle): * Source/WebKit/Shared/RemoteLayerTree/RemoteScrollingCoordinatorTransaction.cpp: (ArgumentCoder::encode): (ArgumentCoder::decode): * Source/WebKit/Shared/WebCoreArgumentCoders.serialization.in: Canonical link: https://commits.webkit.org/262721@main ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] 90a47d: [UI-side compositing] Plumb mouseMovedInContentAre...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 90a47db0ffa461850eaba59ae2b2f2dae80eee2a https://github.com/WebKit/WebKit/commit/90a47db0ffa461850eaba59ae2b2f2dae80eee2a Author: Nikolaos Mouchtaris Date: 2023-04-06 (Thu, 06 Apr 2023) Changed paths: M Source/WebCore/page/EventHandler.cpp M Source/WebCore/page/scrolling/AsyncScrollingCoordinator.cpp M Source/WebCore/page/scrolling/AsyncScrollingCoordinator.h M Source/WebCore/page/scrolling/ScrollingCoordinator.h M Source/WebCore/page/scrolling/ScrollingStateNode.h M Source/WebCore/page/scrolling/ScrollingStateScrollingNode.cpp M Source/WebCore/page/scrolling/ScrollingStateScrollingNode.h M Source/WebCore/page/scrolling/mac/ScrollerPairMac.h M Source/WebCore/page/scrolling/mac/ScrollerPairMac.mm M Source/WebCore/page/scrolling/mac/ScrollingTreeScrollingNodeDelegateMac.mm M Source/WebKit/Shared/WebCoreArgumentCoders.serialization.in Log Message: --- [UI-side compositing] Plumb mouseMovedInContentArea event to UI process https://bugs.webkit.org/show_bug.cgi?id=255126 rdar://107732708 Reviewed by Simon Fraser. This patch plumbs mouseMovedInContentArea events to the UI process. This event is generated each time the mouse is moved within the particular content area, and eventually results into a mouseLocationInScrollerForScrollerImp call into our delegate class, which allows AppKit to know where the mouse is within the scroller (this function still needs to be fixed for overflow scroll nodes). Since there is no state related to this we simply use the property change on the ScrollingStateNode to tell the UI process to send this event to the ScrollerPairMac. This patch also ensures that the NSScrollerImpPairs are accessed on the main thread for the various mouse events. * Source/WebCore/page/EventHandler.cpp: (WebCore::EventHandler::notifyScrollableAreasOfMouseEvents): * Source/WebCore/page/scrolling/AsyncScrollingCoordinator.cpp: (WebCore::AsyncScrollingCoordinator::setMouseIsActiveInContentArea): * Source/WebCore/page/scrolling/AsyncScrollingCoordinator.h: * Source/WebCore/page/scrolling/ScrollingCoordinator.h: (WebCore::ScrollingCoordinator::setMouseIsActiveInContentArea): * Source/WebCore/page/scrolling/ScrollingStateNode.h: * Source/WebCore/page/scrolling/ScrollingStateScrollingNode.cpp: (WebCore::ScrollingStateScrollingNode::setMouseIsActiveInContentArea): * Source/WebCore/page/scrolling/ScrollingStateScrollingNode.h: * Source/WebCore/page/scrolling/mac/ScrollerPairMac.h: * Source/WebCore/page/scrolling/mac/ScrollerPairMac.mm: (WebCore::ScrollerPairMac::mouseMovedInContentArea): * Source/WebCore/page/scrolling/mac/ScrollingTreeScrollingNodeDelegateMac.mm: (WebCore::ScrollingTreeScrollingNodeDelegateMac::updateFromStateNode): * Source/WebKit/Shared/WebCoreArgumentCoders.serialization.in: Canonical link: https://commits.webkit.org/262699@main ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] 80376d: [UI-side compositing] Plumb mouseEnteredContentAre...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 80376d725c73b12a9256c66fa08c15bf46d9e4c2 https://github.com/WebKit/WebKit/commit/80376d725c73b12a9256c66fa08c15bf46d9e4c2 Author: Nikolaos Mouchtaris Date: 2023-04-06 (Thu, 06 Apr 2023) Changed paths: M Source/WebCore/page/EventHandler.cpp M Source/WebCore/page/scrolling/AsyncScrollingCoordinator.cpp M Source/WebCore/page/scrolling/AsyncScrollingCoordinator.h M Source/WebCore/page/scrolling/ScrollingCoordinator.h M Source/WebCore/page/scrolling/ScrollingStateNode.h M Source/WebCore/page/scrolling/ScrollingStateScrollingNode.cpp M Source/WebCore/page/scrolling/ScrollingStateScrollingNode.h M Source/WebCore/page/scrolling/mac/ScrollerPairMac.h M Source/WebCore/page/scrolling/mac/ScrollerPairMac.mm M Source/WebCore/page/scrolling/mac/ScrollingTreeScrollingNodeDelegateMac.mm M Source/WebKit/Shared/RemoteLayerTree/RemoteScrollingCoordinatorTransaction.cpp M Source/WebKit/Shared/WebCoreArgumentCoders.serialization.in M Source/WebKit/UIProcess/RemoteLayerTree/mac/ScrollingTreeFrameScrollingNodeRemoteMac.cpp M Source/WebKit/UIProcess/RemoteLayerTree/mac/ScrollingTreeFrameScrollingNodeRemoteMac.h M Source/WebKit/UIProcess/RemoteLayerTree/mac/ScrollingTreeOverflowScrollingNodeRemoteMac.cpp M Source/WebKit/UIProcess/RemoteLayerTree/mac/ScrollingTreeOverflowScrollingNodeRemoteMac.h Log Message: --- [UI-side compositing] Plumb mouseEnteredContentArea and mouseExitedContentArea events to UI process https://bugs.webkit.org/show_bug.cgi?id=255061 rdar://107685729 Reviewed by Simon Fraser. This is the first patch that is necessary to get overlay scrollbars working in overflow scrolling nodes. This patch plumbs mouseEnteredContentArea and mouseExitedContentArea events to the UI-process through the scrolling tree to ScrollerPairMac, which eventually calls the equivalent functions on the NSScrollerImps. This patch also fixes a bug where updateFromStateNode was called multiple times which caused mouseEntered/ExitedContentArea to be called twice. The solution was to remove commitStateBeforeChildren from the remote scrolling nodes as all they did was call updateFromStateNode on the delegate, which the parent class already does. * Source/WebCore/page/EventHandler.cpp: (WebCore::EventHandler::notifyScrollableAreasOfMouseEvents): * Source/WebCore/page/scrolling/AsyncScrollingCoordinator.cpp: (WebCore::AsyncScrollingCoordinator::setMouseIsOverContentArea): * Source/WebCore/page/scrolling/AsyncScrollingCoordinator.h: * Source/WebCore/page/scrolling/ScrollingCoordinator.h: (WebCore::ScrollingCoordinator::setMouseIsOverContentArea): * Source/WebCore/page/scrolling/ScrollingStateNode.h: * Source/WebCore/page/scrolling/ScrollingStateScrollingNode.cpp: (WebCore::ScrollingStateScrollingNode::ScrollingStateScrollingNode): (WebCore::ScrollingStateScrollingNode::setMouseIsOverContentArea): * Source/WebCore/page/scrolling/ScrollingStateScrollingNode.h: (WebCore::ScrollingStateScrollingNode::mouseIsOverContentArea const): * Source/WebCore/page/scrolling/ScrollingTreeNode.h: (WebCore::ScrollingTreeNode::scrollingTree const): * Source/WebCore/page/scrolling/mac/ScrollerPairMac.h: * Source/WebCore/page/scrolling/mac/ScrollerPairMac.mm: (WebCore::ScrollerPairMac::mouseEnteredContentArea): (WebCore::ScrollerPairMac::mouseExitedContentArea): * Source/WebCore/page/scrolling/mac/ScrollingTreeScrollingNodeDelegateMac.mm: (WebCore::ScrollingTreeScrollingNodeDelegateMac::updateFromStateNode): * Source/WebKit/Shared/RemoteLayerTree/RemoteScrollingCoordinatorTransaction.cpp: (ArgumentCoder::encode): (ArgumentCoder::decode): * Source/WebKit/Shared/WebCoreArgumentCoders.serialization.in: * Source/WebKit/UIProcess/RemoteLayerTree/mac/ScrollingTreeFrameScrollingNodeRemoteMac.cpp: (WebKit::ScrollingTreeFrameScrollingNodeRemoteMac::commitStateBeforeChildren): Deleted. * Source/WebKit/UIProcess/RemoteLayerTree/mac/ScrollingTreeFrameScrollingNodeRemoteMac.h: * Source/WebKit/UIProcess/RemoteLayerTree/mac/ScrollingTreeOverflowScrollingNodeRemoteMac.cpp: (WebKit::ScrollingTreeOverflowScrollingNodeRemoteMac::commitStateBeforeChildren): Deleted. * Source/WebKit/UIProcess/RemoteLayerTree/mac/ScrollingTreeOverflowScrollingNodeRemoteMac.h: Canonical link: https://commits.webkit.org/262672@main ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] 3a9451: Update fast/scrolling/mac/scrollbars tests to use ...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 3a9451dba31381654b6b9ebd65f21d083a36b474 https://github.com/WebKit/WebKit/commit/3a9451dba31381654b6b9ebd65f21d083a36b474 Author: Nikolaos Mouchtaris Date: 2023-04-03 (Mon, 03 Apr 2023) Changed paths: M LayoutTests/fast/scrolling/mac/scrollbars/overflow-in-iframe-overlay-scrollbar-hovered.html M LayoutTests/fast/scrolling/mac/scrollbars/overflow-in-iframe-overlay-scrollbar-reveal.html M LayoutTests/fast/scrolling/mac/scrollbars/overflow-overlay-scrollbar-hovered.html M LayoutTests/fast/scrolling/mac/scrollbars/overflow-overlay-scrollbar-reveal.html M LayoutTests/fast/scrolling/mac/scrollbars/overlay-scrollbar-hovered.html M LayoutTests/fast/scrolling/mac/scrollbars/overlay-scrollbar-reveal.html M LayoutTests/fast/scrolling/mac/scrollbars/overlay-scrollbar-state-expected.txt M LayoutTests/fast/scrolling/mac/scrollbars/overlay-scrollbar-state.html M LayoutTests/fast/scrolling/mac/scrollbars/scrollbar-state-expected.txt M LayoutTests/fast/scrolling/mac/scrollbars/scrollbar-state.html M LayoutTests/fast/scrolling/mac/scrollbars/select-overlay-scrollbar-hovered.html M LayoutTests/fast/scrolling/mac/scrollbars/select-overlay-scrollbar-reveal.html M LayoutTests/fast/scrolling/mac/scrollbars/very-wide-overlay-scrollbar.html M LayoutTests/resources/ui-helper.js Log Message: --- Update fast/scrolling/mac/scrollbars tests to use new UIHelper scrollbar state function https://bugs.webkit.org/show_bug.cgi?id=254698 rdar://107389069 Reviewed by Simon Fraser. Update the scrollbar tests to use the new infrastructure. When in non UI-side compositing mode UIHelper.horizontal/verticalScrollbarState will use the old internals function, and when in UI-side compositing mode, it will use the new UIScriptController function. * LayoutTests/fast/scrolling/mac/scrollbars/overflow-in-iframe-overlay-scrollbar-hovered.html: * LayoutTests/fast/scrolling/mac/scrollbars/overflow-in-iframe-overlay-scrollbar-reveal.html: * LayoutTests/fast/scrolling/mac/scrollbars/overflow-overlay-scrollbar-hovered.html: * LayoutTests/fast/scrolling/mac/scrollbars/overflow-overlay-scrollbar-reveal.html: * LayoutTests/fast/scrolling/mac/scrollbars/overlay-scrollbar-hovered.html: * LayoutTests/fast/scrolling/mac/scrollbars/overlay-scrollbar-reveal.html: * LayoutTests/fast/scrolling/mac/scrollbars/overlay-scrollbar-state-expected.txt: * LayoutTests/fast/scrolling/mac/scrollbars/overlay-scrollbar-state.html: * LayoutTests/fast/scrolling/mac/scrollbars/scrollbar-state-expected.txt: * LayoutTests/fast/scrolling/mac/scrollbars/scrollbar-state.html: * LayoutTests/fast/scrolling/mac/scrollbars/select-overlay-scrollbar-hovered.html: * LayoutTests/fast/scrolling/mac/scrollbars/select-overlay-scrollbar-reveal.html: * LayoutTests/fast/scrolling/mac/scrollbars/very-wide-overlay-scrollbar.html: * LayoutTests/resources/ui-helper.js: (window.UIHelper.async waitForConditionAsync): (window.UIHelper.scrollbarState.return.new.Promise.): (window.UIHelper.scrollbarState.return.new.Promise): (window.UIHelper.scrollbarState): (window.UIHelper.verticalScrollbarState): (window.UIHelper.horizontalScrollbarState): Canonical link: https://commits.webkit.org/262561@main ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] 715676: [UI-side compositing] Have RemoteLayerTreeScrollin...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 715676da19135f162e185afac74ea0d26c653ed8 https://github.com/WebKit/WebKit/commit/715676da19135f162e185afac74ea0d26c653ed8 Author: Nikolaos Mouchtaris Date: 2023-03-30 (Thu, 30 Mar 2023) Changed paths: M Source/WebKit/UIProcess/RemoteLayerTree/RemoteLayerTreeScrollingPerformanceData.mm M Source/WebKit/UIProcess/WebPageProxy.cpp M Source/WebKit/UIProcess/WebPageProxy.h Log Message: --- [UI-side compositing] Have RemoteLayerTreeScrollingPerformanceData log data after each event https://bugs.webkit.org/show_bug.cgi?id=254747 rdar://107424375 Reviewed by Simon Fraser. Have RemoteLayerTreeScrollingPerformanceData log data after each event to stop ScrollPerf from crashing due to no scrolling data. * Source/WebKit/UIProcess/RemoteLayerTree/RemoteLayerTreeScrollingPerformanceData.mm: (WebKit::RemoteLayerTreeScrollingPerformanceData::didCommitLayerTree): (WebKit::RemoteLayerTreeScrollingPerformanceData::didScroll): (WebKit::RemoteLayerTreeScrollingPerformanceData::didChangeSynchronousScrollingReasons): * Source/WebKit/UIProcess/WebPageProxy.cpp: (WebKit::WebPageProxy::close): (WebKit::WebPageProxy::logScrollingPerformanceData): Deleted. * Source/WebKit/UIProcess/WebPageProxy.h: Canonical link: https://commits.webkit.org/262378@main ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] ec1f7d: [UI-side compositing] Fix ScrollerMac::scrollbarState
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: ec1f7d407a9b847166182a58403f8c06737458f9 https://github.com/WebKit/WebKit/commit/ec1f7d407a9b847166182a58403f8c06737458f9 Author: Nikolaos Mouchtaris Date: 2023-03-29 (Wed, 29 Mar 2023) Changed paths: M Source/WebCore/page/scrolling/mac/ScrollerMac.mm Log Message: --- [UI-side compositing] Fix ScrollerMac::scrollbarState https://bugs.webkit.org/show_bug.cgi?id=254685 rdar://107384908 Reviewed by Simon Fraser. Have ScrollerMac::scrollbarState return none when we don't have a layer for this orientation. Also return early when we are not an overlay scrollbar. * Source/WebCore/page/scrolling/mac/ScrollerMac.mm: (WebCore::ScrollerMac::scrollbarState const): Canonical link: https://commits.webkit.org/262303@main ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] 3fb91e: [UI-side compositing] Fix for assert in scrollbar ...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 3fb91e2c59ba4db706f2ace5cf12bc71b3db9ddd https://github.com/WebKit/WebKit/commit/3fb91e2c59ba4db706f2ace5cf12bc71b3db9ddd Author: Nikolaos Mouchtaris Date: 2023-03-29 (Wed, 29 Mar 2023) Changed paths: M Source/WebCore/page/scrolling/mac/ScrollerMac.h M Source/WebCore/page/scrolling/mac/ScrollerMac.mm Log Message: --- [UI-side compositing] Fix for assert in scrollbar tests: scrollerImp == scroller->scrollerImp() https://bugs.webkit.org/show_bug.cgi?id=254678 rdar://107380404 Reviewed by Simon Fraser. We need to update the ScrollerPairMac for the new NSScrollerImps created in ScrollerMac::updateScrollbarStyle. * Source/WebCore/page/scrolling/mac/ScrollerMac.h: * Source/WebCore/page/scrolling/mac/ScrollerMac.mm: (WebCore::ScrollerMac::setHostLayer): (WebCore::ScrollerMac::updateScrollbarStyle): (WebCore::ScrollerMac::updatePairScrollerImps): Canonical link: https://commits.webkit.org/262301@main ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] d4f1d3: [UI-side compositing] Add logging for painting new...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: d4f1d3db3f612fc1283129792b44882a657f7fa5 https://github.com/WebKit/WebKit/commit/d4f1d3db3f612fc1283129792b44882a657f7fa5 Author: Nikolaos Mouchtaris Date: 2023-03-28 (Tue, 28 Mar 2023) Changed paths: M Source/WebCore/platform/graphics/ca/TileController.cpp M Source/WebCore/platform/graphics/ca/TileController.h M Source/WebKit/UIProcess/RemoteLayerTree/RemoteLayerTreeHost.h M Source/WebKit/UIProcess/RemoteLayerTree/RemoteLayerTreeNode.h M Source/WebKit/UIProcess/RemoteLayerTree/RemoteLayerTreeScrollingPerformanceData.h M Source/WebKit/UIProcess/RemoteLayerTree/RemoteLayerTreeScrollingPerformanceData.mm M Source/WebKit/UIProcess/RemoteLayerTree/RemoteScrollingCoordinatorProxy.cpp M Source/WebKit/UIProcess/RemoteLayerTree/RemoteScrollingCoordinatorProxy.h M Source/WebKit/UIProcess/RemoteLayerTree/mac/RemoteLayerTreeDrawingAreaProxyMac.mm M Source/WebKit/UIProcess/WebPageProxy.cpp M Source/WebKit/UIProcess/WebPageProxy.h M Source/WebKit/WebProcess/WebPage/RemoteLayerTree/PlatformCALayerRemoteTiledBacking.cpp Log Message: --- [UI-side compositing] Add logging for painting new tile for ScrollPerf https://bugs.webkit.org/show_bug.cgi?id=254050 rdar://106775893 Reviewed by Simon Fraser. Use iOS's RemoteLayerTreeScrollingPerformanceData to calculate blank tiles for new tile creation and scrolling. Log all of the accumulated log events when the WebPageProxy is closed. Also, disable the logging on TileController to prevent double logging new tile events in the web process by having PlatformCALayerRemoteTiledBacking set a bool. * Source/WebCore/page/scrolling/ScrollingTree.cpp: (WebCore::ScrollingTree::mainFrameScrollPosition const): * Source/WebCore/platform/graphics/ca/TileController.cpp: (WebCore::TileController::TileController): (WebCore::TileController::logFilledVisibleFreshTile): * Source/WebCore/platform/graphics/ca/TileController.h: * Source/WebCore/platform/graphics/ca/TileGrid.cpp: (WebCore::TileGrid::platformCALayerPaintContents): * Source/WebKit/Shared/RemoteLayerTree/RemoteLayerTreePropertyApplier.mm: (WebKit::gatherPlatformLayerList): (WebKit::RemoteLayerTreePropertyApplier::applyPropertiesToLayer): * Source/WebKit/UIProcess/RemoteLayerTree/RemoteLayerTreeDrawingAreaProxy.h: (WebKit::RemoteLayerTreeDrawingAreaProxy::lastViewportRect const): * Source/WebKit/UIProcess/RemoteLayerTree/RemoteLayerTreeDrawingAreaProxy.mm: (WebKit::RemoteLayerTreeDrawingAreaProxy::willCommitLayerTree): (WebKit::RemoteLayerTreeDrawingAreaProxy::setViewportRect): (WebKit::RemoteLayerTreeDrawingAreaProxy::commitLayerTree): * Source/WebKit/UIProcess/RemoteLayerTree/RemoteLayerTreeNode.h: (WebKit::RemoteLayerTreeNode::hadFirstPaint): * Source/WebKit/UIProcess/RemoteLayerTree/RemoteScrollingCoordinatorProxy.cpp: (WebKit::RemoteScrollingCoordinatorProxy::reportFilledVisibleFreshTile): (WebKit::RemoteScrollingCoordinatorProxy::setScrollingPerformanceTestingEnabled const): (WebKit::RemoteScrollingCoordinatorProxy::scrollingPerformanceTestingEnabled const): * Source/WebKit/UIProcess/RemoteLayerTree/RemoteScrollingCoordinatorProxy.h: Canonical link: https://commits.webkit.org/262258@main ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] f0a92c: [UI-side compositing] Have ScrollerPairMac::setScr...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: f0a92ce4e218659f9faaa992bd2b72fdbc9fb8b1 https://github.com/WebKit/WebKit/commit/f0a92ce4e218659f9faaa992bd2b72fdbc9fb8b1 Author: Nikolaos Mouchtaris Date: 2023-03-28 (Tue, 28 Mar 2023) Changed paths: M Source/WebCore/page/scrolling/mac/ScrollerMac.h M Source/WebCore/page/scrolling/mac/ScrollerMac.mm M Source/WebCore/page/scrolling/mac/ScrollerPairMac.mm Log Message: --- [UI-side compositing] Have ScrollerPairMac::setScrollbarStyle update the NSScrollerImp style https://bugs.webkit.org/show_bug.cgi?id=254619 rdar://107334257 Reviewed by Simon Fraser. Have ScrollerPairMac::setScrollbarStyle update the NSScrollerImps on the individual scroller classes. * Source/WebCore/page/scrolling/mac/ScrollerMac.h: * Source/WebCore/page/scrolling/mac/ScrollerMac.mm: (WebCore::ScrollerMac::updateScrollbarStyle): * Source/WebCore/page/scrolling/mac/ScrollerPairMac.mm: (WebCore::ScrollerPairMac::setScrollbarStyle): Canonical link: https://commits.webkit.org/262253@main ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] 9ca2fd: [UI-side compositing] Add helper function to ui-he...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 9ca2fd55c2269f40ef8d1f2b37c8b15cf1cdd434 https://github.com/WebKit/WebKit/commit/9ca2fd55c2269f40ef8d1f2b37c8b15cf1cdd434 Author: Nikolaos Mouchtaris Date: 2023-03-28 (Tue, 28 Mar 2023) Changed paths: M LayoutTests/resources/ui-helper.js Log Message: --- [UI-side compositing] Add helper function to ui-helper.js to get scrollbar state https://bugs.webkit.org/show_bug.cgi?id=254615 rdar://107332737 Reviewed by Wenson Hsieh and Simon Fraser. Add helper function to ui-helper.js to get scrollbar state. * LayoutTests/resources/ui-helper.js: (window.UIHelper.scrollbarState.return.new.Promise.): (window.UIHelper.scrollbarState.return.new.Promise): (window.UIHelper.scrollbarState): (window.UIHelper.verticalScrollbarState): (window.UIHelper.horizontalScrollbarState): Canonical link: https://commits.webkit.org/262246@main ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] 8ea93a: [UI-side compositing] Have internals.setUsesOverla...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 8ea93a3480fe79a7979111cb6935755eddca56bb https://github.com/WebKit/WebKit/commit/8ea93a3480fe79a7979111cb6935755eddca56bb Author: Nikolaos Mouchtaris Date: 2023-03-27 (Mon, 27 Mar 2023) Changed paths: M Source/WebCore/page/scrolling/AsyncScrollingCoordinator.cpp M Source/WebCore/page/scrolling/ScrollingStateFrameScrollingNode.cpp M Source/WebCore/page/scrolling/ScrollingStateFrameScrollingNode.h M Source/WebCore/page/scrolling/ScrollingStateNode.h M Source/WebCore/page/scrolling/ScrollingTree.cpp M Source/WebCore/page/scrolling/ScrollingTree.h M Source/WebKit/Shared/RemoteLayerTree/RemoteScrollingCoordinatorTransaction.cpp M Source/WebKit/Shared/WebCoreArgumentCoders.serialization.in M Source/WebKit/UIProcess/RemoteLayerTree/RemoteScrollingCoordinatorProxy.cpp M Source/WebKit/UIProcess/RemoteLayerTree/RemoteScrollingCoordinatorProxy.h M Source/WebKit/UIProcess/RemoteLayerTree/mac/RemoteLayerTreeDrawingAreaProxyMac.h M Source/WebKit/UIProcess/RemoteLayerTree/mac/RemoteLayerTreeDrawingAreaProxyMac.mm M Tools/WebKitTestRunner/mac/UIScriptControllerMac.h Log Message: --- [UI-side compositing] Have internals.setUsesOverlayScrollbars() plumb bit to UI process https://bugs.webkit.org/show_bug.cgi?id=254381 rdar://107161887 Reviewed by Simon Fraser. Add a bit on the frame node of the scrolling tree for overlay scrollbar state. * LayoutTests/fast/scrolling/mac/scrollbars/overflow-overlay-scrollbar-reveal.html: * Source/WebKit/UIProcess/API/mac/WKWebViewPrivateForTestingMac.h: * Source/WebKit/UIProcess/API/mac/WKWebViewTestingMac.mm: (-[WKWebView _setUsesOverlayScrollbars:]): * Source/WebKit/UIProcess/Cocoa/WebPageProxyCocoa.mm: (WebKit::WebPageProxy::setUsesOverlayScrollbars): * Source/WebKit/UIProcess/WebPageProxy.h: * Tools/TestRunnerShared/UIScriptContext/Bindings/UIScriptController.idl: * Tools/TestRunnerShared/UIScriptContext/UIScriptController.h: (WTR::UIScriptController::setUsesOverlayScrollbars const): * Tools/WebKitTestRunner/mac/UIScriptControllerMac.h: * Tools/WebKitTestRunner/mac/UIScriptControllerMac.mm: (WTR::UIScriptControllerMac::setUsesOverlayScrollbars const): Canonical link: https://commits.webkit.org/262186@main ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] 0b438d: [UI-side compositng] Use ScrollbarsController base...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 0b438d0d3534b730070191525a8a0508ccc633d2 https://github.com/WebKit/WebKit/commit/0b438d0d3534b730070191525a8a0508ccc633d2 Author: Nikolaos Mouchtaris Date: 2023-03-27 (Mon, 27 Mar 2023) Changed paths: M Source/WebCore/WebCore.xcodeproj/project.pbxproj M Source/WebCore/page/ChromeClient.cpp M Source/WebCore/page/ChromeClient.h M Source/WebCore/page/LocalFrameView.cpp M Source/WebCore/platform/ScrollableArea.cpp M Source/WebCore/platform/ScrollableArea.h M Source/WebCore/platform/ScrollbarsController.h M Source/WebCore/rendering/RenderLayerScrollableArea.cpp M Source/WebKit/WebProcess/WebCoreSupport/WebChromeClient.cpp M Source/WebKit/WebProcess/WebCoreSupport/WebChromeClient.h Log Message: --- [UI-side compositng] Use ScrollbarsController base class to avoid NSScrollerImp usage https://bugs.webkit.org/show_bug.cgi?id=253684 rdar://106531543 Reviewed by Simon Fraser. Have FrameView and RenderLayerScrollable area hold a base class ScrollbarsController to avoid having NSScrollerImps in the WebProcess. * Source/WebCore/SourcesCocoa.txt: * Source/WebCore/WebCore.xcodeproj/project.pbxproj: * Source/WebCore/page/ChromeClient.h: (WebCore::ChromeClient::usesUISideCompositing const): * Source/WebCore/page/FrameView.cpp: (WebCore::FrameView::didAddScrollbar): * Source/WebCore/page/FrameView.h: * Source/WebCore/platform/ScrollableArea.cpp: (WebCore::ScrollableArea::scrollbarsController const): (WebCore::ScrollableArea::didAddScrollbar): * Source/WebCore/platform/ScrollableArea.h: * Source/WebCore/platform/ScrollbarsController.h: * Source/WebCore/platform/mac/ScrollbarsControllerProxyMac.h: Added. * Source/WebCore/platform/mac/ScrollbarsControllerProxyMac.mm: Added. (WebCore::ScrollbarsController::createProxy): (WebCore::ScrollbarsControllerProxyMac::ScrollbarsControllerProxyMac): (WebCore::ScrollbarsControllerProxyMac::~ScrollbarsControllerProxyMac): * Source/WebCore/rendering/RenderLayerScrollableArea.cpp: (WebCore::RenderLayerScrollableArea::createScrollbar): * Source/WebKit/WebProcess/WebCoreSupport/WebChromeClient.cpp: (WebKit::WebChromeClient::usesUISideCompositing const): * Source/WebKit/WebProcess/WebCoreSupport/WebChromeClient.h: Canonical link: https://commits.webkit.org/262176@main ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] e0dffb: Add test function to expose if in UI-side composit...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: e0dffb1d363adaafa15acaadff7272d3af1d62a4 https://github.com/WebKit/WebKit/commit/e0dffb1d363adaafa15acaadff7272d3af1d62a4 Author: Nikolaos Mouchtaris Date: 2023-03-26 (Sun, 26 Mar 2023) Changed paths: A LayoutTests/fast/scrolling/ios/ui-side-compositing-check-expected.txt A LayoutTests/fast/scrolling/ios/ui-side-compositing-check.html M Source/WebCore/page/ChromeClient.h M Source/WebCore/testing/Internals.cpp M Source/WebCore/testing/Internals.h M Source/WebCore/testing/Internals.idl M Source/WebKit/WebProcess/WebCoreSupport/WebChromeClient.cpp M Source/WebKit/WebProcess/WebCoreSupport/WebChromeClient.h Log Message: --- Add test function to expose if in UI-side compositing mode https://bugs.webkit.org/show_bug.cgi?id=254288 rdar://107078044 Reviewed by Simon Fraser. Add test function to expose if in UI-side compositing mode. * LayoutTests/fast/scrolling/ios/ui-side-compositing-check-expected.txt: Added. * LayoutTests/fast/scrolling/ios/ui-side-compositing-check.html: Added. * Source/WebCore/page/ChromeClient.h: (WebCore::ChromeClient::isUsingUISideCompositing const): * Source/WebCore/testing/Internals.cpp: (WebCore::Internals::isUsingUISideCompositing const): * Source/WebCore/testing/Internals.h: * Source/WebCore/testing/Internals.idl: * Source/WebKit/WebProcess/WebCoreSupport/WebChromeClient.cpp: (WebKit::WebChromeClient::isUsingUISideCompositing const): * Source/WebKit/WebProcess/WebCoreSupport/WebChromeClient.h: Canonical link: https://commits.webkit.org/262130@main ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] b0a888: REGRESSION(261977@main): TestWebKitAPI.ProcessSwap...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: b0a016324e0191a3569a7f65624b3d0a4b89 https://github.com/WebKit/WebKit/commit/b0a016324e0191a3569a7f65624b3d0a4b89 Author: Nikolaos Mouchtaris Date: 2023-03-24 (Fri, 24 Mar 2023) Changed paths: M Source/WebKit/UIProcess/RemoteLayerTree/RemoteLayerTreeDrawingAreaProxy.mm M Source/WebKit/UIProcess/RemoteLayerTree/RemoteScrollingCoordinatorProxy.cpp Log Message: --- REGRESSION(261977@main): TestWebKitAPI.ProcessSwap.ResizeWebViewDuringCrossSiteProvisionalNavigation is a constant crash https://bugs.webkit.org/show_bug.cgi?id=254378 rdar://107161569 Reviewed by Simon Fraser. Add null checks for ScrollingCoordinator and ScrollingTree. * Source/WebKit/UIProcess/RemoteLayerTree/RemoteLayerTreeDrawingAreaProxy.mm: (WebKit::RemoteLayerTreeDrawingAreaProxy::sizeDidChange): (WebKit::RemoteLayerTreeDrawingAreaProxy::viewWillStartLiveResize): (WebKit::RemoteLayerTreeDrawingAreaProxy::viewWillEndLiveResize): * Source/WebKit/UIProcess/RemoteLayerTree/RemoteScrollingCoordinatorProxy.cpp: (WebKit::RemoteScrollingCoordinatorProxy::viewWillStartLiveResize): (WebKit::RemoteScrollingCoordinatorProxy::viewWillEndLiveResize): (WebKit::RemoteScrollingCoordinatorProxy::viewSizeDidChange): Canonical link: https://commits.webkit.org/262099@main ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] 0d254e: [UI-side compositing] Add infrastructure to get sc...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 0d254e93fc60fdfa8b1d64540af11826969c31c6 https://github.com/WebKit/WebKit/commit/0d254e93fc60fdfa8b1d64540af11826969c31c6 Author: Nikolaos Mouchtaris Date: 2023-03-24 (Fri, 24 Mar 2023) Changed paths: M Source/WebCore/page/scrolling/ScrollingTreeScrollingNode.h M Source/WebCore/page/scrolling/ScrollingTreeScrollingNodeDelegate.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/page/scrolling/mac/ScrollerPairMac.mm M Source/WebCore/page/scrolling/mac/ScrollingTreeScrollingNodeDelegateMac.h M Source/WebCore/page/scrolling/mac/ScrollingTreeScrollingNodeDelegateMac.mm M Source/WebCore/testing/Internals.cpp M Source/WebCore/testing/Internals.h M Source/WebCore/testing/Internals.idl M Source/WebKit/UIProcess/API/Cocoa/WKWebViewPrivateForTesting.h M Source/WebKit/UIProcess/API/Cocoa/WKWebViewTesting.mm M Source/WebKit/UIProcess/RemoteLayerTree/RemoteScrollingCoordinatorProxy.cpp M Source/WebKit/UIProcess/RemoteLayerTree/RemoteScrollingCoordinatorProxy.h M Source/WebKit/UIProcess/RemoteLayerTree/mac/ScrollingTreeFrameScrollingNodeRemoteMac.cpp M Source/WebKit/UIProcess/RemoteLayerTree/mac/ScrollingTreeFrameScrollingNodeRemoteMac.h M Source/WebKit/UIProcess/RemoteLayerTree/mac/ScrollingTreeOverflowScrollingNodeRemoteMac.cpp M Source/WebKit/UIProcess/RemoteLayerTree/mac/ScrollingTreeOverflowScrollingNodeRemoteMac.h M Source/WebKit/UIProcess/WebPageProxy.cpp M Source/WebKit/UIProcess/WebPageProxy.h 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: --- [UI-side compositing] Add infrastructure to get scrollbar state in layout tests https://bugs.webkit.org/show_bug.cgi?id=254372 rdar://107154212 Reviewed by Simon Fraser. Add UI-script controller function for getting scrollbar state for a scrolling tree node id. Add an internals function for getting the scrolling tree node id from a node. * LayoutTests/fast/scrolling/mac/scrollbars/overflow-overlay-scrollbar-reveal.html: * Source/WebCore/page/scrolling/ScrollingTreeScrollingNode.h: * Source/WebCore/page/scrolling/ScrollingTreeScrollingNodeDelegate.h: (WebCore::ScrollingTreeScrollingNodeDelegate::scrollbarStateForOrientation const): * Source/WebCore/page/scrolling/mac/ScrollerMac.h: * Source/WebCore/page/scrolling/mac/ScrollerMac.mm: (WebCore::ScrollerMac::scrollbarState const): * Source/WebCore/page/scrolling/mac/ScrollerPairMac.h: * Source/WebCore/page/scrolling/mac/ScrollerPairMac.mm: (WebCore::ScrollerPairMac::scrollbarStateForOrientation const): * Source/WebCore/page/scrolling/mac/ScrollingTreeScrollingNodeDelegateMac.h: * Source/WebCore/page/scrolling/mac/ScrollingTreeScrollingNodeDelegateMac.mm: (WebCore::ScrollingTreeScrollingNodeDelegateMac::scrollbarStateForOrientation const): * Source/WebCore/testing/Internals.cpp: (WebCore::Internals::scrollingNodeIDForNode): * Source/WebCore/testing/Internals.h: * Source/WebCore/testing/Internals.idl: * Source/WebKit/UIProcess/API/Cocoa/WKWebViewPrivateForTesting.h: * Source/WebKit/UIProcess/API/Cocoa/WKWebViewTesting.mm: (-[WKWebView _scrollbarStateForScrollingNodeID:isVertical:]): * Source/WebKit/UIProcess/RemoteLayerTree/RemoteScrollingCoordinatorProxy.cpp: (WebKit::RemoteScrollingCoordinatorProxy::scrollbarStateForScrollingNodeID): * Source/WebKit/UIProcess/RemoteLayerTree/RemoteScrollingCoordinatorProxy.h: * Source/WebKit/UIProcess/RemoteLayerTree/mac/ScrollingTreeFrameScrollingNodeRemoteMac.cpp: (WebKit::ScrollingTreeFrameScrollingNodeRemoteMac::scrollbarStateForOrientation const): * Source/WebKit/UIProcess/RemoteLayerTree/mac/ScrollingTreeFrameScrollingNodeRemoteMac.h: * Source/WebKit/UIProcess/RemoteLayerTree/mac/ScrollingTreeOverflowScrollingNodeRemoteMac.cpp: (WebKit::ScrollingTreeOverflowScrollingNodeRemoteMac::scrollbarStateForOrientation const): * Source/WebKit/UIProcess/RemoteLayerTree/mac/ScrollingTreeOverflowScrollingNodeRemoteMac.h: * Source/WebKit/UIProcess/WebPageProxy.cpp: (WebKit::WebPageProxy::scrollbarStateForScrollingNodeID): * Source/WebKit/UIProcess/WebPageProxy.h: * 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/262082@main ___
[webkit-changes] [WebKit/WebKit] 9389cc: [UI-side compositing] Resizing window doesn't caus...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 9389cc84fa302b8971ba56ab28396eb79eb33202 https://github.com/WebKit/WebKit/commit/9389cc84fa302b8971ba56ab28396eb79eb33202 Author: Nikolaos Mouchtaris Date: 2023-03-22 (Wed, 22 Mar 2023) Changed paths: M Source/WebCore/page/scrolling/ScrollingTree.cpp M Source/WebCore/page/scrolling/ScrollingTree.h M Source/WebCore/page/scrolling/ScrollingTreeFrameScrollingNode.h M Source/WebCore/page/scrolling/ScrollingTreeScrollingNodeDelegate.h M Source/WebCore/page/scrolling/mac/ScrollerPairMac.h M Source/WebCore/page/scrolling/mac/ScrollerPairMac.mm M Source/WebCore/page/scrolling/mac/ScrollingTreeScrollingNodeDelegateMac.h M Source/WebCore/page/scrolling/mac/ScrollingTreeScrollingNodeDelegateMac.mm M Source/WebKit/UIProcess/DrawingAreaProxy.h 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/mac/ScrollingTreeFrameScrollingNodeRemoteMac.cpp M Source/WebKit/UIProcess/RemoteLayerTree/mac/ScrollingTreeFrameScrollingNodeRemoteMac.h M Source/WebKit/UIProcess/WebPageProxy.cpp Log Message: --- [UI-side compositing] Resizing window doesn't cause scrollbars to show/change size https://bugs.webkit.org/show_bug.cgi?id=253739 rdar://106385267 Reviewed by Simon Fraser. Hook up ScrollerMac to UI-process resize events so that scrollbars dynamically resize when resizing window. We should also consider subclassing ScrollerMac under ScrollbarsControllerMac so we dont duplicate this NScrollerImp interaction code. * Source/WebCore/page/scrolling/ScrollingTree.cpp: (WebCore::ScrollingTree::viewWillStartLiveResize): (WebCore::ScrollingTree::viewWillEndLiveResize): (WebCore::ScrollingTree::contentsSizeChanged): * Source/WebCore/page/scrolling/ScrollingTree.h: * Source/WebCore/page/scrolling/ScrollingTreeFrameScrollingNode.h: * Source/WebCore/page/scrolling/ScrollingTreeScrollingNodeDelegate.h: (WebCore::ScrollingTreeScrollingNodeDelegate::viewWillStartLiveResize): (WebCore::ScrollingTreeScrollingNodeDelegate::viewWillEndLiveResize): (WebCore::ScrollingTreeScrollingNodeDelegate::contentsSizeChanged): * Source/WebCore/page/scrolling/mac/ScrollerPairMac.h: * Source/WebCore/page/scrolling/mac/ScrollerPairMac.mm: (WebCore::ScrollerPairMac::viewWillStartLiveResize): (WebCore::ScrollerPairMac::viewWillEndLiveResize): (WebCore::ScrollerPairMac::contentsSizeChanged): * Source/WebCore/page/scrolling/mac/ScrollingTreeScrollingNodeDelegateMac.h: * Source/WebCore/page/scrolling/mac/ScrollingTreeScrollingNodeDelegateMac.mm: (WebCore::ScrollingTreeScrollingNodeDelegateMac::ScrollingTreeScrollingNodeDelegateMac): (WebCore::ScrollingTreeScrollingNodeDelegateMac::updateFromStateNode): (WebCore::ScrollingTreeScrollingNodeDelegateMac::handleWheelEvent): (WebCore::ScrollingTreeScrollingNodeDelegateMac::scrollPositionIsNotRubberbandingEdge const): (WebCore::ScrollingTreeScrollingNodeDelegateMac::allowsHorizontalStretching const): (WebCore::ScrollingTreeScrollingNodeDelegateMac::allowsVerticalStretching const): (WebCore::ScrollingTreeScrollingNodeDelegateMac::stretchAmount const): (WebCore::ScrollingTreeScrollingNodeDelegateMac::isPinnedOnSide const): (WebCore::ScrollingTreeScrollingNodeDelegateMac::shouldRubberBandOnSide const): (WebCore::ScrollingTreeScrollingNodeDelegateMac::updateScrollbarPainters): (WebCore::ScrollingTreeScrollingNodeDelegateMac::viewWillStartLiveResize): (WebCore::ScrollingTreeScrollingNodeDelegateMac::viewWillEndLiveResize): (WebCore::ScrollingTreeScrollingNodeDelegateMac::contentsSizeChanged): * Source/WebKit/UIProcess/RemoteLayerTree/RemoteLayerTreeDrawingAreaProxy.mm: (WebKit::RemoteLayerTreeDrawingAreaProxy::sizeDidChange): * Source/WebKit/UIProcess/RemoteLayerTree/RemoteScrollingCoordinatorProxy.cpp: (WebKit::RemoteScrollingCoordinatorProxy::viewWillStartLiveResize): (WebKit::RemoteScrollingCoordinatorProxy::viewWillEndLiveResize): (WebKit::RemoteScrollingCoordinatorProxy::contentsSizeChanged): * Source/WebKit/UIProcess/RemoteLayerTree/RemoteScrollingCoordinatorProxy.h: * Source/WebKit/UIProcess/RemoteLayerTree/mac/ScrollingTreeFrameScrollingNodeRemoteMac.cpp: (WebKit::ScrollingTreeFrameScrollingNodeRemoteMac::viewWillStartLiveResize): (WebKit::ScrollingTreeFrameScrollingNodeRemoteMac::viewWillEndLiveResize): (WebKit::ScrollingTreeFrameScrollingNodeRemoteMac::contentsSizeChanged): * Source/WebKit/UIProcess/RemoteLayerTree/mac/ScrollingTreeFrameScrollingNodeRemoteMac.h: * Source/WebKit/UIProcess/WebPageProxy.cpp: (WebKit::WebPageProxy::viewWillStartLiveResize): (WebKit::WebPageProxy::viewWillEndLiveResize): (WebKit::WebPageProxy::contentsSizeChanged): *
[webkit-changes] [WebKit/WebKit] ea0d87: REGRESSION: [UI-side compositing] MiniBrowser hang...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: ea0d87c3bc05c904413201d103925f74548c472c https://github.com/WebKit/WebKit/commit/ea0d87c3bc05c904413201d103925f74548c472c Author: Nikolaos Mouchtaris Date: 2023-03-16 (Thu, 16 Mar 2023) Changed paths: M Source/WebCore/page/scrolling/mac/ScrollerMac.mm M Source/WebCore/page/scrolling/mac/ScrollerPairMac.h Log Message: --- REGRESSION: [UI-side compositing] MiniBrowser hangs on launch https://bugs.webkit.org/show_bug.cgi?id=254051 rdar://106832318 Reviewed by Simon Fraser. ScrollerMac::attach holding a lock causes a deadlock when called by ScrollerPairMac::init. * Source/WebCore/page/scrolling/mac/ScrollerMac.h: * Source/WebCore/page/scrolling/mac/ScrollerMac.mm: (WebCore::ScrollerMac::attach): * Source/WebCore/page/scrolling/mac/ScrollerPairMac.h: (WebCore::ScrollerPairMac::scrollerImpPair): (WebCore::ScrollerPairMac::WTF_REQUIRES_LOCK): Deleted. Canonical link: https://commits.webkit.org/261780@main ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] c936c6: [UI-side compositing] Add lock for accessing NSScr...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: c936c69128b0cb246f8faa4b7cbebd522c987dc1 https://github.com/WebKit/WebKit/commit/c936c69128b0cb246f8faa4b7cbebd522c987dc1 Author: Nikolaos Mouchtaris Date: 2023-03-16 (Thu, 16 Mar 2023) Changed paths: M Source/WebCore/page/scrolling/mac/ScrollerMac.mm M Source/WebCore/page/scrolling/mac/ScrollerPairMac.h M Source/WebCore/page/scrolling/mac/ScrollerPairMac.mm Log Message: --- [UI-side compositing] Add lock for accessing NSScrollerImpPair in ScrollerPairMac https://bugs.webkit.org/show_bug.cgi?id=253984 rdar://106652775 Reviewed by Simon Fraser. Add locks for use when accessing the NSScrollerImpPair on ScrollerPairMac since NSScrollerImpPair is not thread safe. * Source/WebCore/page/scrolling/mac/ScrollerMac.mm: (WebCore::ScrollerMac::attach): (WebCore::ScrollerMac::setHostLayer): * Source/WebCore/page/scrolling/mac/ScrollerPairMac.h: (WebCore::ScrollerPairMac::WTF_REQUIRES_LOCK): (WebCore::ScrollerPairMac::WTF_RETURNS_LOCK): (WebCore::ScrollerPairMac::scrollerImpPair): Deleted. * Source/WebCore/page/scrolling/mac/ScrollerPairMac.mm: (WebCore::ScrollerPairMac::init): (WebCore::ScrollerPairMac::~ScrollerPairMac): (WebCore::ScrollerPairMac::handleWheelEventPhase): (WebCore::ScrollerPairMac::handleMouseEvent): (WebCore::ScrollerPairMac::updateValues): Canonical link: https://commits.webkit.org/261759@main ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] bf3c4d: [UI-side compositing] Fix dynamicDowncast in Remot...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: bf3c4d5c6bec139ce26eead37cd85343379130d0 https://github.com/WebKit/WebKit/commit/bf3c4d5c6bec139ce26eead37cd85343379130d0 Author: Nikolaos Mouchtaris Date: 2023-03-09 (Thu, 09 Mar 2023) Changed paths: M Source/WebKit/UIProcess/RemoteLayerTree/mac/RemoteScrollingTreeMac.mm Log Message: --- [UI-side compositing] Fix dynamicDowncast in RemoteScrollingTreeMac::handleWheelEventPhase https://bugs.webkit.org/show_bug.cgi?id=253583 rdar://106420122 Reviewed by Simon Fraser. Fix dynamicDowncast in RemoteScrollingTreeMac::handleWheelEventPhase. * Source/WebKit/UIProcess/RemoteLayerTree/mac/RemoteScrollingTreeMac.mm: (WebKit::RemoteScrollingTreeMac::handleWheelEventPhase): Canonical link: https://commits.webkit.org/261452@main ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes