Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 9941ce56b7a17396d18b9328222046d86d300551
      
https://github.com/WebKit/WebKit/commit/9941ce56b7a17396d18b9328222046d86d300551
  Author: Matt Woodrow <mattwood...@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


_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to