Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: 79fb1f414fe35c868ee79a0c859d31bf29fab720
https://github.com/WebKit/WebKit/commit/79fb1f414fe35c868ee79a0c859d31bf29fab720
Author: Jer Noble <[email protected]>
Date: 2025-11-20 (Thu, 20 Nov 2025)
Changed paths:
A
LayoutTests/media/caption-display-settings/caption-display-settings-anchorBounds-expected.txt
A
LayoutTests/media/caption-display-settings/caption-display-settings-anchorBounds.html
A
LayoutTests/media/caption-display-settings/caption-display-settings-expected.txt
A
LayoutTests/media/caption-display-settings/caption-display-settings-positionArea-expected.txt
A
LayoutTests/media/caption-display-settings/caption-display-settings-positionArea.html
A LayoutTests/media/caption-display-settings/caption-display-settings.html
M Source/WebCore/CMakeLists.txt
M Source/WebCore/DerivedSources-input.xcfilelist
M Source/WebCore/DerivedSources-output.xcfilelist
M Source/WebCore/DerivedSources.make
M Source/WebCore/Headers.cmake
M Source/WebCore/Sources.txt
M Source/WebCore/WebCore.xcodeproj/project.pbxproj
M Source/WebCore/bindings/js/JSDOMPromise.h
A Source/WebCore/html/CaptionDisplaySettingsClient.h
A Source/WebCore/html/CaptionDisplaySettingsOptions.h
A Source/WebCore/html/CaptionDisplaySettingsOptions.idl
A Source/WebCore/html/HTMLVideoElement+CaptionDisplaySettings.idl
A Source/WebCore/html/HTMLVideoElementCaptionDisplaySettings.cpp
A Source/WebCore/html/HTMLVideoElementCaptionDisplaySettings.h
A Source/WebCore/html/ResolvedCaptionDisplaySettingsOptions.h
A Source/WebCore/html/ResolvedCaptionDisplaySettingsOptions.idl
A Source/WebCore/html/ResolvedCaptionDisplaySettingsOptionsWrapper.h
M Source/WebCore/page/ChromeClient.cpp
M Source/WebCore/page/ChromeClient.h
M Source/WebCore/page/Page.cpp
M Source/WebCore/page/Page.h
M Source/WebCore/testing/Internals.cpp
M Source/WebCore/testing/Internals.h
M Source/WebCore/testing/Internals.idl
A Source/WebCore/testing/MockCaptionDisplaySettingsClientCallback.cpp
A Source/WebCore/testing/MockCaptionDisplaySettingsClientCallback.h
A Source/WebCore/testing/MockCaptionDisplaySettingsClientCallback.idl
M Source/WebCore/workers/WorkerOrWorkletScriptController.h
M Source/WebKit/Shared/WebCoreArgumentCoders.serialization.in
M Source/WebKit/UIProcess/PageClient.cpp
M Source/WebKit/UIProcess/PageClient.h
M Source/WebKit/UIProcess/WebPageProxy.cpp
M Source/WebKit/UIProcess/WebPageProxy.h
M Source/WebKit/UIProcess/WebPageProxy.messages.in
M Source/WebKit/UIProcess/ios/PageClientImplIOS.h
M Source/WebKit/UIProcess/ios/PageClientImplIOS.mm
M Source/WebKit/UIProcess/ios/WKActionSheetAssistant.h
M Source/WebKit/UIProcess/ios/WKActionSheetAssistant.mm
M Source/WebKit/UIProcess/ios/WKContentViewInteraction.h
M Source/WebKit/UIProcess/ios/WKContentViewInteraction.mm
M Source/WebKit/UIProcess/ios/_WKCaptionStyleMenuControllerIOS.mm
M Source/WebKit/UIProcess/mac/PageClientImplMac.h
M Source/WebKit/UIProcess/mac/PageClientImplMac.mm
M Source/WebKit/UIProcess/mac/WebViewImpl.h
M Source/WebKit/UIProcess/mac/WebViewImpl.mm
A Source/WebKit/WebProcess/WebCoreSupport/WebCaptionDisplaySettingsOptions.h
M Source/WebKit/WebProcess/WebCoreSupport/WebChromeClient.cpp
M Source/WebKit/WebProcess/WebCoreSupport/WebChromeClient.h
Log Message:
-----------
[Cocoa] Add support for experimental showCaptionDisplaySettings() API
rdar://164744943
https://bugs.webkit.org/show_bug.cgi?id=302547
Reviewed by Eric Carlson.
In https://github.com/WebKit/explainers/tree/main/CaptionDisplaySettings,
WebKit proposed
a new API which allows web apps to trigger a system-provided UI for picking
subtitle
display styles. This patch adds initial support for that API.
* Source/WebCore/DerivedSources-input.xcfilelist:
* Source/WebCore/DerivedSources-output.xcfilelist:
* Source/WebCore/DerivedSources.make:
* Source/WebCore/Sources.txt:
* Source/WebCore/WebCore.xcodeproj/project.pbxproj:
* Source/WebCore/html/CaptionDisplaySettingsOptions.h: Copied from
Source/WebKit/UIProcess/PageClient.cpp.
* Source/WebCore/html/CaptionDisplaySettingsOptions.idl: Copied from
Source/WebKit/UIProcess/PageClient.cpp.
* Source/WebCore/html/HTMLVideoElement+CaptionDisplaySettings.idl: Copied from
Source/WebKit/UIProcess/PageClient.cpp.
* Source/WebCore/html/HTMLVideoElementCaptionDisplaySettings.cpp: Added.
(WebCore::parsePositionAreaString):
(WebCore::HTMLVideoElementCaptionDisplaySettings::showCaptionDisplaySettings):
* Source/WebCore/html/HTMLVideoElementCaptionDisplaySettings.h: Copied from
Source/WebKit/UIProcess/PageClient.cpp.
* Source/WebCore/page/ChromeClient.cpp:
(WebCore::ChromeClient::showCaptionDisplaySettings):
* Source/WebCore/page/ChromeClient.h:
(WebCore::ChromeClient::showCaptionDisplaySettings): Deleted.
* Source/WebKit/Scripts/webkit/messages.py:
(headers_for_type):
* Source/WebKit/Shared/WebCoreArgumentCoders.serialization.in:
* Source/WebKit/UIProcess/PageClient.cpp:
(WebKit::PageClient::showCaptionDisplaySettings):
* Source/WebKit/UIProcess/PageClient.h:
(WebKit::PageClient::showCaptionDisplaySettings): Deleted.
* Source/WebKit/UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::showCaptionDisplaySettings):
* Source/WebKit/UIProcess/WebPageProxy.h:
* Source/WebKit/UIProcess/WebPageProxy.messages.in:
* Source/WebKit/UIProcess/ios/PageClientImplIOS.h:
* Source/WebKit/UIProcess/ios/PageClientImplIOS.mm:
(WebKit::PageClientImpl::showCaptionDisplaySettings):
* Source/WebKit/UIProcess/ios/WKActionSheetAssistant.h:
* Source/WebKit/UIProcess/ios/WKActionSheetAssistant.mm:
(-[WKActionSheetAssistant _resetMediaControlsContextMenuPresenter]):
(-[WKActionSheetAssistant captionStyleMenuDidClose:]):
(-[WKActionSheetAssistant
showCaptionDisplaySettingsMenu:withOptions:completionHandler:]):
(-[WKActionSheetAssistant
contextMenuInteraction:willEndForConfiguration:animator:]):
* Source/WebKit/UIProcess/ios/WKContentViewInteraction.h:
* Source/WebKit/UIProcess/ios/WKContentViewInteraction.mm:
(-[WKContentView
showCaptionDisplaySettingsMenu:withOptions:completionHandler:]):
* Source/WebKit/UIProcess/ios/_WKCaptionStyleMenuControllerIOS.mm:
* Source/WebKit/UIProcess/mac/PageClientImplMac.h:
* Source/WebKit/UIProcess/mac/PageClientImplMac.mm:
(WebKit::PageClientImpl::showCaptionDisplaySettings):
* Source/WebKit/UIProcess/mac/WebViewImpl.h:
* Source/WebKit/UIProcess/mac/WebViewImpl.mm:
(WebKit::WebViewImpl::showCaptionDisplaySettings):
* Source/WebKit/WebProcess/WebCoreSupport/WebChromeClient.cpp:
(WebKit::WebChromeClient::showCaptionDisplaySettings):
* Source/WebKit/WebProcess/WebCoreSupport/WebChromeClient.h:
Canonical link: https://commits.webkit.org/303334@main
To unsubscribe from these emails, change your notification settings at
https://github.com/WebKit/WebKit/settings/notifications