[webkit-changes] [WebKit/WebKit] 3b443f: [UI-side compositing] Banners on reddit.com flicker

Richard Robinson noreply at github.com
Tue Mar 28 22:33:50 PDT 2023


  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 3b443fc4dfc0c82fdfc5b03256ee52bc5360259d
      https://github.com/WebKit/WebKit/commit/3b443fc4dfc0c82fdfc5b03256ee52bc5360259d
  Author: Richard Robinson <richard_robinson2 at apple.com>
  Date:   2023-03-28 (Tue, 28 Mar 2023)

  Changed paths:
    M Source/WebKit/UIProcess/RemoteLayerTree/RemoteScrollingCoordinatorProxy.cpp

  Log Message:
  -----------
  [UI-side compositing] Banners on reddit.com flicker
https://bugs.webkit.org/show_bug.cgi?id=254644
rdar://104192825

Reviewed by Simon Fraser.

With UI-side compositing enabled, the `m_needsApplyLayerPositionsAfterCommit` flag has yet to be
properly hooked up, causing it to always be `false`. As a result, `ScrollingTree::applyLayerPositionsAfterCommit`
did not actually do anything.

The flickering is because the `fixed` element's layer position is never properly updated, since the
function that would have done that, `ScrollingTree::applyLayerPositions`, is never actually called
from within `ScrollingTree::applyLayerPositionsAfterCommit` due to the reasons mentioned above.

This PR fixes this temporarily by making sure the flag is always set so that `ScrollingTree::applyLayerPositions`
is called properly. Once UI-side compositing scrolling synchronization is implemented, the flag
will be set in a more appropriate place.

* Source/WebKit/UIProcess/RemoteLayerTree/RemoteScrollingCoordinatorProxy.cpp:
(WebKit::RemoteScrollingCoordinatorProxy::applyScrollingTreeLayerPositionsAfterCommit):

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




More information about the webkit-changes mailing list