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 3 // found in the LICENSE file. 4 5 #include "chrome/browser/sync/glue/preference_data_type_controller.h" 6 7 #include "base/metrics/histogram.h" 8 #include "chrome/browser/sync/profile_sync_factory.h" 9 10 namespace browser_sync { 11 12 PreferenceDataTypeController::PreferenceDataTypeController( 13 ProfileSyncFactory* profile_sync_factory, 14 Profile* profile, 15 ProfileSyncService* sync_service) 16 : FrontendDataTypeController(profile_sync_factory, 17 profile, 18 sync_service) { 19 } 20 21 PreferenceDataTypeController::~PreferenceDataTypeController() {} 22 23 syncable::ModelType PreferenceDataTypeController::type() const { 24 return syncable::PREFERENCES; 25 } 26 27 void PreferenceDataTypeController::CreateSyncComponents() { 28 ProfileSyncFactory::SyncComponents sync_components = profile_sync_factory_-> 29 CreatePreferenceSyncComponents(sync_service_, this); 30 model_associator_.reset(sync_components.model_associator); 31 change_processor_.reset(sync_components.change_processor); 32 } 33 34 void PreferenceDataTypeController::RecordUnrecoverableError( 35 const tracked_objects::Location& from_here, 36 const std::string& message) { 37 UMA_HISTOGRAM_COUNTS("Sync.PreferenceRunFailures", 1); 38 } 39 40 void PreferenceDataTypeController::RecordAssociationTime(base::TimeDelta time) { 41 UMA_HISTOGRAM_TIMES("Sync.PreferenceAssociationTime", time); 42 } 43 44 void PreferenceDataTypeController::RecordStartFailure(StartResult result) { 45 UMA_HISTOGRAM_ENUMERATION("Sync.PreferenceStartFailures", 46 result, 47 MAX_START_RESULT); 48 } 49 50 } // namespace browser_sync 51