Index: ash/common/system/tray/system_tray_item.h |
diff --git a/ash/common/system/tray/system_tray_item.h b/ash/common/system/tray/system_tray_item.h |
index 09c5f82d7112e85599fcfc318b4d4bdf1fca17f6..4925f6a81c67cf2349d5711568f196270ea7ad16 100644 |
--- a/ash/common/system/tray/system_tray_item.h |
+++ b/ash/common/system/tray/system_tray_item.h |
@@ -16,11 +16,48 @@ class View; |
namespace ash { |
class SystemTray; |
+class SystemTrayBubble; |
class TrayItemView; |
class ASH_EXPORT SystemTrayItem { |
public: |
- explicit SystemTrayItem(SystemTray* system_tray); |
+ // The different types of SystemTrayItems. |
+ // |
+ // NOTE: These values are used for UMA metrics so do NOT re-order this enum |
+ // and only insert items before the COUNT item. |
+ enum UmaType { |
+ // SystemTrayItem's with this type are not recorded in the histogram. |
+ UMA_NOT_RECORDED = 0, |
+ // Used for testing purposes only. |
+ UMA_TEST = 1, |
+ UMA_ACCESSIBILITY = 2, |
+ UMA_AUDIO = 3, |
+ UMA_BLUETOOTH = 4, |
+ UMA_CAPS_LOCK = 5, |
+ UMA_CAST = 6, |
+ UMA_DATE = 7, |
+ UMA_DISPLAY = 8, |
+ UMA_DISPLAY_BRIGHTNESS = 9, |
+ UMA_ENTERPRISE = 10, |
+ UMA_IME = 11, |
+ UMA_MULTI_PROFILE_MEDIA = 12, |
+ UMA_NETWORK = 13, |
+ UMA_SETTINGS = 14, |
+ UMA_UPDATE = 15, |
+ UMA_POWER = 16, |
+ UMA_ROTATION_LOCK = 17, |
+ UMA_SCREEN_CAPTURE = 18, |
+ UMA_SCREEN_SHARE = 19, |
+ UMA_SESSION_LENGTH_LIMIT = 20, |
+ UMA_SMS = 21, |
+ UMA_SUPERVISED_USER = 22, |
+ UMA_TRACING = 23, |
+ UMA_USER = 24, |
+ UMA_VPN = 25, |
+ UMA_COUNT = 26, |
+ }; |
+ |
+ SystemTrayItem(SystemTray* system_tray, UmaType type); |
virtual ~SystemTrayItem(); |
// Create* functions may return NULL if nothing should be displayed for the |
@@ -107,7 +144,13 @@ class ASH_EXPORT SystemTrayItem { |
void set_restore_focus(bool restore_focus) { restore_focus_ = restore_focus; } |
private: |
+ // Accesses uma_type(). |
+ friend class SystemTrayBubble; |
+ |
+ UmaType uma_type() const { return uma_type_; } |
+ |
SystemTray* system_tray_; |
+ UmaType uma_type_; |
bool restore_focus_; |
DISALLOW_COPY_AND_ASSIGN(SystemTrayItem); |