Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: 696fd484d40fb67e77715d29e01e431c51f5ffe7
https://github.com/WebKit/WebKit/commit/696fd484d40fb67e77715d29e01e431c51f5ffe7
Author: Lily Spiniolas <[email protected]>
Date: 2026-02-25 (Wed, 25 Feb 2026)
Changed paths:
M Source/WebCore/page/scrolling/ScrollingTree.h
M Source/WebCore/page/scrolling/mac/ScrollingTreeFrameScrollingNodeMac.h
M Source/WebCore/page/scrolling/mac/ScrollingTreeFrameScrollingNodeMac.mm
M Source/WebCore/page/scrolling/mac/ScrollingTreeScrollingNodeDelegateMac.h
M Source/WebCore/page/scrolling/mac/ScrollingTreeScrollingNodeDelegateMac.mm
M Source/WebCore/platform/RubberbandingState.h
M Source/WebCore/platform/ScrollingEffectsController.h
M Source/WebCore/platform/mac/ScrollingEffectsController.mm
M
Source/WebKit/UIProcess/RemoteLayerTree/RemoteScrollingCoordinatorProxy.cpp
M Source/WebKit/UIProcess/RemoteLayerTree/mac/RemoteScrollingTreeMac.h
M Source/WebKit/UIProcess/RemoteLayerTree/mac/RemoteScrollingTreeMac.mm
Log Message:
-----------
Scroll rubberbanding may fail to reveal banner view overlay
https://bugs.webkit.org/show_bug.cgi?id=308358
rdar://170860262
Reviewed by Abrar Rahman Protyasha.
When a banner view overlay is present and increases in height,
we should rubberband to the new offset, not back to 0. Doing this
universally can lead to unexpected scrolling behavior, so for now,
gate this behavior so that it only works if a rubberband animation
is already occuring.
* Source/WebCore/page/scrolling/ScrollingTree.h:
(WebCore::ScrollingTree::mainFrameRubberBandTargetOffsetDidChange):
* Source/WebCore/page/scrolling/mac/ScrollingTreeFrameScrollingNodeMac.h:
* Source/WebCore/page/scrolling/mac/ScrollingTreeFrameScrollingNodeMac.mm:
(WebCore::ScrollingTreeFrameScrollingNodeMac::rubberBandTargetOffsetDidChange):
* Source/WebCore/page/scrolling/mac/ScrollingTreeScrollingNodeDelegateMac.h:
* Source/WebCore/page/scrolling/mac/ScrollingTreeScrollingNodeDelegateMac.mm:
(WebCore::ScrollingTreeScrollingNodeDelegateMac::rubberBandTargetOffsetDidChange):
* Source/WebCore/platform/RubberbandingState.h:
* Source/WebCore/platform/ScrollingEffectsController.h:
* Source/WebCore/platform/mac/ScrollingEffectsController.mm:
(WebCore::ScrollingEffectsController::startRubberBandAnimationWithElapsedTime):
(WebCore::ScrollingEffectsController::rubberBandTargetOffsetDidChange):
(WebCore::ScrollingEffectsController::captureRubberbandingState const):
(WebCore::ScrollingEffectsController::restoreRubberbandingState):
* Source/WebKit/UIProcess/RemoteLayerTree/RemoteScrollingCoordinatorProxy.cpp:
(WebKit::RemoteScrollingCoordinatorProxy::setBannerViewHeight):
* Source/WebKit/UIProcess/RemoteLayerTree/mac/RemoteScrollingTreeMac.h:
* Source/WebKit/UIProcess/RemoteLayerTree/mac/RemoteScrollingTreeMac.mm:
(WebKit::RemoteScrollingTreeMac::mainFrameRubberBandTargetOffsetDidChange):
Canonical link: https://commits.webkit.org/308223@main
To unsubscribe from these emails, change your notification settings at
https://github.com/WebKit/WebKit/settings/notifications