commit | 4f17b121eee07609aabb5e397fb61cee9cc7f7ed | [log] [tgz] |
---|---|---|
author | Florian Leimgruber <fleimgruber@google.com> | Thu Nov 14 13:51:18 2024 |
committer | Chromium LUCI CQ <chromium-scoped@luci-project-accounts.iam.gserviceaccount.com> | Thu Nov 14 13:51:18 2024 |
tree | 9c4bb871d706ae853dde7b8e3461d76643e06823 | |
parent | 6c53b8a0faadd4c0270d25c94b5fb4cbaf6522c1 [diff] |
Store MatchInfo while parsing See description of crrev.com/c/5979815. Parsers are implemented as classes with a static Parse() function that returns an instance of the parser class, and a non-static AddClassifications() function in that parser class. The Parse() implementation then populates raw_ptr<AutofillField> members of the class, which AddClassifications() uses to make classifications. This CL replaces the raw_ptr<AutofillField> members with an std::optional<FormFieldParser::FieldAndMatchInfo>, representing a pair of raw_ptr<AutofillField> and MatchInfo. What used to be represented with a null raw_ptr is now represented as std::nullopt. It further changes the implementation of FormFieldParser::ParseField() to take an std::optional<FieldAndMatchInfo>* rather than an AutofillField*, which is populated in case of a match. As a result, the MatchInfo is available in AddClassifications(), where it is currently not used. BYPASS_LARGE_CHANGE_WARNING Bug: 320965828 Change-Id: I0a90225db0e7964c0c41b7203a108d825889cdd3 Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/5980157 Reviewed-by: Dominic Battré <battre@chromium.org> Code-Coverage: findit-for-me@appspot.gserviceaccount.com <findit-for-me@appspot.gserviceaccount.com> Commit-Queue: Florian Leimgruber <fleimgruber@google.com> Cr-Commit-Position: refs/heads/main@{#1382931}
Chromium is an open-source browser project that aims to build a safer, faster, and more stable way for all users to experience the web.
The project's web site is https://www.chromium.org.
To check out the source code locally, don't use git clone
! Instead, follow the instructions on how to get the code.
Documentation in the source is rooted in docs/README.md.
Learn how to Get Around the Chromium Source Code Directory Structure.
For historical reasons, there are some small top level directories. Now the guidance is that new top level directories are for product (e.g. Chrome, Android WebView, Ash). Even if these products have multiple executables, the code should be in subdirectories of the product.
If you found a bug, please file it at https://crbug.com/new.