0

[Autofill] Remove _TAG suffix from non-tag types

A tag type is a FieldType which has associated sub-FieldTypes. For
example, PASSPORT_NAME_TAG is a tag type which has the subtypes
NAME_FULL, NAME_FIRST, NAME_LAST, etc.

By that definition, the following FieldTypes are not tag types.
- PASSPORT_ISSUING_COUNTRY_TAG
- PASSPORT_EXPIRATION_DATE_TAG
- PASSPORT_ISSUE_DATE_TAG
- DRIVERS_LICENSE_EXPIRATION_DATE_TAG
- DRIVERS_LICENSE_ISSUE_DATE_TAG

This CL removes their _TAG suffix for that reason.

Bug: 398809224, 394000235
Change-Id: Ia6a9a2d4ab1501738bf83274b2fd49301306890e
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6330260
Reviewed-by: Tim <tjudkins@chromium.org>
Reviewed-by: Jan Keitel <jkeitel@google.com>
Commit-Queue: Christoph Schwering <schwering@google.com>
Cr-Commit-Position: refs/heads/main@{#1429681}
This commit is contained in:
Christoph Schwering
2025-03-07 12:40:40 -08:00
committed by Chromium LUCI CQ
parent de7113e999
commit c4072b2b16
18 changed files with 142 additions and 147 deletions

@ -128,9 +128,9 @@ namespace autofillPrivate {
IMPROVED_PREDICTION,
PASSPORT_NAME_TAG,
PASSPORT_NUMBER,
PASSPORT_ISSUING_COUNTRY_TAG,
PASSPORT_EXPIRATION_DATE_TAG,
PASSPORT_ISSUE_DATE_TAG,
PASSPORT_ISSUING_COUNTRY,
PASSPORT_EXPIRATION_DATE,
PASSPORT_ISSUE_DATE,
LOYALTY_MEMBERSHIP_PROGRAM,
LOYALTY_MEMBERSHIP_PROVIDER,
LOYALTY_MEMBERSHIP_ID,
@ -142,8 +142,8 @@ namespace autofillPrivate {
DRIVERS_LICENSE_NAME_TAG,
DRIVERS_LICENSE_REGION,
DRIVERS_LICENSE_NUMBER,
DRIVERS_LICENSE_EXPIRATION_DATE_TAG,
DRIVERS_LICENSE_ISSUE_DATE_TAG,
DRIVERS_LICENSE_EXPIRATION_DATE,
DRIVERS_LICENSE_ISSUE_DATE,
MAX_VALID_FIELD_TYPE
};

@ -239,7 +239,7 @@ TEST(ServerPredictionOverridesTest, Json) {
"12345": {
"123": [
{ "predictions": ["PASSPORT_NUMBER"] },
{ "predictions": ["PASSPORT_EXPIRATION_DATE_TAG"], "format_string": "DD/MM/YYYY" }
{ "predictions": ["PASSPORT_EXPIRATION_DATE"], "format_string": "DD/MM/YYYY" }
]
},
"67890": {
@ -272,7 +272,7 @@ TEST(ServerPredictionOverridesTest, Json) {
EqualsPrediction(PASSPORT_NUMBER))),
HasFormatString(std::nullopt)),
AllOf(HasPredictions(ElementsAre(EqualsPrediction(
PASSPORT_EXPIRATION_DATE_TAG))),
PASSPORT_EXPIRATION_DATE))),
HasFormatString(Eq("DD/MM/YYYY"))))),
Pair(form_and_field(67890, 123),
ElementsAre(AllOf(HasPredictions(ElementsAre(
@ -287,7 +287,7 @@ TEST(ServerPredictionOverridesTest, Json) {
ElementsAre(
AllOf(HasPredictions(ElementsAre(
EqualsPrediction(ADDRESS_HOME_COUNTRY),
EqualsPrediction(PASSPORT_ISSUING_COUNTRY_TAG))),
EqualsPrediction(PASSPORT_ISSUING_COUNTRY))),
HasFormatString(std::nullopt))))));
}

