[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