Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 4417fcbc469169d01d5bc7dea493deb1c3eb98d4 https://github.com/WebKit/WebKit/commit/4417fcbc469169d01d5bc7dea493deb1c3eb98d4 Author: Matt Woodrow <mattwood...@apple.com> Date: 2025-09-17 (Wed, 17 Sep 2025)
Changed paths: M Source/WebCore/platform/graphics/BifurcatedGraphicsContext.cpp M Source/WebCore/platform/graphics/BifurcatedGraphicsContext.h M Source/WebCore/platform/graphics/GraphicsContext.h M Source/WebCore/platform/graphics/cg/GraphicsContextCG.cpp M Source/WebCore/platform/graphics/cg/GraphicsContextCG.h M Source/WebCore/platform/graphics/displaylists/DisplayListItems.cpp M Source/WebCore/platform/graphics/displaylists/DisplayListItems.h M Source/WebCore/platform/graphics/displaylists/DisplayListRecorderImpl.cpp M Source/WebCore/platform/graphics/displaylists/DisplayListRecorderImpl.h M Source/WebKit/GPUProcess/graphics/RemoteGraphicsContext.cpp M Source/WebKit/GPUProcess/graphics/RemoteGraphicsContext.h M Source/WebKit/GPUProcess/graphics/RemoteGraphicsContext.messages.in M Source/WebKit/WebProcess/GPU/graphics/RemoteGraphicsContextProxy.cpp M Source/WebKit/WebProcess/GPU/graphics/RemoteGraphicsContextProxy.h M Source/WebKit/WebProcess/WebPage/Cocoa/WebPageCocoa.mm M Source/WebKit/WebProcess/WebPage/WebPage.cpp M Source/WebKit/WebProcess/WebPage/WebPage.h M Source/WebKit/WebProcess/WebPage/ios/WebPageIOS.mm Log Message: ----------- Convert WebPage::drawPagesToPDFImpl to use GraphicsContext. https://bugs.webkit.org/show_bug.cgi?id=299050 <rdar://problem/160809008> Reviewed by Abrar Rahman Protyasha. This currently uses CGContext, but needs to use a GraphicsContext so that we can write a snapshot (display list) recording version for site-isolation. Change GraphicsContext::beginPage to take a rect instead of a size, more closely matching the CG API undernearth. Convert drawPagesToPDFImpl over to using the platform-agnostic GraphicsContext/ImageBuffer APIs. This is largely a direct conversion, except that the media is now specified per-page instead of on context creation (where it became the default used for pages). * Source/WebCore/platform/graphics/BifurcatedGraphicsContext.cpp: (WebCore::BifurcatedGraphicsContext::beginPage): * Source/WebCore/platform/graphics/BifurcatedGraphicsContext.h: * Source/WebCore/platform/graphics/GraphicsContext.h: (WebCore::GraphicsContext::beginPage): * Source/WebCore/platform/graphics/cg/GraphicsContextCG.cpp: (WebCore::GraphicsContextCG::beginPage): * Source/WebCore/platform/graphics/cg/GraphicsContextCG.h: * Source/WebCore/platform/graphics/displaylists/DisplayListItems.cpp: (WebCore::DisplayList::BeginPage::apply const): (WebCore::DisplayList::BeginPage::dump const): * Source/WebCore/platform/graphics/displaylists/DisplayListItems.h: (WebCore::DisplayList::BeginPage::BeginPage): (WebCore::DisplayList::BeginPage::pageRect const): (WebCore::DisplayList::BeginPage::pageSize const): Deleted. * Source/WebCore/platform/graphics/displaylists/DisplayListRecorderImpl.cpp: (WebCore::DisplayList::RecorderImpl::beginPage): * Source/WebCore/platform/graphics/displaylists/DisplayListRecorderImpl.h: * Source/WebKit/GPUProcess/graphics/RemoteGraphicsContext.cpp: (WebKit::RemoteGraphicsContext::beginPage): * Source/WebKit/GPUProcess/graphics/RemoteGraphicsContext.h: * Source/WebKit/GPUProcess/graphics/RemoteGraphicsContext.messages.in: * Source/WebKit/WebProcess/GPU/graphics/RemoteGraphicsContextProxy.cpp: (WebKit::RemoteGraphicsContextProxy::beginPage): * Source/WebKit/WebProcess/GPU/graphics/RemoteGraphicsContextProxy.h: * Source/WebKit/WebProcess/WebPage/Cocoa/WebPageCocoa.mm: (WebKit::WebPage::pdfSnapshotAtSize): (WebKit::WebPage::drawPagesToPDFFromPDFDocument): * Source/WebKit/WebProcess/WebPage/WebPage.cpp: (WebKit::WebPage::drawPagesToPDF): (WebKit::WebPage::drawPagesToPDFImpl): (WebKit::WebPage::drawPrintContextPagesToGraphicsContext): * Source/WebKit/WebProcess/WebPage/WebPage.h: * Source/WebKit/WebProcess/WebPage/ios/WebPageIOS.mm: (WebKit::WebPage::drawToPDFiOS): Canonical link: https://commits.webkit.org/300136@main To unsubscribe from these emails, change your notification settings at https://github.com/WebKit/WebKit/settings/notifications _______________________________________________ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes