[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