[webkit-changes] [WebKit/WebKit] 923ed5: hideContentUntilPendingUpdate callbacks can be pro...

mattwoodrow noreply at github.com
Mon Nov 13 14:35:08 PST 2023


  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 923ed5177ec09a0a5a1e5d9c8a3f40e5cb1c1a9f
      https://github.com/WebKit/WebKit/commit/923ed5177ec09a0a5a1e5d9c8a3f40e5cb1c1a9f
  Author: Matt Woodrow <mattwoodrow at apple.com>
  Date:   2023-11-13 (Mon, 13 Nov 2023)

  Changed paths:
    M Source/WebKit/UIProcess/RemoteLayerTree/RemoteLayerTreeDrawingAreaProxy.mm

  Log Message:
  -----------
  hideContentUntilPendingUpdate callbacks can be processed too late after the transaction and cause flickering.
https://bugs.webkit.org/show_bug.cgi?id=264531
<rdar://118083889>

Reviewed by Tim Horton.

The callbacks for DispatchAfterEnsuringDrawing get processed at the end of the transaction, after we've already told
the client that we've committed the transaction. In some cases, this can cause them to be included as a separate CA
commit, and cause flickering.

This adds a pre-transaction check for a callback for hideContentUntilPendingUpdate, and clears the reply id, so that we
re-attach the root layer as part of the main commit.

* Source/WebKit/UIProcess/RemoteLayerTree/RemoteLayerTreeDrawingAreaProxy.mm:
(WebKit::RemoteLayerTreeDrawingAreaProxy::commitLayerTreeTransaction):
(WebKit::RemoteLayerTreeDrawingAreaProxy::hideContentUntilPendingUpdate):

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




More information about the webkit-changes mailing list