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

Reply via email to