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

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

Issue 2975003: Makes the auto fill dialogs match the mocks. (Closed)
Patch Set: Moves function declarations out of autofill_dialog.h 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
11 #include "base/observer_list.h"
11 #include "base/ref_counted.h" 12 #include "base/ref_counted.h"
12 #include "base/scoped_ptr.h" 13 #include "base/scoped_ptr.h"
13 #include "base/scoped_vector.h" 14 #include "base/scoped_vector.h"
14 #include "base/string16.h" 15 #include "base/string16.h"
15 #include "chrome/browser/autofill/autofill_dialog.h" 16 #include "chrome/browser/autofill/autofill_dialog.h"
16 #include "chrome/browser/autofill/autofill_profile.h" 17 #include "chrome/browser/autofill/autofill_profile.h"
17 #include "chrome/browser/autofill/credit_card.h" 18 #include "chrome/browser/autofill/credit_card.h"
18 #include "chrome/browser/autofill/field_types.h" 19 #include "chrome/browser/autofill/field_types.h"
19 #include "chrome/browser/webdata/web_data_service.h" 20 #include "chrome/browser/webdata/web_data_service.h"
20 21
21 class AutoFillManager; 22 class AutoFillManager;
22 class FormStructure; 23 class FormStructure;
23 class Profile; 24 class Profile;
24 25
25 // Handles loading and saving AutoFill profile information to the web database. 26 // Handles loading and saving AutoFill profile information to the web database.
26 // This class also stores the profiles loaded from the database for use during 27 // This class also stores the profiles loaded from the database for use during
27 // AutoFill. 28 // AutoFill.
28 class PersonalDataManager 29 class PersonalDataManager
29 : public WebDataServiceConsumer, 30 : public WebDataServiceConsumer,
30 public AutoFillDialogObserver, 31 public AutoFillDialogObserver,
31 public base::RefCountedThreadSafe<PersonalDataManager> { 32 public base::RefCountedThreadSafe<PersonalDataManager> {
32 public: 33 public:
33 // An interface the PersonalDataManager uses to notify its clients (observers) 34 // An interface the PersonalDataManager uses to notify its clients (observers)
34 // when it has finished loading personal data from the web database. Register 35 // when it has finished loading personal data from the web database. Register
35 // the observer via PersonalDataManager::SetObserver. 36 // the observer via PersonalDataManager::SetObserver.
36 class Observer { 37 class Observer {
37 public: 38 public:
38 // Notifies the observer that the PersonalDataManager has finished loading. 39 // Notifies the observer that the PersonalDataManager has finished loading.
40 // TODO: OnPersonalDataLoaded should be nuked in favor of only
41 // OnPersonalDataChanged.
39 virtual void OnPersonalDataLoaded() = 0; 42 virtual void OnPersonalDataLoaded() = 0;
40 43
44 // Notifies the observer that the PersonalDataManager changed in some way.
45 virtual void OnPersonalDataChanged() {}
46
41 protected: 47 protected:
42 virtual ~Observer() {} 48 virtual ~Observer() {}
43 }; 49 };
44 50
45 // WebDataServiceConsumer implementation: 51 // WebDataServiceConsumer implementation:
46 virtual void OnWebDataServiceRequestDone(WebDataService::Handle h, 52 virtual void OnWebDataServiceRequestDone(WebDataService::Handle h,
47 const WDTypedResult* result); 53 const WDTypedResult* result);
48 54
49 // AutoFillDialogObserver implementation: 55 // AutoFillDialogObserver implementation:
50 virtual void OnAutoFillDialogApply(std::vector<AutoFillProfile>* profiles, 56 virtual void OnAutoFillDialogApply(std::vector<AutoFillProfile>* profiles,
(...skipping 182 matching lines...) Expand 10 before | Expand all | Expand 10 after
233 // no password exists. 239 // no password exists.
234 string16 password_hash_; 240 string16 password_hash_;
235 241
236 // When the manager makes a request from WebDataService, the database 242 // When the manager makes a request from WebDataService, the database
237 // is queried on another thread, we record the query handle until we 243 // is queried on another thread, we record the query handle until we
238 // get called back. We store handles for both profile and credit card queries 244 // get called back. We store handles for both profile and credit card queries
239 // so they can be loaded at the same time. 245 // so they can be loaded at the same time.
240 WebDataService::Handle pending_profiles_query_; 246 WebDataService::Handle pending_profiles_query_;
241 WebDataService::Handle pending_creditcards_query_; 247 WebDataService::Handle pending_creditcards_query_;
242 248
243 // The observers. This can be empty. 249 // The observers.
244 std::vector<PersonalDataManager::Observer*> observers_; 250 ObserverList<Observer> observers_;
245 251
246 DISALLOW_COPY_AND_ASSIGN(PersonalDataManager); 252 DISALLOW_COPY_AND_ASSIGN(PersonalDataManager);
247 }; 253 };
248 254
249 #endif // CHROME_BROWSER_AUTOFILL_PERSONAL_DATA_MANAGER_H_ 255 #endif // CHROME_BROWSER_AUTOFILL_PERSONAL_DATA_MANAGER_H_
OLDNEW
« no previous file with comments | « chrome/browser/autofill/credit_card.cc ('k') | chrome/browser/autofill/personal_data_manager.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698