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

Side by Side Diff: chrome/browser/webdata/autofill_table.h

Issue 11000016: Move forms/ out of webkit/. (Closed) Base URL: http://git.chromium.org/chromium/src.git@master
Patch Set: Response to review Created 8 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 (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 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 CHROME_BROWSER_WEBDATA_AUTOFILL_TABLE_H_ 5 #ifndef CHROME_BROWSER_WEBDATA_AUTOFILL_TABLE_H_
6 #define CHROME_BROWSER_WEBDATA_AUTOFILL_TABLE_H_ 6 #define CHROME_BROWSER_WEBDATA_AUTOFILL_TABLE_H_
7 7
8 #include "base/compiler_specific.h" 8 #include "base/compiler_specific.h"
9 #include "base/gtest_prod_util.h" 9 #include "base/gtest_prod_util.h"
10 #include "base/string16.h" 10 #include "base/string16.h"
11 #include "chrome/browser/webdata/web_database_table.h" 11 #include "chrome/browser/webdata/web_database_table.h"
12 12
13 #include <vector> 13 #include <vector>
14 14
15 class AutofillChange; 15 class AutofillChange;
16 class AutofillEntry; 16 class AutofillEntry;
17 class AutofillProfile; 17 class AutofillProfile;
18 class AutofillTableTest; 18 class AutofillTableTest;
19 class CreditCard; 19 class CreditCard;
20 20
21 struct FormFieldData;
22
21 namespace base { 23 namespace base {
22 class Time; 24 class Time;
23 } 25 }
24 26
25 namespace webkit {
26 namespace forms {
27 struct FormField;
28 }
29 }
30
31 // This class manages the various autofill tables within the SQLite database 27 // This class manages the various autofill tables within the SQLite database
32 // passed to the constructor. It expects the following schemas: 28 // passed to the constructor. It expects the following schemas:
33 // 29 //
34 // Note: The database stores time in seconds, UTC. 30 // Note: The database stores time in seconds, UTC.
35 // 31 //
36 // autofill 32 // autofill
37 // name The name of the input as specified in the html. 33 // name The name of the input as specified in the html.
38 // value The literal contents of the text field. 34 // value The literal contents of the text field.
39 // value_lower The contents of the text field made lower_case. 35 // value_lower The contents of the text field made lower_case.
40 // pair_id An ID number unique to the row in the table. 36 // pair_id An ID number unique to the row in the table.
(...skipping 78 matching lines...) Expand 10 before | Expand all | Expand 10 after
119 class AutofillTable : public WebDatabaseTable { 115 class AutofillTable : public WebDatabaseTable {
120 public: 116 public:
121 AutofillTable(sql::Connection* db, sql::MetaTable* meta_table); 117 AutofillTable(sql::Connection* db, sql::MetaTable* meta_table);
122 virtual ~AutofillTable(); 118 virtual ~AutofillTable();
123 virtual bool Init() OVERRIDE; 119 virtual bool Init() OVERRIDE;
124 virtual bool IsSyncable() OVERRIDE; 120 virtual bool IsSyncable() OVERRIDE;
125 121
126 // Records the form elements in |elements| in the database in the 122 // Records the form elements in |elements| in the database in the
127 // autofill table. A list of all added and updated autofill entries 123 // autofill table. A list of all added and updated autofill entries
128 // is returned in the changes out parameter. 124 // is returned in the changes out parameter.
129 bool AddFormFieldValues(const std::vector<webkit::forms::FormField>& elements, 125 bool AddFormFieldValues(const std::vector<FormFieldData>& elements,
130 std::vector<AutofillChange>* changes); 126 std::vector<AutofillChange>* changes);
131 127
132 // Records a single form element in the database in the autofill table. A list 128 // Records a single form element in the database in the autofill table. A list
133 // of all added and updated autofill entries is returned in the changes out 129 // of all added and updated autofill entries is returned in the changes out
134 // parameter. 130 // parameter.
135 bool AddFormFieldValue(const webkit::forms::FormField& element, 131 bool AddFormFieldValue(const FormFieldData& element,
136 std::vector<AutofillChange>* changes); 132 std::vector<AutofillChange>* changes);
137 133
138 // Retrieves a vector of all values which have been recorded in the autofill 134 // Retrieves a vector of all values which have been recorded in the autofill
139 // table as the value in a form element with name |name| and which start with 135 // table as the value in a form element with name |name| and which start with
140 // |prefix|. The comparison of the prefix is case insensitive. 136 // |prefix|. The comparison of the prefix is case insensitive.
141 bool GetFormValuesForElementName(const string16& name, 137 bool GetFormValuesForElementName(const string16& name,
142 const string16& prefix, 138 const string16& prefix,
143 std::vector<string16>* values, 139 std::vector<string16>* values,
144 int limit); 140 int limit);
145 141
(...skipping 24 matching lines...) Expand all
170 bool AddToCountOfFormElement(int64 pair_id, int delta); 166 bool AddToCountOfFormElement(int64 pair_id, int delta);
171 167
172 // Counts how many timestamp data rows are in the |autofill_dates| table for 168 // Counts how many timestamp data rows are in the |autofill_dates| table for
173 // a given |pair_id|. GetCountOfFormElement() on the other hand gives the 169 // a given |pair_id|. GetCountOfFormElement() on the other hand gives the
174 // |count| property for a given id. 170 // |count| property for a given id.
175 int CountTimestampsData(int64 pair_id); 171 int CountTimestampsData(int64 pair_id);
176 172
177 // Gets the pair_id and count entries from name and value specified in 173 // Gets the pair_id and count entries from name and value specified in
178 // |element|. Sets *pair_id and *count to 0 if there is no such row in 174 // |element|. Sets *pair_id and *count to 0 if there is no such row in
179 // the table. 175 // the table.
180 bool GetIDAndCountOfFormElement(const webkit::forms::FormField& element, 176 bool GetIDAndCountOfFormElement(const FormFieldData& element,
181 int64* pair_id, 177 int64* pair_id,
182 int* count); 178 int* count);
183 179
184 // Gets the count only given the pair_id. 180 // Gets the count only given the pair_id.
185 bool GetCountOfFormElement(int64 pair_id, int* count); 181 bool GetCountOfFormElement(int64 pair_id, int* count);
186 182
187 // Updates the count entry in the row corresponding to |pair_id| to |count|. 183 // Updates the count entry in the row corresponding to |pair_id| to |count|.
188 bool SetCountOfFormElement(int64 pair_id, int count); 184 bool SetCountOfFormElement(int64 pair_id, int count);
189 185
190 // Adds a new row to the autofill table with name and value given in 186 // Adds a new row to the autofill table with name and value given in
191 // |element|. Sets *pair_id to the pair_id of the new row. 187 // |element|. Sets *pair_id to the pair_id of the new row.
192 bool InsertFormElement(const webkit::forms::FormField& element, 188 bool InsertFormElement(const FormFieldData& element,
193 int64* pair_id); 189 int64* pair_id);
194 190
195 // Adds a new row to the autofill_dates table. 191 // Adds a new row to the autofill_dates table.
196 bool InsertPairIDAndDate(int64 pair_id, const base::Time& date_created); 192 bool InsertPairIDAndDate(int64 pair_id, const base::Time& date_created);
197 193
198 // Deletes last access to the Autofill data from the autofill_dates table. 194 // Deletes last access to the Autofill data from the autofill_dates table.
199 bool DeleteLastAccess(int64 pair_id); 195 bool DeleteLastAccess(int64 pair_id);
200 196
201 // Removes row from the autofill tables given |pair_id|. 197 // Removes row from the autofill tables given |pair_id|.
202 bool RemoveFormElementForID(int64 pair_id); 198 bool RemoveFormElementForID(int64 pair_id);
(...skipping 115 matching lines...) Expand 10 before | Expand all | Expand 10 after
318 FRIEND_TEST_ALL_PREFIXES(AutofillTableTest, 314 FRIEND_TEST_ALL_PREFIXES(AutofillTableTest,
319 Autofill_GetAllAutofillEntries_OneResult); 315 Autofill_GetAllAutofillEntries_OneResult);
320 FRIEND_TEST_ALL_PREFIXES(AutofillTableTest, 316 FRIEND_TEST_ALL_PREFIXES(AutofillTableTest,
321 Autofill_GetAllAutofillEntries_TwoDistinct); 317 Autofill_GetAllAutofillEntries_TwoDistinct);
322 FRIEND_TEST_ALL_PREFIXES(AutofillTableTest, 318 FRIEND_TEST_ALL_PREFIXES(AutofillTableTest,
323 Autofill_GetAllAutofillEntries_TwoSame); 319 Autofill_GetAllAutofillEntries_TwoSame);
324 320
325 // Methods for adding autofill entries at a specified time. For 321 // Methods for adding autofill entries at a specified time. For
326 // testing only. 322 // testing only.
327 bool AddFormFieldValuesTime( 323 bool AddFormFieldValuesTime(
328 const std::vector<webkit::forms::FormField>& elements, 324 const std::vector<FormFieldData>& elements,
329 std::vector<AutofillChange>* changes, 325 std::vector<AutofillChange>* changes,
330 base::Time time); 326 base::Time time);
331 bool AddFormFieldValueTime(const webkit::forms::FormField& element, 327 bool AddFormFieldValueTime(const FormFieldData& element,
332 std::vector<AutofillChange>* changes, 328 std::vector<AutofillChange>* changes,
333 base::Time time); 329 base::Time time);
334 330
335 // Insert a single AutofillEntry into the autofill/autofill_dates tables. 331 // Insert a single AutofillEntry into the autofill/autofill_dates tables.
336 bool InsertAutofillEntry(const AutofillEntry& entry); 332 bool InsertAutofillEntry(const AutofillEntry& entry);
337 333
338 // Checks if the trash is empty. 334 // Checks if the trash is empty.
339 bool IsAutofillProfilesTrashEmpty(); 335 bool IsAutofillProfilesTrashEmpty();
340 336
341 // Checks if the guid is in the trash. 337 // Checks if the guid is in the trash.
342 bool IsAutofillGUIDInTrash(const std::string& guid); 338 bool IsAutofillGUIDInTrash(const std::string& guid);
343 339
344 bool InitMainTable(); 340 bool InitMainTable();
345 bool InitCreditCardsTable(); 341 bool InitCreditCardsTable();
346 bool InitDatesTable(); 342 bool InitDatesTable();
347 bool InitProfilesTable(); 343 bool InitProfilesTable();
348 bool InitProfileNamesTable(); 344 bool InitProfileNamesTable();
349 bool InitProfileEmailsTable(); 345 bool InitProfileEmailsTable();
350 bool InitProfilePhonesTable(); 346 bool InitProfilePhonesTable();
351 bool InitProfileTrashTable(); 347 bool InitProfileTrashTable();
352 348
353 DISALLOW_COPY_AND_ASSIGN(AutofillTable); 349 DISALLOW_COPY_AND_ASSIGN(AutofillTable);
354 }; 350 };
355 351
356 #endif // CHROME_BROWSER_WEBDATA_AUTOFILL_TABLE_H_ 352 #endif // CHROME_BROWSER_WEBDATA_AUTOFILL_TABLE_H_
OLDNEW
« no previous file with comments | « chrome/browser/ui/webui/options/password_manager_handler.cc ('k') | chrome/browser/webdata/autofill_table.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698