[webkit-changes] [WebKit/WebKit] 31e762: REGRESSION (261597 at main): [UI-side compositing] Ma...

Simon Fraser noreply at github.com
Thu Mar 16 14:01:47 PDT 2023


  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 31e7627fb5554f0814f16edd24dac3a81b93c063
      https://github.com/WebKit/WebKit/commit/31e7627fb5554f0814f16edd24dac3a81b93c063
  Author: Simon Fraser <simon.fraser at apple.com>
  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 at 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




More information about the webkit-changes mailing list