| Index: chrome/browser/metrics/chrome_metrics_services_manager_client.h
|
| diff --git a/chrome/browser/metrics/chrome_metrics_services_manager_client.h b/chrome/browser/metrics/chrome_metrics_services_manager_client.h
|
| index d2b8ecaeb5fe568c04c20af5fef6ceda4985c1dd..f79bb692e0a0fdc9e6ea18c6e33e8cbf857af055 100644
|
| --- a/chrome/browser/metrics/chrome_metrics_services_manager_client.h
|
| +++ b/chrome/browser/metrics/chrome_metrics_services_manager_client.h
|
| @@ -15,6 +15,7 @@
|
| class PrefService;
|
|
|
| namespace metrics {
|
| +class EnabledStateProvider;
|
| class MetricsStateManager;
|
| }
|
|
|
| @@ -26,6 +27,11 @@ class ChromeMetricsServicesManagerClient
|
| ~ChromeMetricsServicesManagerClient() override;
|
|
|
| private:
|
| + // This is defined as a member class to get access to
|
| + // ChromeMetricsServiceAccessor through ChromeMetricsServicesManagerClient's
|
| + // friendship.
|
| + class ChromeEnabledStateProvider;
|
| +
|
| // metrics_services_manager::MetricsServicesManagerClient:
|
| std::unique_ptr<rappor::RapporService> CreateRapporService() override;
|
| std::unique_ptr<variations::VariationsService> CreateVariationsService()
|
| @@ -44,6 +50,10 @@ class ChromeMetricsServicesManagerClient
|
| // MetricsStateManager which is passed as a parameter to service constructors.
|
| std::unique_ptr<metrics::MetricsStateManager> metrics_state_manager_;
|
|
|
| + // EnabledStateProvider to communicate if the client has consented to metrics
|
| + // reporting, and if it's enabled.
|
| + std::unique_ptr<metrics::EnabledStateProvider> enabled_state_provider_;
|
| +
|
| // Ensures that all functions are called from the same thread.
|
| base::ThreadChecker thread_checker_;
|
|
|
|
|