[webkit-changes] [WebKit/WebKit] 201d69: [UnifiedPDF] Choose a good initial scale, and fix ...

Simon Fraser noreply at github.com
Wed Feb 14 08:31:52 PST 2024


  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 201d691c2124b002de6280430852e50e0f9f997e
      https://github.com/WebKit/WebKit/commit/201d691c2124b002de6280430852e50e0f9f997e
  Author: Simon Fraser <simon.fraser at apple.com>
  Date:   2024-02-14 (Wed, 14 Feb 2024)

  Changed paths:
    M 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

  Log Message:
  -----------
  [UnifiedPDF] Choose a good initial scale, and fix various scaling issues
https://bugs.webkit.org/show_bug.cgi?id=269333
rdar://122907238

Reviewed by Tim Horton.

Fix various scaling issues with PDFs:
1. On first load, try to display at actual size, as long as that doesn't cause it to
   zoom in. Otherwise try to fix the entire height in the view. Implemented via the
   `AdjustScaleAfterLayout` argument to `updateLayout()`.

2. When changing layout modes, rescale using the same logic as first load.

3. When the PDF content is shorter than the view, vertically center it. Implemented
   by renaming and changing `sidePaddingWidth()` to return a FloatSize. It also now
   always computes padding, even when scaled above 1.

* Source/WebKit/WebProcess/Plugins/PDF/UnifiedPDF/UnifiedPDFPlugin.h:
* Source/WebKit/WebProcess/Plugins/PDF/UnifiedPDF/UnifiedPDFPlugin.mm:
(WebKit::UnifiedPDFPlugin::installPDFDocument):
(WebKit::UnifiedPDFPlugin::attemptToUnlockPDF):
(WebKit::UnifiedPDFPlugin::updatePageBackgroundLayers):
(WebKit::UnifiedPDFPlugin::scaleForFitToView const):
(WebKit::UnifiedPDFPlugin::initialScale const):
(WebKit::UnifiedPDFPlugin::setPageScaleFactor):
(WebKit::UnifiedPDFPlugin::updateLayout):
(WebKit::UnifiedPDFPlugin::centeringOffset const):
(WebKit::UnifiedPDFPlugin::convertFromPluginToDocument const):
(WebKit::UnifiedPDFPlugin::convertFromDocumentToPlugin const):
(WebKit::UnifiedPDFPlugin::convertFromPageToContents const):
(WebKit::UnifiedPDFPlugin::performContextMenuAction):
(WebKit::UnifiedPDFPlugin::sidePaddingWidth const): Deleted.

Canonical link: https://commits.webkit.org/274627@main




More information about the webkit-changes mailing list