Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: 3c3952e21f82397959a664ec61174df814dec86b
https://github.com/WebKit/WebKit/commit/3c3952e21f82397959a664ec61174df814dec86b
Author: Zak Ridouh <[email protected]>
Date: 2026-07-27 (Mon, 27 Jul 2026)
Changed paths:
M Source/WebKit/UIProcess/WebPageProxy.cpp
M Tools/TestWebKitAPI/Tests/WebKit/WKWebView/SiteIsolation.mm
Log Message:
-----------
[Site Isolation] IME composition is applied to the wrong process for inputs
in cross-origin iframes
https://bugs.webkit.org/show_bug.cgi?id=320018
rdar://182950456
Reviewed by Alex Christensen.
Under Site Isolation the focused frame may run in a different web process
than the main frame. setCompositionAsync, setWritingSuggestion,
confirmCompositionAsync, and setTextAsync were sent unconditionally to the
main-frame process, which has no local focused frame, so IME marked text /
inline predictions were dropped when the focused element was inside a
cross-origin iframe. Only committed text (insertText) worked, because
insertTextAsync was already routed correctly.
Route all four to the focused frame's process via
sendToFocusedOrMainFrameProcess, matching insertTextAsync. The web-process
handlers already resolve focusController().focusedOrMainFrame(), so no other
change is needed.
Test: Tools/TestWebKitAPI/Tests/WebKit/WKWebView/SiteIsolation.mm
* Source/WebKit/UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::setTextAsync):
(WebKit::WebPageProxy::setCompositionAsync):
(WebKit::WebPageProxy::setWritingSuggestion):
(WebKit::WebPageProxy::confirmCompositionAsync):
* Tools/TestWebKitAPI/Tests/WebKit/WKWebView/SiteIsolation.mm:
(TestWebKitAPI::TEST(SiteIsolation, SetMarkedTextInCrossOriginIframe)):
Canonical link: https://commits.webkit.org/318017@main
To unsubscribe from these emails, change your notification settings at
https://github.com/WebKit/WebKit/settings/notifications