[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