// Copyright 2019 The Chromium Authors // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. #ifndef COMPONENTS_SYNC_SERVICE_PASSPHRASE_TYPE_METRICS_PROVIDER_H_ #define COMPONENTS_SYNC_SERVICE_PASSPHRASE_TYPE_METRICS_PROVIDER_H_ #include <vector> #include "base/functional/callback.h" #include "components/metrics/metrics_provider.h" namespace syncer { class SyncService; // These values are persisted to logs. Entries should not be renumbered and // numeric values should never be reused. Keep in sync with the homonym enum // in tools/metrics/histograms/metadata/sync/enums.xml. // Exposed in the header file for testing. // LINT.IfChange(PassphraseTypeForMetrics) enum class PassphraseTypeForMetrics { … }; // LINT.ThenChange(/tools/metrics/histograms/metadata/sync/enums.xml:PassphraseTypeForMetrics) // A registerable metrics provider that will emit sync passphrase type upon UMA // upload. If it's impossible to detect real passphrase type, special enum // values will be used (kNoActiveSyncingProfiles and // kVariousStateAcrossProfiles). class PassphraseTypeMetricsProvider : public metrics::MetricsProvider { … }; } // namespace syncer #endif // COMPONENTS_SYNC_SERVICE_PASSPHRASE_TYPE_METRICS_PROVIDER_H_