[webkit-changes] [WebKit/WebKit] 9941ce: REGRESSION: Black banners on webpage, sometimes co...

mattwoodrow noreply at github.com
Thu Dec 14 13:51:04 PST 2023


  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 9941ce56b7a17396d18b9328222046d86d300551
      https://github.com/WebKit/WebKit/commit/9941ce56b7a17396d18b9328222046d86d300551
  Author: Matt Woodrow <mattwoodrow at apple.com>
  Date:   2023-12-14 (Thu, 14 Dec 2023)

  Changed paths:
    M Source/WebKit/GPUProcess/graphics/RemoteImageBufferSet.cpp
    M Source/WebKit/GPUProcess/graphics/RemoteImageBufferSet.h

  Log Message:
  -----------
  REGRESSION: Black banners on webpage, sometimes content doesn't fully render when tab switching.
https://bugs.webkit.org/show_bug.cgi?id=266429
<rdar://119668502>

Reviewed by Tim Horton.

If we're forcing a full display due to the existing front buffer being volatile and purged, then
we also need to reset the dirty region to the full bounds of the layer.

This stops us attempting a copy-forward from the old (purged) front buffer, and also makes sure
we clip to the full bounds, not what the web process thought the dirty region would be.

When the front buffer is potentially volatile, the web process always synchronously waits
for the response of this code, so the dirty region on that side should be updated correctly
already.

* Source/WebKit/GPUProcess/graphics/RemoteImageBufferSet.cpp:
(WebKit::RemoteImageBufferSet::ensureBufferForDisplay):
* Source/WebKit/GPUProcess/graphics/RemoteImageBufferSet.h:

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




More information about the webkit-changes mailing list