[webkit-changes] [WebKit/WebKit] 7760f9: Define ENABLE_PDF_PLUGIN for platforms that will u...
Simon Fraser
noreply at github.com
Fri Oct 6 11:05:39 PDT 2023
Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: 7760f95ca8a630f35038e305168a45c2c415cbd4
https://github.com/WebKit/WebKit/commit/7760f95ca8a630f35038e305168a45c2c415cbd4
Author: Simon Fraser <simon.fraser at apple.com>
Date: 2023-10-06 (Fri, 06 Oct 2023)
Changed paths:
M Source/WTF/Scripts/Preferences/UnifiedWebPreferences.yaml
M Source/WTF/wtf/PlatformEnableCocoa.h
M Source/WebCore/html/HTMLPlugInImageElement.cpp
M Source/WebCore/loader/DocumentWriter.cpp
M Source/WebCore/loader/LocalFrameLoaderClient.h
M Source/WebCore/loader/SubframeLoader.cpp
M Source/WebCore/platform/cocoa/MIMETypeRegistryCocoa.mm
M Source/WebKit/Shared/mac/PDFContextMenu.h
M Source/WebKit/Shared/mac/PDFContextMenuItem.serialization.in
M Source/WebKit/UIProcess/Cocoa/WKWebViewContentProviderRegistry.mm
M Source/WebKit/UIProcess/PDF/WKPDFHUDView.h
M Source/WebKit/UIProcess/PDF/WKPDFHUDView.mm
M Source/WebKit/UIProcess/PageClient.h
M Source/WebKit/UIProcess/WebPageProxy.cpp
M Source/WebKit/UIProcess/WebPageProxy.h
M Source/WebKit/UIProcess/WebPageProxy.messages.in
M Source/WebKit/UIProcess/mac/WebPageProxyMac.mm
M Source/WebKit/WebProcess/Plugins/PDF/PDFAnnotationTextWidgetDetails.h
M Source/WebKit/WebProcess/Plugins/PDF/PDFLayerControllerSPI.h
M Source/WebKit/WebProcess/Plugins/PDF/PDFPlugin.h
M Source/WebKit/WebProcess/Plugins/PDF/PDFPlugin.mm
M Source/WebKit/WebProcess/Plugins/PDF/PDFPluginAnnotation.h
M Source/WebKit/WebProcess/Plugins/PDF/PDFPluginBase.h
M Source/WebKit/WebProcess/Plugins/PDF/PDFPluginBase.mm
M Source/WebKit/WebProcess/Plugins/PDF/PDFPluginChoiceAnnotation.h
M Source/WebKit/WebProcess/Plugins/PDF/PDFPluginChoiceAnnotation.mm
M Source/WebKit/WebProcess/Plugins/PluginView.cpp
M Source/WebKit/WebProcess/Plugins/PluginView.h
M Source/WebKit/WebProcess/Plugins/WebPluginInfoProvider.cpp
M Source/WebKit/WebProcess/WebCoreSupport/WebChromeClient.cpp
M Source/WebKit/WebProcess/WebCoreSupport/WebLocalFrameLoaderClient.cpp
M Source/WebKit/WebProcess/WebCoreSupport/WebLocalFrameLoaderClient.h
M Source/WebKit/WebProcess/WebPage/Cocoa/WebPageCocoa.mm
M Source/WebKit/WebProcess/WebPage/FindController.cpp
M Source/WebKit/WebProcess/WebPage/FindController.h
M Source/WebKit/WebProcess/WebPage/WebPage.cpp
M Source/WebKit/WebProcess/WebPage/WebPage.h
M Source/WebKit/WebProcess/WebPage/WebPage.messages.in
M Source/WebKit/WebProcess/WebPage/mac/WebPageMac.mm
Log Message:
-----------
Define ENABLE_PDF_PLUGIN for platforms that will use a PDFPluginBase-derived plugin
https://bugs.webkit.org/show_bug.cgi?id=262758
rdar://116557962
Reviewed by Tim Horton.
This PR defines `ENABLE_PDF_PLUGIN` when either ENABLE(LEGACY_PDFKIT_PLUGIN) or ENABLE(UNIFIED_PDF)
are true, and uses it to enable code that will make the UnifiedPDFPlugin available on iOS-family
platforms under a runtime switch.
Most of the changes are simply ENABLE(LEGACY_PDFKIT_PLUGIN) -> ENABLE(PDF_PLUGIN). In some places
for macOS we can use ENABLE(PDF_HUD). Other changes are noted below.
* Source/WTF/Scripts/Preferences/UnifiedWebPreferences.yaml: Have PDFPluginEnabled be off by default on
iOS now that code consults it.
* Source/WTF/wtf/PlatformEnableCocoa.h: Define ENABLE_PDF_HUD based on ENABLE(PDF_PLUGIN) && PLATFORM(MAC)
* Source/WebCore/html/HTMLPlugInImageElement.cpp:
(WebCore::HTMLPlugInImageElement::shouldBypassCSPForPDFPlugin const):
* Source/WebCore/loader/DocumentWriter.cpp:
(WebCore::DocumentWriter::createDocument): Change code that used to be just `#if PLATFORM(IOS_FAMILY)`
to runtime-test shouldUsePDFPlugin().
* Source/WebCore/loader/LocalFrameLoaderClient.h:
* Source/WebCore/loader/SubframeLoader.cpp:
(WebCore::FrameLoader::SubframeLoader::loadPlugin): Instead of the iOS #ifdef, we can consult the
`useImageDocumentForSubframePDF()` setting which is only true for iOS.
* Source/WebCore/platform/cocoa/MIMETypeRegistryCocoa.mm:
(WebCore::MIMETypeRegistry::isApplicationPluginMIMEType):
* Source/WebKit/Shared/mac/PDFContextMenu.h:
* Source/WebKit/Shared/mac/PDFContextMenuItem.serialization.in:
* Source/WebKit/UIProcess/Cocoa/WKWebViewContentProviderRegistry.mm:
(-[WKWebViewContentProviderRegistry initWithConfiguration:]):
* Source/WebKit/UIProcess/PDF/WKPDFHUDView.h:
* Source/WebKit/UIProcess/PDF/WKPDFHUDView.mm:
* Source/WebKit/UIProcess/PageClient.h:
* Source/WebKit/UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::didCommitLoadForFrame):
(WebKit::WebPageProxy::resetStateAfterProcessTermination):
* Source/WebKit/UIProcess/WebPageProxy.h:
* Source/WebKit/UIProcess/WebPageProxy.messages.in:
* Source/WebKit/UIProcess/mac/WebPageProxyMac.mm:
* Source/WebKit/WebProcess/Plugins/PDF/PDFAnnotationTextWidgetDetails.h:
* Source/WebKit/WebProcess/Plugins/PDF/PDFLayerControllerSPI.h:
* Source/WebKit/WebProcess/Plugins/PDF/PDFPlugin.h: Make a static `pdfKitLayerControllerIsAvailable()` here.
* Source/WebKit/WebProcess/Plugins/PDF/PDFPlugin.mm:
(WebKit::PDFPlugin::pdfKitLayerControllerIsAvailable):
(WebKit::PDFPlugin::pluginInfo): Deleted.
* Source/WebKit/WebProcess/Plugins/PDF/PDFPluginAnnotation.h:
* Source/WebKit/WebProcess/Plugins/PDF/PDFPluginBase.h: Move `PDFPlugin::pluginInfo()` here.
* Source/WebKit/WebProcess/Plugins/PDF/PDFPluginBase.mm:
(WebKit::PDFPluginBase::pluginInfo):
* Source/WebKit/WebProcess/Plugins/PDF/PDFPluginChoiceAnnotation.h:
* Source/WebKit/WebProcess/Plugins/PDF/PDFPluginChoiceAnnotation.mm:
* Source/WebKit/WebProcess/Plugins/PluginView.cpp:
(WebKit::createPlugin): Create a UnifiedPDFPlugin or PDFPlugin or release assert if neither.
(WebKit::PluginView::platformLayer const):
(WebKit::PluginView::scroll):
(WebKit::PluginView::scrollPositionForTesting const):
(WebKit::PluginView::horizontalScrollbar):
(WebKit::PluginView::verticalScrollbar):
* Source/WebKit/WebProcess/Plugins/PluginView.h:
* Source/WebKit/WebProcess/Plugins/WebPluginInfoProvider.cpp:
(WebKit::pluginInfoVector):
* Source/WebKit/WebProcess/WebCoreSupport/WebChromeClient.cpp:
(WebKit::WebChromeClient::print):
* Source/WebKit/WebProcess/WebCoreSupport/WebLocalFrameLoaderClient.cpp:
(WebKit::WebLocalFrameLoaderClient::hasPlugInView const): Let's avoid the "not" in the #idef here and below.
(WebKit::WebLocalFrameLoaderClient::setMainDocumentError):
(WebKit::WebLocalFrameLoaderClient::committedLoad):
(WebKit::WebLocalFrameLoaderClient::finishedLoading):
(WebKit::WebLocalFrameLoaderClient::createPlugin):
(WebKit::WebLocalFrameLoaderClient::redirectDataToPlugin):
* Source/WebKit/WebProcess/WebCoreSupport/WebLocalFrameLoaderClient.h:
* Source/WebKit/WebProcess/WebPage/Cocoa/WebPageCocoa.mm:
(WebKit::WebPage::shouldUsePDFPlugin const): Moved here from the Mac file.
(WebKit::WebPage::performDictionaryLookupAtLocation):
* Source/WebKit/WebProcess/WebPage/FindController.cpp:
(WebKit::FindController::countStringMatches):
(WebKit::FindController::updateFindUIAfterPageScroll):
(WebKit::FindController::findString):
(WebKit::FindController::hideFindUI):
* Source/WebKit/WebProcess/WebPage/FindController.h:
* Source/WebKit/WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::~WebPage):
(WebKit::WebPage::editorState const):
(WebKit::WebPage::executeEditingCommand):
(WebKit::WebPage::isEditingCommandEnabled):
(WebKit::WebPage::textZoomFactor const):
(WebKit::WebPage::setTextZoomFactor):
(WebKit::WebPage::pageZoomFactor const):
(WebKit::WebPage::setPageZoomFactor):
(WebKit::WebPage::setPageAndTextZoomFactors):
(WebKit::WebPage::scalePage):
(WebKit::WebPage::totalScaleFactor const):
(WebKit::snapshotImageOptions):
(WebKit::WebPage::validateCommand):
(WebKit::WebPage::setTopContentInset):
(WebKit::WebPage::getMainResourceDataOfFrame):
* Source/WebKit/WebProcess/WebPage/WebPage.h:
* Source/WebKit/WebProcess/WebPage/WebPage.messages.in:
* Source/WebKit/WebProcess/WebPage/mac/WebPageMac.mm:
(WebKit::WebPage::performImmediateActionHitTestAtLocation):
(WebKit::WebPage::shouldUsePDFPlugin const): Deleted.
Canonical link: https://commits.webkit.org/268999@main
More information about the webkit-changes
mailing list