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

Reply via email to