[webkit-changes] [WebKit/WebKit] 53ed98: [UnifiedPDF] Get basic PDF page layout working
Simon Fraser
noreply at github.com
Fri Sep 29 15:11:13 PDT 2023
Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: 53ed985286a97c4ae32b699699de9eb7ff10b869
https://github.com/WebKit/WebKit/commit/53ed985286a97c4ae32b699699de9eb7ff10b869
Author: Simon Fraser <simon.fraser at apple.com>
Date: 2023-09-29 (Fri, 29 Sep 2023)
Changed paths:
M Source/WebKit/SourcesCocoa.txt
M Source/WebKit/WebKit.xcodeproj/project.pbxproj
M Source/WebKit/WebProcess/Plugins/PDF/PDFPluginBase.h
M Source/WebKit/WebProcess/Plugins/PDF/PDFPluginBase.mm
A Source/WebKit/WebProcess/Plugins/PDF/UnifiedPDF/PDFDocumentLayout.h
A Source/WebKit/WebProcess/Plugins/PDF/UnifiedPDF/PDFDocumentLayout.mm
M Source/WebKit/WebProcess/Plugins/PDF/UnifiedPDF/UnifiedPDFPlugin.h
M Source/WebKit/WebProcess/Plugins/PDF/UnifiedPDF/UnifiedPDFPlugin.mm
M Source/WebKit/WebProcess/Plugins/PluginView.h
M Source/WebKit/WebProcess/WebCoreSupport/WebEditorClient.h
Log Message:
-----------
[UnifiedPDF] Get basic PDF page layout working
https://bugs.webkit.org/show_bug.cgi?id=262389
rdar://116249928
Reviewed by Tim Horton and Richard Robinson.
Introduce PDFDocumentLayout for UnifiedPDF, which contains the logic to lay out the PDF
pages, taking page size, rotation and the layout mode into account. Implement basic
single column layout.
Fix PDF page drawing to flip the context when drawing pages.
Hook up an invalidate code path, so that we can repaint the plugin when the PDF loads.
* Source/WebKit/SourcesCocoa.txt:
* Source/WebKit/WebKit.xcodeproj/project.pbxproj:
* Source/WebKit/WebProcess/Plugins/PDF/PDFPluginBase.h:
* Source/WebKit/WebProcess/Plugins/PDF/PDFPluginBase.mm:
(WebKit::PDFPluginBase::invalidateRect):
* Source/WebKit/WebProcess/Plugins/PDF/UnifiedPDF/PDFDocumentLayout.h: Added.
(WebKit::PDFDocumentLayout::pdfDocument const):
(WebKit::PDFDocumentLayout::layoutSize const):
* Source/WebKit/WebProcess/Plugins/PDF/UnifiedPDF/PDFDocumentLayout.mm: Added.
(WebKit::PDFDocumentLayout::documentMargin):
(WebKit::PDFDocumentLayout::pageMargin):
(WebKit::PDFDocumentLayout::setPDFDocument):
(WebKit::PDFDocumentLayout::hasPDFDocument const):
(WebKit::PDFDocumentLayout::pageAtIndex const):
(WebKit::PDFDocumentLayout::updateGeometry):
(WebKit::PDFDocumentLayout::layoutPages):
(WebKit::PDFDocumentLayout::layoutSingleColumn):
(WebKit::PDFDocumentLayout::layoutTwoUpColumn):
(WebKit::PDFDocumentLayout::pageCount const):
(WebKit::PDFDocumentLayout::boundsForPageAtIndex const):
* Source/WebKit/WebProcess/Plugins/PDF/UnifiedPDF/UnifiedPDFPlugin.h:
* Source/WebKit/WebProcess/Plugins/PDF/UnifiedPDF/UnifiedPDFPlugin.mm:
(WebKit::UnifiedPDFPlugin::createPDFDocument):
(WebKit::UnifiedPDFPlugin::installPDFDocument):
(WebKit::UnifiedPDFPlugin::paint):
* Source/WebKit/WebProcess/Plugins/PluginView.h:
* Source/WebKit/WebProcess/WebCoreSupport/WebEditorClient.h:
Canonical link: https://commits.webkit.org/268670@main
More information about the webkit-changes
mailing list