[webkit-changes] [WebKit/WebKit] 1f1b25: [UnifedPDF] Hook up accessibility for Unified PDF

Commit Queue noreply at github.com
Thu Feb 15 16:00:52 PST 2024


  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 1f1b259fc291228f8aa3a199626845e0529e44bc
      https://github.com/WebKit/WebKit/commit/1f1b259fc291228f8aa3a199626845e0529e44bc
  Author: Elina <elina.ding at apple.com>
  Date:   2024-02-15 (Thu, 15 Feb 2024)

  Changed paths:
    M Source/WebKit/Platform/spi/Cocoa/PDFKitSPI.h
    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
    M Source/WebKit/WebProcess/Plugins/PDF/UnifiedPDF/UnifiedPDFPlugin.h
    M Source/WebKit/WebProcess/Plugins/PDF/UnifiedPDF/UnifiedPDFPlugin.mm
    M Source/WebKit/WebProcess/Plugins/PluginView.cpp

  Log Message:
  -----------
  [UnifedPDF] Hook up accessibility for Unified PDF
Bug 269249 - ([UnifedPDF] Hook up accessibility for Unified PDF)
rdar://118903435 ([UnifedPDF] Hook up accessibility for Unified PDF)

Reviewed by Simon Fraser.

This commit add support so that UnifiedPDF is accessible
This commit create WKAccessibilityPDFDocumentObject as a UnifedPDF accessibility wrapper, which is different from WKPDFPluginAccessibilityObject in that this object does not depends on any layer codes. Previously, the accessibility communication point between webkit and pdfkit is in LayerController. I move the communication point to pdfDocument for better code reuse and less dependency.
Some Todos:
    1. stop accessing the plugin on the accessibility thread
    2. move WKAccessibilityPDFDocumentObject to its own file
    3. resolve coordinate space for better visual experience

* Source/WebKit/Platform/spi/Cocoa/PDFKitSPI.h:
* Source/WebKit/WebProcess/Plugins/PDF/PDFPlugin.h:
* Source/WebKit/WebProcess/Plugins/PDF/PDFPlugin.mm:
(WebKit::PDFPlugin::accessibilityAssociatedPluginParentForElement const): Deleted.
* Source/WebKit/WebProcess/Plugins/PDF/PDFPluginBase.h:
(WebKit::PDFPluginBase::pdfDocument const):
(WebKit::PDFPluginBase::didAttachScrollingNode):
(WebKit::PDFPluginBase::activeAnnotation const):
(WebKit::PDFPluginBase::pdfDocumentForPrinting const): Deleted.
* Source/WebKit/WebProcess/Plugins/PDF/PDFPluginBase.mm:
(-[WKAccessibilityPDFDocumentObject initWithPDFDocument:andElement:]):
(-[WKAccessibilityPDFDocumentObject setPDFPlugin:]):
(-[WKAccessibilityPDFDocumentObject setPDFDocument:]):
(-[WKAccessibilityPDFDocumentObject isAccessibilityElement]):
(-[WKAccessibilityPDFDocumentObject accessibilityFocusedUIElement]):
(-[WKAccessibilityPDFDocumentObject document]):
(-[WKAccessibilityPDFDocumentObject accessibilityVisibleChildren]):
(-[WKAccessibilityPDFDocumentObject parent]):
(-[WKAccessibilityPDFDocumentObject setParent:]):
(-[WKAccessibilityPDFDocumentObject accessibilityAttributeValue:]):
(-[WKAccessibilityPDFDocumentObject accessibilityAttributeNames]):
(-[WKAccessibilityPDFDocumentObject accessibilityShouldUseUniqueId]):
(-[WKAccessibilityPDFDocumentObject accessibilityArrayAttributeCount:]):
(-[WKAccessibilityPDFDocumentObject accessibilityChildren]):
(-[WKAccessibilityPDFDocumentObject accessibilityHitTest:]):
(-[WKAccessibilityPDFDocumentObject gotoDestination:]):
(WebKit::PDFPluginBase::PDFPluginBase):
(WebKit::PDFPluginBase::showContextMenuAtPoint):
(WebKit::PDFPluginBase::convertFromPDFViewToRootView const):
(WebKit::PDFPluginBase::convertFromPDFViewToScreenForAccessibility const):
(WebKit::PDFPluginBase::axObjectCache const):
(WebKit::PDFPluginBase::convertFromRootViewToPDFView const):
(WebKit::PDFPluginBase::accessibilityAssociatedPluginParentForElement const):
* Source/WebKit/WebProcess/Plugins/PDF/UnifiedPDF/UnifiedPDFPlugin.h:
* Source/WebKit/WebProcess/Plugins/PDF/UnifiedPDF/UnifiedPDFPlugin.mm:
(WebKit::UnifiedPDFPlugin::accessibilityHitTestIntPoint const):
(WebKit::UnifiedPDFPlugin::accessibilityHitTest const):
(WebKit::UnifiedPDFPlugin::accessibilityObject const):
(WebKit::UnifiedPDFPlugin::accessibilityAssociatedPluginParentForElement const): Deleted.
* Source/WebKit/WebProcess/Plugins/PluginView.cpp:
(WebKit::PluginView::pdfDocumentForPrinting const):

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




More information about the webkit-changes mailing list