[webkit-changes] [WebKit/WebKit] a41c12: [UnifiedPDF] Make PDFPluginAnnotations agnostic of...
Sammy Gill
noreply at github.com
Fri Jan 19 14:44:09 PST 2024
Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: a41c12c7f45ac004a807697b084279562ac41f6f
https://github.com/WebKit/WebKit/commit/a41c12c7f45ac004a807697b084279562ac41f6f
Author: Sammy Gill <sammy.gill at apple.com>
Date: 2024-01-19 (Fri, 19 Jan 2024)
Changed paths:
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/PDFPluginAnnotation.mm
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/PDF/PDFPluginPasswordField.h
M Source/WebKit/WebProcess/Plugins/PDF/PDFPluginPasswordField.mm
M Source/WebKit/WebProcess/Plugins/PDF/PDFPluginTextAnnotation.h
M Source/WebKit/WebProcess/Plugins/PDF/PDFPluginTextAnnotation.mm
M Source/WebKit/WebProcess/Plugins/PDF/UnifiedPDF/UnifiedPDFPlugin.h
M Source/WebKit/WebProcess/Plugins/PDF/UnifiedPDF/UnifiedPDFPlugin.mm
Log Message:
-----------
[UnifiedPDF] Make PDFPluginAnnotations agnostic of plugin implementation.
https://bugs.webkit.org/show_bug.cgi?id=266097
rdar://problem/119397505
Reviewed by Simon Fraser.
Currently PDFPluginAnnotations depends on the PDFLayerController to
interact with the PDF. In order to get the UnifiedPDFPlugin working
with annotations, the plugin annotations need to move away from this
dependence and instead use an API that is agnostic of the underlying
plugin implementation.
This requires two main things:
1.) PDFPluginAnnotations should no longer hold onto a PDFLayerController
2.) They should hold onto a PDFPluginBase instead of a PDFPlugin
Any PDFPlugin API that was used by the plugin annotations needs to be
moved over to PDFPluginBase as virtual functions. Similarly, any
functionality from the PDFLayerController that was used should be
exposed in the same way.
* Source/WebKit/WebProcess/Plugins/PDF/PDFPlugin.h:
* Source/WebKit/WebProcess/Plugins/PDF/PDFPlugin.mm:
(WebKit::PDFPlugin::createPasswordEntryForm):
(WebKit::PDFPlugin::setActiveAnnotation):
(WebKit::PDFPlugin::boundsForAnnotation const):
(WebKit::PDFPlugin::contentSizeRespectingZoom const):
(WebKit::PDFPlugin::supportsForms): Deleted.
* Source/WebKit/WebProcess/Plugins/PDF/PDFPluginAnnotation.h:
(WebKit::PDFPluginAnnotation::plugin const):
(WebKit::PDFPluginAnnotation::PDFPluginAnnotation):
(WebKit::PDFPluginAnnotation::parent const):
(WebKit::PDFPluginAnnotation::pdfLayerController const): Deleted.
* Source/WebKit/WebProcess/Plugins/PDF/PDFPluginAnnotation.mm:
(WebKit::PDFPluginAnnotation::create):
(WebKit::PDFPluginAnnotation::updateGeometry):
* Source/WebKit/WebProcess/Plugins/PDF/PDFPluginBase.h:
(WebKit::PDFPluginBase::didMutatePDFDocument):
* Source/WebKit/WebProcess/Plugins/PDF/PDFPluginBase.mm:
(WebKit::PDFPluginBase::supportsForms):
* Source/WebKit/WebProcess/Plugins/PDF/PDFPluginChoiceAnnotation.h:
(WebKit::PDFPluginChoiceAnnotation::PDFPluginChoiceAnnotation):
* Source/WebKit/WebProcess/Plugins/PDF/PDFPluginChoiceAnnotation.mm:
(WebKit::PDFPluginChoiceAnnotation::create):
(WebKit::PDFPluginChoiceAnnotation::updateGeometry):
* Source/WebKit/WebProcess/Plugins/PDF/PDFPluginPasswordField.h:
(WebKit::PDFPluginPasswordField::PDFPluginPasswordField):
* Source/WebKit/WebProcess/Plugins/PDF/PDFPluginPasswordField.mm:
(WebKit::PDFPluginPasswordField::create):
* Source/WebKit/WebProcess/Plugins/PDF/PDFPluginTextAnnotation.h:
(WebKit::PDFPluginTextAnnotation::PDFPluginTextAnnotation):
* Source/WebKit/WebProcess/Plugins/PDF/PDFPluginTextAnnotation.mm:
(WebKit::PDFPluginTextAnnotation::create):
(WebKit::PDFPluginTextAnnotation::updateGeometry):
* Source/WebKit/WebProcess/Plugins/PDF/UnifiedPDF/UnifiedPDFPlugin.h:
* Source/WebKit/WebProcess/Plugins/PDF/UnifiedPDF/UnifiedPDFPlugin.mm:
(WebKit::UnifiedPDFPlugin::contentSizeRespectingZoom const):
(WebKit::UnifiedPDFPlugin::boundsForAnnotation const):
(WebKit::UnifiedPDFPlugin::focusNextAnnotation):
(WebKit::UnifiedPDFPlugin::focusPreviousAnnotation):
(WebKit::UnifiedPDFPlugin::setActiveAnnotation):
(WebKit::UnifiedPDFPlugin::attemptToUnlockPDF):
Canonical link: https://commits.webkit.org/273241@main
More information about the webkit-changes
mailing list