Index: chrome/browser/extensions/settings/syncable_settings_storage.h |
diff --git a/chrome/browser/extensions/settings/syncable_settings_storage.h b/chrome/browser/extensions/settings/syncable_settings_storage.h |
index 700fb98f2c3edeaf1b2eb2b26561c8f9b9a25633..56bb88a3f609dbd2e5c951b43d52a7881183fc38 100644 |
--- a/chrome/browser/extensions/settings/syncable_settings_storage.h |
+++ b/chrome/browser/extensions/settings/syncable_settings_storage.h |
@@ -41,16 +41,23 @@ class SyncableSettingsStorage : public SettingsStorage { |
virtual WriteResult Clear() OVERRIDE; |
// Sync-related methods, analogous to those on SyncableService (handled by |
- // ExtensionSettings). |
+ // ExtensionSettings), but with looser guarantees about when the methods |
+ // can be called. |
+ |
+ // Must only be called if sync isn't already active; not idempotent since |
+ // behaviour would be undefined given differerent values of |sync_state|. |
SyncError StartSyncing( |
// Either SETTINGS or APP_SETTINGS. |
syncable::ModelType type, |
const DictionaryValue& sync_state, |
// Must NOT be NULL. Ownership NOT taken. |
SyncChangeProcessor* sync_processor); |
+ |
+ // May be called at any time (idempotent). |
void StopSyncing(); |
- std::vector<SyncError> ProcessSyncChanges( |
- const SettingSyncDataList& sync_changes); |
+ |
+ // May be called at any time; changes will be ignored if sync isn't active. |
+ SyncError ProcessSyncChanges(const SettingSyncDataList& sync_changes); |
private: |
// Propagates some changes to sync by sending an ADD/UPDATE/DELETE depending |