Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: abeb87a4cf1f20d157039531443658d011c7892f
      
https://github.com/WebKit/WebKit/commit/abeb87a4cf1f20d157039531443658d011c7892f
  Author: Zak Ridouh <[email protected]>
  Date:   2026-09-29 (Tue, 29 Sep 2026)

  Changed paths:
    M Source/WebKit/UIProcess/Cocoa/WebPageProxyCocoa.mm
    M Source/WebKit/UIProcess/WebPageProxy.cpp
    M Source/WebKit/UIProcess/ios/WebPageProxyIOS.mm
    M Source/WebKit/WebProcess/WebPage/Cocoa/WebPageCocoa.mm
    M Tools/TestWebKitAPI/Tests/WebKit/WKWebView/SiteIsolation-1.mm

  Log Message:
  -----------
  [Site Isolation] Dictation alternatives and placeholders don't work in 
cross-site iframes
<https://bugs.webkit.org/show_bug.cgi?id=325466>
<rdar://problem/188562054>

Reviewed by Tim Nguyen.

Dictation alternatives, streaming opacity, the final dictation result, and text 
placeholders were always sent to the
main frame's process, so they did nothing for inputs in cross-site iframes.

Send them to the focused frame's process, and remove a text placeholder in the 
process that owns it. The web process now
always replies to the dictation alternative requests.

Test: Tools/TestWebKitAPI/Tests/WebKit/WKWebView/SiteIsolation-1.mm

* Source/WebKit/UIProcess/Cocoa/WebPageProxyCocoa.mm:
(WebKit::WebPageProxy::addDictationAlternative):
(WebKit::WebPageProxy::dictationAlternativesAtSelection):
(WebKit::WebPageProxy::clearDictationAlternatives):
(WebKit::WebPageProxy::setDictationStreamingOpacity):
(WebKit::WebPageProxy::clearDictationStreamingOpacity):
* Source/WebKit/UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::insertTextPlaceholder):
(WebKit::WebPageProxy::removeTextPlaceholder):
* Source/WebKit/UIProcess/ios/WebPageProxyIOS.mm:
(WebKit::WebPageProxy::willInsertFinalDictationResult):
(WebKit::WebPageProxy::didInsertFinalDictationResult):
* Source/WebKit/WebProcess/WebPage/Cocoa/WebPageCocoa.mm:
(WebKit::WebPage::addDictationAlternative):
(WebKit::WebPage::dictationAlternativesAtSelection):
(WebKit::WebPage::removeTextPlaceholder):
* Tools/TestWebKitAPI/Tests/WebKit/WKWebView/SiteIsolation-1.mm:
(TestWebKitAPI::TEST(SiteIsolation, TextPlaceholderInCrossOriginIframe)):
(TestWebKitAPI::configurationWithInternals):
(TestWebKitAPI::markerCountInFrame):
(TestWebKitAPI::TEST(SiteIsolation, DictationAlternativesInCrossOriginIframe)):
(TestWebKitAPI::TEST(SiteIsolation, 
DictationStreamingOpacityInCrossOriginIframe)):
(TestWebKitAPI::TEST(SiteIsolation, 
InsertFinalDictationResultInCrossOriginIframe)):

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



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

Reply via email to