Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 935b9fc3fbdfbc87248e69f14ecf4f21fbfacb7c
      
https://github.com/WebKit/WebKit/commit/935b9fc3fbdfbc87248e69f14ecf4f21fbfacb7c
  Author: Jer Noble <[email protected]>
  Date:   2025-12-03 (Wed, 03 Dec 2025)

  Changed paths:
    M Source/WebKit/UIProcess/Cocoa/_WKCaptionStyleMenuControllerInternal.h
    M Source/WebKit/UIProcess/ios/_WKCaptionStyleMenuControllerAVKit.mm
    M Source/WebKit/UIProcess/ios/_WKCaptionStyleMenuControllerIOS.mm
    M Source/WebKit/UIProcess/mac/_WKCaptionStyleMenuControllerAVKitMac.mm
    M Source/WebKit/UIProcess/mac/_WKCaptionStyleMenuControllerMac.mm
    M Tools/TestWebKitAPI/Tests/WebCore/cocoa/CaptionPreferencesTests.mm

  Log Message:
  -----------
  Hovering Caption Style Menu items does not change preview
rdar://165741968
https://bugs.webkit.org/show_bug.cgi?id=303455

Reviewed by Eric Carlson.

The -legibleMenuController:didRequestCaptionPreviewForProfileID: delegate 
callback was not being
called on macOS because we reset the NSMenu's delegate to ourselves after 
creation; this overrides
AVKit's own delegate, and subsequently, their own delegate methods were not 
called when menu items
are hovered.

Take this opportunity to refactor the base classes of 
WKCaptionStyleMenuController so that behavior
when hovering can be shared between the base class and the AVKit subclass. And 
add support for
additional delegate callbacks like -_WKCaptionStyleMenuControllerInternal.

* Source/WebKit/UIProcess/Cocoa/_WKCaptionStyleMenuControllerInternal.h:
* Source/WebKit/UIProcess/ios/_WKCaptionStyleMenuControllerAVKit.mm:
(-[_WKCaptionStyleMenuControllerAVKit 
legibleMenuController:didRequestCaptionPreviewForProfileID:]):
(-[_WKCaptionStyleMenuControllerAVKit 
legibleMenuControllerDidRequestStoppingSubtitleCaptionPreview:]):
(-[_WKCaptionStyleMenuControllerAVKit findAndDismissContextMenus]): Deleted.
(-[_WKCaptionStyleMenuControllerAVKit 
searchForContextMenuInteractionsInView:]): Deleted.
* Source/WebKit/UIProcess/ios/_WKCaptionStyleMenuControllerIOS.mm:
(+[WKCaptionStyleMenuController menuController]):
(-[WKCaptionStyleMenuController setPreviewProfileID:]):
* Source/WebKit/UIProcess/mac/_WKCaptionStyleMenuControllerAVKitMac.mm:
(-[_WKCaptionStyleMenuControllerAVKitMac rebuildMenu]):
(-[_WKCaptionStyleMenuControllerAVKitMac 
legibleMenuController:didRequestCaptionPreviewForProfileID:]):
(-[_WKCaptionStyleMenuControllerAVKitMac 
legibleMenuControllerDidRequestStoppingSubtitleCaptionPreview:]):
(-[_WKCaptionStyleMenuControllerAVKitMac findAndDismissPopoverMenus]): Deleted.
(-[_WKCaptionStyleMenuControllerAVKitMac searchForMenuInteractionsInWindow:]): 
Deleted.
* Source/WebKit/UIProcess/mac/_WKCaptionStyleMenuControllerMac.mm:
(-[WKCaptionStyleMenuController profileMenuItemHighlighted:]):
(-[WKCaptionStyleMenuController setPreviewProfileID:]):

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



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

Reply via email to