Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 06690fcb3f8f8a0d268d64680fbae1fa3c7efd51
      
https://github.com/WebKit/WebKit/commit/06690fcb3f8f8a0d268d64680fbae1fa3c7efd51
  Author: Wenson Hsieh <[email protected]>
  Date:   2026-04-02 (Thu, 02 Apr 2026)

  Changed paths:
    A Source/WebKit/Shared/ExtractedNodeInfo.h
    R Source/WebKit/Shared/FrameAndNodeIdentifiers.h
    M Source/WebKit/Shared/TextExtractionToStringConversion.cpp
    M Source/WebKit/Shared/TextExtractionToStringConversion.h
    M Source/WebKit/UIProcess/API/Cocoa/WKWebView.mm
    M Source/WebKit/UIProcess/API/Cocoa/_WKTextExtraction.mm
    M Source/WebKit/UIProcess/API/Cocoa/_WKTextExtractionInternal.h
    M Source/WebKit/WebKit.xcodeproj/project.pbxproj
    M Tools/TestWebKitAPI/Tests/WebKitCocoa/TextExtractionTests.mm

  Log Message:
  -----------
  [AutoFill Debugging] UI-side search text targeting should prioritize 
interactive elements with identifiers
https://bugs.webkit.org/show_bug.cgi?id=311374
rdar://173971095

Reviewed by Abrar Rahman Protyasha.

Give priority to text that either has IDs, or whose parent item has an ID when 
resolving search
text.

Test: TextExtractionTests.ExtractionContextPrefersInteractiveElement

* Source/WebKit/Shared/ExtractedNodeInfo.h: Renamed from 
Source/WebKit/Shared/FrameAndNodeIdentifiers.h.

Rename this struct, now that it contains an `interactivity` flag.

(WebKit::ExtractedNodeInfo::operator== const):
* Source/WebKit/Shared/TextExtractionToStringConversion.cpp:
(WebKit::parseExtractedNodeInfo):
(WebKit::TextExtractionAggregator::collectTextMapping):
(WebKit::populateJSONForItem):
(WebKit::addTextRepresentationRecursive):
(WebKit::parseFrameAndNodeIdentifiers): Deleted.
* Source/WebKit/Shared/TextExtractionToStringConversion.h:
* Source/WebKit/UIProcess/API/Cocoa/WKWebView.mm:
(-[WKWebView _convertToWebCoreInteraction:]):
(-[WKWebView _requestJSHandleForNodeIdentifier:searchText:completionHandler:]):
(-[WKWebView 
_requestContainerJSHandleForNodeIdentifier:searchText:completionHandler:]):
(-[WKWebView 
_requestContainerJSHandleForSearchTexts:nodeIdentifier:completionHandler:]):
* Source/WebKit/UIProcess/API/Cocoa/_WKTextExtraction.mm:
(-[_WKTextExtractionResult 
initWithWebView:textContent:filteredOutAnyText:shortenedURLs:textToContainerMap:]):
(-[_WKTextExtractionResult resolveContainerForSearchText:]):

Prioritize interactive items (with identifiers) when resolving search text.

* Source/WebKit/UIProcess/API/Cocoa/_WKTextExtractionInternal.h:
* Source/WebKit/WebKit.xcodeproj/project.pbxproj:
* Tools/TestWebKitAPI/Tests/WebKitCocoa/TextExtractionTests.mm:
(TestWebKitAPI::(TextExtractionTests, 
ExtractionContextPrefersInteractiveElement)):

Add another test case to exercise this fix.

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



To unsubscribe from these emails, change your notification settings at 
https://github.com/WebKit/WebKit/settings/notifications

Reply via email to