Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: 65d380f3ec1fd7169c94a6dc1626d0e86d3f1db0
https://github.com/WebKit/WebKit/commit/65d380f3ec1fd7169c94a6dc1626d0e86d3f1db0
Author: Zak Ridouh <[email protected]>
Date: 2026-07-27 (Mon, 27 Jul 2026)
Changed paths:
M Source/WebKit/UIProcess/Cocoa/WebPageProxyCocoa.mm
M Source/WebKit/UIProcess/WebPageProxy.cpp
M Source/WebKit/UIProcess/ios/WebPageProxyIOS.mm
M Tools/TestWebKitAPI/Tests/WebKit/WKWebView/SiteIsolation.mm
Log Message:
-----------
[Site Isolation] Dictation is applied to the wrong process for inputs in
cross-origin iframes
https://bugs.webkit.org/show_bug.cgi?id=320008
rdar://182947071
Reviewed by Alex Christensen.
Under Site Isolation the focused frame may live in a different web process
than the main frame. insertDictatedTextAsync (when the dictation carries
alternatives) and replaceDictatedText were sent unconditionally to the
main-frame process, which has no local focused frame, so dictated text and
its alternatives were dropped when the focused element was inside a
cross-origin iframe.
Route both to the focused frame's process via sendToProcessContainingFrame,
matching the sibling insertTextAsync. The empty-alternatives path already
delegated to insertTextAsync and is unchanged.
Test: Tools/TestWebKitAPI/Tests/WebKit/WKWebView/SiteIsolation.mm
* Source/WebKit/UIProcess/Cocoa/WebPageProxyCocoa.mm:
(WebKit::WebPageProxy::insertDictatedTextAsync):
* Source/WebKit/UIProcess/WebPageProxy.cpp:
* Source/WebKit/UIProcess/ios/WebPageProxyIOS.mm:
(WebKit::WebPageProxy::replaceDictatedText):
* Tools/TestWebKitAPI/Tests/WebKit/WKWebView/SiteIsolation.mm:
(TestWebKitAPI::(SiteIsolation,
InsertDictatedTextWithAlternativesInCrossOriginIframe)):
(TestWebKitAPI::(SiteIsolation, ReplaceDictatedTextInCrossOriginIframe)):
Canonical link: https://commits.webkit.org/318019@main
To unsubscribe from these emails, change your notification settings at
https://github.com/WebKit/WebKit/settings/notifications