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

Reply via email to