[webkit-changes] [WebKit/WebKit] 2b0e80: Page numbers not printed when using WKWebView.

Richard Robinson noreply at github.com
Mon Sep 12 10:39:35 PDT 2022


  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 2b0e8042741ba22bd408aaf764c273064647193b
      https://github.com/WebKit/WebKit/commit/2b0e8042741ba22bd408aaf764c273064647193b
  Author: Richard Robinson <richard_robinson2 at apple.com>
  Date:   2022-09-12 (Mon, 12 Sep 2022)

  Changed paths:
    M Source/WebKit/UIProcess/PageClient.h
    M Source/WebKit/UIProcess/WebPageProxy.cpp
    M Source/WebKit/UIProcess/WebPageProxy.h
    M Source/WebKit/UIProcess/mac/PageClientImplMac.h
    M Source/WebKit/UIProcess/mac/PageClientImplMac.mm
    M Source/WebKit/UIProcess/mac/WKPrintingView.mm
    M Tools/TestWebKitAPI/Tests/WebKitCocoa/WKPrinting.mm

  Log Message:
  -----------
  Page numbers not printed when using WKWebView.
https://bugs.webkit.org/show_bug.cgi?id=244911
rdar://85438043

Reviewed by Tim Horton.

In AppKit, there is an API method `drawPageBorderWithSize:` that can be
overriden to be used to arbitrarily draw contents on a page's border. In
legacy WebKit, this method was called when printing. However, in WKWebView,
the behavior differs because this method is no longer called.

This PR resolves this discrepency by ensuring this method does get called
and so the behavior remains consistent with how it works with legacy web
views.

* Source/WebKit/UIProcess/PageClient.h:
(WebKit::PageClient::drawPageBorderForPrinting):
* Source/WebKit/UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::drawPageBorderForPrinting):
* Source/WebKit/UIProcess/WebPageProxy.h:
* Source/WebKit/UIProcess/mac/PageClientImplMac.h:
* Source/WebKit/UIProcess/mac/PageClientImplMac.mm:
(WebKit::PageClientImpl::drawPageBorderForPrinting):
* Source/WebKit/UIProcess/mac/WKPrintingView.mm:
(-[WKPrintingView drawPageBorderWithSize:]):
* Tools/TestWebKitAPI/Tests/WebKitCocoa/WKPrinting.mm:
(-[WKPrintPageBordersWebView drawPageBorderWithSize:]):
(-[WKPrintPageBordersWebView _waitUntilPrintingDone]):
(-[PrintPageBordersUIDelegate _webView:printFrame:pdfFirstPageSize:completionHandler:]):
(TEST):
(-[PrintUIDelegate callBlockAsync:]): Deleted.
(-[PrintUIDelegate _webView:printFrame:pdfFirstPageSize:completionHandler:]): Deleted.
(-[PrintUIDelegate waitForPagination]): Deleted.

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




More information about the webkit-changes mailing list