OLD | NEW |
1 // Copyright (c) 2009 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2009 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_WEB_DATABASE_H_ | 5 #ifndef CHROME_BROWSER_WEBDATA_WEB_DATABASE_H_ |
6 #define CHROME_BROWSER_WEBDATA_WEB_DATABASE_H_ | 6 #define CHROME_BROWSER_WEBDATA_WEB_DATABASE_H_ |
7 | 7 |
8 #include <vector> | 8 #include <vector> |
9 | 9 |
10 #include "app/sql/connection.h" | 10 #include "app/sql/connection.h" |
(...skipping 112 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
123 // the 'Never for this site' button. | 123 // the 'Never for this site' button. |
124 bool GetAllLogins(std::vector<webkit_glue::PasswordForm*>* forms, | 124 bool GetAllLogins(std::vector<webkit_glue::PasswordForm*>* forms, |
125 bool include_blacklisted); | 125 bool include_blacklisted); |
126 | 126 |
127 ////////////////////////////////////////////////////////////////////////////// | 127 ////////////////////////////////////////////////////////////////////////////// |
128 // | 128 // |
129 // Autofill | 129 // Autofill |
130 // | 130 // |
131 ////////////////////////////////////////////////////////////////////////////// | 131 ////////////////////////////////////////////////////////////////////////////// |
132 | 132 |
133 // Records the form elements in |elements| in the database in the autofill | 133 // Records the form elements in |elements| in the database in the |
134 // table. | 134 // autofill table. A list of all added and updated autofill entries |
135 bool AddFormFieldValues(const std::vector<webkit_glue::FormField>& elements); | 135 // is returned in the changes out parameter. |
| 136 bool AddFormFieldValues(const std::vector<webkit_glue::FormField>& elements, |
| 137 std::vector<AutofillChange>* changes); |
136 | 138 |
137 // Records a single form element in in the database in the autofill table. | 139 // Records a single form element in in the database in the autofill |
138 bool AddFormFieldValue(const webkit_glue::FormField& element); | 140 // table. A list of all added and updated autofill entries is |
| 141 // returned in the changes out parameter. |
| 142 bool AddFormFieldValue(const webkit_glue::FormField& element, |
| 143 std::vector<AutofillChange>* changes); |
139 | 144 |
140 // Retrieves a vector of all values which have been recorded in the autofill | 145 // Retrieves a vector of all values which have been recorded in the autofill |
141 // table as the value in a form element with name |name| and which start with | 146 // table as the value in a form element with name |name| and which start with |
142 // |prefix|. The comparison of the prefix is case insensitive. | 147 // |prefix|. The comparison of the prefix is case insensitive. |
143 bool GetFormValuesForElementName(const string16& name, | 148 bool GetFormValuesForElementName(const string16& name, |
144 const string16& prefix, | 149 const string16& prefix, |
145 std::vector<string16>* values, | 150 std::vector<string16>* values, |
146 int limit); | 151 int limit); |
147 | 152 |
148 // Removes rows from autofill_dates if they were created on or after | 153 // Removes rows from autofill_dates if they were created on or after |
(...skipping 52 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
201 bool SetWebAppImage(const GURL& url, const SkBitmap& image); | 206 bool SetWebAppImage(const GURL& url, const SkBitmap& image); |
202 bool GetWebAppImages(const GURL& url, std::vector<SkBitmap>* images); | 207 bool GetWebAppImages(const GURL& url, std::vector<SkBitmap>* images); |
203 | 208 |
204 bool SetWebAppHasAllImages(const GURL& url, bool has_all_images); | 209 bool SetWebAppHasAllImages(const GURL& url, bool has_all_images); |
205 bool GetWebAppHasAllImages(const GURL& url); | 210 bool GetWebAppHasAllImages(const GURL& url); |
206 | 211 |
207 bool RemoveWebApp(const GURL& url); | 212 bool RemoveWebApp(const GURL& url); |
208 | 213 |
209 private: | 214 private: |
210 FRIEND_TEST(WebDatabaseTest, Autofill); | 215 FRIEND_TEST(WebDatabaseTest, Autofill); |
| 216 FRIEND_TEST(WebDatabaseTest, Autofill_AddChanges); |
211 FRIEND_TEST(WebDatabaseTest, Autofill_RemoveBetweenChanges); | 217 FRIEND_TEST(WebDatabaseTest, Autofill_RemoveBetweenChanges); |
212 | 218 |
213 // Methods for adding autofill entries at a specified time. For | 219 // Methods for adding autofill entries at a specified time. For |
214 // testing only. | 220 // testing only. |
215 bool AddFormFieldValuesTime( | 221 bool AddFormFieldValuesTime( |
216 const std::vector<webkit_glue::FormField>& elements, | 222 const std::vector<webkit_glue::FormField>& elements, |
| 223 std::vector<AutofillChange>* changes, |
217 base::Time time); | 224 base::Time time); |
218 bool AddFormFieldValueTime(const webkit_glue::FormField& element, | 225 bool AddFormFieldValueTime(const webkit_glue::FormField& element, |
| 226 std::vector<AutofillChange>* changes, |
219 base::Time time); | 227 base::Time time); |
220 | 228 |
221 // Removes empty values for autofill that were incorrectly stored in the DB | 229 // Removes empty values for autofill that were incorrectly stored in the DB |
222 // (see bug http://crbug.com/6111). | 230 // (see bug http://crbug.com/6111). |
223 // TODO(jcampan): http://crbug.com/7564 remove when we think all users have | 231 // TODO(jcampan): http://crbug.com/7564 remove when we think all users have |
224 // run this code. | 232 // run this code. |
225 bool ClearAutofillEmptyValueElements(); | 233 bool ClearAutofillEmptyValueElements(); |
226 | 234 |
227 bool InitKeywordsTable(); | 235 bool InitKeywordsTable(); |
228 bool InitLoginsTable(); | 236 bool InitLoginsTable(); |
229 bool InitAutofillTable(); | 237 bool InitAutofillTable(); |
230 bool InitAutofillDatesTable(); | 238 bool InitAutofillDatesTable(); |
231 bool InitWebAppIconsTable(); | 239 bool InitWebAppIconsTable(); |
232 bool InitWebAppsTable(); | 240 bool InitWebAppsTable(); |
233 | 241 |
234 void MigrateOldVersionsAsNeeded(); | 242 void MigrateOldVersionsAsNeeded(); |
235 | 243 |
236 sql::Connection db_; | 244 sql::Connection db_; |
237 sql::MetaTable meta_table_; | 245 sql::MetaTable meta_table_; |
238 | 246 |
239 DISALLOW_COPY_AND_ASSIGN(WebDatabase); | 247 DISALLOW_COPY_AND_ASSIGN(WebDatabase); |
240 }; | 248 }; |
241 | 249 |
242 #endif // CHROME_BROWSER_WEBDATA_WEB_DATABASE_H_ | 250 #endif // CHROME_BROWSER_WEBDATA_WEB_DATABASE_H_ |
OLD | NEW |