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