[webkit-changes] [WebKit/WebKit] c715f8: UI-side compositing: Weather.com background lags w...
mattwoodrow
noreply at github.com
Tue Apr 4 15:49:39 PDT 2023
Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: c715f8457e17f33828e54d5b7f18421fa8c9e651
https://github.com/WebKit/WebKit/commit/c715f8457e17f33828e54d5b7f18421fa8c9e651
Author: Matt Woodrow <mattwoodrow at apple.com>
Date: 2023-04-04 (Tue, 04 Apr 2023)
Changed paths:
M Source/WebKit/UIProcess/RemoteLayerTree/RemoteScrollingTree.cpp
M Source/WebKit/UIProcess/RemoteLayerTree/RemoteScrollingTree.h
M Source/WebKit/UIProcess/RemoteLayerTree/mac/RemoteLayerTreeEventDispatcher.cpp
Log Message:
-----------
UI-side compositing: Weather.com background lags when scrolling.
https://bugs.webkit.org/show_bug.cgi?id=254998
<rdar://104436838>
Reviewed by Simon Fraser.
Implements propagateSynchronousScrollingReasons on RemoteScrollingTree, and stores whether
any synchronous scrolling nodes were present.
Adds tryToApplyLayerPositions, which only applies layer positions if there are no synchronous
scrolling nodes (and uses a single lock for both the check and the apply).
Converts RemoteLayerTreeEventDispatcher to use tryToApplyLayerPositions so that we no longer
scroll asynchronously if there are nodes in the scroll tree which don't support it.
* Source/WebKit/UIProcess/RemoteLayerTree/RemoteScrollingTree.cpp:
(WebKit::RemoteScrollingTree::propagateSynchronousScrollingReasons):
(WebKit::RemoteScrollingTree::tryToApplyLayerPositions):
* Source/WebKit/UIProcess/RemoteLayerTree/RemoteScrollingTree.h:
(WebKit::RemoteScrollingTree::WTF_GUARDED_BY_LOCK):
* Source/WebKit/UIProcess/RemoteLayerTree/mac/RemoteLayerTreeEventDispatcher.cpp:
(WebKit::RemoteLayerTreeEventDispatcher::didRefreshDisplay):
(WebKit::RemoteLayerTreeEventDispatcher::delayedRenderingUpdateDetectionTimerFired):
(WebKit::RemoteLayerTreeEventDispatcher::waitForRenderingUpdateCompletionOrTimeout):
Canonical link: https://commits.webkit.org/262596@main
More information about the webkit-changes
mailing list