| Index: chrome/browser/extensions/api/storage/syncable_settings_storage.h
|
| diff --git a/chrome/browser/extensions/api/storage/syncable_settings_storage.h b/chrome/browser/extensions/api/storage/syncable_settings_storage.h
|
| index a5fb15047ce1f15f612afa7829db0d3922b69e69..b60fb9346680d7a05fb0294a2c401815bb1f0191 100644
|
| --- a/chrome/browser/extensions/api/storage/syncable_settings_storage.h
|
| +++ b/chrome/browser/extensions/api/storage/syncable_settings_storage.h
|
| @@ -55,31 +55,41 @@ class SyncableSettingsStorage : public ValueStore {
|
| // ExtensionSettings), but with looser guarantees about when the methods
|
| // can be called.
|
|
|
| - // Must only be called if sync isn't already active.
|
| + // Starts syncing this storage area. Must only be called if sync isn't
|
| + // already active.
|
| + // |sync_state| is the current state of the extension settings in sync.
|
| + // |sync_processor| is used to write out any changes.
|
| + // Returns any error when trying to sync, or an empty error on success.
|
| syncer::SyncError StartSyncing(
|
| - const base::DictionaryValue& sync_state,
|
| + scoped_ptr<base::DictionaryValue> sync_state,
|
| scoped_ptr<SettingsSyncProcessor> sync_processor);
|
|
|
| - // May be called at any time (idempotent).
|
| + // Stops syncing this storage area. May be called at any time (idempotent).
|
| void StopSyncing();
|
|
|
| - // May be called at any time; changes will be ignored if sync isn't active.
|
| - syncer::SyncError ProcessSyncChanges(const SettingSyncDataList& sync_changes);
|
| + // Pushes a list of sync changes into this storage area. May be called at any
|
| + // time, changes will be ignored if sync isn't active.
|
| + // Returns any error when trying to sync, or an empty error on success.
|
| + syncer::SyncError ProcessSyncChanges(
|
| + scoped_ptr<SettingSyncDataList> sync_changes);
|
|
|
| private:
|
| // Sends the changes from |result| to sync if it's enabled.
|
| void SyncResultIfEnabled(const ValueStore::WriteResult& result);
|
|
|
| - // Sends all local settings to sync (synced settings assumed to be empty).
|
| + // Sends all local settings to sync. This assumes that there are no settings
|
| + // in sync yet.
|
| + // Returns any error when trying to sync, or an empty error on success.
|
| syncer::SyncError SendLocalSettingsToSync(
|
| - const base::DictionaryValue& settings);
|
| + scoped_ptr<base::DictionaryValue> local_state);
|
|
|
| // Overwrites local state with sync state.
|
| + // Returns any error when trying to sync, or an empty error on success.
|
| syncer::SyncError OverwriteLocalSettingsWithSync(
|
| - const base::DictionaryValue& sync_state,
|
| - const base::DictionaryValue& settings);
|
| + scoped_ptr<base::DictionaryValue> sync_state,
|
| + scoped_ptr<base::DictionaryValue> local_state);
|
|
|
| - // Called when an Add/Update/Remove comes from sync. Ownership of Value*s
|
| + // Called when an Add/Update/Remove comes from sync. Ownership of Value*s
|
| // are taken.
|
| syncer::SyncError OnSyncAdd(
|
| const std::string& key,
|
|
|