Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: b7c083b8e5ef3f450f1ae580f43cdd97fbeb80f1
      
https://github.com/WebKit/WebKit/commit/b7c083b8e5ef3f450f1ae580f43cdd97fbeb80f1
  Author: Simon Fraser <simon.fra...@apple.com>
  Date:   2023-09-26 (Tue, 26 Sep 2023)

  Changed paths:
    M Source/WebKit/Shared/RemoteLayerTree/RemoteLayerBackingStoreCollection.h
    M Source/WebKit/Shared/RemoteLayerTree/RemoteLayerTreeTransaction.h
    M Source/WebKit/SourcesCocoa.txt
    M Source/WebKit/WebKit.xcodeproj/project.pbxproj
    M Source/WebKit/WebProcess/Plugins/PDF/PDFPlugin.h
    M Source/WebKit/WebProcess/Plugins/PDF/PDFPlugin.mm
    M Source/WebKit/WebProcess/Plugins/PDF/PDFPluginBase.h
    M Source/WebKit/WebProcess/Plugins/PDF/PDFPluginBase.mm
    A Source/WebKit/WebProcess/Plugins/PDF/UnifiedPDF/UnifiedPDFPlugin.h
    A Source/WebKit/WebProcess/Plugins/PDF/UnifiedPDF/UnifiedPDFPlugin.mm
    M Source/WebKit/WebProcess/Plugins/PluginView.cpp
    M Source/WebKit/WebProcess/Plugins/PluginView.h
    M Source/WebKit/WebProcess/WebPage/RemoteLayerTree/RemoteLayerTreeContext.mm

  Log Message:
  -----------
  Introduce UnifiedPDFPlugin
https://bugs.webkit.org/show_bug.cgi?id=262095
rdar://116029997

Reviewed by Tim Horton.

Flesh out the interface of PDFPluginBase, which is a pure virtual base class 
for the
old PDFPlugin and the new UnifiedPDFPlugin. These may get renamed later.

Move code which we are sure to share to PDFPluginBase, and add stubs in 
UnifiedPDFPlugin.
This is all mechanical, other than some minor cleanup the the `destroy()` 
function.

PDFPlugin inherits `deviceScaleFactor()` from ScrollableArea, and since 
UnifiedPDFPlugin
may not end up being a ScrollableArea we can avoid multiple inheritance issues 
by just
changing code in PluginView to avoid calling it on the plugin.

PluginView creates a UnifiedPDFPlugin based on the runtime flag now.

Fix Unified sources fallout.

* Source/WebKit/Shared/RemoteLayerTree/RemoteLayerBackingStoreCollection.h:
* Source/WebKit/Shared/RemoteLayerTree/RemoteLayerTreeTransaction.h:
* Source/WebKit/SourcesCocoa.txt:
* Source/WebKit/WebKit.xcodeproj/project.pbxproj:
* Source/WebKit/WebProcess/Plugins/PDF/PDFPlugin.h:
(isType):
* Source/WebKit/WebProcess/Plugins/PDF/PDFPlugin.mm:
(WebKit::PDFPlugin::PDFPlugin):
(WebKit::PDFPlugin::setView):
(WebKit::PDFPlugin::teardown):
(WebKit::PDFPlugin::destroy): Deleted.
(WebKit::PDFPlugin::isFullFramePlugin const): Deleted.
* Source/WebKit/WebProcess/Plugins/PDF/PDFPluginBase.h:
(WebKit::PDFPluginBase::isUnifiedPDFPlugin const):
(WebKit::PDFPluginBase::isLegacyPDFPlugin const):
(WebKit::PDFPluginBase::willDetachRenderer):
(WebKit::PDFPluginBase::isComposited const):
(WebKit::PDFPluginBase::geometryDidChange):
(WebKit::PDFPluginBase::visibilityDidChange):
(WebKit::PDFPluginBase::contentsScaleFactorChanged):
(WebKit::PDFPluginBase::updateControlTints):
(WebKit::PDFPluginBase::wantsWheelEvents const):
(WebKit::PDFPluginBase::isBeingDestroyed const):
* Source/WebKit/WebProcess/Plugins/PDF/PDFPluginBase.mm:
(WebKit::PDFPluginBase::PDFPluginBase):
(WebKit::PDFPluginBase::setView):
(WebKit::PDFPluginBase::destroy):
(WebKit::PDFPluginBase::isFullFramePlugin const):
* Source/WebKit/WebProcess/Plugins/PDF/UnifiedPDF/UnifiedPDFPlugin.h: Added.
(isType):
* Source/WebKit/WebProcess/Plugins/PDF/UnifiedPDF/UnifiedPDFPlugin.mm: Added.
(WebKit::UnifiedPDFPlugin::create):
(WebKit::UnifiedPDFPlugin::UnifiedPDFPlugin):
(WebKit::UnifiedPDFPlugin::teardown):
(WebKit::UnifiedPDFPlugin::scaleFactor const):
(WebKit::UnifiedPDFPlugin::pdfDocumentForPrinting const):
(WebKit::UnifiedPDFPlugin::pdfDocumentSizeForPrinting const):
(WebKit::UnifiedPDFPlugin::streamDidReceiveResponse):
(WebKit::UnifiedPDFPlugin::streamDidReceiveData):
(WebKit::UnifiedPDFPlugin::streamDidFinishLoading):
(WebKit::UnifiedPDFPlugin::streamDidFail):
(WebKit::UnifiedPDFPlugin::liveResourceData const):
(WebKit::UnifiedPDFPlugin::handleMouseEvent):
(WebKit::UnifiedPDFPlugin::handleWheelEvent):
(WebKit::UnifiedPDFPlugin::handleMouseEnterEvent):
(WebKit::UnifiedPDFPlugin::handleMouseLeaveEvent):
(WebKit::UnifiedPDFPlugin::handleContextMenuEvent):
(WebKit::UnifiedPDFPlugin::handleKeyboardEvent):
(WebKit::UnifiedPDFPlugin::handleEditingCommand):
(WebKit::UnifiedPDFPlugin::isEditingCommandEnabled):
(WebKit::UnifiedPDFPlugin::getSelectionString const):
(WebKit::UnifiedPDFPlugin::existingSelectionContainsPoint const):
(WebKit::UnifiedPDFPlugin::rectForSelectionInRootView const):
(WebKit::UnifiedPDFPlugin::countFindMatches):
(WebKit::UnifiedPDFPlugin::findString):
(WebKit::UnifiedPDFPlugin::performDictionaryLookupAtLocation):
(WebKit:: const):
(WebKit::UnifiedPDFPlugin::snapshot):
(WebKit::UnifiedPDFPlugin::accessibilityHitTest const):
(WebKit::UnifiedPDFPlugin::accessibilityObject const):
(WebKit::UnifiedPDFPlugin::accessibilityAssociatedPluginParentForElement const):
* Source/WebKit/WebProcess/Plugins/PluginView.cpp:
(WebKit::createPlugin):
(WebKit::PluginView::PluginView):
(WebKit::PluginView::initializePlugin):
(WebKit::PluginView::platformLayer const):
(WebKit::PluginView::scroll):
(WebKit::PluginView::scrollPositionForTesting const):
(WebKit::PluginView::horizontalScrollbar):
(WebKit::PluginView::verticalScrollbar):
(WebKit::PluginView::wantsWheelEvents):
(WebKit::PluginView::paint):
(WebKit::PluginView::invalidateRect):
* Source/WebKit/WebProcess/Plugins/PluginView.h:
* Source/WebKit/WebProcess/WebPage/RemoteLayerTree/RemoteLayerTreeContext.mm:

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


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

Reply via email to