Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: c6069f49ce6b011ecf978e53ce4875f39cea3727 https://github.com/WebKit/WebKit/commit/c6069f49ce6b011ecf978e53ce4875f39cea3727 Author: Simon Fraser <simon.fra...@apple.com> Date: 2024-02-23 (Fri, 23 Feb 2024)
Changed paths: M Source/WebKit/WebProcess/Plugins/PDF/UnifiedPDF/AsyncPDFRenderer.h M Source/WebKit/WebProcess/Plugins/PDF/UnifiedPDF/AsyncPDFRenderer.mm M Source/WebKit/WebProcess/Plugins/PDF/UnifiedPDF/UnifiedPDFPlugin.mm Log Message: ----------- [UnifiedPDF] Flashing when interacting with form controls https://bugs.webkit.org/show_bug.cgi?id=269958 rdar://123479307 Reviewed by Tim Horton. Currently when PDF content is invalidated (e.g. by a form control action) we throw away the rendered tiles for that rect, and asynchronously regenerate them. That results in flashes. Instead, we can keep the existing tile, and update it from a asynchronously-rendered buffer containing the invalidated rect for that tile. This means that paints may use a stale tile, but that's better than flashing. * Source/WebKit/WebProcess/Plugins/PDF/UnifiedPDF/AsyncPDFRenderer.h: * Source/WebKit/WebProcess/Plugins/PDF/UnifiedPDF/AsyncPDFRenderer.mm: (WebKit::AsyncPDFRenderer::paintingToTileTransform): (WebKit::AsyncPDFRenderer::enqueuePaintWithClip): (WebKit::AsyncPDFRenderer::paintTileOnWorkQueue): (WebKit::AsyncPDFRenderer::paintPDFIntoBuffer): (WebKit::AsyncPDFRenderer::transferBufferToMainThread): (WebKit::AsyncPDFRenderer::didCompleteNewTileRender): (WebKit::AsyncPDFRenderer::didCompleteTileUpdateRender): (WebKit::AsyncPDFRenderer::updateTilesForPaintingRect): * Source/WebKit/WebProcess/Plugins/PDF/UnifiedPDF/UnifiedPDFPlugin.mm: (WebKit::UnifiedPDFPlugin::setNeedsRepaintInDocumentRect): Canonical link: https://commits.webkit.org/275253@main To unsubscribe from these emails, change your notification settings at https://github.com/WebKit/WebKit/settings/notifications _______________________________________________ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes