Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 83e38a6172c8d9b9fee4d3d5392585ea3f9ee8ae
      
https://github.com/WebKit/WebKit/commit/83e38a6172c8d9b9fee4d3d5392585ea3f9ee8ae
  Author: Richard Robinson <[email protected]>
  Date:   2026-03-23 (Mon, 23 Mar 2026)

  Changed paths:
    M Source/WebKit/WebProcess/Plugins/PDF/PDFPluginBase.h
    M Source/WebKit/WebProcess/Plugins/PDF/PDFPluginBase.mm
    M 
Source/WebKit/WebProcess/Plugins/PDF/UnifiedPDF/PDFDataDetectorOverlayController.h
    M 
Source/WebKit/WebProcess/Plugins/PDF/UnifiedPDF/PDFDataDetectorOverlayController.mm
    M Source/WebKit/WebProcess/Plugins/PDF/UnifiedPDF/UnifiedPDFPlugin.h
    M Source/WebKit/WebProcess/Plugins/PDF/UnifiedPDF/UnifiedPDFPlugin.mm
    M Source/WebKit/WebProcess/WebPage/Cocoa/WebPageCocoa.mm

  Log Message:
  -----------
  [AppKit Gestures] Clicking PDF form controls does not always work
https://bugs.webkit.org/show_bug.cgi?id=310510
rdar://173125990

Reviewed by Wenson Hsieh.

Add support for handling synthetic clicks in PDFs to have form controls work 
properly.

* Source/WebKit/WebProcess/Plugins/PDF/PDFPluginBase.h:
* Source/WebKit/WebProcess/Plugins/PDF/PDFPluginBase.mm:
(WebKit::PDFPluginBase::navigateToURL):
* 
Source/WebKit/WebProcess/Plugins/PDF/UnifiedPDF/PDFDataDetectorOverlayController.h:
* 
Source/WebKit/WebProcess/Plugins/PDF/UnifiedPDF/PDFDataDetectorOverlayController.mm:
(WebKit::PDFDataDetectorOverlayController::handleMouseEvent):

- Use Platform* event types instead of Web* event types

* Source/WebKit/WebProcess/Plugins/PDF/UnifiedPDF/UnifiedPDFPlugin.h:
* Source/WebKit/WebProcess/Plugins/PDF/UnifiedPDF/UnifiedPDFPlugin.mm:
(WebKit::isContextMenuEvent):
(WebKit::UnifiedPDFPlugin::handleMouseEvent):
(WebKit::UnifiedPDFPlugin::startTrackingAnnotation):
(WebKit::UnifiedPDFPlugin::finishTrackingAnnotation):
(WebKit::UnifiedPDFPlugin::selectionGranularityForMouseEvent const):
(WebKit::UnifiedPDFPlugin::beginTrackingSelection):
(WebKit::AnnotationTrackingState::startAnnotationTracking):
(WebKit::AnnotationTrackingState::finishAnnotationTracking):
(WebKit::UnifiedPDFPlugin::handleSyntheticClick):

- Add a version of `handleMouseEvent` that can accept a `PlatformMouseEvent`, 
and refactor the existing overload
of the method to just call into this new one.
- Use Platform* event types instead of Web* event types
- For `Automation` input events, have `handleMouseEvent` get called when 
handling a synthetic event. To maintain existing behavior, also return early 
afterwards if the event is a MousePressed event

* Source/WebKit/WebProcess/WebPage/Cocoa/WebPageCocoa.mm:
(WebKit::WebPage::completeSyntheticClick):

- Call `handleSyntheticClick` for both pressed and release events

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



To unsubscribe from these emails, change your notification settings at 
https://github.com/WebKit/WebKit/settings/notifications

Reply via email to