OLD | NEW |
1 // Copyright 2015 The Chromium Authors. All rights reserved. | 1 // Copyright 2015 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 //<include src="../../../../ui/webui/resources/js/cr.js"> | 5 //<include src="../../../../ui/webui/resources/js/cr.js"> |
6 //<include src="../../../../ui/webui/resources/js/load_time_data.js"> | 6 //<include src="../../../../ui/webui/resources/js/load_time_data.js"> |
7 //<include src="../../../../ui/webui/resources/js/i18n_template_no_process.js"> | 7 //<include src="../../../../ui/webui/resources/js/i18n_template_no_process.js"> |
8 //<include src="../../../../ui/webui/resources/js/cr/event_target.js"> | 8 //<include src="../../../../ui/webui/resources/js/cr/event_target.js"> |
9 //<include src="../../../../ui/webui/resources/js/cr/ui/dialogs.js"> | 9 //<include src="../../../../ui/webui/resources/js/cr/ui/dialogs.js"> |
10 | 10 |
(...skipping 50 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
61 strings: { | 61 strings: { |
62 UI_LOCALE: getString('language'), | 62 UI_LOCALE: getString('language'), |
63 LINK_TO_WEBSTORE: getString('LINK_TO_WEBSTORE'), | 63 LINK_TO_WEBSTORE: getString('LINK_TO_WEBSTORE'), |
64 INSTALLATION_FAILED_MESSAGE: getString('INSTALLATION_FAILED_MESSAGE'), | 64 INSTALLATION_FAILED_MESSAGE: getString('INSTALLATION_FAILED_MESSAGE'), |
65 LOADING_SPINNER_ALT: getString('LOADING_SPINNER_ALT'), | 65 LOADING_SPINNER_ALT: getString('LOADING_SPINNER_ALT'), |
66 INSTALLING_SPINNER_ALT: getString('INSTALLING_SPINNER_ALT') | 66 INSTALLING_SPINNER_ALT: getString('INSTALLING_SPINNER_ALT') |
67 }, | 67 }, |
68 | 68 |
69 metricsImpl: { | 69 metricsImpl: { |
70 /** | 70 /** |
| 71 * Map from interval name to interval start timestamp. |
| 72 * @type {Object<string, Date>} |
| 73 */ |
| 74 intervals: {}, |
| 75 |
| 76 /** |
71 * @param {string} enumName | 77 * @param {string} enumName |
72 * @param {number} value | 78 * @param {number} value |
73 * @param {number} enumSize | 79 * @param {number} enumSize |
74 */ | 80 */ |
75 recordEnum: function(enumName, value, enumSize) {}, | 81 recordEnum: function(enumName, value, enumSize) { |
| 82 var index = (value >= 0 && value < enumSize) ? value : enumSize; |
| 83 chrome.metricsPrivate.recordValue({ |
| 84 'metricName': 'WebstoreWidgetApp.' + enumName, |
| 85 'type': 'histogram-linear', |
| 86 'min': 1, |
| 87 'max': enumSize, |
| 88 'buckets': enumSize + 1 |
| 89 }, index); |
| 90 }, |
76 | 91 |
77 /** @param {string} actionName */ | 92 /** @param {string} actionName */ |
78 recordUserAction: function(actionName) {}, | 93 recordUserAction: function(actionName) { |
| 94 chrome.metricsPrivate.recordUserAction( |
| 95 'WebstoreWidgetApp.' + actionName); |
| 96 }, |
79 | 97 |
80 /** @param {string} intervalName */ | 98 /** @param {string} intervalName */ |
81 startInterval: function(intervalName) {}, | 99 startInterval: function(intervalName) { |
| 100 this.intervals[intervalName] = Date.now(); |
| 101 }, |
82 | 102 |
83 /** @param {string} intervalName */ | 103 /** @param {string} intervalName */ |
84 recordInterval: function(intervalName) {} | 104 recordInterval: function(intervalName) { |
| 105 if (!intervalName in this.intervals) { |
| 106 console.error('Interval \'' + intervalName + '\' not started'); |
| 107 return; |
| 108 } |
| 109 |
| 110 chrome.metricsPrivate.recordTime( |
| 111 'WebstoreWidgetApp.' + intervalName, |
| 112 Date.now() - this.intervals[intervalName]); |
| 113 delete this.intervals[intervalName]; |
| 114 } |
85 }, | 115 }, |
86 | 116 |
87 /** | 117 /** |
88 * @param {string} itemId Item to be installed. | 118 * @param {string} itemId Item to be installed. |
89 * @param {function(?string)} callback Callback param is the error message, | 119 * @param {function(?string)} callback Callback param is the error message, |
90 * which is set to null on success. | 120 * which is set to null on success. |
91 */ | 121 */ |
92 installWebstoreItem: function(itemId, callback) { | 122 installWebstoreItem: function(itemId, callback) { |
93 chrome.webstoreWidgetPrivate.installWebstoreItem( | 123 chrome.webstoreWidgetPrivate.installWebstoreItem( |
94 itemId, | 124 itemId, |
(...skipping 110 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
205 var result = widgetContainer.finalizeAndGetResult(); | 235 var result = widgetContainer.finalizeAndGetResult(); |
206 showWidgetResult(result.result); | 236 showWidgetResult(result.result); |
207 }) | 237 }) |
208 /** @param {*} error */ | 238 /** @param {*} error */ |
209 .catch(function(error) { | 239 .catch(function(error) { |
210 showWidgetResult(CWSWidgetContainer.Result.FAILED); | 240 showWidgetResult(CWSWidgetContainer.Result.FAILED); |
211 }); | 241 }); |
212 }); | 242 }); |
213 }); | 243 }); |
214 })(); | 244 })(); |
OLD | NEW |