Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: ae6cb8babf6ed97c7a7a1d5535844b79989b0885 https://github.com/WebKit/WebKit/commit/ae6cb8babf6ed97c7a7a1d5535844b79989b0885 Author: Tim Horton <timothy_hor...@apple.com> Date: 2024-01-29 (Mon, 29 Jan 2024)
Changed paths: M Source/WebCore/platform/graphics/GraphicsLayerClient.h M Source/WebCore/platform/graphics/ca/GraphicsLayerCA.cpp M Source/WebCore/platform/graphics/ca/GraphicsLayerCA.h M Source/WebCore/platform/graphics/ca/PlatformCALayer.h M Source/WebCore/platform/graphics/ca/PlatformCALayer.mm M Source/WebCore/platform/graphics/ca/PlatformCALayerClient.h M Source/WebCore/platform/graphics/ca/TileGrid.cpp M Source/WebCore/platform/graphics/ca/TileGrid.h M Source/WebKit/Shared/RemoteLayerTree/RemoteLayerBackingStoreCollection.mm M Source/WebKit/WebProcess/Plugins/PDF/UnifiedPDF/UnifiedPDFPlugin.h M Source/WebKit/WebProcess/Plugins/PDF/UnifiedPDF/UnifiedPDFPlugin.mm Log Message: ----------- [UnifiedPDF] Make all painting be in-process https://bugs.webkit.org/show_bug.cgi?id=268325 <rdar://problem/121385041> Reviewed by Simon Fraser. UnifiedPDFPlugin currently paints PDF content into an ImageBuffer in the Web Content process (to keep PDF out of the GPU process, for security), and then paints that ImageBuffer into the tiles in the GPU process (to follow the normal flow of painting). Skip this two step process by making the layers for UnifiedPDFPlugin have in-process software backing store and painting directly into them. * Source/WebCore/platform/graphics/GraphicsLayerClient.h: (WebCore::GraphicsLayerClient::layerNeedsPlatformContext const): * Source/WebCore/platform/graphics/ca/GraphicsLayerCA.cpp: (WebCore::GraphicsLayerCA::platformCALayerNeedsPlatformContext const): * Source/WebCore/platform/graphics/ca/GraphicsLayerCA.h: * Source/WebCore/platform/graphics/ca/PlatformCALayer.h: * Source/WebCore/platform/graphics/ca/PlatformCALayer.mm: (WebCore::PlatformCALayer::needsPlatformContext const): * Source/WebCore/platform/graphics/ca/PlatformCALayerClient.h: (WebCore::PlatformCALayerClient::platformCALayerNeedsPlatformContext const): * Source/WebCore/platform/graphics/ca/TileGrid.cpp: (WebCore::TileGrid::platformCALayerNeedsPlatformContext const): * Source/WebCore/platform/graphics/ca/TileGrid.h: * Source/WebKit/Shared/RemoteLayerTree/RemoteLayerBackingStoreCollection.mm: (WebKit::RemoteLayerBackingStoreCollection::createRemoteLayerBackingStore): Plumb around a "layer needs a platform context" bit, and, if set, force in-process rendering. * Source/WebKit/WebProcess/Plugins/PDF/UnifiedPDF/UnifiedPDFPlugin.h: Always say that UnifiedPDFPlugin needs in-process rendering. * Source/WebKit/WebProcess/Plugins/PDF/UnifiedPDF/UnifiedPDFPlugin.mm: (WebKit::UnifiedPDFPlugin::paintPDFContent): Avoid painting into an extra bitmap here. Canonical link: https://commits.webkit.org/273699@main _______________________________________________ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes