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

Reply via email to