Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: d1ac2b0c842b877514d0109437565162ebf7272b
      
https://github.com/WebKit/WebKit/commit/d1ac2b0c842b877514d0109437565162ebf7272b
  Author: Nikolaos Mouchtaris <[email protected]>
  Date:   2023-03-04 (Sat, 04 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/WebKit/UIProcess/RemoteLayerTree/RemoteScrollingCoordinatorProxy.cpp
    M Source/WebKit/UIProcess/RemoteLayerTree/RemoteScrollingCoordinatorProxy.h
    M 
Source/WebKit/UIProcess/RemoteLayerTree/mac/RemoteLayerTreeDrawingAreaProxyMac.mm
    M 
Source/WebKit/UIProcess/RemoteLayerTree/mac/RemoteScrollingCoordinatorProxyMac.h
    M 
Source/WebKit/UIProcess/RemoteLayerTree/mac/RemoteScrollingCoordinatorProxyMac.mm
    M Source/WebKit/WebProcess/WebPage/mac/RemoteLayerTreeDrawingAreaMac.mm
    M Source/WebKit/WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm

  Log Message:
  -----------
  [UI-side compositing] Have pinch zoom constrain zoom origin in 
commitTransientZoom
https://bugs.webkit.org/show_bug.cgi?id=252345
rdar://105515035

Reviewed by Simon Fraser.

Mirror TiledCoreAnimationDrawingArea code by constraining the zoom origin to 
prevent
view jumping after commiting a zoom in certain scenarios. We do this by querying
the root frame scrolling node about certain state to pass to the ScrollableArea
static function constrainScrollPositionForOverhang(). We also pass this 
constrained
origin to the WebProcess. We also add several functions to ScrollingTree and
RemoteScrollingCoordinatorProxy to retreive root node state while holding the 
tree
lock. It was also necessary to change ScrollingTree::mainFrameScrollPosition to 
use
the root node's scroll position rather than mainFrameScrollPosition since that
member does not appear to be updated with UI-side compositing on.

* Source/WebCore/page/scrolling/ScrollingTreeFrameScrollingNode.h:
* 
Source/WebKit/UIProcess/RemoteLayerTree/mac/RemoteLayerTreeDrawingAreaProxyMac.mm:
(WebKit::RemoteLayerTreeDrawingAreaProxyMac::commitTransientZoom):
* Source/WebKit/WebProcess/WebPage/mac/RemoteLayerTreeDrawingAreaMac.mm:
(WebKit::RemoteLayerTreeDrawingAreaMac::commitTransientZoom):

Canonical link: https://commits.webkit.org/261226@main


_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to