Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 31e7627fb5554f0814f16edd24dac3a81b93c063
      
https://github.com/WebKit/WebKit/commit/31e7627fb5554f0814f16edd24dac3a81b93c063
  Author: Simon Fraser <[email protected]>
  Date:   2023-03-16 (Thu, 16 Mar 2023)

  Changed paths:
    M Source/WebCore/page/scrolling/ScrollingTree.cpp
    M 
Source/WebKit/UIProcess/RemoteLayerTree/mac/RemoteLayerTreeDrawingAreaProxyMac.mm

  Log Message:
  -----------
  REGRESSION (261597@main): [UI-side compositing] Many layout tests crash in 
RemoteScrollingCoordinatorProxy::topContentInset()
https://bugs.webkit.org/show_bug.cgi?id=253993
rdar://106780096

Reviewed by Said Abou-Hallawa.

Some tests disable async scrolling with `[ useThreadedScrolling=false ]`, in 
which case we have no ScrollingCoordinator
in the web process. In this scenario we get a RemoteLayerTreeTransaction in the 
UI process with no scrolling tree,
so RemoteScrollingCoordinatorProxy::m_scrollingTree has no root node, so 
null-check it in `mainFrameTopContentInset()`
and `mainFrameScrollPosition()`.

Also refactor layoutBannerLayers() a little to avoid doing work when there are 
no banners.

* Source/WebCore/page/scrolling/ScrollingTree.cpp:
(WebCore::ScrollingTree::mainFrameTopContentInset const):
(WebCore::ScrollingTree::mainFrameScrollPosition const):
* 
Source/WebKit/UIProcess/RemoteLayerTree/mac/RemoteLayerTreeDrawingAreaProxyMac.mm:
(WebKit::RemoteLayerTreeDrawingAreaProxyMac::layoutBannerLayers):

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


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

Reply via email to