[webkit-changes] [WebKit/WebKit] 241d9a: [UnifiedPDF] Track PageCoverage for each rendered ...

Simon Fraser noreply at github.com
Wed Feb 21 23:01:22 PST 2024


  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 241d9ab4f0c9a478c19560d63cd2743691228320
      https://github.com/WebKit/WebKit/commit/241d9ab4f0c9a478c19560d63cd2743691228320
  Author: Simon Fraser <simon.fraser at apple.com>
  Date:   2024-02-21 (Wed, 21 Feb 2024)

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

  Log Message:
  -----------
  [UnifiedPDF] Track PageCoverage for each rendered tile
https://bugs.webkit.org/show_bug.cgi?id=269887
rdar://123416384

Reviewed by Tim Horton.

In order to store PDFPageCoverage per rendered tile, reshuffle the data structures
in AsyncPDFRenderer a little.

We can fold the `tileRect` into `TileRenderInfo`, which means it gets passed to the
decoding callback and back to the main thread in that struct so we no longer need
to track it separately.

Then we can store a `TileRenderInfo` in what used to be called `BufferAndClip`,
and is here renamed to `RenderedTile`. That then now tracks the tileRect,
the configurationIdentifier and the PDFPageCoverage.

No behavior change.

* Source/WebKit/WebProcess/Plugins/PDF/UnifiedPDF/AsyncPDFRenderer.h:
* Source/WebKit/WebProcess/Plugins/PDF/UnifiedPDF/AsyncPDFRenderer.mm:
(WebKit::AsyncPDFRenderer::enqueuePaintWithClip):
(WebKit::AsyncPDFRenderer::paintTileOnWorkQueue):
(WebKit::AsyncPDFRenderer::paintPDFIntoBuffer):
(WebKit::AsyncPDFRenderer::transferBufferToMainThread):
(WebKit::AsyncPDFRenderer::paintTilesForPaintingRect):
(WebKit::AsyncPDFRenderer::invalidateTilesForPaintingRect):

Canonical link: https://commits.webkit.org/275151@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