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 |