Bug 256073

Summary: RemoteImageBufferProxyFlushState::waitForDidFlushOnSecondaryThread blocks on a task running on the main thread.
Product: WebKit Reporter: Matt Woodrow <mattwoodrow>
Component: Layout and RenderingAssignee: Matt Woodrow <mattwoodrow>
Status: RESOLVED FIXED    
Severity: Normal CC: bfulgham, commit-queue, simon.fraser, webkit-bug-importer, zalan
Priority: P2 Keywords: InRadar
Version: WebKit Nightly Build   
Hardware: Unspecified   
OS: Unspecified   
Bug Depends on: 256210    
Bug Blocks: 256694, 256779    

Description Matt Woodrow 2023-04-27 21:30:42 PDT
We attempt to wait for flushes of RemoteImageBufferProxy on a background thread, but the 'didFlush' IPC message is received on the main thread.

This can mean it gets delayed (and we don't know the flush is completed) if the main thread is otherwise busy. This delays first-paint on CPLT.
Comment 1 Radar WebKit Bug Importer 2023-04-27 21:31:00 PDT
<rdar://problem/108642579>
Comment 2 Matt Woodrow 2023-04-27 21:43:56 PDT
Pull request: https://github.com/WebKit/WebKit/pull/13261
Comment 3 EWS 2023-05-01 23:39:07 PDT
Committed 263572@main (4d14bfb53b47): <https://commits.webkit.org/263572@main>

Reviewed commits have been landed. Closing PR #13261 and removing active labels.
Comment 4 WebKit Commit Bot 2023-05-02 09:51:21 PDT
Re-opened since this is blocked by bug 256210
Comment 5 Matt Woodrow 2023-05-09 13:53:26 PDT
Pull request: https://github.com/WebKit/WebKit/pull/13653
Comment 6 EWS 2023-05-11 17:03:36 PDT
Committed 263993@main (d2f31696424a): <https://commits.webkit.org/263993@main>

Reviewed commits have been landed. Closing PR #13653 and removing active labels.