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

Unified Diff: chrome/browser/extensions/syncable_extension_settings_storage.cc

Issue 8375047: Separate the syncing of extension settings and app settings into separate data (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: . Created 9 years, 2 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 side-by-side diff with in-line comments
Download patch
Index: chrome/browser/extensions/syncable_extension_settings_storage.cc
diff --git a/chrome/browser/extensions/syncable_extension_settings_storage.cc b/chrome/browser/extensions/syncable_extension_settings_storage.cc
index 8ec5d178941d6d24a1bd4d8bcc4cdbdc46492e49..2266ea19dc1a2bc6bd19b7edda286d779355cab6 100644
--- a/chrome/browser/extensions/syncable_extension_settings_storage.cc
+++ b/chrome/browser/extensions/syncable_extension_settings_storage.cc
@@ -18,6 +18,7 @@ SyncableExtensionSettingsStorage::SyncableExtensionSettingsStorage(
: observers_(observers),
extension_id_(extension_id),
delegate_(delegate),
+ sync_type_(syncable::UNSPECIFIED),
sync_processor_(NULL) {
DCHECK(BrowserThread::CurrentlyOn(BrowserThread::FILE));
}
@@ -110,10 +111,17 @@ ExtensionSettingsStorage::Result SyncableExtensionSettingsStorage::Clear() {
// Sync-related methods.
SyncError SyncableExtensionSettingsStorage::StartSyncing(
- const DictionaryValue& sync_state, SyncChangeProcessor* sync_processor) {
+ syncable::ModelType type,
+ const DictionaryValue& sync_state,
+ SyncChangeProcessor* sync_processor) {
DCHECK(BrowserThread::CurrentlyOn(BrowserThread::FILE));
+ DCHECK(type == syncable::EXTENSION_SETTINGS ||
+ type == syncable::APP_SETTINGS);
+ DCHECK_EQ(sync_type_, syncable::UNSPECIFIED);
DCHECK(!sync_processor_);
DCHECK(synced_keys_.empty());
+
+ sync_type_ = type;
sync_processor_ = sync_processor;
Result maybe_settings = delegate_->Get();
@@ -121,7 +129,7 @@ SyncError SyncableExtensionSettingsStorage::StartSyncing(
return SyncError(
FROM_HERE,
std::string("Failed to get settings: ") + maybe_settings.GetError(),
- syncable::EXTENSION_SETTINGS);
+ type);
}
const DictionaryValue* settings = maybe_settings.GetSettings();
@@ -218,7 +226,11 @@ SyncError SyncableExtensionSettingsStorage::OverwriteLocalSettingsWithSync(
void SyncableExtensionSettingsStorage::StopSyncing() {
DCHECK(BrowserThread::CurrentlyOn(BrowserThread::FILE));
+ DCHECK(sync_type_ == syncable::EXTENSION_SETTINGS ||
+ sync_type_ == syncable::APP_SETTINGS);
DCHECK(sync_processor_);
+
+ sync_type_ = syncable::UNSPECIFIED;
sync_processor_ = NULL;
synced_keys_.clear();
}
@@ -247,7 +259,7 @@ std::vector<SyncError> SyncableExtensionSettingsStorage::ProcessSyncChanges(
FROM_HERE,
std::string("Error getting current sync state for ") +
extension_id_ + "/" + key + ": " + maybe_settings.GetError(),
- syncable::EXTENSION_SETTINGS));
+ sync_type_));
continue;
}
const DictionaryValue* settings = maybe_settings.GetSettings();
@@ -394,7 +406,7 @@ SyncError SyncableExtensionSettingsStorage::OnSyncAdd(
FROM_HERE,
std::string("Error pushing sync add to local settings: ") +
result.GetError(),
- syncable::EXTENSION_SETTINGS);
+ sync_type_);
}
changes->AppendChange(key, NULL, new_value);
return SyncError();
@@ -413,7 +425,7 @@ SyncError SyncableExtensionSettingsStorage::OnSyncUpdate(
FROM_HERE,
std::string("Error pushing sync update to local settings: ") +
result.GetError(),
- syncable::EXTENSION_SETTINGS);
+ sync_type_);
}
changes->AppendChange(key, old_value, new_value);
return SyncError();
@@ -431,7 +443,7 @@ SyncError SyncableExtensionSettingsStorage::OnSyncDelete(
FROM_HERE,
std::string("Error pushing sync remove to local settings: ") +
result.GetError(),
- syncable::EXTENSION_SETTINGS);
+ sync_type_);
}
changes->AppendChange(key, old_value, NULL);
return SyncError();

Powered by Google App Engine
This is Rietveld 408576698