Index: chrome/browser/extensions/api/metrics_private/metrics_private_api.h |
=================================================================== |
--- chrome/browser/extensions/api/metrics_private/metrics_private_api.h (revision 0) |
+++ chrome/browser/extensions/api/metrics_private/metrics_private_api.h (revision 0) |
@@ -0,0 +1,142 @@ |
+// Copyright (c) 2012 The Chromium Authors. All rights reserved. |
+// Use of this source code is governed by a BSD-style license that can be |
+// found in the LICENSE file. |
+ |
+#ifndef CHROME_BROWSER_EXTENSIONS_API_METRICS_PRIVATE_METRICS_PRIVATE_API_H_ |
+#define CHROME_BROWSER_EXTENSIONS_API_METRICS_PRIVATE_METRICS_PRIVATE_API_H_ |
+ |
+#include <string> |
+ |
+#include "base/metrics/histogram.h" |
+#include "chrome/browser/extensions/extension_function.h" |
+ |
+namespace extensions { |
+ |
+class MetricsPrivateRecordUserActionFunction : public SyncExtensionFunction { |
+ public: |
+ DECLARE_EXTENSION_FUNCTION("metricsPrivate.recordUserAction", |
+ METRICSPRIVATE_RECORDUSERACTION) |
+ |
+ protected: |
+ virtual ~MetricsPrivateRecordUserActionFunction() {} |
+ |
+ // ExtensionFunction: |
+ virtual bool RunImpl() OVERRIDE; |
+}; |
+ |
+class MetricsHistogramHelperFunction : public SyncExtensionFunction { |
+ protected: |
+ virtual ~MetricsHistogramHelperFunction() {} |
+ bool GetNameAndSample(std::string* name, int* sample); |
+ virtual bool RecordValue(const std::string& name, |
+ base::HistogramType type, |
+ int min, int max, size_t buckets, |
+ int sample); |
+}; |
+ |
+class MetricsPrivateRecordValueFunction |
+ : public MetricsHistogramHelperFunction { |
+ public: |
+ DECLARE_EXTENSION_FUNCTION("metricsPrivate.recordValue", |
+ METRICSPRIVATE_RECORDVALUE) |
+ |
+ protected: |
+ virtual ~MetricsPrivateRecordValueFunction() {} |
+ |
+ // ExtensionFunction: |
+ virtual bool RunImpl() OVERRIDE; |
+}; |
+ |
+class MetricsPrivateRecordPercentageFunction |
+ : public MetricsHistogramHelperFunction { |
+ public: |
+ DECLARE_EXTENSION_FUNCTION("metricsPrivate.recordPercentage", |
+ METRICSPRIVATE_RECORDPERCENTAGE) |
+ |
+ protected: |
+ virtual ~MetricsPrivateRecordPercentageFunction() {} |
+ |
+ // ExtensionFunction: |
+ virtual bool RunImpl() OVERRIDE; |
+}; |
+ |
+class MetricsPrivateRecordCountFunction |
+ : public MetricsHistogramHelperFunction { |
+ public: |
+ DECLARE_EXTENSION_FUNCTION("metricsPrivate.recordCount", |
+ METRICSPRIVATE_RECORDCOUNT) |
+ |
+ protected: |
+ virtual ~MetricsPrivateRecordCountFunction() {} |
+ |
+ // ExtensionFunction: |
+ virtual bool RunImpl() OVERRIDE; |
+}; |
+ |
+class MetricsPrivateRecordSmallCountFunction |
+ : public MetricsHistogramHelperFunction { |
+ public: |
+ DECLARE_EXTENSION_FUNCTION("metricsPrivate.recordSmallCount", |
+ METRICSPRIVATE_RECORDSMALLCOUNT) |
+ |
+ protected: |
+ virtual ~MetricsPrivateRecordSmallCountFunction() {} |
+ |
+ // ExtensionFunction: |
+ virtual bool RunImpl() OVERRIDE; |
+}; |
+ |
+class MetricsPrivateRecordMediumCountFunction |
+ : public MetricsHistogramHelperFunction { |
+ public: |
+ DECLARE_EXTENSION_FUNCTION("metricsPrivate.recordMediumCount", |
+ METRICSPRIVATE_RECORDMEDIUMCOUNT) |
+ |
+ protected: |
+ virtual ~MetricsPrivateRecordMediumCountFunction() {} |
+ |
+ // ExtensionFunction: |
+ virtual bool RunImpl() OVERRIDE; |
+}; |
+ |
+class MetricsPrivateRecordTimeFunction : public MetricsHistogramHelperFunction { |
+ public: |
+ DECLARE_EXTENSION_FUNCTION("metricsPrivate.recordTime", |
+ METRICSPRIVATE_RECORDTIME) |
+ |
+ protected: |
+ virtual ~MetricsPrivateRecordTimeFunction() {} |
+ |
+ // ExtensionFunction: |
+ virtual bool RunImpl() OVERRIDE; |
+}; |
+ |
+class MetricsPrivateRecordMediumTimeFunction |
+ : public MetricsHistogramHelperFunction { |
+ public: |
+ DECLARE_EXTENSION_FUNCTION("metricsPrivate.recordMediumTime", |
+ METRICSPRIVATE_RECORDMEDIUMTIME) |
+ |
+ protected: |
+ virtual ~MetricsPrivateRecordMediumTimeFunction() {} |
+ |
+ // ExtensionFunction: |
+ virtual bool RunImpl() OVERRIDE; |
+}; |
+ |
+class MetricsPrivateRecordLongTimeFunction |
+ : public MetricsHistogramHelperFunction { |
+ public: |
+ DECLARE_EXTENSION_FUNCTION("metricsPrivate.recordLongTime", |
+ METRICSPRIVATE_RECORDLONGTIME) |
+ |
+ protected: |
+ virtual ~MetricsPrivateRecordLongTimeFunction() {} |
+ |
+ // ExtensionFunction: |
+ virtual bool RunImpl() OVERRIDE; |
+}; |
+ |
+} // namespace extensions |
+ |
+#endif // CHROME_BROWSER_EXTENSIONS_API_METRICS_PRIVATE_METRICS_PRIVATE_API_H_ |