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