Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(50)

Unified Diff: ios/chrome/browser/metrics/ios_chrome_metrics_services_manager_client.h

Issue 1958003003: Splitting the concept of UMA consent, and should UMA report. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 4 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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_;

Powered by Google App Engine
This is Rietveld 408576698