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