Index: chrome/browser/metrics/chrome_metrics_service_client.h |
diff --git a/chrome/browser/metrics/chrome_metrics_service_client.h b/chrome/browser/metrics/chrome_metrics_service_client.h |
index a7dcace14801b91b6a71aec29713d703b78532c7..aef2120ac76c3459d3577578528519ffb6169f11 100644 |
--- a/chrome/browser/metrics/chrome_metrics_service_client.h |
+++ b/chrome/browser/metrics/chrome_metrics_service_client.h |
@@ -17,6 +17,7 @@ |
#include "content/public/browser/notification_observer.h" |
#include "content/public/browser/notification_registrar.h" |
+class ChromeOSMetricsProvider; |
class MetricsService; |
namespace metrics { |
@@ -54,6 +55,9 @@ class ChromeMetricsServiceClient : public metrics::MetricsServiceClient, |
explicit ChromeMetricsServiceClient( |
metrics::MetricsStateManager* state_manager); |
+ // Completes the two-phase initialization of ChromeMetricsServiceClient. |
+ void Initialize(); |
+ |
// Callbacks for various stages of final log info collection. Do not call |
// these directly. |
void OnMemoryDetailCollectionDone(); |
@@ -81,11 +85,18 @@ class ChromeMetricsServiceClient : public metrics::MetricsServiceClient, |
base::ThreadChecker thread_checker_; |
+ // Weak pointer to the MetricsStateManager. |
+ metrics::MetricsStateManager* metrics_state_manager_; |
+ |
// The MetricsService that |this| is a client of. |
scoped_ptr<MetricsService> metrics_service_; |
content::NotificationRegistrar registrar_; |
+ // On ChromeOS, holds a weak pointer to the ChromeOSMetricsProvider instance |
+ // that has been registered with MetricsService. On other platforms, is NULL. |
+ ChromeOSMetricsProvider* chromeos_metrics_provider_; |
+ |
NetworkStatsUploader network_stats_uploader_; |
// Saved callback received from CollectFinalMetrics(). |