OLD | NEW |
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2011 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 #pragma once | 6 #pragma once |
7 | 7 |
8 #include <map> | 8 #include <map> |
9 #include <string> | 9 #include <string> |
10 #include <vector> | 10 #include <vector> |
(...skipping 12 matching lines...) Expand all Loading... |
23 #include "content/common/content_notification_types.h" | 23 #include "content/common/content_notification_types.h" |
24 #include "content/common/notification_observer.h" | 24 #include "content/common/notification_observer.h" |
25 #include "content/common/notification_registrar.h" | 25 #include "content/common/notification_registrar.h" |
26 | 26 |
27 class AutofillProfile; | 27 class AutofillProfile; |
28 class AutofillTable; | 28 class AutofillTable; |
29 class ProfileSyncServiceAutofillTest; | 29 class ProfileSyncServiceAutofillTest; |
30 class WebDataService; | 30 class WebDataService; |
31 | 31 |
32 namespace browser_sync { | 32 namespace browser_sync { |
| 33 class UnrecoverableErrorHandler; |
| 34 } |
33 | 35 |
34 extern const char kAutofillProfileTag[]; | 36 extern const char kAutofillProfileTag[]; |
35 | 37 |
36 class UnrecoverableErrorHandler; | |
37 | |
38 // The sync implementation for AutofillProfiles. | 38 // The sync implementation for AutofillProfiles. |
39 // MergeDataAndStartSyncing() called first, it does cloud->local and | 39 // MergeDataAndStartSyncing() called first, it does cloud->local and |
40 // local->cloud syncs. Then for each cloud change we receive | 40 // local->cloud syncs. Then for each cloud change we receive |
41 // ProcessSyncChanges() and for each local change Observe() is called. | 41 // ProcessSyncChanges() and for each local change Observe() is called. |
42 class AutofillProfileSyncableService | 42 class AutofillProfileSyncableService |
43 : public SyncableService, | 43 : public SyncableService, |
44 public NotificationObserver, | 44 public NotificationObserver, |
45 public base::NonThreadSafe { | 45 public base::NonThreadSafe { |
46 public: | 46 public: |
47 explicit AutofillProfileSyncableService(WebDataService* web_data_service); | 47 explicit AutofillProfileSyncableService(WebDataService* web_data_service); |
(...skipping 28 matching lines...) Expand all Loading... |
76 // Made virtual for ease of mocking in the unit-test. | 76 // Made virtual for ease of mocking in the unit-test. |
77 // Caller owns returned |profiles|. | 77 // Caller owns returned |profiles|. |
78 virtual bool LoadAutofillData(std::vector<AutofillProfile*>* profiles); | 78 virtual bool LoadAutofillData(std::vector<AutofillProfile*>* profiles); |
79 | 79 |
80 // Helper to persist any changes that occured during model association to | 80 // Helper to persist any changes that occured during model association to |
81 // the WebDatabase. | 81 // the WebDatabase. |
82 // Made virtual for ease of mocking in the unit-test. | 82 // Made virtual for ease of mocking in the unit-test. |
83 virtual bool SaveChangesToWebData(const DataBundle& bundle); | 83 virtual bool SaveChangesToWebData(const DataBundle& bundle); |
84 | 84 |
85 private: | 85 private: |
86 friend class ::ProfileSyncServiceAutofillTest; | 86 friend class ProfileSyncServiceAutofillTest; |
87 friend class MockAutofillProfileSyncableService; | 87 friend class MockAutofillProfileSyncableService; |
88 FRIEND_TEST_ALL_PREFIXES(AutofillProfileSyncableServiceTest, | 88 FRIEND_TEST_ALL_PREFIXES(AutofillProfileSyncableServiceTest, |
89 MergeDataAndStartSyncing); | 89 MergeDataAndStartSyncing); |
90 FRIEND_TEST_ALL_PREFIXES(AutofillProfileSyncableServiceTest, GetAllSyncData); | 90 FRIEND_TEST_ALL_PREFIXES(AutofillProfileSyncableServiceTest, GetAllSyncData); |
91 FRIEND_TEST_ALL_PREFIXES(AutofillProfileSyncableServiceTest, | 91 FRIEND_TEST_ALL_PREFIXES(AutofillProfileSyncableServiceTest, |
92 ProcessSyncChanges); | 92 ProcessSyncChanges); |
93 FRIEND_TEST_ALL_PREFIXES(AutofillProfileSyncableServiceTest, | 93 FRIEND_TEST_ALL_PREFIXES(AutofillProfileSyncableServiceTest, |
94 ActOnChange); | 94 ActOnChange); |
95 | 95 |
96 // The map of the guid to profiles owned by the |profiles_| vector. | 96 // The map of the guid to profiles owned by the |profiles_| vector. |
(...skipping 52 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
149 // This object is used in unit-tests as well, so it defined here. | 149 // This object is used in unit-tests as well, so it defined here. |
150 struct AutofillProfileSyncableService::DataBundle { | 150 struct AutofillProfileSyncableService::DataBundle { |
151 DataBundle(); | 151 DataBundle(); |
152 ~DataBundle(); | 152 ~DataBundle(); |
153 | 153 |
154 std::vector<std::string> profiles_to_delete; | 154 std::vector<std::string> profiles_to_delete; |
155 std::vector<AutofillProfile*> profiles_to_update; | 155 std::vector<AutofillProfile*> profiles_to_update; |
156 std::vector<AutofillProfile*> profiles_to_add; | 156 std::vector<AutofillProfile*> profiles_to_add; |
157 }; | 157 }; |
158 | 158 |
159 } // namespace browser_sync | |
160 | |
161 #endif // CHROME_BROWSER_WEBDATA_AUTOFILL_PROFILE_SYNCABLE_SERVICE_H_ | 159 #endif // CHROME_BROWSER_WEBDATA_AUTOFILL_PROFILE_SYNCABLE_SERVICE_H_ |
OLD | NEW |