Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 0e347d3bd4afbe1b11ea2e18d3f23b1291bc968b
      
https://github.com/WebKit/WebKit/commit/0e347d3bd4afbe1b11ea2e18d3f23b1291bc968b
  Author: Matt Woodrow <[email protected]>
  Date:   2025-11-13 (Thu, 13 Nov 2025)

  Changed paths:
    M Source/WTF/Scripts/Preferences/UnifiedWebPreferences.yaml
    M Source/WTF/wtf/PlatformEnable.h
    M Source/WebKit/Shared/WebPreferencesDefaultValues.cpp
    M Source/WebKit/Shared/WebPreferencesDefaultValues.h
    M Source/WebKit/UIProcess/RemoteLayerTree/RemoteLayerTreeDrawingAreaProxy.h
    M Source/WebKit/UIProcess/RemoteLayerTree/RemoteLayerTreeDrawingAreaProxy.mm

  Log Message:
  -----------
  Allow WebKit to run main-thread frames in parallel with CoreGraphics.
https://bugs.webkit.org/show_bug.cgi?id=302187
<rdar://163067859>

Reviewed by Simon Fraser.

Rather than waiting on the GPU process to finish CPU-side flushing of
CoreGraphics before allowing the next rAF to start, allow one previous frame to
still be in progress.

Use RemoteLayerTreeDrawingAreaProxy::notifyPendingCommitLayerTree to determine
when a frame has finished the WebKit main thread work, and allow sending a
second displayDidRefresh message at this time, before the previous
commitLayerTree message has been received.

* Source/WTF/Scripts/Preferences/UnifiedWebPreferences.yaml:
* Source/WTF/wtf/PlatformEnable.h:
* Source/WebKit/Shared/WebPreferencesDefaultValues.cpp:
(WebKit::defaultAllowMultipleCommitLayerTreePending):
* Source/WebKit/Shared/WebPreferencesDefaultValues.h:
* Source/WebKit/UIProcess/RemoteLayerTree/RemoteLayerTreeDrawingAreaProxy.h:
* Source/WebKit/UIProcess/RemoteLayerTree/RemoteLayerTreeDrawingAreaProxy.mm:
(WebKit::RemoteLayerTreeDrawingAreaProxy::notifyPendingCommitLayerTree):
(WebKit::RemoteLayerTreeDrawingAreaProxy::commitLayerTree):
(WebKit::RemoteLayerTreeDrawingAreaProxy::allowMultipleCommitLayerTreePending):
(WebKit::RemoteLayerTreeDrawingAreaProxy::ProcessState::canSendDisplayDidRefresh):
(WebKit::RemoteLayerTreeDrawingAreaProxy::didRefreshDisplay):

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



To unsubscribe from these emails, change your notification settings at 
https://github.com/WebKit/WebKit/settings/notifications

Reply via email to