| Index: chrome/browser/metrics/metrics_service.h
|
| diff --git a/chrome/browser/metrics/metrics_service.h b/chrome/browser/metrics/metrics_service.h
|
| index 9a52d030de221a0be1d42ef921d280c8967ef13e..b54f30972a7d23b1c6f20e412b05c7536bc6fe41 100644
|
| --- a/chrome/browser/metrics/metrics_service.h
|
| +++ b/chrome/browser/metrics/metrics_service.h
|
| @@ -73,6 +73,7 @@ class MetricsPrivateGetIsCrashReportingEnabledFunction;
|
| }
|
|
|
| namespace metrics {
|
| +class MetricsServiceClient;
|
| class MetricsStateManager;
|
| }
|
|
|
| @@ -131,10 +132,12 @@ class MetricsService
|
| SHUTDOWN_COMPLETE = 700,
|
| };
|
|
|
| - // Creates the MetricsService with the given |state_manager|. Does not take
|
| - // ownership of |state_manager|, instead stores a weak pointer to it. Caller
|
| - // should ensure that |state_manager| is valid for the lifetime of this class.
|
| - explicit MetricsService(metrics::MetricsStateManager* state_manager);
|
| + // Creates the MetricsService with the given |state_manager| and |client|.
|
| + // Does not take ownership of |state_manager| or |client|; instead stores a
|
| + // weak pointer to each. Caller should ensure that |state_manager| and
|
| + // |client| are valid for the lifetime of this class.
|
| + MetricsService(metrics::MetricsStateManager* state_manager,
|
| + metrics::MetricsServiceClient* client);
|
| virtual ~MetricsService();
|
|
|
| // Initializes metrics recording state. Updates various bookkeeping values in
|
| @@ -485,7 +488,11 @@ class MetricsService
|
|
|
| // Used to manage various metrics reporting state prefs, such as client id,
|
| // low entropy source and whether metrics reporting is enabled. Weak pointer.
|
| - metrics::MetricsStateManager* state_manager_;
|
| + metrics::MetricsStateManager* const state_manager_;
|
| +
|
| + // Used to interact with the embedder. Weak pointer; must outlive |this|
|
| + // instance.
|
| + metrics::MetricsServiceClient* const client_;
|
|
|
| base::ActionCallback action_callback_;
|
|
|
|
|