[webkit-changes] [WebKit/WebKit] 8de0ec: [UnifiedPDF] Form control repaints are incorrect w...

Abrar Rahman Protyasha noreply at github.com
Thu May 16 11:45:33 PDT 2024


  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 8de0ecb948d52138675472651f32b4028c96d8bd
      https://github.com/WebKit/WebKit/commit/8de0ecb948d52138675472651f32b4028c96d8bd
  Author: Abrar Rahman Protyasha <a_protyasha at apple.com>
  Date:   2024-05-16 (Thu, 16 May 2024)

  Changed paths:
    M Source/WebKit/WebProcess/Plugins/PDF/UnifiedPDF/AsyncPDFRenderer.h
    M Source/WebKit/WebProcess/Plugins/PDF/UnifiedPDF/AsyncPDFRenderer.mm

  Log Message:
  -----------
  [UnifiedPDF] Form control repaints are incorrect when PDF content changes across multiple tiles
https://bugs.webkit.org/show_bug.cgi?id=274237
rdar://128072857

Reviewed by Simon Fraser.

When PDF content changes across multiple tiles, for example if we have
multiple checkboxes toggled and we reset them with the reset action, we
enqueue multiple tile paints that chase each other, ultimately for them
all to be dropped on the floor because they are either not the most
recent tile render or because the most recent tile
renders contents version identifier does not match that of the current
render info. The former reason is valid while the latter is not. In
fact, local experimentation shows that our checking against the contents
version identifiers is redundant because the render identifier state
always reflects what we learn from the contents version check.

In this PR, we remove the notion of contents version from the async
renderer, since this information is redudnant and our aggressive
checking of this information incorrectly drops valid tile renders on the
floor.

* Source/WebKit/WebProcess/Plugins/PDF/UnifiedPDF/AsyncPDFRenderer.h:
* Source/WebKit/WebProcess/Plugins/PDF/UnifiedPDF/AsyncPDFRenderer.mm:
(WebKit::AsyncPDFRenderer::AsyncPDFRenderer):
(WebKit::AsyncPDFRenderer::renderInfoIsValidForTile const):
(WebKit::AsyncPDFRenderer::willRepaintTile):
(WebKit::AsyncPDFRenderer::renderInfoForTile const):
(WebKit::AsyncPDFRenderer::didCompleteTileRender):
(WebKit::AsyncPDFRenderer::pdfContentChangedInRect):

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



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


More information about the webkit-changes mailing list