| Index: chrome/browser/sync/glue/preference_data_type_controller.cc
|
| diff --git a/chrome/browser/sync/glue/preference_data_type_controller.cc b/chrome/browser/sync/glue/preference_data_type_controller.cc
|
| index 3331bd34089ed760088e0c4e7d670cbd37426ae3..5285b92419472db8153398bd3c7a5e3d211c3c44 100644
|
| --- a/chrome/browser/sync/glue/preference_data_type_controller.cc
|
| +++ b/chrome/browser/sync/glue/preference_data_type_controller.cc
|
| @@ -5,7 +5,11 @@
|
| #include "chrome/browser/sync/glue/preference_data_type_controller.h"
|
|
|
| #include "base/metrics/histogram.h"
|
| +#include "chrome/browser/prefs/pref_service.h"
|
| +#include "chrome/browser/profiles/profile.h"
|
| +#include "chrome/browser/sync/glue/generic_change_processor.h"
|
| #include "chrome/browser/sync/profile_sync_factory.h"
|
| +#include "chrome/browser/sync/syncable_service.h"
|
|
|
| namespace browser_sync {
|
|
|
| @@ -15,20 +19,36 @@ PreferenceDataTypeController::PreferenceDataTypeController(
|
| ProfileSyncService* sync_service)
|
| : FrontendDataTypeController(profile_sync_factory,
|
| profile,
|
| - sync_service) {
|
| + sync_service),
|
| + pref_sync_service_(NULL) {
|
| }
|
|
|
| -PreferenceDataTypeController::~PreferenceDataTypeController() {}
|
| +PreferenceDataTypeController::~PreferenceDataTypeController() {
|
| + pref_sync_service_ = NULL;
|
| +}
|
|
|
| syncable::ModelType PreferenceDataTypeController::type() const {
|
| return syncable::PREFERENCES;
|
| }
|
|
|
| void PreferenceDataTypeController::CreateSyncComponents() {
|
| - ProfileSyncFactory::SyncComponents sync_components = profile_sync_factory_->
|
| - CreatePreferenceSyncComponents(sync_service_, this);
|
| - model_associator_.reset(sync_components.model_associator);
|
| - change_processor_.reset(sync_components.change_processor);
|
| + ProfileSyncFactory::SyncComponents sync_components =
|
| + profile_sync_factory_->CreatePreferenceSyncComponents(sync_service_,
|
| + this);
|
| + set_model_associator(sync_components.model_associator);
|
| + set_change_processor(sync_components.change_processor);
|
| + reinterpret_cast<SyncableService*>(model_associator())->
|
| + SetupSync(sync_service_,
|
| + reinterpret_cast<GenericChangeProcessor*>(change_processor()));
|
| +}
|
| +
|
| +AssociatorInterface* PreferenceDataTypeController::model_associator() const {
|
| + return pref_sync_service_;
|
| +}
|
| +
|
| +void PreferenceDataTypeController::set_model_associator(
|
| + AssociatorInterface* associator) {
|
| + pref_sync_service_ = associator;
|
| }
|
|
|
| void PreferenceDataTypeController::RecordUnrecoverableError(
|
|
|