OLD | NEW |
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_PERSONAL_DATA_MANAGER_H_ | 5 #ifndef COMPONENTS_AUTOFILL_CORE_BROWSER_PERSONAL_DATA_MANAGER_H_ |
6 #define COMPONENTS_AUTOFILL_CORE_BROWSER_PERSONAL_DATA_MANAGER_H_ | 6 #define COMPONENTS_AUTOFILL_CORE_BROWSER_PERSONAL_DATA_MANAGER_H_ |
7 | 7 |
8 #include <set> | 8 #include <set> |
9 #include <vector> | 9 #include <vector> |
10 | 10 |
11 #include "base/basictypes.h" | 11 #include "base/basictypes.h" |
12 #include "base/memory/scoped_ptr.h" | 12 #include "base/memory/scoped_ptr.h" |
13 #include "base/memory/scoped_vector.h" | 13 #include "base/memory/scoped_vector.h" |
14 #include "base/observer_list.h" | 14 #include "base/observer_list.h" |
15 #include "base/prefs/pref_member.h" | 15 #include "base/prefs/pref_member.h" |
16 #include "base/strings/string16.h" | 16 #include "base/strings/string16.h" |
17 #include "components/autofill/core/browser/autofill_profile.h" | 17 #include "components/autofill/core/browser/autofill_profile.h" |
18 #include "components/autofill/core/browser/credit_card.h" | 18 #include "components/autofill/core/browser/credit_card.h" |
19 #include "components/autofill/core/browser/field_types.h" | 19 #include "components/autofill/core/browser/field_types.h" |
20 #include "components/autofill/core/browser/suggestion.h" | 20 #include "components/autofill/core/browser/suggestion.h" |
21 #include "components/autofill/core/browser/webdata/autofill_webdata_service.h" | 21 #include "components/autofill/core/browser/webdata/autofill_webdata_service.h" |
22 #include "components/autofill/core/browser/webdata/autofill_webdata_service_obse
rver.h" | 22 #include "components/autofill/core/browser/webdata/autofill_webdata_service_obse
rver.h" |
23 #include "components/keyed_service/core/keyed_service.h" | 23 #include "components/keyed_service/core/keyed_service.h" |
24 #include "components/webdata/common/web_data_service_consumer.h" | 24 #include "components/webdata/common/web_data_service_consumer.h" |
25 | 25 |
| 26 class Browser; |
26 class PrefService; | 27 class PrefService; |
27 class RemoveAutofillTester; | 28 class RemoveAutofillTester; |
28 | 29 |
29 namespace autofill { | 30 namespace autofill { |
30 class AutofillInteractiveTest; | 31 class AutofillInteractiveTest; |
31 class AutofillTest; | 32 class AutofillTest; |
32 class FormStructure; | 33 class FormStructure; |
33 class PersonalDataManagerObserver; | 34 class PersonalDataManagerObserver; |
34 class PersonalDataManagerFactory; | 35 class PersonalDataManagerFactory; |
35 } // namespace autofill | 36 } // namespace autofill |
(...skipping 194 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
230 friend class autofill::AutofillTest; | 231 friend class autofill::AutofillTest; |
231 friend class autofill::PersonalDataManagerFactory; | 232 friend class autofill::PersonalDataManagerFactory; |
232 friend class PersonalDataManagerTest; | 233 friend class PersonalDataManagerTest; |
233 friend class ProfileSyncServiceAutofillTest; | 234 friend class ProfileSyncServiceAutofillTest; |
234 friend class ::RemoveAutofillTester; | 235 friend class ::RemoveAutofillTester; |
235 friend struct base::DefaultDeleter<PersonalDataManager>; | 236 friend struct base::DefaultDeleter<PersonalDataManager>; |
236 friend void autofill_helper::SetProfiles( | 237 friend void autofill_helper::SetProfiles( |
237 int, std::vector<autofill::AutofillProfile>*); | 238 int, std::vector<autofill::AutofillProfile>*); |
238 friend void autofill_helper::SetCreditCards( | 239 friend void autofill_helper::SetCreditCards( |
239 int, std::vector<autofill::CreditCard>*); | 240 int, std::vector<autofill::CreditCard>*); |
| 241 friend void SetTestProfiles( |
| 242 Browser* browser, std::vector<AutofillProfile>* profiles); |
240 | 243 |
241 // Sets |web_profiles_| to the contents of |profiles| and updates the web | 244 // Sets |web_profiles_| to the contents of |profiles| and updates the web |
242 // database by adding, updating and removing profiles. | 245 // database by adding, updating and removing profiles. |
243 // The relationship between this and Refresh is subtle. | 246 // The relationship between this and Refresh is subtle. |
244 // A call to |SetProfiles| could include out-of-date data that may conflict | 247 // A call to |SetProfiles| could include out-of-date data that may conflict |
245 // if we didn't refresh-to-latest before an Autofill window was opened for | 248 // if we didn't refresh-to-latest before an Autofill window was opened for |
246 // editing. |SetProfiles| is implemented to make a "best effort" to apply the | 249 // editing. |SetProfiles| is implemented to make a "best effort" to apply the |
247 // changes, but in extremely rare edge cases it is possible not all of the | 250 // changes, but in extremely rare edge cases it is possible not all of the |
248 // updates in |profiles| make it to the DB. This is why SetProfiles will | 251 // updates in |profiles| make it to the DB. This is why SetProfiles will |
249 // invoke Refresh after finishing, to ensure we get into a | 252 // invoke Refresh after finishing, to ensure we get into a |
(...skipping 110 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
360 | 363 |
361 // An observer to listen for changes to prefs::kAutofillEnabled. | 364 // An observer to listen for changes to prefs::kAutofillEnabled. |
362 scoped_ptr<BooleanPrefMember> enabled_pref_; | 365 scoped_ptr<BooleanPrefMember> enabled_pref_; |
363 | 366 |
364 DISALLOW_COPY_AND_ASSIGN(PersonalDataManager); | 367 DISALLOW_COPY_AND_ASSIGN(PersonalDataManager); |
365 }; | 368 }; |
366 | 369 |
367 } // namespace autofill | 370 } // namespace autofill |
368 | 371 |
369 #endif // COMPONENTS_AUTOFILL_CORE_BROWSER_PERSONAL_DATA_MANAGER_H_ | 372 #endif // COMPONENTS_AUTOFILL_CORE_BROWSER_PERSONAL_DATA_MANAGER_H_ |
OLD | NEW |