[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