[webkit-changes] [WebKit/WebKit] 73d0f1: Add some functionality to TiledBackingClient to al...
Simon Fraser
noreply at github.com
Mon Oct 14 09:39:14 PDT 2024
Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: 73d0f1af1e0fb82c72d830f7f58b1271555f96fe
https://github.com/WebKit/WebKit/commit/73d0f1af1e0fb82c72d830f7f58b1271555f96fe
Author: Simon Fraser <simon.fraser at apple.com>
Date: 2024-10-14 (Mon, 14 Oct 2024)
Changed paths:
M Source/WebCore/platform/graphics/GeometryUtilities.h
M Source/WebCore/platform/graphics/TiledBacking.h
M Source/WebCore/platform/graphics/ca/TileController.cpp
M Source/WebCore/platform/graphics/ca/TileController.h
M Source/WebCore/platform/graphics/ca/TileGrid.cpp
M Source/WebCore/platform/graphics/ca/TileGrid.h
M Source/WebKit/WebProcess/Plugins/PDF/UnifiedPDF/AsyncPDFRenderer.h
M Source/WebKit/WebProcess/Plugins/PDF/UnifiedPDF/AsyncPDFRenderer.mm
Log Message:
-----------
Add some functionality to TiledBackingClient to allow AsyncPDFController to manage tile changes
https://bugs.webkit.org/show_bug.cgi?id=281384
rdar://137810931
Reviewed by Abrar Rahman Protyasha.
A future change will have AsyncPDFRenderer stash old tiles until it knows that new tiles are available.
To support this, TiledBackingClient needs to expose more information about tile invalidation. Specifically,
the client needs to know when we're doing repaints because the scale change, or when we add/remove tiles
in the middle of a tile revalidation, and whether it's a partial or full revalidation. Full revalidations
happen for scale change, and tile size change.
* Source/WebCore/platform/graphics/GeometryUtilities.h:
* Source/WebCore/platform/graphics/TiledBacking.h:
* Source/WebCore/platform/graphics/ca/TileController.cpp:
(WebCore::TileController::setContentsScale):
(WebCore::TileController::willRevalidateTiles):
(WebCore::TileController::didRevalidateTiles):
* Source/WebCore/platform/graphics/ca/TileController.h:
* Source/WebCore/platform/graphics/ca/TileGrid.cpp:
(WebCore::TileGrid::revalidateTiles):
(WebCore::TileGrid::ensureTilesForRect):
* Source/WebCore/platform/graphics/ca/TileGrid.h:
* Source/WebKit/WebProcess/Plugins/PDF/UnifiedPDF/AsyncPDFRenderer.h:
* Source/WebKit/WebProcess/Plugins/PDF/UnifiedPDF/AsyncPDFRenderer.mm:
(WebKit::AsyncPDFRenderer::previewImageForPage const):
(WebKit::AsyncPDFRenderer::renderInfoIsValidForTile const):
(WebKit::AsyncPDFRenderer::willRevalidateTiles):
(WebKit::AsyncPDFRenderer::didRevalidateTiles):
(WebKit::AsyncPDFRenderer::willRepaintTilesAfterScaleFactorChange):
(WebKit::AsyncPDFRenderer::didRepaintTilesAfterScaleFactorChange):
(WebKit::AsyncPDFRenderer::tilingScaleFactorDidChange): Deleted.
Canonical link: https://commits.webkit.org/285124@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