Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(74)

Unified Diff: components/autofill/core/common/form_field_data.cc

Issue 2148303005: [Password Generation] Sends the flag whether a field has nonempty user input (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Fixed a typo Created 4 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: components/autofill/core/common/form_field_data.cc
diff --git a/components/autofill/core/common/form_field_data.cc b/components/autofill/core/common/form_field_data.cc
index e1b9b54a7f7524be99fb37ec8540a67393863ad0..49447aba6d1476c3012f85d6aabe57296804c7cd 100644
--- a/components/autofill/core/common/form_field_data.cc
+++ b/components/autofill/core/common/form_field_data.cc
@@ -14,7 +14,7 @@ namespace {
// Increment this anytime pickle format is modified as well as provide
// deserialization routine from previous kPickleVersion format.
-const int kPickleVersion = 5;
+const int kPickleVersion = 6;
void AddVectorToPickle(std::vector<base::string16> strings,
base::Pickle* pickle) {
@@ -108,6 +108,11 @@ bool DeserializeSection8(base::PickleIterator* iter,
return iter->ReadString16(&field_data->css_classes);
}
+bool DeserializeSection9(base::PickleIterator* iter,
+ FormFieldData* field_data) {
+ return iter->ReadUInt32(&field_data->properties_mask);
+}
+
} // namespace
FormFieldData::FormFieldData()
@@ -117,7 +122,8 @@ FormFieldData::FormFieldData()
is_focusable(false),
should_autocomplete(true),
role(ROLE_ATTRIBUTE_OTHER),
- text_direction(base::i18n::UNKNOWN_DIRECTION) {}
+ text_direction(base::i18n::UNKNOWN_DIRECTION),
+ properties_mask(0) {}
FormFieldData::FormFieldData(const FormFieldData& other) = default;
@@ -151,7 +157,8 @@ bool FormFieldData::operator==(const FormFieldData& field) const {
return SameFieldAs(field) && is_autofilled == field.is_autofilled &&
check_status == field.check_status &&
option_values == field.option_values &&
- option_contents == field.option_contents;
+ option_contents == field.option_contents &&
+ properties_mask == field.properties_mask;
}
bool FormFieldData::operator!=(const FormFieldData& field) const {
@@ -213,6 +220,7 @@ void SerializeFormFieldData(const FormFieldData& field_data,
AddVectorToPickle(field_data.option_contents, pickle);
pickle->WriteString16(field_data.placeholder);
pickle->WriteString16(field_data.css_classes);
+ pickle->WriteUInt32(field_data.properties_mask);
}
bool DeserializeFormFieldData(base::PickleIterator* iter,
@@ -283,6 +291,20 @@ bool DeserializeFormFieldData(base::PickleIterator* iter,
}
break;
}
+ case 6: {
+ if (!DeserializeSection1(iter, &temp_form_field_data) ||
+ !DeserializeSection6(iter, &temp_form_field_data) ||
+ !DeserializeSection7(iter, &temp_form_field_data) ||
+ !DeserializeSection2(iter, &temp_form_field_data) ||
+ !DeserializeSection3(iter, &temp_form_field_data) ||
+ !DeserializeSection4(iter, &temp_form_field_data) ||
+ !DeserializeSection8(iter, &temp_form_field_data) ||
+ !DeserializeSection9(iter, &temp_form_field_data)) {
+ LOG(ERROR) << "Could not deserialize FormFieldData from pickle";
+ return false;
+ }
+ break;
+ }
default: {
LOG(ERROR) << "Unknown FormFieldData pickle version " << version;
return false;
@@ -324,7 +346,8 @@ std::ostream& operator<<(std::ostream& os, const FormFieldData& field) {
<< (field.is_autofilled ? "true" : "false") << " "
<< check_status_str << (field.is_focusable ? "true" : "false")
<< " " << (field.should_autocomplete ? "true" : "false") << " "
- << role_str << " " << field.text_direction;
+ << role_str << " " << field.text_direction << " "
+ << field.properties_mask;
}
bool IsCheckable(const FormFieldData::CheckStatus& check_status) {

Powered by Google App Engine
This is Rietveld 408576698