Index: components/autofill/core/browser/form_structure.cc |
diff --git a/components/autofill/core/browser/form_structure.cc b/components/autofill/core/browser/form_structure.cc |
index 02e861fe9c2a9a7076100f8dc5cd20968a3c1d6b..282a59aa9324e4f94d2de78a8899e081c005b4c7 100644 |
--- a/components/autofill/core/browser/form_structure.cc |
+++ b/components/autofill/core/browser/form_structure.cc |
@@ -268,6 +268,9 @@ HtmlFieldType FieldTypeFromAutocompleteAttributeValue( |
if (autocomplete_attribute_value == "email") |
return HTML_TYPE_EMAIL; |
+ if (autocomplete_attribute_value == "upi-vpa") |
+ return HTML_TYPE_UPI_VPA; |
+ |
return HTML_TYPE_UNRECOGNIZED; |
} |
@@ -300,6 +303,7 @@ FormStructure::FormStructure(const FormData& form) |
upload_required_(USE_UPLOAD_RATES), |
has_author_specified_types_(false), |
has_author_specified_sections_(false), |
+ has_author_specified_upi_vpa_hint_(false), |
was_parsed_for_autocomplete_attributes_(false), |
has_password_field_(false), |
is_form_tag_(form.is_form_tag), |
@@ -366,6 +370,11 @@ void FormStructure::DetermineHeuristicTypes() { |
} |
} |
+ if (has_author_specified_upi_vpa_hint_) { |
+ AutofillMetrics::LogDeveloperEngagementMetric( |
+ AutofillMetrics::FORM_CONTAINS_UPI_VPA_HINT); |
+ } |
+ |
AutofillMetrics::LogDetermineHeuristicTypesTiming( |
base::TimeTicks::Now() - determine_heuristic_types_start_time); |
} |
@@ -887,6 +896,7 @@ void FormStructure::ParseFieldTypesFromAutocompleteAttributes() { |
has_author_specified_types_ = false; |
has_author_specified_sections_ = false; |
+ has_author_specified_upi_vpa_hint_ = false; |
for (const auto& field : fields_) { |
// To prevent potential section name collisions, add a default suffix for |
// other fields. Without this, 'autocomplete' attribute values |
@@ -924,6 +934,11 @@ void FormStructure::ParseFieldTypesFromAutocompleteAttributes() { |
tokens.pop_back(); |
HtmlFieldType field_type = |
FieldTypeFromAutocompleteAttributeValue(field_type_token, *field); |
+ if (field_type == HTML_TYPE_UPI_VPA) { |
+ has_author_specified_upi_vpa_hint_ = true; |
+ // TODO(crbug/702223): Flesh out support for UPI-VPA. |
+ field_type = HTML_TYPE_UNRECOGNIZED; |
+ } |
if (field_type == HTML_TYPE_UNSPECIFIED) |
continue; |