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

Unified Diff: chrome/browser/sync/glue/extension_setting_data_type_controller.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/sync/glue/extension_setting_data_type_controller.cc
diff --git a/chrome/browser/sync/glue/extension_setting_data_type_controller.cc b/chrome/browser/sync/glue/extension_setting_data_type_controller.cc
index 03e6a3dda262a085e79536c8b3814ee054676304..8fbe849ff0058e22a6d2147cc4c560b555af547f 100644
--- a/chrome/browser/sync/glue/extension_setting_data_type_controller.cc
+++ b/chrome/browser/sync/glue/extension_setting_data_type_controller.cc
@@ -16,21 +16,25 @@
namespace browser_sync {
ExtensionSettingDataTypeController::ExtensionSettingDataTypeController(
+ syncable::ModelType type,
ProfileSyncFactory* profile_sync_factory,
Profile* profile,
ProfileSyncService* profile_sync_service)
: NonFrontendDataTypeController(profile_sync_factory, profile),
+ type_(type),
extension_settings_frontend_(
profile->GetExtensionService()->extension_settings_frontend()),
profile_sync_service_(profile_sync_service),
- extension_settings_backend_(NULL) {
+ settings_service_(NULL) {
DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));
+ DCHECK(type == syncable::EXTENSION_SETTINGS ||
+ type == syncable::APP_SETTINGS);
}
ExtensionSettingDataTypeController::~ExtensionSettingDataTypeController() {}
syncable::ModelType ExtensionSettingDataTypeController::type() const {
- return syncable::EXTENSION_SETTINGS;
+ return type_;
}
browser_sync::ModelSafeGroup
@@ -45,31 +49,32 @@ bool ExtensionSettingDataTypeController::StartModels() {
bool ExtensionSettingDataTypeController::StartAssociationAsync() {
DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));
DCHECK_EQ(state(), ASSOCIATING);
- extension_settings_frontend_->RunWithBackend(
+ extension_settings_frontend_->RunWithSyncableService(
+ type_,
base::Bind(
&ExtensionSettingDataTypeController::
- StartAssociationWithExtensionSettingsBackend,
+ StartAssociationWithExtensionSettingsService,
this));
return true;
}
void ExtensionSettingDataTypeController::
- StartAssociationWithExtensionSettingsBackend(
- ExtensionSettingsBackend* extension_settings_backend) {
+ StartAssociationWithExtensionSettingsService(
+ SyncableService* settings_service) {
DCHECK(BrowserThread::CurrentlyOn(BrowserThread::FILE));
- extension_settings_backend_ = extension_settings_backend;
- // Calls CreateSyncComponents, which expects extension_settings_backend_ to
- // be non-NULL.
+ settings_service_ = settings_service;
+ // Calls CreateSyncComponents, which expects settings_service_ to be
+ // non-NULL.
StartAssociation();
}
void ExtensionSettingDataTypeController::CreateSyncComponents() {
DCHECK(BrowserThread::CurrentlyOn(BrowserThread::FILE));
DCHECK_EQ(state(), ASSOCIATING);
- DCHECK(extension_settings_backend_);
+ DCHECK(settings_service_);
ProfileSyncFactory::SyncComponents sync_components =
- profile_sync_factory()->CreateExtensionSettingSyncComponents(
- extension_settings_backend_, profile_sync_service_, this);
+ profile_sync_factory()->CreateExtensionOrAppSettingSyncComponents(
+ type_, settings_service_, profile_sync_service_, this);
set_model_associator(sync_components.model_associator);
set_change_processor(sync_components.change_processor);
}

Powered by Google App Engine
This is Rietveld 408576698