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

Unified Diff: chrome/browser/metrics/metrics_service.h

Issue 290343005: Pass MetricsServiceClient into MetricsService, and create a simple stubbed TestMetricsServiceClient… (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Rebase Created 6 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
« no previous file with comments | « chrome/browser/metrics/chrome_metrics_service_client.cc ('k') | chrome/browser/metrics/metrics_service.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: chrome/browser/metrics/metrics_service.h
diff --git a/chrome/browser/metrics/metrics_service.h b/chrome/browser/metrics/metrics_service.h
index 01f7432503b89976aa40d4bbff5f96f7ca3d5014..858ec4fd44c12bc1f41742bc75a42ee891ba6437 100644
--- a/chrome/browser/metrics/metrics_service.h
+++ b/chrome/browser/metrics/metrics_service.h
@@ -74,6 +74,7 @@ class MetricsPrivateGetIsCrashReportingEnabledFunction;
}
namespace metrics {
+class MetricsServiceClient;
class MetricsStateManager;
}
@@ -132,10 +133,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
@@ -487,7 +490,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_;
// Registered metrics providers.
ScopedVector<metrics::MetricsProvider> metrics_providers_;
« no previous file with comments | « chrome/browser/metrics/chrome_metrics_service_client.cc ('k') | chrome/browser/metrics/metrics_service.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698