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

Side by Side Diff: components/autofill/core/common/form_data.cc

Issue 614023002: [Password manager] Relplace the FormFieldData vector from autofill::FormData with named fields… (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Incorporated review inputs. Created 6 years, 2 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 unified diff | Download patch
OLDNEW
1 // Copyright 2013 The Chromium Authors. All rights reserved. 1 // Copyright 2013 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "components/autofill/core/common/form_data.h" 5 #include "components/autofill/core/common/form_data.h"
6 6
7 #include "base/pickle.h" 7 #include "base/pickle.h"
8 #include "base/strings/string_util.h" 8 #include "base/strings/string_util.h"
9 #include "base/strings/utf_string_conversions.h" 9 #include "base/strings/utf_string_conversions.h"
10 #include "components/autofill/core/common/form_field_data.h" 10 #include "components/autofill/core/common/form_field_data.h"
(...skipping 46 matching lines...) Expand 10 before | Expand all | Expand 10 after
57 57
58 FormData::FormData() 58 FormData::FormData()
59 : user_submitted(false) { 59 : user_submitted(false) {
60 } 60 }
61 61
62 FormData::FormData(const FormData& data) 62 FormData::FormData(const FormData& data)
63 : name(data.name), 63 : name(data.name),
64 origin(data.origin), 64 origin(data.origin),
65 action(data.action), 65 action(data.action),
66 user_submitted(data.user_submitted), 66 user_submitted(data.user_submitted),
67 username(data.username),
68 password(data.password),
67 fields(data.fields) { 69 fields(data.fields) {
68 } 70 }
69 71
70 FormData::~FormData() { 72 FormData::~FormData() {
71 } 73 }
72 74
73 bool FormData::operator==(const FormData& form) const { 75 bool FormData::operator==(const FormData& form) const {
74 return name == form.name && 76 return name == form.name && origin == form.origin && action == form.action &&
75 origin == form.origin && 77 user_submitted == form.user_submitted && username == form.username &&
76 action == form.action && 78 password == form.password && fields == form.fields;
77 user_submitted == form.user_submitted &&
78 fields == form.fields;
79 } 79 }
80 80
81 bool FormData::operator!=(const FormData& form) const { 81 bool FormData::operator!=(const FormData& form) const {
82 return !operator==(form); 82 return !operator==(form);
83 } 83 }
84 84
85 bool FormData::operator<(const FormData& form) const { 85 bool FormData::operator<(const FormData& form) const {
86 if (name != form.name) 86 if (name != form.name)
87 return name < form.name; 87 return name < form.name;
88 if (origin != form.origin) 88 if (origin != form.origin)
89 return origin < form.origin; 89 return origin < form.origin;
90 if (action != form.action) 90 if (action != form.action)
91 return action < form.action; 91 return action < form.action;
92 if (user_submitted != form.user_submitted) 92 if (user_submitted != form.user_submitted)
93 return user_submitted < form.user_submitted; 93 return user_submitted < form.user_submitted;
94 return fields < form.fields; 94 return fields < form.fields;
95 } 95 }
96 96
97 std::ostream& operator<<(std::ostream& os, const FormData& form) { 97 std::ostream& operator<<(std::ostream& os, const FormData& form) {
98 os << base::UTF16ToUTF8(form.name) << " " 98 os << base::UTF16ToUTF8(form.name) << " " << form.origin << " " << form.action
99 << form.origin << " " 99 << " " << form.user_submitted << " " << form.username << " "
100 << form.action << " " 100 << form.password << " "
101 << form.user_submitted << " "
102 << "Fields:"; 101 << "Fields:";
103 for (size_t i = 0; i < form.fields.size(); ++i) { 102 for (size_t i = 0; i < form.fields.size(); ++i) {
104 os << form.fields[i] << ","; 103 os << form.fields[i] << ",";
105 } 104 }
106 return os; 105 return os;
107 } 106 }
108 107
109 void SerializeFormData(const FormData& form_data, Pickle* pickle) { 108 void SerializeFormData(const FormData& form_data, Pickle* pickle) {
110 pickle->WriteInt(kPickleVersion); 109 pickle->WriteInt(kPickleVersion);
111 pickle->WriteString16(form_data.name); 110 pickle->WriteString16(form_data.name);
112 pickle->WriteString(form_data.origin.spec()); 111 pickle->WriteString(form_data.origin.spec());
113 pickle->WriteString(form_data.action.spec()); 112 pickle->WriteString(form_data.action.spec());
114 pickle->WriteBool(form_data.user_submitted); 113 pickle->WriteBool(form_data.user_submitted);
114 SerializeFormFieldData(form_data.username, pickle);
115 SerializeFormFieldData(form_data.password, pickle);
115 SerializeFormFieldDataVector(form_data.fields, pickle); 116 SerializeFormFieldDataVector(form_data.fields, pickle);
116 } 117 }
117 118
118 bool DeserializeFormData(PickleIterator* iter, FormData* form_data) { 119 bool DeserializeFormData(PickleIterator* iter, FormData* form_data) {
119 int version; 120 int version;
120 if (!iter->ReadInt(&version)) { 121 if (!iter->ReadInt(&version)) {
121 DVLOG(1) << "Bad pickle of FormData, no version present"; 122 DVLOG(1) << "Bad pickle of FormData, no version present";
122 return false; 123 return false;
123 } 124 }
124 125
125 switch (version) { 126 switch (version) {
126 case 1: { 127 case 1: {
127 base::string16 method; 128 base::string16 method;
128 if (!iter->ReadString16(&form_data->name) || 129 if (!iter->ReadString16(&form_data->name) ||
129 !iter->ReadString16(&method) || 130 !iter->ReadString16(&method) || !ReadGURL(iter, &form_data->origin) ||
130 !ReadGURL(iter, &form_data->origin) ||
131 !ReadGURL(iter, &form_data->action) || 131 !ReadGURL(iter, &form_data->action) ||
132 !iter->ReadBool(&form_data->user_submitted) || 132 !iter->ReadBool(&form_data->user_submitted) ||
133 !DeserializeFormFieldData(iter, &form_data->username) ||
134 !DeserializeFormFieldData(iter, &form_data->password) ||
133 !DeserializeFormFieldDataVector(iter, &form_data->fields)) { 135 !DeserializeFormFieldDataVector(iter, &form_data->fields)) {
134 LogDeserializationError(version); 136 LogDeserializationError(version);
135 return false; 137 return false;
136 } 138 }
137 break; 139 break;
138 } 140 }
139 case 2: 141 case 2:
140 if (!iter->ReadString16(&form_data->name) || 142 if (!iter->ReadString16(&form_data->name) ||
141 !ReadGURL(iter, &form_data->origin) || 143 !ReadGURL(iter, &form_data->origin) ||
142 !ReadGURL(iter, &form_data->action) || 144 !ReadGURL(iter, &form_data->action) ||
143 !iter->ReadBool(&form_data->user_submitted) || 145 !iter->ReadBool(&form_data->user_submitted) ||
146 !DeserializeFormFieldData(iter, &form_data->username) ||
147 !DeserializeFormFieldData(iter, &form_data->password) ||
144 !DeserializeFormFieldDataVector(iter, &form_data->fields)) { 148 !DeserializeFormFieldDataVector(iter, &form_data->fields)) {
145 LogDeserializationError(version); 149 LogDeserializationError(version);
146 return false; 150 return false;
147 } 151 }
148 break; 152 break;
149 default: { 153 default: {
150 DVLOG(1) << "Unknown FormData pickle version " << version; 154 DVLOG(1) << "Unknown FormData pickle version " << version;
151 return false; 155 return false;
152 } 156 }
153 } 157 }
154 return true; 158 return true;
155 } 159 }
156 160
157 } // namespace autofill 161 } // namespace autofill
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698