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

Side by Side Diff: chrome/browser/sync/glue/autofill_model_associator.h

Issue 2002012: sync: Add location info to unrecoverable error. (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: Add error handler back to bookmark model associator Created 10 years, 6 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 | Annotate | Revision Log
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_SYNC_GLUE_AUTOFILL_MODEL_ASSOCIATOR_H_ 5 #ifndef CHROME_BROWSER_SYNC_GLUE_AUTOFILL_MODEL_ASSOCIATOR_H_
6 #define CHROME_BROWSER_SYNC_GLUE_AUTOFILL_MODEL_ASSOCIATOR_H_ 6 #define CHROME_BROWSER_SYNC_GLUE_AUTOFILL_MODEL_ASSOCIATOR_H_
7 7
8 #include <map> 8 #include <map>
9 #include <set> 9 #include <set>
10 #include <string> 10 #include <string>
(...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after
42 // Contains all model association related logic: 42 // Contains all model association related logic:
43 // * Algorithm to associate autofill model and sync model. 43 // * Algorithm to associate autofill model and sync model.
44 // We do not check if we have local data before this run; we always 44 // We do not check if we have local data before this run; we always
45 // merge and sync. 45 // merge and sync.
46 class AutofillModelAssociator 46 class AutofillModelAssociator
47 : public PerDataTypeAssociatorInterface<std::string, std::string> { 47 : public PerDataTypeAssociatorInterface<std::string, std::string> {
48 public: 48 public:
49 static syncable::ModelType model_type() { return syncable::AUTOFILL; } 49 static syncable::ModelType model_type() { return syncable::AUTOFILL; }
50 AutofillModelAssociator(ProfileSyncService* sync_service, 50 AutofillModelAssociator(ProfileSyncService* sync_service,
51 WebDatabase* web_database, 51 WebDatabase* web_database,
52 PersonalDataManager* data_manager, 52 PersonalDataManager* data_manager);
53 UnrecoverableErrorHandler* error_handler);
54 virtual ~AutofillModelAssociator(); 53 virtual ~AutofillModelAssociator();
55 54
56 // A task used by this class and the change processor to inform the 55 // A task used by this class and the change processor to inform the
57 // PersonalDataManager living on the UI thread that it needs to refresh. 56 // PersonalDataManager living on the UI thread that it needs to refresh.
58 class DoOptimisticRefreshTask : public Task { 57 class DoOptimisticRefreshTask : public Task {
59 public: 58 public:
60 explicit DoOptimisticRefreshTask(PersonalDataManager* pdm) : pdm_(pdm) {} 59 explicit DoOptimisticRefreshTask(PersonalDataManager* pdm) : pdm_(pdm) {}
61 virtual void Run() { 60 virtual void Run() {
62 DCHECK(ChromeThread::CurrentlyOn(ChromeThread::UI)); 61 DCHECK(ChromeThread::CurrentlyOn(ChromeThread::UI));
63 pdm_->Refresh(); 62 pdm_->Refresh();
(...skipping 133 matching lines...) Expand 10 before | Expand all | Expand 10 after
197 const AutoFillProfile& profile, 196 const AutoFillProfile& profile,
198 int64* sync_id); 197 int64* sync_id);
199 198
200 // Called at various points in model association to determine if the 199 // Called at various points in model association to determine if the
201 // user requested an abort. 200 // user requested an abort.
202 bool IsAbortPending(); 201 bool IsAbortPending();
203 202
204 ProfileSyncService* sync_service_; 203 ProfileSyncService* sync_service_;
205 WebDatabase* web_database_; 204 WebDatabase* web_database_;
206 PersonalDataManager* personal_data_; 205 PersonalDataManager* personal_data_;
207 UnrecoverableErrorHandler* error_handler_;
208 int64 autofill_node_id_; 206 int64 autofill_node_id_;
209 207
210 AutofillToSyncIdMap id_map_; 208 AutofillToSyncIdMap id_map_;
211 SyncIdToAutofillMap id_map_inverse_; 209 SyncIdToAutofillMap id_map_inverse_;
212 210
213 // Abort association pending flag and lock. If this is set to true 211 // Abort association pending flag and lock. If this is set to true
214 // (via the AbortAssociation method), return from the 212 // (via the AbortAssociation method), return from the
215 // AssociateModels method as soon as possible. 213 // AssociateModels method as soon as possible.
216 Lock abort_association_pending_lock_; 214 Lock abort_association_pending_lock_;
217 bool abort_association_pending_; 215 bool abort_association_pending_;
218 216
219 DISALLOW_COPY_AND_ASSIGN(AutofillModelAssociator); 217 DISALLOW_COPY_AND_ASSIGN(AutofillModelAssociator);
220 }; 218 };
221 219
222 } // namespace browser_sync 220 } // namespace browser_sync
223 221
224 #endif // CHROME_BROWSER_SYNC_GLUE_AUTOFILL_MODEL_ASSOCIATOR_H_ 222 #endif // CHROME_BROWSER_SYNC_GLUE_AUTOFILL_MODEL_ASSOCIATOR_H_
OLDNEW
« no previous file with comments | « chrome/browser/sync/glue/autofill_data_type_controller.cc ('k') | chrome/browser/sync/glue/autofill_model_associator.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698