Two buffers is not enough, because we might be rendering in the UI process with the buffer that is being used by the web process. The first time we render a frame in the UI process we notify the web process that the buffer has been painted and web process does a swap and starts rendering the next frame. If there's a web view redraw before the next frame message is received in the UI process we would be using the current web process back buffer to repaint.
Pull request: https://github.com/WebKit/WebKit/pull/14474
Committed 265192@main (0e48ee99a1fc): <https://commits.webkit.org/265192@main> Reviewed commits have been landed. Closing PR #14474 and removing active labels.