[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