OLD | NEW |
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 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 | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 cr.define('print_preview', function() { | 5 cr.define('print_preview', function() { |
6 'use strict'; | 6 'use strict'; |
7 | 7 |
8 /** | 8 /** |
9 * Object used to measure usage statistics. | 9 * Object used to measure usage statistics. |
10 * @constructor | 10 * @constructor |
11 */ | 11 */ |
12 function Metrics() {}; | 12 function Metrics() {} |
13 | 13 |
14 /** | 14 /** |
15 * Enumeration of buckets that a user can enter while using the destination | 15 * Enumeration of buckets that a user can enter while using the destination |
16 * search widget. | 16 * search widget. |
17 * @enum {number} | 17 * @enum {number} |
18 */ | 18 */ |
19 Metrics.DestinationSearchBucket = { | 19 Metrics.DestinationSearchBucket = { |
20 // Used when the print destination search widget is shown. | 20 // Used when the print destination search widget is shown. |
21 DESTINATION_SHOWN: 0, | 21 DESTINATION_SHOWN: 0, |
22 // Used when the user selects a print destination. | 22 // Used when the user selects a print destination. |
(...skipping 75 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
98 * @param {string} histogram The name of the histogram to be recorded in. | 98 * @param {string} histogram The name of the histogram to be recorded in. |
99 * @param {number} maxBucket The max value for the last histogram bucket. | 99 * @param {number} maxBucket The max value for the last histogram bucket. |
100 * @constructor | 100 * @constructor |
101 */ | 101 */ |
102 function MetricsContext(histogram, maxBucket) { | 102 function MetricsContext(histogram, maxBucket) { |
103 /** @private {string} */ | 103 /** @private {string} */ |
104 this.histogram_ = histogram; | 104 this.histogram_ = histogram; |
105 | 105 |
106 /** @private {number} */ | 106 /** @private {number} */ |
107 this.maxBucket_ = maxBucket; | 107 this.maxBucket_ = maxBucket; |
108 }; | 108 } |
109 | 109 |
110 MetricsContext.prototype = { | 110 MetricsContext.prototype = { |
111 /** | 111 /** |
112 * Record a histogram value in UMA. If specified value is larger than the | 112 * Record a histogram value in UMA. If specified value is larger than the |
113 * max bucket value, record the value in the largest bucket | 113 * max bucket value, record the value in the largest bucket |
114 * @param {number} bucket Value to record. | 114 * @param {number} bucket Value to record. |
115 */ | 115 */ |
116 record: function(bucket) { | 116 record: function(bucket) { |
117 chrome.send('metricsHandler:recordInHistogram', | 117 chrome.send('metricsHandler:recordInHistogram', |
118 [this.histogram_, | 118 [this.histogram_, |
119 ((bucket > this.maxBucket_) ? this.maxBucket_ : bucket), | 119 ((bucket > this.maxBucket_) ? this.maxBucket_ : bucket), |
120 this.maxBucket_]); | 120 this.maxBucket_]); |
121 } | 121 } |
122 }; | 122 }; |
123 | 123 |
124 /** | 124 /** |
125 * Destination Search specific usage statistics context. | 125 * Destination Search specific usage statistics context. |
126 * @constructor | 126 * @constructor |
127 * @extends {print_preview.MetricsContext} | 127 * @extends {print_preview.MetricsContext} |
128 */ | 128 */ |
129 function DestinationSearchMetricsContext() { | 129 function DestinationSearchMetricsContext() { |
130 MetricsContext.call( | 130 MetricsContext.call( |
131 this, | 131 this, |
132 'PrintPreview.DestinationAction', | 132 'PrintPreview.DestinationAction', |
133 Metrics.DestinationSearchBucket.DESTINATION_SEARCH_MAX_BUCKET); | 133 Metrics.DestinationSearchBucket.DESTINATION_SEARCH_MAX_BUCKET); |
134 }; | 134 } |
135 | 135 |
136 DestinationSearchMetricsContext.prototype = { | 136 DestinationSearchMetricsContext.prototype = { |
137 __proto__: MetricsContext.prototype | 137 __proto__: MetricsContext.prototype |
138 }; | 138 }; |
139 | 139 |
140 /** | 140 /** |
141 * GCP promotion specific usage statistics context. | 141 * GCP promotion specific usage statistics context. |
142 * @constructor | 142 * @constructor |
143 * @extends {print_preview.MetricsContext} | 143 * @extends {print_preview.MetricsContext} |
144 */ | 144 */ |
145 function GcpPromoMetricsContext() { | 145 function GcpPromoMetricsContext() { |
146 MetricsContext.call(this, | 146 MetricsContext.call(this, |
147 'PrintPreview.GcpPromo', | 147 'PrintPreview.GcpPromo', |
148 Metrics.GcpPromoBucket.GCP_PROMO_MAX_BUCKET); | 148 Metrics.GcpPromoBucket.GCP_PROMO_MAX_BUCKET); |
149 }; | 149 } |
150 | 150 |
151 GcpPromoMetricsContext.prototype = { | 151 GcpPromoMetricsContext.prototype = { |
152 __proto__: MetricsContext.prototype | 152 __proto__: MetricsContext.prototype |
153 }; | 153 }; |
154 | 154 |
155 /** | 155 /** |
156 * Print settings UI specific usage statistics context. | 156 * Print settings UI specific usage statistics context. |
157 * @constructor | 157 * @constructor |
158 * @extends {print_preview.MetricsContext} | 158 * @extends {print_preview.MetricsContext} |
159 */ | 159 */ |
160 function PrintSettingsUiMetricsContext() { | 160 function PrintSettingsUiMetricsContext() { |
161 MetricsContext.call( | 161 MetricsContext.call( |
162 this, | 162 this, |
163 'PrintPreview.PrintSettingsUi', | 163 'PrintPreview.PrintSettingsUi', |
164 Metrics.PrintSettingsUiBucket.PRINT_SETTINGS_UI_MAX_BUCKET); | 164 Metrics.PrintSettingsUiBucket.PRINT_SETTINGS_UI_MAX_BUCKET); |
165 }; | 165 } |
166 | 166 |
167 PrintSettingsUiMetricsContext.prototype = { | 167 PrintSettingsUiMetricsContext.prototype = { |
168 __proto__: MetricsContext.prototype | 168 __proto__: MetricsContext.prototype |
169 }; | 169 }; |
170 | 170 |
171 // Export | 171 // Export |
172 return { | 172 return { |
173 Metrics: Metrics, | 173 Metrics: Metrics, |
174 MetricsContext: MetricsContext, | 174 MetricsContext: MetricsContext, |
175 DestinationSearchMetricsContext: DestinationSearchMetricsContext, | 175 DestinationSearchMetricsContext: DestinationSearchMetricsContext, |
176 GcpPromoMetricsContext: GcpPromoMetricsContext, | 176 GcpPromoMetricsContext: GcpPromoMetricsContext, |
177 PrintSettingsUiMetricsContext: PrintSettingsUiMetricsContext | 177 PrintSettingsUiMetricsContext: PrintSettingsUiMetricsContext |
178 }; | 178 }; |
179 }); | 179 }); |
OLD | NEW |