1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
5 #ifndef CHROME_BROWSER_EXTENSIONS_API_METRICS_PRIVATE_METRICS_PRIVATE_API_H_
6 #define CHROME_BROWSER_EXTENSIONS_API_METRICS_PRIVATE_METRICS_PRIVATE_API_H_
10 #include "base/metrics/histogram.h"
11 #include "extensions/browser/extension_function.h"
13 namespace extensions
{
15 class MetricsPrivateGetIsCrashReportingEnabledFunction
16 : public SyncExtensionFunction
{
18 DECLARE_EXTENSION_FUNCTION("metricsPrivate.getIsCrashReportingEnabled",
19 METRICSPRIVATE_GETISCRASHRECORDINGENABLED
)
22 virtual ~MetricsPrivateGetIsCrashReportingEnabledFunction() {}
25 virtual bool RunSync() OVERRIDE
;
28 class MetricsPrivateGetFieldTrialFunction
: public SyncExtensionFunction
{
30 DECLARE_EXTENSION_FUNCTION("metricsPrivate.getFieldTrial",
31 METRICSPRIVATE_GETFIELDTRIAL
)
34 virtual ~MetricsPrivateGetFieldTrialFunction() {}
37 virtual bool RunSync() OVERRIDE
;
40 class MetricsPrivateGetVariationParamsFunction
: public SyncExtensionFunction
{
42 DECLARE_EXTENSION_FUNCTION("metricsPrivate.getVariationParams",
43 METRICSPRIVATE_GETVARIATIONPARAMS
)
46 virtual ~MetricsPrivateGetVariationParamsFunction() {}
49 virtual bool RunSync() OVERRIDE
;
52 class MetricsPrivateRecordUserActionFunction
: public SyncExtensionFunction
{
54 DECLARE_EXTENSION_FUNCTION("metricsPrivate.recordUserAction",
55 METRICSPRIVATE_RECORDUSERACTION
)
58 virtual ~MetricsPrivateRecordUserActionFunction() {}
61 virtual bool RunSync() OVERRIDE
;
64 class MetricsHistogramHelperFunction
: public SyncExtensionFunction
{
66 virtual ~MetricsHistogramHelperFunction() {}
67 virtual bool RecordValue(const std::string
& name
,
68 base::HistogramType type
,
69 int min
, int max
, size_t buckets
,
73 class MetricsPrivateRecordValueFunction
74 : public MetricsHistogramHelperFunction
{
76 DECLARE_EXTENSION_FUNCTION("metricsPrivate.recordValue",
77 METRICSPRIVATE_RECORDVALUE
)
80 virtual ~MetricsPrivateRecordValueFunction() {}
83 virtual bool RunSync() OVERRIDE
;
86 class MetricsPrivateRecordSparseValueFunction
87 : public MetricsHistogramHelperFunction
{
89 DECLARE_EXTENSION_FUNCTION("metricsPrivate.recordSparseValue",
90 METRICSPRIVATE_RECORDSPARSEVALUE
)
93 virtual ~MetricsPrivateRecordSparseValueFunction() {}
96 virtual bool RunSync() OVERRIDE
;
99 class MetricsPrivateRecordPercentageFunction
100 : public MetricsHistogramHelperFunction
{
102 DECLARE_EXTENSION_FUNCTION("metricsPrivate.recordPercentage",
103 METRICSPRIVATE_RECORDPERCENTAGE
)
106 virtual ~MetricsPrivateRecordPercentageFunction() {}
108 // ExtensionFunction:
109 virtual bool RunSync() OVERRIDE
;
112 class MetricsPrivateRecordCountFunction
113 : public MetricsHistogramHelperFunction
{
115 DECLARE_EXTENSION_FUNCTION("metricsPrivate.recordCount",
116 METRICSPRIVATE_RECORDCOUNT
)
119 virtual ~MetricsPrivateRecordCountFunction() {}
121 // ExtensionFunction:
122 virtual bool RunSync() OVERRIDE
;
125 class MetricsPrivateRecordSmallCountFunction
126 : public MetricsHistogramHelperFunction
{
128 DECLARE_EXTENSION_FUNCTION("metricsPrivate.recordSmallCount",
129 METRICSPRIVATE_RECORDSMALLCOUNT
)
132 virtual ~MetricsPrivateRecordSmallCountFunction() {}
134 // ExtensionFunction:
135 virtual bool RunSync() OVERRIDE
;
138 class MetricsPrivateRecordMediumCountFunction
139 : public MetricsHistogramHelperFunction
{
141 DECLARE_EXTENSION_FUNCTION("metricsPrivate.recordMediumCount",
142 METRICSPRIVATE_RECORDMEDIUMCOUNT
)
145 virtual ~MetricsPrivateRecordMediumCountFunction() {}
147 // ExtensionFunction:
148 virtual bool RunSync() OVERRIDE
;
151 class MetricsPrivateRecordTimeFunction
: public MetricsHistogramHelperFunction
{
153 DECLARE_EXTENSION_FUNCTION("metricsPrivate.recordTime",
154 METRICSPRIVATE_RECORDTIME
)
157 virtual ~MetricsPrivateRecordTimeFunction() {}
159 // ExtensionFunction:
160 virtual bool RunSync() OVERRIDE
;
163 class MetricsPrivateRecordMediumTimeFunction
164 : public MetricsHistogramHelperFunction
{
166 DECLARE_EXTENSION_FUNCTION("metricsPrivate.recordMediumTime",
167 METRICSPRIVATE_RECORDMEDIUMTIME
)
170 virtual ~MetricsPrivateRecordMediumTimeFunction() {}
172 // ExtensionFunction:
173 virtual bool RunSync() OVERRIDE
;
176 class MetricsPrivateRecordLongTimeFunction
177 : public MetricsHistogramHelperFunction
{
179 DECLARE_EXTENSION_FUNCTION("metricsPrivate.recordLongTime",
180 METRICSPRIVATE_RECORDLONGTIME
)
183 virtual ~MetricsPrivateRecordLongTimeFunction() {}
185 // ExtensionFunction:
186 virtual bool RunSync() OVERRIDE
;
189 } // namespace extensions
191 #endif // CHROME_BROWSER_EXTENSIONS_API_METRICS_PRIVATE_METRICS_PRIVATE_API_H_