Chromium Code Reviews| OLD | NEW |
|---|---|
| (Empty) | |
| 1 // Copyright (c) 2014 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 /** | |
| 6 * @fileoverview Utility methods for accessing chrome.metricsPrivate API. | |
| 7 * | |
| 8 * To be included as a first script in main.html | |
| 9 */ | |
| 10 | |
| 11 /** | |
| 12 * @extends {metricsBase} | |
| 13 */ | |
| 14 var metrics = metricsBase; | |
| 15 | |
| 16 /** | |
| 17 * Values for "VideoPlayer.CastExtensionStaus" metrics. | |
| 18 * @enum {number} | |
| 19 */ | |
| 20 metrics.CAST_EXTENSION = { | |
| 21 EXTENSION_UNAVAILABLE: 0, | |
| 22 API_INSTALLATION_FAILED: 1, | |
| 23 API_LOAD_FAILED: 2, | |
| 24 API_INSTALLED_AND_LOADED: 3, | |
| 25 API_AVAILABLE_AND_LOADED: 4, | |
| 26 MAX_VALUE: 4, | |
| 27 }; | |
| 28 | |
| 29 /** | |
| 30 * Values for "VideoPlayer.PlayType" metrics. | |
| 31 * @enum {number} | |
| 32 */ | |
| 33 metrics.PLAY_TYPE = { | |
| 34 LOCAL: 0, | |
| 35 CAST: 1, | |
| 36 MAX_VALUE: 1, | |
|
Ilya Sherman
2014/12/09 01:57:49
Unless the JS metrics API is different from the C+
yoshiki
2014/12/10 03:20:50
In the base class, the final value is passed with
| |
| 37 }; | |
| 38 | |
| 39 /** | |
| 40 * Utility function to check if the given value is in the given values. | |
| 41 * @param {Object} values | |
| 42 * @param {*} value | |
| 43 * @reutrn {boolean} True if one or more elements of the given values hash have | |
| 44 * the given value as value. False otherwise. | |
| 45 */ | |
| 46 metrics.hasValue_ = function(values, value) { | |
| 47 return Object.keys(values).some(function(key) { | |
| 48 return values[key] === value; | |
| 49 }); | |
| 50 }; | |
| 51 | |
| 52 /** | |
| 53 * Record "VideoPlayer.CastExtensionStatsu" metrics. | |
| 54 * @param {metrics.CAST_EXTENSION} status Status to be recorded. | |
| 55 */ | |
| 56 metrics.recordCastExtensionStatus = function(status) { | |
| 57 if (!metrics.hasValue_(metrics.CAST_EXTENSION, status)) { | |
| 58 console.error('The given value "' + status + '" is invalid.'); | |
| 59 return; | |
| 60 } | |
| 61 | |
| 62 metrics.recordEnum('CastExtensionStatus', | |
| 63 status, | |
| 64 metrics.CAST_EXTENSION.MAX_VALUE); | |
| 65 }; | |
| 66 | |
| 67 /** | |
| 68 * Record "VideoPlayer.NumberOfCastDevices" metrics. | |
| 69 * @param {number} number Value to be recorded. | |
| 70 */ | |
| 71 metrics.recordNumberOfCastDevices = function(number) { | |
| 72 metrics.recordSmallCount('NumberOfCastDevices', number); | |
| 73 }; | |
| 74 | |
| 75 /** | |
| 76 * Record "VideoPlayer.NumberOfOpenedFile" metrics. | |
| 77 * @param {number} number Value to be recorded. | |
| 78 */ | |
| 79 metrics.recordNumberOfOpenedFiles = function(number) { | |
| 80 metrics.recordSmallCount('NumberOfOpenedFiles', number); | |
| 81 }; | |
| 82 | |
| 83 /** | |
| 84 * Record "VideoPlayer.CastedVideoLength" metrics. | |
| 85 * @param {number} seconds Value to be recorded. | |
| 86 */ | |
| 87 metrics.recordCastedVideoLength = function(seconds) { | |
| 88 metrics.recordMediumCount('CastedVideoLength', seconds); | |
| 89 }; | |
| 90 | |
| 91 /** | |
| 92 * Record "VideoPlayer.CastVideoError" metrics. | |
| 93 */ | |
| 94 metrics.recordCastVideoErrorAction = function() { | |
| 95 metrics.recordUserAction('CastVideoError'); | |
|
Ilya Sherman
2014/12/09 01:57:49
I don't see this defined in actions.xml
yoshiki
2014/12/10 03:20:50
I accidentally removed. Added.
| |
| 96 }; | |
| 97 | |
| 98 /** | |
| 99 * Record "VideoPlayer.OpenVideoPlayer" action. | |
| 100 */ | |
| 101 metrics.recordOpenVideoPlayerAction = function() { | |
| 102 metrics.recordUserAction('OpenVideoPlayer'); | |
| 103 }; | |
| 104 | |
| 105 /** | |
| 106 * Record "VideoPlayer.PlayType" metrics. | |
| 107 * @param {metrics.PLAY_TYPE} type Value to be recorded. | |
| 108 */ | |
| 109 metrics.recordPlayType = function(type) { | |
| 110 if (!metrics.hasValue_(metrics.PLAY_TYPE, type)) { | |
| 111 console.error('The given value "' + status + '" is invalid.'); | |
| 112 return; | |
| 113 } | |
| 114 | |
| 115 metrics.recordEnum('PlayType', | |
| 116 type, | |
| 117 metrics.PLAY_TYPE.MAX_VALUE); | |
| 118 }; | |
| 119 | |
| 120 /** | |
| 121 * Convert a short metric name to the full format. | |
| 122 * | |
| 123 * @param {string} name Short metric name. | |
| 124 * @return {string} Full metric name. | |
| 125 * @override | |
| 126 * @private | |
| 127 */ | |
| 128 metrics.convertName_ = function(name) { | |
| 129 return 'VideoPlayer.' + name; | |
| 130 }; | |
| OLD | NEW |