Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: 2da76b2d50b2a5bbf63de3b1b92378e0e242794f
https://github.com/WebKit/WebKit/commit/2da76b2d50b2a5bbf63de3b1b92378e0e242794f
Author: Wenson Hsieh <[email protected]>
Date: 2025-12-16 (Tue, 16 Dec 2025)
Changed paths:
M Source/WebKit/Configurations/AllowedSPI.toml
M Source/WebKit/Platform/spi/Cocoa/SafeBrowsingSPI.h
M Source/WebKit/UIProcess/API/Cocoa/WKWebView.mm
M Source/WebKit/UIProcess/Cocoa/SafeBrowsingUtilities.h
M Source/WebKit/UIProcess/Cocoa/SafeBrowsingUtilities.mm
M Source/WebKit/UIProcess/Cocoa/TextExtraction/WKTextExtractionUtilities.h
M Source/WebKit/UIProcess/Cocoa/TextExtraction/WKTextExtractionUtilities.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/Configurations/Base.xcconfig
M Tools/TestWebKitAPI/Tests/WebKitCocoa/TextExtractionTests.mm
Log Message:
-----------
[AutoFill Debugging] Complete support for JavaScript-based text extraction
filtering rules
https://bugs.webkit.org/show_bug.cgi?id=304280
rdar://166646585
Reviewed by Aditya Keerthi.
Build on the infrastructure added in 303657@main, by requesting text extraction
filtering rule data
and plumbing it to the web page before extracting text. See below for more
details.
Tests: TextExtractionTests.FilteringRules
* Source/WebKit/Configurations/AllowedSPI.toml:
* Source/WebKit/Platform/spi/Cocoa/SafeBrowsingSPI.h:
Adjust this forward declaration to be consistent with the latest WIP API.
* Source/WebKit/UIProcess/API/Cocoa/WKWebView.mm:
(createEmptyTextExtractionResult):
(-[WKWebView _extractDebugTextWithConfiguration:completionHandler:]):
(-[WKWebView
_extractDebugTextWithConfigurationWithoutUpdatingFilterRules:completionHandler:]):
Move logic to extract debug text out into a separate method, and make the
existing implementation of
`-_extractDebugTextWithConfiguration:completionHandler:` first ensure that the
filtering rules have
been requested and updated (if available), before continuing the extraction.
* Source/WebKit/UIProcess/Cocoa/SafeBrowsingUtilities.h:
* Source/WebKit/UIProcess/Cocoa/SafeBrowsingUtilities.mm:
(WebKit::SafeBrowsingUtilities::listsForNamespace):
Adjust this to reflect the current state of the WIP API.
(WebKit::SafeBrowsingUtilities::namespacedCollectionForTextExtraction):
* Source/WebKit/UIProcess/Cocoa/TextExtraction/WKTextExtractionUtilities.h:
* Source/WebKit/UIProcess/Cocoa/TextExtraction/WKTextExtractionUtilities.mm:
(WebKit::requestTextExtractionFilterRuleData):
Add a helper function that requests raw list data using `listsForNamespace`
above, and converts it
into a vector of `FilterRuleData`.
* Source/WebKit/UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::hasTextExtractionFilterRules):
* Source/WebKit/UIProcess/WebPageProxy.h:
* Source/WebKit/WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::hasTextExtractionFilterRules):
* Source/WebKit/WebProcess/WebPage/WebPage.h:
* Source/WebKit/WebProcess/WebPage/WebPage.messages.in:
* Tools/TestWebKitAPI/Configurations/Base.xcconfig:
* Tools/TestWebKitAPI/Tests/WebKitCocoa/TextExtractionTests.mm:
(TestWebKitAPI::overrideGetListsForNamespace):
(TestWebKitAPI::TEST(TextExtractionTests, FilteringRules)):
Add an API test to exercise this new functionality, by swizzling out the
selector to contain
hard-coded rules.
Canonical link: https://commits.webkit.org/304580@main
To unsubscribe from these emails, change your notification settings at
https://github.com/WebKit/WebKit/settings/notifications