| 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 6c6ea21ccb428e5282829a6c977c602c4c27c15c..bec5f7951b9a87e55adc533da0889e97583de722 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);
|
| }
|
|
|