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

Side by Side Diff: chrome/browser/webdata/autofill_profile_syncable_service.h

Issue 13488009: Remove application locale cache in autofill code. (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: sync Created 7 years, 8 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) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 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 #ifndef CHROME_BROWSER_WEBDATA_AUTOFILL_PROFILE_SYNCABLE_SERVICE_H_ 4 #ifndef CHROME_BROWSER_WEBDATA_AUTOFILL_PROFILE_SYNCABLE_SERVICE_H_
5 #define CHROME_BROWSER_WEBDATA_AUTOFILL_PROFILE_SYNCABLE_SERVICE_H_ 5 #define CHROME_BROWSER_WEBDATA_AUTOFILL_PROFILE_SYNCABLE_SERVICE_H_
6 6
7 #include <map> 7 #include <map>
8 #include <string> 8 #include <string>
9 #include <vector> 9 #include <vector>
10 10
(...skipping 55 matching lines...) Expand 10 before | Expand all | Expand 10 after
66 syncer::ModelType type) const OVERRIDE; 66 syncer::ModelType type) const OVERRIDE;
67 virtual syncer::SyncError ProcessSyncChanges( 67 virtual syncer::SyncError ProcessSyncChanges(
68 const tracked_objects::Location& from_here, 68 const tracked_objects::Location& from_here,
69 const syncer::SyncChangeList& change_list) OVERRIDE; 69 const syncer::SyncChangeList& change_list) OVERRIDE;
70 70
71 // AutofillWebDataServiceObserverOnDBThread implementation. 71 // AutofillWebDataServiceObserverOnDBThread implementation.
72 virtual void AutofillProfileChanged( 72 virtual void AutofillProfileChanged(
73 const AutofillProfileChange& change) OVERRIDE; 73 const AutofillProfileChange& change) OVERRIDE;
74 74
75 protected: 75 protected:
76 explicit AutofillProfileSyncableService( 76 AutofillProfileSyncableService(AutofillWebDataService* web_data_service,
77 AutofillWebDataService* web_data_service, 77 const std::string& app_locale);
78 const std::string& app_locale);
79 78
80 // A convenience wrapper of a bunch of state we pass around while 79 // A convenience wrapper of a bunch of state we pass around while
81 // associating models, and send to the WebDatabase for persistence. 80 // associating models, and send to the WebDatabase for persistence.
82 // We do this so we hold the write lock for only a small period. 81 // We do this so we hold the write lock for only a small period.
83 // When storing the web db we are out of the write lock. 82 // When storing the web db we are out of the write lock.
84 struct DataBundle; 83 struct DataBundle;
85 84
86 // Helper to query WebDatabase for the current autofill state. 85 // Helper to query WebDatabase for the current autofill state.
87 // Made virtual for ease of mocking in the unit-test. 86 // Made virtual for ease of mocking in the unit-test.
88 // Caller owns returned |profiles|. 87 // Caller owns returned |profiles|.
(...skipping 66 matching lines...) Expand 10 before | Expand all | Expand 10 after
155 // The same as |UpdateField|, but for multi-valued fields. 154 // The same as |UpdateField|, but for multi-valued fields.
156 static bool UpdateMultivaluedField( 155 static bool UpdateMultivaluedField(
157 AutofillFieldType field_type, 156 AutofillFieldType field_type,
158 const ::google::protobuf::RepeatedPtrField<std::string>& new_value, 157 const ::google::protobuf::RepeatedPtrField<std::string>& new_value,
159 AutofillProfile* autofill_profile); 158 AutofillProfile* autofill_profile);
160 159
161 // Calls merge_into->OverwriteWithOrAddTo() and then checks if the 160 // Calls merge_into->OverwriteWithOrAddTo() and then checks if the
162 // |merge_into| has extra data. Returns |true| if |merge_into| posseses some 161 // |merge_into| has extra data. Returns |true| if |merge_into| posseses some
163 // multi-valued field values that are not in |merge_from|, false otherwise. 162 // multi-valued field values that are not in |merge_from|, false otherwise.
164 static bool MergeProfile(const AutofillProfile& merge_from, 163 static bool MergeProfile(const AutofillProfile& merge_from,
165 AutofillProfile* merge_into); 164 AutofillProfile* merge_into,
165 const std::string& app_locale);
166 166
167 // For unit-tests. 167 // For unit-tests.
168 AutofillProfileSyncableService(); 168 AutofillProfileSyncableService();
169 void set_sync_processor(syncer::SyncChangeProcessor* sync_processor) { 169 void set_sync_processor(syncer::SyncChangeProcessor* sync_processor) {
170 sync_processor_.reset(sync_processor); 170 sync_processor_.reset(sync_processor);
171 } 171 }
172 172
173 AutofillWebDataService* web_data_service_; // WEAK 173 AutofillWebDataService* web_data_service_; // WEAK
174 std::string app_locale_; 174 std::string app_locale_;
175 ScopedObserver<AutofillWebDataService, AutofillProfileSyncableService> 175 ScopedObserver<AutofillWebDataService, AutofillProfileSyncableService>
(...skipping 21 matching lines...) Expand all
197 std::vector<AutofillProfile*> profiles_to_add; 197 std::vector<AutofillProfile*> profiles_to_add;
198 198
199 // When we go through sync we find profiles that are similar but unmatched. 199 // When we go through sync we find profiles that are similar but unmatched.
200 // Merge such profiles. 200 // Merge such profiles.
201 GUIDToProfileMap candidates_to_merge; 201 GUIDToProfileMap candidates_to_merge;
202 // Profiles that have multi-valued fields that are not in sync. 202 // Profiles that have multi-valued fields that are not in sync.
203 std::vector<AutofillProfile*> profiles_to_sync_back; 203 std::vector<AutofillProfile*> profiles_to_sync_back;
204 }; 204 };
205 205
206 #endif // CHROME_BROWSER_WEBDATA_AUTOFILL_PROFILE_SYNCABLE_SERVICE_H_ 206 #endif // CHROME_BROWSER_WEBDATA_AUTOFILL_PROFILE_SYNCABLE_SERVICE_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698