Home | History | Annotate | Download | only in glue
      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