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

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

Issue 1671753004: [Autofill] Fill fields that have an autocomplete attributes even if not in a form. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Added IPC Trait for new attribute Created 4 years, 10 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
« no previous file with comments | « components/autofill/core/common/form_data.h ('k') | components/autofill/core/common/form_data_unittest.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: components/autofill/core/common/form_data.cc
diff --git a/components/autofill/core/common/form_data.cc b/components/autofill/core/common/form_data.cc
index e0930834e340701bafc872d19c82409b60223d55..a1a5e822939cebb8fd9626000db7d88f79d5baba 100644
--- a/components/autofill/core/common/form_data.cc
+++ b/components/autofill/core/common/form_data.cc
@@ -18,7 +18,7 @@ namespace autofill {
namespace {
-const int kPickleVersion = 4;
+const int kPickleVersion = 5;
bool ReadGURL(base::PickleIterator* iter, GURL* url) {
std::string spec;
@@ -60,26 +60,23 @@ void LogDeserializationError(int version) {
} // namespace
-FormData::FormData()
- : is_form_tag(true) {
-}
+FormData::FormData() : is_form_tag(true), is_formless_checkout(false) {}
FormData::FormData(const FormData& data)
: name(data.name),
origin(data.origin),
action(data.action),
is_form_tag(data.is_form_tag),
- fields(data.fields) {
-}
+ is_formless_checkout(data.is_formless_checkout),
+ fields(data.fields) {}
FormData::~FormData() {
}
bool FormData::SameFormAs(const FormData& form) const {
- if (name != form.name ||
- origin != form.origin ||
- action != form.action ||
+ if (name != form.name || origin != form.origin || action != form.action ||
is_form_tag != form.is_form_tag ||
+ is_formless_checkout != form.is_formless_checkout ||
fields.size() != form.fields.size())
return false;
for (size_t i = 0; i < fields.size(); ++i) {
@@ -90,16 +87,15 @@ bool FormData::SameFormAs(const FormData& form) const {
}
bool FormData::operator<(const FormData& form) const {
- return std::tie(name, origin, action, is_form_tag, fields) <
- std::tie(form.name, form.origin, form.action, form.is_form_tag,
- form.fields);
+ return std::tie(name, origin, action, is_form_tag, is_formless_checkout,
+ fields) < std::tie(form.name, form.origin, form.action,
+ form.is_form_tag,
+ form.is_formless_checkout, form.fields);
}
std::ostream& operator<<(std::ostream& os, const FormData& form) {
- os << base::UTF16ToUTF8(form.name) << " "
- << form.origin << " "
- << form.action << " "
- << form.is_form_tag << " "
+ os << base::UTF16ToUTF8(form.name) << " " << form.origin << " " << form.action
+ << " " << form.is_form_tag << " " << form.is_formless_checkout << " "
<< "Fields:";
for (size_t i = 0; i < form.fields.size(); ++i) {
os << form.fields[i] << ",";
@@ -114,6 +110,7 @@ void SerializeFormData(const FormData& form_data, base::Pickle* pickle) {
pickle->WriteString(form_data.action.spec());
SerializeFormFieldDataVector(form_data.fields, pickle);
pickle->WriteBool(form_data.is_form_tag);
+ pickle->WriteBool(form_data.is_formless_checkout);
}
void SerializeFormDataToBase64String(const FormData& form_data,
@@ -170,6 +167,13 @@ bool DeserializeFormData(base::PickleIterator* iter, FormData* form_data) {
form_data->is_form_tag = true;
}
+ if (version >= 5) {
+ if (!iter->ReadBool(&temp_form_data.is_formless_checkout)) {
+ LogDeserializationError(version);
+ return false;
+ }
+ }
+
*form_data = temp_form_data;
return true;
}
« no previous file with comments | « components/autofill/core/common/form_data.h ('k') | components/autofill/core/common/form_data_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698