@ -208,9 +208,9 @@ std::unique_ptr<AddressComponent> BuildTreeNode(
case IMPROVED_PREDICTION:
case PASSPORT_NAME_TAG:
case PASSPORT_NUMBER:
case PASSPORT_ISSUING_COUNTRY_TAG:
case PASSPORT_EXPIRATION_DATE_TAG:
case PASSPORT_ISSUE_DATE_TAG:
case PASSPORT_ISSUING_COUNTRY:
case PASSPORT_EXPIRATION_DATE:
case PASSPORT_ISSUE_DATE:
case LOYALTY_MEMBERSHIP_PROGRAM:
case LOYALTY_MEMBERSHIP_PROVIDER:
case LOYALTY_MEMBERSHIP_ID:
@ -222,8 +222,8 @@ std::unique_ptr<AddressComponent> BuildTreeNode(
case DRIVERS_LICENSE_NAME_TAG:
case DRIVERS_LICENSE_REGION:
case DRIVERS_LICENSE_NUMBER:
case DRIVERS_LICENSE_EXPIRATION_DATE_TAG:
case DRIVERS_LICENSE_ISSUE_DATE_TAG:
case DRIVERS_LICENSE_EXPIRATION_DATE:
case DRIVERS_LICENSE_ISSUE_DATE:
case MAX_VALID_FIELD_TYPE:
return nullptr;
}

@ -65,12 +65,12 @@ TEST(AutofillEntityInstanceTest, Attributes_StructuredName) {
TEST(AutofillEntityInstanceTest, Attributes_Date) {
AttributeInstance passport_name(
(AttributeType(AttributeTypeName::kPassportIssueDate)));
passport_name.SetInfo(PASSPORT_ISSUE_DATE_TAG, u"2001-02-03",
passport_name.SetInfo(PASSPORT_ISSUE_DATE, u"2001-02-03",
/*app_locale=*/"", /*format_string=*/u"YYYY-MM-DD",
VerificationStatus::kNoStatus);
EXPECT_EQ(GetInfo(passport_name, PASSPORT_ISSUE_DATE_TAG), u"2001-02-03");
EXPECT_EQ(GetInfo(passport_name, PASSPORT_ISSUE_DATE_TAG,
EXPECT_EQ(GetInfo(passport_name, PASSPORT_ISSUE_DATE), u"2001-02-03");
EXPECT_EQ(GetInfo(passport_name, PASSPORT_ISSUE_DATE,
{.format_string = u"DD/MM/YYYY"}),
u"03/02/2001");
}

@ -95,11 +95,11 @@ constexpr FieldType AttributeType::field_type() const {
case AttributeTypeName::kPassportNumber:
return PASSPORT_NUMBER;
case AttributeTypeName::kPassportCountry:
return PASSPORT_ISSUING_COUNTRY_TAG;
return PASSPORT_ISSUING_COUNTRY;
case AttributeTypeName::kPassportExpiryDate:
return PASSPORT_EXPIRATION_DATE_TAG;
return PASSPORT_EXPIRATION_DATE;
case AttributeTypeName::kPassportIssueDate:
return PASSPORT_ISSUE_DATE_TAG;
return PASSPORT_ISSUE_DATE;
case AttributeTypeName::kVehicleOwner:
return VEHICLE_OWNER_TAG;
case AttributeTypeName::kVehicleLicensePlate:
@ -117,9 +117,9 @@ constexpr FieldType AttributeType::field_type() const {
case AttributeTypeName::kDriversLicenseNumber:
return DRIVERS_LICENSE_NUMBER;
case AttributeTypeName::kDriversLicenseExpirationDate:
return DRIVERS_LICENSE_EXPIRATION_DATE_TAG;
return DRIVERS_LICENSE_EXPIRATION_DATE;
case AttributeTypeName::kDriversLicenseIssueDate:
return DRIVERS_LICENSE_ISSUE_DATE_TAG;
return DRIVERS_LICENSE_ISSUE_DATE;
}
NOTREACHED();
}

@ -149,9 +149,9 @@ static constexpr auto kTypeNameToFieldType =
{"IMPROVED_PREDICTION", IMPROVED_PREDICTION},
{"PASSPORT_NAME_TAG", PASSPORT_NAME_TAG},
{"PASSPORT_NUMBER", PASSPORT_NUMBER},
{"PASSPORT_ISSUING_COUNTRY_TAG", PASSPORT_ISSUING_COUNTRY_TAG},
{"PASSPORT_EXPIRATION_DATE_TAG", PASSPORT_EXPIRATION_DATE_TAG},
{"PASSPORT_ISSUE_DATE_TAG", PASSPORT_ISSUE_DATE_TAG},
{"PASSPORT_ISSUING_COUNTRY", PASSPORT_ISSUING_COUNTRY},
{"PASSPORT_EXPIRATION_DATE", PASSPORT_EXPIRATION_DATE},
{"PASSPORT_ISSUE_DATE", PASSPORT_ISSUE_DATE},
{"LOYALTY_MEMBERSHIP_PROGRAM", LOYALTY_MEMBERSHIP_PROGRAM},
{"LOYALTY_MEMBERSHIP_PROVIDER", LOYALTY_MEMBERSHIP_PROVIDER},
{"LOYALTY_MEMBERSHIP_ID", LOYALTY_MEMBERSHIP_ID},
@ -163,9 +163,8 @@ static constexpr auto kTypeNameToFieldType =
{"DRIVERS_LICENSE_NAME_TAG", DRIVERS_LICENSE_NAME_TAG},
{"DRIVERS_LICENSE_REGION", DRIVERS_LICENSE_REGION},
{"DRIVERS_LICENSE_NUMBER", DRIVERS_LICENSE_NUMBER},
{"DRIVERS_LICENSE_EXPIRATION_DATE_TAG",
DRIVERS_LICENSE_EXPIRATION_DATE_TAG},
{"DRIVERS_LICENSE_ISSUE_DATE_TAG", DRIVERS_LICENSE_ISSUE_DATE_TAG}});
{"DRIVERS_LICENSE_EXPIRATION_DATE", DRIVERS_LICENSE_EXPIRATION_DATE},
{"DRIVERS_LICENSE_ISSUE_DATE", DRIVERS_LICENSE_ISSUE_DATE}});
bool IsFillableFieldType(FieldType field_type) {
switch (field_type) {
@ -301,13 +300,13 @@ bool IsFillableFieldType(FieldType field_type) {
case NUMERIC_QUANTITY:
case SEARCH_TERM:
case PASSPORT_NAME_TAG:
case PASSPORT_ISSUING_COUNTRY_TAG:
case PASSPORT_EXPIRATION_DATE_TAG:
case PASSPORT_ISSUE_DATE_TAG:
case PASSPORT_ISSUING_COUNTRY:
case PASSPORT_EXPIRATION_DATE:
case PASSPORT_ISSUE_DATE:
case VEHICLE_OWNER_TAG:
case DRIVERS_LICENSE_NAME_TAG:
case DRIVERS_LICENSE_EXPIRATION_DATE_TAG:
case DRIVERS_LICENSE_ISSUE_DATE_TAG:
case DRIVERS_LICENSE_EXPIRATION_DATE:
case DRIVERS_LICENSE_ISSUE_DATE:
case UNKNOWN_TYPE:
case MAX_VALID_FIELD_TYPE:
return false;
@ -354,9 +353,9 @@ std::string_view FieldTypeToDeveloperRepresentationString(FieldType type) {
case ADDRESS_HOME_ADDRESS_WITH_NAME:
case PASSPORT_NAME_TAG:
case PASSPORT_NUMBER:
case PASSPORT_ISSUING_COUNTRY_TAG:
case PASSPORT_EXPIRATION_DATE_TAG:
case PASSPORT_ISSUE_DATE_TAG:
case PASSPORT_ISSUING_COUNTRY:
case PASSPORT_EXPIRATION_DATE:
case PASSPORT_ISSUE_DATE:
case LOYALTY_MEMBERSHIP_PROGRAM:
case LOYALTY_MEMBERSHIP_PROVIDER:
case LOYALTY_MEMBERSHIP_ID:
@ -368,8 +367,8 @@ std::string_view FieldTypeToDeveloperRepresentationString(FieldType type) {
case DRIVERS_LICENSE_NAME_TAG:
case DRIVERS_LICENSE_REGION:
case DRIVERS_LICENSE_NUMBER:
case DRIVERS_LICENSE_EXPIRATION_DATE_TAG:
case DRIVERS_LICENSE_ISSUE_DATE_TAG:
case DRIVERS_LICENSE_EXPIRATION_DATE:
case DRIVERS_LICENSE_ISSUE_DATE:
return "";
case NUMERIC_QUANTITY:
return "Numeric quantity";
@ -647,9 +646,9 @@ FieldTypeGroup GroupTypeOfFieldType(FieldType field_type) {
case IMPROVED_PREDICTION:
case PASSPORT_NAME_TAG:
case PASSPORT_NUMBER:
case PASSPORT_ISSUING_COUNTRY_TAG:
case PASSPORT_EXPIRATION_DATE_TAG:
case PASSPORT_ISSUE_DATE_TAG:
case PASSPORT_ISSUING_COUNTRY:
case PASSPORT_EXPIRATION_DATE:
case PASSPORT_ISSUE_DATE:
case LOYALTY_MEMBERSHIP_PROGRAM:
case LOYALTY_MEMBERSHIP_PROVIDER:
case LOYALTY_MEMBERSHIP_ID:
@ -661,8 +660,8 @@ FieldTypeGroup GroupTypeOfFieldType(FieldType field_type) {
case DRIVERS_LICENSE_NAME_TAG:
case DRIVERS_LICENSE_REGION:
case DRIVERS_LICENSE_NUMBER:
case DRIVERS_LICENSE_EXPIRATION_DATE_TAG:
case DRIVERS_LICENSE_ISSUE_DATE_TAG:
case DRIVERS_LICENSE_EXPIRATION_DATE:
case DRIVERS_LICENSE_ISSUE_DATE:
return FieldTypeGroup::kAutofillAi;
case PASSWORD:
@ -1027,7 +1026,7 @@ bool IsDateFieldType(FieldType field_type) {
case NAME_LAST_CORE:
case PASSPORT_NAME_TAG:
case PASSPORT_NUMBER:
case PASSPORT_ISSUING_COUNTRY_TAG:
case PASSPORT_ISSUING_COUNTRY:
case LOYALTY_MEMBERSHIP_PROGRAM:
case LOYALTY_MEMBERSHIP_PROVIDER:
case VEHICLE_OWNER_TAG:
@ -1042,10 +1041,10 @@ bool IsDateFieldType(FieldType field_type) {
return false;
case CREDIT_CARD_EXP_DATE_2_DIGIT_YEAR:
case CREDIT_CARD_EXP_DATE_4_DIGIT_YEAR:
case PASSPORT_EXPIRATION_DATE_TAG:
case PASSPORT_ISSUE_DATE_TAG:
case DRIVERS_LICENSE_EXPIRATION_DATE_TAG:
case DRIVERS_LICENSE_ISSUE_DATE_TAG:
case PASSPORT_EXPIRATION_DATE:
case PASSPORT_ISSUE_DATE:
case DRIVERS_LICENSE_EXPIRATION_DATE:
case DRIVERS_LICENSE_ISSUE_DATE:
return true;
}
NOTREACHED();

@ -486,9 +486,9 @@ enum FieldType {
// should be used.
PASSPORT_NAME_TAG = 168,
PASSPORT_NUMBER = 169,
PASSPORT_ISSUING_COUNTRY_TAG = 170,
PASSPORT_EXPIRATION_DATE_TAG = 171,
PASSPORT_ISSUE_DATE_TAG = 172,
PASSPORT_ISSUING_COUNTRY = 170,
PASSPORT_EXPIRATION_DATE = 171,
PASSPORT_ISSUE_DATE = 172,
// Types corresponding to the "Loyalty card" entity from
// components/autofill/core/browser/data_model/autofill_ai/entity_schema.json.
@ -509,8 +509,8 @@ enum FieldType {
DRIVERS_LICENSE_NAME_TAG = 180,
DRIVERS_LICENSE_REGION = 181,
DRIVERS_LICENSE_NUMBER = 182,
DRIVERS_LICENSE_EXPIRATION_DATE_TAG = 183,
DRIVERS_LICENSE_ISSUE_DATE_TAG = 184,
DRIVERS_LICENSE_EXPIRATION_DATE = 183,
DRIVERS_LICENSE_ISSUE_DATE = 184,
// No new types can be added without a corresponding change to the Autofill
// server.

@ -126,9 +126,9 @@ TEST(FieldTypesTest, IsValidFieldType) {
IMPROVED_PREDICTION,
PASSPORT_NAME_TAG,
PASSPORT_NUMBER,
PASSPORT_ISSUING_COUNTRY_TAG,
PASSPORT_EXPIRATION_DATE_TAG,
PASSPORT_ISSUE_DATE_TAG,
PASSPORT_ISSUING_COUNTRY,
PASSPORT_EXPIRATION_DATE,
PASSPORT_ISSUE_DATE,
LOYALTY_MEMBERSHIP_PROGRAM,
LOYALTY_MEMBERSHIP_PROVIDER,
LOYALTY_MEMBERSHIP_ID,
@ -140,8 +140,8 @@ TEST(FieldTypesTest, IsValidFieldType) {
DRIVERS_LICENSE_NAME_TAG,
DRIVERS_LICENSE_REGION,
DRIVERS_LICENSE_NUMBER,
DRIVERS_LICENSE_EXPIRATION_DATE_TAG,
DRIVERS_LICENSE_ISSUE_DATE_TAG,
DRIVERS_LICENSE_EXPIRATION_DATE,
DRIVERS_LICENSE_ISSUE_DATE,
};
FieldType kInvalidValue = static_cast<FieldType>(123456);
ASSERT_FALSE(kValidFieldTypes.count(kInvalidValue));

@ -222,7 +222,7 @@ TEST_F(GetFillValueAndTypeForEntityTest, FillingLocalizedCountries) {
{"ar-LB", u"لبنان"}}) {
AutofillField field;
FieldPrediction prediction;
prediction.set_type(PASSPORT_ISSUING_COUNTRY_TAG);
prediction.set_type(PASSPORT_ISSUING_COUNTRY);
prediction.set_source(
autofill::AutofillQueryResponse::FormSuggestion::FieldSuggestion::
FieldPrediction::SOURCE_AUTOFILL_AI);
@ -252,7 +252,7 @@ TEST_F(GetFillValueAndTypeForEntityTest, FillingSelectControlWithCountries) {
{{"France", "Sweden", "Canada", "Brazil"}, u"Sweden"}}) {
AutofillField field{test::CreateTestSelectField(options)};
FieldPrediction prediction;
prediction.set_type(PASSPORT_ISSUING_COUNTRY_TAG);
prediction.set_type(PASSPORT_ISSUING_COUNTRY);
prediction.set_source(
autofill::AutofillQueryResponse::FormSuggestion::FieldSuggestion::
FieldPrediction::SOURCE_AUTOFILL_AI);

@ -421,7 +421,7 @@ TEST_F(FormFillerTest, UndoSavesFormFillingData) {
TEST_F(FormFillerTest, UndoSavesFormFillingDataForAutofillAi) {
FormData form = FormSeen(
{.fields = {{.role = PASSPORT_NAME_TAG, .heuristic_type = NAME_FULL},
{.role = PASSPORT_ISSUING_COUNTRY_TAG,
{.role = PASSPORT_ISSUING_COUNTRY,
.heuristic_type = ADDRESS_HOME_COUNTRY},
{.role = PASSPORT_NUMBER},
{.role = IBAN_VALUE, .heuristic_type = IBAN_VALUE},
@ -1549,10 +1549,10 @@ TEST_F(FormFillerTest, FillPassportEntity) {
set_server_type(0, PASSPORT_NUMBER);
set_server_type(1, NAME_FIRST, PASSPORT_NAME_TAG);
set_server_type(2, NAME_LAST, PASSPORT_NAME_TAG);
set_server_type(3, ADDRESS_HOME_COUNTRY, PASSPORT_ISSUING_COUNTRY_TAG);
set_server_type(4, PASSPORT_ISSUE_DATE_TAG);
set_server_type(3, ADDRESS_HOME_COUNTRY, PASSPORT_ISSUING_COUNTRY);
set_server_type(4, PASSPORT_ISSUE_DATE);
set_format_string(4, "M/YY");
set_server_type(5, PASSPORT_EXPIRATION_DATE_TAG);
set_server_type(5, PASSPORT_EXPIRATION_DATE);
set_format_string(5, "DD/MM/YYYY");
form_structure->UpdateAutofillCount();

@ -669,9 +669,9 @@ std::optional<double> AddressFieldParserNG::FindScoreOfBestMatchingRule(
case IMPROVED_PREDICTION:
case PASSPORT_NAME_TAG:
case PASSPORT_NUMBER:
case PASSPORT_ISSUING_COUNTRY_TAG:
case PASSPORT_EXPIRATION_DATE_TAG:
case PASSPORT_ISSUE_DATE_TAG:
case PASSPORT_ISSUING_COUNTRY:
case PASSPORT_EXPIRATION_DATE:
case PASSPORT_ISSUE_DATE:
case LOYALTY_MEMBERSHIP_PROGRAM:
case LOYALTY_MEMBERSHIP_PROVIDER:
case LOYALTY_MEMBERSHIP_ID:
@ -683,8 +683,8 @@ std::optional<double> AddressFieldParserNG::FindScoreOfBestMatchingRule(
case DRIVERS_LICENSE_NAME_TAG:
case DRIVERS_LICENSE_REGION:
case DRIVERS_LICENSE_NUMBER:
case DRIVERS_LICENSE_EXPIRATION_DATE_TAG:
case DRIVERS_LICENSE_ISSUE_DATE_TAG:
case DRIVERS_LICENSE_EXPIRATION_DATE:
case DRIVERS_LICENSE_ISSUE_DATE:
case MAX_VALID_FIELD_TYPE:
return std::nullopt;
}

@ -391,9 +391,9 @@ int GetFieldTypeGroupPredictionQualityMetric(FieldType field_type,
case IMPROVED_PREDICTION:
case PASSPORT_NAME_TAG:
case PASSPORT_NUMBER:
case PASSPORT_ISSUING_COUNTRY_TAG:
case PASSPORT_EXPIRATION_DATE_TAG:
case PASSPORT_ISSUE_DATE_TAG:
case PASSPORT_ISSUING_COUNTRY:
case PASSPORT_EXPIRATION_DATE:
case PASSPORT_ISSUE_DATE:
case LOYALTY_MEMBERSHIP_PROGRAM:
case LOYALTY_MEMBERSHIP_PROVIDER:
case LOYALTY_MEMBERSHIP_ID:
@ -405,8 +405,8 @@ int GetFieldTypeGroupPredictionQualityMetric(FieldType field_type,
case DRIVERS_LICENSE_NAME_TAG:
case DRIVERS_LICENSE_REGION:
case DRIVERS_LICENSE_NUMBER:
case DRIVERS_LICENSE_EXPIRATION_DATE_TAG:
case DRIVERS_LICENSE_ISSUE_DATE_TAG:
case DRIVERS_LICENSE_EXPIRATION_DATE:
case DRIVERS_LICENSE_ISSUE_DATE:
NOTREACHED() << field_type << " type is not in that group.";
}
break;

@ -884,21 +884,21 @@ EntityInstance GetPassportEntityInstance(PassportEntityOptions options) {
}
if (options.country) {
attributes.emplace_back(AttributeType(kPassportCountry));
attributes.back().SetInfo(PASSPORT_ISSUING_COUNTRY_TAG, options.country,
attributes.back().SetInfo(PASSPORT_ISSUING_COUNTRY, options.country,
/*app_locale=*/"en-US",
/*format_string=*/u"",
VerificationStatus::kNoStatus);
}
if (options.expiry_date) {
attributes.emplace_back(AttributeType(kPassportExpiryDate));
attributes.back().SetInfo(PASSPORT_EXPIRATION_DATE_TAG, options.expiry_date,
attributes.back().SetInfo(PASSPORT_EXPIRATION_DATE, options.expiry_date,
/*app_locale=*/"",
/*format_string=*/u"YYYY-MM-DD",
VerificationStatus::kNoStatus);
}
if (options.issue_date) {
attributes.emplace_back(AttributeType(kPassportIssueDate));
attributes.back().SetInfo(PASSPORT_ISSUE_DATE_TAG, options.issue_date,
attributes.back().SetInfo(PASSPORT_ISSUE_DATE, options.issue_date,
/*app_locale=*/"",
/*format_string=*/u"YYYY-MM-DD",
VerificationStatus::kNoStatus);
@ -935,16 +935,16 @@ EntityInstance GetDriversLicenseEntityInstance(DriversLicenseOptions options) {
if (options.expiration_date) {
attributes.emplace_back(AttributeType(kDriversLicenseExpirationDate));
attributes.back().SetInfo(
DRIVERS_LICENSE_EXPIRATION_DATE_TAG, options.expiration_date,
DRIVERS_LICENSE_EXPIRATION_DATE, options.expiration_date,
/*app_locale=*/"", /*format_string=*/u"YYYY-MM-DD",
VerificationStatus::kNoStatus);
}
if (options.issue_date) {
attributes.emplace_back(AttributeType(kDriversLicenseIssueDate));
attributes.back().SetInfo(
DRIVERS_LICENSE_ISSUE_DATE_TAG, options.issue_date,
/*app_locale=*/"", /*format_string=*/u"YYYY-MM-DD",
VerificationStatus::kNoStatus);
attributes.back().SetInfo(DRIVERS_LICENSE_ISSUE_DATE, options.issue_date,
/*app_locale=*/"",
/*format_string=*/u"YYYY-MM-DD",
VerificationStatus::kNoStatus);
}
return EntityInstance(
EntityType(EntityTypeName::kDriversLicense), std::move(attributes),

@ -107,10 +107,10 @@ void HandleTestSwitchesIfNeeded(sql::Database* db, EntityTable& table) {
/*format_string=*/u"", VerificationStatus::kNoStatus);
country.SetInfo(ADDRESS_HOME_COUNTRY, u"Sweden", /*app_locale=*/"",
/*format_string=*/u"", VerificationStatus::kNoStatus);
expiry_date.SetInfo(PASSPORT_EXPIRATION_DATE_TAG, u"2098-09-01",
expiry_date.SetInfo(PASSPORT_EXPIRATION_DATE, u"2098-09-01",
/*app_locale=*/"", /*format_string=*/u"YYYY-MM-DD",
VerificationStatus::kNoStatus);
issue_date.SetInfo(PASSPORT_ISSUE_DATE_TAG, u"1998-10-11",
issue_date.SetInfo(PASSPORT_ISSUE_DATE, u"1998-10-11",
/*app_locale=*/"", /*format_string=*/u"YYYY-MM-DD",
VerificationStatus::kNoStatus);
table.AddOrUpdateEntityInstance(EntityInstance(

@ -615,7 +615,7 @@ TEST_F(AutofillAiManagerImportFormTest,
TEST_F(AutofillAiManagerImportFormTest,
EntityDoesNotContainRequiredAttributes_DoNotShowPrompt) {
std::unique_ptr<FormStructure> form = CreateFormStructure(
{autofill::PASSPORT_ISSUING_COUNTRY_TAG, autofill::PASSPORT_NAME_TAG});
{autofill::PASSPORT_ISSUING_COUNTRY, autofill::PASSPORT_NAME_TAG});
// Set the filled values to be the same as the ones already stored.
form->field(0)->set_value(u"Germany");
form->field(1)->set_value(u"1234321");
@ -696,10 +696,8 @@ TEST_F(AutofillAiManagerImportFormTest, UpdateEntity_ShowPromptAndAccept) {
// The submitted form will have issue date info.
std::unique_ptr<FormStructure> form = CreateFormStructure(
{autofill::PASSPORT_NAME_TAG, autofill::PASSPORT_NUMBER,
autofill::PASSPORT_ISSUE_DATE_TAG,
autofill::PASSPORT_EXPIRATION_DATE_TAG,
autofill::PASSPORT_EXPIRATION_DATE_TAG,
autofill::PASSPORT_EXPIRATION_DATE_TAG});
autofill::PASSPORT_ISSUE_DATE, autofill::PASSPORT_EXPIRATION_DATE,
autofill::PASSPORT_EXPIRATION_DATE, autofill::PASSPORT_EXPIRATION_DATE});
// The current entity however does not.
EntityInstance existing_entity_without_issue_and_expiry_dates =

@ -195,7 +195,7 @@ TEST_F(AutofillAiSuggestionsTest,
FieldType triggering_field_type = autofill::PASSPORT_NUMBER;
std::unique_ptr<FormStructure> form = CreateFormStructure(
{triggering_field_type, autofill::PASSPORT_ISSUING_COUNTRY_TAG});
{triggering_field_type, autofill::PASSPORT_ISSUING_COUNTRY});
form->field(0)->set_value(u"12");
@ -305,13 +305,13 @@ TEST_F(AutofillAiSuggestionsTest, GetFillingSuggestion_DedupeSuggestions) {
FieldType triggering_field_type = autofill::PASSPORT_NAME_TAG;
std::unique_ptr<FormStructure> form =
CreateFormStructure({triggering_field_type, autofill::PASSPORT_NUMBER,
autofill::PASSPORT_ISSUING_COUNTRY_TAG});
autofill::PASSPORT_ISSUING_COUNTRY});
std::vector<autofill::Suggestion> suggestions = CreateFillingSuggestions(
*form, form->fields()[0]->global_id(), entities, kAppLocaleUS);
// The passport with passport_a_with_different_expiry_date should be
// deduped because while it has an unique attribute (expiry date), the form
// does not contain a field with autofill::PASSPORT_ISSUE_DATE_TAG, which
// does not contain a field with autofill::PASSPORT_ISSUE_DATE, which
// makes it identical to `passport`. The passport with
// passport_a_without_an_expiry_date should be deduped because it is a
// proper subset of `passport`.
@ -385,8 +385,8 @@ TEST_F(AutofillAiSuggestionsTest,
FieldType triggering_field_type = autofill::PASSPORT_NAME_TAG;
std::unique_ptr<FormStructure> form = CreateFormStructure(
{triggering_field_type, autofill::PASSPORT_ISSUING_COUNTRY_TAG,
autofill::PASSPORT_EXPIRATION_DATE_TAG});
{triggering_field_type, autofill::PASSPORT_ISSUING_COUNTRY,
autofill::PASSPORT_EXPIRATION_DATE});
std::vector<autofill::Suggestion> suggestions = CreateFillingSuggestions(
*form, form->fields()[0]->global_id(), {passport_entity}, kAppLocaleUS);
@ -405,7 +405,7 @@ TEST_F(
FieldType triggering_field_type = autofill::PASSPORT_NAME_TAG;
std::unique_ptr<FormStructure> form = CreateFormStructure(
{triggering_field_type, autofill::PASSPORT_ISSUING_COUNTRY_TAG,
{triggering_field_type, autofill::PASSPORT_ISSUING_COUNTRY,
autofill::PASSPORT_NUMBER});
std::vector<autofill::Suggestion> suggestions = CreateFillingSuggestions(
*form, form->fields()[0]->global_id(),
@ -430,12 +430,12 @@ TEST_F(AutofillAiSuggestionsTest,
MakePassportWithRandomGuid({.expiry_date = u"2018-12-31"});
FieldType triggering_field_type = autofill::PASSPORT_NAME_TAG;
// Note that `autofill::PASSPORT_ISSUING_COUNTRY_TAG` appears twice in the
// Note that `autofill::PASSPORT_ISSUING_COUNTRY` appears twice in the
// form, yet due to deduping it only adds its equivalent label once.
std::unique_ptr<FormStructure> form = CreateFormStructure(
{triggering_field_type, autofill::PASSPORT_ISSUING_COUNTRY_TAG,
autofill::PASSPORT_ISSUING_COUNTRY_TAG, autofill::PASSPORT_NUMBER,
autofill::PASSPORT_EXPIRATION_DATE_TAG});
{triggering_field_type, autofill::PASSPORT_ISSUING_COUNTRY,
autofill::PASSPORT_ISSUING_COUNTRY, autofill::PASSPORT_NUMBER,
autofill::PASSPORT_EXPIRATION_DATE});
std::vector<autofill::Suggestion> suggestions = CreateFillingSuggestions(
*form, form->fields()[0]->global_id(),
{passport_entity, passport_entity_b, passport_entity_c}, kAppLocaleUS);
@ -472,7 +472,7 @@ TEST_F(
FieldType triggering_field_type = autofill::PASSPORT_NAME_TAG;
std::unique_ptr<FormStructure> form = CreateFormStructure(
{triggering_field_type, autofill::PASSPORT_ISSUING_COUNTRY_TAG});
{triggering_field_type, autofill::PASSPORT_ISSUING_COUNTRY});
std::vector<autofill::Suggestion> suggestions = CreateFillingSuggestions(
*form, form->fields()[0]->global_id(),
{passport_entity_a, passport_entity_b, passport_entity_c}, kAppLocaleUS);
@ -502,8 +502,8 @@ TEST_F(
FieldType triggering_field_type = autofill::PASSPORT_NAME_TAG;
std::unique_ptr<FormStructure> form = CreateFormStructure(
{triggering_field_type, autofill::PASSPORT_ISSUING_COUNTRY_TAG,
autofill::PASSPORT_NUMBER, autofill::PASSPORT_EXPIRATION_DATE_TAG});
{triggering_field_type, autofill::PASSPORT_ISSUING_COUNTRY,
autofill::PASSPORT_NUMBER, autofill::PASSPORT_EXPIRATION_DATE});
std::vector<autofill::Suggestion> suggestions = CreateFillingSuggestions(
*form, form->fields()[0]->global_id(),
{passport_entity, passport_entity_b}, kAppLocaleUS);
@ -527,7 +527,7 @@ TEST_F(
FieldType triggering_field_type = autofill::PASSPORT_NAME_TAG;
std::unique_ptr<FormStructure> form = CreateFormStructure(
{triggering_field_type, autofill::PASSPORT_ISSUING_COUNTRY_TAG,
{triggering_field_type, autofill::PASSPORT_ISSUING_COUNTRY,
autofill::PASSPORT_NUMBER});
std::vector<autofill::Suggestion> suggestions = CreateFillingSuggestions(
*form, form->fields()[0]->global_id(),

@ -784,20 +784,18 @@ Called by update_autofill_enums.py.-->
label="PASSPORT_NUMBER: Not autofilled or autofilled value edited"/>
<int value="10817" label="PASSPORT_NUMBER: Autofilled value accepted"/>
<int value="10880"
label="PASSPORT_ISSUING_COUNTRY_TAG: Not autofilled or autofilled value
label="PASSPORT_ISSUING_COUNTRY: Not autofilled or autofilled value
edited"/>
<int value="10881"
label="PASSPORT_ISSUING_COUNTRY_TAG: Autofilled value accepted"/>
label="PASSPORT_ISSUING_COUNTRY: Autofilled value accepted"/>
<int value="10944"
label="PASSPORT_EXPIRATION_DATE_TAG: Not autofilled or autofilled value
label="PASSPORT_EXPIRATION_DATE: Not autofilled or autofilled value
edited"/>
<int value="10945"
label="PASSPORT_EXPIRATION_DATE_TAG: Autofilled value accepted"/>
label="PASSPORT_EXPIRATION_DATE: Autofilled value accepted"/>
<int value="11008"
label="PASSPORT_ISSUE_DATE_TAG: Not autofilled or autofilled value
edited"/>
<int value="11009"
label="PASSPORT_ISSUE_DATE_TAG: Autofilled value accepted"/>
label="PASSPORT_ISSUE_DATE: Not autofilled or autofilled value edited"/>
<int value="11009" label="PASSPORT_ISSUE_DATE: Autofilled value accepted"/>
<int value="11072"
label="LOYALTY_MEMBERSHIP_PROGRAM: Not autofilled or autofilled value
edited"/>
@ -837,15 +835,15 @@ Called by update_autofill_enums.py.-->
edited"/>
<int value="11649" label="DRIVERS_LICENSE_NUMBER: Autofilled value accepted"/>
<int value="11712"
label="DRIVERS_LICENSE_EXPIRATION_DATE_TAG: Not autofilled or
autofilled value edited"/>
<int value="11713"
label="DRIVERS_LICENSE_EXPIRATION_DATE_TAG: Autofilled value accepted"/>
<int value="11776"
label="DRIVERS_LICENSE_ISSUE_DATE_TAG: Not autofilled or autofilled
label="DRIVERS_LICENSE_EXPIRATION_DATE: Not autofilled or autofilled
value edited"/>
<int value="11713"
label="DRIVERS_LICENSE_EXPIRATION_DATE: Autofilled value accepted"/>
<int value="11776"
label="DRIVERS_LICENSE_ISSUE_DATE: Not autofilled or autofilled value
edited"/>
<int value="11777"
label="DRIVERS_LICENSE_ISSUE_DATE_TAG: Autofilled value accepted"/>
label="DRIVERS_LICENSE_ISSUE_DATE: Autofilled value accepted"/>
</enum>
<enum name="AutofillDeveloperEngagement">
@ -1121,12 +1119,12 @@ Called by update_autofill_enums.py.-->
<int value="2689" label="PASSPORT_NAME_TAG: accepted"/>
<int value="2704" label="PASSPORT_NUMBER: edited"/>
<int value="2705" label="PASSPORT_NUMBER: accepted"/>
<int value="2720" label="PASSPORT_ISSUING_COUNTRY_TAG: edited"/>
<int value="2721" label="PASSPORT_ISSUING_COUNTRY_TAG: accepted"/>
<int value="2736" label="PASSPORT_EXPIRATION_DATE_TAG: edited"/>
<int value="2737" label="PASSPORT_EXPIRATION_DATE_TAG: accepted"/>
<int value="2752" label="PASSPORT_ISSUE_DATE_TAG: edited"/>
<int value="2753" label="PASSPORT_ISSUE_DATE_TAG: accepted"/>
<int value="2720" label="PASSPORT_ISSUING_COUNTRY: edited"/>
<int value="2721" label="PASSPORT_ISSUING_COUNTRY: accepted"/>
<int value="2736" label="PASSPORT_EXPIRATION_DATE: edited"/>
<int value="2737" label="PASSPORT_EXPIRATION_DATE: accepted"/>
<int value="2752" label="PASSPORT_ISSUE_DATE: edited"/>
<int value="2753" label="PASSPORT_ISSUE_DATE: accepted"/>
<int value="2768" label="LOYALTY_MEMBERSHIP_PROGRAM: edited"/>
<int value="2769" label="LOYALTY_MEMBERSHIP_PROGRAM: accepted"/>
<int value="2784" label="LOYALTY_MEMBERSHIP_PROVIDER: edited"/>
@ -1147,10 +1145,10 @@ Called by update_autofill_enums.py.-->
<int value="2897" label="DRIVERS_LICENSE_REGION: accepted"/>
<int value="2912" label="DRIVERS_LICENSE_NUMBER: edited"/>
<int value="2913" label="DRIVERS_LICENSE_NUMBER: accepted"/>
<int value="2928" label="DRIVERS_LICENSE_EXPIRATION_DATE_TAG: edited"/>
<int value="2929" label="DRIVERS_LICENSE_EXPIRATION_DATE_TAG: accepted"/>
<int value="2944" label="DRIVERS_LICENSE_ISSUE_DATE_TAG: edited"/>
<int value="2945" label="DRIVERS_LICENSE_ISSUE_DATE_TAG: accepted"/>
<int value="2928" label="DRIVERS_LICENSE_EXPIRATION_DATE: edited"/>
<int value="2929" label="DRIVERS_LICENSE_EXPIRATION_DATE: accepted"/>
<int value="2944" label="DRIVERS_LICENSE_ISSUE_DATE: edited"/>
<int value="2945" label="DRIVERS_LICENSE_ISSUE_DATE: accepted"/>
</enum>
<enum name="AutofillErrorDialogType">
@ -1971,9 +1969,9 @@ Called by update_autofill_enums.py.-->
<int value="167" label="NAME_LAST_CORE"/>
<int value="168" label="PASSPORT_NAME_TAG"/>
<int value="169" label="PASSPORT_NUMBER"/>
<int value="170" label="PASSPORT_ISSUING_COUNTRY_TAG"/>
<int value="171" label="PASSPORT_EXPIRATION_DATE_TAG"/>
<int value="172" label="PASSPORT_ISSUE_DATE_TAG"/>
<int value="170" label="PASSPORT_ISSUING_COUNTRY"/>
<int value="171" label="PASSPORT_EXPIRATION_DATE"/>
<int value="172" label="PASSPORT_ISSUE_DATE"/>
<int value="173" label="LOYALTY_MEMBERSHIP_PROGRAM"/>
<int value="174" label="LOYALTY_MEMBERSHIP_PROVIDER"/>
<int value="175" label="VEHICLE_OWNER_TAG"/>
@ -1984,8 +1982,8 @@ Called by update_autofill_enums.py.-->
<int value="180" label="DRIVERS_LICENSE_NAME_TAG"/>
<int value="181" label="DRIVERS_LICENSE_REGION"/>
<int value="182" label="DRIVERS_LICENSE_NUMBER"/>
<int value="183" label="DRIVERS_LICENSE_EXPIRATION_DATE_TAG"/>
<int value="184" label="DRIVERS_LICENSE_ISSUE_DATE_TAG"/>
<int value="183" label="DRIVERS_LICENSE_EXPIRATION_DATE"/>
<int value="184" label="DRIVERS_LICENSE_ISSUE_DATE"/>
</enum>
<enum name="AutofillFilledCardInformationBubbleFieldClicked">
@ -3488,12 +3486,12 @@ Called by update_autofill_enums.py.-->
<int value="673" label="PASSPORT_NAME_TAG: Accepted"/>
<int value="676" label="PASSPORT_NUMBER: Ignored"/>
<int value="677" label="PASSPORT_NUMBER: Accepted"/>
<int value="680" label="PASSPORT_ISSUING_COUNTRY_TAG: Ignored"/>
<int value="681" label="PASSPORT_ISSUING_COUNTRY_TAG: Accepted"/>
<int value="684" label="PASSPORT_EXPIRATION_DATE_TAG: Ignored"/>
<int value="685" label="PASSPORT_EXPIRATION_DATE_TAG: Accepted"/>
<int value="688" label="PASSPORT_ISSUE_DATE_TAG: Ignored"/>
<int value="689" label="PASSPORT_ISSUE_DATE_TAG: Accepted"/>
<int value="680" label="PASSPORT_ISSUING_COUNTRY: Ignored"/>
<int value="681" label="PASSPORT_ISSUING_COUNTRY: Accepted"/>
<int value="684" label="PASSPORT_EXPIRATION_DATE: Ignored"/>
<int value="685" label="PASSPORT_EXPIRATION_DATE: Accepted"/>
<int value="688" label="PASSPORT_ISSUE_DATE: Ignored"/>
<int value="689" label="PASSPORT_ISSUE_DATE: Accepted"/>
<int value="692" label="LOYALTY_MEMBERSHIP_PROGRAM: Ignored"/>
<int value="693" label="LOYALTY_MEMBERSHIP_PROGRAM: Accepted"/>
<int value="696" label="LOYALTY_MEMBERSHIP_PROVIDER: Ignored"/>
@ -3514,10 +3512,10 @@ Called by update_autofill_enums.py.-->
<int value="725" label="DRIVERS_LICENSE_REGION: Accepted"/>
<int value="728" label="DRIVERS_LICENSE_NUMBER: Ignored"/>
<int value="729" label="DRIVERS_LICENSE_NUMBER: Accepted"/>
<int value="732" label="DRIVERS_LICENSE_EXPIRATION_DATE_TAG: Ignored"/>
<int value="733" label="DRIVERS_LICENSE_EXPIRATION_DATE_TAG: Accepted"/>
<int value="736" label="DRIVERS_LICENSE_ISSUE_DATE_TAG: Ignored"/>
<int value="737" label="DRIVERS_LICENSE_ISSUE_DATE_TAG: Accepted"/>
<int value="732" label="DRIVERS_LICENSE_EXPIRATION_DATE: Ignored"/>
<int value="733" label="DRIVERS_LICENSE_EXPIRATION_DATE: Accepted"/>
<int value="736" label="DRIVERS_LICENSE_ISSUE_DATE: Ignored"/>
<int value="737" label="DRIVERS_LICENSE_ISSUE_DATE: Accepted"/>
</enum>
<!-- LINT.IfChange(FormSubmissionOutcomeIOS) -->

@ -485,8 +485,8 @@ Called by update_autofill_enums.py. This is a manual comment.-->
<variant name="CREDIT_CARD_TYPE"/>
<variant name="CREDIT_CARD_VERIFICATION_CODE"/>
<variant name="DELIVERY_INSTRUCTIONS"/>
<variant name="DRIVERS_LICENSE_EXPIRATION_DATE_TAG"/>
<variant name="DRIVERS_LICENSE_ISSUE_DATE_TAG"/>
<variant name="DRIVERS_LICENSE_EXPIRATION_DATE"/>
<variant name="DRIVERS_LICENSE_ISSUE_DATE"/>
<variant name="DRIVERS_LICENSE_NAME_TAG"/>
<variant name="DRIVERS_LICENSE_NUMBER"/>
<variant name="DRIVERS_LICENSE_REGION"/>
@ -520,9 +520,9 @@ Called by update_autofill_enums.py. This is a manual comment.-->
<variant name="NOT_USERNAME"/>
<variant name="NUMERIC_QUANTITY"/>
<variant name="ONE_TIME_CODE"/>
<variant name="PASSPORT_EXPIRATION_DATE_TAG"/>
<variant name="PASSPORT_ISSUE_DATE_TAG"/>
<variant name="PASSPORT_ISSUING_COUNTRY_TAG"/>
<variant name="PASSPORT_EXPIRATION_DATE"/>
<variant name="PASSPORT_ISSUE_DATE"/>
<variant name="PASSPORT_ISSUING_COUNTRY"/>
<variant name="PASSPORT_NAME_TAG"/>
<variant name="PASSPORT_NUMBER"/>
<variant name="PASSWORD"/>