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

Side by Side Diff: chrome/browser/autofill/personal_data_manager.h

Issue 2818033: AutoFill: Aggregate profile data. Remove the AutoFill InfoBar. (Closed)
Patch Set: Comment. Created 10 years, 5 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) 2010 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2010 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_AUTOFILL_PERSONAL_DATA_MANAGER_H_ 5 #ifndef CHROME_BROWSER_AUTOFILL_PERSONAL_DATA_MANAGER_H_
6 #define CHROME_BROWSER_AUTOFILL_PERSONAL_DATA_MANAGER_H_ 6 #define CHROME_BROWSER_AUTOFILL_PERSONAL_DATA_MANAGER_H_
7 7
8 #include <set> 8 #include <set>
9 #include <vector> 9 #include <vector>
10 10
(...skipping 46 matching lines...) Expand 10 before | Expand all | Expand 10 after
57 virtual void RemoveObserver(PersonalDataManager::Observer* observer); 57 virtual void RemoveObserver(PersonalDataManager::Observer* observer);
58 58
59 // If AutoFill is able to determine the field types of a significant number 59 // If AutoFill is able to determine the field types of a significant number
60 // of field types that contain information in the FormStructures and the user 60 // of field types that contain information in the FormStructures and the user
61 // has not previously been prompted, the user will be asked if he would like 61 // has not previously been prompted, the user will be asked if he would like
62 // to import the data. If the user selects yes, a profile will be created 62 // to import the data. If the user selects yes, a profile will be created
63 // with all of the information from recognized fields. 63 // with all of the information from recognized fields.
64 bool ImportFormData(const std::vector<FormStructure*>& form_structures, 64 bool ImportFormData(const std::vector<FormStructure*>& form_structures,
65 AutoFillManager* autofill_manager); 65 AutoFillManager* autofill_manager);
66 66
67 // Saves |imported_profile_| and |imported_credit_card_| to the WebDB if they
68 // exist.
69 virtual void SaveImportedFormData();
70
71 // Gets |imported_profile_| and |imported_credit_card_| and returns their 67 // Gets |imported_profile_| and |imported_credit_card_| and returns their
72 // values in |profile| and |credit_card| parameters respectively. One or 68 // values in |profile| and |credit_card| parameters respectively. One or
73 // both may return NULL. The objects returned are owned by the 69 // both may return NULL. The objects returned are owned by the
74 // PersonalDataManager, so should be considered weak references by caller. 70 // PersonalDataManager, so should be considered weak references by caller.
75 // TODO(dhollowa) Now that we aren't immediately saving the imported form 71 // TODO(dhollowa) Now that we aren't immediately saving the imported form
76 // data, we should store the profile and CC in the AFM instead of the PDM. 72 // data, we should store the profile and CC in the AFM instead of the PDM.
77 void GetImportedFormData(AutoFillProfile** profile, CreditCard** credit_card); 73 void GetImportedFormData(AutoFillProfile** profile, CreditCard** credit_card);
78 74
79 // Sets |web_profiles_| to the contents of |profiles| and updates the web 75 // Sets |web_profiles_| to the contents of |profiles| and updates the web
80 // database by adding, updating and removing profiles. Sets the unique ID of 76 // database by adding, updating and removing profiles. Sets the unique ID of
81 // newly-added profiles. 77 // newly-added profiles.
82 // 78 //
83 // The relationship between this and Refresh is subtle. 79 // The relationship between this and Refresh is subtle.
84 // A call to SetProfile could include out-of-date data that may conflict 80 // A call to SetProfile could include out-of-date data that may conflict
85 // if we didn't refresh-to-latest before an autofill window was opened for 81 // if we didn't refresh-to-latest before an AutoFill window was opened for
86 // editing. SetProfile is implemented to make a "best effort" to apply the 82 // editing. SetProfile is implemented to make a "best effort" to apply the
87 // changes, but in extremely rare edge cases it is possible not all of the 83 // changes, but in extremely rare edge cases it is possible not all of the
88 // updates in |profiles| make it to the DB. This is why SetProfiles will 84 // updates in |profiles| make it to the DB. This is why SetProfiles will
89 // invoke Refresh after finishing, to ensure we get into a 85 // invoke Refresh after finishing, to ensure we get into a
90 // consistent state. See Refresh for details. 86 // consistent state. See Refresh for details.
91 void SetProfiles(std::vector<AutoFillProfile>* profiles); 87 void SetProfiles(std::vector<AutoFillProfile>* profiles);
92 88
93 // Sets |credit_cards_| to the contents of |credit_cards| and updates the web 89 // Sets |credit_cards_| to the contents of |credit_cards| and updates the web
94 // database by adding, updating and removing credit cards. Sets the unique 90 // database by adding, updating and removing credit cards. Sets the unique
95 // ID of newly-added profiles. 91 // ID of newly-added profiles.
(...skipping 89 matching lines...) Expand 10 before | Expand all | Expand 10 after
185 // query handle. 181 // query handle.
186 void CancelPendingQuery(WebDataService::Handle* handle); 182 void CancelPendingQuery(WebDataService::Handle* handle);
187 183
188 // Ensures that all profile labels are unique by appending an increasing digit 184 // Ensures that all profile labels are unique by appending an increasing digit
189 // to the end of non-unique labels. 185 // to the end of non-unique labels.
190 // TODO(jhawkins): Create a new interface for labeled entities and turn these 186 // TODO(jhawkins): Create a new interface for labeled entities and turn these
191 // two methods into one. 187 // two methods into one.
192 void SetUniqueProfileLabels(std::vector<AutoFillProfile>* profiles); 188 void SetUniqueProfileLabels(std::vector<AutoFillProfile>* profiles);
193 void SetUniqueCreditCardLabels(std::vector<CreditCard>* credit_cards); 189 void SetUniqueCreditCardLabels(std::vector<CreditCard>* credit_cards);
194 190
191 // Saves |imported_profile_| to the WebDB if it exists.
192 // TODO(jhawkins): SaveImportedCreditCard.
193 void SaveImportedProfile();
194
195 // The profile hosting this PersonalDataManager. 195 // The profile hosting this PersonalDataManager.
196 Profile* profile_; 196 Profile* profile_;
197 197
198 // True if personal data has been loaded from the web database. 198 // True if personal data has been loaded from the web database.
199 bool is_data_loaded_; 199 bool is_data_loaded_;
200 200
201 // The set of already created unique profile IDs, used to create a new unique 201 // The set of already created unique profile IDs, used to create a new unique
202 // profile ID. 202 // profile ID.
203 std::set<int> unique_profile_ids_; 203 std::set<int> unique_profile_ids_;
204 204
(...skipping 34 matching lines...) Expand 10 before | Expand all | Expand 10 after
239 WebDataService::Handle pending_profiles_query_; 239 WebDataService::Handle pending_profiles_query_;
240 WebDataService::Handle pending_creditcards_query_; 240 WebDataService::Handle pending_creditcards_query_;
241 241
242 // The observers. This can be empty. 242 // The observers. This can be empty.
243 std::vector<PersonalDataManager::Observer*> observers_; 243 std::vector<PersonalDataManager::Observer*> observers_;
244 244
245 DISALLOW_COPY_AND_ASSIGN(PersonalDataManager); 245 DISALLOW_COPY_AND_ASSIGN(PersonalDataManager);
246 }; 246 };
247 247
248 #endif // CHROME_BROWSER_AUTOFILL_PERSONAL_DATA_MANAGER_H_ 248 #endif // CHROME_BROWSER_AUTOFILL_PERSONAL_DATA_MANAGER_H_
OLDNEW
« no previous file with comments | « chrome/browser/autofill/form_structure_unittest.cc ('k') | chrome/browser/autofill/personal_data_manager.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698