OLD | NEW |
| (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_EXTENSION_METRICS_MODULE_H__ | |
6 #define CHROME_BROWSER_EXTENSIONS_EXTENSION_METRICS_MODULE_H__ | |
7 #pragma once | |
8 | |
9 #include <string> | |
10 | |
11 #include "base/metrics/histogram.h" | |
12 #include "chrome/browser/extensions/extension_function.h" | |
13 | |
14 class MetricsRecordUserActionFunction : public SyncExtensionFunction { | |
15 public: | |
16 DECLARE_EXTENSION_FUNCTION_NAME("metricsPrivate.recordUserAction") | |
17 | |
18 protected: | |
19 virtual ~MetricsRecordUserActionFunction() {} | |
20 | |
21 // ExtensionFunction: | |
22 virtual bool RunImpl() OVERRIDE; | |
23 }; | |
24 | |
25 class MetricsHistogramHelperFunction : public SyncExtensionFunction { | |
26 protected: | |
27 virtual ~MetricsHistogramHelperFunction() {} | |
28 bool GetNameAndSample(std::string* name, int* sample); | |
29 virtual bool RecordValue(const std::string& name, | |
30 base::Histogram::ClassType type, | |
31 int min, int max, size_t buckets, int sample); | |
32 }; | |
33 | |
34 class MetricsRecordValueFunction : public MetricsHistogramHelperFunction { | |
35 public: | |
36 DECLARE_EXTENSION_FUNCTION_NAME("metricsPrivate.recordValue") | |
37 | |
38 protected: | |
39 virtual ~MetricsRecordValueFunction() {} | |
40 | |
41 // ExtensionFunction: | |
42 virtual bool RunImpl() OVERRIDE; | |
43 }; | |
44 | |
45 class MetricsRecordPercentageFunction : public MetricsHistogramHelperFunction { | |
46 public: | |
47 DECLARE_EXTENSION_FUNCTION_NAME("metricsPrivate.recordPercentage") | |
48 | |
49 protected: | |
50 virtual ~MetricsRecordPercentageFunction() {} | |
51 | |
52 // ExtensionFunction: | |
53 virtual bool RunImpl() OVERRIDE; | |
54 }; | |
55 | |
56 class MetricsRecordCountFunction : public MetricsHistogramHelperFunction { | |
57 public: | |
58 DECLARE_EXTENSION_FUNCTION_NAME("metricsPrivate.recordCount") | |
59 | |
60 protected: | |
61 virtual ~MetricsRecordCountFunction() {} | |
62 | |
63 // ExtensionFunction: | |
64 virtual bool RunImpl() OVERRIDE; | |
65 }; | |
66 | |
67 class MetricsRecordSmallCountFunction : public MetricsHistogramHelperFunction { | |
68 public: | |
69 DECLARE_EXTENSION_FUNCTION_NAME("metricsPrivate.recordSmallCount") | |
70 | |
71 protected: | |
72 virtual ~MetricsRecordSmallCountFunction() {} | |
73 | |
74 // ExtensionFunction: | |
75 virtual bool RunImpl() OVERRIDE; | |
76 }; | |
77 | |
78 class MetricsRecordMediumCountFunction : public MetricsHistogramHelperFunction { | |
79 public: | |
80 DECLARE_EXTENSION_FUNCTION_NAME("metricsPrivate.recordMediumCount") | |
81 | |
82 protected: | |
83 virtual ~MetricsRecordMediumCountFunction() {} | |
84 | |
85 // ExtensionFunction: | |
86 virtual bool RunImpl() OVERRIDE; | |
87 }; | |
88 | |
89 class MetricsRecordTimeFunction : public MetricsHistogramHelperFunction { | |
90 public: | |
91 DECLARE_EXTENSION_FUNCTION_NAME("metricsPrivate.recordTime") | |
92 | |
93 protected: | |
94 virtual ~MetricsRecordTimeFunction() {} | |
95 | |
96 // ExtensionFunction: | |
97 virtual bool RunImpl() OVERRIDE; | |
98 }; | |
99 | |
100 class MetricsRecordMediumTimeFunction : public MetricsHistogramHelperFunction { | |
101 public: | |
102 DECLARE_EXTENSION_FUNCTION_NAME("metricsPrivate.recordMediumTime") | |
103 | |
104 protected: | |
105 virtual ~MetricsRecordMediumTimeFunction() {} | |
106 | |
107 // ExtensionFunction: | |
108 virtual bool RunImpl() OVERRIDE; | |
109 }; | |
110 | |
111 class MetricsRecordLongTimeFunction : public MetricsHistogramHelperFunction { | |
112 public: | |
113 DECLARE_EXTENSION_FUNCTION_NAME("metricsPrivate.recordLongTime") | |
114 | |
115 protected: | |
116 virtual ~MetricsRecordLongTimeFunction() {} | |
117 | |
118 // ExtensionFunction: | |
119 virtual bool RunImpl() OVERRIDE; | |
120 }; | |
121 | |
122 #endif // CHROME_BROWSER_EXTENSIONS_EXTENSION_METRICS_MODULE_H__ | |
OLD | NEW |