| Index: components/user_prefs/tracked/tracked_preference_helper.cc
|
| diff --git a/components/user_prefs/tracked/tracked_preference_helper.cc b/components/user_prefs/tracked/tracked_preference_helper.cc
|
| index f2e6883cf8ad995c25f1cc2d4355c1464e0c8b5f..d30b303a1dbdaf20b909a63250cb4c906760928e 100644
|
| --- a/components/user_prefs/tracked/tracked_preference_helper.cc
|
| +++ b/components/user_prefs/tracked/tracked_preference_helper.cc
|
| @@ -51,46 +51,50 @@ bool TrackedPreferenceHelper::IsPersonal() const {
|
| }
|
|
|
| void TrackedPreferenceHelper::ReportValidationResult(
|
| - PrefHashStoreTransaction::ValueState value_state) const {
|
| + PrefHashStoreTransaction::ValueState value_state,
|
| + const std::string& validation_type_suffix) const {
|
| + const char* histogram_name;
|
| switch (value_state) {
|
| case PrefHashStoreTransaction::UNCHANGED:
|
| - UMA_HISTOGRAM_ENUMERATION(
|
| - user_prefs::tracked::kTrackedPrefHistogramUnchanged, reporting_id_,
|
| - reporting_ids_count_);
|
| - return;
|
| + histogram_name = user_prefs::tracked::kTrackedPrefHistogramUnchanged;
|
| + break;
|
| case PrefHashStoreTransaction::CLEARED:
|
| - UMA_HISTOGRAM_ENUMERATION(
|
| - user_prefs::tracked::kTrackedPrefHistogramCleared, reporting_id_,
|
| - reporting_ids_count_);
|
| - return;
|
| + histogram_name = user_prefs::tracked::kTrackedPrefHistogramCleared;
|
| + break;
|
| case PrefHashStoreTransaction::SECURE_LEGACY:
|
| - UMA_HISTOGRAM_ENUMERATION(
|
| - user_prefs::tracked::kTrackedPrefHistogramMigratedLegacyDeviceId,
|
| - reporting_id_, reporting_ids_count_);
|
| - return;
|
| + histogram_name =
|
| + user_prefs::tracked::kTrackedPrefHistogramMigratedLegacyDeviceId;
|
| + break;
|
| case PrefHashStoreTransaction::CHANGED:
|
| - UMA_HISTOGRAM_ENUMERATION(
|
| - user_prefs::tracked::kTrackedPrefHistogramChanged, reporting_id_,
|
| - reporting_ids_count_);
|
| - return;
|
| + histogram_name = user_prefs::tracked::kTrackedPrefHistogramChanged;
|
| + break;
|
| case PrefHashStoreTransaction::UNTRUSTED_UNKNOWN_VALUE:
|
| - UMA_HISTOGRAM_ENUMERATION(
|
| - user_prefs::tracked::kTrackedPrefHistogramInitialized, reporting_id_,
|
| - reporting_ids_count_);
|
| - return;
|
| + histogram_name = user_prefs::tracked::kTrackedPrefHistogramInitialized;
|
| + break;
|
| case PrefHashStoreTransaction::TRUSTED_UNKNOWN_VALUE:
|
| - UMA_HISTOGRAM_ENUMERATION(
|
| - user_prefs::tracked::kTrackedPrefHistogramTrustedInitialized,
|
| - reporting_id_, reporting_ids_count_);
|
| - return;
|
| + histogram_name =
|
| + user_prefs::tracked::kTrackedPrefHistogramTrustedInitialized;
|
| + break;
|
| case PrefHashStoreTransaction::TRUSTED_NULL_VALUE:
|
| - UMA_HISTOGRAM_ENUMERATION(
|
| - user_prefs::tracked::kTrackedPrefHistogramNullInitialized,
|
| - reporting_id_, reporting_ids_count_);
|
| + histogram_name =
|
| + user_prefs::tracked::kTrackedPrefHistogramNullInitialized;
|
| + break;
|
| + default:
|
| + NOTREACHED() << "Unexpected PrefHashStoreTransaction::ValueState: "
|
| + << value_state;
|
| return;
|
| }
|
| - NOTREACHED() << "Unexpected PrefHashStoreTransaction::ValueState: "
|
| - << value_state;
|
| +
|
| + std::string full_histogram_name(histogram_name);
|
| + if (!validation_type_suffix.empty())
|
| + full_histogram_name.append(".").append(validation_type_suffix);
|
| +
|
| + // Using FactoryGet to allow dynamic histogram names. Should be equivalent to
|
| + // UMA_HISTOGRAM_ENUMERATION(name, reporting_id_, reporting_ids_count_);
|
| + base::HistogramBase* histogram = base::LinearHistogram::FactoryGet(
|
| + full_histogram_name, 1, reporting_ids_count_, reporting_ids_count_ + 1,
|
| + base::HistogramBase::kUmaTargetedHistogramFlag);
|
| + histogram->Add(reporting_id_);
|
| }
|
|
|
| void TrackedPreferenceHelper::ReportAction(ResetAction reset_action) const {
|
|
|