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

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

Issue 1154283003: Change most uses of Pickle to base::Pickle (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 5 years, 6 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_field_data.h" 5 #include "components/autofill/core/common/form_field_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 10
11 namespace autofill { 11 namespace autofill {
12 12
13 namespace { 13 namespace {
14 14
15 // Increment this anytime pickle format is modified as well as provide 15 // Increment this anytime pickle format is modified as well as provide
16 // deserialization routine from previous kPickleVersion format. 16 // deserialization routine from previous kPickleVersion format.
17 const int kPickleVersion = 2; 17 const int kPickleVersion = 2;
18 18
19 void AddVectorToPickle(std::vector<base::string16> strings, 19 void AddVectorToPickle(std::vector<base::string16> strings,
20 Pickle* pickle) { 20 base::Pickle* pickle) {
21 pickle->WriteInt(static_cast<int>(strings.size())); 21 pickle->WriteInt(static_cast<int>(strings.size()));
22 for (size_t i = 0; i < strings.size(); ++i) { 22 for (size_t i = 0; i < strings.size(); ++i) {
23 pickle->WriteString16(strings[i]); 23 pickle->WriteString16(strings[i]);
24 } 24 }
25 } 25 }
26 26
27 bool ReadStringVector(PickleIterator* iter, 27 bool ReadStringVector(base::PickleIterator* iter,
28 std::vector<base::string16>* strings) { 28 std::vector<base::string16>* strings) {
29 int size; 29 int size;
30 if (!iter->ReadInt(&size)) 30 if (!iter->ReadInt(&size))
31 return false; 31 return false;
32 32
33 base::string16 pickle_data; 33 base::string16 pickle_data;
34 for (int i = 0; i < size; i++) { 34 for (int i = 0; i < size; i++) {
35 if (!iter->ReadString16(&pickle_data)) 35 if (!iter->ReadString16(&pickle_data))
36 return false; 36 return false;
37 37
38 strings->push_back(pickle_data); 38 strings->push_back(pickle_data);
39 } 39 }
40 return true; 40 return true;
41 } 41 }
42 42
43 template <typename T> 43 template <typename T>
44 bool ReadAsInt(PickleIterator* iter, T* target_value) { 44 bool ReadAsInt(base::PickleIterator* iter, T* target_value) {
45 int pickle_data; 45 int pickle_data;
46 if (!iter->ReadInt(&pickle_data)) 46 if (!iter->ReadInt(&pickle_data))
47 return false; 47 return false;
48 48
49 *target_value = static_cast<T>(pickle_data); 49 *target_value = static_cast<T>(pickle_data);
50 return true; 50 return true;
51 } 51 }
52 52
53 bool DeserializeCommonSection1(PickleIterator* iter, 53 bool DeserializeCommonSection1(base::PickleIterator* iter,
54 FormFieldData* field_data) { 54 FormFieldData* field_data) {
55 return iter->ReadString16(&field_data->label) && 55 return iter->ReadString16(&field_data->label) &&
56 iter->ReadString16(&field_data->name) && 56 iter->ReadString16(&field_data->name) &&
57 iter->ReadString16(&field_data->value) && 57 iter->ReadString16(&field_data->value) &&
58 iter->ReadString(&field_data->form_control_type) && 58 iter->ReadString(&field_data->form_control_type) &&
59 iter->ReadString(&field_data->autocomplete_attribute) && 59 iter->ReadString(&field_data->autocomplete_attribute) &&
60 iter->ReadSizeT(&field_data->max_length) && 60 iter->ReadSizeT(&field_data->max_length) &&
61 iter->ReadBool(&field_data->is_autofilled) && 61 iter->ReadBool(&field_data->is_autofilled) &&
62 iter->ReadBool(&field_data->is_checked) && 62 iter->ReadBool(&field_data->is_checked) &&
63 iter->ReadBool(&field_data->is_checkable) && 63 iter->ReadBool(&field_data->is_checkable) &&
64 iter->ReadBool(&field_data->is_focusable) && 64 iter->ReadBool(&field_data->is_focusable) &&
65 iter->ReadBool(&field_data->should_autocomplete); 65 iter->ReadBool(&field_data->should_autocomplete);
66 } 66 }
67 67
68 bool DeserializeCommonSection2(PickleIterator* iter, 68 bool DeserializeCommonSection2(base::PickleIterator* iter,
69 FormFieldData* field_data) { 69 FormFieldData* field_data) {
70 return ReadAsInt(iter, &field_data->text_direction) && 70 return ReadAsInt(iter, &field_data->text_direction) &&
71 ReadStringVector(iter, &field_data->option_values) && 71 ReadStringVector(iter, &field_data->option_values) &&
72 ReadStringVector(iter, &field_data->option_contents); 72 ReadStringVector(iter, &field_data->option_contents);
73 } 73 }
74 74
75 bool DeserializeVersion2Specific(PickleIterator* iter, 75 bool DeserializeVersion2Specific(base::PickleIterator* iter,
76 FormFieldData* field_data) { 76 FormFieldData* field_data) {
77 return ReadAsInt(iter, &field_data->role); 77 return ReadAsInt(iter, &field_data->role);
78 } 78 }
79 79
80 } // namespace 80 } // namespace
81 81
82 FormFieldData::FormFieldData() 82 FormFieldData::FormFieldData()
83 : max_length(0), 83 : max_length(0),
84 is_autofilled(false), 84 is_autofilled(false),
85 is_checked(false), 85 is_checked(false),
(...skipping 50 matching lines...) Expand 10 before | Expand all | Expand 10 after
136 if (should_autocomplete > field.should_autocomplete) return false; 136 if (should_autocomplete > field.should_autocomplete) return false;
137 if (role < field.role) return true; 137 if (role < field.role) return true;
138 if (role > field.role) return false; 138 if (role > field.role) return false;
139 if (text_direction < field.text_direction) return true; 139 if (text_direction < field.text_direction) return true;
140 if (text_direction > field.text_direction) return false; 140 if (text_direction > field.text_direction) return false;
141 // See operator== above for why we don't check option_values/contents. 141 // See operator== above for why we don't check option_values/contents.
142 return false; 142 return false;
143 } 143 }
144 144
145 void SerializeFormFieldData(const FormFieldData& field_data, 145 void SerializeFormFieldData(const FormFieldData& field_data,
146 Pickle* pickle) { 146 base::Pickle* pickle) {
147 pickle->WriteInt(kPickleVersion); 147 pickle->WriteInt(kPickleVersion);
148 pickle->WriteString16(field_data.label); 148 pickle->WriteString16(field_data.label);
149 pickle->WriteString16(field_data.name); 149 pickle->WriteString16(field_data.name);
150 pickle->WriteString16(field_data.value); 150 pickle->WriteString16(field_data.value);
151 pickle->WriteString(field_data.form_control_type); 151 pickle->WriteString(field_data.form_control_type);
152 pickle->WriteString(field_data.autocomplete_attribute); 152 pickle->WriteString(field_data.autocomplete_attribute);
153 pickle->WriteSizeT(field_data.max_length); 153 pickle->WriteSizeT(field_data.max_length);
154 pickle->WriteBool(field_data.is_autofilled); 154 pickle->WriteBool(field_data.is_autofilled);
155 pickle->WriteBool(field_data.is_checked); 155 pickle->WriteBool(field_data.is_checked);
156 pickle->WriteBool(field_data.is_checkable); 156 pickle->WriteBool(field_data.is_checkable);
157 pickle->WriteBool(field_data.is_focusable); 157 pickle->WriteBool(field_data.is_focusable);
158 pickle->WriteBool(field_data.should_autocomplete); 158 pickle->WriteBool(field_data.should_autocomplete);
159 pickle->WriteInt(field_data.role); 159 pickle->WriteInt(field_data.role);
160 pickle->WriteInt(field_data.text_direction); 160 pickle->WriteInt(field_data.text_direction);
161 AddVectorToPickle(field_data.option_values, pickle); 161 AddVectorToPickle(field_data.option_values, pickle);
162 AddVectorToPickle(field_data.option_contents, pickle); 162 AddVectorToPickle(field_data.option_contents, pickle);
163 } 163 }
164 164
165 bool DeserializeFormFieldData(PickleIterator* iter, 165 bool DeserializeFormFieldData(base::PickleIterator* iter,
166 FormFieldData* field_data) { 166 FormFieldData* field_data) {
167 int version; 167 int version;
168 FormFieldData temp_form_field_data; 168 FormFieldData temp_form_field_data;
169 if (!iter->ReadInt(&version)) { 169 if (!iter->ReadInt(&version)) {
170 LOG(ERROR) << "Bad pickle of FormFieldData, no version present"; 170 LOG(ERROR) << "Bad pickle of FormFieldData, no version present";
171 return false; 171 return false;
172 } 172 }
173 173
174 switch (version) { 174 switch (version) {
175 case 1: { 175 case 1: {
(...skipping 29 matching lines...) Expand all
205 << " " << field.autocomplete_attribute << " " << field.max_length 205 << " " << field.autocomplete_attribute << " " << field.max_length
206 << " " << (field.is_autofilled ? "true" : "false") << " " 206 << " " << (field.is_autofilled ? "true" : "false") << " "
207 << (field.is_checked ? "true" : "false") << " " 207 << (field.is_checked ? "true" : "false") << " "
208 << (field.is_checkable ? "true" : "false") << " " 208 << (field.is_checkable ? "true" : "false") << " "
209 << (field.is_focusable ? "true" : "false") << " " 209 << (field.is_focusable ? "true" : "false") << " "
210 << (field.should_autocomplete ? "true" : "false") << " " 210 << (field.should_autocomplete ? "true" : "false") << " "
211 << field.role << " " << field.text_direction; 211 << field.role << " " << field.text_direction;
212 } 212 }
213 213
214 } // namespace autofill 214 } // namespace autofill
OLDNEW
« no previous file with comments | « components/autofill/core/common/form_data_unittest.cc ('k') | components/autofill/core/common/form_field_data_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698