Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 53ed985286a97c4ae32b699699de9eb7ff10b869
      
https://github.com/WebKit/WebKit/commit/53ed985286a97c4ae32b699699de9eb7ff10b869
  Author: Simon Fraser <simon.fra...@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


_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to