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); |
} |