| OLD | NEW |
| 1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #include "chrome/browser/sync/glue/preference_data_type_controller.h" | 5 #include "chrome/browser/sync/glue/preference_data_type_controller.h" |
| 6 | 6 |
| 7 #include "base/metrics/histogram.h" | 7 #include "base/metrics/histogram.h" |
| 8 #include "chrome/browser/profiles/profile.h" | 8 #include "chrome/browser/profiles/profile.h" |
| 9 #include "chrome/browser/sync/api/syncable_service.h" | 9 #include "chrome/browser/sync/api/syncable_service.h" |
| 10 #include "chrome/browser/sync/glue/generic_change_processor.h" | |
| 11 #include "chrome/browser/sync/profile_sync_factory.h" | 10 #include "chrome/browser/sync/profile_sync_factory.h" |
| 12 | 11 |
| 13 namespace browser_sync { | 12 namespace browser_sync { |
| 14 | 13 |
| 15 PreferenceDataTypeController::PreferenceDataTypeController( | 14 PreferenceDataTypeController::PreferenceDataTypeController( |
| 16 ProfileSyncFactory* profile_sync_factory, | 15 ProfileSyncFactory* profile_sync_factory, |
| 17 Profile* profile, | 16 Profile* profile, |
| 18 ProfileSyncService* sync_service) | 17 ProfileSyncService* sync_service) |
| 19 : FrontendDataTypeController(profile_sync_factory, | 18 : FrontendDataTypeController(profile_sync_factory, |
| 20 profile, | 19 profile, |
| 21 sync_service) { | 20 sync_service) { |
| 22 } | 21 } |
| 23 | 22 |
| 24 PreferenceDataTypeController::~PreferenceDataTypeController() { | 23 PreferenceDataTypeController::~PreferenceDataTypeController() { |
| 25 } | 24 } |
| 26 | 25 |
| 27 syncable::ModelType PreferenceDataTypeController::type() const { | 26 syncable::ModelType PreferenceDataTypeController::type() const { |
| 28 return syncable::PREFERENCES; | 27 return syncable::PREFERENCES; |
| 29 } | 28 } |
| 30 | 29 |
| 31 void PreferenceDataTypeController::CreateSyncComponents() { | 30 void PreferenceDataTypeController::CreateSyncComponents() { |
| 32 ProfileSyncFactory::SyncComponents sync_components = | 31 ProfileSyncFactory::SyncComponents sync_components = |
| 33 profile_sync_factory_->CreatePreferenceSyncComponents(sync_service_, | 32 profile_sync_factory_->CreatePreferenceSyncComponents(sync_service_, |
| 34 this); | 33 this); |
| 35 set_model_associator(sync_components.model_associator); | 34 set_model_associator(sync_components.model_associator); |
| 36 set_change_processor(sync_components.change_processor); | 35 change_processor_.reset(static_cast<GenericChangeProcessor*>( |
| 36 sync_components.change_processor)); |
| 37 } |
| 38 |
| 39 GenericChangeProcessor* PreferenceDataTypeController::change_processor() const { |
| 40 return change_processor_.get(); |
| 37 } | 41 } |
| 38 | 42 |
| 39 void PreferenceDataTypeController::RecordUnrecoverableError( | 43 void PreferenceDataTypeController::RecordUnrecoverableError( |
| 40 const tracked_objects::Location& from_here, | 44 const tracked_objects::Location& from_here, |
| 41 const std::string& message) { | 45 const std::string& message) { |
| 42 UMA_HISTOGRAM_COUNTS("Sync.PreferenceRunFailures", 1); | 46 UMA_HISTOGRAM_COUNTS("Sync.PreferenceRunFailures", 1); |
| 43 } | 47 } |
| 44 | 48 |
| 45 void PreferenceDataTypeController::RecordAssociationTime(base::TimeDelta time) { | 49 void PreferenceDataTypeController::RecordAssociationTime(base::TimeDelta time) { |
| 46 UMA_HISTOGRAM_TIMES("Sync.PreferenceAssociationTime", time); | 50 UMA_HISTOGRAM_TIMES("Sync.PreferenceAssociationTime", time); |
| 47 } | 51 } |
| 48 | 52 |
| 49 void PreferenceDataTypeController::RecordStartFailure(StartResult result) { | 53 void PreferenceDataTypeController::RecordStartFailure(StartResult result) { |
| 50 UMA_HISTOGRAM_ENUMERATION("Sync.PreferenceStartFailures", | 54 UMA_HISTOGRAM_ENUMERATION("Sync.PreferenceStartFailures", |
| 51 result, | 55 result, |
| 52 MAX_START_RESULT); | 56 MAX_START_RESULT); |
| 53 } | 57 } |
| 54 | 58 |
| 55 } // namespace browser_sync | 59 } // namespace browser_sync |
| OLD | NEW |