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

Side by Side Diff: components/autofill/core/browser/form_structure.h

Issue 853523004: Autofill: Set requirements for number of recognized fields in an autofillable form (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Address comments Created 5 years, 11 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 #ifndef COMPONENTS_AUTOFILL_CORE_BROWSER_FORM_STRUCTURE_H_ 5 #ifndef COMPONENTS_AUTOFILL_CORE_BROWSER_FORM_STRUCTURE_H_
6 #define COMPONENTS_AUTOFILL_CORE_BROWSER_FORM_STRUCTURE_H_ 6 #define COMPONENTS_AUTOFILL_CORE_BROWSER_FORM_STRUCTURE_H_
7 7
8 #include <set> 8 #include <set>
9 #include <string> 9 #include <string>
10 #include <vector> 10 #include <vector>
(...skipping 25 matching lines...) Expand all
36 36
37 namespace autofill { 37 namespace autofill {
38 38
39 struct FormData; 39 struct FormData;
40 struct FormDataPredictions; 40 struct FormDataPredictions;
41 41
42 // FormStructure stores a single HTML form together with the values entered 42 // FormStructure stores a single HTML form together with the values entered
43 // in the fields along with additional information needed by Autofill. 43 // in the fields along with additional information needed by Autofill.
44 class FormStructure { 44 class FormStructure {
45 public: 45 public:
46 FormStructure(const FormData& form); 46 explicit FormStructure(const FormData& form);
47 virtual ~FormStructure(); 47 virtual ~FormStructure();
48 48
49 // Runs several heuristics against the form fields to determine their possible 49 // Runs several heuristics against the form fields to determine their possible
50 // types. 50 // types.
51 void DetermineHeuristicTypes(); 51 void DetermineHeuristicTypes();
52 52
53 // Encodes the XML upload request from this FormStructure. 53 // Encodes the XML upload request from this FormStructure.
54 bool EncodeUploadRequest(const ServerFieldTypeSet& available_field_types, 54 bool EncodeUploadRequest(const ServerFieldTypeSet& available_field_types,
55 bool form_was_autofilled, 55 bool form_was_autofilled,
56 std::string* encoded_xml) const; 56 std::string* encoded_xml) const;
(...skipping 123 matching lines...) Expand 10 before | Expand all | Expand 10 after
180 } 180 }
181 UploadRequired upload_required() const { return upload_required_; } 181 UploadRequired upload_required() const { return upload_required_; }
182 182
183 // Returns a FormData containing the data this form structure knows about. 183 // Returns a FormData containing the data this form structure knows about.
184 // |user_submitted| is currently always false. 184 // |user_submitted| is currently always false.
185 FormData ToFormData() const; 185 FormData ToFormData() const;
186 186
187 bool operator==(const FormData& form) const; 187 bool operator==(const FormData& form) const;
188 bool operator!=(const FormData& form) const; 188 bool operator!=(const FormData& form) const;
189 189
190 void set_is_unowned() { is_unowned_ = true; }
191
190 private: 192 private:
191 friend class FormStructureTest; 193 friend class FormStructureTest;
192 FRIEND_TEST_ALL_PREFIXES(AutofillDownloadTest, QueryAndUploadTest); 194 FRIEND_TEST_ALL_PREFIXES(AutofillDownloadTest, QueryAndUploadTest);
193 195
194 // 64-bit hash of the string - used in FormSignature and unit-tests. 196 // 64-bit hash of the string - used in FormSignature and unit-tests.
195 static std::string Hash64Bit(const std::string& str); 197 static std::string Hash64Bit(const std::string& str);
196 198
197 enum EncodeRequestType { 199 enum EncodeRequestType {
198 QUERY, 200 QUERY,
199 UPLOAD, 201 UPLOAD,
(...skipping 47 matching lines...) Expand 10 before | Expand all | Expand 10 after
247 // to the stored upload rates. 249 // to the stored upload rates.
248 UploadRequired upload_required_; 250 UploadRequired upload_required_;
249 251
250 // Whether the form includes any field types explicitly specified by the site 252 // Whether the form includes any field types explicitly specified by the site
251 // author, via the |autocompletetype| attribute. 253 // author, via the |autocompletetype| attribute.
252 bool has_author_specified_types_; 254 bool has_author_specified_types_;
253 255
254 // True if the form contains at least one password field. 256 // True if the form contains at least one password field.
255 bool has_password_field_; 257 bool has_password_field_;
256 258
259 // True if the form is unowned, i.e. not for a <form>.
260 bool is_unowned_;
261
257 DISALLOW_COPY_AND_ASSIGN(FormStructure); 262 DISALLOW_COPY_AND_ASSIGN(FormStructure);
258 }; 263 };
259 264
260 } // namespace autofill 265 } // namespace autofill
261 266
262 #endif // COMPONENTS_AUTOFILL_CORE_BROWSER_FORM_STRUCTURE_H_ 267 #endif // COMPONENTS_AUTOFILL_CORE_BROWSER_FORM_STRUCTURE_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698