Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: f27610320c33bed78f1a2a19e2e8a3652c039e66
https://github.com/WebKit/WebKit/commit/f27610320c33bed78f1a2a19e2e8a3652c039e66
Author: Phinehas Fuachie <[email protected]>
Date: 2025-11-19 (Wed, 19 Nov 2025)
Changed paths:
M Source/WTF/Scripts/Preferences/UnifiedWebPreferences.yaml
M Source/WebCore/PAL/pal/spi/cocoa/AVKitSPI.h
M Source/WebKit/Configurations/AllowedSPI.toml
M Source/WebKit/UIProcess/Cocoa/_WKCaptionStyleMenuController.h
A Source/WebKit/UIProcess/Cocoa/_WKCaptionStyleMenuControllerInternal.h
M Source/WebKit/UIProcess/ios/WKActionSheetAssistant.mm
A Source/WebKit/UIProcess/ios/_WKCaptionStyleMenuControllerAVKit.h
A Source/WebKit/UIProcess/ios/_WKCaptionStyleMenuControllerAVKit.mm
M Source/WebKit/UIProcess/ios/_WKCaptionStyleMenuControllerIOS.mm
M Source/WebKit/WebKit.xcodeproj/project.pbxproj
M Tools/TestWebKitAPI/Tests/WebCore/cocoa/CaptionPreferencesTests.mm
Log Message:
-----------
[iOS] Third-party video apps lack standardized caption customization for FCC
compliance
https://bugs.webkit.org/show_bug.cgi?id=302359
rdar://164670301
Reviewed by Jer Noble.
Replace existing media controls captions styles menu for iOS with the new AVKit
SPI to meet FCC
compliance. Add SPI declaration to AVKitSPI.h and soft-link it in
WKCaptionStyleMenuControllerIOS
Test: Tools/TestWebKitAPI/Tests/WebCore/cocoa/CaptionPreferencesTests.mm
* Source/WTF/Scripts/Preferences/UnifiedWebPreferences.yaml:
* Source/WebCore/PAL/pal/spi/cocoa/AVKitSPI.h:
* Source/WebKit/Configurations/AllowedSPI.toml:
* Source/WebKit/UIProcess/Cocoa/_WKCaptionStyleMenuController.h:
* Source/WebKit/UIProcess/Cocoa/_WKCaptionStyleMenuControllerInternal.h: Copied
from Source/WebKit/UIProcess/Cocoa/_WKCaptionStyleMenuController.h.
* Source/WebKit/UIProcess/ios/WKActionSheetAssistant.mm:
(-[WKActionSheetAssistant
showMediaControlsContextMenu:items:frameInfo:identifier:completionHandler:]):
* Source/WebKit/UIProcess/ios/_WKCaptionStyleMenuControllerAVKit.h: Copied from
Source/WebKit/UIProcess/Cocoa/_WKCaptionStyleMenuController.h.
* Source/WebKit/UIProcess/ios/_WKCaptionStyleMenuControllerAVKit.mm: Added.
(-[_WKCaptionStyleMenuControllerAVKit init]):
(-[_WKCaptionStyleMenuControllerAVKit rebuildMenu]):
(-[_WKCaptionStyleMenuControllerAVKit isAncestorOf:]):
(-[_WKCaptionStyleMenuControllerAVKit
legibleMenuController:didRequestCaptionPreviewForProfileID:]):
(-[_WKCaptionStyleMenuControllerAVKit findAndDismissContextMenus]):
(-[_WKCaptionStyleMenuControllerAVKit searchForContextMenuInteractionsInView:]):
* Source/WebKit/UIProcess/ios/_WKCaptionStyleMenuControllerIOS.mm:
(+[WKCaptionStyleMenuController menuController]):
(-[WKCaptionStyleMenuController init]):
(-[WKCaptionStyleMenuController rebuildMenu]):
(-[WKCaptionStyleMenuController menu]):
(-[WKCaptionStyleMenuController setMenu:]):
(-[WKCaptionStyleMenuController interaction]):
(-[WKCaptionStyleMenuController setInteraction:]):
(-[WKCaptionStyleMenuController profileActionSelected:]):
(-[WKCaptionStyleMenuController notifyMenuWillOpen]):
(-[WKCaptionStyleMenuController notifyMenuDidClose]):
(-[WKCaptionStyleMenuController
contextMenuInteraction:configurationForMenuAtLocation:]):
* Source/WebKit/WebKit.xcodeproj/project.pbxproj:
* Tools/TestWebKitAPI/Tests/WebCore/cocoa/CaptionPreferencesTests.mm:
(-[TestContextMenuDelegate
contextMenuInteraction:configurationForMenuAtLocation:]):
(-[TestAVKitDelegate
legibleMenuController:didRequestCaptionPreviewForProfileID:]):
(TestWebKitAPI::CaptionPreferenceTests::ensureController):
(TestWebKitAPI::CaptionPreferenceTests::runAndWaitForCaptionPreviewRequested):
(TestWebKitAPI::TEST_F(CaptionPreferenceTests, AVKitMenuControllerIntegration)):
(TestWebKitAPI::TEST_F(CaptionPreferenceTests, ProfileIDSavingAndRestoration)):
(TestWebKitAPI::TEST_F(CaptionPreferenceTests, ContextMenuDismissalSearch)):
(TestWebKitAPI::TEST_F(CaptionPreferenceTests, MenuRebuildingWithAVKit)):
(TestWebKitAPI::TEST_F(CaptionPreferenceTests, MenuAncestryCheck)):
Canonical link: https://commits.webkit.org/303293@main
To unsubscribe from these emails, change your notification settings at
https://github.com/WebKit/WebKit/settings/notifications