Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: ca8a33f183972bba6a96003dc5d6d29709c6490e
      
https://github.com/WebKit/WebKit/commit/ca8a33f183972bba6a96003dc5d6d29709c6490e
  Author: Sihui Liu <[email protected]>
  Date:   2025-05-02 (Fri, 02 May 2025)

  Changed paths:
    M Source/WebCore/editing/TextManipulationController.cpp
    M Source/WebCore/editing/TextManipulationController.h
    M Source/WebCore/editing/TextManipulationControllerManipulationFailure.h
    M Source/WebKit/Scripts/webkit/messages.py
    M Source/WebKit/Shared/WebCoreArgumentCoders.serialization.in
    M Source/WebKit/UIProcess/API/Cocoa/WKWebView.mm
    M Source/WebKit/UIProcess/WebPageProxy.cpp
    M Source/WebKit/UIProcess/WebPageProxy.h
    M Source/WebKit/WebProcess/WebPage/WebPage.cpp
    M Source/WebKit/WebProcess/WebPage/WebPage.h
    M Source/WebKit/WebProcess/WebPage/WebPage.messages.in
    M Tools/TestWebKitAPI/Tests/WebKitCocoa/SiteIsolation.mm

  Log Message:
  -----------
  [Site Isolation] Add support for text manipulation in cross-site frames
rdar://150383885
https://bugs.webkit.org/show_bug.cgi?id=292339

Reviewed by Ryosuke Niwa.

To make text manipulation work with site isolation, UI process should send 
message to all frame processes and collect
replies from all of them. This patch also ensures web process inspects all 
local frames by replacing
traverseNextRendered() with traverseNext(), as traverseNextRendered() will stop 
early when encountering a remote frame.

API test: SiteIsolation.CompleteTextManipulation
          SiteIsolation.CompleteTextManipulationFailsInSomeFrame

* Source/WebCore/editing/TextManipulationController.cpp:
(WebCore::TextManipulationController::completeManipulation):
* Source/WebCore/editing/TextManipulationController.h:
* Source/WebCore/editing/TextManipulationControllerManipulationFailure.h:
* Source/WebKit/Scripts/webkit/messages.py:
(headers_for_type):
* Source/WebKit/Shared/WebCoreArgumentCoders.serialization.in:
* Source/WebKit/UIProcess/API/Cocoa/WKWebView.mm:
(-[WKWebView _completeTextManipulation:completion:]):
(-[WKWebView _completeTextManipulationForItems:completion:]):
* Source/WebKit/UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::startTextManipulations):
(WebKit::WebPageProxy::completeTextManipulation):
* Source/WebKit/UIProcess/WebPageProxy.h:
* Source/WebKit/WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::startTextManipulations):
(WebKit::WebPage::completeTextManipulation):
* Source/WebKit/WebProcess/WebPage/WebPage.h:
* Source/WebKit/WebProcess/WebPage/WebPage.messages.in:
* Tools/TestWebKitAPI/Tests/WebKitCocoa/SiteIsolation.mm:
(-[SiteIsolationTextManipulationDelegate init]):
(-[SiteIsolationTextManipulationDelegate 
_webView:didFindTextManipulationItems:]):
(-[SiteIsolationTextManipulationDelegate items]):
(TestWebKitAPI::createToken):
(TestWebKitAPI::createItem):
(TestWebKitAPI::TEST(SiteIsolation, CompleteTextManipulation)):
(TestWebKitAPI::(SiteIsolation, CompleteTextManipulationFailsInSomeFrame)):
(TestWebKitAPI::TEST(SiteIsolation, DISABLED_Events)): Deleted.

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



To unsubscribe from these emails, change your notification settings at 
https://github.com/WebKit/WebKit/settings/notifications
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to