| Index: ios/chrome/browser/metrics/ios_chrome_metrics_services_manager_client.h
|
| diff --git a/ios/chrome/browser/metrics/ios_chrome_metrics_services_manager_client.h b/ios/chrome/browser/metrics/ios_chrome_metrics_services_manager_client.h
|
| index 38d939f52290b8e13df73df5083e98ff1cd04210..54b7a5046f70ccf537e252de4738c09e8b9b6bee 100644
|
| --- a/ios/chrome/browser/metrics/ios_chrome_metrics_services_manager_client.h
|
| +++ b/ios/chrome/browser/metrics/ios_chrome_metrics_services_manager_client.h
|
| @@ -14,6 +14,7 @@
|
| class PrefService;
|
|
|
| namespace metrics {
|
| +class EnabledStateProvider;
|
| class MetricsStateManager;
|
| }
|
|
|
| @@ -26,6 +27,11 @@ class IOSChromeMetricsServicesManagerClient
|
| ~IOSChromeMetricsServicesManagerClient() override;
|
|
|
| private:
|
| + // This is defined as a member class to get access to
|
| + // IOSChromeMetricsServiceAccessor through
|
| + // IOSChromeMetricsServicesManagerClient's friendship.
|
| + class IOSChromeEnabledStateProvider;
|
| +
|
| // metrics_services_manager::MetricsServicesManagerClient:
|
| std::unique_ptr<rappor::RapporService> CreateRapporService() override;
|
| std::unique_ptr<variations::VariationsService> CreateVariationsService()
|
| @@ -44,6 +50,10 @@ class IOSChromeMetricsServicesManagerClient
|
| // 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_;
|
|
|
|
|