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

Side by Side Diff: chrome/browser/extensions/api/metrics/metrics.h

Issue 12089062: Move API functions registrations out of ExtensionFunctionRegistry. (Closed) Base URL: http://src.chromium.org/svn/trunk/src/
Patch Set: Created 7 years, 10 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 unified diff | Download patch | Annotate | Revision Log
OLDNEW
(Empty)
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.
4
5 #ifndef CHROME_BROWSER_EXTENSIONS_API_METRICS_METRICS_H_
6 #define CHROME_BROWSER_EXTENSIONS_API_METRICS_METRICS_H_
7
8 #include <string>
9
10 #include "base/metrics/histogram.h"
11 #include "chrome/browser/extensions/extension_function.h"
12
13 namespace extensions {
14
15 class MetricsRecordUserActionFunction : public SyncExtensionFunction {
16 public:
17 DECLARE_EXTENSION_FUNCTION("metricsPrivate.recordUserAction",
18 METRICSPRIVATE_RECORDUSERACTION)
19
20 protected:
21 virtual ~MetricsRecordUserActionFunction() {}
22
23 // ExtensionFunction:
24 virtual bool RunImpl() OVERRIDE;
25 };
26
27 class MetricsHistogramHelperFunction : public SyncExtensionFunction {
28 protected:
29 virtual ~MetricsHistogramHelperFunction() {}
30 bool GetNameAndSample(std::string* name, int* sample);
31 virtual bool RecordValue(const std::string& name,
32 base::HistogramType type,
33 int min, int max, size_t buckets,
34 int sample);
35 };
36
37 class MetricsRecordValueFunction : public MetricsHistogramHelperFunction {
38 public:
39 DECLARE_EXTENSION_FUNCTION("metricsPrivate.recordValue",
40 METRICSPRIVATE_RECORDVALUE)
41
42 protected:
43 virtual ~MetricsRecordValueFunction() {}
44
45 // ExtensionFunction:
46 virtual bool RunImpl() OVERRIDE;
47 };
48
49 class MetricsRecordPercentageFunction : public MetricsHistogramHelperFunction {
50 public:
51 DECLARE_EXTENSION_FUNCTION("metricsPrivate.recordPercentage",
52 METRICSPRIVATE_RECORDPERCENTAGE)
53
54 protected:
55 virtual ~MetricsRecordPercentageFunction() {}
56
57 // ExtensionFunction:
58 virtual bool RunImpl() OVERRIDE;
59 };
60
61 class MetricsRecordCountFunction : public MetricsHistogramHelperFunction {
62 public:
63 DECLARE_EXTENSION_FUNCTION("metricsPrivate.recordCount",
64 METRICSPRIVATE_RECORDCOUNT)
65
66 protected:
67 virtual ~MetricsRecordCountFunction() {}
68
69 // ExtensionFunction:
70 virtual bool RunImpl() OVERRIDE;
71 };
72
73 class MetricsRecordSmallCountFunction : public MetricsHistogramHelperFunction {
74 public:
75 DECLARE_EXTENSION_FUNCTION("metricsPrivate.recordSmallCount",
76 METRICSPRIVATE_RECORDSMALLCOUNT)
77
78 protected:
79 virtual ~MetricsRecordSmallCountFunction() {}
80
81 // ExtensionFunction:
82 virtual bool RunImpl() OVERRIDE;
83 };
84
85 class MetricsRecordMediumCountFunction : public MetricsHistogramHelperFunction {
86 public:
87 DECLARE_EXTENSION_FUNCTION("metricsPrivate.recordMediumCount",
88 METRICSPRIVATE_RECORDMEDIUMCOUNT)
89
90 protected:
91 virtual ~MetricsRecordMediumCountFunction() {}
92
93 // ExtensionFunction:
94 virtual bool RunImpl() OVERRIDE;
95 };
96
97 class MetricsRecordTimeFunction : public MetricsHistogramHelperFunction {
98 public:
99 DECLARE_EXTENSION_FUNCTION("metricsPrivate.recordTime",
100 METRICSPRIVATE_RECORDTIME)
101
102 protected:
103 virtual ~MetricsRecordTimeFunction() {}
104
105 // ExtensionFunction:
106 virtual bool RunImpl() OVERRIDE;
107 };
108
109 class MetricsRecordMediumTimeFunction : public MetricsHistogramHelperFunction {
110 public:
111 DECLARE_EXTENSION_FUNCTION("metricsPrivate.recordMediumTime",
112 METRICSPRIVATE_RECORDMEDIUMTIME)
113
114 protected:
115 virtual ~MetricsRecordMediumTimeFunction() {}
116
117 // ExtensionFunction:
118 virtual bool RunImpl() OVERRIDE;
119 };
120
121 class MetricsRecordLongTimeFunction : public MetricsHistogramHelperFunction {
122 public:
123 DECLARE_EXTENSION_FUNCTION("metricsPrivate.recordLongTime",
124 METRICSPRIVATE_RECORDLONGTIME)
125
126 protected:
127 virtual ~MetricsRecordLongTimeFunction() {}
128
129 // ExtensionFunction:
130 virtual bool RunImpl() OVERRIDE;
131 };
132
133 } // namespace extensions
134
135 #endif // CHROME_BROWSER_EXTENSIONS_API_METRICS_METRICS_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698