Index: chrome/browser/metrics/chrome_stability_metrics_provider.h |
diff --git a/chrome/browser/metrics/chrome_stability_metrics_provider.h b/chrome/browser/metrics/chrome_stability_metrics_provider.h |
index 94da7d2cbbfc41e99205ce8ef07fd72a297d612d..5ac85476dbe04cf1fa9bbcdc0d9e10b8890a15c7 100644 |
--- a/chrome/browser/metrics/chrome_stability_metrics_provider.h |
+++ b/chrome/browser/metrics/chrome_stability_metrics_provider.h |
@@ -6,6 +6,7 @@ |
#define CHROME_BROWSER_METRICS_CHROME_STABILITY_METRICS_PROVIDER_H_ |
#include "base/basictypes.h" |
+#include "base/gtest_prod_util.h" |
#include "base/metrics/user_metrics.h" |
#include "base/process/kill.h" |
#include "components/metrics/metrics_provider.h" |
@@ -20,6 +21,8 @@ class RenderProcessHost; |
class WebContents; |
} |
+class PrefService; |
+ |
// ChromeStabilityMetricsProvider gathers and logs Chrome-specific stability- |
// related metrics. |
class ChromeStabilityMetricsProvider |
@@ -27,7 +30,7 @@ class ChromeStabilityMetricsProvider |
public content::BrowserChildProcessObserver, |
public content::NotificationObserver { |
public: |
- ChromeStabilityMetricsProvider(); |
+ explicit ChromeStabilityMetricsProvider(PrefService* local_state); |
~ChromeStabilityMetricsProvider() override; |
// metrics::MetricsDataProvider: |
@@ -41,6 +44,11 @@ class ChromeStabilityMetricsProvider |
static void RegisterPrefs(PrefRegistrySimple* registry); |
private: |
+ FRIEND_TEST_ALL_PREFIXES(ChromeStabilityMetricsProviderTest, |
+ BrowserChildProcessObserver); |
+ FRIEND_TEST_ALL_PREFIXES(ChromeStabilityMetricsProviderTest, |
+ NotificationObserver); |
+ |
// content::NotificationObserver: |
void Observe(int type, |
const content::NotificationSource& source, |
@@ -60,9 +68,17 @@ class ChromeStabilityMetricsProvider |
base::TerminationStatus status, |
int exit_code); |
+ // Increment an Integer pref value specified by |path|. |
+ void IncrementPrefValue(const char* path); |
+ |
+ // Increment a 64-bit Integer pref value specified by |path|. |
+ void IncrementLongPrefsValue(const char* path); |
+ |
// Records a renderer process hang. |
void LogRendererHang(); |
+ PrefService* local_state_; |
+ |
// Registrar for receiving stability-related notifications. |
content::NotificationRegistrar registrar_; |