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_; |